From 0d2643c9f493b645fb8a8b7b6dd216fbbb1d8ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=94=BF?= Date: Wed, 17 Jan 2024 17:56:17 +0800 Subject: [PATCH] xiugaiii --- .../21670ll/MESWin/ENT/ET_Demo/App.config | 6 + .../21670ll/MESWin/ENT/ET_Demo/ET_Demo.sln | 25 + .../21670ll/MESWin/ENT/ET_Demo/ET_Demo.vbproj | 120 + .../My Project/Application.Designer.vb | 38 + .../ENT/ET_Demo/My Project/Application.myapp | 11 + .../ENT/ET_Demo/My Project/AssemblyInfo.vb | 35 + .../ET_Demo/My Project/Resources.Designer.vb | 62 + .../ENT/ET_Demo/My Project/Resources.resx | 117 + .../ET_Demo/My Project/Settings.Designer.vb | 73 + .../ENT/ET_Demo/My Project/Settings.settings | 7 + .../ENT/ET_Demo/My Project/licenses.licx | 7 + .../MESWin/ENT/ET_Demo/frmDemo.Designer.vb | 236 + .../21670ll/MESWin/ENT/ET_Demo/frmDemo.resx | 120 + .../21670ll/MESWin/ENT/ET_Demo/frmDemo.vb | 14 + .../ENT/ET_Subcontractor/ET_Subcontractor.sln | 39 + .../ET_Subcontractor/ET_Subcontractor.vbproj | 205 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../ENT/ET_Subcontractor/Form1.Designer.vb | 32 + .../MESWin/ENT/ET_Subcontractor/Form1.vb | 3 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../ET_Subcontractor/My Project/licenses.licx | 7 + .../ET_Subcontractor/frmBusiness21670.resx | 120 + .../ENT/ET_Subcontractor/frmBusiness21670.vb | 1129 +++++ .../ET_Subcontractor/frmSubcontractor.resx | 120 + .../ENT/ET_Subcontractor/frmSubcontractor.vb | 1129 +++++ .../frmSubcontractorContDef.resx | 120 + .../frmSubcontractorContDef.vb | 656 +++ .../ET_Subcontractor/frmSubcontractorDef.resx | 120 + .../ET_Subcontractor/frmSubcontractorDef.vb | 421 ++ .../MESWin/ENT/ET_Subcontractor/iMES.snk | Bin 0 -> 596 bytes .../SYS4/21670ll/MESWin/Resources/AUT.png | Bin 0 -> 3414 bytes .../MESWin/Resources/AutoRPTMeasureData.xls | Bin 0 -> 19456 bytes .../MESWin/Resources/AutoRPTPareto.xls | Bin 0 -> 18432 bytes .../Resources/AutoRPTVarMonthReport.xls | Bin 0 -> 16384 bytes .../SYS4/21670ll/MESWin/Resources/DEFAULT.png | Bin 0 -> 2192 bytes .../SYS4/21670ll/MESWin/Resources/DT.png | Bin 0 -> 1593 bytes .../MESWin/Resources/DirectionDown.png | Bin 0 -> 628 bytes .../MESWin/Resources/DirectionLeft.png | Bin 0 -> 512 bytes .../MESWin/Resources/DirectionRight.png | Bin 0 -> 552 bytes .../21670ll/MESWin/Resources/DirectionUp.png | Bin 0 -> 606 bytes .../SYS4/21670ll/MESWin/Resources/EMS.png | Bin 0 -> 1534 bytes .../SYS4/21670ll/MESWin/Resources/ENT.png | Bin 0 -> 2974 bytes .../SYS4/21670ll/MESWin/Resources/EQP.png | Bin 0 -> 1546 bytes .../MESWin/Resources/FINIAL WEEKLY REPORT.xls | Bin 0 -> 60416 bytes .../SYS4/21670ll/MESWin/Resources/IEW.png | Bin 0 -> 1849 bytes .../SYS4/21670ll/MESWin/Resources/INV.png | Bin 0 -> 1216 bytes .../SYS4/21670ll/MESWin/Resources/ISU.png | Bin 0 -> 1485 bytes .../ImportSample-AttributesQCItem.xls | Bin 0 -> 33280 bytes .../Resources/ImportSample-Equipment1.csv | 17 + .../Resources/ImportSample-Equipment2.txt | 29 + .../MESWin/Resources/ImportSample-QCChar.xls | Bin 0 -> 46592 bytes .../MESWin/Resources/ImportSample-SPCData.xls | Bin 0 -> 23552 bytes .../ImportSample-VariablesQCItem.xls | Bin 0 -> 33792 bytes .../SYS4/21670ll/MESWin/Resources/MSA.png | Bin 0 -> 3376 bytes .../SYS4/21670ll/MESWin/Resources/MTL.png | Bin 0 -> 1119 bytes .../SYS4/21670ll/MESWin/Resources/OE.png | Bin 0 -> 1562 bytes .../SYS4/21670ll/MESWin/Resources/OP.png | Bin 0 -> 1577 bytes .../SYS4/21670ll/MESWin/Resources/PM.png | Bin 0 -> 2569 bytes .../SYS4/21670ll/MESWin/Resources/PRD.png | Bin 0 -> 1606 bytes .../SYS4/21670ll/MESWin/Resources/PRS.png | Bin 0 -> 1266 bytes .../SYS4/21670ll/MESWin/Resources/QC.png | Bin 0 -> 2409 bytes .../SYS4/21670ll/MESWin/Resources/RPT.png | Bin 0 -> 968 bytes .../SYS4/21670ll/MESWin/Resources/SMD.png | Bin 0 -> 3378 bytes .../SYS4/21670ll/MESWin/Resources/SPC.png | Bin 0 -> 1602 bytes .../Resources/SPCExport_2003_Standard.xls | Bin 0 -> 199168 bytes .../MESWin/Resources/SPCExport_STD.xls | Bin 0 -> 188928 bytes .../MESWin/Resources/SPCExport_STD02.xls | Bin 0 -> 143360 bytes .../MESWin/Resources/SPCExport_STD02_2003.xls | Bin 0 -> 206848 bytes .../MESWin/Resources/SPCExport_STD_190111.xls | Bin 0 -> 75776 bytes .../Resources/SPCExport_STD_190111H.xlsm | Bin 0 -> 29862 bytes .../21670ll/MESWin/Resources/SPCReport.xls | Bin 0 -> 54272 bytes .../SYS4/21670ll/MESWin/Resources/SYS.png | Bin 0 -> 2404 bytes .../SYS4/21670ll/MESWin/Resources/USR.png | Bin 0 -> 1927 bytes .../SYS4/21670ll/MESWin/Resources/WIP.png | Bin 0 -> 1935 bytes .../21670ll/MESWin/Resources/WIPReport.xls | Bin 0 -> 50176 bytes .../Resources/mesresource.en.resources91 | Bin 0 -> 180 bytes .../Resources/mesresource.zh-chs.resources91 | Bin 0 -> 180 bytes .../Resources/mesresource.zh-cht.resources91 | Bin 0 -> 180 bytes .../MESWin/Resources/msg_action.en.resources | Bin 0 -> 39481 bytes .../Resources/msg_action.zh-chs.resources | Bin 0 -> 41134 bytes .../Resources/msg_action.zh-cht.resources | Bin 0 -> 41136 bytes .../MESWin/Resources/msg_name.en.resources | Bin 0 -> 46002 bytes .../Resources/msg_name.zh-chs.resources | Bin 0 -> 46582 bytes .../Resources/msg_name.zh-cht.resources | Bin 0 -> 46499 bytes .../21670ll/MESWin/SYS1/新建 文本文档.txt | 0 .../21670ll/MESWin/SYS2/新建 文本文档.txt | 0 .../21670ll/MESWin/SYS3/新建 文本文档.txt | 0 .../MESWin/SYS4/21670/ET_Subcontractor.sln | 39 + .../MESWin/SYS4/21670/ET_Subcontractor.vbproj | 194 + .../SYS4/21670/ET_Subcontractor.vbproj.vspscc | 10 + .../21670/My Project/Application.Designer.vb | 13 + .../SYS4/21670/My Project/Application.myapp | 10 + .../SYS4/21670/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../21670/My Project/Resources.Designer.vb | 63 + .../SYS4/21670/My Project/Resources.resx | 117 + .../21670/My Project/Settings.Designer.vb | 73 + .../SYS4/21670/My Project/Settings.settings | 7 + .../SYS4/21670/My Project/licenses.licx | 7 + .../MESWin/SYS4/21670/frmSubcontractor.resx | 120 + .../MESWin/SYS4/21670/frmSubcontractor.vb | 1137 +++++ .../SYS4/21670/frmSubcontractorContDef.resx | 120 + .../SYS4/21670/frmSubcontractorContDef.vb | 660 +++ .../SYS4/21670/frmSubcontractorDef.resx | 120 + .../MESWin/SYS4/21670/frmSubcontractorDef.vb | 460 ++ .../SYS4/21670ll/MESWin/SYS4/21670/iMES.snk | Bin 0 -> 596 bytes .../MESWin/SYS4/21670_1/ET_Subcontractor.sln | 39 + .../SYS4/21670_1/ET_Subcontractor.vbproj | 194 + .../21670_1/ET_Subcontractor.vbproj.vspscc | 10 + .../ET_Subcontractor/ET_Subcontractor.sln | 39 + .../ET_Subcontractor/ET_Subcontractor.vbproj | 206 + .../ET_Subcontractor.vbproj.user | 6 + .../ET_Subcontractor.vbproj.vspscc | 10 + .../ET_Subcontractor/Form1.Designer.vb | 32 + .../SYS4/21670_1/ET_Subcontractor/Form1.vb | 3 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../My Project/Resources.Designer.vb | 63 + .../My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + .../ET_Subcontractor/My Project/licenses.licx | 7 + .../ET_Subcontractor/frmBusiness21670.resx | 120 + .../ET_Subcontractor/frmBusiness21670.vb | 1129 +++++ .../ET_Subcontractor/frmSubcontractor.resx | 120 + .../ET_Subcontractor/frmSubcontractor.vb | 1129 +++++ .../frmSubcontractorContDef.resx | 120 + .../frmSubcontractorContDef.vb | 656 +++ .../ET_Subcontractor/frmSubcontractorDef.resx | 120 + .../ET_Subcontractor/frmSubcontractorDef.vb | 421 ++ .../SYS4/21670_1/ET_Subcontractor/iMES.snk | Bin 0 -> 596 bytes .../My Project/Application.Designer.vb | 13 + .../SYS4/21670_1/My Project/Application.myapp | 10 + .../SYS4/21670_1/My Project/AssemblyInfo.vb | 35 + .../My Project/BuildIncrementVersionInfo.vb | 1 + .../21670_1/My Project/Resources.Designer.vb | 63 + .../SYS4/21670_1/My Project/Resources.resx | 117 + .../21670_1/My Project/Settings.Designer.vb | 73 + .../SYS4/21670_1/My Project/Settings.settings | 7 + .../SYS4/21670_1/My Project/licenses.licx | 7 + .../MESWin/SYS4/21670_1/frmSubcontractor.resx | 120 + .../MESWin/SYS4/21670_1/frmSubcontractor.vb | 1137 +++++ .../SYS4/21670_1/frmSubcontractorContDef.resx | 120 + .../SYS4/21670_1/frmSubcontractorContDef.vb | 660 +++ .../SYS4/21670_1/frmSubcontractorDef.resx | 120 + .../SYS4/21670_1/frmSubcontractorDef.vb | 460 ++ .../SYS4/21670ll/MESWin/SYS4/21670_1/iMES.snk | Bin 0 -> 596 bytes .../21670ll/MESWin/SYS4/新建 文本文档.txt | 0 .../21670ll/MESWin/SYS5/新建 文本文档.txt | 0 .../21670ll/MESWin/SYS6/新建 文本文档.txt | 0 .../SYS4/21670ll/MESWin/Test/MDI_Panel.resx | 126 + .../SYS4/21670ll/MESWin/Test/MDI_Panel.vb | 1016 ++++ .../Test/My Project/Application.Designer.vb | 13 + .../MESWin/Test/My Project/Application.myapp | 10 + .../MESWin/Test/My Project/AssemblyInfo.vb | 35 + .../Test/My Project/Resources.Designer.vb | 73 + .../MESWin/Test/My Project/Resources.resx | 124 + .../Test/My Project/Settings.Designer.vb | 73 + .../MESWin/Test/My Project/Settings.settings | 5 + .../MESWin/Test/My Project/licenses.licx | 0 .../21670ll/MESWin/Test/Resources/iMES.isl | 4303 +++++++++++++++++ SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.sln | 22 + .../SYS4/21670ll/MESWin/Test/Test.vbproj | 195 + .../SYS4/21670ll/MESWin/Test/app.config | 28 + SRC/MESWin/SYS4/21670ll/MESWin/Test/iMES.snk | Bin 0 -> 596 bytes .../SYS4/21670ll/MESWin/Test/modTest.vb | 183 + .../MESWin/shared file/DirectionDown.png | Bin 0 -> 628 bytes .../MESWin/shared file/DirectionLeft.png | Bin 0 -> 512 bytes .../MESWin/shared file/DirectionRight.png | Bin 0 -> 552 bytes .../MESWin/shared file/DirectionUp.png | Bin 0 -> 606 bytes .../MESWin/shared file/Export16x16.ico | Bin 0 -> 1406 bytes .../MESWin/shared file/MakeVersion.targets | 16 + .../MESWin/shared file/MakeVersion_CS.targets | 16 + .../21670ll/MESWin/shared file/Save16x16.ico | Bin 0 -> 1406 bytes .../MESWin/shared file/arERF_General.resx | 411 ++ .../MESWin/shared file/arERF_General.vb | 1313 +++++ .../SYS4/21670ll/MESWin/shared file/iMES.isl | 4303 +++++++++++++++++ .../SYS4/21670ll/MESWin/shared file/iMES.pfx | Bin 0 -> 2582 bytes .../SYS4/21670ll/MESWin/shared file/iMES.snk | Bin 0 -> 596 bytes .../21670ll/MESWin/shared file/modConstant.vb | 22 + .../MESWin/shared file/modQCSetting.vb | 61 + .../21670ll/MEStc_SXS/MEStc_ABC.csproj.vspscc | 10 + .../SYS4/21670ll/MEStc_SXS/MEStc_SXS.csproj | 134 + .../SYS4/21670ll/MEStc_SXS/MEStc_SXS.sln | 25 + .../MEStc_SXS/NewFolder1/clsENT_21670.cs | 959 ++++ .../MEStc_SXS/Properties/AssemblyInfo.cs | 32 + .../Properties/BuildIncrementVersionInfo.cs | 1 + .../SYS4/21670ll/MEStc_SXS/clsENT_21670.cs | 959 ++++ .../SYS4/21670ll/MEStc_SXS/tcENT/clsENT.cs | 958 ++++ .../MEStc_SXS/tcENT21670/clsENT_21670.cs | 969 ++++ .../21670ll/MEStc_SXS/tcENT_21670/clsENT.cs | 958 ++++ .../SYS4/21670ll/MEStc_SXS/tcWIP/clsLot.cs | 337 ++ .../wsSXS/My Project/Application.Designer.cs | 11 + .../wsSXS/My Project/Application.myapp | 10 + .../wsSXS/My Project/Settings.Designer.cs | 26 + .../wsSXS/My Project/Settings.settings | 7 + .../21670ll/wsSXS/Properties/AssemblyInfo.cs | 32 + .../Properties/BuildIncrementVersionInfo.cs | 1 + .../SYS4/21670ll/wsSXS/Resources.Designer.cs | 63 + SRC/MESWin/SYS4/21670ll/wsSXS/Resources.resx | 117 + .../SYS4/21670ll/wsSXS/wsABC.csproj.vspscc | 10 + .../SYS4/21670ll/wsSXS/wsENT_21670/wsENT.cs | 1101 +++++ SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj | 180 + .../SYS4/21670ll/wsSXS/wsSXS.csproj.user | 6 + SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.sln | 25 + SRC/MESWin/SYS4/21670ll/wsSXS/wsWIP/wsWIP.cs | 131 + SRC/MESWin/SYS4/21670ll/wsSXS/wxENT/wsENT.cs | 1101 +++++ 216 files changed, 36667 insertions(+) create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/App.config create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/AUT.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/AutoRPTMeasureData.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/AutoRPTPareto.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/AutoRPTVarMonthReport.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DEFAULT.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DT.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionDown.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionLeft.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionRight.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionUp.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/EMS.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ENT.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/EQP.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/FINIAL WEEKLY REPORT.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/IEW.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/INV.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ISU.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-AttributesQCItem.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-Equipment1.csv create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-Equipment2.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-QCChar.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-SPCData.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-VariablesQCItem.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/MSA.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/MTL.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/OE.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/OP.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/PM.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/PRD.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/PRS.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/QC.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/RPT.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SMD.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPC.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_2003_Standard.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD02.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD02_2003.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD_190111.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD_190111H.xlsm create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCReport.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/SYS.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/USR.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/WIP.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/WIPReport.xls create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.en.resources91 create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-chs.resources91 create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-cht.resources91 create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.en.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-chs.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-cht.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.en.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-chs.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-cht.resources create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS1/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS2/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS3/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.user create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/BuildIncrementVersionInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS4/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS5/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/SYS6/新建 文本文档.txt create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/MDI_Panel.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/MDI_Panel.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/AssemblyInfo.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.Designer.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/licenses.licx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/Resources/iMES.isl create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.vbproj create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/app.config create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/Test/modTest.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionDown.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionLeft.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionRight.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionUp.png create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/Export16x16.ico create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion.targets create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion_CS.targets create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/Save16x16.ico create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.resx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.isl create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.pfx create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.snk create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/modConstant.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MESWin/shared file/modQCSetting.vb create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_ABC.csproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.csproj create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.sln create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/NewFolder1/clsENT_21670.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/AssemblyInfo.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/clsENT_21670.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT/clsENT.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT21670/clsENT_21670.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT_21670/clsENT.cs create mode 100644 SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcWIP/clsLot.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.Designer.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.myapp create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.Designer.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.settings create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/Properties/AssemblyInfo.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/Properties/BuildIncrementVersionInfo.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/Resources.Designer.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/Resources.resx create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsABC.csproj.vspscc create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsENT_21670/wsENT.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj.user create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.sln create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wsWIP/wsWIP.cs create mode 100644 SRC/MESWin/SYS4/21670ll/wsSXS/wxENT/wsENT.cs diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/App.config b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/App.config new file mode 100644 index 0000000..61d0069 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.sln b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.sln new file mode 100644 index 0000000..cfdcadb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Demo", "ET_Demo.vbproj", "{735A5B4F-8D51-408F-9411-235CDB01F9F3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {735A5B4F-8D51-408F-9411-235CDB01F9F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {735A5B4F-8D51-408F-9411-235CDB01F9F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {735A5B4F-8D51-408F-9411-235CDB01F9F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {735A5B4F-8D51-408F-9411-235CDB01F9F3}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {05370154-7301-4A5A-B360-EAF02EF9EFDA} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.vbproj b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.vbproj new file mode 100644 index 0000000..7d56649 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/ET_Demo.vbproj @@ -0,0 +1,120 @@ + + + + + Debug + AnyCPU + {735A5B4F-8D51-408F-9411-235CDB01F9F3} + WinExe + ET_Demo.My.MyApplication + ET_Demo + ET_Demo + 512 + WindowsForms + v4.6.2 + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + ET_Demo.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + ET_Demo.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form1.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.Designer.vb new file mode 100644 index 0000000..deffe98 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.ET_Demo.frmDemo + End Sub + End Class +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.myapp new file mode 100644 index 0000000..1243847 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..fd8a417 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 有关程序集的一般信息由以下 +' 控制。更改这些特性值可修改 +' 与程序集关联的信息。 + +'查看程序集特性的值 + + + + + + + + + + +'如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID + + +' 程序集的版本信息由下列四个值组成: +' +' 主版本 +' 次版本 +' 生成号 +' 修订号 +' +'可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +'通过使用 "*",如下所示: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.Designer.vb new file mode 100644 index 0000000..24dbe56 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Demo.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.Designer.vb new file mode 100644 index 0000000..551e93e --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Demo.My.MySettings + Get + Return Global.ET_Demo.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/licenses.licx new file mode 100644 index 0000000..e14ac4a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraSplitter, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.Designer.vb new file mode 100644 index 0000000..ee5dcb7 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.Designer.vb @@ -0,0 +1,236 @@ + _ +Partial Class frmDemo + ' Inherits System.Windows.Forms.Form + Inherits COM_Kit.frmBasisTemplat + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Me.iugBasis = New iMESUltraGrid.iMESUltraGridControl() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.SuspendLayout() + ' + 'iugBasis + ' + Me.iugBasis.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugBasis.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugBasis.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugBasis.Identity = "iMES" + Me.iugBasis.IdentityForm = "" + Me.iugBasis.LayOutFilePath = "" + Me.iugBasis.Location = New System.Drawing.Point(12, 53) + Me.iugBasis.Name = "iugBasis" + Me.iugBasis.PrintFitWidthToPages = 0 + Me.iugBasis.PrintLandscape = True + Me.iugBasis.PrintPageFooter = "" + Me.iugBasis.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugBasis.PrintPageFooterHeight = 20 + Me.iugBasis.PrintPageHeader = "" + Me.iugBasis.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugBasis.PrintPageHeaderHeight = 20 + Me.iugBasis.PrintZoom = 1.0R + Me.iugBasis.Size = New System.Drawing.Size(791, 200) + Me.iugBasis.TabIndex = 41 + Me.iugBasis.UserNo = "iMES" + ' + 'iugDetail + ' + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "iMES" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 260) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(791, 291) + Me.iugDetail.TabIndex = 42 + Me.iugDetail.UserNo = "iMES" + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(827, 523) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 48 + Me.btnClose.Text = "Close (&X)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(827, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 53 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(827, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 47 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(827, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 46 + Me.btnDCopy.Text = "Copy" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(827, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 52 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(827, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 45 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(827, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 44 + Me.btnDEdit.Text = "EDIT" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(827, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 49 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(827, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 43 + Me.btnDAdd.Text = "ADD" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(827, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 51 + Me.btnDel.Text = "Del(&D)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(827, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 50 + Me.btnEdit.Text = "Edit(&E)" + ' + 'frmDemo + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(927, 562) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.btnEdit) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.iugBasis) + Me.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.Name = "frmDemo" + Me.Text = "Demo" + Me.Controls.SetChildIndex(Me.iugBasis, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents iugBasis As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnApprove As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnAdd As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEdit As Infragistics.Win.Misc.UltraButton +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.vb new file mode 100644 index 0000000..4d5c94c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Demo/frmDemo.vb @@ -0,0 +1,14 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmDemo + + Private Sub frmDemo_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + End Sub + + Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click + + End Sub +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.sln b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.sln new file mode 100644 index 0000000..85b1902 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 3 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6 + SccProjectUniqueName0 = ET_Subcontractor.vbproj + SccLocalPath0 = . + SccProjectUniqueName1 = ..\\..\\Test\\Test.vbproj + SccProjectName1 = ../../Test + SccLocalPath1 = ..\\..\\Test + SccLocalPath2 = . + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj new file mode 100644 index 0000000..0c339dc --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj @@ -0,0 +1,205 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor + ET_Subcontractor + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form1.vb + + + Form + + + Form + + + Form + + + Form + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmBusiness21670.vb + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.Designer.vb new file mode 100644 index 0000000..c29cf72 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.Designer.vb @@ -0,0 +1,32 @@ + +Partial Class Form1 + + + Inherits COM_Kit.frmBasisTemplat + + 'Form 重写 Dispose,以清理组件列表。 + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + + Private Sub InitializeComponent() + components = New System.ComponentModel.Container + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Text = "Form1" + End Sub +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.vb new file mode 100644 index 0000000..10d55d4 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/Form1.vb @@ -0,0 +1,3 @@ +Public Class Form1 + +End Class \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb new file mode 100644 index 0000000..4f9342a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..755cff8 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb new file mode 100644 index 0000000..4bb7628 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '這個類別是自動產生的,是利用 StronglyTypedResourceBuilder + '類別透過 ResGen 或 Visual Studio 這類工具。 + '若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen + '(利用 /str 選項),或重建您的 VS 專案。 + ''' + ''' 用於查詢當地語系化字串等的強類型資源類別。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 傳回這個類別使用的快取的 ResourceManager 執行個體。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有 + ''' 使用這個強類型資源類別的資源查閱。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb new file mode 100644 index 0000000..1ba8a79 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自動儲存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor.My.MySettings + Get + Return Global.ET_Subcontractor.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.vb new file mode 100644 index 0000000..cbad98c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmBusiness21670.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor1 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb new file mode 100644 index 0000000..64a05ce --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractor.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 269) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb new file mode 100644 index 0000000..c489735 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb new file mode 100644 index 0000000..ff97a9a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/frmSubcontractorDef.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/iMES.snk b/SRC/MESWin/SYS4/21670ll/MESWin/ENT/ET_Subcontractor/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/AutoRPTMeasureData.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/AutoRPTMeasureData.xls new file mode 100644 index 0000000000000000000000000000000000000000..471b5c5806691d602f55cae0d53e6b174c488fab GIT binary patch literal 19456 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 S$z?nM0000~q literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DT.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DT.png new file mode 100644 index 0000000000000000000000000000000000000000..38f72310dc4c8f04e1289fe8c19e4b9d9bbe66b3 GIT binary patch literal 1593 zcmV-92FCe`P)pG`=-#28FVM1oP1CcgRNi~6D>0STHAgaTp_1fnej zkq|U;>26!t>wou~^Y8w&Yq$L+^d!?c`=2>8bH2HpQ;BNEp1u19!1`%^#*V(;Edx_O zsI?Nl=k<4XK0=EZFS@UmuV24GqoWu2VAC9sYXu$GrA3P#B;WV%E3r=2T|54RfMeU_ zRsz_Q4$Y~anF59O9i-5WbdRb`MuDo#CeB^!i_ zW#EA0z%dI1?=0JeLk>xXB-X3?Sa+llgo3ObiXA9CapDR>U;utyghAC*81_Xjz(>H$ zF$NlrjPEkJUf`G{$)P?gDgsqO-pr@;Jef9hFC$e^NKs@`fB-{({=ztQt!k!Uf6vhB z&Q{2IA{@t#UloqHsw5J&sxKM>mI~M}NKpf4hR;m^0hxY2 zlYvneM!1R?0Y*Y1Sv5j^tb0xeIC(5H5R_yEAppECd(XddB9M>v;rnbv3CquejK~9< zV=e{Z00OeCh5A@`Bm~Oka>W5nAixTr*z_1-_-P#uTa<>_HsQcq5Zo#ku zlHm+zf1snPFERp!LLo$e;pLuk_|V_z1#yG`VbBd4K3#-ED(9(K=USI!Lo^}ZcfnQB z0VP=t^+iJfaD@(V9jiLEv?NdgF)|WyiotKzo`@$X7BfHy1LuII z1Ac@-3GM=}f5&x13EC(ZHpGcnE}K*=6{(0&WNzLRx}zYlb#!Fpvw3=uY_0t;)1^u~ zckO-*3ug^99TpHLM3yr*(NvgTe(A+&dp`f-OVZJx3|$wf@I9ics1nRM`%xWT+uwQn z+?)uAd)sja+wg!$ryGUg?D#n4#&UG~&K(hgR4PUL_U)gxCz(hf)_IzooWy#PTAG_h z$QCSEfbRwR=f=%Jh;5n^f$i`1_ck;%e7muGy=bAiT#gPMI!r59uB7(%rPSKmD&*4X z^pvm#@n(Me_8q!*?Jv4`@dB+`(?!j21p4UonX|0xxt;Ir*gMyIU~t3wb;3}oR3aUa z+O|nULr4EtuoM{SS=7-nt09{>GaFD^@J;f4;9TXz}P|90I-( z`7yzWRC#bqdO{|AU?Se!t~JgDZdh=hxgu^+g}&Ldhb~?EW5>rIeK;^90+wZOdv?nf z0oi;E*8Tpj-P@+VjMWAE?pZM}{KjK;>1$cAcpXFkjB`;eM{6hc_VO841pKZmmm}E}_;3TBxI= z9o=nV@IqFVu*QSmYUSmuh#X;k9{L4e#r#Bf@oXFueuJ{wu%$&oHlC@YpIS00000NkvXXu0mjfcFyMr literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionDown.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionDown.png new file mode 100644 index 0000000000000000000000000000000000000000..8f895330520aa5537b0f1a56b35b982cc36283a3 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^3xGJ9gAGW2nbr3lNJ*BsMwA5Sri7Xz0ACpO6sLZ#)KSMB;H^PWLxd*xd0EzS9i2|IbsxkHo>$<{bCD7Nq)kl`?X zu==Z3MRx(0e8WVJ=d~^~IOESUl&|kw{(-UL<*{1#8G`X`vKz!XHa|MevLT{n=Eqd# z2$@4~ei$*`QL1U#q1+pub6kF~S}MU`aM_`7+XM3yecJU|56n~W z>D1>va7b|3(dk?X3pu9i?)$A)xU#P2g5I}Xn$NR$rxyQN=2dp!RQaKP2L}5eyUbY{ zB47Xe{}JfsNP$D_2@=?SV9)~eUz>m(!(m*CWDcr(PEz^1KcA6}!N8MgkNknGG+;7f N@O1TaS?83{1OQo=^D6)V literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionLeft.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..80ea854d234a6fb0f9496a15e4056a1daf59ade2 GIT binary patch literal 512 zcmeAS@N?(olHy`uVBq!ia0vp^3xGI=gAGW&oWIW>NJ*BsMwA5SrEaktaqG>Ujk!#Q3=Vvux z(8_y5A%)q#?X2Z&LA`goJi|edlv<&>~WI&J4)u`ARtgf+i^*}!ba(EZ@{ zkz_9Uh7XJ!@-+;7jPbjknK$zv2>Nm9)b~~~knnsdHV&ZtN?S1J7V`|w_*c4*q8~B? zO*yo@jqwnBf@ckX;{W6SdF&XxA9!ouuX(VrEb)i$YRgyIf3Dg!zE66&dapF&fy`d{ zS8{ehdm27)I{aX0@n-;PRbBg#c|%I=kKZYpj5F3Bp8A{5i9s=BHiIIIfD!O6^B$e2O@r-N?SuC1OrQPwFVdQ&MBb@0O9b% ACjbBd literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionRight.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionRight.png new file mode 100644 index 0000000000000000000000000000000000000000..cc26c41bdd8e5b7498bbdf368c355aeae2722a16 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0vp^^MN>qgAGU)q^JJ^Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07#L4^x;TbZ+TD zamG(gv)3mxq-t%;18(0o>a9$B(9H7T-kIgK7VnCfbEeBnD%3C>Vo$JX_`t{^-|!L0 z1_~Tw2C_deO7IhuEKhi>t7Tx}v6%b8&xgN_>aTHsxMa3^S>dh7`45FbX3l45;dl7K zlJGdhd&<4b66@3#`y0>ii`{>+ev!1@+buWGRcZeSVY=7O%-6^+U-3aRoPRkV|2`{e z^$PvxADkXCua8(>=l^Uwm&2Fs%zNU0O4S~#+I;kE8T+dykn&Le_q%@XoX0hfxo`2I z-Cq3bAI$vebs+nG7W;#P>~b{^z-Bgz%L19AXIDzopr0FYPcu>b%7 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionUp.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/DirectionUp.png new file mode 100644 index 0000000000000000000000000000000000000000..1f2c2ab35b54b49fce9f5852c963a649e98ae6de GIT binary patch literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^3xGJ5gAGV39nO6Pq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfcKAx;TbZ+3~YZvxX1whfFjJErp*C{0z`5n%en{M&Dp)!V%a=dE!mx??g)#dFe|p+oMQSsvW@@$0Pcq3F%5 z2`qLTj6BEL6&oJ@P+&2Tk#AvWd)zE=prA&8NurM*sOh64M}h^qB2(rwEb=X;OlNq2 zB;y&8`^!?DDi{@NCax7a6wL4tXn@wo(9R95Km#7G7E9y?8ha>Q_mCLSoIA4jPd@k6 z`ct^lqh)eXo*%1zkL$X3liipC7`zy`9C*JvZO+)&mnYm1y*HDO^@C=wW(&hVsrwhK zC-0sd%x~SpRA5tM+p_+y7l&fQ<43O*YvdUoN;&*c60~FFi09K*Z1~{F@xcBF&__3G zSnfGjuq)Iga$L5^dv(Jv%=EyT{{1h^X02mr0lMt<;c(+aoIsCq#Bb$L|B%}IfeU2L zJoBe@uVZ8mDEUjhU6;w1aPO>_-Lq}Gx3M<-ytm-@rTJ5L-MtESDyIXZ2BQXpDg)~R zmIVw`7(^O`8khp0{s2iLOI@13J)NuW%cNsP3;s_8#@Ls&{ETc2k&oFIsdqUo0wx#+ MPgg&ebxsLQ06CE8CjbBd literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/EMS.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/EMS.png new file mode 100644 index 0000000000000000000000000000000000000000..80b96c73dc20c29b057056ef988fe5a1748a70b1 GIT binary patch literal 1534 zcmVk5LjGSY5J8>WSY$;eBW35j4=d3paPH> z29wVMOifMU!i5W<7#kZK=r>7;3$|ysStqEG%GTWF)a;0xAQfX){hMXT8WFQIN%~3m1!{N6z)W0;rTn4n%J++KWl6-s9 zG!hxw$!7cgz40h*H>NVE5=Q`p*db*;hs1k#1NIOjzVp)9Ey2L~7;)kAKC!}UDXP#$T| zCryq?D?~Pro<%?qoli1A4cllmu)VzvlC}(x;SRX4Ugp4X0AtHSt_$GfO+d>fqbJ=f zY0y?^gz$PjfJ2on*bPuFl~o2NCnr^TT-Qw#fSxAcKkuM$LV&L@)`KHp?$H9_4(iMDE|m`tDa z3t;aI=nV~e?a81q0gVf=4F*2ppghpP_^gS>_ZoPXVc<1}2dkSHKa;_sQaAXD1>IAn zQUr8U`f@ddl@RUHxd&8ALpy@lk-93NJ=S0p1pMhb@_%I^wgG)ZLuHZU^yfwN{ho*O zlYp>8h3K=&5+MhMOYgb$b%hVd7( zD1FVLH+4l`yT$Owf(KSJq5;HYus}cwDMKJ|02SLmix_ZAOGTJQsk7KJPYNOdXw8=W@9mefuPMl7Y1G;Rhe%#*G{Ct5ZiU-yg}L zLh1@9LTOMBB-(KtB0#~_wM^1hf;d2}R>M9*4&xV)Gy&R+ktUMZ@*NNZ0|P`r#YvYS zl+5zBZ423<8r5n)k!O>Pq$K@@lqQnwojZ4q2veWXy8$szhCxpLJU%^p_UuJ@Wj=er zKO!9o96*SW7#tkDb^iSM_W*2BFv6g8@Pb5l>WbFl_1<Hb-G`oCyN6Z|j#0P-Sf6zsfUpa1{>07*qoM6N<$f(DV(7ytkO literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ENT.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ENT.png new file mode 100644 index 0000000000000000000000000000000000000000..fa35ea84397c3593ca2781e9fef104d76dfcead8 GIT binary patch literal 2974 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/IEW.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/IEW.png new file mode 100644 index 0000000000000000000000000000000000000000..4268fb07ed9b1f4dfed59938a74fc8fbeeacb492 GIT binary patch literal 1849 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 e94xkZMED1QEqss;16pAK0000 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ISU.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ISU.png new file mode 100644 index 0000000000000000000000000000000000000000..19933048c5cc548933a70de84187a1992a53aaa5 GIT binary patch literal 1485 zcmV;;1v2`HP)0^o}N8>RzET_GU_a=L|CO-U0tQ_?rwrN=v8YgO*S@?ZE1eLsKK%;y-VzcL5=#G~jE|2KtiP3$lk<&gZf?#1 zi*G%8^r+2XFbF!GE*2${G&ME#<+W?q&ZE3sISkX&)AA1|Cnm^ZGVLS@2}x~3*k9sl z74belHa6B$R8+J8mz+Cu=1gW{Vq#cYTAJUzd-r}{T3Yg%pP#2c9zLYt&`=si5+2CR zBu#MecJn~8SS)irJw1KQMR|ie5OMVA(M;6nxum2dT~JVv?cKX~5(tQMMk8tO-=`rc z{p|8(LMd|H{P8FO=U_3aQ*L0}Q+LKV!S%?@T~XMdHNnwl6B6C z9wdt5rmRQkKKKsT&vbTnPV-r`4-a7M>+7q(apT6Q$z(d8m6eqa62hTFhxh`nfGtl& zD7GiGf@)jg!-sCN0poCeGhAPfh9P%BkRg`ks?*4DB&HsgV<5jb(;gg@f1 zV*+eBdjjvo$yi=qP9R5^9aK_MLWPBegx1OmoK^$QTm?=E2#3vPAQlN z)z#IMk&z+iMpac6UAc0FkhrWs31xE1?^dgouw(qmJIqE&$SwH*tX88H|6`bd7)3`% z6H1j1A3iKUu`kM&DXrz-GGPcSW=L4`j0FV+KNFEJ^l_uaOcjQX`n!>)h4vGv|Pnd^4n~`M`$<% zY&9$A4VWS$BiSe$h;(u@1;`NrsgeNEO z6N{*rUZwTUTJZ`nfh@m@XQ;FP5NOvT+O{?#BElbgW+2A--h&4ZdLuM$s16ktoKfV# zFmv9@9}^Mq1vJi5;62oUC!qE9_1zm578VFHp-9qTl&%pC>pT3j8s7?m?R-~wPu%rA naWB9dSO83bl|F)~997(3z9agUG1$DC00000NkvXXu0mjfJVd?W literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-AttributesQCItem.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-AttributesQCItem.xls new file mode 100644 index 0000000000000000000000000000000000000000..0ddf7e02f7c0cdc5c1ae098bafe1f7afe5f39262 GIT binary patch literal 33280 zcmeHQ4R9RAm435YtyYpHOa2kYHu56>$v?97XJar%k|i6-k+f?`j!h7VwKV#H)vjuH zWn@5yk`O|G1Q47-##K3zkaTVH&QF`Cf#wt3+_vS)Gn8x0P_8j;IR~AQCT~>J=z=sfH)qImX2^RPww8`2 z>+^y%vb>3MO=)D|yo$7WL`%}rB-&<^SLs|v`Lvj*YE9MZ&8t_}?(DBokCo1|FcvH` zh-^ax1?YNRZQq>)=y zQ-!>Nn&yF;O6O+UK!9_s&4|o4nI0faauXcf zx>U>*ss{Q>dJuBPtwGW>1ZHw)(?hf}DPK`CAyv`CbXEc>E}Ma3uv$;wqADwvg_?nS z4t!-jbY5+;jtx7FWPi0Vm;N|_+nW>30}yx%eFqkTqRKuvXQRhlNLom|L=!zi=Or_f zHAv2X?$jK1)sjvV8**B^-J$X!C;qlL)z29YN( z!^40V(G%$YRJ)~iz*FgT)03D2l6YQ9-$&2Y#?eIXkt!O({dK*HDxE9nDR>~dcuh@X zZQ~_EEXc@0o)?KQ#gj~NeCyE8=1ONNJq;I68hta2`gi|^RN3xM$(UcFiRQ3*iF_4>M~SE+(Oi^(uOgo%Kp4@Y9bzhB_ ziGN3V`JKgg7Aw2b;ArjeH5i~Byj;qM3NR!2L^n0Vi}@*t{Mcph2j6PK2b~EAHFJ>^I(Bg8tKeoj9-_djvZX#FGzzg;UFXFOes3m$@QAjWW8LQli?Fw5+Ml=Q6}v0 z87|QkeyaY>dO&@r4EbF(7QTjllHg1~0l&t*gsx!*@o<2izWDQ7rrj+xodjnul1C+& z59HxVL*xlAPv%N7;cz%bhCb{>hMfC(JgG$3g=9el6POG{*nea}gxybiNw{-oL8Krf z5%vUG5Me#0mxSF$7DU*J(-UD|^1ejoJ2STqJDx0vWNsaH9$65{+&b*ivLKSVb=d!9 zK_qkQu(Qm9NaohTip@j>3A?^i-;lX=u%gR`NaohTRzNmHGPlmE?1*G;9Zz;dGPlmz z*%8UyI&0%Z9C$jRQ!K@^aYpQyCt`^Xc);Qw*8#(s-aQr=e$(8-=vBXwbp$P_b5sGYJ zsWsaST-mj3g;LC7Gg@4zY4?<+W;Gy^56w%#VzK$SdQ=4-e)!=S8AKFK0W)f*Dqx1G z3dCXHGVQLh@WwV2)WJidQc9BHq}I4LUSl3ZIV2U3V<_8^aP>miR3g~ec>gZUO36f| zK06|YA4nrfLv}jEFmrS6$c9L)DKn9Cvmp{6VA9n8JP=7=f5)`j>Q#24K*FmuH64lfz4(-nJ4S4N zjytg6syd~)?}-fH88FfJRHtMZvP4jw(hN%#>U`jug=(@F%5Zf_LNzrtv8xljl~4vO zNhpRHGLaI>3`-SiS6nDI2o7e`5|d}v)V=rKo1&=?Pblk*p5GlO{O<{J*=s8H12M7) zg{1nxCJ;&ZK&T~|$h5oK;xxNZK#M!}uMfZd@=NwS7TNJ=u;H=JhKC$q z1P_-!{L8mqvFEYajz^;nkBv4w^PNBY?xXfRmf7*Jv#a$sJj`}A-}%$mp0MX}rX3GEyV_*K!)#aco%1JO zwCAzhj)$FHZMETHwyXKhM_>85J&zT3JnZbM!G?#~uI4-6eeT=#JXSJ~?OE8B2Ru^o z5_VPJ@R#3uUh-gPg%I~wXW8+vv#T{WJj`}g-|*tGJM4K>+VQZnt7;n_X1l6y_=o53 zw&$_Rj)$FHZMNZIwyXMvhyLmZ_B=dxJnZbM)`o}KuId|RfAq3FkF)J~*x6O14G*(j z)i=EJ)Gc;AFzKD4*sOawoFI=~GH4pbFk9;0{25N)j@eVyOdhaSCS&F2#qy}N*VWU- zQv-pwdd3C3Dhr+~<}&auh5=u~$O3!KOd+t>C1X1ZV{Ur;l7$mbexdu;>yCWxi>q(- zP0JF67_4!=siwQ*>RIuZJZTg~FH(P?Jr?_a^a-dIN zWR{Kh6O?Sc>0rp_r0SV`8(rr^*MD)u)${BXQWqt7>F-1xZoKpA$Ml5*v+hVTM@L1> zNh+5o>^wTM9(Z1^`0_r5;LG*mOrH76dL>fsq`bnU6x+te87JhmSWvzbYP|2}!AqsI zPTDk604%Fz6u>eV%R^?%D8~^N7irw^*BzooM+>Efk9&GUxEpUTKT>JCt&GuOguwnNrG;DWx2lV&!a^ai=z> z!;Qu?8+Hi}+@LYk@{QLaScUVmEK4wbr0zcI`xW zfA1oDS`CU8yK^h84F)Z<3x|Un`iecRMn#J|tCd!bLCfr_i9YebGxoH$DO&8Ft+eV4 zT4t9_^gqY;+R@_C8zy?@<(+rUx;KHE@F3!%DXa*ncr0<3mdbxaEz&~A5>&^c^J zjNw5O&boJ5%9p{8RIchUW*Tr|373|S4pV}&WO0gY3s#Edaf;F!gf*F@GAPEHzV;Na zE|}uE35skHR*H+_6s1k1p(y7u4ngs}1Vy$BOYg~B9H+>ZA$w0!t=Tc`WUcSGMc+T` z4kc^Nu>@M@9J3qcJr~srd1K}ebfblIzU2Ro4gaNr|2s+i&2F4`Fp~H)AmOQGN_i@o zQl3htZg(uCUF`L~a{22c%Hd90v~ULMo5(lof_GI?yomCe%)upwN_NCDWtPQ-Nse^V zGLMJR3wRiP>$CT$#jpvLt87Bh zgCi6)zT`ecUov&RTVXoo`0K-9eHcflb?T)k9TiVqNDbjg^(2kMx_x*$LLuZPFggJn zp;5r<(7$JK1bqjcJPCz}FoSC|{puG#l}WzhR|qqFH!d@{&u{_{Cr_TlZHDINVl>w< z4AgnTP6!R-F9tXbBR$WwX9yefOv<1qCF#lIgd0g&ha?+8!BYEG@(8i=W&)}1MoPqGP z=0?O(!0&7HE}fsxFXTA7$;ofn_qTRL_3`eI7~tV9RVa|ztzq3C4TY__MM;JI;nK1Dxq!K5e5u|&r-rmFL2~?IdAA6oI z+}*fa`51z9hN2yjPx{9KLskU5Q1Au(!S0YD(UXT)U+%u~vptz5a>@GjOa}B+)nMMp z!mjC|Tb~PD7^igUo%XdWGc*|*p9lr@V6-(927E?75;9alBkM0>jUPQcr6)9QMKbdkTrPOqy!EE>X2Vqa$A)KX>kKQ1DaH1opLp*qWcxU1r9%i7|x0Fg;!ZNn&&m8;o z7fyXLnZtru5iP%{*!McP4_xo+x#JkWcXW&C8`}$*;B6UiB=Z(9+RbEiOQkkh0of6@ z5?HCMwu6H3dSkfi7!VE~@Ar<6y>Qk0OUgFQNA4El&Tsv#49-#vyuy{84vPYi=F@v+ zxbv9+D+~MhW%~6wEP#Q6++rLdR&5T2ysa-5;@bnR3@+ zrNS@wW@|hA8k1XQk&U`yIEUq?rL`n1s~#^#H^8&@W2V;&*Ze5_{Wsv?2i+BjC~kxb zG-i6z8c~M(oY(Lw(>BN%2S&kVW#ntjqv{)+aXi+OHQfHQO~(}B zM82pkP*d@_ycx0^u z)$4ZDV&uoKRH#p%inc^{2mFIq7?6FfojrT{T1P`;gUH4YTZkcgBovtB2@!3ttsR;e zW8hwYB#MkU(w@OkFf<+-(i4>0eZKHmFzOBN4n;?M$AWS_I9>+BcoRjAAw*Iub7>YFC6Seg$8;% z+6L+y>j!q@-gxdg1MRriZQF*?q21Rz?hi-XCl6zCqZ^pp8wBRIx<-LnzkM6=j1ZcU zm1*}K>gr_H2O|0qjZO^Kg{LBcEmPwG&;w>D+{M-G@^*V$+k3oSdj`6^ZF`WnFLbzN za4<9(jN%8poc8W+X>IKr5clprKz4`1L2s~)Ss~$VlZAF4MM*Cd5r&Rv-|l^0z@@6% zCMN>=R2zO192#M+0TNd|60xAL?!4h4JxqI!=s}^$y<_1>RG>{rVtaLcs4vtP_8+Y? znysfb6pTc}eza1A_Vu*3xA~wha6_WKts8TCWTU~L2L@nP2&DsgKU#4tdi26@XmWyl z`^9~r9=v*)*vM$q=bzBSK7VvH-qNY{;bl(*?E(QN2idyNY_)X*ds|xfw0RG9*K~V( zynQWwtl5P8(vbba7!@WEypz$1$>{E}plv>@qj&5oojUbs6e{9$k3PZ%4Um5b&9!G} zMCTbWsPqOxQRv5iw4S>3p)r5o(FvVeCZi!1gaN*;&K`dd_;n36^|gSq7AME`aO-3w z8X6aMSEjTl=sz6Lds+_mPJ}}I!)}$)78>-0LlfM$Cc}d|Y{Ji!{D;}{y0M@`N*J#+ zfnF31=qxyFMbR+jdxwUSGFt+uXb^@btK5!S8co6O<0B0|43ZrOeC=h}n=l8fKT~-; z#__yC;~h%?Ir8|G&CEg0I>dUOcZ)^f@>q0!;9!dApsKNgcf&cTyGR%pK906)v=+>za~jBLAg6)T)PULV@H2053&&=8<_S4xaZotwE}@BQBepy_ z=0Z*bISrhi2F(5P^eE&?ecUv_b5XV%pZEx0P`m>g63<7(dm#@_iG;-aKM!7mhLGdI z8=`ugIT;hUetf-P;^U^YTzzvI_#@N+@0;?RD>4zdGIZtk#x433wzXyd=05&WMm4WX zcV{{5f)i(_IJDw$LO&f8=QxJoXRd_L=|`Nv*^VnkdOO}FZ-GymLd=DaRs-h~j-CI} zgnMxAqtJLupyBPnA;%%(756D)-{e#iK3t2RZk))lf{=E`l{x?#ZkiUSNN|v>WRG}b zz-fLD@zMhRFfM-oFHUbb>7~*{Iv;14)+|b-`6Q`1pHDr#RJ=P*uMl!~nCKPZ4BdG7 zg>m}D_-fR6d22kqfMr_jjh8RMIg&LMzIc8qPAsjd=!>V(+q8}%(dY2mgikXWCnLmq z%k3x=kcG5D978y%b$S@aeqbSO6K57qYR&W>q~g#n=*pCaog)r1Vz3{z#^Z=@a5SkW4MW zuGZpsUI|isDn{m&Qja)j#VM|3oA53&#ivnN4Kn3Gia!`5Q+Y_SI%LX;6z|o^R6bH? z##1h&_*|RJD?p01E>mu#SmQEPh!meIlc^%wD^BjnR59)6k2)H83#f}fLTRK*uw%z3 zO(bS1&fuJd)br5sJgT&WenJ;G7SSVU04FsgN9`xxgi}j5CE33NB^OejQ;5jF!NybR z92&W!=nXWWJdQWwK7&R~#c*ti$B?`>GOR+d$X!lf1HZ>6h)WzbPNu;Idg^mue*1Uc z(Xy}K=B7>Szx6^bU^gRj_u~8=i0rtU5xJ525!w6#h}@N?5VVduY-Mhg!dK~}IxHO;#J&Rr_{vjLz7kt(8`1p@C?kKsC(?CuG zISu4Akkdd;133-kG?3FkP6Ig&;6$h-bk82RQmzEKX4PG+7FOx`BG6H;I#Kj z5N4jd5hi~KO$z{GGQ6e0;J=>yTJ!z?DYnrVGZ%6i$Y~&_ft&_%8pvrNr-7UXavI2K zAg6(x267t6X+UX!SIWGI=5;u~%jbhM{C=Mo)V$8;qb7W0hS&GJcIS1x{4kMR>+?Yv z{u~ak_xZg(e*lKp{Jbx~2SxaB3LjlW|s}NTsu0dRjxDIhW zVm0Ch#EpoX5H};%AoBm4-->%JBEGZ3{|%PEt0q3@!rw~c{Bv;U^9ko7^8b?9iOBzr zVHYCjzlX^8k9+9B@kRdpo`?3}r{Yl@p*{)?WgjZ=AIX&t*^Y3AOB6mSN$iz3d2KH2 zUBl-$Snmpc5ZuFb1&(a999JlC)_43D_&9%-Bin*c;xkAb@^OTTKSel>j}39%`GZ~Z zC^+y4@{fIS7O-J^g^BR$47% z0~!Pa1PBR?$U+Q0XOqe1WH!lU0+~R_&tPVDW^zuP-JBdanE;a^J4q&!$z&$%%-Mt` z>HTiitLoS9r`?21HXHic)$iR~x9+`l>(;HR_v$@;<9}4X{?Vt`e3xv;wNyaAOqEcP z1@FW4DFs&$@>3}W)wvJXK;@7Bk1S9UL_-!8Qt$q+7k~SrkBW+kzDs`kY~V%w68%r4 zewv0i(6P7?`i&ijg${#0)&XkKHMsK81z;;_wa{#-_+2J`|3uJzS^Qo@OR2{9P1@7> zOlUt!6Uz1Z4+**th~H}QyBNPddQOyiMPTY_4Sf~#i|J8zbwBkN`dTPK<1|PU^dFhK zlKvC|Q+Elu1rPKW`0C~skG%Axlo_B!LL;c^qEUc0d*rUP*2ck=sN@~g)6~_Wk(B9H zlT}u2d=K;oe4jN`EmzUMqW-2nu6Zk^uD%C+&TI*hIT%k42y=ZOT_gg;;C35PWYf3~?f6T6$o| zf&T4juzyEYU<<4rve8Iu*$B77>KmoW2cCks(EJwxl$L|QkK#1yrSK1bDdDjPSG^h(6v2H1SN#XEK!Fv0%q!d?0` zg4>&cLjzEFH+>!+f}+YlIA>?bT1a|`F40WS($$&5WDPRq3DuMi5Q(H^B=&zmZuO03Wja@xC*&k}@-V^Dr3ap^#2{VG~Q^rj70rR&f zUR@PfLtms7$mmVX8pttE9fK1y26C6vmuLxc!&AtUKO-Z+m(rKf{i$wu-9V@+5Tvj0 zL_%Dzpg%*;^-ZFQf}_#M2~dP|J1V3j8@&fPpU}|9c9J!;>980*?#(JMj;{O}rPMr#$%li3i?`&#z0L zPkYFf`k({Z?DMpscjBc!x#MNMob+D&r9PM)OTYb@Xf6Dxe(`x%d@(5gjaP)WeuNgc z)$3EDUX=>}5+>O6G$sO)|5An5e)35{&$Btvk8Jv2b|LwHsIu~jvM0)vU-=Md-ROOA zKsWqy#pflu8JBC6KBWqOp|Wyi*-G$#Qs~2LW4HPuOiF!hcF5iSpBMa{^v`?XpY_0d zwXfulDC?>x#s`Uii6TVvx?ON#!Bd&C4<={|AF|SGyv+_UtfbfNCH)Pv7ma^m!wVZ! zJ7PXy;zvd#{y9-!OaUZb`^g^*Jf?#ZZ<7l&Vm+i!^A(Q38bQyOKCBvfDk=}@hkPyQ z&zk5AdhpTsofbY;{K`zcmMif=2miH#UgDvT<}dM1efD_pm-?WAZ2DXE0slU;US_|O z{6j>CJn%Q0_<&WP5Q*NxSpmB~e#y!~?}lf)DZG^r^LN98{!WFr)(iM)l)--rSn<_F zNjG}NgO(3Fy{)~N#K%)gjko%b6>s&2ki|aMb^(5jIpWBW8?w+_^=CX1{%6v2eckHC z^lo^juW;eR`n%ylf7VBbAU3nVSozrP;6`udZ>6{Lx7y9h-->5GioX@l^;P;??QG>Q z?V0Wuir$I`pE1SXj?biLlgRjxNiXr>bF&*B{chS{eTWW)C{Qo@FD9_y1N>Wr%DLec z{UQ%~iI;Lk+%Wmw z#RGRUX!*#X4*`#a|CxA}tL!7|mA0qCA1vm1ej2apYsXiZ_OauA)v~=LUiuH@zU76_ z$hB%H>@Wp5pxh~>Z}d+V&qjY;;_;i+5>nq+Ss^!QwuWN#gwB<7$=_SRXK!32O? z-)U&f-a0(}Ol#uFBzx=dTr~$K*;{8rZcMVbPAE4f*;{90ZcMVb&KAwYkE;s?r5urs zGgAL_A(ifcCv4$yD<}fq;j!3^o7N@{T5uuraE8on8QNjx>aN{i{mXy1X!i#;?RJ1k zvCxid^5&celQ-UYLo;EGnfR`|?n)``SYtb`#DW94I7(e`&YIPLR{El=Qc75A-lvtC z3!b&rtQJfPVR@-oDs@SlM^)gNXP!xs$wcuKIJ0J|0#=-=fW|?}T(H(Adk?UFZB=HM z;W*A3*XbJb7|KUR0Xc@UABj*elyx$xNA6|2FdHQslZM=wm~p^Elg8Ybm~p^^NmFi2 z%sAk|WN&Uv%s5~&u{Y;FFp{7@55}_vgYS)tsHlRk<+H z1B^%guLcwE`updC_Na0I1=3Nax%o_{|Lab9={$E}AysusYu^(YU}fS&-&38EamW&f z>XcTTQ>lZXwJO!@u9O+-GL&j=Zst%YWGkgiT!vDNGj$@RlojVx>Kd&SI|LtA*AkOw zj)5Ql_{SZV`t>PgpV40niRt)zfr{KMmHKNjvIv7XV_-9wq+=k=lF8&T{}p&VQbN84 zJPzH0)l@Cg@<$T))YC$+9SOzF!xyN+1|TOLE9t|QgyMiP^4br6nkwXLUVlK=7G8R= zj7m2d4K6aOU1Z2$C}b2GBX7L+s=JJ(ZZaBOWNdYjA!DVGQDlt#(@($SE@PRSj3yTu zJ6&YRP%2~;8zbNQyC1vD;FYPPJ@&fD*zF=iMp_{wXpFq_lmF!|V}+ZHeJ(N@Tx4({ zHru?!82QCNe%oEfN|w=-gI{fc3@4qI5xCU#g-hRamvM!g3^%{pQdL=eDBNdGFH3EaPzBOE;6isb*byp#aG;AtZ|d!=2v@MWLW*` zQrC0e`JuavwQe%p{HoDKhSjewb-nfSpSsIf$1?Wi;8!8YaMGpys-f{eeePRQ1_vt~ zI$o`Jli}u9n_XmB{i>nymB&BiE~Cm#hMQk)cadTBtA@t^_N}MfWo&Sh;pSI0E;6is z)zJ9#NB-JfM#xQun_tzr$guiVL*v5NUvrnS(M^V%Up2YNu=-U)aVfZo31ghr?K(#KDs<0qcK&`Q&Xm?oAZJI9vUA2v_C{<+A z-2ex^Q3zqKo99bFy)~2CUy=&a8#gYQ{>p7VIV@2fShQIer!|}cw4vsD0)^CPI{i{&aO2M{u)Qek)Yr-pSZlMxP_0aO?BL~p( zH`zFrLS@e3Wva3kuice#c-@^gj)atPB&3WZAvVtL`Jl5g{XsOQ)v?R5*$s{P$%ht? zyw5m!!$NS6O|`vfOqI)1TUAkRFVk_#(6ul>QPbF~GC2g+L!``8PN@8tdGTu4G8B|y zW0lE^!@r%^Mw6E{*z2Ty( zZ|VB*LU0$ji3lQod<9G3qMW0ApcpH+4V`ns2YiqD%jrt?Bc=$U2^WIb*vePHk5sPe zFjgK2Vd;=ohz?VZeVm#j`+}WgrRFHTL3oozE0bfY`4cbj>Vi35mFCDEVduD1bCf>e z!BNg*{DR}vX^!j{w%${)Omk$VYCJ8NJT0MJ?39R*KpMP!&|;T zssiq;%?ekbzUh3cE%*+BBZ{b~$r6ghP|1Nqia#E z?_kGo6^qeOd|+r1=bL?eL+L)W_kG=rD5BVyVI=FH z46dRlEw+|7Qse{OkKyHhw{|9t$)30v;1Mp>Q7p4t6UJaNp76+xB;v!fLrHtC$+~@VdLn+# zFg&tbXJ?Y}NyEY0FC~W~_HqR>qxVG2E2qmV=R|9ly^JZwnPH0Q^33V;RG`mOfv9Jh zsArj&XPKC1nQqTA-Oe(I6F%M-P1v|Sfo3X|(>#k8Xo|keQbaFH5xXo!w--f`)^sp2 zYQW)~sw#(#Tz4csIAL#X(2-K}sp(oGyCV^w^eEq#y}ZoMQa+l!yv)v0 zK9;?_%+6B2J9~MV?N(?KQ)X>62$!L8)&jvzxn6Ir(k3WCIy=Sc4emFO9|If}W z>aC&WJ>@--$5%gE(o+^;E+vSTK@6GTiht!eSKwTU^KzWm;#`GuJRp;nZ+%2XJ2p` z_GN;32&*`0Ei3y954Nk6)_oXVS<_r~E`yGXz_c7^W?t!{^A%Jsb@pN|HMZ-^te1c# zTi?XirKKBNHUT%AT~Ab9dPB_9qU^r* zstd$42GhPISOI#RgU89&sdAGm4`X#6~+mxGYG0twy zwN~lc>)9!|mzSa+9*nqoZaF#w_rG$78FFM@+w&I#-mK}JurAB0wL9y890B@VW(wwn zpwD|k(CRhs=ym4gU>*)dY@S!<+$@Ag;3oLW#H0JPV&J_nI z9aFjzX}#95!9?=J)VO0tXflWmVoGSl#&35pz#^0bx5MGyV8ycDyytT#*3THVgp({oRrcf6h6CubfcW*!_Q-R7QVQ*?W`U$=9h zRfSyI&oV!BPLk9NF>~I{YN~0yeJnuTTETxwxjzoEItf7~q{b3$Wd3xzKX)jkpGRIN(;=G2(lSTYWf3Y`& zX2JdPS7WhQY0*vD^(cTI{6Yq=_w0HsQB2gN%3BvaU<3<-Z#mh(P35{n%`)yi!*@;- zxC?4v70OF#`#fGvTX+EVTF&S-N1AObUah$mHamh_uKbM}Z^mvd7gE(tH@|h|aqpQ^ z^s^6s;-=NNl=j3weD%5OdgKyeQOc>kT!FCWZU%v%Z0lwzC~`6_NV>CAkTQ>(kPS+R zYCLCMtRlSX!s}DH_H#Du+Z5qdi)(lnn9Aa`8;fLkf{_1Xry#?Ne2(LD{oCtFbCe~=Z<4L~Z ziyaV_o4w{8)a#6MJ@H|$+}Lz{YR36M0DBF1z`yg%Z6EkzkDal(f|G%hAGg{GisbS! zGBG&id=i0eC(Jtd(C>@E$6hu?x5KXA$Fmj=yMXu)p>chM<9FqWdufjJ6Pcu$<_h592lghVwseBYFwq z%a0H>EhGAAC*BBOiRU|AMDJNeG!$Hk1cBy(EOGpZ9>;T<$1ORBzwe``fP2bUw`_| z?$eRx0fFBs@VmtCJpwZi8g*>J4h`&eqPvmvBEH{3{B;-leL;P%_}!|hf7raua=l$& z|7-IO%XK$}LPSS#`!_^g7>;Hz+9l|i81q87UE7FV8gCEihG+F-QH)H{8d-P#%P^`Q6 z7>ll;qs8y6pL9-5&n6F#PfS&}bK6IipcA}G? z`WX~8X5tgG$?^CU?W?OBo*t)gV%(TY4hmEx9PN#^boQc{L`UPuG3xi%k@(6J@I5DH zjJENSk&f}iOfoV!YP62U$A=8+jh<*nHe=e)4jI$TZ>D2>!T|C;k@lwBCLOt*Q%NH+ zGKj*lvG{G7B^|_F@!Q&`hCR^N8wp1awZ_jFiO#7RBO&V68lRXzT`1hqK}QECMw0O< z)~#(kIc6lf2a}2Mv(!EmpNdanG&HN*Yn)BC%p9H=9J*CudI66oCkLlzVn#AKJ~c|c zz1=7go=r}SgX59J;Plw|&dmfpGt!KVwWW1h;_i2(sz4HofuQ#NfGl>88h`N85VhNv;rTZVVG6!XqOjY;zpu z7*C!%l8DbvQ{=cf57dKUWNI`rI5U$RL(b@!WOX!xmX9Yydvu3;!mUT6;qLYU(I_a< z*42A%+8~?@zXlEy*)-hw~){%H(I57^7 zo}C_s8=F*-SjXfyZ>X)JeQ+?a`>>&`m3!AXqdKn(uTu&;68FrTm7H*i$I zTzkbYEP62PJ;i)vfu;ttK%FR1zjto~TfKYmtR<{O+PVi2TG}F=+#tug+NXx%!`x3! z^mgnA>R9}A%g|7Kc1oB6aQJXbYisX-IQMYqIUG++g{RuMvjPaW$wG(Ep=1~aNT5&9 zvBSs0z<0!_w38%c3ml8KBJyzOno7>VZ(5JGMbK{OCJamtx5A-LbB8__rIraqpeYFI zLSHr#M~%T@-N_I)(Js?mv)ROu0d)pxZ2I=G2{^;n2Fxb1HrE)w= zet3A;mdRSqVn2-B7bBv8D%U0ZEE!G=uy^dra^@MxcNpqx@CY0BpvwZ!&>jvttx)ScvNLmcF%qHU~ z*Vo;}y#-^#FpMkGVvVV zL|U({EEHayt?Pm4m&&OLx5YW-kGutx1(v|47TcXoW#-R$3*;^EuCRbL1n~6{+t&Y9&o2;LWk-@jaY(^PGCBFrG~a*@72BktE@ zS5!Y@e;+uvV;9tJajmSP6v&@{J1xL>SMx{S0(kx$X=!bXo@|R9Y3XfkiFB?#@TrdX zHT|&t?w9^<|FYu;u5;LE{K>z)Z|l$6AKdbzt3FwA_N$S|;iE0>QFUwIL7qqCEs(cB z-U4|GQWNwm23Z z0NxX3nAKr=erNUB;&grq^q#DY>U{nl)?{UmhVj-uJsUis`7g#N0$vSXui+)woAGM! zq=qZ7Lwj>c8eWQz8*MHb)cMQsJ)&pvuAkCpIlc?^D!xRj;1zg7@mUMJ5`W0vn!gHv zzxUOkq3KuCYU&J*X?P9(^lxYIl!n*hb8-}XkA~OLdX!JYRru80tHE)dzkxQO{Dg)> zv=Q(P8m^{Ipije_X*1wSoxcU2a9=2iYj`U@W4=(*ui>5esNO=!jT+vC`+*DPcWQVK zzLdRCKBr-Rn{snGzw0U6uO4?NHeHH6|qOu9C0cER()&k{7 ztp{{OLsj6(uOG_14S3g=+g?KWG9vM9DhX`_#H}x(YC!zSS_y3e)T5!z_@ZrCLtCIH ze^*RWZiV!ihPDA(s-f+GPH1QcpzAfXlkTUJ8rp^D>v$R4GCMDDaXq|@k0$Q)3eSoSo zbS0n-8rlyiq@k+-ZPd`!fT}fg0AEht1nAF%?g#N4IP+ht(1d+GjPGPiy*Sc$;H%XN z@}rgckA<<$KKT9-^n3*c0C8`Wd4+&f5A(tIkBGm`EAxs0&1lLXB=BBNnO8!`5zQ1- zinqMeP+11FC<7{o2W-*h7Q;93vcAc43F63B4OJj-w}vVK?a|Oux*4%fm0O0dWNy>Y zayo>sN~^pTbQoWAQ_xD}9n#PhxNgzVDm-sLtfAF-8oxtB7$-ywlyzT=-nLWctwUai zhSmc*s-Y@873$Q`2D*iIX()ug$FW!P+z6;fL)C!z=C91#1n9ViHsb>?Q4MWD>(y## zE3DM3p>2TrG_)PiDGlua^d1fEM5!Azvb|O zp*rLYYN#IaPHU(E(2#~20S#-Y36P3$gvjMf|bI(*@W1m(sJiCgC}}cb??>s$W9~i{eZJb ze1G8mNa}uoT+j0d;N{_Ut^#A0$#+}iA5No1KrtJ>2g~UHGW&@`pZsTW>z^s}N8SQ? z3*;@3w?N(kc?;w%khehI0(lGMEs(cB-U4|GC=2jPnHSN#4(Dg@yg81a@AHD1*ZI87 zjW@UPx}4YUypHGXX1sNb*ZREOi??<0dY_-`^L8v=^YeXyRY<(eiZ@sBmMY#z#oMQN z!OmNyLP#5ts*yG!ZARkFLR*oxA#F$EO*y>zW*1To5^sLtZ9=>`s1B(fiMP!)A~hlL z_9EU6bR`n+PvEVFyfun9MDg}1-ZaJAnwpUgA+;bKMruWBLuyCrKsti-OKjEP?L5bj zu0!fV>PG58;!SUy&l`1kdrl0g7wH7j^++d?IR6(&eEw}cqS#^?7n{}Ev9&0Pjg;r0 zdG5zbDim8-yr}1 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-SPCData.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-SPCData.xls new file mode 100644 index 0000000000000000000000000000000000000000..d44a766a86b693945675f310053fd87b3d2a730e GIT binary patch literal 23552 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 b`8l)dJUAqLe|dF!^}&a9r``T~kN*Dv{%ieD literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-VariablesQCItem.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/ImportSample-VariablesQCItem.xls new file mode 100644 index 0000000000000000000000000000000000000000..e345d8047d3d776026216b5788785d11ead4279a GIT binary patch literal 33792 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 C-*8U= literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/MSA.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/MSA.png new file mode 100644 index 0000000000000000000000000000000000000000..51a87c77caa98fa59f5b4f57dcdc5a636d4c2b7e GIT binary patch literal 3376 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 GiT)oJrPsOu literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/MTL.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/MTL.png new file mode 100644 index 0000000000000000000000000000000000000000..01ce54776354012eba1fef0e7f5347b49e28e6e9 GIT binary patch literal 1119 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 M07*qoM6N<$f+nx;bpQYW literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/OP.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/OP.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d8f6c8ef515a71251f247f5e669e4a37e86724 GIT binary patch literal 1577 zcmV+^2G;qBP)Nkl6WI)Es-2JP2Z|h z=lpg4Q|H!IOeud_UZy%T^RI&sKddDL0F>5odgI1Z&%OWtrL+D1w64Y^n%2+)oqqp; zw_kr9JscEap;EcuhH&YwqTdOC%vwww(*(3q04SwMJ8enQ^lsyi12}#9G_$j_^m{$J z*7C~fbNu=2o7hr`_SH+M`Z|qP3nL>A78dLCk3Yq|ag33{L=F$775!$N^$TxI1fWJA zI-QQ**w{Fi^m@fB_2kVn_Rv}4vL=dAAH0)2^8EK+{^zqV{n!_03P?a{gS+oYUw`SL zC{hY?V4_gohb)NvTWj;4SBAHLf0Dod;ibI+)a&)-YuB!Av>IDnPZU>{A0rA5fUtj& zeP267`@QSvtzN!D!25wBV~(`~r8S$4B)h)V{prly{K?Ngc$Zh7dwMbj&N%_lTG8zE zd8@ugK@BS2t*3lF%XsU;8d1A3F{Ps-K{!yIDSY+*rC+{#x%QnyM;>|di5FhxwUf{8 z03BN(f>J6^jG#h5=c+;=lQ1^+d1?@9^)`RK@F@=+UVNg}Z2acPH-CUBS9S+54j-(y z*x<0ikyuNku|+%0w#TMXF9EHDzg_%{mFmooY`~ zSmVTlfp$M5SU0^oj|4}f-NR<-w<-q@Z^xS02Sfzt9Zn0Wher!dKK$q=D@9E~$7DXB z)$Z$rL5~=n4kC1VeY`0wdG9_S03tY_VMWlQc;!Eir{^2|rC*|FXDMjG-$I!SfpQ@x z)|zgTp){xw6z!fPDk*_5MFtSObp$;)UaMB|yM7geP*9fOM{NiC<$IUd>ZVxdSUEVy z<+TQ0!dNE6S%TjIuzL|Ig@|Ci$Ay3k0TE9u4lO%lL(Qz?i_7y|S#K~~jHvD_v9{Ib zz(R@4xiMSs96n5w0SP!~u|X!8Y>N*J$k=o^~?IIgn8O=_QrG*MJ#h6w%VXM={7|ke) z!5Nr_0z~l66J&C;yj6NWrMs2@gJ!0c9^)GzXgeJRe%OfA^Z-UhfFQT?r<~S)4+_-w zj|iD{#Ii#{5Fv44(CJVprO;Yo6c}~OyM2NfW8T5+gdGDgH#b-7bUH60p(Lg5`WNPW zI}wFe5Q0#~*&jZ7@I)n!ztT_ov|DXDttKCKdEuk9ylUcDDJC9U1L~YE&3xQE|JwMD zhjQ%LG2%GJIZM|DKDmB_o6RO#DbjA2U;O-MJoEi;znW(0ciZhYwOWnZ#yWAa{J>9s z_1nvzUcHJjX5#LZ)?_!=2-(gZax4R9&YamZeLCylK&8%;`G6D10u+rgwssY_xr*D< z!!ADW#8?=#=-bBuJ$dKa~BuV7>@#C~wEo!wITJP*jDMh_rr`PLYjA3BZES`FtM z(Wz6X(0b6ZL}bWuoIe|&Kz>@RwP~l*ag|C1W6U-XrPR{VqenN5G2s?)9!Ry;D5V@A zLvY3z8jS`~r_;Fy_y%wvZ~)i`EarjZ{J+3}f{Pa~#?@-Imt~pCvP?x$lo@0G=)LcH z@9ju%1*AYDU*81Uz$UN`oYz{v5#@oFfaN^cB2WSrawicm2cWe^M5x#6H-_nrqG(9v z{4K$UpUW#i!l2&D`COK7R7FXWd{Qcvem$}{&W(quk46>_E}PT6A+tO%tG%00000NkvXXu0mjf%lP<5 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/PM.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/PM.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbc6d5d751bc061f870ec186c897ef1d1cfc4a4 GIT binary patch literal 2569 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 Ef&%0N(f|Me literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/PRS.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/PRS.png new file mode 100644 index 0000000000000000000000000000000000000000..cca6bd8145eb918bf4d7bb4920200e43b9ca5adb GIT binary patch literal 1266 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/RPT.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/RPT.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0400e5df77870522ab8c7b668262ffc2e5642a GIT binary patch literal 968 zcmV;(12_DMP)I=K`5=QAY!$pg-UAXCY`Y}_ug~fS3Glv3(h?ZCCT)GJ2T7+=l;%feg`kV z_yS&eX~TU#eewh*9p-?qhheBh^utuGhDj$(lAVVEfPlw{Xz~E6>IUvpWbyz|#V`(L zpEA>AY`i&xnMMQxLEZX-PTS!8mtAz*QZ#Tt0B@X~$NH^bI79xaUbWZ5r^O?5YAdY51!mG`t_+69^2o53&L8{5Jh`}&D*#=W| zTp=C@uzwM?u=|G+iqHyzk-;xnhPxsV0YnK^5y1$+ zedVb*#z!kF2&3o}g5VJlL9NY0=I^g>Z||PDdDHDuggoug-T+P>I)pd~UT-v;n>Neb zYQ&5@%dQ-so<7kG0;rI;0TtStgbW}u=9!&q*9c`0)M{%`Jxsu^sJ{WxJvyKw=ykgz zgS_8Ip}nhLge&C~8FK`2eGc<0PlAX6D(U`dZ(;Y=?+{hwA|R@;ToqdE(%xqSEQ$4Y30T>}*g!1|70@OvD9 zfdxtlJq=h-1I5e_po;$hj0eCB8^~0ZDhp6EaK$wsl?qs&gsM<$VDkKD5&4mrPnRRP zL7;Cp*Wakrc7otGqP4Dja`;Hc9l+~Lqs8o zgpxhk5{IE|m6MP)e4|t6e1Dwty}#f4KF|I9uIsw*=f1Ch-dJZR+uh>w;sOE!yY21J zIQ|OSe#Lh1zpT*EMgAhk#(1!g(ND31@Jx~biby|60@+jXr%5;xo){9)LNXH&5LPC; zdaymPjz|KX3c+t#(NgxA=fi3|C*9RGyK;Q;&ePg%|2myoZL1B7OxSlQ?frObL;Rc}Z515~g zNj!zbp>4kB;z#CSKQ^0zghGRYf*?V95IXZT6mDW-0)-)<2!t*lq00)PvGKvWG?wxY z1vH68V3HYZGMxt6R>YsA2eQq<{7V140+sQXERFTOP5g#IgYgU~90J?E(hndO`~RU- z>R)IU8%O%P-hUKkxrQ)EP#lRx4`dSfgFB_Xor;09W|Hu1I@6U-r~K%mvmc#JXZg_? zAZu%o1{O~s)3#&HZv-qBX-{LZ@iYR-9&HZhOF+nEBGN=3g@WrNU?vDS3J%BUp9FjfIo^nZm6LSktprNII z=YST|4i$IxCv1EG+|z#f1>>P3 z6X5BYJvzbUG{5CEj(y!#kL#cO@Fn~D`9G?w^a0Gv7V4gzC!n6deeEp?%n2=bs zP*U^TCycR%0E_GN z_tA%$h11uEYXcU39nZ2ge4p4xncdhR6k9pw|+eb6L@R?X-;5Xw?i4 zl0s!DhB_E;@FFu-dFFwwYYu(arhJHIieZ!FkkOQx%@m>Ll!5Br-`q++_tT{om)|_^ zmG8*y_GtgyuGiJ8udnai?YCHG zX||?JOdm-cNxD{hd#kp~k~)(^4GH70m=IvpfO*J~gmIk;{AlIuPKkU{%jD%FW4W14 zGR2R39Du-vi5bo+Te#tOY1xnDR;ztyzpAL0pN{5grSFV9Y|yfMsS8tkB<1U*4hWFL zb69szzuOk`FdOEXv+LNz(Wff~RzC-e-YOQ$YS8kcSw_EWv3chq$8JXRn&qZ}i{ZYf z^0-XE(NUjI7KVp=da2P?jfz*7CyQ>uO%J4(RE~|)y_-j#`*6}?=2~<(zx_^rsh)Xn zKJ~yYMAUMQ7R*~ne5p#~a9i5#4@DrOpMZw#1BpCC!K?H)#KK;`rB~36PP^GvL76ij ze1`*!5+sLrS{g{MiT9myiwBm;#r_4n+SyXdB7W1Mlh%0|^XFePH6 z@(RpAxpw@{z-VyD`(Fm6Xtm(66hHFZ#@KRA3 z$+5{#+ZmHscpHarbA_SQ&W7o{NU_>_$6QM$1T^MF^4eFE6~w@cE%q;)Et`gmB?mKS zGPWj4%kHsEC%4!NyBq*AazXV?9Ebd8GoR6~TbaIU$_m)JVF!e>Q;>^$8WH6rME)9H zRotI-O6MA)6ypIx+o_29D>h-cQX^FdbHb`n85IgSNtPIPu*mz0{As-`=Y0pCUiLER zEN?9>(TwbVAmJi1;pDQ;N$k@Mn?RhuzmY{>^c1}1V4S*O>1dK!IF$y!+vvO;E|K@E za6suHL765Y%?KZr9d~e6nUttAqlzm7#ZULgi#{K;Fe_fnBeh4wYaapm6mT6?8m`i_ z9)x+WVEpxku;mG|a+wR=n;B5~IPQ}jAO+j-DPhde;whGzt*(e%E@v8d!1d?d&WT15 zqeJnG7fHvXc1dC{rl{7BWjkR@sKq~(5E!I>7+=48KZeP`AcO3?3_&2 zl!_Dxn5T3lM(L`SGvX84_O#^lRUsxOE$4-I zKEyd&HP`)vdMHf=f78Z>qU%(;;aSZ6-IVT7czV;$M&P5azMH;%XGGHX-*`o}9(cU-?fD(7 zI=iM3=&S^F&WLV7eitsl&UwWH6YYbQoUrp zTS4z;kG9QS^8Vn#pTv$=iU(348bvzsyiIK|I2AtH)@RLnwh#5&ZBOxIw8+KhX zA;Lo`nemI!VGu505FX2`u3ad0D-N^U6O2&3(LYvgtH>ch5`2>sl(hgl9}LGn`uKM{ z`K3V4h^F8VmwU%ct`9Q|t~D%ChpaFrpcOMS?<~RDC%?CmK0PX-I>f6nsclf#3${LleE6=){s#rRD(E{CkB{9a4?r-}~- z`Q`Q5!!4{akPC43jE$+&OJ(d*v1SINWAm566L1Lf29?rpjcza$(G9{OHl z+BD8NboxIpQstkj8qaaT)3fg*uIu*5X9{sN67km$rq5!hS(OAO7?)TrRxKmF*f#j6 zKH2YnqG`!_!^O{(qA6iVbZIzM@x@(N)lZ?|g}MjfJ=Re~Yr)ZHT&BmRs3$p?=l~hT zNYS4Hm0Dl*D|aQw$36uZhhMq3`l#Fd_lqsnN-ti&JT8GGdIU<@i%iQeJTD0+Z!zz& z#*N<;UYTpS|IX?rY|c2|Tk{S6PUU1)Q1UISF{UW|<)?;~UX8~}n%QHSyjM8KOOIZc zOmdtcwrMQ_@S(WeI@uDovDYkCIgrztNsvwO+HtN%y4&5`G^P) zyz*P`#XU(E_e7T^1eO`1IL-<2otv6o)f9R)jdifGf_p3juU5Biw={b9nD}PeM${Mo zKgvJ0d1SKH1!G^0W!SDKOJZ~1j^q`TAs4wv>p9TZvt^!-4)hNUj3Od5hP-Z4G$+c^ z%O5*bxTS$wGv=FMzRO_6_+|0o0Mjy$=#~rZSGKC!W|q&JZu*ow*##5mpHKmPEifqC P{)@54IH5}p`(FGni{a_G literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPC.png b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPC.png new file mode 100644 index 0000000000000000000000000000000000000000..40edf2afcb51fb35e90d111d2e78aec39ba2ae83 GIT binary patch literal 1602 zcmV-I2EF--P)GT^$D(4;EgMF~KVV}qZiOkv3Zrg=8c-;dmzLY!+vncr<(%i7pZ9h&X}KEHZ0$bD z?>WyOPxAXd-}61c9DJ(dL2TK$VSHV+q7}0Z=LWxQnkF&EdSZ@)*~T0lO)mrh1}tWb z&AtF4LV@w8)|d&FS{62ymLkp=Jf-k%7~+k55dafJn1G1zVUy$>d*;sv=e#onx-vm< z`eUZ~b5|+!MiDp>VRC)gG?*qz8C&FV{#uyJJ+7kYXHx4gEijBpTQI>42v7i|*3CMK zYygl-6>2$vm+uJBm`Umx!+__VuCgovz*aATt=rBDG14OhvP6i04>7W4<~Z z2Q{4IzoCf`D%MB<2n0WrD`Ix+p(T&*;2qm{qrNN=Gu{u{9z}Hex5dqi9WaQnw{T_| zYm>k_HwccUrM$R5lR;|IcUAenjO-G4e(oIr_kuBH5dF$9t$kz|mZ-n)pkGV(clKXnB5cT>Z%Vu9TtLvX} zuU(p&fq(#4h!X(BoluT7#p8R+4C4Mv3Sfd%~wc8KURM3uYHI1Ao5&1 zY#C@)GM@0WM>NrswHJDiy8k}EJ51kh1ksC$Ih9W{r}TSSWwc9X?2}rrGfOL`Ixq&p zbt(TAXKZzjXq{&4_;3^rR~W`uZN|D2GGwOhT#aW^SE|pQ>du@yiS?Obl$DjC!?s}o z2O^>iD!;y#8bbfC_aR=p&|maW*DtDVs9SYk!(gS`@W?`;6E2d@?b?WnUSXXjUWi-X(=C6L@RrR!0CJy z@NZm3<{y7Xxc)Q0R6rMF?BgWGs}!l@D)5TuK$ZyaNQns;H;{aECu)|pFJYGb73bQ; z&8d=#R5Is&(_yTq+;MEz^Ae%f2!QTkrN)kU9wsyR_90wKfuA`@mbrP^bxxx^7`&ZVR;DB#4H)R0>6W5CP1zpv~BF5oA%o^@5}j zL7nh({g?rYu4GCIh)}!$&^7=ukUjyTf9lZ3tOz)N>@ccY*8Gv2coRv{U~=A@>OVul ztpUsg?7rF>0szkWDCexo^#e_Yjk4NCFwP(^b07*qoM6N<$g2L7i ALI3~& literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_2003_Standard.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_2003_Standard.xls new file mode 100644 index 0000000000000000000000000000000000000000..b27df0a32718603b7bf1385948bf6f0fcd486d7d GIT binary patch literal 199168 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD.xls new file mode 100644 index 0000000000000000000000000000000000000000..ca1cc0b3f3622e17471d1f5f6ad9fda5010b7d9d GIT binary patch literal 188928 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

$Pu4J`- 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

N6)ad2zQ%ATA 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

ng`Yot%)jVYK(E^FEaybzlBO>WR# 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 n%{c}XwcEG)d9l9DnKR@=XS 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 _ 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π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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-chs.resources91 b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-chs.resources91 new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-cht.resources91 b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/mesresource.zh-cht.resources91 new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.en.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.en.resources new file mode 100644 index 0000000000000000000000000000000000000000..19fb658ea0bd941d0c7db492b952a73adff583d9 GIT binary patch literal 39481 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-chs.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-chs.resources new file mode 100644 index 0000000000000000000000000000000000000000..1c99d8903e5c62f97ca8869367e8906dd02c6acd GIT binary patch literal 41134 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-cht.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_action.zh-cht.resources new file mode 100644 index 0000000000000000000000000000000000000000..1709fdc21921844452cdd66e51ca5403067785c0 GIT binary patch literal 41136 zcmeI42b7i7xxe3IrDHJIFgk;cj;GC;F_s9TqEZCZG>xdEpfF zN|9cM-itJ&rT~g2@urxV#4@LhB_=UtLW=)q@BN)JGvBMZS@(a}x@+B-$8+ZUeY?H8 zy}KM=KK8-kfQUQ>lg2(WWoq%{L1T)iluj$Vw|GkC+nD0<_Z627$eTRn-qNy36Ym+2 zcYAT!l!>J!S49S0ZvGjNH+0&hsng1euPP~?HnnX0qyc%Or`!z*E^43Hw34Y4Cl{wvA6q>2Br>(Z{EPpMzVT|b#`@v%uKKJ0Ur?wnFwh*3%rSRywi+}jH zd!Bvu@9+<}Z|*n$^L}^$YCinwhg~}U?8C0m4Tg7k?ZcbkX7kzQwGZDI|JsLdLK0HY z3=`(P_F>=kKmV{F^oJvzN3BD@60;bnLQPWtp+Ehj?<=m?#l zGjxHj&<(mn9^^wG=nMUzKMa6@FbD?21egd9!b30_N}v>G-d5I93Dr;owJ;mzz+9+@ zO|bs8vX;%T1-8QVB~w~%fE!^r+ypnnEieK`!X%gsB~S_zem|vUB0LBW!6cXrr67GO zS_04kIzlJt3|*irbc62D2l_%k=nn&6Ajkm1Lr3TYouLbKg>KLt#=``d2oJ(TFbO6@ z36#Q&%PU%{p$2MU4%ES1sE6tZ8q~sUIOVE}mQ$evbc9aO8M;C@=nfNM5=@2?D23|J zO>e1z+3-BP07u{`9D|qOIJ^w6z+3P(q@Wqzf%o8j_zipjdDl&E$%o!>DO?6MPzy)k zD7*+S!z+-2ci>&Jp-KF}BXL4Ozk17Q#h zhU?)5xDkfKO>i^Z0wZ7~jDq{17$(3(cn}_fNiZ2opcK|YBdmuFun{)FX4nE-L3Yk) zIT`XGA9};Za0y%rmq9=14;3%XXsL!8m<#o=9yY*6*aVwl3v7jxeoWlZ0Xjh!=nB1| zFZ72&(C4)oEyt&=ZTbGvXIhTHQ8)%K!b@-*UWOwpc@8haOK==sf$yz7*7AKg0!QH( zya+GBad-s=t~=H;2nIvt>qq`_+RrOaoDLnJBXok!&;`0eHy8w|>sFn37i80p6P=+8 zbc62D2L`}E7zERI?Km+5Rzf4Jhb^!b%8%?kQ32IZ1GO+4=0F|Hg?e}%UVtNT6pq1* z@Ddz{m*Ew71KxxbG{ZaaF1!ct!*AdN=zVnOiHo2Q^o4%V9|pic7zBgiMz{%XhFf3+ zjD%5e_vdz<7!MQSL3juz!DJ|bQYgP=*NFv2}nW;nj!D)p;Pjq zH(Uf4!zFMjTn7C>1{|CgfRo@9I2BHV(_!Y<$9?1WYel|$gUFKWMOyfN<`9uz^0|R$ z9pECk8hWB%4!<5IasuAxdp*ym!WUo;VV;L|VE%V26hJTdN_q_j8I0$#~_fY5qok{z*my0Zeneb!S4`G-H zBjHlsc^s~VFT>a1gFzzy3D3Y%m;n=D1ccyh_}pNTFF_}`1pW@^5a0Ltd3#*|9{s?E}iS&o-VLW^T4u3}EH3-1@5Q8x=8LD9wyhOa+ z;SYQt#%DkH54an)Lj!y}U!({wfRkYj)IuqYgX5%?f+t}IJk?udCk%ia;2wAse!;tc zf=}`Nii<>=`Ft5J0*sg1^IC@O{_>oq6w4n8|@p&Wf z4}^!Q=i6W{%!b$DIp~4*XFjj$EAn~xVIPtA;B>zChH}0yhCOf}aSn&)NqZg4fv>_K zo}CFTeE%g}O_{y`9pEDPQ9s5tSOR5gZchxsN;JXya0`GGw)sw zJ>dj-`Zat9*27$w0*UiQUW5-B7`yTLGd{n<=hvYxTn7ta8yrHL1h>LUsDdZXV_bw| z5C=2B_JRVqi@%4$?`ao5g+6@m3J3W<3m$?M@CeVU3&}@}bYKB|9liqBL0{+wlX)iw zV;}(MLxSg31>^^Ag-Os03LqXOKYSkJ^Fuy=28ZCQ*JA54urYLi_q$_j*b7Ub0`7+| zpglkzy9L&EU<`oUU^YAq&%x{PXXw$9HUk6U6}T6^2@7Et6nCXfKwTH=23~+)!C&Ch zJRb}+3E0kxC+XM{|@*8 zVRyqK_!eBrvwS!W-sSI`DQ{1>9DYr>6R;k>1FKJAT!-YzjO~1W1`1&;lt2wMplyf4 zCozV@AD}yb_k&?@H~a^z;(0Z^7@!XMOz;`w^L&^LW8fv;yZ%(>1vmr#Nc=yC{(QgT zbjD}+6byi0oW>XpYv9{Z3bk+wb<&J}A)in2`6#>$J7FAp5nKQ#LyCBh!wz^7z5%CV z<2?8*+z#(hhe6uG2HHeDOog-f`>%Yy0pEp%*HGs$5PHD9a3ef-HEjf5hdH04ZXpjo z3%A2pVHfYc0`I`7{Cy^Ew1v-K!t-z;VXuH2uA=<#C_Du_;bmxsQ_vrV+h8rshGY?S zb_KTQvjMilOVAI7!QF83mDmD~e->N7lduEE!#AKmTn}f!ABk%<)WFZ-Stx|hKnaY6 z0p#UV@F(K@1$-OUKrNKQI4FYdr2Pl_@M~}wR>2_3U2#4A4{nCN@FV!kQ2GlDzK;F^ z#c&fWhI05J?16WO(587WAFhNupbYAu5nh1a!{{6E9`B#d=UiA1pNA>%9k`EphQlEE z0qllF@GTfl9^bf=`oCP!6o+gFl zcdaFtH&>PY7@cyeGAo7TYE25u7)^@E{hAcDs|???3S_PpDkdv6sZjQ4Qjr|iniQ2Gnp7aSYf?-e)TBcBrY051q_6}|^EFh6wsDRoMP;xi70C7Nr67IFG|@XWDJruxsX(6A zq?qi|q#}9IUosi_fhI-d$C?zCpKDTq{Mt`4lXju}O_PcwfUDl7iJIma#89VcQdl}` zQbf+sq^R`Nq(V8by%Zt~#zDByPcr2qpPCesLQM+G1DX_(h3%!Z+p|=Yg0e%CLh=_) z3dv6S-3hH1fOMei#G9OE)})Z6G$}0aYf?mhuSrq)vnCbD-!v&E0k+m!Sw5ZlLc8ncD-}s+|4?RRJEN`S zW+7vZewxHWRg+k#YEncdYEo1l)uaM>Op{`=Mw3{mww2NoTTp(WNg;W!wUoAnvBs5b zgyxtxD~05CO$y6oO^QgFCPihbzhqpx9hwx9mozCX2~CQy3+`L4AOq}qnp7Y$O^V4~ znp7y?@RvfAt3i`Ovdv#IURzv~LeiNXE}!}eB zQ(q}2k7!b%G-y(hZ1b1QSoH%tmrw>ZI?s0mvXTtF*|5dSU#^wQ7QA2+z!kN zO$y0({3N$A{<>DJB(~R46MnsYs6dOQvDJ zuSr2UpNjxK{dsZieWmrQyeXi``%IJ=!SOb9b>d_|LDGF_7jrAm{EWT~HI zj2o0yev|8jbm9 zq$UMrf+mHePLsm2O_L(>15Ju@XRux7T@DMRk0!P!`H$EmV(SLiw^L70JW?lG*R6)uf;-)FgIpH7O$B(WI!oe(uwHqZGMC3l)=&eS8fS z<&^V0O)8R@zht(Z#%WSezNSebS)@r}*`-MlIig8X`L!l-PNYdOxumbJH43oCFn`Hx zaeY~ng7#j&Po>20zUFD6!m>h>BC=1DqHuniQ26 z+DgWQGMT_J)1;8RrAc8)YEner)1;`JHn5GM(%C4Gd`*hUrJ7VIS7}m_-03eF+b`0j zplsJ9ZqI5`SYB-}nHkTR_aB-RlAeRwS;K|maMrl$+#%WSizMx43a+fB>+a zsZfeEsYt%!FPY3dtVuzs)ufO#YEoFftw|AiQf zt0sl)f6bs(rMUUk*swCv#u{k}_gj;~vPzR8@`@%!rA3o)d)T}4%^_2pCUI)!CmAyZ z?T?DvMQ9{`P^N_n%S9YZ`G$(f6`B;aKWz35#gC!dhH_J{$>En;OXudQaqiCKcaaUK9!ZM<*WJV{q8l9|3A^D~zv16u55m}{4?3ig%fxN0oF=^7ILOJEi zHik-JR6niP?TH7P1pnp7Z*H7O>CG^tQt)+C%jf5{BX zA8Hbp8Lsj*uNjtmY7%ablSb28vsap3V+$g6Fe7b7xDn>RgW*X9Z9;9;q>vodq_F)DYS;+dXZO`~sJ2o_lA08j_p*{HS8nEir%55{ zaJ5%1b5$faRM`IKK)f8bme_#MLPe#oCKbpaO^Qjlwd7Xtu2Kp$DI`~EQdov)QbfL> zN&NQ_G^s$orAb`$(WF9Y)}$i2;F?yJPZ!zL+eMlbls=k76=@O|eKaW|pVy?Q+^I?Y z_*|1>vPhE(Wv?a`$xrw!BB)_3Do|Vi{ znQpx%`VQCHv`naI8>zo0g=Az_GSSj(&VC+EB3|f8{RITJ9g^$vZ-&E*SnVjJrY$l z@yco^d(Q^8dpR#vT}9YoCHE1s>6zK_)eS`Nz24Kk-gIb5V$J5{#)aNvo6DZ5jk8k+ z_r)vMBx=f=mz1Y=R;3zi1KoK{sKorLczI2H|HeQMghaza-it5a9zU>>$2ld8@p@u< zV|+|iBiEo*csGb);JZC_BOHFFk(}{*{$(riKl1)wf);3qw@n?M5-qeaYM4L`0 z@zmBtbwhmK+W&j@ztje%DY-V2smr&^rw9J;vF%6yyKLguFaNJ1|7R<*dz;P_7)S?8 zuH2v6Q0GSM_`aQ~h0BuD_q%C?0Y5%}MSSm?#*)Pb^*1w688cb4PshQy(0h!#s(-y$H5dC6>%+uGk-6z5RoOHGzKaajLPp zxvDMMM*05H7~CW7%TFXNk3V$o~hO8?%lwrGa|Eka{rtgN}1Qw zLn%S>MhzR0H@3LszS3z^U8&9|MAPA?6Z044jl3bxO#aresf7!Y^JWFkL5&}-jBh(k zGNjSG{z*4S=SIA-|t!3WIa{2q3OWv=BHQ2m(Dg0 zP1T{qf_>)u{3>jjlT6lBrZ`Q9o=rZ{n3z+AQL>rJ4!K@dT+_KCzIbWIn=@^*vLe;E z-E$l(tP@yqLs{vxhx0~_ZeFpJ)J=QXxDcl^kZ1B}M}owTXW}axlQW)5&RC7hm^XU- z)TzZ~C9bX1Hzf8{8$WHO@l)fo7m!}yR#)t%18ZD6NKmuYdtBiYb04Rmc#w(h)9EGg z#mf_$S9`DVobFInliXaBXgKKgYWu!z(zIur*g_2KI*|20-Q(uvPhlAA6nf2R?&Hb& z&8ZcQfoxk%Y^_h$RK=e;ObIdiwYT14%u{vo%}XjtevYMT!1_1+tDu?Vt8_vkjq@AK^Dm|Fh4mi*J2#*CAZJ zZ&{Q)yq>n+yzvSCAKzbZ8vS`D|K*F4%hn7Z7q5FFUc27axfxPNruI}eSIiA3o?Mey zvLQZiPGa+#8>WpfyKii9*}oN+@k&l$H+x+>ZE9)Rv=T}}4{a`AmE5~1xnNs--#!zc zwUrx*s~d7hfZT~|`cAVDDL$40-B6xG^u^jj1_CF#}H8F0O}~VcqNfb}TVTq$dnhfE=?n)+Q>pw#tI( z5MJO-wap9XnE^M>jC;fS$k^nLN3W`F6x}wdx!JTPF9Q>CkSTF+@AX` z*my)P-D9@;TDoJZW@~(Y1x?Nj=~eaSMQcSHKC!z3 zugN?MWdgfr&hhm6wX&aK5_DP2O)xR9F1~7Ms|1JmzUUvwjwHqrww)x~e2VU$WuF(#DCClJ_K4S&C${WPY+AuM>a5}#QtQ+ipIpT_Un@6|c`-Y*u@94| ze%2W|USFH3c{fU%ceCX+k>WS+JH)@e8Z;w=*TU8>OEzwC5t(47dpX1U>)Gx_=Hkni zB^p;GchgtetS9i*O{=k@jT7sp);73qo+__Q*zV^A%g%{-Jj^-S-25wwSvfGw#H%+n zFI;ULkNFiiXSmtP#ark&#{Jm0$t@e+YUN|PwTr8q_}(2ZFUBTk5uG? z?u~mJp2f={(d4d0*pBhSnl$Ae$f*zR%POc;~J%DOL&xwE-qz7x%oxpGf@%Zx7# z89wq(o6p=~6=#m<3D$I|+KbI^@sQ1xTMoKb>jgMJeqeuU^R{^XR%bu9*-0x%Yt9=I zbVa+69J)$(33{_~+9k^moRfTJLu%Eb=IQmRgVt3_yHbI(&0&Kbj>naaFPUr>BeOKn)1YAnZd8hdZq#D|Sv6n4|2 zR{}OuHmo)qD^)cv+jJrKg6YYbybYv@kvG&R=Mm)E>EJds#Y9iLa1Y}{^wEkDRMZO#T0ZZ;!@nF7ofi3{V6 z7#Dak*nVh61ex^dQxNu=bQXSWf`DB&6eUQqM&TB0x>`|^G9 zs#)%}K$li2dt+5%;dHh!dBbdGUhLlBtT)aKWe;wRLz?MQu6LMS1@|JpFx%$w%5~ma z#LUjCaS5=-AkLX>;<;M`*u-v=f8w(X+P`O}!s@5v>t@I2H2e!2^;eiK=NylQ+3^L- z+|EI^*VQ+eg?756xu*j8ZW0_$1ZLmCof_CJdsEjqPn%X`!jVaA60fNHVm06`E)T{jv>9OLCj(3{{M%*BTFE^8Ct|askSz|O z#+6Nc;DO?@QKK_CH#s$UDJ+C(<$Inf_ z5c&8Q1~f0&8{bcuI$RRBZ54{<2h1Lo+1cB@!rLj|vpKbSFFWO&Q2kS?t$Vi`b*^PP zKmCcBS={}}rj55^)Q6JExrGH-e>n-yOxQ+Ou&|NYz! zyNa#S?m1o;4c^s^*_C(uvKOU?S-0+G)MK{52+ro#{_}FiOGX|JTa4RkJ?pG%m z?<+l2kPBB#7lm^PbM{z_x5OY(?v0Ub2_*N-cW-%Pe0Hhjo$c6(#Lgd#65bGQ&qXsi zOCK|4OyD;6+!D}kn%Fa@&Ccsh2OBbKgsFuFdo1GiTC#3N-u0ty8=d35nKM<>NZhHG zJEgM=iJU!$#6tEd=Ci0wA7rK0tzx^x)sP#)J;RxFD2&?*ZeH79Mks5+fOmH5(!n7{ z38b4(&N9hlJX_7g=2lXSn9O%{JGZ)8wIp6y$-yf1=FPZv$(EaCJJV*Db1s_1uES*7 zoIcfWvmTVU`m~QTRUPQ*O?#QTcSp@<4xLbZ??ZW`aK*FlW-Xg}=B>EG&5KtyH_Y}X ziUk`v+GFzeCa3Zp<{;wmoa8eHIi)r3p*ty4k~YP2YXMdarm5PNpR*#h3wG=D-7$Q0 z*5k9MBjyCsR+z8T=qCGYF}&WB@rkm>s=2E&q~45W&5r$>7tX{7!yQfgr%i_!^HzMptX3w@&po4Y?cL=d zTYvd(Aa?P)a~osvoZAICEvL<{Y@mlXh1(s}_VrW0m8r#y4$~Lr>{Pi`n=yChyyh}z z9XFskSJvouQ^6ayZOQE-(seEGSm(1`EyNfv7ZquVxW#zd*dBeuo zF`9PEHn5AL`A}`V(w%2}nXsFhobB1laoZcF)!AW@_JNNR=;A6TvH01h1FPEnl`XlO z_T4?|!R^zB5-L~C(t%}s$+uJdH%* zpflN-@p+F;95HNceA{ep0=U!SoB__{*0m6KO4BM0uV?ufG+W3_x5M8w$Mo#xn`z!% z7Dz0A#%;owXt`UodcWBmT2V`R&6S(%QA+N*mUq3f*^Lg@aa?8C;yFj!jO}*mpA(DQ zf1(Kt8#vYU9xE{eInp%jq}|sJNA(&!%OZjCE&H!jT}F@*z0uJZ3}n5E7Oe4 z#!~wFtn1?+?;V=C#5GtKv*~8G>WpzRgTB(Ays8*`>n&{GF->IywAr#e$BlX1NHN#5 z?9rgB*;acwL-O3>$MY|29Ck8fADAtILtCGt?*`kd(V+3PsZ3zO)lP*n9IM-%O?N( zcDCP~$qsW~MSSvu?2eaN$d}K?yCG_~HETN8C&%D<%I4!4Fh(pvhKRQyz^|Ov7)_- zVb|eqxb++_TU$=d-4rlOhpPSQ=VnvD#JA160mmxHxHV>+G&i-pHj+Id&AkAcpR*lH z=b$rk$;a68RwDI$1AFC%wPVx19j^bl(S>b9H(uR7dZc@9s(QgPyPs(G5|~cil{djazKc^>PL%d)V1@cvfQnyg(sYqslpjGb@dS%c%9l&~I7jaz7 zKKSCL-iYCT3X-35iNrY*<_3vfIONvu2L~(ci_KL}lW~)ZyF6@LzVXZVE^><}Q?uTD zZ>~D?qTTIqF`8Ji*DP{(ot>@PrfB-7Yg8^dH#nMD?3izF9c428v7(FLgv{EH)UplS zHa9csxnZDp#yK^G+c>+o2|CfZ5q7^88z-OG?!LQoT=$xt<-Hr7=6X@}-gw;#F4!>| zc=t-J!FbKIBztSri*WJM)Q-mNk+99q*(~1K^Kt#otdDG9+Caa=4vs|k^2qI2Pz(xV z_Ra0{_%be)Z*t>7;4=5j8Guos>Di~7SJ%3<&1MX{XxyBr-ln{0j-Hn+^LDP?i=V>` znGA5H%*E&u7~rzvWLG12zvj@vT*~xrj|PU&b4?Gj$-66v-X4m5VkVBgI|#>Fjk&ev z8kr5^PAyC$%QvHT`m(1nPW4{Ab7xs+vA`v6#50S0_Vk%Gy#d44Xy$3|rj=bHnHhu* zXFWl$U2?g=TGmPIO{5>hR~?E!b_nxfq@2fI$@f2=Xjqdob$G6O`%5H&?0qR$Z6?FE zit=hY+wI&6z$<}0s<8_;*Ogj}=K7~GXLjK2ZgwKM zAhhafFWw%RqatHwdwVm`-8qXn4_ps5OC5Vq8#v2oZsE9j^{}$C(z3jvrS}!H1e|GZ zRGA?vx0&|L9Hp3MOh0p*q&>WjZ=ZQ*Nau_mI>c?PWl}R^9=~(bmH%3*z1-%Fe>xW4ItcPef?%?+yqJ-mgREhWt|wYn~FALa3QZ=j?a<4Bj{aLtzE#ow2Z(x zrrXtQHN%3t#+p&mRbk`jt>mV)tT=Iy>`dU*T6!laU|Nyag5Bm;_ssU884p)43Y_5@ znQM+NSD7dAZTtY^pv$(&RSzC8lDcA$JZGz^o-@3x+p^wq?eKA}pBUGh>T<2vnmN;Y1Kl%^le^8@CD6^)hzT=f ze91$BE^H2Fe}_LMDQBqstY)QNGa|>p(?1LUI6Yf3FaQ0c%{#MUg7x?4<+Bn-d_tsChzjJf* zubV!wwELAb`SsZW>0?~3l}l+L+>%MHU+JzNxpkGBuHExo$G4T^W_(0$A~G-GT66U4 zQf)n@+0|O>Wkk+|r+9?Q|aL>BlZ7~Q`Q$HZO(vFDb3-9oO98wkyX8m@fe zL|WIx-mCK5Gmg5weV*kjI8Mmf4mSCnzL1;w&ePAmTJAPD?E2T)%q(kHuS;&(?j5(= zYbc{`9qMNK^nqLEE$4_Ee{9Pf0tGJ3C@y>^BwkQ&UULig-kK${d(8jL2>bs4%3~eD literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.en.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.en.resources new file mode 100644 index 0000000000000000000000000000000000000000..614b48353f458a357174a9c0c0ef303c11a0dd5c GIT binary patch literal 46002 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-chs.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-chs.resources new file mode 100644 index 0000000000000000000000000000000000000000..336b894bd66020d629fc6fc135bca52227e77462 GIT binary patch literal 46582 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 A3;+NC literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-cht.resources b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/msg_name.zh-cht.resources new file mode 100644 index 0000000000000000000000000000000000000000..5b51a687065e7c7866c6a80c93f5ba763c517189 GIT binary patch literal 46499 zcmbWA31C*$nfK3itL%!RC@zVhY+=d!X0r=m)7AtCWFZ8V zMHWGjB`jeV!d|;f6}K+aPVF+)nswN9}N^<}Ao_p5k zJm)#*W?nz@(J9Xu^CZlg_RYETN@fq8S~9nEe%bvcbHksemdtpdq%0?E_T2kR%Vy2I zFDL5@C1rDGmd?33Z|HFOZ%)?e`LpKDFDtouPRaavWiw{wWKEfW->jMUPbm53^wLL5 z=G=T=Vd0GY`|}HOi{p7E!;6ahc6{0VIrC=DE(zW~tz_OgWNN4U5C54ma*X_6cK?2h zesuj$pZ)D0U)lWJZ!X=k37&`F%(~~$6WzZ4;$7c+%L^XwUT1-^I5y=Py9m*EV&0mAS z=medi3v`8U&>ea}7G%Q!7zl%4Fyz1x7z)GSVVDVzz@so5=0GVdy1VRbB~(E*)IcpP zg=J6=yJ5$hWoH{<5A228=FB}i4sM6>a0g6)iEt-Of>|&d=0GVt{GW5r&V)zcQJ4j@ zp%l!3inAVE2%Vrabb+qW4Z1@Q7ytud5DbPK7y>4T=b;mHhAz+*xO!w2vod<0oz7M#t7>);0H z57kfuFTu<33cL<)KpNhK_n_<81!ucKcjyZPU?2>F92f#aVHiw?G2<7U9SgU^c(?;5 zz(kk?lc5A2hMDjPJPNa5Hq3!iSPFGe4|m?lvvB4v$`7x>>+tXi(tt-`7R-k7A1^pt z0SjOuEP_f{3`?L2s^Kko8~y;5HZsx5Ie2117*kxDzJ9WOx8d;9-~vkHDia3ueO{D246N06SnO?1J6U z2zy{Jn1c(?o(ox!4c9?GxE^kR{xApzL&d8L&sIS-EQ5O30XtzA?1o0z1AF0|UywFj z2%VuTbc5?)APk0~FyPIFXJ4DY?d*>?96kFIybNdH6?he1gV*7u&0L39;8l1H-hhAE zcINDl;U#z(&cG}1D!c}7z>w`{&JKlPQ2E=J{&c~wD?a%gTnL?@GjxHj&<(o7P)Lt? z{*(8>>^|^G7w8Jzp$80r92f#aVZosTpDcvU&;UDN5A22VmkxeX0aZ{9HBbvnp$?Wo zJ$xU2058GIa0Xt1SK&2y9o~Sq;B81l3%m>O!Taz5dbOoTgO5=@4#-FoPg888zbfk$B$%!WBo3gr_IeNq8cPz^Ou3rnF6mO(wd z1#d$d-i7zzefR)AgpXkGouqviX~V;J^ImuaO5uVB4}J1ExDYx)XXpZ5p&N9E9xwm~ z!eGdOAutq%!GrJ+JPb485qK14!EBfVJEpww$xhe>yJ6s0Uijpl@BHeMG_=6G@IHJ1 zAHqj)-m*TQo(~s7C+G}apeuBT9?%c2hXF7U2Eky+fgvyyhQUO*6DGlAC|{ZLX$4e4 zHPk>YEQLB)2KA7J7I+ulgY#D9e0n}y2%Vrabb)Tr9eTiRFb-~q@o)!BfQfJ?OoGYq z0F=PPFcThuM`0GshB;6Q+h991zz*06yI?mo!XDTQRp~GP?cq=V@ox=J-ut&*Q1k4) ze|z^!eb2k{-k)97>1(6oo#Ey~!-{T!@BLx)+!x{d@B{cE{0RO9ehe?c%kVb*0p5XT zNI()&kcJk>dS~?9Y`6~kLO-}3Zh-zU2u#k2`5v4D=fU}K0elV?eQWx+zcA96AB{6+ z{cXma<>yOA8S^{--O05Jp)cG5z0ill@5dVR34FlM^<19^UxcMR^L^M3@}Ik)0Q$gJ zJ!8heKHU7oB77Ur^+?cZGf_yrt;ILw4ea0B-|1tZ}f;c@tAs4@QvM_~gjgooiyh{5G>>o8-! z44vV6_!N4R-jDhB5AY=HhJS)zUu(>1I0sVK7*oW*SHm2b23w#S{u?gJGG;K`1~cH> zaO!Gf-UJV>fX&Y=s&qh3W7b z?@GgJH~`OFXUsv!fpKsjdoER(`%7-tKA4U*Oq`jcI}f z@N@VOF6X{GAqER!1002a;r`!9osU?P0}dSku-_xCgAyRZfh!5i={oR5|T z_w+aBg&U0d2|NL7A)9MA!F&9C0sr34{X^g}+WBtS2DR{8coBM{{gHof9%#%zz)uGl z^FDlzpRa>*eqINM;Q`Vd58vnA+hHku9for45;)7xzk^#S(-+}F=nFp^gk6L6a0DKN z3Me7XJK#^`^WR|@KVJ%U{9Fb>`|j1c-s{0|js|zmJChq+k3S4B+Q(aDtx~ z!=tbXzR9(!BJxqldtfDe3%&|tU?6md+1yhIQ^A9)Aj$P51>^_rf?3c93LueBe)#tc z|9;HBzk-wS^^w%|Mbt4|2p{yIuHgu*hYENQzKHe^V{9U9yAT@ycS9{a1~0;I;g8U> z6MY7Tz#DKsd>7WhAt>oapMbiqv<>_K{vG}VmvVg=+yUde&|hGCXZj0#9hSl+TpJ3% z$vtg_y@Qd%1Hkn_zBOx0Bhk1xQT1oZ~?r>?-M9*FBlHL z=ebW{2mBDWoQGY9)VbJp{=FKCU>eMUYFLG~A5NWv4Tt}N9{fHC#=_U&pW%6~SHUYD zZOFe#{w?I+t6(-vg;%-nw)2@6;3D{M(*HFK=I3#r!#=~skORND02>Wk;d@XDHE_1|31UN-+|ZRAWTOuhHKzlNR#esZ~#`rx8Z#1I14@xUx0UM!(95oPWnVW%!AAL z{m=aS7W@d-jG)b72=s*e;dXfO7WxSM7M9*h+d>w69=-ryheO==2D}UB^ZOa5c<DNKiA z=)t@Hi!uBroPy_JDCMrWjqwK);0XK-{xq8L0>j2IUZ4c-fOSv~KZV2a-YEJs_hrLP za1WG09W=lX;JUGl4S1jXKgYkzUml%;YR;E z#Q#@*%QfXM4g zH(gS(^`P4oIc764+^p>QRE$cJs@mm}a?Mef6f>`Nl;Zxo-gZg3<|CIBGhMwlwV`>_ zro7!H#mqe}DQ+HgNqOd5;-Wx4R58f3eNj2q~V=gIX{^*k8 z=9+UOYC{stGk3Y9eDk17Dlqe1QlVMol8Vd$msD(i93@Fz;FCrT;2JA$aly4q#Nd;y> zM=94%h%xh|OUgGJT~dKL>XHi0Ph3*5c{f^;9_6tfXjf#(p;+wRE(we6k_yaiQIbsB zMdm9msn{%zmU6KGPr0PH+2fM(%x_#$zWGm=RAkO&h19M#Vq`%a1X)CNkfdC>W|~Wi znQyqHxLN0t^30DqN`c$+flJCY-B=Q~%b`9MGh0GB^8=; zSzt!yu*h8Pl8Q}Xv?RTEf=kLZB`zsuo^VNVv)Lu(nSXUj`6lg>3e0(|u_KC{YYI)4 zODZxqyCm#kv?QIh#3kjLCtOm@EO$w9)98}&%r9M1zIoRr6`22aNz9e9$d-X7{~cnD zr1ahxb|c><6`R@7l04bql5)-KE-7XbE-7x#Ap{VS!#Ji=q63jqzA11?1!js%Dm0I~ zq$0E0B^8@v(NZ3@@oSfqYd&>JF_T5~IHFv6cn%U+j+F9Dxl777yIoR&`B{5O#)x!= zT+^QbcAIwvQp}8WNpW+(OUg6fbxHYVjY}#pM_f{&`MFCfG9SC7VskM8|A=ylWgF67 z(pgAqV}eVHnFn1`+*G)vJhR><<(rROQh~XP9gH@a4{}&&wz#AsbGE${Ol-NP=Vk2@ z45XMD+ExnQB(-seONyBimlQYOaY=b*xl7778=@s~m-f4)nE8oIikpvIQl7c^@;0>* z6gij0NZcjieYvDU^Po#AGT(`oBzCjjCB@9XXerK9KXgek^DCExf$bexk8Dl#)%63g3YNlLcgCB@9oT~gfqmrKgCyHgo9N(Ye) z*L?G}K9S|hWfN(+ODZ%+TvCyF#U&M+bFPYfmt<#qTiB`CzxH;^S z3d|=isnEo(i_E-i>OAO@ip|0(Nh&wjG(}0`Fy)#*xTKglw{Ju?yq-!G?$cb zo^VM8W~)moG~bVwq@CY$Nx5cNzsSss#lG7m6`C@aRAiP$NxGr7#U;f|lS_)5S6xz` z`L#>RHy^sB0(*+3o!!taze01>^%1opnJ+R!TvD+;HWQJc)coY=rzA>ze@7{pN*{Mg zxL7VJZeDgtdFH$uI+RP_m2ZZ)qyqD}ODZ%6TvCyF!zC4)x1uGfsLT3C=1}a$=Ur0F z%y3C@^9`4jXO_C8e6zzP6_}GQsnGn|B@u!f5K%5E@NhHJCFR<~Pwje??)k>d3$CZ) z<`*uBeIl2XZ>|~W$YFsgaY=>dpIlOrS?-dG&8BEc>f`4wDc3Z+q?qvrMP^>cSGG%H z{&GqAW_FaMW912#lxx)}ToQfWCFPlIE-Bx<=#mP| zZ(UNM`J+oJGCgu4GB5G6T=RfSikW|MNpW+)CFPk{T~fYz+a(p4|8Yr$rtc6(=8Mb( zmsD)#MoZGMx45KS^9z?0GoQMoxVdd;WDaF_>AM{z=``|RIiK9lq^QK&+$F`#&sJag{w z$l8$ga+XUfFcV!;q4~N?Dl*Tyq+;{4Xi02a(k11ZKf0utxi~knTrq5K+$H6iFSw+9 z^N360Jb+6oG>2VMk@>w#B6<*u%)AVVYh4nvic5-_DK05)o^(lh=BF-+{V$hPVE*Ki z3e81vN4bj4;AlwCVH_k#IL#%+%xsrL#LOk-nS(AV-<)wt1?E3o5>9)bBlAUO zgi9(m)1oDb_dMp3a_v_s5fzosy!@i;DfZ1>Qoi}KODZtE^CQcZPb}pQmsDhCyQE_C z-DpX|PMcg(t~u_KV&)B(6gNqilxO-EM3$=ndsyU>3e0$yRA|2Dl8Q`uv?LL!)h;R5 z>~cvl^SVoln}kcsGv^dW7P*ijk9J7~W|m7TG*7yuBGcfKip}?RnR4J;59?zKRG(>~}p?XimGNBJ)d^RBS$umSnkqZE<9gWg}yP zOX3KhONyJvTvDDrR31^}V*18u*HZ=NO_x+?Ppd~JSY+ZiI?7dS?u?Rjp?a@N%C#rf zJG@JtikV8+Q+eiPmy~bbYA=afs~gtme!gAi11V+(x}><7>XJB1?2__Lqf08Vhy2?V zImkw#x!@*84vS1bmsD)VL`zbOB`zt~eA^|(%vzTeH!pUSWX6-F+0R^3%zWgM;->S> z9g3_8=9!@`Dc^kAB^8)jmsDte*in+X%Z6uN5+|!&QrvX8r9=aP!d2A5Q9UW%5a=HGEixu(yk$jr-; z%VL*ADA*y%pYA+p}B61BlAV3$R!nze_4M--?!Go_*3K<(dYU#GaH( ziksJ65-09lQocE7Vq`_d7+;sUB-~DyRAffFq+&BQT9VQ7fJ@3X-*riR3*(aF<~f&? zXO6g}eDjh^VnfX(6`BuS5@CuvBda&ghsu{nOERVhxFin9xTKi5%_YUnJuWHFJm8Y@ z&DUL0f%&#eDm2SoQjuwNNql-4Ey+~%?=C6VoOMYt(`iy<&2wDXT;E<2>!j5@2_=#q-fk!VTG@+&SW*Zkfk#momTDQ^C((iG-= z`H)AKSlZb-P2rEQh^39OF>pD*TvlYJa96C|eb%irrRzg*IxGNqX5=aS-PgiFdZce|u~^QcQI zFbiE$p?RjQl-YPMyQG-uJhe@^TA#x7xTHKY!X@RK=`M+H;9XLo+3b>v%=cVUu}MWs z(r#U*MV3q4;9)K)X1?l@;^ylvDbFl+N%`iWODZsDTvDNV+a(p5zq+JibItU~B1@Cr z6x(tC9y-CaRaDURa*o zu--d&(y)LxSacxK_>3l=mF;!atLYO>iOQ{H zO7A&c+45XfOGQ)i=_OvzWcAVH?oEm3_9u>S_6ycES-(8B(hMlbZSLI zy1bHHrVc-?H>K7bmn3gYHf~AOt|Z5aeM^$-7q+ZkpIW&&xqf$YNi`3p8fp_K>T{Z# zwzZTWNN-x&+*F%BQLPVn-ICAjO)TH01s@UontZM)v1IWG?-Eth+n=Xef{Xqmsm;d{ zd)9{cXuT#j9^nmPI=qT%4u4H;KTbN~ugRv$%wM(ILN&2bMA*t;wIHF(iw zn#1O%I(@ul-R726wc%~a6{nKVFA6i++|-zC+#EdX7bLx>Cb{lVcu(T=$<)fN!NseS zJ69w(RY~7yd?vBJA;+(gZHv=S^P21Q*JN#N`ee1=&Pxs^Di1dwUzIriT%xW#%!+oo z5#Hxh>-Hq7>zYqgB)2xUET~VP*qd5#EV1Myjg;6>n_9alQ}W*zWchl1U(13;iDerT zRr``lm(U12qgPT#8q#Yvj_`6*D>kN9Y^Gc3gQFiVx&P7ea}uYP(nHdlcimn(>j6LI z)X@{EW3-sx)QO7q)KE+L^O^0Is9Tac)Y^>H7DH%+m(#Maq51ep`W+=n?OKyuzf&@E zYDc1eVRB_t^b54nr2|$T8R3l!Gs?p{8uUuKp)s*wjh_UqtD0WbENiFKmy=MUvLUg5 z3%xLLWGiEd_e+~?*`8c=BGp*U|7PBRCBSItZSAsoSGsnqz91*_2|vkwOa4ES9G6(N z=l_wnj2r&Wyk$HQowtk|J|oFnwbN2v7|WK5Wr_N|iKTnRYSIszYIxGGpTxpS6=?KC z)na|@qZ1p0A)v!A@pJ{|w&l4>I(hTa+Vr-H#JcCgArSPntLcTbDIF0blHOStG=XnX z28SKVx0Q9}Evue>r+k6m`K<-lo;JdpNPGFW9XUXX+BtKkO&Og!cs%vOeqNPYw28?< zx<=I&ogc!q)QIUbQkYw@!Rbv6Vkb5(Z$7pz?4A@RRa>5{tff~aR~*GWv`ZtfUh{Zc z^YP=&Cs*>emhy6HHd(dG|JhDaIq6-sYR*UAH8ELpGTHEax}hpjv#{NL?Os5IH6P!q zvt0A3#mNJZdyehSPv45-lZs)=j7Gv4g zz&86vQ|n$63hSA%nmAR71=CECamtZ;VNvt(!|5eElhx(EkyyJ(O$aTOs9!~Y9pUv& zHtkOD*cNt%NQ2#5#^S=Gq&_?-k8c2P2@{u&tCO@fmeM;`91ZTaeN->$gs9zusUX#K zlE!XXQctl{ySGsj+1Xis-TFN{rqfDtuUIK^(tK>2%-2imq!t>N>&4(re!gziB(%rq z+`-sPZ>vu}cVd|D+ZQ^e)FtCX=V`6Q;7xw+My6IC zrZbA;u(FBNa&t5#oU4{i8xmDp6V_=#`G+A>XSaDcm@c!l2u#7LUA5|@1o!#HxuN;= z9;%a`+F|&&=_L6w(AHOHc5^?a=Hqo@SFEe1_9o0G{gJ*&9;D~5-kMyunEugHzJ?Z& zTC~>_TXwX|(iLGNVT&~Dsg?T@O-&=bHj>{}{T>>4PS$A~;dMu9V z^7?p(yHk!tY=87$*`L-?&q6I3)h*qoX}5H)#%g>4weVhN?ep}A;og;L9G`tpwyZDL zM{~1Aji2P-H#kwhlbJ<(U2{`;s$q}xs13Euv66W#A8nvXd%duazF%YC}X`r<#f`r!(zM)*rGj@Xg4+lMG@V!Cv3i^zgA+ zM^qn`WD=DX>4yF4UuAjOzU!s#ww-a*+iN~{OeJqX^1xH{T&+62mTWwds6UW8RNk_5 zk<^2A-?F_M+9lSqY?avAb}!BLuF-KF_KbAZl2rYvJ z*E4*E)bug0x0*HW5iJ!vu!8!|K+#^;M#&C4J7a@hmME{ydThqrxmk=5?b6=xQKfU{ z&(#@${@wE2Gc0HHSLrcLjrv$UH_&UD=vpf4W{fx^(tqvr6Wb zL}}y7O6Nb8HF=8HhouKS0T)iYK}%&_>g1l}j*W@>eO@okq8%WzKx;m>_@fgQtb+sB zrEU3j<=UqF9d7NT-j>c%$=x;D1rl5KCs(fa`jaqy788{&Ur0;IuzcZ&RMnPMj9soI z)@?{1Xkc~z>;_gs)DpJAw`iTj9IQG*Hoe|0&n-_kEMVfKBWk(yg25+q!sHGWUj2}lga8@mch0+2Da&VZOgNpdAayvK}Nh{9A4?!+vS%Dlqm$F>q0B+mH%9 zDs{M#Y0~TCFBJnLr0abxq}Ma7PAWq^eD4|=oz}?dlfIQ>d05eeDP}O8UO`odexX>J z_)Kcy7M!81DKqBHD=C{pEJI!(7Jk*f#O4iZmAI0w z-s=}P+qdWV59{{OQ1~wYcr%fH#K@i_sn>(qzvzxz>eBC9cX^*?X4Gw z=;$d?t5)HMOO;qx-0LR>FT*P*yW*+X&;|E$BlC$jC{ekCL7&{csQDy5!_(ZAIDQPL zCu>aE%vrOt#*{ujCyPJ~D``5X>)ty`XNGr8le_C)5F&S#kC+h)v~TasZ3b&{jgXWcVn=Dch#tDRvH<+l0q|Lf4+KwDoCafbvB+DfgD ziI(kM<#=k;j5&{HcQ9EpF<2WQeJkQgKSz_Np+}_bN6e1xicDGOaL1FhSLN1(JlV#_ zORd{NpGfaKooG7P&izvf|IjI|UT>wl)U#u9ruEbs4A6o8PI-mSldLiMS>3InLx&EO zbMI*&m^rG*|ZeVs9q#P*!R2$ge>m^1Z_ZJLRb z`&%}imeEvM#VQm_nw{mZyh0~>^|BG(UEv$Vj#~E@J4<4$ufz0sL-WZO^jGc=Z;MWH zYI64h-;tx2jGr@W=A05cL1qLAZ~zbc-5O_qWfcytP8~Ax%TI)}uwc}W7 z&B<)ja~$Pk zrm3url3Bg1-x$hS?Ve6FElh4$otZ%UJ5p;-$?UXuMVLlLuI(b7w_cN(tVXslaX8Xg z)Zys8I_h${V_6RAl&xjynaXghWoBDh6@ki$mvbbrgl~^%iHy3oBJj(*~lQZ z&VORh=491jzZms3`m2s88AA1YnNTou$*R+M9N2(x%xc&5uGD+O$`s>byFaDv%V0-l zp8t%SdfLU}lXw`R{r0{R`X-sRps7jK*YCyo_hT8>tqorv-XjiJ;4g|}Lgd13mJk*5 zuGJuhM$~aWSl!W1lE$gkCN_X^argfy#W=2`%d|?Y4c{3&3mW3 zUU!1z9oJ{RBe}dT@%#qq<2C|vQ~0~r|1)l*L&+oMCnUYB&$#iHtedljJ4&T*yhUzk zlcliOewM=Dz0rO-Y5ltL$Q*hm5U7t7I12vwO3_(J;lweJ}O}Y>p|(o0w$3tdqjTP%UCSSbRr?bA?821EFe5oTWbH~wN09or@)EWWS02K{wn3O^v8%j+ zdDku^upf4FMV_VmR$)_)i&?TOXbnSYutRV2SLV)#q+?`EgKZuf68R>*J#|W=p>1w2 zAdi`8iFL5SVO{fT*{Dd(x!RqqY>YcSfdQj-P|cEb)V>;6RewVfQXdtgoX*21`zs6K4oQjr7#ax=_Qpyb4>8?On&s7z-?P zP%DkP=Ifu+KZ|)^vRsf^D`5lCG@nt+pZT0D?J{#@TV9(~p6f3)?r#*ZGquC|?6L&O zd`N8mU>#c8>oP_0$JRZkT~@0M`=mFkne)e3Mkeeswkow}_2|bQr4om^k|vBzlZHz? zO`Qj_Gas<4q#A8CoFDQcf=YggyAy%b!RNp1bfU_M^oaL@QDT5x=4 z?ax|AT8M0K00T%Hf$XtNq!YJ{lHJM43uhje zYuU7y;{@JNy-6y{`cyd-kWr-JMDoDRdPVQ^E)T=iQ$~*(pA~j1FCGehT?GbT+O)BW zE=U*;2VF<4pW3MKq4bUeVOsQ9f08Ln?Gj!=+m>hy zlhme4Su3OW&~h@8?VdC{Rd)9+Gcd)1+Klf1Q zbZgK=uXsZ>0o@hTeNUZ8zdZFTEfr7eU36KR!a7ZZG=Q$xd2QmUrP9&uVjwJxpLRd3 zU?TiF(j|&lyIWfer-I@m1@n%4X_o%Elw zU4WpD9lrV;cgYm4``tFo?CW+|9x&R>ULKUh7?!sYv2>QHZmn zLs8Fo=&%mfLE0z%Yi*Ak1qXy|ul4Wf71lq;Oe7SgCzE=GdxmY^(L?)Hn3HzrnWA3s z_g?Fx#)M(P)>fD)wH}y+AP9#A_Dwg_{F()_`?X+=-X(G1jmOwy^an)o-}#Vlq1NuA zcKt^stjwU+%p|SSE=&H6xBorwka$c+#>C`nl6HaezszmKqkh%tj1%TlPe`%tLATMx ztX(jAdEp&eaC98>th?uoE}iq>%(B_OKW87&9aWik`?gDlm5uDIl*-B`31DkOBI#jT#?}*8B4=HQ_S9WNf%e z)!68{ylZ)tH`bqfZP&$w;V9tse06FG@!dIi4CIhYqi2=QE#Wu%lHT9id-NP+t0B?W zVnghhj6a!F_pxnwLW2|h>iM_Qqx`ZCS1(M4C{ex41)*I+>s=DKxAj3ycs;_z$%j-& z(66k=srw~iy#%2vO+Rxq=mJN#R903|Q5YZz(Az^qtm1TapE%F57hQ zi}Vm+*pP%FGecbLL(ujt0%Y7|w^I^T&$5ppT_U`tSL7|;@XX7yV75^-(!?_HYJY1j zGof5Rgu>9aJIa~c%#v9mTp2qfG)T60OW1FhmXogCpIo&h(YRV1P&>+^?-QSgo7&trEF!(|r5Y1q`$HBJ zHZUnmRGX#DgJ{c(K*ovwAO+gkBdlHU#dCQfG{0TilL6N z=EQE`N~78HpV?kPL_$P6(^WP8YuV~tUp+~pT|rea{}DHrw%@h4`2>zkU1Cjx?lx%G zmU+0RM!hoUR}7Y(Mz@o!II~-}YXFmzBjl6*p?0p4V}6Hq0p!PueZ^m8Sex!EcHfv~ zjaoC^uf|oqGSkRSn<&SAgF{8^vSk=RT@v{&iJqMAt-9~w*%>%hT}53|C=RThtiuCM z*01wDP(L-j+s~jqnd19PZ8E3VQVsjt_`+mq7Se6a6qu5K1k<7F>ku1z3RlM$#<%6X62F!~ESdX1Yk7u1%xD6J1@Zgk~}-C+6V zjmUhVU7*_|{Pviael|g`(L{A-^rsqnjNPKmoLKDu@Kd+G*Zuy99r3)X{rQVkoUG-7 zGH`G&I6be54$X{(fv)^A{c@XvZwap8z%yOgKmCzen2aaX)6t>S(PQhKd6d^5Qo7Fc z+qB)PPgC>yhdU49irVkvE1L#SnUobAgUay8!csF?c&*D3X+-NN`{$?aX!GAPD11h% zKkTA3o(#gkvF19FPTSF`Q2#JzP|1jXr|zjkStE3Q6%yLk(H4K@A zEj!#RrjIlDQcrOlhWWIXK9U)})H^j3=?cEHY2AGb&X$RGkQThn3^uc8lo=FZhMfg`O=+*7UNO4?V;dxgTfB)?$ZG_8bnZa%e+SW;r;VyaNSn(Cdo1kxGCujiir$|b`c^m^&IPnTC_ z?xA`ke3#g6dZ_&jZI4R2B5Y&V)jjlAFl1PwID9(AG_YU|anfMFkqEBXO(vWJ{tP6C z%Nq6EoOg|W=Fq-YWNSqZ|J&iJ4wzp97-dfP`k$QXS+2w$Yj?8Mq-(-BYPyoqU;PU1 z#emgkWDIa*&3^6W^%*lNYx3iBXe;qs?U8g2j`&mW2R?=(4 zwA!<1tPA8wu|0lDRq29=T@3w%z((y8`_?jE)V<_o8jtti)R)f&)mTr(kugH~2|Hd>rP%?(J5RgpT>dz?PbrTIM9_pDU$N*>Lr%t@RGN8u#l)hi>)v%3PF6ZP^nUnek@p zCZ-#XCl=TEZycmfQ*!gOIEeC0WhHK+OiR|Ii<69zr2S$!9M;Wm~;@{so9c?$2o5=pC{6#)^oOT zfo`hugx%$rPd~UtSNBW}(vH0|qbivp`3x69N2;8OvL04wA#^x-!j3VOtPS@ED;00uBdrqM1!6Bj_MMh(^doh)XR%ze3lwdQF{3m` zl4&~_vc1-m{Ql%_PmOB2dUJ+}khA=Htdt{xW2fF08gzQ1KhM~DkyV-&F8G)s^};sw zEYyAWt_`g_rcVo%>3Oh2t`}R2sb^(d4I`u2m`kUDq zj-9^>;S*nb*v3BUPuq6wihUwlVr>LYq4a9&`01%u*&q*|!t!dbviihrKdPoi^eGF&!nm(lOs+Z~PpO)7#XG zY+1ry`zbXRIn5_=w)~E(0xNyhn2dFuF5Sg?JlWpd)_T%qec%acK#ldUpDw2X!doc; zR*LBf@0RcUbn+R%$G#euR4+zcKI>jJH?1H?VM+rtYfF~m*z&3^Vgacl+YV9&bv@)< z?W#Q)fkcjlvzo73F2|Kwyx_@3TOY9>NVjReHjm`A zW+phm{24E}#5aZ+E_F7afouHU&WG~X2UJ~f?9R!uMhrfdnmBp-=&55zP9H1Z=Gl9x zd%pPBjSxNGWqlR3b>xChVV!dvJ&8Urc$e=Amo*&wxmJA}`Ov_ga#o*@exh?tws(;@ z+Uw*Pw6sanK@6!pzhy1ckaQ=NR?AuEbi*@z(M06_$o|aB9H9_*vYNi2m)pH5tUWz_ z8~z~#PJ)uC4ore``V_OM4kLfg3Knyj>p=03bw`3@a#w|~)%0wi!u;6M@^u#ZvfpIj z*>I{zZ3(?ObRy*|izUb8e3S+a?LM(Q#XiRRjbR+uE{!$DDBn$QS?hJXt+Z^mVSp-NmHn z*I~8>y-R%G!k(AFgr`<<82T#hhH_S1zvQ=Pql2DtMe=FBV_T)++O{Fti}W74jxLbo z@N{rgR#%GZW^;Hrxr}gPjeHu3AEU>d?PgMZIG<*ESLwn_KXTBsX|$*MW!c`q&rsWa z)p@D9#TuGr$tMx-#K#O6FtXas_vXo<}cat+r~7b^-NCvV*8RW>mHj zHMG@RJXX7Y2&W-LaWr~~Vm~b)IeLBaaFtx{7q(+&fJ3vbY06z>!5)6HQ!Gs&^NC#d zzp3FBp|21~{)RhJXhP%(|6_Rulm8C=n;XZTO0M#E;YWBE$rIKbVB`o%QB-LMKMLkY zv@+s=ezj;|`(~M0bOPUFjW%X3_y~huO<&Ta)u)j+omx#+DAc6+vu1gh6QY)trj6z> zQq`W)XoK{#XD(?BUlvDv4?!2v&!IEUTCi@k*R+K6ndZ~awrr`1d zI&6vV^XiSaQUPHG5*2GTMSVezW<}-Dn+VTwsx2S_l<~JjG_0NNnl9&R>!UVe)8%CYh-StV+RIJVgk10dYuJFa3R6>yHB1}Bbjm8&#i5J8*F0g z(akJBR}z4d>1gk6F8kL;NTu7Y@XR42M#6@Ev{Go;um+^=?Dw*K3QTLzo9y>~IvV_e z<3~4ACywz^UJwnDB`SZAh#+M9b9MM6aw@gyxEfAU&D==l8!UU)hA$28e{|-YhqCll zw-gr_+mnq%GuYeEDTXuT;Xw;(-F}ke^-zaMn!&%Iy+0gE9KS@fa~h=^TUJ(DmNmNc zff5^)_J?_9k8Ev5sXPXgeqVhF#II~A>G<*yQ!gz=SZ_=(vix^lmMQKy ze`iAW3Na3PexHpPYXarFUIwQ9;?BEBzcANnkz0rJU25mP1fJ?>9edw)qA^0JDDy{HCN#k^({5q+`vq- zuRc*H+so95EG=wFWp%VQ(>UmI%EmPP)>_|yg$c{yT{Lytlxb~V*|kmo zxJ-1-v7RpSb8u-`oH5f|Q|nH3*a7YTwYaWrQtlN#qeb#7qNksH<{{Lq%uFzQB$rl? zoiu&yRNVmOD^^NsOWaz0J@`1A`L6XsPtAnh=V#kqTXL+;wYCNR%-`_qsdsga+kJ+4 znSLCk^9CbTO1@=#cJNp3^!UXHriP3^97I}NXBNr!I_dRE!)ZHbXm-&lOiMo9R^|&Y#`hNZb-=+F>2YJVA@)w_$HJ@C@;;8-A zmR--VkRxovMg(hpqA_CJ53R+IAUZas^zo9iiKTPr@-SNqLvn{-PgFkgW35NIsvG@O)q(1){L^zrL%C^)K|rV1`ein z=+ugXcEQ`^r+HNvTGcw!ZwJI&pQI@L{jp`Yg(OVIA8I5RK$h(fb;^Wsgj4LH94f(g+^w9j<1@2DNVs)p z(eF6YlC`I(U=qw2byxVAx8^6)0g>QM)Z4@n+p}NBN#+QVPn=k?%b!T$(=Ztp!7(yF zI1%{R+7rDiIHQ={u)OcMl6g~Rl(AXH9|ZC3w|@*@2T!}F^%RSr#%1bqrjP7RoO)7v zg^iQ36{7JmHcI?MFC9WRV@47!;IE|mtBQ$Z$LNCJ^JnHPX~p1cVR5H84{iUPiXL`k zm`fM6-x9I@kVdlm81#DSHoA1R!5!((3{rd6N!#51@tSs(gTF + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21670 + ET_Subcontractor_21670 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21670.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21670.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.Designer.vb new file mode 100644 index 0000000..718820f --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + '''

+ ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21670.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.Designer.vb new file mode 100644 index 0000000..59fb44f --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21670.My.MySettings + Get + Return Global.ET_Subcontractor_21670.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.vb new file mode 100644 index 0000000..af66c78 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractor.vb @@ -0,0 +1,1137 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor_21670 As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont_21670 As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 269) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor_21670).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor_21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor_21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont_21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont_21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont_21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor_21670 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor_21670)) Then + dsENT.Tables.Remove(tblENTSubcontractor_21670) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor_21670 = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor_21670).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor_21670).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont_21670聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont_21670)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont_21670) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont_21670 = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont_21670).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + Private Sub iugDetail_Load(sender As Object, e As EventArgs) Handles iugDetail.Load + + End Sub + + Private Sub iugSubcontractor_Load(sender As Object, e As EventArgs) Handles iugSubcontractor.Load + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.vb new file mode 100644 index 0000000..cb67e7c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorContDef.vb @@ -0,0 +1,660 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 26) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 26) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 26) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 26) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 26) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 26) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 26) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.vb new file mode 100644 index 0000000..4736fa5 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/frmSubcontractorDef.vb @@ -0,0 +1,460 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents txtWZ216670 As TextBox + Friend WithEvents Label1 As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtWZ216670 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.Label1) + Me.gbxSubcontractorData.Controls.Add(Me.txtWZ216670) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 26) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 26) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'txtWZ216670 + ' + Me.txtWZ216670.Location = New System.Drawing.Point(362, 25) + Me.txtWZ216670.Name = "txtWZ216670" + Me.txtWZ216670.Size = New System.Drawing.Size(100, 25) + Me.txtWZ216670.TabIndex = 14 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(297, 24) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(66, 17) + Me.Label1.TabIndex = 15 + Me.Label1.Text = "WZ21670" + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("wz21670", "WZ21670", "String", CInput(txtWZ216670.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub + + Private Sub txtSubcontractorNo_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorNo.ValueChanged + + End Sub + + Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtWZ216670.TextChanged + + End Sub + + Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click + + End Sub + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/iMES.snk b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21670_1 + ET_Subcontractor_21670_1 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21670_1.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21670_1.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.sln b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.sln new file mode 100644 index 0000000..85b1902 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Subcontractor", "ET_Subcontractor.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 3 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://tfs.imestech.com:8080/tfs/messeries6 + SccProjectUniqueName0 = ET_Subcontractor.vbproj + SccLocalPath0 = . + SccProjectUniqueName1 = ..\\..\\Test\\Test.vbproj + SccProjectName1 = ../../Test + SccLocalPath1 = ..\\..\\Test + SccLocalPath2 = . + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj new file mode 100644 index 0000000..0f2302d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj @@ -0,0 +1,206 @@ + + + + + Debug + x86 + {D6EE7B96-F10E-44E2-9731-162B70B4C8DD} + Library + ET_Subcontractor_21670_1 + ET_Subcontractor_21670_1 + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\MESClient\ + ET_Subcontractor_21670_1.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + ..\..\..\MESClient\ + ET_Subcontractor_21670_1.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll + False + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + False + + + ..\..\..\MESClient\COM_Kit.dll + False + + + ..\..\..\MES_C_DLL\iMESExceptionManager.dll + False + + + ..\..\..\MES_C_DLL\iMESUltraGrid.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + modConstant.vb + + + Form1.vb + + + Form + + + Form + + + Form + + + Form + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmBusiness21670.vb + + + frmSubcontractor.vb + + + frmSubcontractorContDef.vb + + + frmSubcontractorDef.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.user b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.user new file mode 100644 index 0000000..7273a11 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.user @@ -0,0 +1,6 @@ + + + + D:\iMES\MES_Env\607.4\DefaultSite\MESws_STD\bin\ + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/ET_Subcontractor.vbproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.Designer.vb new file mode 100644 index 0000000..c29cf72 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.Designer.vb @@ -0,0 +1,32 @@ + +Partial Class Form1 + + + Inherits COM_Kit.frmBasisTemplat + + 'Form 重写 Dispose,以清理组件列表。 + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + + Private Sub InitializeComponent() + components = New System.ComponentModel.Container + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Text = "Form1" + End Sub +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.vb new file mode 100644 index 0000000..10d55d4 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/Form1.vb @@ -0,0 +1,3 @@ +Public Class Form1 + +End Class \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.Designer.vb new file mode 100644 index 0000000..537244b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..755cff8 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.Designer.vb new file mode 100644 index 0000000..af2b746 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21670_1.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.Designer.vb new file mode 100644 index 0000000..1c9fffa --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21670_1.My.MySettings + Get + Return Global.ET_Subcontractor_21670_1.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.vb new file mode 100644 index 0000000..cbad98c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmBusiness21670.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor1 + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 270) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.vb new file mode 100644 index 0000000..64a05ce --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractor.vb @@ -0,0 +1,1129 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 269) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor)) Then + dsENT.Tables.Remove(tblENTSubcontractor) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.vb new file mode 100644 index 0000000..c489735 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorContDef.vb @@ -0,0 +1,656 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 22) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 22) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 22) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 22) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 22) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 22) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 22) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.vb new file mode 100644 index 0000000..ff97a9a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/frmSubcontractorDef.vb @@ -0,0 +1,421 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 22) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 22) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/iMES.snk b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/ET_Subcontractor/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..b0cdd98 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/BuildIncrementVersionInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/BuildIncrementVersionInfo.vb new file mode 100644 index 0000000..d2f2e21 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/BuildIncrementVersionInfo.vb @@ -0,0 +1 @@ + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.Designer.vb new file mode 100644 index 0000000..af2b746 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ET_Subcontractor_21670_1.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.Designer.vb new file mode 100644 index 0000000..1c9fffa --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ET_Subcontractor_21670_1.My.MySettings + Get + Return Global.ET_Subcontractor_21670_1.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/licenses.licx new file mode 100644 index 0000000..e3f40e2 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/My Project/licenses.licx @@ -0,0 +1,7 @@ +Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb +Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.vb new file mode 100644 index 0000000..9978384 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractor.vb @@ -0,0 +1,1137 @@ +Imports iMESExceptionManager + +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinGrid +Public Class frmSubcontractor + + Inherits COM_Kit.frmBasisTemplat + + Public PrivFunNo As String = defString + + '//WS相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT '宣告Web Service物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim XmlData As String '儲存取回之資料 + Dim XmlSchema As String '儲存取回之資料結構 + Dim InXml As String '儲存呼叫Web Service的傳入參數(Request字串) + Dim OutXml As String '儲存Web Service的傳回值(Response字串) + Dim strIdentity As String '儲存Identity XML字串? + Dim strParameter As String '儲存Parameter XML字串 + + '//資料表相關變數 + + Dim dsENT As New DataSet '資料集:儲存取回之資料? + + Dim tblENTSubcontractor21670 As String '儲存取回資料表的名稱(master)? + Dim tblENTSubcontractorCont21670 As String '明細資料表名稱(detail) + Dim strFilter As String 'Filter string及列印的過濾條件 + + '//其他共用變數 + Dim SubcontractorNo As String 'for Gird to Focus + Dim ContactorName As String 'for DetailGrid to Focus + Dim ugrRow As Infragistics.Win.UltraWinGrid.UltraGridRow + Friend WithEvents btnAdd As Misc.UltraButton + Friend WithEvents btnEdit As Misc.UltraButton + Friend WithEvents btnDel As Misc.UltraButton + Friend WithEvents btnCopy As Misc.UltraButton + Friend WithEvents btnApprove As Misc.UltraButton + Friend WithEvents iugSubcontractor As iMESUltraGrid.iMESUltraGridControl + Dim i As Integer + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.Container + Friend WithEvents iugDetail As iMESUltraGrid.iMESUltraGridControl + Friend WithEvents btnClose As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnEMail As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDCopy As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDDel As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDEdit As Infragistics.Win.Misc.UltraButton + Friend WithEvents btnDAdd As Infragistics.Win.Misc.UltraButton + Private Sub InitializeComponent() + Me.btnClose = New Infragistics.Win.Misc.UltraButton() + Me.btnEMail = New Infragistics.Win.Misc.UltraButton() + Me.btnDCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnDDel = New Infragistics.Win.Misc.UltraButton() + Me.btnDEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDAdd = New Infragistics.Win.Misc.UltraButton() + Me.iugDetail = New iMESUltraGrid.iMESUltraGridControl() + Me.btnAdd = New Infragistics.Win.Misc.UltraButton() + Me.btnEdit = New Infragistics.Win.Misc.UltraButton() + Me.btnDel = New Infragistics.Win.Misc.UltraButton() + Me.btnCopy = New Infragistics.Win.Misc.UltraButton() + Me.btnApprove = New Infragistics.Win.Misc.UltraButton() + Me.iugSubcontractor = New iMESUltraGrid.iMESUltraGridControl() + Me.SuspendLayout() + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.Location = New System.Drawing.Point(912, 552) + Me.btnClose.Name = "btnClose" + Me.btnClose.Size = New System.Drawing.Size(88, 32) + Me.btnClose.TabIndex = 18 + Me.btnClose.Text = "Close (&X)" + ' + 'btnEMail + ' + Me.btnEMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEMail.Location = New System.Drawing.Point(912, 429) + Me.btnEMail.Name = "btnEMail" + Me.btnEMail.Size = New System.Drawing.Size(88, 32) + Me.btnEMail.TabIndex = 17 + Me.btnEMail.Text = "Mail" + ' + 'btnDCopy + ' + Me.btnDCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDCopy.Location = New System.Drawing.Point(912, 389) + Me.btnDCopy.Name = "btnDCopy" + Me.btnDCopy.Size = New System.Drawing.Size(88, 32) + Me.btnDCopy.TabIndex = 16 + Me.btnDCopy.Text = "Copy" + ' + 'btnDDel + ' + Me.btnDDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDDel.Location = New System.Drawing.Point(912, 349) + Me.btnDDel.Name = "btnDDel" + Me.btnDDel.Size = New System.Drawing.Size(88, 32) + Me.btnDDel.TabIndex = 15 + Me.btnDDel.Text = "DEL" + ' + 'btnDEdit + ' + Me.btnDEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDEdit.Location = New System.Drawing.Point(912, 309) + Me.btnDEdit.Name = "btnDEdit" + Me.btnDEdit.Size = New System.Drawing.Size(88, 32) + Me.btnDEdit.TabIndex = 14 + Me.btnDEdit.Text = "EDIT" + ' + 'btnDAdd + ' + Me.btnDAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDAdd.Location = New System.Drawing.Point(912, 269) + Me.btnDAdd.Name = "btnDAdd" + Me.btnDAdd.Size = New System.Drawing.Size(88, 32) + Me.btnDAdd.TabIndex = 13 + Me.btnDAdd.Text = "ADD" + ' + 'iugDetail + ' + Me.iugDetail.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugDetail.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugDetail.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugDetail.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugDetail.Identity = "IMes" + Me.iugDetail.IdentityForm = "" + Me.iugDetail.LayOutFilePath = "" + Me.iugDetail.Location = New System.Drawing.Point(12, 269) + Me.iugDetail.Name = "iugDetail" + Me.iugDetail.PrintFitWidthToPages = 0 + Me.iugDetail.PrintLandscape = True + Me.iugDetail.PrintPageFooter = "" + Me.iugDetail.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageFooterHeight = 20 + Me.iugDetail.PrintPageHeader = "" + Me.iugDetail.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugDetail.PrintPageHeaderHeight = 20 + Me.iugDetail.PrintZoom = 1.0R + Me.iugDetail.Size = New System.Drawing.Size(894, 314) + Me.iugDetail.TabIndex = 12 + Me.iugDetail.UserNo = "IMes" + ' + 'btnAdd + ' + Me.btnAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAdd.Location = New System.Drawing.Point(912, 53) + Me.btnAdd.Name = "btnAdd" + Me.btnAdd.Size = New System.Drawing.Size(88, 32) + Me.btnAdd.TabIndex = 20 + Me.btnAdd.Text = "Add(&A)" + ' + 'btnEdit + ' + Me.btnEdit.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnEdit.Location = New System.Drawing.Point(912, 93) + Me.btnEdit.Name = "btnEdit" + Me.btnEdit.Size = New System.Drawing.Size(88, 32) + Me.btnEdit.TabIndex = 21 + Me.btnEdit.Text = "Edit(&E)" + ' + 'btnDel + ' + Me.btnDel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel.Location = New System.Drawing.Point(912, 133) + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(88, 32) + Me.btnDel.TabIndex = 22 + Me.btnDel.Text = "Del(&D)" + ' + 'btnCopy + ' + Me.btnCopy.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCopy.Location = New System.Drawing.Point(912, 173) + Me.btnCopy.Name = "btnCopy" + Me.btnCopy.Size = New System.Drawing.Size(88, 32) + Me.btnCopy.TabIndex = 23 + Me.btnCopy.Text = "Copy(&C)" + ' + 'btnApprove + ' + Me.btnApprove.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnApprove.Location = New System.Drawing.Point(912, 213) + Me.btnApprove.Name = "btnApprove" + Me.btnApprove.Size = New System.Drawing.Size(88, 32) + Me.btnApprove.TabIndex = 24 + Me.btnApprove.Text = "Approve(&Y)" + ' + 'iugSubcontractor + ' + Me.iugSubcontractor.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.iugSubcontractor.EnterDirection = iMESUltraGrid.iMESUltraGridControl.EnterDirectionEnum.Down + Me.iugSubcontractor.GroupBoxPromptText = "Drag a column header here to group by that column." + Me.iugSubcontractor.GroupBoxTextForeColor = System.Drawing.Color.Red + Me.iugSubcontractor.Identity = "IMes" + Me.iugSubcontractor.IdentityForm = "" + Me.iugSubcontractor.LayOutFilePath = "" + Me.iugSubcontractor.Location = New System.Drawing.Point(12, 53) + Me.iugSubcontractor.Name = "iugSubcontractor" + Me.iugSubcontractor.PrintFitWidthToPages = 0 + Me.iugSubcontractor.PrintLandscape = True + Me.iugSubcontractor.PrintPageFooter = "" + Me.iugSubcontractor.PrintPageFooterHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageFooterHeight = 20 + Me.iugSubcontractor.PrintPageHeader = "" + Me.iugSubcontractor.PrintPageHeaderHAlign = Infragistics.Win.HAlign.[Default] + Me.iugSubcontractor.PrintPageHeaderHeight = 20 + Me.iugSubcontractor.PrintZoom = 1.0R + Me.iugSubcontractor.Size = New System.Drawing.Size(894, 192) + Me.iugSubcontractor.TabIndex = 25 + Me.iugSubcontractor.UserNo = "IMes" + ' + 'frmSubcontractor + ' + Me.ClientSize = New System.Drawing.Size(1008, 591) + Me.Controls.Add(Me.btnClose) + Me.Controls.Add(Me.btnApprove) + Me.Controls.Add(Me.btnEMail) + Me.Controls.Add(Me.btnDCopy) + Me.Controls.Add(Me.btnCopy) + Me.Controls.Add(Me.btnDDel) + Me.Controls.Add(Me.iugSubcontractor) + Me.Controls.Add(Me.btnDEdit) + Me.Controls.Add(Me.btnAdd) + Me.Controls.Add(Me.btnDAdd) + Me.Controls.Add(Me.btnDel) + Me.Controls.Add(Me.iugDetail) + Me.Controls.Add(Me.btnEdit) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractor" + Me.Text = "ENT Subcontractor & Contactor" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + Me.Controls.SetChildIndex(Me.btnEdit, 0) + Me.Controls.SetChildIndex(Me.iugDetail, 0) + Me.Controls.SetChildIndex(Me.btnDel, 0) + Me.Controls.SetChildIndex(Me.btnDAdd, 0) + Me.Controls.SetChildIndex(Me.btnAdd, 0) + Me.Controls.SetChildIndex(Me.btnDEdit, 0) + Me.Controls.SetChildIndex(Me.iugSubcontractor, 0) + Me.Controls.SetChildIndex(Me.btnDDel, 0) + Me.Controls.SetChildIndex(Me.btnCopy, 0) + Me.Controls.SetChildIndex(Me.btnDCopy, 0) + Me.Controls.SetChildIndex(Me.btnEMail, 0) + Me.Controls.SetChildIndex(Me.btnApprove, 0) + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + Call funiMESUltraGridIni() 'Grid初始設定 + + '//取出資料 + Call funLoadSubcontractor() + + SetIssueState(Issue.Unfrozen) '預設在Unforzen上 + SetSearchFieldName(New String() {"SubcontractorNo", "SubcontractorNaME"}) '設置搜尋欄位 + + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractor_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + If Not dsENT Is Nothing Then dsENT.Dispose() + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Protected Overrides Sub rdoIssue_CheckedChanged(sender As Object, e As EventArgs) + If IsNothing(dsENT) Then Exit Sub + + Select Case GetIssueState() + Case Issue.Unfrozen + dsENT.Tables(tblENTSubcontractor21670).DefaultView.RowFilter = "IssueState=0" + Case Issue.Pending + dsENT.Tables(tblENTSubcontractor21670).DefaultView.RowFilter = "IssueState=1" + Case Issue.Active + dsENT.Tables(tblENTSubcontractor21670).DefaultView.RowFilter = "IssueState=2" + Case Issue.Unused + dsENT.Tables(tblENTSubcontractor21670).DefaultView.RowFilter = "IssueState=-1" + End Select + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor21670).DefaultView + Call funShowActiveDetail() + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click + + Dim fSubcontractorDef As New frmSubcontractorDef + + fSubcontractorDef.DefMode = 0 + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End Sub + + Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + '核准狀態為"Unfrozen"者才可修改 + + If Rows(0).Item("IssueState") <> 0 Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-202202", "[%NOT ALLOWED TO EDIT%]"), MsgBoxStyle.Exclamation, Me.Text) + Exit Sub + End If + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 1 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + fSubcontractorDef.Dispose() + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Or intIssueState = -1 Or intIssueState = 2 Then '狀態為Unforzen或Unused時直接刪除 + + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", CInput(intIssueState), "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOWED TO delete%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click + + + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + 'IsGroupByRow不做任何處理 + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Exit Sub + End If + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractor21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorDef As New frmSubcontractorDef + fSubcontractorDef.DefMode = 2 + fSubcontractorDef.EditDataRow = Rows(0) + fSubcontractorDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + SubcontractorNo = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractor() + + If GetIssueState() = Issue.Unfrozen Then + ugrRow = FindRecordPosition(iugSubcontractor, "SubcontractorNo", SubcontractorNo) + If Not ugrRow Is Nothing Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow = ugrRow + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + End If + + End If + End Sub + + Private Sub btnApprove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApprove.Click + + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Cursor.Current = Cursors.WaitCursor + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected Then + Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100002", "[%ARE YOU SURE TO APPROVE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugSubcontractor.iMESUltraGrid.Selected.Rows.Count - 1 + intIssueState = Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("IssueState").Value + If intIssueState = 0 Then + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("SubcontractorNo").Value.ToString), "") + strParameter += CombineXMLParameter("issuestate", "IssueState", "String", intIssueState, "") + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("datastamp", "DataStamp", "Integer", iugSubcontractor.iMESUltraGrid.Selected.Rows(i).Cells("DataStamp").Value, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.ApproveSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.ApproveSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.ApproveSubcontractor", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Approve failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + Else + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200021", "[%NOT ALLOW TO APPROVE%]"), MsgBoxStyle.Exclamation, Me.Text) + End If + Next + + XmlDoc = Nothing + + If blnReLoad Then + + Call funLoadSubcontractor() + + Call funShowActiveDetail() + + End If + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDAdd.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + + 'Dim Rows As DataRow() + Dim fSubcontractorContDef As New frmSubcontractorContDef + + fSubcontractorContDef.DefMode = 0 + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + End If + End Sub + + Private Sub btnDEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDEdit.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 1 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnDDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDDel.Click + + + '1.先檢查是否為單筆,是:將其Selecte + If Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then Exit Sub + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + + Cursor.Current = Cursors.WaitCursor + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow.Selected Then + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + + '2.Multi + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Count > 0 Then + If Me.iugDetail.iMESUltraGrid.Selected.Rows.Item(0).IsGroupByRow Then + Exit Sub 'Selected.Rows,不會包含GroupRow & 一般的Row在一起,故若是GroupRow不做任何處理 + End If + If iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-100001", "[%ARE YOU SURE TO DELETE ALL SELECTED RECORDS%]"), MsgBoxStyle.OkCancel + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, Me.Text) = MsgBoxResult.Cancel Then + Exit Sub + End If + + '共用資料 + Dim XmlDoc As New XmlDocument + Dim blnReLoad As Boolean = False + Dim intIssueState As Integer + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + For i = 0 To Me.iugDetail.iMESUltraGrid.Selected.Rows.Count - 1 + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", CInput(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString), "") + strParameter = strParameter & CombineXMLParameter("ContactorName", "ContactorName", "String", CInput(Me.iugDetail.iMESUltraGrid.Selected.Rows(i).Cells("ContactorName").Value.ToString), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + Try + ' 2016 YF, OutXml = wsENT.DelSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.DelSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.DelSubcontractorCont", InXml) + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + If Not blnReLoad Then blnReLoad = True + Else + '找出Exception訊並顯示出來 + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit For + End If + Catch ex As Exception + 'MsgBox("Unexpected Error. Delete failed," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + Exit For + End Try + + Next + + XmlDoc = Nothing + + If blnReLoad Then Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + End If + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub btnDCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDCopy.Click + + If Not Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing And Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow OrElse iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + + '找出DataSet中在目前游標列的資料列(DataRow) + Rows = dsENT.Tables(tblENTSubcontractorCont21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + Dim fSubcontractorContDef As New frmSubcontractorContDef + fSubcontractorContDef.DefMode = 2 + fSubcontractorContDef.EditDataRow = Rows(0) + fSubcontractorContDef.SubcontractorNo = Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString + fSubcontractorContDef.ShowDialog(Me) + + If gReturnKeyValue = "" Then Exit Sub + + ContactorName = gReturnKeyValue + + '重新取出資料 + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + + ugrRow = FindRecordPosition(iugDetail, "ContactorName", ContactorName) + If Not ugrRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.ActiveRow = ugrRow + Me.iugDetail.iMESUltraGrid.ActiveRow.Selected = True + End If + Else + + Exit Sub + End If + + End Sub + + Private Sub btnEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEMail.Click + + If Not Me.iugDetail.iMESUltraGrid.ActiveRow Is Nothing Then + If iugDetail.iMESUltraGrid.ActiveRow.IsGroupByRow Then Exit Sub + Dim Rows As DataRow() + Dim proMail As New System.Diagnostics.Process + Dim strAccount As String + + Rows = dsENT.Tables(tblENTSubcontractorCont21670).Select("SubcontractorNo = '" _ + & Replace(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString, "'", "''") & "'" _ + & " And ContactorName = '" & Replace(Me.iugDetail.iMESUltraGrid.ActiveRow.Cells("ContactorName").Value.ToString, "'", "''") & "'") + + strAccount = "mailto:" & Rows(0).Item("EMail").ToString + proMail.Start(strAccount) + + End If + + End Sub + + Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Protected Overrides Sub btnQuery_Click(sender As Object, e As EventArgs) + Cursor.Current = Cursors.WaitCursor + + funLoadSubcontractor() + + Cursor.Current = Cursors.Default + End Sub + +#Region "Ultra Grid" + + Private Sub iugSubcontractor_iMESUltraGrid_InitializeLayOut(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugSubcontractor.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("SubcontractorName") + .Header.Caption = "SubcontractorName" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("IssueState") + .Header.Caption = "IssueState" + .Width = 114 + .Hidden = True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 7 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + + Private Sub iugSubcontractor_iMESUltraGrid_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iugSubcontractor.iMESUltraGrid_AfterRowActivate + + 'IsGroupByRow不做任何處理 + If Not iugSubcontractor.iMESUltraGrid.ActiveRow.IsGroupByRow Then + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + Else + Exit Sub + End If + + End Sub + + Private Sub iugDetail_iMESUltraGrid_InitializeLayOut(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles iugDetail.iMESUltraGrid_InitializeLayOut + + With e.Layout + With .Bands(0).Columns("SubcontractorNo") + .Header.Caption = "SubcontractorNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 0 + End With + With .Bands(0).Columns("ContactorName") + .Header.Caption = "ContactorName" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 1 + End With + With .Bands(0).Columns("TelNo") + .Header.Caption = "TelNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 2 + End With + With .Bands(0).Columns("FaxNo") + .Header.Caption = "FaxNo" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 3 + End With + With .Bands(0).Columns("Title") + .Header.Caption = "Title" + .Width = 110 + .Hidden = False + .Header.VisiblePosition = 4 + End With + With .Bands(0).Columns("Address") + .Header.Caption = "Address" + .Width = 110 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 5 + End With + With .Bands(0).Columns("EMail") + .Header.Caption = "EMail" + .Width = 150 + .Hidden = False + .CellAppearance.ForeColor = System.Drawing.Color.Blue + .CellAppearance.FontData.Underline = DefaultableBoolean.True + .Header.VisiblePosition = 6 + End With + With .Bands(0).Columns("Description") + .Header.Caption = "Description" + .Width = 200 + .Hidden = False + .CellMultiLine = DefaultableBoolean.True + .Header.VisiblePosition = 7 + End With + With .Bands(0).Columns("Creator") + .Header.Caption = "Creator" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 8 + End With + With .Bands(0).Columns("CreateDate") + .Header.Caption = "CreateDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 9 + End With + With .Bands(0).Columns("Reviser") + .Header.Caption = "Reviser" + .Width = 80 + .Hidden = False + .Header.VisiblePosition = 10 + End With + With .Bands(0).Columns("ReviseDate") + .Header.Caption = "ReviseDate" + .Width = 150 + .Format = "yyyy/MM/dd HH:mm:ss" + .Hidden = False + .Header.VisiblePosition = 11 + End With + With e.Layout.Bands(0).Columns("DataStamp") + .Hidden = True + End With + End With + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + End Sub + +#End Region + +#Region "Load Function" + + '//取出tblENTSubcontractor21670 外包商資料 + + Private Sub funLoadSubcontractor() + + '先判斷是否dataset中已有ENTSubcontractor之datatable,若有,需先remove否則會有錯誤 + If Not IsNothing(dsENT.Tables(tblENTSubcontractor21670)) Then + dsENT.Tables.Remove(tblENTSubcontractor21670) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + '加上IssueState要求取出所有資料 + strParameter = CombineXMLParameter("issuestate", "IssueState", "Integer", defInteger, "") + '加上查詢條件 cboSearchFieldName,txtSearchFieldValue + strParameter += CombineXMLQueryCondition() + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractor(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractor", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractor", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractor21670 = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractor").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractor").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + strFilter = "" + Select Case GetIssueState() + Case Issue.Unfrozen + strFilter = FilterByInteger(strFilter, "IssueState", 0) + Case Issue.Pending + strFilter = FilterByInteger(strFilter, "IssueState", 1) + Case Issue.Active + strFilter = FilterByInteger(strFilter, "IssueState", 2) + Case Issue.Unused + strFilter = FilterByInteger(strFilter, "IssueState", -1) + End Select + + dsENT.Tables(tblENTSubcontractor21670).DefaultView.RowFilter = strFilter + dsENT.Tables(tblENTSubcontractor21670).DefaultView.Sort = "SubcontractorNo" + + Me.iugSubcontractor.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractor21670).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + Exit Sub + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + '//取出tblENTSubcontractorCont21670聯絡人資料 + + Private Sub funLoadSubcontractorCont(ByRef SubcontractorNo As String) + + If Not IsNothing(dsENT.Tables(tblENTSubcontractorCont21670)) Then + dsENT.Tables.Remove(tblENTSubcontractorCont21670) + End If + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("SubcontractorNo", "SubcontractorNo", "String", SubcontractorNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + ' 2016 YF, OutXml = wsENT.LoadSubcontractorCont(InXml) + 'OutXml = InvokeSrv("wsENT.LoadSubcontractorCont", InXml) + OutXml = InvokeSrv("SXS.wsENT.LoadSubcontractorCont", InXml) + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + + '利用XmlDoc物件處理ReturnValue + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + '讀取取出資料表之名稱 + + tblENTSubcontractorCont21670 = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadSubcontractorcont").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Schema,dataset讀取Schema可防止Null Field及DateTime的問題 + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("schema").Item(0).InnerXml + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsENT.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadSubcontractorcont").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsENT.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + Me.iugDetail.iMESUltraGrid.DataSource = dsENT.Tables(tblENTSubcontractorCont21670).DefaultView + + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + XmlDoc = Nothing + + Catch ex As Exception + 'MsgBox("Unexpected Error. Load ENT Subcontractor Cont Failed!!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + End Sub + + Private Sub funShowActiveDetail() + + If Me.iugSubcontractor.iMESUltraGrid.ActiveRow Is Nothing Then + Me.iugDetail.iMESUltraGrid.DataSource = Nothing + Else + Call funLoadSubcontractorCont(Me.iugSubcontractor.iMESUltraGrid.ActiveRow.Cells("SubcontractorNo").Value.ToString) + End If + + End Sub + + Private Sub funiMESUltraGridIni() + + 'iugSubcontractor 初始設定 + With Me.iugSubcontractor.iMESUltraGrid + .Text = "" + .DisplayLayout.GroupByBox.Hidden = True + .DisplayLayout.UseFixedHeaders = False + End With + + '系統會以UserNo做為Layout的檔名 + + iugSubcontractor.UserNo = gUserNo + + 'iugDetail 初始設定 + With Me.iugDetail.iMESUltraGrid.DisplayLayout + .GroupByBox.Hidden = True + .Override.ExpansionIndicator = ShowExpansionIndicator.Default + .ViewStyle = ViewStyle.SingleBand + .RowConnectorStyle = RowConnectorStyle.Default + + End With + + '系統會以UserNo做為Layout的檔名 + + iugDetail.UserNo = gUserNo + + End Sub + + Private Sub iugDetail_Load(sender As Object, e As EventArgs) Handles iugDetail.Load + + End Sub + + Private Sub iugSubcontractor_Load(sender As Object, e As EventArgs) Handles iugSubcontractor.Load + + End Sub + + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.vb new file mode 100644 index 0000000..1910010 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorContDef.vb @@ -0,0 +1,660 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorContDef21670 + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + + Public SubcontractorNo As String = defString + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblAddress As System.Windows.Forms.Label + Friend WithEvents lblEMail As System.Windows.Forms.Label + Friend WithEvents lblTitle As System.Windows.Forms.Label + Friend WithEvents lblFaxNo As System.Windows.Forms.Label + Friend WithEvents lblTelNo As System.Windows.Forms.Label + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblContactorName As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorContData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtContactorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorContData = New System.Windows.Forms.GroupBox() + Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.lblAddress = New System.Windows.Forms.Label() + Me.lblEMail = New System.Windows.Forms.Label() + Me.lblTitle = New System.Windows.Forms.Label() + Me.lblFaxNo = New System.Windows.Forms.Label() + Me.lblTelNo = New System.Windows.Forms.Label() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblContactorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtContactorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorContData.SuspendLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 322) + Me.gbxBasisData.Size = New System.Drawing.Size(472, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(396, 401) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(208, 401) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(302, 401) + ' + 'gbxSubcontractorContData + ' + Me.gbxSubcontractorContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorContData.Controls.Add(Me.txtAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.txtEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.txtFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblAddress) + Me.gbxSubcontractorContData.Controls.Add(Me.lblEMail) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTitle) + Me.gbxSubcontractorContData.Controls.Add(Me.lblFaxNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblTelNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorContData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.lblContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorContData.Controls.Add(Me.txtContactorName) + Me.gbxSubcontractorContData.Controls.Add(Me.txtTelNo) + Me.gbxSubcontractorContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorContData.Location = New System.Drawing.Point(15, 8) + Me.gbxSubcontractorContData.Name = "gbxSubcontractorContData" + Me.gbxSubcontractorContData.Size = New System.Drawing.Size(469, 306) + Me.gbxSubcontractorContData.TabIndex = 0 + Me.gbxSubcontractorContData.TabStop = False + Me.gbxSubcontractorContData.Text = "ENT Subcontractor Contactor Data" + ' + 'txtAddress + ' + Me.txtAddress.Location = New System.Drawing.Point(120, 152) + Me.txtAddress.Name = "txtAddress" + Me.txtAddress.Size = New System.Drawing.Size(336, 26) + Me.txtAddress.TabIndex = 13 + ' + 'txtEMail + ' + Me.txtEMail.Location = New System.Drawing.Point(320, 120) + Me.txtEMail.Name = "txtEMail" + Me.txtEMail.Size = New System.Drawing.Size(136, 26) + Me.txtEMail.TabIndex = 11 + ' + 'txtTitle + ' + Me.txtTitle.Location = New System.Drawing.Point(120, 120) + Me.txtTitle.Name = "txtTitle" + Me.txtTitle.Size = New System.Drawing.Size(114, 26) + Me.txtTitle.TabIndex = 9 + ' + 'txtFaxNo + ' + Me.txtFaxNo.Location = New System.Drawing.Point(320, 88) + Me.txtFaxNo.Name = "txtFaxNo" + Me.txtFaxNo.Size = New System.Drawing.Size(136, 26) + Me.txtFaxNo.TabIndex = 7 + ' + 'lblAddress + ' + Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAddress.Location = New System.Drawing.Point(24, 154) + Me.lblAddress.Name = "lblAddress" + Me.lblAddress.Size = New System.Drawing.Size(86, 14) + Me.lblAddress.TabIndex = 12 + Me.lblAddress.Text = "Address" + Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblEMail + ' + Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblEMail.Location = New System.Drawing.Point(248, 123) + Me.lblEMail.Name = "lblEMail" + Me.lblEMail.Size = New System.Drawing.Size(64, 14) + Me.lblEMail.TabIndex = 10 + Me.lblEMail.Text = "EMail" + Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.Location = New System.Drawing.Point(24, 121) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(86, 14) + Me.lblTitle.TabIndex = 8 + Me.lblTitle.Text = "Title" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblFaxNo + ' + Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblFaxNo.Location = New System.Drawing.Point(248, 90) + Me.lblFaxNo.Name = "lblFaxNo" + Me.lblFaxNo.Size = New System.Drawing.Size(64, 14) + Me.lblFaxNo.TabIndex = 6 + Me.lblFaxNo.Text = "FaxNo" + Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblTelNo + ' + Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTelNo.Location = New System.Drawing.Point(24, 90) + Me.lblTelNo.Name = "lblTelNo" + Me.lblTelNo.Size = New System.Drawing.Size(86, 14) + Me.lblTelNo.TabIndex = 4 + Me.lblTelNo.Text = "TelNo" + Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(120, 184) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(336, 108) + Me.txtDescription.TabIndex = 15 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(24, 186) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(86, 14) + Me.lblDescription.TabIndex = 14 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(14, 29) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 14) + Me.lblSubcontractorNo.TabIndex = 0 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblContactorName + ' + Me.lblContactorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblContactorName.Location = New System.Drawing.Point(24, 59) + Me.lblContactorName.Name = "lblContactorName" + Me.lblContactorName.Size = New System.Drawing.Size(86, 14) + Me.lblContactorName.TabIndex = 2 + Me.lblContactorName.Text = "Contactor Name" + Me.lblContactorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Me.txtSubcontractorNo.Location = New System.Drawing.Point(120, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.ReadOnly = True + Me.txtSubcontractorNo.Size = New System.Drawing.Size(114, 26) + Me.txtSubcontractorNo.TabIndex = 1 + Me.txtSubcontractorNo.TabStop = False + ' + 'txtContactorName + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Appearance = Appearance1 + Me.txtContactorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtContactorName.Location = New System.Drawing.Point(120, 56) + Me.txtContactorName.Name = "txtContactorName" + Me.txtContactorName.Size = New System.Drawing.Size(160, 26) + Me.txtContactorName.TabIndex = 3 + ' + 'txtTelNo + ' + Me.txtTelNo.Location = New System.Drawing.Point(120, 88) + Me.txtTelNo.Name = "txtTelNo" + Me.txtTelNo.Size = New System.Drawing.Size(114, 26) + Me.txtTelNo.TabIndex = 5 + ' + 'frmSubcontractorContDef + ' + Me.ClientSize = New System.Drawing.Size(496, 446) + Me.Controls.Add(Me.gbxSubcontractorContData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorContDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Contactor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorContData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorContData.ResumeLayout(False) + Me.gbxSubcontractorContData.PerformLayout() + CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtContactorName, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據() + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + If DefMode = 0 Or DefMode = 2 Then + SetCreateDate(Now) + SetCreator(gUserNo) + End If + If Not EditDataRow Is Nothing Then '修改 or Copy + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtContactorName.Text = EditDataRow.Item("ContactorName").ToString + txtTelNo.Text = EditDataRow.Item("TelNo").ToString + txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString + txtTitle.Text = EditDataRow.Item("Title").ToString + txtAddress.Text = EditDataRow.Item("Address").ToString + txtEMail.Text = EditDataRow.Item("EMail").ToString + 'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料) + txtDescription.Text = EditDataRow.Item("Description").ToString + If DefMode = 1 Then + If (Not IsDBNull(EditDataRow("Creator"))) Then + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetCreator(EditDataRow.Item("Creator").ToString) + End If + End If + End If + + If DefMode = 0 Then 'Add + txtSubcontractorNo.Text = SubcontractorNo + SetCreateDate(Now) + SetCreator(gUserNo) + ElseIf DefMode = 1 Then 'Edit + txtContactorName.ReadOnly = True + SetReviseDate(Now) + SetReviser(gUserNo) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtContactorName.Focus() + Else + txtTelNo.Focus() + End If + + txtEMail.Text = "" + btnApplyEnabled = False + Cursor.Current = Cursors.Default + + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtContactorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Click + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Enter + txtContactorName.SelectAll() + End Sub + + Private Sub txtContactorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContactorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtContactorName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.Leave + If txtContactorName.Text <> "" And txtEMail.Text = "" Then + txtEMail.Text = txtContactorName.Text & "@" + End If + txtContactorName.Text = UCase(txtContactorName.Text) + End Sub + + Private Sub txtContactorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtContactorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter + txtTelNo.SelectAll() + End Sub + + Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter + txtFaxNo.SelectAll() + End Sub + + Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter + txtTitle.SelectAll() + End Sub + + Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter + txtEMail.SelectAll() + End Sub + + Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter + txtAddress.SelectAll() + End Sub + + Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescription.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查() + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + If txtContactorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ContactorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtContactorName.Focus() + Exit Function + End If + + '****************************************************************************** + '2.寫回資料庫() + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("contactorname", "ContactorName", "String", CInput(txtContactorName.Text), "") + strParameter = strParameter & CombineXMLParameter("telno", "TelNo", "String", txtTelNo.Text, "") + strParameter = strParameter & CombineXMLParameter("faxno", "FaxNo", "String", txtFaxNo.Text, "") + strParameter = strParameter & CombineXMLParameter("title", "Title", "String", CInput(txtTitle.Text), "") + strParameter = strParameter & CombineXMLParameter("address", "Address", "String", CInput(txtAddress.Text), "") + strParameter = strParameter & CombineXMLParameter("email", "EMail", "String", CInput(txtEMail.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter += CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.AddSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractorCont", InXml) + + Else 'Edit + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + ' 2016 YF, OutXml = wsENT.EditSubcontractorCont(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractorCont", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtContactorName.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Contactor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function +#End Region + + + Private Sub frmSubcontractorContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.resx b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.vb b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.vb new file mode 100644 index 0000000..c738f71 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/frmSubcontractorDef.vb @@ -0,0 +1,460 @@ +Imports iMESExceptionManager + +Public Class frmSubcontractorDef21670 + + Inherits COM_Kit.frmDefTemplat + + '//Public Variables + Public EditDataRow As DataRow + Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy + Public PrivFunNo As String = defString + + '//Web Service相關變數 + ' 2016 YF, Dim wsENT As New wsENT.wsENT + Dim InXml As String + Dim OutXml As String + + Dim strIdentity As String + Dim strParameter As String + Friend WithEvents txtWZ216670 As TextBox + Friend WithEvents Label1 As Label + Dim intDataStamp As Integer '紀錄DataStamp + +#Region " Windows Form Designer generated code " + + Public Sub New() + MyBase.New() + + 'This call is required by the Windows Form Designer. + InitializeComponent() + + 'Add any initialization after the InitializeComponent() call + + End Sub + + 'Form overrides dispose to clean up the component list. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + Friend WithEvents txtDescription As System.Windows.Forms.RichTextBox + Friend WithEvents lblDescription As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorNo As System.Windows.Forms.Label + Friend WithEvents lblSubcontractorName As System.Windows.Forms.Label + Friend WithEvents gbxSubcontractorData As System.Windows.Forms.GroupBox + Friend WithEvents txtSubcontractorNo As Infragistics.Win.UltraWinEditors.UltraTextEditor + Friend WithEvents txtSubcontractorName As Infragistics.Win.UltraWinEditors.UltraTextEditor + Private Sub InitializeComponent() + Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() + Me.gbxSubcontractorData = New System.Windows.Forms.GroupBox() + Me.txtDescription = New System.Windows.Forms.RichTextBox() + Me.lblDescription = New System.Windows.Forms.Label() + Me.lblSubcontractorNo = New System.Windows.Forms.Label() + Me.lblSubcontractorName = New System.Windows.Forms.Label() + Me.txtSubcontractorNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtSubcontractorName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() + Me.txtWZ216670 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() + Me.gbxSubcontractorData.SuspendLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'gbxBasisData + ' + Me.gbxBasisData.Location = New System.Drawing.Point(12, 185) + Me.gbxBasisData.Size = New System.Drawing.Size(479, 70) + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(403, 264) + ' + 'btnConfirm + ' + Me.btnConfirm.Location = New System.Drawing.Point(215, 264) + ' + 'btnClose + ' + Me.btnClose.Location = New System.Drawing.Point(309, 264) + ' + 'gbxSubcontractorData + ' + Me.gbxSubcontractorData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbxSubcontractorData.Controls.Add(Me.Label1) + Me.gbxSubcontractorData.Controls.Add(Me.txtWZ216670) + Me.gbxSubcontractorData.Controls.Add(Me.txtDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblDescription) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.lblSubcontractorName) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorNo) + Me.gbxSubcontractorData.Controls.Add(Me.txtSubcontractorName) + Me.gbxSubcontractorData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.gbxSubcontractorData.Location = New System.Drawing.Point(12, 8) + Me.gbxSubcontractorData.Name = "gbxSubcontractorData" + Me.gbxSubcontractorData.Size = New System.Drawing.Size(479, 169) + Me.gbxSubcontractorData.TabIndex = 7 + Me.gbxSubcontractorData.TabStop = False + Me.gbxSubcontractorData.Text = "Subcontractor Data" + ' + 'txtDescription + ' + Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtDescription.Location = New System.Drawing.Point(128, 86) + Me.txtDescription.Name = "txtDescription" + Me.txtDescription.Size = New System.Drawing.Size(334, 67) + Me.txtDescription.TabIndex = 2 + Me.txtDescription.Text = "" + ' + 'lblDescription + ' + Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDescription.Location = New System.Drawing.Point(56, 88) + Me.lblDescription.Name = "lblDescription" + Me.lblDescription.Size = New System.Drawing.Size(64, 14) + Me.lblDescription.TabIndex = 13 + Me.lblDescription.Text = "Description" + Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorNo + ' + Me.lblSubcontractorNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorNo.Location = New System.Drawing.Point(24, 24) + Me.lblSubcontractorNo.Name = "lblSubcontractorNo" + Me.lblSubcontractorNo.Size = New System.Drawing.Size(96, 32) + Me.lblSubcontractorNo.TabIndex = 5 + Me.lblSubcontractorNo.Text = "Subcontractor No" + Me.lblSubcontractorNo.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'lblSubcontractorName + ' + Me.lblSubcontractorName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblSubcontractorName.Location = New System.Drawing.Point(8, 56) + Me.lblSubcontractorName.Name = "lblSubcontractorName" + Me.lblSubcontractorName.Size = New System.Drawing.Size(112, 32) + Me.lblSubcontractorName.TabIndex = 9 + Me.lblSubcontractorName.Text = "Subcontractor Name" + Me.lblSubcontractorName.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSubcontractorNo + ' + Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Appearance = Appearance1 + Me.txtSubcontractorNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorNo.Location = New System.Drawing.Point(128, 24) + Me.txtSubcontractorNo.Name = "txtSubcontractorNo" + Me.txtSubcontractorNo.Size = New System.Drawing.Size(152, 26) + Me.txtSubcontractorNo.TabIndex = 0 + ' + 'txtSubcontractorName + ' + Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Appearance = Appearance2 + Me.txtSubcontractorName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.txtSubcontractorName.Location = New System.Drawing.Point(128, 55) + Me.txtSubcontractorName.Name = "txtSubcontractorName" + Me.txtSubcontractorName.Size = New System.Drawing.Size(334, 26) + Me.txtSubcontractorName.TabIndex = 1 + ' + 'txtWZ216670 + ' + Me.txtWZ216670.Location = New System.Drawing.Point(362, 25) + Me.txtWZ216670.Name = "txtWZ216670" + Me.txtWZ216670.Size = New System.Drawing.Size(100, 25) + Me.txtWZ216670.TabIndex = 14 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(297, 24) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(66, 17) + Me.Label1.TabIndex = 15 + Me.Label1.Text = "WZ21670" + ' + 'frmSubcontractorDef + ' + Me.ClientSize = New System.Drawing.Size(503, 309) + Me.Controls.Add(Me.gbxSubcontractorData) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "frmSubcontractorDef" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "ENT Subcontractor Define" + Me.Controls.SetChildIndex(Me.btnClose, 0) + Me.Controls.SetChildIndex(Me.btnConfirm, 0) + Me.Controls.SetChildIndex(Me.btnApply, 0) + Me.Controls.SetChildIndex(Me.gbxBasisData, 0) + Me.Controls.SetChildIndex(Me.gbxSubcontractorData, 0) + CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() + Me.gbxSubcontractorData.ResumeLayout(False) + Me.gbxSubcontractorData.PerformLayout() + CType(Me.txtSubcontractorNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtSubcontractorName, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSubcontractorDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + Select Case DefMode + Case 0 + Me.Text = Me.Text & "(ADD)" + Case 1 + Me.Text = Me.Text & "(EDIT)" + Case 2 + Me.Text = Me.Text & "(Copy)" + Case Else + Me.Text = Me.Text & "(Unknown)" + End Select + + '做為MainForm判斷是否重新LoadData的依據 + gReturnKeyValue = "" + + ' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString) + ' 2016 YF, wsENT.EnableDecompression = True + + If Not EditDataRow Is Nothing Then + txtSubcontractorNo.Text = EditDataRow.Item("SubcontractorNo").ToString + txtSubcontractorName.Text = EditDataRow.Item("SubcontractorName").ToString + 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 + txtDescription.Text = EditDataRow.Item("Description").ToString + End If + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + SetCreator(gUserNo) + SetCreateDate(Now) + ElseIf DefMode = 1 Then 'Edit + txtSubcontractorNo.ReadOnly = True + SetCreator(EditDataRow.Item("Creator").ToString) + SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate"))) + SetReviser(gUserNo) + SetReviseDate(Now) + intDataStamp = EditDataRow.Item("DataStamp") + End If + + btnApplyEnabled = False + + '語系切換 + Call ExeChangeResource(Me, gLanguageMode) + ExeGroupControlPriv(Me, PrivFunNo) + + Cursor.Current = Cursors.Default + + End Sub + + Private Sub frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + End If + End Sub + + Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + Me.Close() + + Cursor.Current = Cursors.Default + + End Sub + + Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + Me.Close() + End Sub + + Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) + + Cursor.Current = Cursors.WaitCursor + + If funAddorEdit(sender) < 0 Then Exit Sub + + If DefMode = 0 Or DefMode = 2 Then + txtSubcontractorNo.Focus() + Else + txtSubcontractorName.Focus() + + End If + + Cursor.Current = Cursors.Default + btnApplyEnabled = False + + End Sub + + Private Sub frmSubcontractorDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + ' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose() + End Sub + +#Region "Control KeyPress" + + Private Sub txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Click + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Enter + txtSubcontractorNo.SelectAll() + End Sub + + Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorNo.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.Leave + txtSubcontractorNo.Text = UCase(txtSubcontractorNo.Text) + End Sub + + Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorNo.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Click + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.Enter + txtSubcontractorName.SelectAll() + End Sub + + Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSubcontractorName.KeyPress + If e.KeyChar = Convert.ToChar(13) Then + SendKeys.Send("{TAB}") + End If + End Sub + + Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSubcontractorName.TextChanged + btnApplyEnabled = True + End Sub + + Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter + txtDescription.SelectAll() + End Sub + + Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged + btnApplyEnabled = True + End Sub + +#End Region + +#Region "Others" + + Private Function funAddorEdit(sender As Object) As Integer + + funAddorEdit = -1 + + '****************************************************************************** + '1.基本檢查 + '****************************************************************************** + If txtSubcontractorNo.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorNo%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorNo.Focus() + Exit Function + End If + + If txtSubcontractorName.Text = "" Then + iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%SubcontractorName%]"), MsgBoxStyle.Exclamation, Me.Text) + txtSubcontractorName.Focus() + Exit Function + End If + + '2. + '****************************************************************************** + '寫回資料庫 + '****************************************************************************** + Dim XmlDoc As New XmlDocument + + Try + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("subcontractorno", "SubcontractorNo", "String", CInput(txtSubcontractorNo.Text), "") + strParameter = strParameter & CombineXMLParameter("subcontractorname", "SubcontractorName", "String", CInput(txtSubcontractorName.Text), "") + strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "") + strParameter = strParameter & CombineXMLParameter("wz21670", "WZ21670", "String", CInput(txtWZ216670.Text), "") + + If DefMode = 0 Or DefMode = 2 Then 'Add or Copy + strParameter = strParameter & CombineXMLParameter("creator", "Creator", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("createdate", "CreateDate", "DateTime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.AddSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.AddSubcontractor", InXml) + + Else + '修改 + strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "") + ' 增加Datastamp + strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + ' 2016 YF, OutXml = wsENT.EditSubcontractor(InXml) + OutXml = InvokeSrv("SXS.wsENT.EditSubcontractor", InXml) + + End If + + XmlDoc.LoadXml(OutXml) + If ChkExecutionSuccess(XmlDoc) Then + gReturnKeyValue = txtSubcontractorNo.Text + + funAddorEdit = 0 + If sender.Equals(btnApply) Then + intDataStamp += 1 + End If + Else + ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc)) + End If + + Catch ex As Exception + 'MsgBox("Unexpected Error. Add or Edit ENT Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) + ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + + XmlDoc = Nothing + + End Function + + Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click + + End Sub + + Private Sub txtSubcontractorNo_ValueChanged(sender As Object, e As EventArgs) Handles txtSubcontractorNo.ValueChanged + + End Sub + + Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtWZ216670.TextChanged + + End Sub + + Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click + + End Sub + +#End Region + +End Class + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/iMES.snk b/SRC/MESWin/SYS4/21670ll/MESWin/SYS4/21670_1/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 254, 17 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/MDI_Panel.vb b/SRC/MESWin/SYS4/21670ll/MESWin/Test/MDI_Panel.vb new file mode 100644 index 0000000..e57dab1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/MDI_Panel.vb @@ -0,0 +1,1016 @@ +Imports iMESMainMenu +Imports Infragistics.Win +Imports Infragistics.Win.UltraWinToolbars +Public Class MDI_Panel + + Inherits System.Windows.Forms.Form + + '//Data + Dim dsData As New DataSet + Dim ModuleNo As String + Dim strUserPriv As String + + '//其他共用變數 + Dim i As Integer + Dim blnShow As Boolean + Dim imlMDI As New ImageList + + '// MainMenu & ToolBar變數 + Dim utbMDI As Infragistics.Win.UltraWinToolbars.UltraToolbar = New UltraToolbar("ToolBar") + Dim utbMDIMenu As Infragistics.Win.UltraWinToolbars.UltraToolbar = New UltraToolbar("MainMenu") + Dim OptionSet1 As Infragistics.Win.UltraWinToolbars.OptionSet = New Infragistics.Win.UltraWinToolbars.OptionSet("LanguageMode") + Dim btlMDI As ButtonTool + Dim popMDI As PopupMenuTool + Dim sbtMDI As StateButtonTool + + +#Region " Windows Form 設計工具產生的程式碼 " + + Public Sub New() + MyBase.New() + + '此呼叫為 Windows Form 設計工具的必要項。 + InitializeComponent() + + '在 InitializeComponent() 呼叫之後加入所有的初始設定 + + End Sub + + 'Form 覆寫 Dispose 以清除元件清單。 + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + '為 Windows Form 設計工具的必要項 + Private components As System.ComponentModel.IContainer + + '注意: 以下為 Windows Form 設計工具所需的程序 + '您可以使用 Windows Form 設計工具進行修改。 + '請勿使用程式碼編輯器來修改這些程序。 + Friend WithEvents UltraToolbarsManager1 As Infragistics.Win.UltraWinToolbars.UltraToolbarsManager + Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Left As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea + Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Right As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea + Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Top As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea + Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Bottom As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea + Friend WithEvents UltraDockManager1 As Infragistics.Win.UltraWinDock.UltraDockManager + Friend WithEvents _MDIENT_PanelUnpinnedTabAreaLeft As Infragistics.Win.UltraWinDock.UnpinnedTabArea + Friend WithEvents _MDIENT_PanelUnpinnedTabAreaRight As Infragistics.Win.UltraWinDock.UnpinnedTabArea + Friend WithEvents _MDIENT_PanelUnpinnedTabAreaTop As Infragistics.Win.UltraWinDock.UnpinnedTabArea + Friend WithEvents _MDIENT_PanelUnpinnedTabAreaBottom As Infragistics.Win.UltraWinDock.UnpinnedTabArea + Friend WithEvents _MDIENT_PanelAutoHideControl As Infragistics.Win.UltraWinDock.AutoHideControl + Friend WithEvents uebMenu As Infragistics.Win.UltraWinExplorerBar.UltraExplorerBar + Friend WithEvents WindowDockingArea1 As Infragistics.Win.UltraWinDock.WindowDockingArea + Friend WithEvents DockableWindow1 As Infragistics.Win.UltraWinDock.DockableWindow + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim DockAreaPane2 As Infragistics.Win.UltraWinDock.DockAreaPane = New Infragistics.Win.UltraWinDock.DockAreaPane(Infragistics.Win.UltraWinDock.DockedLocation.DockedLeft, New System.Guid("8666bbed-9885-4c68-819e-c049f9eac535")) + Dim DockableControlPane2 As Infragistics.Win.UltraWinDock.DockableControlPane = New Infragistics.Win.UltraWinDock.DockableControlPane(New System.Guid("5a475b0e-96d9-4cd0-973b-da8cba709615"), New System.Guid("00000000-0000-0000-0000-000000000000"), -1, New System.Guid("8666bbed-9885-4c68-819e-c049f9eac535"), -1) + Me.uebMenu = New Infragistics.Win.UltraWinExplorerBar.UltraExplorerBar() + Me.UltraToolbarsManager1 = New Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(Me.components) + Me._MDIENT_Panel_Toolbars_Dock_Area_Left = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() + Me._MDIENT_Panel_Toolbars_Dock_Area_Right = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() + Me._MDIENT_Panel_Toolbars_Dock_Area_Top = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() + Me.UltraDockManager1 = New Infragistics.Win.UltraWinDock.UltraDockManager(Me.components) + Me._MDIENT_PanelUnpinnedTabAreaLeft = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() + Me._MDIENT_PanelUnpinnedTabAreaRight = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() + Me._MDIENT_PanelUnpinnedTabAreaTop = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() + Me._MDIENT_PanelUnpinnedTabAreaBottom = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() + Me._MDIENT_PanelAutoHideControl = New Infragistics.Win.UltraWinDock.AutoHideControl() + Me.DockableWindow1 = New Infragistics.Win.UltraWinDock.DockableWindow() + Me.WindowDockingArea1 = New Infragistics.Win.UltraWinDock.WindowDockingArea() + CType(Me.uebMenu, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.UltraDockManager1, System.ComponentModel.ISupportInitialize).BeginInit() + Me._MDIENT_PanelAutoHideControl.SuspendLayout() + Me.DockableWindow1.SuspendLayout() + Me.SuspendLayout() + ' + 'uebMenu + ' + Me.uebMenu.Location = New System.Drawing.Point(0, 18) + Me.uebMenu.Name = "uebMenu" + Me.uebMenu.Size = New System.Drawing.Size(300, 424) + Me.uebMenu.TabIndex = 10 + ' + 'UltraToolbarsManager1 + ' + Me.UltraToolbarsManager1.DesignerFlags = 1 + Me.UltraToolbarsManager1.DockWithinContainer = Me + Me.UltraToolbarsManager1.DockWithinContainerBaseType = GetType(System.Windows.Forms.Form) + ' + '_MDIENT_Panel_Toolbars_Dock_Area_Left + ' + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.BackColor = System.Drawing.SystemColors.Control + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Left + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.ForeColor = System.Drawing.SystemColors.ControlText + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Location = New System.Drawing.Point(0, 0) + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Left" + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Size = New System.Drawing.Size(0, 442) + Me._MDIENT_Panel_Toolbars_Dock_Area_Left.ToolbarsManager = Me.UltraToolbarsManager1 + ' + '_MDIENT_Panel_Toolbars_Dock_Area_Right + ' + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.BackColor = System.Drawing.SystemColors.Control + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Right + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.ForeColor = System.Drawing.SystemColors.ControlText + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Location = New System.Drawing.Point(624, 0) + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Right" + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Size = New System.Drawing.Size(0, 442) + Me._MDIENT_Panel_Toolbars_Dock_Area_Right.ToolbarsManager = Me.UltraToolbarsManager1 + ' + '_MDIENT_Panel_Toolbars_Dock_Area_Top + ' + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.BackColor = System.Drawing.SystemColors.Control + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Top + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.ForeColor = System.Drawing.SystemColors.ControlText + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Location = New System.Drawing.Point(0, 0) + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Top" + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Size = New System.Drawing.Size(624, 0) + Me._MDIENT_Panel_Toolbars_Dock_Area_Top.ToolbarsManager = Me.UltraToolbarsManager1 + ' + '_MDIENT_Panel_Toolbars_Dock_Area_Bottom + ' + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.BackColor = System.Drawing.SystemColors.Control + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Bottom + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.ForeColor = System.Drawing.SystemColors.ControlText + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Location = New System.Drawing.Point(0, 442) + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Bottom" + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Size = New System.Drawing.Size(624, 0) + Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.ToolbarsManager = Me.UltraToolbarsManager1 + ' + 'UltraDockManager1 + ' + DockableControlPane2.Control = Me.uebMenu + DockableControlPane2.FlyoutSize = New System.Drawing.Size(239, -1) + DockableControlPane2.Key = "WIPModule" + DockableControlPane2.OriginalControlBounds = New System.Drawing.Rectangle(208, 112, 175, 230) + DockableControlPane2.Pinned = False + DockableControlPane2.Size = New System.Drawing.Size(100, 100) + DockableControlPane2.Text = "WIP" + DockAreaPane2.Panes.AddRange(New Infragistics.Win.UltraWinDock.DockablePaneBase() {DockableControlPane2}) + DockAreaPane2.Size = New System.Drawing.Size(239, 294) + Me.UltraDockManager1.DockAreas.AddRange(New Infragistics.Win.UltraWinDock.DockAreaPane() {DockAreaPane2}) + Me.UltraDockManager1.HostControl = Me + Me.UltraDockManager1.ShowCloseButton = False + ' + '_MDIENT_PanelUnpinnedTabAreaLeft + ' + Me._MDIENT_PanelUnpinnedTabAreaLeft.Dock = System.Windows.Forms.DockStyle.Left + Me._MDIENT_PanelUnpinnedTabAreaLeft.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me._MDIENT_PanelUnpinnedTabAreaLeft.Location = New System.Drawing.Point(0, 0) + Me._MDIENT_PanelUnpinnedTabAreaLeft.Name = "_MDIENT_PanelUnpinnedTabAreaLeft" + Me._MDIENT_PanelUnpinnedTabAreaLeft.Owner = Me.UltraDockManager1 + Me._MDIENT_PanelUnpinnedTabAreaLeft.Size = New System.Drawing.Size(21, 442) + Me._MDIENT_PanelUnpinnedTabAreaLeft.TabIndex = 5 + ' + '_MDIENT_PanelUnpinnedTabAreaRight + ' + Me._MDIENT_PanelUnpinnedTabAreaRight.Dock = System.Windows.Forms.DockStyle.Right + Me._MDIENT_PanelUnpinnedTabAreaRight.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me._MDIENT_PanelUnpinnedTabAreaRight.Location = New System.Drawing.Point(624, 0) + Me._MDIENT_PanelUnpinnedTabAreaRight.Name = "_MDIENT_PanelUnpinnedTabAreaRight" + Me._MDIENT_PanelUnpinnedTabAreaRight.Owner = Me.UltraDockManager1 + Me._MDIENT_PanelUnpinnedTabAreaRight.Size = New System.Drawing.Size(0, 442) + Me._MDIENT_PanelUnpinnedTabAreaRight.TabIndex = 6 + ' + '_MDIENT_PanelUnpinnedTabAreaTop + ' + Me._MDIENT_PanelUnpinnedTabAreaTop.Dock = System.Windows.Forms.DockStyle.Top + Me._MDIENT_PanelUnpinnedTabAreaTop.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me._MDIENT_PanelUnpinnedTabAreaTop.Location = New System.Drawing.Point(21, 0) + Me._MDIENT_PanelUnpinnedTabAreaTop.Name = "_MDIENT_PanelUnpinnedTabAreaTop" + Me._MDIENT_PanelUnpinnedTabAreaTop.Owner = Me.UltraDockManager1 + Me._MDIENT_PanelUnpinnedTabAreaTop.Size = New System.Drawing.Size(603, 0) + Me._MDIENT_PanelUnpinnedTabAreaTop.TabIndex = 7 + ' + '_MDIENT_PanelUnpinnedTabAreaBottom + ' + Me._MDIENT_PanelUnpinnedTabAreaBottom.Dock = System.Windows.Forms.DockStyle.Bottom + Me._MDIENT_PanelUnpinnedTabAreaBottom.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me._MDIENT_PanelUnpinnedTabAreaBottom.Location = New System.Drawing.Point(21, 442) + Me._MDIENT_PanelUnpinnedTabAreaBottom.Name = "_MDIENT_PanelUnpinnedTabAreaBottom" + Me._MDIENT_PanelUnpinnedTabAreaBottom.Owner = Me.UltraDockManager1 + Me._MDIENT_PanelUnpinnedTabAreaBottom.Size = New System.Drawing.Size(603, 0) + Me._MDIENT_PanelUnpinnedTabAreaBottom.TabIndex = 8 + ' + '_MDIENT_PanelAutoHideControl + ' + Me._MDIENT_PanelAutoHideControl.Controls.Add(Me.DockableWindow1) + Me._MDIENT_PanelAutoHideControl.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me._MDIENT_PanelAutoHideControl.Location = New System.Drawing.Point(21, 0) + Me._MDIENT_PanelAutoHideControl.Name = "_MDIENT_PanelAutoHideControl" + Me._MDIENT_PanelAutoHideControl.Owner = Me.UltraDockManager1 + Me._MDIENT_PanelAutoHideControl.Size = New System.Drawing.Size(14, 442) + Me._MDIENT_PanelAutoHideControl.TabIndex = 9 + ' + 'DockableWindow1 + ' + Me.DockableWindow1.Controls.Add(Me.uebMenu) + Me.DockableWindow1.Location = New System.Drawing.Point(0, 0) + Me.DockableWindow1.Name = "DockableWindow1" + Me.DockableWindow1.Owner = Me.UltraDockManager1 + Me.DockableWindow1.Size = New System.Drawing.Size(239, 442) + Me.DockableWindow1.TabIndex = 17 + ' + 'WindowDockingArea1 + ' + Me.WindowDockingArea1.Dock = System.Windows.Forms.DockStyle.Left + Me.WindowDockingArea1.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me.WindowDockingArea1.Location = New System.Drawing.Point(21, 0) + Me.WindowDockingArea1.Name = "WindowDockingArea1" + Me.WindowDockingArea1.Owner = Me.UltraDockManager1 + Me.WindowDockingArea1.Size = New System.Drawing.Size(244, 294) + Me.WindowDockingArea1.TabIndex = 11 + ' + 'MDI_Panel + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 14) + Me.ClientSize = New System.Drawing.Size(624, 442) + Me.Controls.Add(Me._MDIENT_PanelAutoHideControl) + Me.Controls.Add(Me.WindowDockingArea1) + Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaTop) + Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaBottom) + Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaLeft) + Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaRight) + Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Left) + Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Right) + Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom) + Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Top) + Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) + Me.IsMdiContainer = True + Me.Name = "MDI_Panel" + Me.Text = "Test" + Me.WindowState = System.Windows.Forms.FormWindowState.Maximized + CType(Me.uebMenu, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.UltraDockManager1, System.ComponentModel.ISupportInitialize).EndInit() + Me._MDIENT_PanelAutoHideControl.ResumeLayout(False) + Me.DockableWindow1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub MDIENT_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + Cursor.Current = Cursors.WaitCursor + + ''---掛載Online Help---- + Dim clsHelp As New clsOnlineHelp + clsHelp.AddEventToForm(Me) + + 'set BackColor + Call setMDIBackColor(Me) + + ModuleNo = "SYS" + + ' 2016/05/09 YF, 產生選單 + GenerateMenu() + + '3.Get EnterpriseNo----------------------------------------------------------------------------------------------------------- + Call funGetEnterpriseNo() + + '4.版本檢查 + Call ChkVersion() + + 'Me.Text = Me.Text & " - " & GetClientVersion() 'Gary Lu 20120718:標題加上版本編號 + + '5.Execute Change Resource----------------------------------------------------------------------------------------------------- + 'Call ExeChangeResource(Me, gLanguageMode) + + '6.Set iMESExceptionManager LanguageMode--------------------------------------------------------------------------------------- + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + Cursor.Current = Cursors.Default + + End Sub + +#Region " UltraWinToolbars Menu & ToolBar Function " + + Private Function funCreateUltraPopupMenuToolbar(ByRef ParentMenuItem As iMESMenuItem) As PopupMenuTool + + + 'PopupMenuTool + popMDI = New PopupMenuTool(ParentMenuItem.Name) + popMDI.SharedProps.Tag = ParentMenuItem.Name + popMDI.SharedProps.ToolTipText = ParentMenuItem.Name + UltraToolbarsManager1.Tools.Add(popMDI) + + Return popMDI + + End Function + + Private Function funCreateUltraButtonMenuToolbar(ByRef ParentMenuItem As iMESMenuItem) + + 'Button Tool + btlMDI = New ButtonTool(ParentMenuItem.Name) + btlMDI.SharedProps.Tag = ParentMenuItem.Name + btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name + UltraToolbarsManager1.Tools.Add(btlMDI) + + utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) + + End Function + + Private Sub funCreateUltraMenuItemToolbar(ByRef tmppopMDI As PopupMenuTool, ByRef ParentMenuItem As iMESMenuItem, Optional ByVal btlEnabled As Boolean = True) + + If ParentMenuItem.Name.ToUpper = "EN" Or ParentMenuItem.Name.ToUpper = "ZH-CHT" Or + ParentMenuItem.Name.ToUpper = "ZH-CHS" Or ParentMenuItem.Name.ToUpper = "JP" Or + ParentMenuItem.Name.ToUpper = "KOR" Or ParentMenuItem.Name.ToUpper = "THAI" Or + ParentMenuItem.Name.ToUpper = "VIET" Then + + funCreateUltraStatButtonToolbar(tmppopMDI, ParentMenuItem, , "LanguageMode") + + ElseIf ParentMenuItem.Checkable = True Then + + funCreateUltraStatButtonToolbar(tmppopMDI, ParentMenuItem, btlEnabled) + + Else + + '產生UltraToolBar Button + btlMDI = New ButtonTool(ParentMenuItem.Name) + btlMDI.SharedProps.Tag = ParentMenuItem.Name + btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name + btlMDI.SharedProps.Enabled = btlEnabled + + If Not ParentMenuItem.Icon Is Nothing Then + 'Image + imlMDI.Images.Add(ParentMenuItem.Icon) + + btlMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 + + End If + + + btlMDI.SharedProps.Shortcut = ParentMenuItem.Shortcut + + UltraToolbarsManager1.Tools.Add(btlMDI) + tmppopMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) + + End If + + + End Sub + + Private Sub funCreateUltraStatButtonToolbar(ByRef tmppopMDI As PopupMenuTool, ByRef ParentMenuItem As iMESMenuItem, Optional ByVal btlEnabled As Boolean = True, Optional ByVal tmpOptionSetKey As String = "") + + '產生UltraToolBar Button + sbtMDI = New StateButtonTool(ParentMenuItem.Name) + sbtMDI.MenuDisplayStyle = Infragistics.Win.UltraWinToolbars.StateButtonMenuDisplayStyle.DisplayCheckmark + sbtMDI.SharedProps.Tag = ParentMenuItem.Name + sbtMDI.SharedProps.ToolTipText = ParentMenuItem.Name + sbtMDI.SharedProps.Enabled = btlEnabled + sbtMDI.OptionSetKey = tmpOptionSetKey + + If gLanguageMode.ToUpper = ParentMenuItem.Name.ToUpper Or ParentMenuItem.Checked = True Then + sbtMDI.Checked = True + End If + + + If Not ParentMenuItem.Icon Is Nothing Then + 'Image + imlMDI.Images.Add(ParentMenuItem.Icon) + + sbtMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 + + End If + + sbtMDI.SharedProps.Shortcut = ParentMenuItem.Shortcut + + UltraToolbarsManager1.Tools.Add(sbtMDI) + tmppopMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {sbtMDI}) + + End Sub + + Private Sub funCreateUltraToolbar(ByRef ParentMenuItem As iMESMenuItem) + + '產生UltraToolBar Button + If Not ParentMenuItem.Icon Is Nothing Then + 'Image + imlMDI.Images.Add(ParentMenuItem.Icon) + 'Button + btlMDI = New ButtonTool(ParentMenuItem.Name) + btlMDI.SharedProps.Tag = ParentMenuItem.Name + btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name + btlMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 + utbMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) + End If + + End Sub + +#End Region + + +#Region " UltraWinExplorerBar & UltraWinToolbars Events " + + + Private Sub uebRPTMenu_ItemClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinExplorerBar.ItemEventArgs) Handles uebMenu.ItemClick + ExecutingFunction(e.Item.Key) + End Sub + + Private Sub uebRPTMenu_ItemDoubleClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinExplorerBar.ItemEventArgs) Handles uebMenu.ItemDoubleClick + ExecutingFunction(e.Item.Key) + End Sub + + Private Sub UltraToolbarsManager1_ToolClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinToolbars.ToolClickEventArgs) Handles UltraToolbarsManager1.ToolClick + + Dim strOptionSetKey As String = "" + + If (e.Tool.GetType Is GetType(StateButtonTool)) Then + strOptionSetKey = CType(e.Tool, StateButtonTool).OptionSetKey + End If + + ExecutingFunction(e.Tool.Key, strOptionSetKey) + + End Sub + + Protected Sub ExecutingFunction(ByVal FunctionKey As String, Optional OptionSetKey As String = "") + Dim strFormName As String + Dim TempChild As Form + Dim CurrentForm As Form + Cursor.Current = Cursors.WaitCursor + Try + + ' 2016/05/09 YF, 重新產生選單 + If OptionSetKey = "MODULE" Then + ModuleNo = FunctionKey.Replace("Module", "") + GenerateMenu() + Exit Sub + End If + + Select Case FunctionKey.ToUpper + Case "EXIT" + 'End + Me.Close() + Case "CASCADE" + Me.LayoutMdi(MdiLayout.Cascade) + Case "VERTICAL" + Me.LayoutMdi(MdiLayout.TileVertical) + Case "HORIZONTAL" + Me.LayoutMdi(MdiLayout.TileHorizontal) + + 'Change Language Mode + Case "zh-CHT".ToUpper + gLanguageMode = "zh-CHT" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "zh-CHS".ToUpper + gLanguageMode = "zh-CHS" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "en".ToUpper + gLanguageMode = "en" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "jp".ToUpper + gLanguageMode = "jp" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "kor".ToUpper 'Korea(韓國語系) + gLanguageMode = "kor" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "thai".ToUpper 'Thailand(泰國語系) + gLanguageMode = "thai" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "viet".ToUpper 'VietNam(越南語系) + gLanguageMode = "viet" + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + CurrentForm = Form.ActiveForm + + If Not CurrentForm Is Nothing Then + Call ExeChangeResource(CurrentForm, gLanguageMode) + End If + + '變更畫面上的表單(僅限MDI Child Form) + For Each TempChild In Me.MdiChildren + If Not (TempChild Is CurrentForm) Then + Call ExeChangeResource(TempChild, gLanguageMode) + End If + Next + + '變更其他語系的Checked為False + 'Call funChangeChecked(mnuMenuItem) + + Case "ABOUTME" + strFormName = "frmAboutMe" + blnShow = False + For i = 0 To Me.MdiChildren.Length - 1 + If Me.MdiChildren(i).Name = strFormName Then + Me.MdiChildren(i).Focus() + blnShow = True + Exit For + End If + Next + + If blnShow = False Then '目前沒有顯示 + + Dim mainAssembly As System.Reflection.Assembly = LoadAssembly("COM_AboutMe.dll") + + If (mainAssembly Is Nothing) Then + Exit Sub + End If + + Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.GetName.Name & "." & strFormName) + + If objForm Is Nothing Then 'Form不存在 + MsgBox("Form : " & strFormName & " is not exist!!", MsgBoxStyle.Exclamation) + Exit Sub + End If + + objForm.MdiParent = MDI_Panel.ActiveForm + objForm.AutoScaleMode = Windows.Forms.AutoScaleMode.None + objForm.Show() + + End If + + Case Else + + Dim strExecutionFile As String = dsData.Tables(strUserPriv).Select("FunctionNo='" & FunctionKey & "'")(0)("ExecutionFile") + strFormName = dsData.Tables(strUserPriv).Select("FunctionNo='" & FunctionKey & "'")(0)("FormName") + + If (Not Application.OpenForms.Item(strFormName) Is Nothing) AndAlso (strFormName <> "frmRPT_Script") Then + If Application.OpenForms.Item(strFormName).WindowState <> FormWindowState.Normal Then Application.OpenForms.Item(strFormName).WindowState = FormWindowState.Normal + Application.OpenForms.Item(strFormName).Focus() + Exit Sub + End If + + Dim mainAssembly As System.Reflection.Assembly = LoadAssembly(strExecutionFile) + + If (mainAssembly Is Nothing) Then + Exit Sub + End If + + 'Show Form + 'Dim mainAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly + 'Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.EntryPoint.ReflectedType.Namespace & "." & strFormName) + Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.GetName.Name & "." & strFormName) + + If objForm Is Nothing Then 'Form不存在 + MsgBox("Form : " & strFormName & " is not exist!!", MsgBoxStyle.Exclamation) + Exit Sub + End If + + objForm.MdiParent = MDI_Panel.ActiveForm + + '設定值予公用變數 + Dim myfieldinfo() As System.Reflection.FieldInfo + Dim myType As Type = objForm.GetType + Dim i As Integer + myfieldinfo = myType.GetFields() + For i = 0 To myfieldinfo.Length - 1 + If myfieldinfo(i).Name.ToUpper = "PrivFunNo".ToUpper Then + myfieldinfo(i).SetValue(objForm, FunctionKey) + End If + Next i + objForm.AutoScaleMode = Windows.Forms.AutoScaleMode.None + objForm.Show() + + End Select + + Catch ex As Exception + MsgBox("This Function can not be executed. " & ex.Message, MsgBoxStyle.Exclamation, "Warning") + 'ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) + End Try + Cursor.Current = Cursors.Default + End Sub + +#End Region + + Private Sub funLoadUserPriv() + + If (Not dsData.Tables(strUserPriv) Is Nothing) Then + dsData.Tables.Remove(strUserPriv) + End If + + Dim XmlDoc As New XmlDocument '處理Xml字串之物件? + Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 + Dim InXml, OutXml, strIdentity, strParameter As String '呼叫WS的字串參數 + Dim XmlData, XmlSchema As String '儲存取回之資料及資料結構 + + '組InXml的字串 + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("userno", "UserNo", "String", gUserNo, "") + strParameter = strParameter & CombineXMLParameter("moduleno", "ModuleNo", "String", ModuleNo, "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + OutXml = InvokeSrv("wsUSR.LoadUserPriv", InXml) + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + strUserPriv = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loaduserpriv").Item(0).SelectNodes("name").Item(0).InnerXml + '取出Data + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loaduserpriv").Item(0).SelectNodes("value").Item(0).InnerXml + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsData.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + Else + MsgBox(GetExceptionSysMsg(XmlDoc) & Chr(13) & GetExceptionMesMsg(XmlDoc), MsgBoxStyle.Exclamation) + Exit Sub + End If + + Catch e1 As Exception + MsgBox("Unexpected Error. Load User's Priv Failed," & e1.Message, MsgBoxStyle.Exclamation) + Finally + XmlDoc = Nothing + tmpStringReader = Nothing + + End Try + + End Sub + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + Public Sub funGetEnterpriseNo() + + Dim XmlDoc As New XmlDocument + Dim tmpStringReader As System.IO.StringReader + Dim InXml, OutXml, strIdentity, strParameter, XmlData, XmlSchema, strPara As String + Dim dsTemp As New DataSet + + strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) + strParameter = CombineXMLParameter("parameterno", "ParameterNo", "String", "EnterpriseNo", "") + InXml = CombineXMLRequest(strIdentity, strParameter) + + Try + + OutXml = InvokeSrv("wsSYS.LoadParameter", InXml) + + XmlDoc.LoadXml(OutXml) + + If ChkExecutionSuccess(XmlDoc) Then + + strPara = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadparameter").Item(0).SelectNodes("name").Item(0).InnerXml + + XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadparameter").Item(0).SelectNodes("schema").Item(0).InnerXml + + If XmlSchema <> "" Then + '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 + tmpStringReader = New System.IO.StringReader(XmlSchema) + dsTemp.ReadXmlSchema(tmpStringReader) + tmpStringReader.Close() + End If + + XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadparameter").Item(0).SelectNodes("value").Item(0).InnerXml + + If XmlData <> "" Then + tmpStringReader = New System.IO.StringReader(XmlData) + dsTemp.ReadXml(tmpStringReader, XmlReadMode.InferSchema) + tmpStringReader.Close() + End If + + If dsTemp.Tables(strPara).Rows.Count > 0 Then + gEnterpriseNo = dsTemp.Tables(strPara).Rows(0)("ParameterValue").ToString.ToUpper + End If + + Else + MsgBox(GetExceptionSysMsg(XmlDoc) & Chr(13) & GetExceptionMesMsg(XmlDoc), MsgBoxStyle.Exclamation) + End If + + Catch ex As Exception + MsgBox("Unexpected Error. GetEnterpriseNo failed, " & ex.Message, MsgBoxStyle.Exclamation) + Finally + XmlDoc = Nothing + tmpStringReader = Nothing + dsTemp = Nothing + End Try + + End Sub + + ' 2016/05/09 YF, 產生模組選單 + Private Sub GenerateModuleItems() + + Dim aryModule() As String = {"AUT", "DT", "EMS", "ENT", "EQP", "IEW", "INV", "ISU", "MSA", "MTL", "OE", "OP", "PM", "PRD", "PRS", "QC", "RPT", "SMD", "SPC", "SYS", "USR", "WIP"} + Dim popModule As PopupMenuTool + Dim sbt As StateButtonTool + + Try + + popModule = New PopupMenuTool("MODULE") + popModule.SharedProps.Tag = "MODULE" + popModule.SharedProps.ToolTipText = "MODULE" + UltraToolbarsManager1.Tools.Add(popModule) + + '產生UltraToolBar Button + For Each m As String In aryModule + + sbt = New StateButtonTool(m & "Module") + sbt.MenuDisplayStyle = Infragistics.Win.UltraWinToolbars.StateButtonMenuDisplayStyle.DisplayCheckmark + sbt.CustomizedCaption = m + sbt.SharedProps.Tag = m + sbt.SharedProps.ToolTipText = m + sbt.SharedProps.Enabled = True + sbt.OptionSetKey = "MODULE" + + If ModuleNo = m Then + sbt.Checked = True + End If + + UltraToolbarsManager1.Tools.Add(sbt) + popModule.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {sbt}) + + Next + + Me.utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {popModule}) + + Me.utbMDIMenu.Tools.Item("MODULE").CustomizedIsFirstInGroup = DefaultableBoolean.True + + Catch ex As Exception + MsgBox("GenerateModuleMenu failed, " & ex.Message, MsgBoxStyle.Exclamation) + End Try + + End Sub + + Private Sub GenerateMenu() + + Try + + ' 2016/05/09 YF, 清空選單 + RemoveObject() + + '取出User Privileges + Call funLoadUserPriv() + + '1.Create MainMenu------------------------------------------------------------------------------------------------------------- + Dim strFileName As String + strFileName = GetMainMenuFileName() + + '檢查檔案是否存在 + If Dir(strFileName) = "" Then 'File not exist + MsgBox(strFileName & vbCrLf & "is not exist,Load MDI Form failed!!", MsgBoxStyle.Exclamation) + Exit Sub + End If + + '將處理 MenuItem 被點選的函數以 EventHandler Delegation 傳給 mnuMainMenu + Dim mnuMainMenu As New iMESMainMenu.iMESMainMenuControl(strFileName, Nothing) + + 'Add ExplorerBar MainMenu By carl 2007.08.14 + Dim j As Integer + Dim tempMenuSplit As Integer = defInteger + Dim panelmenu As MainMenu = New MainMenu(mnuMainMenu.CreateMainMenu(ModuleNo)) + Dim tmpMenuItem1 As iMESMenuItem + Dim tmpPopMenu As PopupMenuTool + UltraDockManager1.ControlPanes(0).Pinned = False + UltraDockManager1.ShowCloseButton = False + + uebMenu.GroupSettings.AllowDrag = DefaultableBoolean.False + uebMenu.GroupSettings.AllowEdit = DefaultableBoolean.False + uebMenu.GroupSettings.AllowItemDrop = DefaultableBoolean.False + uebMenu.ItemSettings.AllowDragCopy = UltraWinExplorerBar.ItemDragStyle.None + uebMenu.ItemSettings.AllowDragMove = UltraWinExplorerBar.ItemDragStyle.None + uebMenu.ItemSettings.AllowEdit = DefaultableBoolean.False + uebMenu.ShowDefaultContextMenu = False + + uebMenu.ItemSettings.UseDefaultImage = Infragistics.Win.DefaultableBoolean.False + uebMenu.ItemSettings.MaxLines = 2 + + If Not dsData.Tables(strUserPriv) Is Nothing Then '沒有任何權限,所有Privilege MenuItem都不可使用 + + For i = 0 To panelmenu.MenuItems.Count - 1 + tmpMenuItem1 = CType(panelmenu.MenuItems(i), iMESMenuItem) + + If i <= panelmenu.MenuItems.Count - 4 Then + uebMenu.Groups.Add(tmpMenuItem1.Text.ToUpper) + uebMenu.Groups(i).Expanded = True + End If + + If tmpMenuItem1.Name.ToUpper = "EXIT" Then + + funCreateUltraButtonMenuToolbar(tmpMenuItem1) + + Else + + tmpPopMenu = funCreateUltraPopupMenuToolbar(tmpMenuItem1) + + For j = 0 To tmpMenuItem1.MenuItems.Count - 1 + If CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuPrivilege Then + If dsData.Tables(strUserPriv).Select("FunctionNo='" & tmpMenuItem1.MenuItems(j).Text.ToUpper & "'").Length > 0 Then + funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) + + uebMenu.Groups(i).Items.Add(tmpMenuItem1.MenuItems(j).Text) + + funCreateUltraToolbar(CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) + + If tempMenuSplit = j Then + tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True + End If + + Else + funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem), False) + + If tempMenuSplit = j Then + tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True + End If + + End If + + ElseIf CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuString Then + + + funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) + + If tempMenuSplit = j Then + tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True + End If + + ElseIf CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuSplit Then + + tempMenuSplit = j + 1 + + End If + + Next + + utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {tmpPopMenu}) + + End If + + Next + + End If + + 'Add UltraToolBar----------------------------------------------------------------------------------------------------------------- + If utbMDI.Tools.Count > 0 Then + imlMDI.ImageSize = New Size(24, 24) + utbMDI.Text = "Toolbar" + utbMDI.Settings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText + utbMDI.Settings.CaptionPlacement = TextPlacement.Default + utbMDI.IsMainMenuBar = False + utbMDI.DockedPosition = DockedPosition.Top + UltraToolbarsManager1.Style = ToolbarStyle.Office2003 + UltraToolbarsManager1.ImageListSmall = imlMDI + UltraToolbarsManager1.Toolbars.Add(utbMDI) + End If + + 'Add Menu UltraToolBar----------------------------------------------------------------------------------------------------------------- + If utbMDIMenu.Tools.Count > 0 Then + imlMDI.ImageSize = New Size(24, 24) + utbMDIMenu.Text = "MainMenu" + utbMDIMenu.Settings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText + utbMDIMenu.Settings.CaptionPlacement = TextPlacement.Default + utbMDIMenu.IsMainMenuBar = True + utbMDIMenu.DockedPosition = DockedPosition.Top + UltraToolbarsManager1.OptionSets.Add(OptionSet1) + UltraToolbarsManager1.Style = ToolbarStyle.Office2003 + UltraToolbarsManager1.ImageListSmall = imlMDI + UltraToolbarsManager1.Toolbars.Add(utbMDIMenu) + UltraToolbarsManager1.Toolbars("MainMenu").ToolbarsManager.ToolbarSettings.ToolSpacing = 5 + End If + + ' 2016/05/09 YF, 產生模組選單 + GenerateModuleItems() + + Catch ex As Exception + MsgBox("GenerateMenuItem failed, " & ex.Message, MsgBoxStyle.Exclamation) + Finally + Me.Text = "Test" + ExeChangeResource(Me, gLanguageMode) + End Try + + End Sub + + Private Sub RemoveObject() + + uebMenu.Groups.Clear() + utbMDIMenu.Tools.Clear() + utbMDI.Tools.Clear() + UltraToolbarsManager1.Toolbars.Clear() + UltraToolbarsManager1.Tools.Clear() + UltraToolbarsManager1.OptionSets.Clear() + Me.UltraDockManager1.DockAreas(0).Panes.Item(0).Text = ModuleNo + Me.UltraDockManager1.DockAreas(0).Panes.Item(0).Key = ModuleNo & "Module" + + For i As Integer = Application.OpenForms.Count - 1 To 0 Step -1 + + If (Application.OpenForms.Item(i).Name <> "MDI_Panel") Then + Application.OpenForms.Item(i).Close() + End If + + Next + + End Sub + +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.Designer.vb new file mode 100644 index 0000000..4f9342a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/AssemblyInfo.vb b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..d43ca3b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 組件的一般資訊是由下列的屬性集控制。 +' 變更這些屬性的值即可修改組件的相關 +' 資訊。 + +' 檢閱組件屬性的值 + + + + + + + + + + +'下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID + + +' 組件的版本資訊由下列四個值所組成: +' +' 主要版本 +' 次要版本 +' 組建編號 +' 修訂編號 +' +' 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +' 指定為預設值: +' + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.Designer.vb new file mode 100644 index 0000000..3995654 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '這個類別是自動產生的,是利用 StronglyTypedResourceBuilder + '類別透過 ResGen 或 Visual Studio 這類工具。 + '若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen + '(利用 /str 選項),或重建您的 VS 專案。 + ''' + ''' 用於查詢當地語系化字串等的強類型資源類別。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 傳回這個類別使用的快取的 ResourceManager 執行個體。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Test.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有 + ''' 使用這個強類型資源類別的資源查閱。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' 查詢類型 System.Byte[] 的當地語系化資源。 + ''' + Friend ReadOnly Property iMES() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("iMES", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.resx b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.resx new file mode 100644 index 0000000..c14f0b3 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\resources\imes.isl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.Designer.vb b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.Designer.vb new file mode 100644 index 0000000..d0b470b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' 這段程式碼是由工具產生的。 +' 執行階段版本:4.0.30319.42000 +' +' 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +' 變更將會遺失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自動儲存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Test.My.MySettings + Get + Return Global.Test.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.settings new file mode 100644 index 0000000..f7f176a --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/Settings.settings @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/licenses.licx b/SRC/MESWin/SYS4/21670ll/MESWin/Test/My Project/licenses.licx new file mode 100644 index 0000000..e69de29 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/Resources/iMES.isl b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Resources/iMES.isl new file mode 100644 index 0000000..0679a67 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Resources/iMES.isl @@ -0,0 +1,4303 @@ + + + + 2015-02-05T03:06:30 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA3gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADgElEQVRoQ+2XzWsTQRjGq/Qk1YOgFz3qHyLFi4LeRAri0YMHTx68eCseBMFL8W+waGPRIoixYkUrUmgVaZKaNJ/bbNpNm48mjUle531lttPpZGcm0IvMAw+Tncy7s89vZ2eTkVwuB7aOx+PWnpyctPax52k4bmEcP0wNQWi328auVCoUykYcQqPRMDaOx4u0EQ9mIxzvIDgIDgLJQWByEJgcBCYHgclBYHIQmBwEphACBjN1sVikULbGULbmoY7aI6urq2BrVUidVSF1tv0zNIzpDxSGspHneRTKRhyCatkPMo7Hi7QRD2YjHO8gmEDodrtQKBSgWq3SsQmErb0eXF/YgGe/a3RsAiFfrcHVj0V4+qtCxyYQ5HlMIKhqIiEggFKpRPsAgkDpIOAkE199GGEnv7ZQpj4dBARwY6FENVfmi9Sng6CaRwdhUM1ACP1+nwLj9/gGQSCoKAidXh9uf/Npsxmf92Cj9a8mCkK11oCJzyWqufS+AOmgRv1REAbNEwUhqiaEgL8BMGyz2aTjIAggkUhAOp2G3d1d6kOJEJa39+DyR3bst4DNAY8T23DiRQYuzuXhU6VFY1AihEVvG8bjBZjLBlCrs7ArPtVceJOFd/kghCNCMJ1HhGBTE0Iol8t019fW1sD3fUgmk5BKpaDV2i9AiRDuLm0S2fOvc3B/eQtOzazD2dksfNls0/dcIoQ7ix7VnJtdh3vfN+DkywycebUOH/LVEIAMwXQeEYJNzYHHAQPi3cc+BMBXhSj5cbi1WIbR6Qw9Z6djWXjr7a8aLhEC+iZb/qPTbHKsmclALLO/ArhFCCiTeUQIKNOaAxB6vR79KsRVgI8D7guyZAjNPz14+DOAMXZHnyR3oNU9XCND8Hfq8GCpDGNseT764cNmrX4AAFqGYDKPDMG05tDGiME7nY4SAEqGgMKTp+od2nxUkiGgMfiKv0Mbo9jPLUNA6eaRIaBMag5B0EkFQScVBJ1VEHRSQdAphIDBTI1vCwxlawxlax7qqE3/Im2tCqmzKqTOuLurLnqQcfwwNQTBRhyCjTgEG8ViMbpIG+FbYJiaEAK/y1Hm4zgEOoHGKBGCaoxslAhBNUY2HzdMjYOAn8VwOvNxDgJrHQTWOgisdRBY6yCw1kFg7X8LwVQiBFOJEEwlQjAVBhqmhiDYGkPZGiFgMFNPTU2Fd+xonYa/RnTXOFz4kRIAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + 249, 249, 249 + MiddleCenter + + + + + White + Segoe UI, 9pt + 75, 75, 75 + MiddleLeft + MiddleLeft + + + + + White + Segoe UI, 8.25pt + 75, 75, 75 + + + + + White + Segoe UI, 9pt + 75, 75, 75 + + + + + 75, 75, 75 + White + 0, 170, 222 + White + Silver + Left + Long + False + False + + + + + White + Segoe UI, 9pt + 75, 75, 75 + + + + + White + Flat + Segoe UI, 9pt + 75, 75, 75 + + + + + White + None + Microsoft Sans Serif, 12pt + 0, 170, 222 + MiddleCenter + + + + + 0, 170, 222 + White + None + Gainsboro + Flat + Segoe UI, 9.75pt, style=Bold + MiddleCenter + AlwaysUnderline + 133, 133, 133 + MiddleCenter + 179, 230, 245 + + + + + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + + + + + True + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + Nonclickable + LargeIcon + + + + + White + 75, 75, 75 + True + True + 0, 170, 222 + White + 191, 191, 191 + + + + + White + None + Segoe UI, 8.25pt + 75, 75, 75 + + + + + White + None + + + + + White + White + 75, 75, 75 + Segoe UI, 9pt + White + White + True + White + True + White + 75, 75, 75 + + + + + White + Segoe UI, 9pt + 75, 75, 75 + MiddleCenter + MiddleLeft + + + + + White + None + 75, 75, 75 + + + + + White + None + 75, 75, 75 + + + + + 133, 133, 133 + None + + + + + Segoe UI, 9pt + True + + + + + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + Left + + + + + White + + + + + White + None + False + Segoe UI, 9pt + 75, 75, 75 + False + False + True + 25 + False + True + True + + + + + White + Segoe UI, 8.25pt + 75, 75, 75 + + + + + + True + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA7QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADj0lEQVRoQ+2YzWsTQRiHq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OKteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXuf3ym4n2012JuBtHvgddjNvZt9nZycfI8lkknQTDAa1Mzk5qZ0jz2N0VCMYP0wNS2g2m8opFArclA5ra2vcVK1WU04gEOCL1OH2t8JQNUaCkWAkMEaCwEgQGAkCI0FgJAiMBIGRIHAkoDHVZDIZloDGVBMKhVgCGlPN1NQUf6/HRarmwtvUUDUj6+vrpBtI0A0k6GaYH0PD1LAEHXK5HDelgy3Ba9n3C8bjInWwG9MB440EFQntdpvS6TSVy2U+VpFQ3O/QtcUteva7wscqElLlCl1ZyNDTXwU+VpHgnkdFglfNQAkQkM1meR+ACOAnAZNMhCwaEW9+dTHP5/wkQMD1xSzXXJ7P8Dk/CV7z+EnoV9NXQrfb5YbxOj5BIAQMktDqdOnWV4s3m/H5HG01/tUMklCu1Gjic5ZrLn5IU6xU4fODJPSbZ5CEQTWOBHwHQLP1ep2PS6UShcNhisVitLe3x+eALGFlZ58uLYhjq0FiDnoc3qFjL+J0fi5FnwoNHgNkCUu5HRoPpmkuUaJKVTS7anHNuTcJep8qOXJkCarzyBJ0ahwJ+Xye7/rGxgZZlkWRSISi0Sg1GgcFQJZwd3mbzZ59naT7K0U6MbNJp2cT9GW7ya/byBLuLOW45szsJt37vkXHX8bp1KtN+pgqOwLcElTnkSXo1PQ8DmgQdx/nIMBeFTLux+HmUp5Gp+P8nJ0MJOhd7mDV2MgSkBti+Y9Oi8lRMxOnQPxgBdiRJQCVeWQJQLWmR0Kn0+FvhVgFeBywL7hxS6j/6dDDnyUaE3f0SWSXGu3DNW4J1m6VHiznaUwsz0c/LNquVHsEIG4JKvO4JajWHNoY0Xir1fIUANwSAN48Wm3x5uOFWwKCxletXd4Y5fN23BKA3zxuCUCl5pAEP7wk+OElwS9eEvzwkuCHIwGNqQafFmhKN2hKN3ZT/zv8K1I3Xk36xatJv2B397rofsH4YWpYgg7FYpGb0sGWoAPG4yJ1sBvTAeMdCfKd7hcgS8BHj1+ALMFrjDtAluA1xh0gS/Aa4w4wEgRGgsBIEBgJAiNBYCQIjASBkSDokaCKLEEVWYIqsgRVZAmqOBLQmGrwxyua0g2a0o3d1P9NjP4C33z6NGMDUeMAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAAvQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADX0lEQVRoQ+2Xz2sTQRTHq/Qk1YOgFz3qHyLFi4LeRAri0YMHTx68eCseBMGbf4NFW4sWQYwtVrRFCq0iTVKT5kezzabdtPnRpDHJc97IbCfTyc68gEVhPvA97HReZt9nZyfN0OrqKlATi8XIGR8fJ+fY8xQcJwTnD1LDJTSbTesICRSEhFqtZh2cjzdJQTRGAec7CU6Ck8BxEhhOAsNJYDgJDCeB4SQwnARGKIEabIoabIoa0dTfzj8tgfpjCDNIDZdAQUigICTotn2/4Hy8QQqiKQpOAsNKQrvdhnw+D+VymV/bSNje78D1+U149rPCr20k5MoVuDq3AU9/lPi1jQR1HRsJuppICSigUCjwxlEEYpKAi4x98WGIffi1+SIfM0lAATfmC7zmyuwGHzNJ0K1jktCvpq+EbrcLnufxprPZLBeCRElodbpwe9Hnh9PorAebjT81URLKlRqMfSrwmkvv85AKKnw8SkK/daIkRNWEEvB/AGy2Xq/z6yAIIB6PQyqVgr29PT6GyBKWd/bh8pwHMb8BbA14HN+BEy/ScHEmBx9LDT4HkSUseDswGsvDTCaASpU1u+LzmgtvMvAuF4RyZAm268gSKDWhhGKxyBtcW1sD3/chkUhAMpmERuOgAJEl3F3a4mbPv87C/eVtODW5DmenM/B5q8n/LpAl3FnweM256XW493UTTr5Mw5lX6/AhVw4FqBJs15ElUGp6Xgfc/vj0cQwFiF0hI0tAbi0UYXgizd+z01MZeOsd7BqBLAFzk23/4Qm2ONZMpmEqfbADRGQJiM06sgTEtqZHQqfTgVKpxHcBvg54LqioEuq/OvDwewAj7Ik+SexCo324RpXg71bhwVIRRtj2fPTNh61KtUcARpVgs44qwbbm0MGIjbdaLa0ARJWA4Icnqy1++OhQJWCw8RV/lx+M8riIKgExraNKQGxqDkkwoZNgQifBFJ0EEzoJJkIJ1GBT1GBT1ODBJhqzzSA1Q/i1SI2uSVN0TZpypBIoCAkUhAQKOB9vkIJoikKPBPGUoyLmCQn41WMKIkvQzVGDyBJ0c9QgsgTdHDWIk8BwEhhOAsNJYDgJDCeB4SQw/hsJ/EYNEfMGqQkl2CJLsEWWYIsswRZZgi2hBGqwKWqwKWqO5rdDCn4DepjAZpDd1xAAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAASAIAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAB6klEQVRoQ+2ZQUsCQRTHLTpFdOjQqWv0QaJr3YPo0q1z126ego7SZygqiahOS5GQFQRCICVlrqCuumFlmaa93hvMJtlwZmFDdt8P/gd33+C+3+7MOhgCFxiGoZ1wOKyd/8K1BB2SyaRoqlqtKicajbZHew9LQFgCwhIQloCwBIQlICwBYQkIS0BYAuJaAjWmmng8LiRQY6qJRCLtb/Me1xJ00894Ph1SqZR4GvoZzyVYlhVMCXa9BXOxAmzcPYvPgZNAAubjRQht3sNszBLHAiWh0fqExYsiDKCA6eM8FGpNcdzXEhKVOsyc5MEo1gD7h7WbCgxvp2HyIAunpZqoIXwtYfmqLO76xL4JKwkbRncfYHwvA2fld3H+G99Ph4VzC4a20mINGItm4Cj/1j7zg+8lvH60YPX6EUZ20rB++wS1Js6LLgKxMFLjqZeGWBidCISEXvhWAjWmGtpA9TMh0zRBNyRBN7SL1A29eQY1QvVuxggJOti2LZrSgZ4GakoH2k7TReqwdFlyNaYjQb7Tf4WQJdBrsVcIWYJTTXcIWYJTTXcIWYJTTXcIloCwBIQlICwBYQkIS0BYAsISkF8SVJElqCJLUEWWoIosQZWOBGpMNblcTkigxlTj9h8o+l1PF6maqcOsizFZ+AIGcQg8msEiNgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADm0lEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOrAgq88AD2ck+mX1/87G7GUokEqTrQCCgbZ/Pp+0Dj6N0UMM430uGITQaDWXn83kuSkfLy8tcVLVaVbbf7+eL1NH1T3lPGQPBQDAQWAaCkIEgZCAIGQhCBoKQgSBkIAj1IKAwVafTaYaAwlQdDAYZAgpT9fj4OD/X4yJVfeZl0lNmaGVlhXQNCLoGBF17eRnykmEIOspms1yUqiKRCM8GFOU07fsZswEXqSOMrJfMH4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTpbl1evS9zMcqEJKlMl2YTdPDb3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzcS7HbW4QAODyXIYz52fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h659tHizGZ3J0nr9V2YQhFK5SmPvM5w5+yZF0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzh87NimOrTqIPuh/apENPYnR6Oknv8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6cehGn18liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh5sIGkz35PEG3Fwt0ZHKNjk/F6cNGg7/vSoZwYz7LmRNTa3Tr8zodfhqjY8/W6G2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8PV+RwNT8R4nR31x+lVdnfWdGVfDlfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqP9p092uRRsSIPghvUb21P2OHYG1V6M5CjkbE9Lz3xaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq/p0XqO6oqVo/E6WfdBY2E/BzX6AAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA6wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjUlEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapM2fJo1JXud5ZdPpdpOdWRAU5gcPdDfzdvb97exsMpRKpUg3oVBIO4FAQDuHnsbpsEYw3k8NS2g2m8opFovclA7Ly8vcVK1WU04wGOSL1OHml6KvGiPBSDASGCNBYCQIjASBkSAwEgRGgsBIEPQkoDHVZLNZloDGVBMOh1kCGlPN+Pg4f6/HRarm3Ou0r5qhlZUV0g0k6AYSdOPnx5CfGpagQz6f56ZUicVivBrQlNuy7xesBlykDrizfmr+uoRCofD/S2i325TJZKhcLvOxioTN3Q5dmVunJz8rfKwiIV2u0KXZLD3+UeRjFQnOeVQkuNUMlAABuVyO9wGIAF4SMMlY2KIhcTGX5wp8zksCBFydy3HNxZksn/OS4DaPl4R+NX0ldLtdbhif4w0CIWCQhFanSzc+W7zZjM7kab3xp2aQhHKlRmMfc1xz/l2G4qUKnx8kod88gyQMqulJwHcANFuv1/m4VCpRJBKheDxOOzs7fA7IEha3dunCrDi2GiTmoIeRLTryLEFnp9P0odjgMUCWMJ/fotFQhqaTJapUaxRYsrjmzKskvU2XenJkCarzyBJ0anoSsIHh79XVVbIsi6LRKO/sjcZeAZAl3F7YYLOnX6bo7uImHZtco5NTSfq00eTPbWQJt+bzXHNqao3ufF2no88TdOLFGr1Pl3sCnBJU55El6NTsexzQIO4+zkGAvSpknI/D9fkCDU8k+Dk7HkzSm/zeqrFxPg7XxPIfnhDvZ9RMJiiY2FsBdpyPg8o8sgSgWrNPQqfT4W+FWAV4HLAvOHFKqP/q0P3vJRoRd/RRdJsa7YM1TgnWdpXuLRRoRCzPB98s2qhU9wlAnBJU5nFKUK05sDGi8Var5SoAOCUA/PNYtcWbjxtuGyMaX7K2eWOUz9tx2xi95nFKACo1ByR44SbBCzcJXnGT4IWbBC96EtCYavC2gAQ0ppp//gcUXou6gQTdQIJu0BDurGow3k8NS9DBlqADVgOa0gGrARepA+6sn5qeBPsuD4o9zpaAV49XgCzBbYwzQJbgNsYZIEtwG+MMMBIERoLASBAYCQIjQWAkCIwEgZEg2CdBFVmCKrIEVWQJqsgSVOlJ0A0koDHV/Ns/oNL0G0NuTL0rh9nUAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADm0lEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOrAgq88AD2ck+mX1/87G7GUokEqTrQCCgbZ/Pp+0Dj6N0UMM430uGITQaDWXn83kuSkfLy8tcVLVaVbbf7+eL1NH1T3lPGQPBQDAQWAaCkIEgZCAIGQhCBoKQgSBkIAj1IKAwVafTaYaAwlQdDAYZAgpT9fj4OD/X4yJVfeZl0lNmaGVlhXQNCLoGBF17eRnykmEIOspms1yUqiKRCM8GFOU07fsZswEXqSOMrJfMH4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTpbl1evS9zMcqEJKlMl2YTdPDb3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzcS7HbW4QAODyXIYz52fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h659tHizGZ3J0nr9V2YQhFK5SmPvM5w5+yZF0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzh87NimOrTqIPuh/apENPYnR6Oknv8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6cehGn18liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh5sIGkz35PEG3Fwt0ZHKNjk/F6cNGg7/vSoZwYz7LmRNTa3Tr8zodfhqjY8/W6G2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8PV+RwNT8R4nR31x+lVdnfWdGVfDlfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqP9p092uRRsSIPghvUb21P2OHYG1V6M5CjkbE9Lz3xaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq/p0XqO6oqVo/E6WfdBY2E/BzX6AAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + VisualStudio2008Vista + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADnElEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqItcWKqUqhVWyT1KT5biZN0uajaWOS432PTHo7nWTuHSio3AdeyEzm5M555s6dJAPJZJJ0MzU1pZ1AIKCdQ09jdFgjON5PDUvY3t5WTqFQ4KZ0WFpa4qZqtZpygsEgn6QON78UfNUYCUaCkcAYCQIjQWAkCIwEgZEgMBIERoKgKwGNqSaTybAENKaaUCjEEtCYakZHR/l7PU5SNedep3zVDCwvL5NuIEE3kKAbPz+G/NSwBB1yuRw3pUo0GuXZgKbcpn2vYDbgJHXAlfVTc+AS8vn8vy+h1WpROp2mcrnM2yoSijttujK7Rk9+VnhbRUKqXKFLMxl6/KPA2yoSnOOoSHCr6SsBArLZLK8DEAG8JGCQkZBFA+JkLs/meZ+XBAi4OpvlmovTGd7nJcFtHC8JvWp6Suh0Otww3scTBEJAPwnNdodufLZ4sRmeztFa409NPwnlSo1GPma55vy7NMVKFd7fT0KvcfpJ6FfTlYDvAGi2Xq/zdqlUonA4TLFYjLa2tngfkCUsbOzQhRmxbTVIjEEPwxt05Fmczk6m6EOhwccAWcJcboOGp9I0mShRpVqjwKLFNWdeJehtqtSVI0tQHUeWoFPTlYAFDK9XVlbIsiyKRCK8sjcauwVAlnB7fp3Nnn6ZpLsLRTo2vkonJxL0aX2b37eRJdyay3HNqYlVuvN1jY4+j9OJF6v0PlXuCnBKUB1HlqBTs+d2QIO4+tgHAfaskHHeDtfn8jQ4Fuf77HgwQW9yu7PGxnk7XBPTf3BMPJ9RMx6nYHx3Bthx3g4q48gSgGrNHgntdpu/FWIW4HbAuuDEKaH+q033v5doSFzRR5FNarT21zglWJtVujefpyExPR98s2i9Ut0jAHFKUBnHKUG1Zt/CiMabzaarAOCUAPDh0WqTFx833BZGNL5obfLCKO+347Yweo3jlABUavZJ8MJNghduErziJsELNwledCWgMdXgaQEJaEw1f/0PKDwWdQMJuoEE3aAhXFnVYAH0U8MSdCgWi9yUDpgNaEoHzAacpA5oyE9NV4J8pXsFyBL4AzwCZAluxzgDZAluxzhjH+enxkjAa7s5Z8NuAUaCwEgQGAkCI0FgJAiMBMF/LUEVWYIqsgRVIME+UVXk5lTpSkBjqsEfr5CAxlTj9weU3dTBJka/AW4uNg3p+taQAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + Far + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA7AAAAAKJUE5HDQoaCgAAAA1JSERSAAAAFAAAABQIBgAAAI2JHQ0AAAAEZ0FNQQAAsY8L/GEFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAH5JREFUOE+tzMEJwDAQA0G3kP47SFMp5WKbEwizryiPwWY5NKrqVxgTGBMYExgTGBMY3XU/Na1XZubbBaPrQY3u/3njMDofangnGF0PanT/6U4wOh9qM/PtgtH1oEb3/7xxGJ0PNbwTjK4HNbr/dCcYExgTGBMYExgTGL+r8QL1YYgBA3bF7AAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA4AAAAAKJUE5HDQoaCgAAAA1JSERSAAAAFAAAABQIBgAAAI2JHQ0AAAAEZ0FNQQAAsY8L/GEFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUOE+tzMEJgEAQBMFLwfwzMClDWc/HQCP9cnwULM2wa2Z+pbGhsaGxobGhsaGRjvOKyW270Eh4FroLjcRHud8b0kh4Fjv79qGR+Ci37UIj4VnoLjQSH+V+b0gj4Vns7NuHxobGhsaGxobGhsbvZt1vy4gBqcW4UgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + TopOnBorder + BottomToTop + + + + + HighlightEntireItem + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA9QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADl0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPm53Mk9n3tzOzm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxnA4pym/a9jNmAi9QR7qyfzIFDKBQK/z6EVqtFmUyGyuUyn6tAWN9p05WZVXrys8LnKhDS5Qpdms7S4x9FPleB4BxHBYJbpi8EAMjlcrwPAATkBQGDjIQtGhAXc3mmwG1eEADg6kyOMxenstzmBcFtHC8IvTI9IXQ6HS4Y3+MJAiBQPwjNdodufLZ4sxmeytNq40+mH4RypUYjH3OcOf8uQ/FShdv7Qeg1Tj8I/TJdCHgHQLH1ep3PS6USRSIRisfjtLW1xW2QDGF+Y4cuTItzq0FiDHoY2aAjzxJ0djJNH4oN7gPJEGbzGzQcytBkskSVao0CCxZnzrxK0tt0qQtHhqA6jgxBJ9OFgA0Mn5eXl8myLIpGo7yzNxq7AUiGcHtujcmefpmiu/PrdGx8hU5OJOnT2jZ/b0uGcGs2z5lTEyt05+sqHX2eoBMvVuh9utwF4ISgOo4MQSezZzmgQNx9tAGAPStkOZfD9dkCDY4leJ0dDybpTX531thyLodrYvoPjonnMzLjCQomdmeAbedyUBlHhgCpZvZAaLfb/FaIWYDlgH3BKSeE+q823f9eoiFxRx9FN6nR2p9xQrA2q3RvrkBDYno++GbRWqW6BwDshKAyjhOCambfxojCm82mKwDICQHCj8eqTd583OS2MaLwBWuTN0a53bbbxug1jhMCpJLZB8FLbhC85AbBy24QvOQGwUtdCChM1XhaAAIKU/Vf/wcKj0VdA4KuAUHXKAh3VtXYAP1kGIKObAg6wmxAUTrCbMBF6ggF+cl0Idh3uZ/tfjYE/gEPQzIEtz5OQzIEtz5O2/38ZAwEfJaL87Ldz0AQRwNBHA0EcTQQxNFAEEcDQRz/WwiqkiGoSoagKhmCqlCQnwxD0DUgoDBV+/0DZd+xg3WcfgND/TMv156b9wAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+AMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADmklEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOLBRU5oEHspN9Mvv+5mN3M5RIJEjXgUBA2z6fT9uHnkbpsIZxvpcMQ2g0GsrO5/NclI6Wl5e5qGq1qmy/388XqaObX/KeMgaCgWAgsAwEIQNByEAQMhCEDAQhA0HIQBDqQUBhqk6n0wwBhak6GAwyBBSm6vHxcX6ux0Wq+tzrpKfM0MrKCukaEHQNCLr28jLkJcMQdJTNZrkoVUUiEZ4NKMpp2vczZgMuUkcYWS+ZA4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTlbl1evKzzMcqEJKlMl2aTdPjH3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzeS7HbW4QAODqXIYzF2fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h258tnizGZ3J0nr9T2YQhFK5SmMfM5w5/y5F0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzhy7MimOrTqIPehjapCPPYnR2Okkf8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6ceRWnt8liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh9sIGkz39MkF3Fwt0bHKNTk7F6dNGg7/vSoZwaz7LmVNTa3Tn6zodfR6jEy/W6H2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8P1+RwNT8R4nR33x+lNdnfWdGVfDtfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqv9p0/3uRRsSIPgpvUb21P2OHYG1V6N5CjkbE9HzwzaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq9voC1R2xg3WUfgNzejYRjgB1CAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV2AD9ZBiCjmwIOrIh6Aj9cZE6QkF+Ml0I9iz3s93PhsA/4GFIhuDWx2lIhuDWx2m7n5+MgYDPcnFetvsZCKI1EERrIIjWQBCtgSBaA0G0/y0EVckQVCVDUJUMQVUoyE+GIegaRekaRenanrGDdZx+AwQBIVZs5053AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV2AD9ZBiCjmwIOrIh6Aj9cZE6QkF+Ml0I9iz3s93PhsA/4GFIhuDWx2lIhuDWx2m7n5+MgYDPcnFetvsZCKI1EERrIIjWQBCtgSBaA0G0/y0EVckQVCVDUJUMQVUoyE+GIegaRekaRenanrGDdZx+AwQBIVZs5053AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Office2013RadioButtonGlyphInfo + + -1 + 0, 170, 222 + Solid + 0, 170, 222 + White + 135, 135, 135 + None + Transparent + 0 + 0, 170, 222 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA9QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADl0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV6O8nwxB0ZEPQEVYDitIR+uMidYSngJ9MF4I9y/1s97Mh8A94GJIhuPVxGpIhuPVx2u7nJ2Mg4LNcnJftfgaCaA0E0RoIojUQRGsgiNZAEO1/C0FVMgRVyRBUJUNQFQryk2EIugYEFKZq+w+Uru0ZO1jH6Tc1kyfofk37EgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + RectangularSolid + None + TopOnBorder + BottomToTop + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA6gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjElEQVRoQ+2YT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePFWPAiCNz+DRVuLVkGMLVaaqhRaxTZJTZr/zaZJ2vxp0pjkdZ5Xsp1sN9mZBaHC/OCB7nbezr6/nZ1NOpRIJEg3gUBAO+Pj49o58jxKRzWC8X5qWEKj0VBOPp/npnRYXV3lpqrVqnIwHhepw+2veV81RoKRYCQwRoLASBAYCQIjQWAkCIwEgZEgsCWgMdWk02mWgMZUEwwGuSnd4HM9LlI1F94mfdUMra2tkW4gQTduTXrFz5chPzUsQYdsNstNqRKJRHg1oCm3Zd8vGI+L1AF31k/NP5eQy+X+fwmtVotSqRSVSiU+VpFQ2GvTtflNevarzMcqEpKlMl2ZS9PTn3k+VpHgnEdFglvNQAkQkMlkeB+ACOAlAZOMBS0aEhdzdT7H57wkQMD1+QzXXJ5N8zkvCW7zeEnoV9NXQqfT4Ybxe7xBIAQMktBsd+jWF4s3m9HZLG3W/9YMklAqV2nsc4ZrLn5IUbRY5vODJPSbZ5CEQTW2BHwGQLO1Wo2Pi8UihUIhikajtLu7y+eALGF5e48uzYljq05iDnoc2qZjL2J0fiZJn/J1HgNkCYvZbRoNpGgmXqRyRTS7YnHNuTdxep8s2nJkCarzyBJ0amwJ2MDw8/r6OlmWReFwmHf2en2/AMgS7i5tsdmzrxN0f7lAJyY36PR0nBa2Gvz7LrKEO4tZrjkzvUH3vm3S8ZcxOvVqgz4mS7YApwTVeWQJOjU9jwMaxN3HOQjorgoZ5+NwczFHwxMxfs5OTsXpXXZ/1XRxPg43xPIfnhDvZ9RMxmgqtr8CupElAJV5ZAlAtaZHQrvd5k+FWAV4HLAvOHFKqP1u08MfRRoRd/RJeIfqrYM1TgnWToUeLOVoRCzPR98t2ipXegQgTgkq8zglqNYc2BjReLPZdBUAnBIA/nik0uTNxw23jRGNr1g7vDHK57txSgBe8zglAJWaAxK8cJPghZsEr7hJ8MJNghe2BDSmGrwtIAGNqebQf4HCa1E3kKAbtya9goZwZ1WD8X5qWIIOhUKBm9IBqwFN6YDxuEgdcGf91NgS5DvdL0CWgFePV4AswW2MM0CW4DbGGSBLcBvjDDASBEaCwEgQGAkCI0FgJAiMBIGRIOiRoIosQRVZgiqyBFVkCarYEtCYavCPV0hAY6o53F+gkvQHK6ctxANB/y4AAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + White + + + + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADnUlEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapE3TJo1JXud5ZdPJdpOdWSiozAMPyW7mycz725nZ3YFUKkW6DoVC2g4EAto+9DROhzWM9n4yDKFeryu7WCxyUTpaXFzkoqrVqrKDwSAPUkc3vxR9ZQwEA8FAYBkIQgaCkIEgZCAIGQhCBoKQgSDUgYDCVJ3NZhkCClN1OBxmCChM1aOjo/xcj0Gq+tzrtK/MwNLSEukaEHQNCLr28zLkJ8MQdJTP57koVcViMZ4NKMpt2vcyZgMGqSNcWT+ZA4dQKBT+fQjNZpMymQyVy2U+VoGwvtuiKzOr9ORnhY9VIKTLFbo0naXHP4p8rALB2Y8KBLdMXwgAkMvleB8ACMgLAjoZCVs0IAZzeabA57wgAMDVmRxnLk5l+ZwXBLd+vCD0yvSE0G63uWD8jjsIgED9IDRabbrx2eLNZngqT6u1P5l+EMqVKo18zHHm/LsMxUsVPt8PQq9++kHol+lAwDMAit3e3ubjUqlEkUiE4vE47ezs8DlIhjC/sUsXpsWxVSPRBz2MbNCRZwk6O5mmD8Uat4FkCLP5DRoOZWgyWaLKVpUCCxZnzrxK0tt0qQNHhqDajwxBJ9OBgA0M35eXl8myLIpGo7yz12p7AUiGcHtujcmefpmiu/PrdGx8hU5OJOnTWp1/tyVDuDWb58ypiRW683WVjj5P0IkXK/Q+Xe4AcEJQ7UeGoJPpWg4oEFcf5wDAnhWynMvh+myBBscSvM6OB5P0Jr83a2w5l8M1Mf0Hx8T9GZnxBAUTezPAtnM5qPQjQ4BUM10QWq0WPxViFmA5YF9wyglh+1eL7n8v0ZC4oo+im1Rr7s84IVibW3RvrkBDYno++GbRWmWrCwDshKDSjxOCambfxojCG42GKwDICQHCn8e2Grz5uMltY0ThC9Ymb4zyedtuG6NXP04IkEpmHwQvuUHwkhsEL7tB8JIbBC91IKAwVeNuAQgoTNV//QsUbou6BgRdA4KuURCurI79ZBiCjmwIOsJsQFE6wmzAAHVkF6WjLgj2Ve5nu50NAbceL0MyBLc2TkMyBLc2TkMyBLc2TkMGgpCBIPTPQOCBethu5ydjIOC7XJyX7XYGgvg0EMSngSA+/1sIqpIhqEqGoCoZgqpkCKrqQNA1IKAwVft9gbKLOljH6TcHdzOr6BQ8HAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Office2013RadioButtonGlyphInfo + + + + + + + + + 0, 170, 222 + Gray + Gray + Gray + + + + + + + + + Flat + True + + + + + Flat + True + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2zXFsx4kTZ/GWw/2d+GbevFz7Oe7IXzqy/XLPu/f871kTEg+y2azs7u7K4uLitayvr0s6nS6uuInz83OZm5uTvr4+6e3tVRkbG5NkMimXl5fFVc/j+PhYuru7pa6uTmpra1UaGxtle3u7pM7maU6+/DcmrzStyUuNV/JWeFfC++dScKtUrKMkFAoFicfjanAsFlOjLy4u5OzsTJ9vbW1JJBJRkizy+bxsbm6qwXyyHlgip6amlET7HGQyGRkdHZWmpibVOzk5UaMhcnZ2Vtra2pREnluksgX5ZeFQ3g5H5NfFIzWM8ycyBfljNSUfPYnKt2Nx2T7NXykY3FZHSUgkEnpwa7xfTk9PJRqN6k3lcjlVxPClpSU1wAXIgFTIwHgwPj6uHoMnuADpw8PD0t7ernsCjPjOHNga4kfsIi8/zh8aw/Yken5l1G11Qhx2Y2NDN3URYAVjd3Z21M35zk2WIsCCW15YWFDyuN3m5uaSBFjgleFwWCYnJ9WId3oisnX27JZdyJt9vh6JyW9PU1XphPCA/f19p+F+wQAMIgdAXCVAZ3p6WnMAoVAq5r0gJDs6OjSefzZuXSg+L4fxZEY++SdalU6IuC0VBn7BXQkD4jbICyzwNG6VJBjkBRbs09raKi+bRLaefpaHyiF+UZD3H+9VpaMkuAx2CYbjCT09PcXXBAP3xnNqamoq8gJA0u3q6pIX/l4rmfn9yJiFnw/FqtK5tSdQKfAEflcCEinhQBn0Zv1yIJFSKShpO2dXiTgIR6YifGiyfjU6ITI41cFvsEswglxAUtzb2yu+qjxIuIQDfQBJshKQfAkHavrDjcpCaOE4K+89jlSlE8ILcHFu2WW4VyiTJC0OSV339g2lAMmrq6u6R2dnZ0W5ZGRkRAYHB7Wp+WxgXxImdoPwkyl5P0wnq9LRPoFGCHEZbgVvwSC+E9uE0crKir7MBdbgLRgE0fwml/T39xdX3AT5A29paGiQg4MDje1vRuPyYPKguOImcsbWP9dP5M3uXZlPZavSURK4UW4KSaVS6sLcGN5BCFBC19bW9LcFZBDr8/PzcnR0pO/ACHIA+lQRGh/eZ8G7aIQolxDE+0iCvAujKaH19fXPhdq2ie+PTRn7ypS+wcSFyeh5TWjE81wqo+XwjUc7MmT+ZnFbnevZgcPj5hBB3POJIXwnBDioHyQw1s3MzGjcUwXoECcmJjQE8AA/IIg19AHEPVWAJNjS0iIDAwNKhh90db+bpubT/qiWtC+G9uUD0+292xuR7407c5t+3EbnmgQAEYQF7TDujthushTwmDszQHED3Dyfdj7AVXF12mVc1JsI79wAheFk/lLZHoNJjNyUJQjD78wAhVEYxCe3ws0Tz9zi8vKyJkVI4G8Q5R+gssavHm6cyOsdWxIy3dq91k2TmROSNKyj4xqgyumUGqDK6ZQaoCrVCZEDbDKCAG8+sEIocDhcm9DwDlB/mU1ebV7XTazQut4fjkna1CLXABWk4xqggnRcA1SlOiGMtmFgPcAveARr8AjbNtsweK39imW/3GvdkNWTrOr5B6ggHcLCP0AF6bgGqEp1dHaw8BvvFeKaW8RzvAOUaxMrtKV4kH+Acq21gg5k+wco11or6LgGKNdaK14dJcEmO27cbzxivQWDiG/vAAWrrk1ww6eGbd7tH6CCdFwDVJCOa4CqVCdEbJMLAEnQRQIhwO1wOL57B6gHUwfyotnYvxFNSSKT1yzvH6CCdFwDVJCOHYaq0QlxSOo6RiIYZz0CD8Bo2y5TJvnHq3eAItPeH45fsw7LbPIkfpUzXANUkI5rgArScQ1Qlepon2CnQ4DLYxy3jkAMscwMgNcQBvyGJDtApXOXsprOKbO42YHZnDUQWmqAcumwd7kByqXjH4aq0VESMNp2hdyUNZxDQYSdIO/8AMVhDg8PlQxclyrAJ8YQApDhB89Y8/8eoET+A46Kvwl1DPddAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA7AMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjklEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapM2fJo1JXud5ZdPJdpOdiRQU5gcPdDfzdvb97exsMpRIJEg3gUBAOz6fTzuHnkbpsEYwfpAallCv15WTz+e5KR2Wl5e5qUqlohy/388XqcPNL/mBaowEI8FIYIwEgZEgMBIERoLASBAYCQIjQdCRgMZUk06nWQIaU00wGGQJaEw14+Pj/L0eF6mac6+TA9UMrayskG4gQTeQoJtBfgwNUsMSdMhms9yUKpFIhFcDmnJb9r2C1YCL1AF3dpCaA5eQy+X+fwnNZpNSqRQVi0U+VpGwuduiK3Pr9ORniY9VJCSLJbo0m6bHP/J8rCLBOY+KBLeavhIgIJPJ8D4AEcBLAiYZC1o0JC7m8lyOz3lJgICrcxmuuTiT5nNeEtzm8ZLQq6anhHa7zQ3jc7xBIAT0k9BotenGZ4s3m9GZLK3X/tT0k1AsVWjsY4Zrzr9LUbRQ4vP9JPSap5+EfjUdCfgOgGar1SofFwoFCoVCFI1GaWdnh88BWcLi1i5dmBXHVo3EHPQwtEVHnsXo7HSSPuRrPAbIEuazWzQaSNF0vEClcoV8SxbXnHkVp7fJQkeOLEF1HlmCTk1HAjYw/L26ukqWZVE4HOadvVbbKwCyhNsLG2z29MsE3V3cpGOTa3RyKk6fNur8uY0s4dZ8lmtOTa3Rna/rdPR5jE68WKP3yWJHgFOC6jyyBJ2arscBDeLu4xwE2KtCxvk4XJ/P0fBEjJ+z4/44vcnurRob5+NwTSz/4QnxfkbNZIz8sb0VYMf5OKjMI0sAqjVdElqtFn8rxCrA44B9wYlTQvVXi+5/L9CIuKOPwttUa+6vcUqwtst0byFHI2J5Pvhm0Uap3CUAcUpQmccpQbVm38aIxhuNhqsA4JQA8M8j5QZvPm64bYxofMna5o1RPm/HbWP0mscpAajU7JPghZsEL9wkeMVNghduErzoSEBjqsHbAhLQmGr++R9QeC3qBhJ0Awm6QUO4s6rB+EFqWIIOtgQdsBrQlA5YDbhIHWwBOnRJsO9yv9jjbAl49XgFyBLcxjgDZAluY5wBsgS3Mc4AI0FgJAiMBIGRIDASBEaCwEgQGAmCLgmqyBJUkSWoIktQRZagSkeCbiABjanmb35AHXyi9BvrVTNhLiUFpAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA/QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADn0lEQVRoQ+2YT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532yapM2fJo1JXud5Jel0u8nOrBQU5gcPdLfzdvb97exs0qFEIkG6CQQC2vH5fNo59DRKhzWC8V5qWEKj0VBOPp/npnRYXl7mpqrVqnL8fj9fpA43v+Q91RgJRoKRwBgJAiNBYCQIjASBkSAwEgRGgqAnAY2pJp1OswQ0pppgMMgS0JhqxsfH+XM9LlI1514nPdUMrayskG4gQTeQoBsvX4a81LAEHbLZLDelSiQS4dWAppyWfb9gNeAidcCd9VJz4BJyudz/L6HValEqlaJSqcTHKhIKO226MrdOT36W+VhFQrJUpkuzaXr8I8/HKhLs86hIcKoZKAECMpkM7wMQAdwkYJKxoEVD4mIuz+X4nJsECLg6l+GaizNpPucmwWkeNwn9avpK6HQ63DB+jzcIhIBBEprtDt34bPFmMzqTpfX6n5pBEkrlKo19zHDN+XcpihbLfH6QhH7zDJIwqKYnAZ8B0GytVuPjYrFIoVCIotEobW9v8zkgS1jc3KELs+LYqpOYgx6GNunIsxidnU7Sh3ydxwBZwnx2k0YDKZqOF6lcqZJvyeKaM6/i9DZZ7MmRJajOI0vQqelJwAaGn1dXV8myLAqHw7yz1+u7BUCWcHthg82efpmgu4sFOja5Rien4vRpo8G/7yJLuDWf5ZpTU2t05+s6HX0eoxMv1uh9stQTYJegOo8sQadmz+OABnH3cQ4CuqtCxv44XJ/P0fBEjJ+z4/44vcnurpou9sfhmlj+wxPi/YyayRj5Y7sroBv746AyjywBqNbskdBut/lTIVYBHgfsC3bsEmq/2nT/e5FGxB19FN6iemt/jV2CtVWhews5GhHL88E3izbKlT0CELsElXnsElRr9m2MaLzZbDoKAHYJAH88Umny5uOE08aIxpesLd4Y5fPdOG2MbvPYJQCVmn0S3HCS4IaTBLc4SXDDSYIbPQloTDV4W0ACGlPNP/8FCq9F3UCCbiBBN2gId1Y1GO+lhiXoUCgUuCkdsBrQlA5YDbhIHboCdNgjQb7T/QJkCXj1uAXIEpzG2ANkCU5j7AGyBKcx9gAjQWAkCIwEgZEgMBIERoLASBD88xJwgcBpjD0A473U9CSoIktQRZagiixBFVmCKj0JaEw1+McrJKAx1fzNF6iDT5R+AxOLNj+SFfOFAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + 191, 191, 191 + White + 191, 191, 191 + Office2010 + 191, 191, 191 + + + + + Standard + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADlUlEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIsWLFVKXQKrZJatJ8N5MmafPRpDHJ8b5Hkt5MJ5l7BxSF+8ALncmc3DnP3Lkz6UgikSDdBAIB7fh8Pu0ceBylgxrB8V5qWEKj0VBOPp/npnRYWVnhpqrVqnL8fj+fpA7XP+c91RgJRoKRwBgJAiNBYCQIjASBkSAwEgRGgqAnAY2pJp1OswQ0pppgMMgS0JhqJicn+b0eJ6maMy+TnmpGVldXSTeQoBtI0I2XH0NealiCDtlslptSJRKJ8GxAU07TflAwG3CSOuDKeqn54xJyudz/L6HValEqlaJSqcTbKhIKu226NL9Bj36UeVtFQrJUpgvv0vTwe563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcnM/xPjcJEHB5PsM15+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDl37ZPFiMz6XpY3675phEkrlKk18yHDN2TcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnZ2eB+QJSxt7dK5d2LbqpMYg+6HtujQkxidnk3S+3ydjwGyhIXsFo0HUjQbL1K5UiXfssU1p17E6XWy2JMjS1AdR5agU9OTgAUMf6+trZFlWRQOh3llr9f3CoAs4ebiJps9+TxBt5cKdGR6nY7PxOnjZoM/7yJLuLGQ5ZoTM+t068sGHX4ao2PP1ultstQTYJegOo4sQaem73ZAg7j62AcB3VkhY78dri7kaHQqxvfZUX+cXmX3Zk0X++1wRUz/0SnxfEbNdIz8sb0Z0I39dlAZR5YAVGv6JLTbbX4rxCzA7YB1wY5dQu1nm+5+K9KYuKIPwttUb+2vsUuwtit0ZzFHY2J63vtq0Wa50icAsUtQGccuQbVm38KIxpvNpqMAYJcA8OWRSpMXHyecFkY0vmxt88Io7+/GaWF0G8cuAajU7JPghpMEN5wkuMVJghtOEtzoSUBjqsHTAhLQmGr++R9QeCzqBhJ0Awm6QUO4sqrB8V5qWIIOhUKBm9KhK0EHzAacpA64sl5qehLkKz0oQJaAR49bgCzB6Rh7gCzB6Rh7gCzB6Rh7gJEgMBIERoLASBAYCQIjQWAkCIwEQZ8EVWQJqsgSVJElqCJLUKUnAY2pBv94RVO6gQQ0ppq/9wMqSb8AWg1JD6G7pzMAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + False + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA2wAAAAKJUE5HDQoaCgAAAA1JSERSAAAACgAAAAoIBgAAAI0yz70AAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M1cbXjNgAAAFVJREFUKFNj+P//Pxi3trZeAGIBGB8dwxlARf+B+AEQGyArgGE4A6oQhD8AcQCyIhDGphCGC4hVCMILqKqwASaHSyHIMwnIikAYXSFIEcHgwRPg/xkAphkSTK5IMV8AAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA6AAAAAKJUE5HDQoaCgAAAA1JSERSAAAACgAAAAoIBgAAAI0yz70AAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M1cbXjNgAAAGJJREFUKFNj+P//P1EYqyA2zMCw6t4FIP5PAF8AKRQA4g9Iguj4ARALQIxddc8AiLEpBokZgNXA3bDqXgKSAhgOgMvDGFDFDUiKClDkkDlggVX3FoAwhji6AC6MVRAT/2cAAJhQETR6tnZYAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Never + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.sln b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.sln new file mode 100644 index 0000000..dbab07c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86 + {C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.vbproj b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.vbproj new file mode 100644 index 0000000..dc4d40c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/Test.vbproj @@ -0,0 +1,195 @@ + + + + + Debug + AnyCPU + {C4A48E3F-38E4-4E88-A47D-FA5510686E57} + WinExe + Test + Test + 512 + WindowsFormsWithCustomSubMain + v4.6.2 + + + + + + + + + + + + On + + + Binary + + + Off + + + On + + + Sub Main + + + true + true + true + ..\..\MESClient\ + Test.xml + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + false + + + true + bin\x86\Release\ + Test.xml + true + 0 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + false + + + true + + + iMES.snk + + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinDock.v19.1.dll + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinExplorerBar.v19.1.dll + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinToolbars.v19.1.dll + + + False + C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll + + + ..\..\MESClient\COM_ChkPassword.dll + + + ..\..\MESClient\COM_Kit.dll + + + ..\..\MES_C_DLL\iMESException.dll + + + ..\..\MES_C_DLL\iMESExceptionManager.dll + + + ..\..\MES_C_DLL\iMESMainMenu.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + MDI_Panel.vb + + + + VbMyResourcesResXFileCodeGenerator + My.Resources + Designer + Resources.Designer.vb + + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/app.config b/SRC/MESWin/SYS4/21670ll/MESWin/Test/app.config new file mode 100644 index 0000000..48769a1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/Test/app.config @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Test/iMES.snk b/SRC/MESWin/SYS4/21670ll/MESWin/Test/iMES.snk new file mode 100644 index 0000000000000000000000000000000000000000..4206cdc36eceddde7f30ac484d1852eb3f9be236 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097#g3R+{UF+SWBpq3jKsGz4Rg)jp;sR@& z9YKT-w@gNp-L~38+1NJ=1XDRJDW25AI*NovDaNnzDN>{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06) 0 Then + App_Path = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/UID:") > 0 Then + gUserNo = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/UNA:") > 0 Then + gUserName = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/LVL:") > 0 Then + gUserLevel = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/LAN:") > 0 Then + gLanguageMode = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/WSH:") > 0 Then + gMESWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/CSH:") > 0 Then + gCUSWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/ENV:") > 0 Then + gSettingMode = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/SSH:") > 0 Then + gSFCWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/ESH:") > 0 Then + gERPWebServiceHost = Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length) + ElseIf InStr(UCase(ArgumentStr(i)), "/SSL:") > 0 Then + gEnableSSL = IIf(Mid(Trim(ArgumentStr(i)), 6, Trim(ArgumentStr(i)).Length).ToUpper = "TRUE", True, False) + End If + Next + + '***************************************************************************************************************** + If App_Path = "" Then + gAppPath = Application.StartupPath + Else + gAppPath = App_Path + End If + + If gUserNo = "" And gUserName = "" Then + + Using obj As New frmCOMChkPassword + obj.ShowDialog() + End Using + + Else + gReturnKeyValue = gUserNo + End If + + '用來做為是否可以進入系統的判斷 + If gReturnKeyValue <> "" Then + '取得電腦名稱 + gComputerName = WinFormInfo.ComputerName + + iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode + + ' 2014/12/26 YF, Coding時套用Pro5 Style + Infragistics.Win.AppStyling.StyleManager.Load(New MemoryStream(Global.Test.My.Resources.Resources.iMES)) + gEnableStyle = True + + '進入之系統 + Dim fMain As New MDI_Panel + fMain.ShowDialog() + + End If + + End Sub + + Public Function LoadAssembly(ByVal pFileName As String) As Assembly + + Dim mainAssembly As System.Reflection.Assembly + Dim myfieldinfo() As System.Reflection.FieldInfo + Dim strAppBase As String = AppDomain.CurrentDomain.BaseDirectory + Dim strFilePath As String + Dim strNamespace As String + + Try + + '判斷是否使用ClickOnce + If ApplicationDeployment.IsNetworkDeployed Then + 'ClickOnce架構下將strAppBase改指回Smart Client + Dim tempUri As System.Uri = ApplicationDeployment.CurrentDeployment.UpdateLocation + strAppBase = tempUri.ToString.Replace("/ClickOnce/MESSeries.application", "") + End If + + strFilePath = strAppBase & "/" & pFileName + + '檢查檔案是否存在 + If (Not funCheckFileExist(strFilePath)) Then + Throw New iMESException.MESException("0000-202115", strFilePath) + End If + + mainAssembly = Assembly.LoadFrom(strFilePath) + + 'strNamespace = mainAssembly.GetExportedTypes(0).Namespace + + '設定值予Module Public變數 + 'myfieldinfo = mainAssembly.GetType(strNamespace & ".modWIN").GetFields() + + 'For i As Integer = 0 To myfieldinfo.Length - 1 + ' If myfieldinfo(i).Name.ToUpper = "gUserNo".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gUserNo) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gUserName".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gUserName) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gComputerName".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gComputerName) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gUserLevel".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gUserLevel) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gLanguageMode".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gLanguageMode) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gAppPath".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gAppPath) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gMESWebServiceHost".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gMESWebServiceHost) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gCUSWebServiceHost".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gCUSWebServiceHost) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gSFCWebServiceHost".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gSFCWebServiceHost) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gERPWebServiceHost".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gERPWebServiceHost) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gSettingMode".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gSettingMode) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gEnterpriseNo".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gEnterpriseNo) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gEnableSSL".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gEnableSSL) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gConfigFile".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gConfigFile) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gEnableStyle".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), True) + ' ElseIf myfieldinfo(i).Name.ToUpper = "gSYSmode".ToUpper Then + ' myfieldinfo(i).SetValue(myfieldinfo(i), gSYSmode) + ' End If + 'Next + + Catch ex As Exception + mainAssembly = Nothing + ExceptionManager.iMESShowDialog(defWinErrCode, "Load Assembly Fail!" & vbCrLf & ex.Message, ex.StackTrace) + End Try + + Return mainAssembly + + End Function + + '檢查檔案是否存在 + Private Function funCheckFileExist(ByVal strFilePath As String) As Boolean + + 'Network架構下 + If ApplicationDeployment.IsNetworkDeployed OrElse + Application.ExecutablePath.ToLower.StartsWith("http") Then + '暫不檢查 + ElseIf IO.File.Exists(strFilePath) = False Then + '檔案架構下 + Return False + End If + + Return True + + End Function + +End Module diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionDown.png b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionDown.png new file mode 100644 index 0000000000000000000000000000000000000000..8f895330520aa5537b0f1a56b35b982cc36283a3 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^3xGJ9gAGW2nbr3lNJ*BsMwA5Sri7Xz0ACpO6sLZ#)KSMB;H^PWLxd*xd0EzS9i2|IbsxkHo>$<{bCD7Nq)kl`?X zu==Z3MRx(0e8WVJ=d~^~IOESUl&|kw{(-UL<*{1#8G`X`vKz!XHa|MevLT{n=Eqd# z2$@4~ei$*`QL1U#q1+pub6kF~S}MU`aM_`7+XM3yecJU|56n~W z>D1>va7b|3(dk?X3pu9i?)$A)xU#P2g5I}Xn$NR$rxyQN=2dp!RQaKP2L}5eyUbY{ zB47Xe{}JfsNP$D_2@=?SV9)~eUz>m(!(m*CWDcr(PEz^1KcA6}!N8MgkNknGG+;7f N@O1TaS?83{1OQo=^D6)V literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionLeft.png b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..80ea854d234a6fb0f9496a15e4056a1daf59ade2 GIT binary patch literal 512 zcmeAS@N?(olHy`uVBq!ia0vp^3xGI=gAGW&oWIW>NJ*BsMwA5SrEaktaqG>Ujk!#Q3=Vvux z(8_y5A%)q#?X2Z&LA`goJi|edlv<&>~WI&J4)u`ARtgf+i^*}!ba(EZ@{ zkz_9Uh7XJ!@-+;7jPbjknK$zv2>Nm9)b~~~knnsdHV&ZtN?S1J7V`|w_*c4*q8~B? zO*yo@jqwnBf@ckX;{W6SdF&XxA9!ouuX(VrEb)i$YRgyIf3Dg!zE66&dapF&fy`d{ zS8{ehdm27)I{aX0@n-;PRbBg#c|%I=kKZYpj5F3Bp8A{5i9s=BHiIIIfD!O6^B$e2O@r-N?SuC1OrQPwFVdQ&MBb@0O9b% ACjbBd literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionRight.png b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionRight.png new file mode 100644 index 0000000000000000000000000000000000000000..cc26c41bdd8e5b7498bbdf368c355aeae2722a16 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0vp^^MN>qgAGU)q^JJ^Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07#L4^x;TbZ+TD zamG(gv)3mxq-t%;18(0o>a9$B(9H7T-kIgK7VnCfbEeBnD%3C>Vo$JX_`t{^-|!L0 z1_~Tw2C_deO7IhuEKhi>t7Tx}v6%b8&xgN_>aTHsxMa3^S>dh7`45FbX3l45;dl7K zlJGdhd&<4b66@3#`y0>ii`{>+ev!1@+buWGRcZeSVY=7O%-6^+U-3aRoPRkV|2`{e z^$PvxADkXCua8(>=l^Uwm&2Fs%zNU0O4S~#+I;kE8T+dykn&Le_q%@XoX0hfxo`2I z-Cq3bAI$vebs+nG7W;#P>~b{^z-Bgz%L19AXIDzopr0FYPcu>b%7 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionUp.png b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/DirectionUp.png new file mode 100644 index 0000000000000000000000000000000000000000..1f2c2ab35b54b49fce9f5852c963a649e98ae6de GIT binary patch literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^3xGJ5gAGV39nO6Pq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfcKAx;TbZ+3~YZvxX1whfFjJErp*C{0z`5n%en{M&Dp)!V%a=dE!mx??g)#dFe|p+oMQSsvW@@$0Pcq3F%5 z2`qLTj6BEL6&oJ@P+&2Tk#AvWd)zE=prA&8NurM*sOh64M}h^qB2(rwEb=X;OlNq2 zB;y&8`^!?DDi{@NCax7a6wL4tXn@wo(9R95Km#7G7E9y?8ha>Q_mCLSoIA4jPd@k6 z`ct^lqh)eXo*%1zkL$X3liipC7`zy`9C*JvZO+)&mnYm1y*HDO^@C=wW(&hVsrwhK zC-0sd%x~SpRA5tM+p_+y7l&fQ<43O*YvdUoN;&*c60~FFi09K*Z1~{F@xcBF&__3G zSnfGjuq)Iga$L5^dv(Jv%=EyT{{1h^X02mr0lMt<;c(+aoIsCq#Bb$L|B%}IfeU2L zJoBe@uVZ8mDEUjhU6;w1aPO>_-Lq}Gx3M<-ytm-@rTJ5L-MtESDyIXZ2BQXpDg)~R zmIVw`7(^O`8khp0{s2iLOI@13J)NuW%cNsP3;s_8#@Ls&{ETc2k&oFIsdqUo0wx#+ MPgg&ebxsLQ06CE8CjbBd literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/Export16x16.ico b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/Export16x16.ico new file mode 100644 index 0000000000000000000000000000000000000000..07fe93ecd603cdbce407c6d4b913d03569650a82 GIT binary patch literal 1406 zcmZ|PJ#5-g6o%n1m8y11lcf?_+Qm^AL9G?eD@d~p+mHf_Ruc-&+sFB58uTH_!ho_ui-2B zGTy+6+I!_wZdjm9`fCF9L zU(IGyp6BW0iGCrM@L86-{0qpc(E;uwpm&p(w5uf#bP}!=+=5}UlncTmxqhR z)A7^2w%76}o{u-by6RDaRa-Bt4!eE2d}h6x-=7VcSg-QmWq;mm@`3*UJfr_FbNBGh QEc;;g^RwCSGoE4YFJ?>mrvLx| literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion.targets b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion.targets new file mode 100644 index 0000000..f07a58c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion.targets @@ -0,0 +1,16 @@ + + + + + + + $([System.DateTime]::Now.ToString("yy").Substring(1, 1)) + $([System.DateTime]::Now.ToString("MM")) + $([System.DateTime]::Now.ToString("dd")) + + <Assembly: Reflection.AssemblyFileVersion("6.0.5.$(Year)$(Month)$(Date)")> + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion_CS.targets b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion_CS.targets new file mode 100644 index 0000000..c5267d8 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/MakeVersion_CS.targets @@ -0,0 +1,16 @@ + + + + + + + $([System.DateTime]::Now.ToString("yy").Substring(1, 1)) + $([System.DateTime]::Now.ToString("MM")) + $([System.DateTime]::Now.ToString("dd")) + + [assembly: System.Reflection.AssemblyFileVersion("6.0.5.$(Year)$(Month)$(Date)")] + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/Save16x16.ico b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/Save16x16.ico new file mode 100644 index 0000000000000000000000000000000000000000..90af81e9cb589884bed60a61e39187542fe39331 GIT binary patch literal 1406 zcmbW%A&lB^6vy%33BnXPwFJ~mFSFD`CZP%g_^Kr&n7S$y5|RoeIk8L>RYN#O5Rgoq zsv;;z(9PM2w{OecZCS>)-2dhM`S;JKFU{*em2QaJTQR@W=aTeZ(npdleIWDwe0;ho zelF85>yh%1M#c1Vv0ksWKCG2}`^tYKSrL*MrpU{}*vP({zTDp{%}mMBG)YZ^t*Ny# zIWaEJ=pcm;l0TEYKyo`uPxu{vfuG_7d>`8-+xP~)j(6}?Jav-cpzp(Ky(V9;g9$fzs0ZcdG#0_p+mHf_Ruc%Pxu{vfuG_7d>`M%xA6^p9q-_) zc#IZ1jfA@BINA48h(2 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.resx b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.resx new file mode 100644 index 0000000..f7c09a6 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.resx @@ -0,0 +1,411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + #,##0.0000 + + + + + /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAICAgICAgICAgIDAgICBAUEAgIEBQYFBQUFBQYHBgYGBgYG + BwcICAkICAcKCgsLCgoODg4ODg4ODg4ODg4ODg7/2wBDAQMDAwYFBgsHBwsODAoMDhEQEBAQEREODg4O + Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wAARCAA+ANEDAREAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgA + oAKACgAoAKACgAoAKACgAoAxdf1mx8N6HrXiHUmKadoNrNeX7qMkRQRmRyB34WtcNh3WqRpx+KTSXq3Z + GGJxCo05VJbRTb9Ernwl8Ov23ZPGPxI0nwpq3gyLS9D8T3qWOjXsUzPPFJO4jg85du1txIBxjbnPOK/S + 828Ofq2ElWjUvKEeaSa0aSu7dvLe5+a5V4ifWcWqMqdozlZO+qbdlfv57WP0Hr8vP1E8Z+IXxs8HfD+Q + aXK8uv8Aiebi28MWI8yclum/HCfjz6A18tnnFuFy98jvOr0hHV/Pt+fkfWZBwZi8yXtFaFJbzlpH5d/y + 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 + 5pDFoA//2Q== + + + + + AAEAAAD/////AQAAAAAAAAAEAQAAABZTeXN0ZW0uSU8uTWVtb3J5U3RyZWFtCgAAAAdfYnVmZmVyB19v + cmlnaW4JX3Bvc2l0aW9uB19sZW5ndGgJX2NhcGFjaXR5C19leHBhbmRhYmxlCV93cml0YWJsZQpfZXhw + b3NhYmxlB19pc09wZW4dTWFyc2hhbEJ5UmVmT2JqZWN0K19faWRlbnRpdHkHAAAAAAAAAAACAggICAgB + AQEBCQIAAAAAAAAAAAAAAMAeAADAHgAAAQEBAQoPAgAAAMAeAAACALseAAD/2P/gABBKRklGAAEBAQBg + AGAAAP/bAEMAAgICAgICAgICAgMCAgIEBQQCAgQFBgUFBQUFBgcGBgYGBgYHBwgICQgIBwoKCwsKCg4O + Dg4ODg4ODg4ODg4ODv/bAEMBAwMDBgUGCwcHCw4MCgwOERAQEBAREQ4ODg4ODg4ODg4ODg4ODg4ODg4O + Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODv/AABEIAD4A0QMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAA + AAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj + QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2 + d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj + 5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIE + BAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn + KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqi + o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEA + AhEDEQA/AP38oAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAC + 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 + + + + + + + + + + True + + + font-family: Arial; font-style: normal; font-variant: inherit; font-weight: normal; font-size: 10pt; font-size-adjust: inherit; font-stretch: inherit; color: rgb(0,0,0); background-repeat: inherit; background-attachment: inherit; opacity: inherit; word-spacing: inherit; letter-spacing: inherit; text-decoration: none; vertical-align: inherit; text-transform: inherit; text-align: inherit; text-indent: inherit; unicode-bidi: inherit; line-height: inherit; white-space: inherit; ddo-char-set: 0; + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.vb b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.vb new file mode 100644 index 0000000..11bede1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/arERF_General.vb @@ -0,0 +1,1313 @@ +Imports GrapeCity.ActiveReports.Document +Imports GrapeCity.ActiveReports.Document.Section +Imports GrapeCity.ActiveReports.SectionReportModel +Imports GrapeCity.ActiveReports.Controls +Imports GrapeCity.ActiveReports +Imports System + + + +Public Class arERF_General + + Inherits GrapeCity.ActiveReports.SectionReport + + Public Sub New() + MyBase.New() + InitializeComponent() + End Sub + + '//Public Variables + Public ERFNo, LotNo, CustomerNo, OPNo, ProductNo, RuleNo, MClassNo, HoldDescription, Creator As String + Public CreateDate As DateTime + +#Region "ActiveReports Designer generated code" + Private WithEvents PageHeader As GrapeCity.ActiveReports.SectionReportModel.PageHeader = Nothing + Private WithEvents GroupHeader1 As GrapeCity.ActiveReports.SectionReportModel.GroupHeader = Nothing + Private WithEvents Detail As GrapeCity.ActiveReports.SectionReportModel.Detail = Nothing + Private WithEvents GroupFooter1 As GrapeCity.ActiveReports.SectionReportModel.GroupFooter = Nothing + Private WithEvents PageFooter As GrapeCity.ActiveReports.SectionReportModel.PageFooter = Nothing + Private Picture1 As GrapeCity.ActiveReports.SectionReportModel.Picture = Nothing + Private Shape1 As GrapeCity.ActiveReports.SectionReportModel.Shape = Nothing + Private lblERFReport As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtDate As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private lblPrintDate As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblERFNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtERFNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private Line2 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line5 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private lblCustomerNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblLotNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblProductNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtLotNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtCustomerNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtProductNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private Barcode1 As GrapeCity.ActiveReports.SectionReportModel.Barcode = Nothing + Private lblOPNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtOPNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblRuleNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtRuleNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblMClassNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtMClassNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblHoldDescription As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblCreator As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private txtCreator As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblCreateDate As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private Line27 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line28 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line29 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line30 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line31 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line32 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private txtCreateDate As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private txtHoldDescription As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private lblHoldItemNo As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblQty As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private lblHoldDisposition As GrapeCity.ActiveReports.SectionReportModel.Label = Nothing + Private Line33 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line34 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Line35 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private txtHoldItemNo As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private txtQty As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private txtHoldDisposition As GrapeCity.ActiveReports.SectionReportModel.TextBox = Nothing + Private Line36 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Friend WithEvents Line1 As GrapeCity.ActiveReports.SectionReportModel.Line + Friend WithEvents Label1 As GrapeCity.ActiveReports.SectionReportModel.Label + Friend WithEvents Label2 As GrapeCity.ActiveReports.SectionReportModel.Label + Friend WithEvents Label3 As GrapeCity.ActiveReports.SectionReportModel.Label + Friend WithEvents Label4 As GrapeCity.ActiveReports.SectionReportModel.Label + Friend WithEvents Label5 As GrapeCity.ActiveReports.SectionReportModel.Label + Private Line37 As GrapeCity.ActiveReports.SectionReportModel.Line = Nothing + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(arERF_General)) + Me.Detail = New GrapeCity.ActiveReports.SectionReportModel.Detail + Me.txtHoldDisposition = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.txtHoldItemNo = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.txtQty = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.Line36 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line37 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line1 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.PageHeader = New GrapeCity.ActiveReports.SectionReportModel.PageHeader + Me.Picture1 = New GrapeCity.ActiveReports.SectionReportModel.Picture + Me.Shape1 = New GrapeCity.ActiveReports.SectionReportModel.Shape + Me.Line29 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.txtCreateDate = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.lblERFReport = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtDate = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.lblPrintDate = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblERFNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtERFNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Line2 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line5 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.lblCustomerNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblLotNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblProductNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtLotNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtCustomerNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtProductNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Barcode1 = New GrapeCity.ActiveReports.SectionReportModel.Barcode + Me.lblOPNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtOPNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblRuleNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtRuleNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblMClassNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtMClassNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblHoldDescription = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblCreator = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.txtCreator = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblCreateDate = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Line27 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line28 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line30 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line31 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line32 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.txtHoldDescription = New GrapeCity.ActiveReports.SectionReportModel.TextBox + Me.Label1 = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Label2 = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Label3 = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Label4 = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Label5 = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.PageFooter = New GrapeCity.ActiveReports.SectionReportModel.PageFooter + Me.GroupHeader1 = New GrapeCity.ActiveReports.SectionReportModel.GroupHeader + Me.lblHoldItemNo = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblQty = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.lblHoldDisposition = New GrapeCity.ActiveReports.SectionReportModel.Label + Me.Line33 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line34 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.Line35 = New GrapeCity.ActiveReports.SectionReportModel.Line + Me.GroupFooter1 = New GrapeCity.ActiveReports.SectionReportModel.GroupFooter + CType(Me.txtHoldDisposition, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtHoldItemNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtQty, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Picture1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtCreateDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblERFReport, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblPrintDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblERFNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtERFNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblCustomerNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblLotNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblProductNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtLotNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtCustomerNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtProductNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblOPNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtOPNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblRuleNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtRuleNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblMClassNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtMClassNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblHoldDescription, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblCreator, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtCreator, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblCreateDate, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtHoldDescription, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Label1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Label2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Label3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Label4, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Label5, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblHoldItemNo, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblQty, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblHoldDisposition, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me, System.ComponentModel.ISupportInitialize).BeginInit() + ' + 'Detail + ' + Me.Detail.ColumnSpacing = 0.0! + Me.Detail.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.txtHoldDisposition, Me.txtHoldItemNo, Me.txtQty, Me.Line36, Me.Line37, Me.Line1}) + Me.Detail.Height = 0.3333333! + Me.Detail.KeepTogether = True + Me.Detail.Name = "Detail" + ' + 'txtHoldDisposition + ' + Me.txtHoldDisposition.Border.BottomColor = System.Drawing.Color.Black + Me.txtHoldDisposition.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDisposition.Border.LeftColor = System.Drawing.Color.Black + Me.txtHoldDisposition.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDisposition.Border.RightColor = System.Drawing.Color.Black + Me.txtHoldDisposition.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDisposition.Border.TopColor = System.Drawing.Color.Black + Me.txtHoldDisposition.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDisposition.DataField = "HoldDisposition" + Me.txtHoldDisposition.Height = 0.1968504! + Me.txtHoldDisposition.Left = 2.386811! + Me.txtHoldDisposition.Name = "txtHoldDisposition" + Me.txtHoldDisposition.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtHoldDisposition.Text = Nothing + Me.txtHoldDisposition.Top = 0.0492126! + Me.txtHoldDisposition.Width = 5.364173! + ' + 'txtHoldItemNo + ' + Me.txtHoldItemNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtHoldItemNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldItemNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtHoldItemNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldItemNo.Border.RightColor = System.Drawing.Color.Black + Me.txtHoldItemNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldItemNo.Border.TopColor = System.Drawing.Color.Black + Me.txtHoldItemNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldItemNo.DataField = "HoldItemNo" + Me.txtHoldItemNo.Height = 0.1968504! + Me.txtHoldItemNo.Left = 0.1476378! + Me.txtHoldItemNo.Name = "txtHoldItemNo" + Me.txtHoldItemNo.Style = "font-size: 9.75pt; font-family: 新細明體; " + Me.txtHoldItemNo.Text = Nothing + Me.txtHoldItemNo.Top = 0.0492126! + Me.txtHoldItemNo.Width = 1.353346! + ' + 'txtQty + ' + Me.txtQty.Border.BottomColor = System.Drawing.Color.Black + Me.txtQty.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtQty.Border.LeftColor = System.Drawing.Color.Black + Me.txtQty.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtQty.Border.RightColor = System.Drawing.Color.Black + Me.txtQty.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtQty.Border.TopColor = System.Drawing.Color.Black + Me.txtQty.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtQty.DataField = "Qty" + Me.txtQty.Height = 0.2! + Me.txtQty.Left = 1.572917! + Me.txtQty.Name = "txtQty" + Me.txtQty.OutputFormat = resources.GetString("txtQty.OutputFormat") + Me.txtQty.Style = "font-size: 9.75pt; font-family: 新細明體; " + Me.txtQty.Text = Nothing + Me.txtQty.Top = 0.05298557! + Me.txtQty.Width = 0.75! + ' + 'Line36 + ' + Me.Line36.AnchorBottom = True + Me.Line36.Border.BottomColor = System.Drawing.Color.Black + Me.Line36.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line36.Border.LeftColor = System.Drawing.Color.Black + Me.Line36.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line36.Border.RightColor = System.Drawing.Color.Black + Me.Line36.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line36.Border.TopColor = System.Drawing.Color.Black + Me.Line36.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line36.Height = 0.31! + Me.Line36.Left = 0.0625! + Me.Line36.LineWeight = 1.0! + Me.Line36.Name = "Line36" + Me.Line36.Top = 0.0! + Me.Line36.Width = 0.0003187731! + Me.Line36.X1 = 0.0625! + Me.Line36.X2 = 0.06281877! + Me.Line36.Y1 = 0.0! + Me.Line36.Y2 = 0.31! + ' + 'Line37 + ' + Me.Line37.AnchorBottom = True + Me.Line37.Border.BottomColor = System.Drawing.Color.Black + Me.Line37.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line37.Border.LeftColor = System.Drawing.Color.Black + Me.Line37.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line37.Border.RightColor = System.Drawing.Color.Black + Me.Line37.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line37.Border.TopColor = System.Drawing.Color.Black + Me.Line37.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line37.Height = 0.31! + Me.Line37.Left = 7.8125! + Me.Line37.LineWeight = 1.0! + Me.Line37.Name = "Line37" + Me.Line37.Top = 0.0! + Me.Line37.Width = 0.0003190041! + Me.Line37.X1 = 7.8125! + Me.Line37.X2 = 7.812819! + Me.Line37.Y1 = 0.0! + Me.Line37.Y2 = 0.31! + ' + 'Line1 + ' + Me.Line1.Border.BottomColor = System.Drawing.Color.Black + Me.Line1.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line1.Border.LeftColor = System.Drawing.Color.Black + Me.Line1.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line1.Border.RightColor = System.Drawing.Color.Black + Me.Line1.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line1.Border.TopColor = System.Drawing.Color.Black + Me.Line1.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line1.Height = 0.0004101098! + Me.Line1.Left = 0.05856299! + Me.Line1.LineWeight = 1.0! + Me.Line1.Name = "Line1" + Me.Line1.Top = 0.3198819! + Me.Line1.Width = 7.756398! + Me.Line1.X1 = 0.05856299! + Me.Line1.X2 = 7.814961! + Me.Line1.Y1 = 0.3198819! + Me.Line1.Y2 = 0.320292! + ' + 'PageHeader + ' + Me.PageHeader.CanShrink = True + Me.PageHeader.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.Picture1, Me.Shape1, Me.Line29, Me.txtCreateDate, Me.lblERFReport, Me.txtDate, Me.lblPrintDate, Me.lblERFNo, Me.txtERFNo, Me.Line2, Me.Line5, Me.lblCustomerNo, Me.lblLotNo, Me.lblProductNo, Me.txtLotNo, Me.txtCustomerNo, Me.txtProductNo, Me.Barcode1, Me.lblOPNo, Me.txtOPNo, Me.lblRuleNo, Me.txtRuleNo, Me.lblMClassNo, Me.txtMClassNo, Me.lblHoldDescription, Me.lblCreator, Me.txtCreator, Me.lblCreateDate, Me.Line27, Me.Line28, Me.Line30, Me.Line31, Me.Line32, Me.txtHoldDescription, Me.Label1, Me.Label2, Me.Label3, Me.Label4, Me.Label5}) + Me.PageHeader.Height = 2.760417! + Me.PageHeader.Name = "PageHeader" + ' + 'Picture1 + ' + Me.Picture1.Border.BottomColor = System.Drawing.Color.Black + Me.Picture1.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Picture1.Border.LeftColor = System.Drawing.Color.Black + Me.Picture1.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Picture1.Border.RightColor = System.Drawing.Color.Black + Me.Picture1.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Picture1.Border.TopColor = System.Drawing.Color.Black + Me.Picture1.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Picture1.Height = 0.5! + Me.Picture1.Image = CType(resources.GetObject("Picture1.Image"), System.Drawing.Image) + Me.Picture1.ImageData = CType(resources.GetObject("Picture1.ImageData"), System.IO.Stream) + Me.Picture1.Left = 0.0! + Me.Picture1.LineColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Picture1.LineWeight = 0.0! + Me.Picture1.Name = "Picture1" + Me.Picture1.SizeMode = GrapeCity.ActiveReports.SectionReportModel.SizeModes.Zoom + Me.Picture1.Top = 0.0! + Me.Picture1.Width = 1.6875! + ' + 'Shape1 + ' + Me.Shape1.Border.BottomColor = System.Drawing.Color.Black + Me.Shape1.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Shape1.Border.LeftColor = System.Drawing.Color.Black + Me.Shape1.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Shape1.Border.RightColor = System.Drawing.Color.Black + Me.Shape1.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Shape1.Border.TopColor = System.Drawing.Color.Black + Me.Shape1.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Shape1.Height = 2.25! + Me.Shape1.Left = 0.0625! + Me.Shape1.Name = "Shape1" + Me.Shape1.RoundingRadius = New GrapeCity.ActiveReports.Controls.CornersRadius(9.999999!) + Me.Shape1.Top = 0.5! + Me.Shape1.Width = 7.75! + ' + 'Line29 + ' + Me.Line29.Border.BottomColor = System.Drawing.Color.Black + Me.Line29.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line29.Border.LeftColor = System.Drawing.Color.Black + Me.Line29.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line29.Border.RightColor = System.Drawing.Color.Black + Me.Line29.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line29.Border.TopColor = System.Drawing.Color.Black + Me.Line29.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line29.Height = 0.0001250505! + Me.Line29.Left = 0.0625! + Me.Line29.LineWeight = 1.0! + Me.Line29.Name = "Line29" + Me.Line29.Top = 1.6875! + Me.Line29.Width = 7.75! + Me.Line29.X1 = 7.8125! + Me.Line29.X2 = 0.0625! + Me.Line29.Y1 = 1.6875! + Me.Line29.Y2 = 1.687625! + ' + 'txtCreateDate + ' + Me.txtCreateDate.Border.BottomColor = System.Drawing.Color.Black + Me.txtCreateDate.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreateDate.Border.LeftColor = System.Drawing.Color.Black + Me.txtCreateDate.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreateDate.Border.RightColor = System.Drawing.Color.Black + Me.txtCreateDate.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreateDate.Border.TopColor = System.Drawing.Color.Black + Me.txtCreateDate.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreateDate.Height = 0.2! + Me.txtCreateDate.Left = 6.484375! + Me.txtCreateDate.Name = "txtCreateDate" + Me.txtCreateDate.OutputFormat = resources.GetString("txtCreateDate.OutputFormat") + Me.txtCreateDate.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtCreateDate.Text = Nothing + Me.txtCreateDate.Top = 1.453125! + Me.txtCreateDate.Width = 1.328125! + ' + 'lblERFReport + ' + Me.lblERFReport.Border.BottomColor = System.Drawing.Color.Black + Me.lblERFReport.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFReport.Border.LeftColor = System.Drawing.Color.Black + Me.lblERFReport.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFReport.Border.RightColor = System.Drawing.Color.Black + Me.lblERFReport.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFReport.Border.TopColor = System.Drawing.Color.Black + Me.lblERFReport.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFReport.Height = 0.4429134! + Me.lblERFReport.HyperLink = "" + Me.lblERFReport.Left = 3.198819! + Me.lblERFReport.Name = "lblERFReport" + Me.lblERFReport.Style = "text-decoration: none; ddo-char-set: 0; font-weight: bold; font-style: normal; fo" & _ + "nt-size: 24pt; font-family: Times New Roman; " + Me.lblERFReport.Text = "ERF Report" + Me.lblERFReport.Top = 0.0! + Me.lblERFReport.Width = 2.26378! + ' + 'txtDate + ' + Me.txtDate.Border.BottomColor = System.Drawing.Color.Black + Me.txtDate.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtDate.Border.LeftColor = System.Drawing.Color.Black + Me.txtDate.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtDate.Border.RightColor = System.Drawing.Color.Black + Me.txtDate.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtDate.Border.TopColor = System.Drawing.Color.Black + Me.txtDate.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtDate.Height = 0.2! + Me.txtDate.Left = 6.5! + Me.txtDate.Name = "txtDate" + Me.txtDate.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.txtDate.Text = Nothing + Me.txtDate.Top = 0.25! + Me.txtDate.Width = 1.25! + ' + 'lblPrintDate + ' + Me.lblPrintDate.Border.BottomColor = System.Drawing.Color.Black + Me.lblPrintDate.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblPrintDate.Border.LeftColor = System.Drawing.Color.Black + Me.lblPrintDate.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblPrintDate.Border.RightColor = System.Drawing.Color.Black + Me.lblPrintDate.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblPrintDate.Border.TopColor = System.Drawing.Color.Black + Me.lblPrintDate.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblPrintDate.Height = 0.2! + Me.lblPrintDate.HyperLink = "" + Me.lblPrintDate.Left = 5.75! + Me.lblPrintDate.Name = "lblPrintDate" + Me.lblPrintDate.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblPrintDate.Text = "Print Date" + Me.lblPrintDate.Top = 0.25! + Me.lblPrintDate.Width = 0.75! + ' + 'lblERFNo + ' + Me.lblERFNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblERFNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblERFNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFNo.Border.RightColor = System.Drawing.Color.Black + Me.lblERFNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFNo.Border.TopColor = System.Drawing.Color.Black + Me.lblERFNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblERFNo.Height = 0.2! + Me.lblERFNo.HyperLink = "" + Me.lblERFNo.Left = 0.125! + Me.lblERFNo.Name = "lblERFNo" + Me.lblERFNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblERFNo.Text = "ERF No" + Me.lblERFNo.Top = 0.5625! + Me.lblERFNo.Width = 0.875! + ' + 'txtERFNo + ' + Me.txtERFNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtERFNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtERFNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtERFNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtERFNo.Border.RightColor = System.Drawing.Color.Black + Me.txtERFNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtERFNo.Border.TopColor = System.Drawing.Color.Black + Me.txtERFNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtERFNo.Height = 0.2! + Me.txtERFNo.HyperLink = "" + Me.txtERFNo.Left = 1.0625! + Me.txtERFNo.Name = "txtERFNo" + Me.txtERFNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtERFNo.Text = "" + Me.txtERFNo.Top = 0.5625! + Me.txtERFNo.Width = 1.6875! + ' + 'Line2 + ' + Me.Line2.Border.BottomColor = System.Drawing.Color.Black + Me.Line2.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line2.Border.LeftColor = System.Drawing.Color.Black + Me.Line2.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line2.Border.RightColor = System.Drawing.Color.Black + Me.Line2.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line2.Border.TopColor = System.Drawing.Color.Black + Me.Line2.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line2.Height = 0.91! + Me.Line2.Left = 2.866! + Me.Line2.LineWeight = 1.0! + Me.Line2.Name = "Line2" + Me.Line2.Top = 0.5! + Me.Line2.Width = 0.0003190041! + Me.Line2.X1 = 2.866319! + Me.Line2.X2 = 2.866! + Me.Line2.Y1 = 0.5! + Me.Line2.Y2 = 1.41! + ' + 'Line5 + ' + Me.Line5.Border.BottomColor = System.Drawing.Color.Black + Me.Line5.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line5.Border.LeftColor = System.Drawing.Color.Black + Me.Line5.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line5.Border.RightColor = System.Drawing.Color.Black + Me.Line5.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line5.Border.TopColor = System.Drawing.Color.Black + Me.Line5.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line5.Height = 0.0! + Me.Line5.Left = 0.0625! + Me.Line5.LineWeight = 1.0! + Me.Line5.Name = "Line5" + Me.Line5.Top = 0.8125! + Me.Line5.Width = 5.54! + Me.Line5.X1 = 5.6025! + Me.Line5.X2 = 0.0625! + Me.Line5.Y1 = 0.8125! + Me.Line5.Y2 = 0.8125! + ' + 'lblCustomerNo + ' + Me.lblCustomerNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblCustomerNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCustomerNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblCustomerNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCustomerNo.Border.RightColor = System.Drawing.Color.Black + Me.lblCustomerNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCustomerNo.Border.TopColor = System.Drawing.Color.Black + Me.lblCustomerNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCustomerNo.Height = 0.2! + Me.lblCustomerNo.HyperLink = "" + Me.lblCustomerNo.Left = 0.125! + Me.lblCustomerNo.Name = "lblCustomerNo" + Me.lblCustomerNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblCustomerNo.Text = "Customer No" + Me.lblCustomerNo.Top = 0.859375! + Me.lblCustomerNo.Width = 0.875! + ' + 'lblLotNo + ' + Me.lblLotNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblLotNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblLotNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblLotNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblLotNo.Border.RightColor = System.Drawing.Color.Black + Me.lblLotNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblLotNo.Border.TopColor = System.Drawing.Color.Black + Me.lblLotNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblLotNo.Height = 0.2! + Me.lblLotNo.HyperLink = "" + Me.lblLotNo.Left = 2.9375! + Me.lblLotNo.Name = "lblLotNo" + Me.lblLotNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblLotNo.Text = "Lot No" + Me.lblLotNo.Top = 0.5625! + Me.lblLotNo.Width = 0.75! + ' + 'lblProductNo + ' + Me.lblProductNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblProductNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblProductNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblProductNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblProductNo.Border.RightColor = System.Drawing.Color.Black + Me.lblProductNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblProductNo.Border.TopColor = System.Drawing.Color.Black + Me.lblProductNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblProductNo.Height = 0.2! + Me.lblProductNo.HyperLink = "" + Me.lblProductNo.Left = 2.9375! + Me.lblProductNo.Name = "lblProductNo" + Me.lblProductNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblProductNo.Text = "Product No" + Me.lblProductNo.Top = 0.859375! + Me.lblProductNo.Width = 0.75! + ' + 'txtLotNo + ' + Me.txtLotNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtLotNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtLotNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtLotNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtLotNo.Border.RightColor = System.Drawing.Color.Black + Me.txtLotNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtLotNo.Border.TopColor = System.Drawing.Color.Black + Me.txtLotNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtLotNo.Height = 0.1875! + Me.txtLotNo.HyperLink = "" + Me.txtLotNo.Left = 3.75! + Me.txtLotNo.Name = "txtLotNo" + Me.txtLotNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtLotNo.Text = "" + Me.txtLotNo.Top = 0.5625! + Me.txtLotNo.Width = 1.8125! + ' + 'txtCustomerNo + ' + Me.txtCustomerNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtCustomerNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCustomerNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtCustomerNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCustomerNo.Border.RightColor = System.Drawing.Color.Black + Me.txtCustomerNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCustomerNo.Border.TopColor = System.Drawing.Color.Black + Me.txtCustomerNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCustomerNo.Height = 0.2! + Me.txtCustomerNo.HyperLink = "" + Me.txtCustomerNo.Left = 1.0625! + Me.txtCustomerNo.Name = "txtCustomerNo" + Me.txtCustomerNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtCustomerNo.Text = "" + Me.txtCustomerNo.Top = 0.875! + Me.txtCustomerNo.Width = 1.6875! + ' + 'txtProductNo + ' + Me.txtProductNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtProductNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtProductNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtProductNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtProductNo.Border.RightColor = System.Drawing.Color.Black + Me.txtProductNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtProductNo.Border.TopColor = System.Drawing.Color.Black + Me.txtProductNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtProductNo.Height = 0.1875! + Me.txtProductNo.HyperLink = "" + Me.txtProductNo.Left = 3.75! + Me.txtProductNo.Name = "txtProductNo" + Me.txtProductNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtProductNo.Text = "" + Me.txtProductNo.Top = 0.859375! + Me.txtProductNo.Width = 1.8125! + ' + 'Barcode1 + ' + Me.Barcode1.Border.BottomColor = System.Drawing.Color.Black + Me.Barcode1.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Barcode1.Border.LeftColor = System.Drawing.Color.Black + Me.Barcode1.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Barcode1.Border.RightColor = System.Drawing.Color.Black + Me.Barcode1.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Barcode1.Border.TopColor = System.Drawing.Color.Black + Me.Barcode1.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Barcode1.CaptionPosition = GrapeCity.ActiveReports.SectionReportModel.BarCodeCaptionPosition.Below + Me.Barcode1.Font = New System.Drawing.Font("Courier New", 8.0!) + Me.Barcode1.Height = 0.4375! + Me.Barcode1.Left = 5.6875! + Me.Barcode1.Name = "Barcode1" + Me.Barcode1.Text = "Barcode1" + Me.Barcode1.Top = 0.59375! + Me.Barcode1.Width = 2.0625! + ' + 'lblOPNo + ' + Me.lblOPNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblOPNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblOPNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblOPNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblOPNo.Border.RightColor = System.Drawing.Color.Black + Me.lblOPNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblOPNo.Border.TopColor = System.Drawing.Color.Black + Me.lblOPNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblOPNo.Height = 0.2! + Me.lblOPNo.HyperLink = "" + Me.lblOPNo.Left = 2.9375! + Me.lblOPNo.Name = "lblOPNo" + Me.lblOPNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblOPNo.Text = "OP No" + Me.lblOPNo.Top = 1.1875! + Me.lblOPNo.Width = 0.75! + ' + 'txtOPNo + ' + Me.txtOPNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtOPNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtOPNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtOPNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtOPNo.Border.RightColor = System.Drawing.Color.Black + Me.txtOPNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtOPNo.Border.TopColor = System.Drawing.Color.Black + Me.txtOPNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtOPNo.Height = 0.1875! + Me.txtOPNo.HyperLink = "" + Me.txtOPNo.Left = 3.75! + Me.txtOPNo.Name = "txtOPNo" + Me.txtOPNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtOPNo.Text = "" + Me.txtOPNo.Top = 1.1875! + Me.txtOPNo.Width = 1.8125! + ' + 'lblRuleNo + ' + Me.lblRuleNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblRuleNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblRuleNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblRuleNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblRuleNo.Border.RightColor = System.Drawing.Color.Black + Me.lblRuleNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblRuleNo.Border.TopColor = System.Drawing.Color.Black + Me.lblRuleNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblRuleNo.Height = 0.2! + Me.lblRuleNo.HyperLink = "" + Me.lblRuleNo.Left = 0.125! + Me.lblRuleNo.Name = "lblRuleNo" + Me.lblRuleNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblRuleNo.Text = "Rule No" + Me.lblRuleNo.Top = 1.453125! + Me.lblRuleNo.Width = 0.75! + ' + 'txtRuleNo + ' + Me.txtRuleNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtRuleNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtRuleNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtRuleNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtRuleNo.Border.RightColor = System.Drawing.Color.Black + Me.txtRuleNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtRuleNo.Border.TopColor = System.Drawing.Color.Black + Me.txtRuleNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtRuleNo.Height = 0.2! + Me.txtRuleNo.HyperLink = "" + Me.txtRuleNo.Left = 1.0625! + Me.txtRuleNo.Name = "txtRuleNo" + Me.txtRuleNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtRuleNo.Text = "" + Me.txtRuleNo.Top = 1.453125! + Me.txtRuleNo.Width = 1.6875! + ' + 'lblMClassNo + ' + Me.lblMClassNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblMClassNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblMClassNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblMClassNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblMClassNo.Border.RightColor = System.Drawing.Color.Black + Me.lblMClassNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblMClassNo.Border.TopColor = System.Drawing.Color.Black + Me.lblMClassNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblMClassNo.Height = 0.2! + Me.lblMClassNo.HyperLink = "" + Me.lblMClassNo.Left = 0.125! + Me.lblMClassNo.Name = "lblMClassNo" + Me.lblMClassNo.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblMClassNo.Text = "MClass No" + Me.lblMClassNo.Top = 1.15625! + Me.lblMClassNo.Width = 0.75! + ' + 'txtMClassNo + ' + Me.txtMClassNo.Border.BottomColor = System.Drawing.Color.Black + Me.txtMClassNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtMClassNo.Border.LeftColor = System.Drawing.Color.Black + Me.txtMClassNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtMClassNo.Border.RightColor = System.Drawing.Color.Black + Me.txtMClassNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtMClassNo.Border.TopColor = System.Drawing.Color.Black + Me.txtMClassNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtMClassNo.Height = 0.2! + Me.txtMClassNo.HyperLink = "" + Me.txtMClassNo.Left = 1.0625! + Me.txtMClassNo.Name = "txtMClassNo" + Me.txtMClassNo.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtMClassNo.Text = "" + Me.txtMClassNo.Top = 1.15625! + Me.txtMClassNo.Width = 1.6875! + ' + 'lblHoldDescription + ' + Me.lblHoldDescription.Border.BottomColor = System.Drawing.Color.Black + Me.lblHoldDescription.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDescription.Border.LeftColor = System.Drawing.Color.Black + Me.lblHoldDescription.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDescription.Border.RightColor = System.Drawing.Color.Black + Me.lblHoldDescription.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDescription.Border.TopColor = System.Drawing.Color.Black + Me.lblHoldDescription.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDescription.Height = 0.2! + Me.lblHoldDescription.HyperLink = "" + Me.lblHoldDescription.Left = 0.1230315! + Me.lblHoldDescription.Name = "lblHoldDescription" + Me.lblHoldDescription.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblHoldDescription.Text = "Hold Description" + Me.lblHoldDescription.Top = 1.747047! + Me.lblHoldDescription.Width = 1.125! + ' + 'lblCreator + ' + Me.lblCreator.Border.BottomColor = System.Drawing.Color.Black + Me.lblCreator.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreator.Border.LeftColor = System.Drawing.Color.Black + Me.lblCreator.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreator.Border.RightColor = System.Drawing.Color.Black + Me.lblCreator.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreator.Border.TopColor = System.Drawing.Color.Black + Me.lblCreator.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreator.Height = 0.2! + Me.lblCreator.HyperLink = "" + Me.lblCreator.Left = 5.65625! + Me.lblCreator.Name = "lblCreator" + Me.lblCreator.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblCreator.Text = "Creator" + Me.lblCreator.Top = 1.1875! + Me.lblCreator.Width = 0.8125! + ' + 'txtCreator + ' + Me.txtCreator.Border.BottomColor = System.Drawing.Color.Black + Me.txtCreator.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreator.Border.LeftColor = System.Drawing.Color.Black + Me.txtCreator.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreator.Border.RightColor = System.Drawing.Color.Black + Me.txtCreator.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreator.Border.TopColor = System.Drawing.Color.Black + Me.txtCreator.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtCreator.Height = 0.1875! + Me.txtCreator.HyperLink = "" + Me.txtCreator.Left = 6.484375! + Me.txtCreator.Name = "txtCreator" + Me.txtCreator.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtCreator.Text = "" + Me.txtCreator.Top = 1.1875! + Me.txtCreator.Width = 1.3125! + ' + 'lblCreateDate + ' + Me.lblCreateDate.Border.BottomColor = System.Drawing.Color.Black + Me.lblCreateDate.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreateDate.Border.LeftColor = System.Drawing.Color.Black + Me.lblCreateDate.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreateDate.Border.RightColor = System.Drawing.Color.Black + Me.lblCreateDate.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreateDate.Border.TopColor = System.Drawing.Color.Black + Me.lblCreateDate.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblCreateDate.Height = 0.2! + Me.lblCreateDate.HyperLink = "" + Me.lblCreateDate.Left = 5.65625! + Me.lblCreateDate.Name = "lblCreateDate" + Me.lblCreateDate.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.lblCreateDate.Text = "Create Date" + Me.lblCreateDate.Top = 1.453125! + Me.lblCreateDate.Width = 0.8125! + ' + 'Line27 + ' + Me.Line27.Border.BottomColor = System.Drawing.Color.Black + Me.Line27.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line27.Border.LeftColor = System.Drawing.Color.Black + Me.Line27.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line27.Border.RightColor = System.Drawing.Color.Black + Me.Line27.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line27.Border.TopColor = System.Drawing.Color.Black + Me.Line27.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line27.Height = 0.0001250505! + Me.Line27.Left = 0.0625! + Me.Line27.LineWeight = 1.0! + Me.Line27.Name = "Line27" + Me.Line27.Top = 1.124875! + Me.Line27.Width = 7.75! + Me.Line27.X1 = 7.8125! + Me.Line27.X2 = 0.0625! + Me.Line27.Y1 = 1.125! + Me.Line27.Y2 = 1.124875! + ' + 'Line28 + ' + Me.Line28.Border.BottomColor = System.Drawing.Color.Black + Me.Line28.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line28.Border.LeftColor = System.Drawing.Color.Black + Me.Line28.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line28.Border.RightColor = System.Drawing.Color.Black + Me.Line28.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line28.Border.TopColor = System.Drawing.Color.Black + Me.Line28.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line28.Height = 0.0001250505! + Me.Line28.Left = 0.0625! + Me.Line28.LineWeight = 1.0! + Me.Line28.Name = "Line28" + Me.Line28.Top = 1.40625! + Me.Line28.Width = 7.75! + Me.Line28.X1 = 7.8125! + Me.Line28.X2 = 0.0625! + Me.Line28.Y1 = 1.40625! + Me.Line28.Y2 = 1.406375! + ' + 'Line30 + ' + Me.Line30.Border.BottomColor = System.Drawing.Color.Black + Me.Line30.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line30.Border.LeftColor = System.Drawing.Color.Black + Me.Line30.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line30.Border.RightColor = System.Drawing.Color.Black + Me.Line30.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line30.Border.TopColor = System.Drawing.Color.Black + Me.Line30.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line30.Height = 1.180556! + Me.Line30.Left = 5.600695! + Me.Line30.LineWeight = 1.0! + Me.Line30.Name = "Line30" + Me.Line30.Top = 0.5069444! + Me.Line30.Width = 0.0003180504! + Me.Line30.X1 = 5.600695! + Me.Line30.X2 = 5.601013! + Me.Line30.Y1 = 0.5069444! + Me.Line30.Y2 = 1.6875! + ' + 'Line31 + ' + Me.Line31.Border.BottomColor = System.Drawing.Color.Black + Me.Line31.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line31.Border.LeftColor = System.Drawing.Color.Black + Me.Line31.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line31.Border.RightColor = System.Drawing.Color.Black + Me.Line31.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line31.Border.TopColor = System.Drawing.Color.Black + Me.Line31.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line31.Height = 0.91! + Me.Line31.Left = 3.71875! + Me.Line31.LineWeight = 1.0! + Me.Line31.Name = "Line31" + Me.Line31.Top = 0.5! + Me.Line31.Width = 0.0003190041! + Me.Line31.X1 = 3.71875! + Me.Line31.X2 = 3.719069! + Me.Line31.Y1 = 0.5! + Me.Line31.Y2 = 1.41! + ' + 'Line32 + ' + Me.Line32.Border.BottomColor = System.Drawing.Color.Black + Me.Line32.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line32.Border.LeftColor = System.Drawing.Color.Black + Me.Line32.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line32.Border.RightColor = System.Drawing.Color.Black + Me.Line32.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line32.Border.TopColor = System.Drawing.Color.Black + Me.Line32.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line32.Height = 1.180556! + Me.Line32.Left = 1.03125! + Me.Line32.LineWeight = 1.0! + Me.Line32.Name = "Line32" + Me.Line32.Top = 0.5069444! + Me.Line32.Width = 0.0003190041! + Me.Line32.X1 = 1.03125! + Me.Line32.X2 = 1.031569! + Me.Line32.Y1 = 0.5069444! + Me.Line32.Y2 = 1.6875! + ' + 'txtHoldDescription + ' + Me.txtHoldDescription.Border.BottomColor = System.Drawing.Color.Black + Me.txtHoldDescription.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDescription.Border.LeftColor = System.Drawing.Color.Black + Me.txtHoldDescription.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDescription.Border.RightColor = System.Drawing.Color.Black + Me.txtHoldDescription.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDescription.Border.TopColor = System.Drawing.Color.Black + Me.txtHoldDescription.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.txtHoldDescription.CanGrow = False + Me.txtHoldDescription.Height = 0.9375! + Me.txtHoldDescription.Left = 1.304134! + Me.txtHoldDescription.Name = "txtHoldDescription" + Me.txtHoldDescription.OutputFormat = resources.GetString("txtHoldDescription.OutputFormat") + Me.txtHoldDescription.Style = "ddo-char-set: 136; font-size: 9.75pt; font-family: 新細明體; " + Me.txtHoldDescription.Text = Nothing + Me.txtHoldDescription.Top = 1.747047! + Me.txtHoldDescription.Width = 6.4375! + ' + 'Label1 + ' + Me.Label1.Border.BottomColor = System.Drawing.Color.Black + Me.Label1.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label1.Border.LeftColor = System.Drawing.Color.Black + Me.Label1.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label1.Border.RightColor = System.Drawing.Color.Black + Me.Label1.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label1.Border.TopColor = System.Drawing.Color.Black + Me.Label1.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label1.Height = 0.2! + Me.Label1.HyperLink = "" + Me.Label1.Left = 1.058071! + Me.Label1.Name = "Label1" + Me.Label1.Style = "font-size: 9.75pt; font-family: 新細明體; " + Me.Label1.Text = "" + Me.Label1.Top = 0.5659449! + Me.Label1.Width = 1.6875! + ' + 'Label2 + ' + Me.Label2.Border.BottomColor = System.Drawing.Color.Black + Me.Label2.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label2.Border.LeftColor = System.Drawing.Color.Black + Me.Label2.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label2.Border.RightColor = System.Drawing.Color.Black + Me.Label2.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label2.Border.TopColor = System.Drawing.Color.Black + Me.Label2.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label2.Height = 0.2! + Me.Label2.HyperLink = "" + Me.Label2.Left = 1.058071! + Me.Label2.Name = "Label2" + Me.Label2.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.Label2.Text = "" + Me.Label2.Top = 0.8858268! + Me.Label2.Width = 1.6875! + ' + 'Label3 + ' + Me.Label3.Border.BottomColor = System.Drawing.Color.Black + Me.Label3.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label3.Border.LeftColor = System.Drawing.Color.Black + Me.Label3.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label3.Border.RightColor = System.Drawing.Color.Black + Me.Label3.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label3.Border.TopColor = System.Drawing.Color.Black + Me.Label3.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label3.Height = 0.2! + Me.Label3.HyperLink = "" + Me.Label3.Left = 1.058071! + Me.Label3.Name = "Label3" + Me.Label3.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.Label3.Text = "" + Me.Label3.Top = 1.156496! + Me.Label3.Width = 1.6875! + ' + 'Label4 + ' + Me.Label4.Border.BottomColor = System.Drawing.Color.Black + Me.Label4.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label4.Border.LeftColor = System.Drawing.Color.Black + Me.Label4.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label4.Border.RightColor = System.Drawing.Color.Black + Me.Label4.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label4.Border.TopColor = System.Drawing.Color.Black + Me.Label4.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label4.Height = 0.2! + Me.Label4.HyperLink = "" + Me.Label4.Left = 1.058071! + Me.Label4.Name = "Label4" + Me.Label4.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.Label4.Text = "" + Me.Label4.Top = 1.451772! + Me.Label4.Width = 1.6875! + ' + 'Label5 + ' + Me.Label5.Border.BottomColor = System.Drawing.Color.Black + Me.Label5.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label5.Border.LeftColor = System.Drawing.Color.Black + Me.Label5.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label5.Border.RightColor = System.Drawing.Color.Black + Me.Label5.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label5.Border.TopColor = System.Drawing.Color.Black + Me.Label5.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Label5.Height = 0.1875! + Me.Label5.HyperLink = "" + Me.Label5.Left = 3.740157! + Me.Label5.Name = "Label5" + Me.Label5.Style = "font-size: 9.75pt; font-family: Times New Roman; " + Me.Label5.Text = "" + Me.Label5.Top = 1.181102! + Me.Label5.Width = 1.8125! + ' + 'PageFooter + ' + Me.PageFooter.Height = 0.1451389! + Me.PageFooter.Name = "PageFooter" + Me.PageFooter.Visible = False + ' + 'GroupHeader1 + ' + Me.GroupHeader1.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.lblHoldItemNo, Me.lblQty, Me.lblHoldDisposition, Me.Line33, Me.Line34, Me.Line35}) + Me.GroupHeader1.Height = 0.21875! + Me.GroupHeader1.Name = "GroupHeader1" + ' + 'lblHoldItemNo + ' + Me.lblHoldItemNo.Border.BottomColor = System.Drawing.Color.Black + Me.lblHoldItemNo.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldItemNo.Border.LeftColor = System.Drawing.Color.Black + Me.lblHoldItemNo.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldItemNo.Border.RightColor = System.Drawing.Color.Black + Me.lblHoldItemNo.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldItemNo.Border.TopColor = System.Drawing.Color.Black + Me.lblHoldItemNo.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldItemNo.Height = 0.2! + Me.lblHoldItemNo.HyperLink = "" + Me.lblHoldItemNo.Left = 0.0625! + Me.lblHoldItemNo.Name = "lblHoldItemNo" + Me.lblHoldItemNo.Style = "color: White; text-align: center; background-color: Blue; " + Me.lblHoldItemNo.Text = "HoldItem No" + Me.lblHoldItemNo.Top = 0.0! + Me.lblHoldItemNo.Width = 1.5! + ' + 'lblQty + ' + Me.lblQty.Border.BottomColor = System.Drawing.Color.Black + Me.lblQty.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblQty.Border.LeftColor = System.Drawing.Color.Black + Me.lblQty.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblQty.Border.RightColor = System.Drawing.Color.Black + Me.lblQty.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblQty.Border.TopColor = System.Drawing.Color.Black + Me.lblQty.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblQty.Height = 0.2! + Me.lblQty.HyperLink = "" + Me.lblQty.Left = 1.5625! + Me.lblQty.Name = "lblQty" + Me.lblQty.Style = "color: White; text-align: center; background-color: Blue; font-size: 9.75pt; " + Me.lblQty.Text = "Qty" + Me.lblQty.Top = 0.0! + Me.lblQty.Width = 0.75! + ' + 'lblHoldDisposition + ' + Me.lblHoldDisposition.Border.BottomColor = System.Drawing.Color.Black + Me.lblHoldDisposition.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDisposition.Border.LeftColor = System.Drawing.Color.Black + Me.lblHoldDisposition.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDisposition.Border.RightColor = System.Drawing.Color.Black + Me.lblHoldDisposition.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDisposition.Border.TopColor = System.Drawing.Color.Black + Me.lblHoldDisposition.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.lblHoldDisposition.Height = 0.2! + Me.lblHoldDisposition.HyperLink = "" + Me.lblHoldDisposition.Left = 2.3125! + Me.lblHoldDisposition.Name = "lblHoldDisposition" + Me.lblHoldDisposition.Style = "color: White; text-align: center; background-color: Blue; font-size: 9.75pt; " + Me.lblHoldDisposition.Text = "Hold Disposition" + Me.lblHoldDisposition.Top = 0.0! + Me.lblHoldDisposition.Width = 5.5! + ' + 'Line33 + ' + Me.Line33.Border.BottomColor = System.Drawing.Color.Black + Me.Line33.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line33.Border.LeftColor = System.Drawing.Color.Black + Me.Line33.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line33.Border.RightColor = System.Drawing.Color.Black + Me.Line33.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line33.Border.TopColor = System.Drawing.Color.Black + Me.Line33.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line33.Height = 0.0! + Me.Line33.Left = 0.0625! + Me.Line33.LineWeight = 1.0! + Me.Line33.Name = "Line33" + Me.Line33.Top = 0.203125! + Me.Line33.Width = 7.75! + Me.Line33.X1 = 0.0625! + Me.Line33.X2 = 7.8125! + Me.Line33.Y1 = 0.203125! + Me.Line33.Y2 = 0.203125! + ' + 'Line34 + ' + Me.Line34.Border.BottomColor = System.Drawing.Color.Black + Me.Line34.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line34.Border.LeftColor = System.Drawing.Color.Black + Me.Line34.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line34.Border.RightColor = System.Drawing.Color.Black + Me.Line34.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line34.Border.TopColor = System.Drawing.Color.Black + Me.Line34.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line34.Height = 0.2! + Me.Line34.Left = 0.0625! + Me.Line34.LineWeight = 1.0! + Me.Line34.Name = "Line34" + Me.Line34.Top = 0.0! + Me.Line34.Width = 0.0003187731! + Me.Line34.X1 = 0.0625! + Me.Line34.X2 = 0.06281877! + Me.Line34.Y1 = 0.0! + Me.Line34.Y2 = 0.2! + ' + 'Line35 + ' + Me.Line35.Border.BottomColor = System.Drawing.Color.Black + Me.Line35.Border.BottomStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line35.Border.LeftColor = System.Drawing.Color.Black + Me.Line35.Border.LeftStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line35.Border.RightColor = System.Drawing.Color.Black + Me.Line35.Border.RightStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line35.Border.TopColor = System.Drawing.Color.Black + Me.Line35.Border.TopStyle = GrapeCity.ActiveReports.BorderLineStyle.None + Me.Line35.Height = 0.2! + Me.Line35.Left = 7.812181! + Me.Line35.LineWeight = 1.0! + Me.Line35.Name = "Line35" + Me.Line35.Top = 0.0! + Me.Line35.Width = 0.0003190041! + Me.Line35.X1 = 7.812181! + Me.Line35.X2 = 7.8125! + Me.Line35.Y1 = 0.0! + Me.Line35.Y2 = 0.2! + ' + 'GroupFooter1 + ' + Me.GroupFooter1.Height = 0.01041667! + Me.GroupFooter1.Name = "GroupFooter1" + ' + 'arERF_General + ' + Me.MasterReport = False + Me.PageSettings.Margins.Left = 0.0! + Me.PageSettings.Margins.Right = 0.0! + Me.PageSettings.PaperHeight = 11.69! + Me.PageSettings.PaperWidth = 8.27! + Me.PrintWidth = 7.885417! + Me.Sections.Add(Me.PageHeader) + Me.Sections.Add(Me.GroupHeader1) + Me.Sections.Add(Me.Detail) + Me.Sections.Add(Me.GroupFooter1) + Me.Sections.Add(Me.PageFooter) + Me.StyleSheet.Add(New DDCssLib.StyleSheetRule(resources.GetString("$this.StyleSheet"), "Normal")) + Me.StyleSheet.Add(New DDCssLib.StyleSheetRule("font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: bo" & _ + "ld; font-size: 16pt; font-size-adjust: inherit; font-stretch: inherit; ", "Heading1", "Normal")) + Me.StyleSheet.Add(New DDCssLib.StyleSheetRule("font-family: Times New Roman; font-style: italic; font-variant: inherit; font-wei" & _ + "ght: bold; font-size: 14pt; font-size-adjust: inherit; font-stretch: inherit; ", "Heading2", "Normal")) + Me.StyleSheet.Add(New DDCssLib.StyleSheetRule("font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: bo" & _ + "ld; font-size: 13pt; font-size-adjust: inherit; font-stretch: inherit; ", "Heading3", "Normal")) + CType(Me.txtHoldDisposition, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtHoldItemNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtQty, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Picture1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtCreateDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblERFReport, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblPrintDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblERFNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtERFNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblCustomerNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblLotNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblProductNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtLotNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtCustomerNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtProductNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblOPNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtOPNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblRuleNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtRuleNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblMClassNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtMClassNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblHoldDescription, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblCreator, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtCreator, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblCreateDate, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtHoldDescription, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Label1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Label2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Label3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Label4, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Label5, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblHoldItemNo, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblQty, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblHoldDisposition, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me, System.ComponentModel.ISupportInitialize).EndInit() + + End Sub + +#End Region + + Private Sub arERF_General_ReportStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.ReportStart + 'steve,100401,在end user電腦上沒設定任何一台印表機時,Active report預設page size設成A4會有錯誤,預設Page size改成default時,在條碼機的特殊格式大小也會有錯,故加入下列指令 + Me.Document.Printer.PrinterName = "" + + Me.txtDate.Text = Now.ToShortDateString + Me.txtERFNo.Text = ERFNo + Me.Barcode1.Text = ERFNo + Me.txtLotNo.Text = LotNo + Me.txtCustomerNo.Text = CustomerNo + Me.txtOPNo.Text = OPNo + Me.txtProductNo.Text = ProductNo + Me.txtRuleNo.Text = RuleNo + Me.txtMClassNo.Text = MClassNo + Me.txtHoldDescription.Text = HoldDescription + Me.txtCreator.Text = Creator + Me.txtCreateDate.Text = Format(CreateDate, "yyyy/MM/dd HH:mm") + + Me.PageSettings.Margins.Left = 0.2 + Me.PageSettings.Margins.Top = 0.3 + Me.PageSettings.Margins.Bottom = 0.2 + Me.PageSettings.Orientation = PageOrientation.Landscape + Me.PageSettings.Orientation = PageOrientation.Portrait + + End Sub + + Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format + + 'If Me.intRow Mod 5 = 0 Then + ' Me.Detail.BackColor = Color.LightGray + 'Else + ' Me.Detail.BackColor = Color.White + 'End If + + 'Me.intRow = Me.intRow + 1 + + End Sub + + + + + + Private Sub PageHeader_Format(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PageHeader.Format + + End Sub +End Class diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.isl b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.isl new file mode 100644 index 0000000..0679a67 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.isl @@ -0,0 +1,4303 @@ + + + + 2015-02-05T03:06:30 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA3gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADgElEQVRoQ+2XzWsTQRjGq/Qk1YOgFz3qHyLFi4LeRAri0YMHTx68eCseBMFL8W+waGPRIoixYkUrUmgVaZKaNJ/bbNpNm48mjUle531lttPpZGcm0IvMAw+Tncy7s89vZ2eTkVwuB7aOx+PWnpyctPax52k4bmEcP0wNQWi328auVCoUykYcQqPRMDaOx4u0EQ9mIxzvIDgIDgLJQWByEJgcBCYHgclBYHIQmBwEphACBjN1sVikULbGULbmoY7aI6urq2BrVUidVSF1tv0zNIzpDxSGspHneRTKRhyCatkPMo7Hi7QRD2YjHO8gmEDodrtQKBSgWq3SsQmErb0eXF/YgGe/a3RsAiFfrcHVj0V4+qtCxyYQ5HlMIKhqIiEggFKpRPsAgkDpIOAkE199GGEnv7ZQpj4dBARwY6FENVfmi9Sng6CaRwdhUM1ACP1+nwLj9/gGQSCoKAidXh9uf/Npsxmf92Cj9a8mCkK11oCJzyWqufS+AOmgRv1REAbNEwUhqiaEgL8BMGyz2aTjIAggkUhAOp2G3d1d6kOJEJa39+DyR3bst4DNAY8T23DiRQYuzuXhU6VFY1AihEVvG8bjBZjLBlCrs7ArPtVceJOFd/kghCNCMJ1HhGBTE0Iol8t019fW1sD3fUgmk5BKpaDV2i9AiRDuLm0S2fOvc3B/eQtOzazD2dksfNls0/dcIoQ7ix7VnJtdh3vfN+DkywycebUOH/LVEIAMwXQeEYJNzYHHAQPi3cc+BMBXhSj5cbi1WIbR6Qw9Z6djWXjr7a8aLhEC+iZb/qPTbHKsmclALLO/ArhFCCiTeUQIKNOaAxB6vR79KsRVgI8D7guyZAjNPz14+DOAMXZHnyR3oNU9XCND8Hfq8GCpDGNseT764cNmrX4AAFqGYDKPDMG05tDGiME7nY4SAEqGgMKTp+od2nxUkiGgMfiKv0Mbo9jPLUNA6eaRIaBMag5B0EkFQScVBJ1VEHRSQdAphIDBTI1vCwxlawxlax7qqE3/Im2tCqmzKqTOuLurLnqQcfwwNQTBRhyCjTgEG8ViMbpIG+FbYJiaEAK/y1Hm4zgEOoHGKBGCaoxslAhBNUY2HzdMjYOAn8VwOvNxDgJrHQTWOgisdRBY6yCw1kFg7X8LwVQiBFOJEEwlQjAVBhqmhiDYGkPZGiFgMFNPTU2Fd+xonYa/RnTXOFz4kRIAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + 249, 249, 249 + MiddleCenter + + + + + White + Segoe UI, 9pt + 75, 75, 75 + MiddleLeft + MiddleLeft + + + + + White + Segoe UI, 8.25pt + 75, 75, 75 + + + + + White + Segoe UI, 9pt + 75, 75, 75 + + + + + 75, 75, 75 + White + 0, 170, 222 + White + Silver + Left + Long + False + False + + + + + White + Segoe UI, 9pt + 75, 75, 75 + + + + + White + Flat + Segoe UI, 9pt + 75, 75, 75 + + + + + White + None + Microsoft Sans Serif, 12pt + 0, 170, 222 + MiddleCenter + + + + + 0, 170, 222 + White + None + Gainsboro + Flat + Segoe UI, 9.75pt, style=Bold + MiddleCenter + AlwaysUnderline + 133, 133, 133 + MiddleCenter + 179, 230, 245 + + + + + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + + + + + True + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + Nonclickable + LargeIcon + + + + + White + 75, 75, 75 + True + True + 0, 170, 222 + White + 191, 191, 191 + + + + + White + None + Segoe UI, 8.25pt + 75, 75, 75 + + + + + White + None + + + + + White + White + 75, 75, 75 + Segoe UI, 9pt + White + White + True + White + True + White + 75, 75, 75 + + + + + White + Segoe UI, 9pt + 75, 75, 75 + MiddleCenter + MiddleLeft + + + + + White + None + 75, 75, 75 + + + + + White + None + 75, 75, 75 + + + + + 133, 133, 133 + None + + + + + Segoe UI, 9pt + True + + + + + White + FixedSingle + Segoe UI, 9pt + 75, 75, 75 + Left + + + + + White + + + + + White + None + False + Segoe UI, 9pt + 75, 75, 75 + False + False + True + 25 + False + True + True + + + + + White + Segoe UI, 8.25pt + 75, 75, 75 + + + + + + True + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA7QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADj0lEQVRoQ+2YzWsTQRiHq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OKteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXuf3ym4n2012JuBtHvgddjNvZt9nZycfI8lkknQTDAa1Mzk5qZ0jz2N0VCMYP0wNS2g2m8opFArclA5ra2vcVK1WU04gEOCL1OH2t8JQNUaCkWAkMEaCwEgQGAkCI0FgJAiMBIGRIHAkoDHVZDIZloDGVBMKhVgCGlPN1NQUf6/HRarmwtvUUDUj6+vrpBtI0A0k6GaYH0PD1LAEHXK5HDelgy3Ba9n3C8bjInWwG9MB440EFQntdpvS6TSVy2U+VpFQ3O/QtcUteva7wscqElLlCl1ZyNDTXwU+VpHgnkdFglfNQAkQkM1meR+ACOAnAZNMhCwaEW9+dTHP5/wkQMD1xSzXXJ7P8Dk/CV7z+EnoV9NXQrfb5YbxOj5BIAQMktDqdOnWV4s3m/H5HG01/tUMklCu1Gjic5ZrLn5IU6xU4fODJPSbZ5CEQTWOBHwHQLP1ep2PS6UShcNhisVitLe3x+eALGFlZ58uLYhjq0FiDnoc3qFjL+J0fi5FnwoNHgNkCUu5HRoPpmkuUaJKVTS7anHNuTcJep8qOXJkCarzyBJ0ahwJ+Xye7/rGxgZZlkWRSISi0Sg1GgcFQJZwd3mbzZ59naT7K0U6MbNJp2cT9GW7ya/byBLuLOW45szsJt37vkXHX8bp1KtN+pgqOwLcElTnkSXo1PQ8DmgQdx/nIMBeFTLux+HmUp5Gp+P8nJ0MJOhd7mDV2MgSkBti+Y9Oi8lRMxOnQPxgBdiRJQCVeWQJQLWmR0Kn0+FvhVgFeBywL7hxS6j/6dDDnyUaE3f0SWSXGu3DNW4J1m6VHiznaUwsz0c/LNquVHsEIG4JKvO4JajWHNoY0Xir1fIUANwSAN48Wm3x5uOFWwKCxletXd4Y5fN23BKA3zxuCUCl5pAEP7wk+OElwS9eEvzwkuCHIwGNqQafFmhKN2hKN3ZT/zv8K1I3Xk36xatJv2B397rofsH4YWpYgg7FYpGb0sGWoAPG4yJ1sBvTAeMdCfKd7hcgS8BHj1+ALMFrjDtAluA1xh0gS/Aa4w4wEgRGgsBIEBgJAiNBYCQIjASBkSDokaCKLEEVWYIqsgRVZAmqOBLQmGrwxyua0g2a0o3d1P9NjP4C33z6NGMDUeMAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAAvQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADX0lEQVRoQ+2Xz2sTQRTHq/Qk1YOgFz3qHyLFi4LeRAri0YMHTx68eCseBMGbf4NFW4sWQYwtVrRFCq0iTVKT5kezzabdtPnRpDHJc97IbCfTyc68gEVhPvA97HReZt9nZyfN0OrqKlATi8XIGR8fJ+fY8xQcJwTnD1LDJTSbTesICRSEhFqtZh2cjzdJQTRGAec7CU6Ck8BxEhhOAsNJYDgJDCeB4SQwnARGKIEabIoabIoa0dTfzj8tgfpjCDNIDZdAQUigICTotn2/4Hy8QQqiKQpOAsNKQrvdhnw+D+VymV/bSNje78D1+U149rPCr20k5MoVuDq3AU9/lPi1jQR1HRsJuppICSigUCjwxlEEYpKAi4x98WGIffi1+SIfM0lAATfmC7zmyuwGHzNJ0K1jktCvpq+EbrcLnufxprPZLBeCRElodbpwe9Hnh9PorAebjT81URLKlRqMfSrwmkvv85AKKnw8SkK/daIkRNWEEvB/AGy2Xq/z6yAIIB6PQyqVgr29PT6GyBKWd/bh8pwHMb8BbA14HN+BEy/ScHEmBx9LDT4HkSUseDswGsvDTCaASpU1u+LzmgtvMvAuF4RyZAm268gSKDWhhGKxyBtcW1sD3/chkUhAMpmERuOgAJEl3F3a4mbPv87C/eVtODW5DmenM/B5q8n/LpAl3FnweM256XW493UTTr5Mw5lX6/AhVw4FqBJs15ElUGp6Xgfc/vj0cQwFiF0hI0tAbi0UYXgizd+z01MZeOsd7BqBLAFzk23/4Qm2ONZMpmEqfbADRGQJiM06sgTEtqZHQqfTgVKpxHcBvg54LqioEuq/OvDwewAj7Ik+SexCo324RpXg71bhwVIRRtj2fPTNh61KtUcARpVgs44qwbbm0MGIjbdaLa0ARJWA4Icnqy1++OhQJWCw8RV/lx+M8riIKgExraNKQGxqDkkwoZNgQifBFJ0EEzoJJkIJ1GBT1GBT1ODBJhqzzSA1Q/i1SI2uSVN0TZpypBIoCAkUhAQKOB9vkIJoikKPBPGUoyLmCQn41WMKIkvQzVGDyBJ0c9QgsgTdHDWIk8BwEhhOAsNJYDgJDCeB4SQw/hsJ/EYNEfMGqQkl2CJLsEWWYIsswRZZgi2hBGqwKWqwKWqO5rdDCn4DepjAZpDd1xAAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2zXFsx4kTZ/GWw/2d+GbevFz7Oe7IXzqy/XLPu/f871kTEg+y2azs7u7K4uLitayvr0s6nS6uuInz83OZm5uTvr4+6e3tVRkbG5NkMimXl5fFVc/j+PhYuru7pa6uTmpra1UaGxtle3u7pM7maU6+/DcmrzStyUuNV/JWeFfC++dScKtUrKMkFAoFicfjanAsFlOjLy4u5OzsTJ9vbW1JJBJRkizy+bxsbm6qwXyyHlgip6amlET7HGQyGRkdHZWmpibVOzk5UaMhcnZ2Vtra2pREnluksgX5ZeFQ3g5H5NfFIzWM8ycyBfljNSUfPYnKt2Nx2T7NXykY3FZHSUgkEnpwa7xfTk9PJRqN6k3lcjlVxPClpSU1wAXIgFTIwHgwPj6uHoMnuADpw8PD0t7ernsCjPjOHNga4kfsIi8/zh8aw/Yken5l1G11Qhx2Y2NDN3URYAVjd3Z21M35zk2WIsCCW15YWFDyuN3m5uaSBFjgleFwWCYnJ9WId3oisnX27JZdyJt9vh6JyW9PU1XphPCA/f19p+F+wQAMIgdAXCVAZ3p6WnMAoVAq5r0gJDs6OjSefzZuXSg+L4fxZEY++SdalU6IuC0VBn7BXQkD4jbICyzwNG6VJBjkBRbs09raKi+bRLaefpaHyiF+UZD3H+9VpaMkuAx2CYbjCT09PcXXBAP3xnNqamoq8gJA0u3q6pIX/l4rmfn9yJiFnw/FqtK5tSdQKfAEflcCEinhQBn0Zv1yIJFSKShpO2dXiTgIR6YifGiyfjU6ITI41cFvsEswglxAUtzb2yu+qjxIuIQDfQBJshKQfAkHavrDjcpCaOE4K+89jlSlE8ILcHFu2WW4VyiTJC0OSV339g2lAMmrq6u6R2dnZ0W5ZGRkRAYHB7Wp+WxgXxImdoPwkyl5P0wnq9LRPoFGCHEZbgVvwSC+E9uE0crKir7MBdbgLRgE0fwml/T39xdX3AT5A29paGiQg4MDje1vRuPyYPKguOImcsbWP9dP5M3uXZlPZavSURK4UW4KSaVS6sLcGN5BCFBC19bW9LcFZBDr8/PzcnR0pO/ACHIA+lQRGh/eZ8G7aIQolxDE+0iCvAujKaH19fXPhdq2ie+PTRn7ypS+wcSFyeh5TWjE81wqo+XwjUc7MmT+ZnFbnevZgcPj5hBB3POJIXwnBDioHyQw1s3MzGjcUwXoECcmJjQE8AA/IIg19AHEPVWAJNjS0iIDAwNKhh90db+bpubT/qiWtC+G9uUD0+292xuR7407c5t+3EbnmgQAEYQF7TDujthushTwmDszQHED3Dyfdj7AVXF12mVc1JsI79wAheFk/lLZHoNJjNyUJQjD78wAhVEYxCe3ws0Tz9zi8vKyJkVI4G8Q5R+gssavHm6cyOsdWxIy3dq91k2TmROSNKyj4xqgyumUGqDK6ZQaoCrVCZEDbDKCAG8+sEIocDhcm9DwDlB/mU1ebV7XTazQut4fjkna1CLXABWk4xqggnRcA1SlOiGMtmFgPcAveARr8AjbNtsweK39imW/3GvdkNWTrOr5B6ggHcLCP0AF6bgGqEp1dHaw8BvvFeKaW8RzvAOUaxMrtKV4kH+Acq21gg5k+wco11or6LgGKNdaK14dJcEmO27cbzxivQWDiG/vAAWrrk1ww6eGbd7tH6CCdFwDVJCOa4CqVCdEbJMLAEnQRQIhwO1wOL57B6gHUwfyotnYvxFNSSKT1yzvH6CCdFwDVJCOHYaq0QlxSOo6RiIYZz0CD8Bo2y5TJvnHq3eAItPeH45fsw7LbPIkfpUzXANUkI5rgArScQ1Qlepon2CnQ4DLYxy3jkAMscwMgNcQBvyGJDtApXOXsprOKbO42YHZnDUQWmqAcumwd7kByqXjH4aq0VESMNp2hdyUNZxDQYSdIO/8AMVhDg8PlQxclyrAJ8YQApDhB89Y8/8eoET+A46Kvwl1DPddAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAASAIAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAB6klEQVRoQ+2ZQUsCQRTHLTpFdOjQqWv0QaJr3YPo0q1z126ego7SZygqiahOS5GQFQRCICVlrqCuumFlmaa93hvMJtlwZmFDdt8P/gd33+C+3+7MOhgCFxiGoZ1wOKyd/8K1BB2SyaRoqlqtKicajbZHew9LQFgCwhIQloCwBIQlICwBYQkIS0BYAuJaAjWmmng8LiRQY6qJRCLtb/Me1xJ00894Ph1SqZR4GvoZzyVYlhVMCXa9BXOxAmzcPYvPgZNAAubjRQht3sNszBLHAiWh0fqExYsiDKCA6eM8FGpNcdzXEhKVOsyc5MEo1gD7h7WbCgxvp2HyIAunpZqoIXwtYfmqLO76xL4JKwkbRncfYHwvA2fld3H+G99Ph4VzC4a20mINGItm4Cj/1j7zg+8lvH60YPX6EUZ20rB++wS1Js6LLgKxMFLjqZeGWBidCISEXvhWAjWmGtpA9TMh0zRBNyRBN7SL1A29eQY1QvVuxggJOti2LZrSgZ4GakoH2k7TReqwdFlyNaYjQb7Tf4WQJdBrsVcIWYJTTXcIWYJTTXcIWYJTTXcIloCwBIQlICwBYQkIS0BYAsISkF8SVJElqCJLUEWWoIosQZWOBGpMNblcTkigxlTj9h8o+l1PF6maqcOsizFZ+AIGcQg8msEiNgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADm0lEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOrAgq88AD2ck+mX1/87G7GUokEqTrQCCgbZ/Pp+0Dj6N0UMM430uGITQaDWXn83kuSkfLy8tcVLVaVbbf7+eL1NH1T3lPGQPBQDAQWAaCkIEgZCAIGQhCBoKQgSBkIAj1IKAwVafTaYaAwlQdDAYZAgpT9fj4OD/X4yJVfeZl0lNmaGVlhXQNCLoGBF17eRnykmEIOspms1yUqiKRCM8GFOU07fsZswEXqSOMrJfMH4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTpbl1evS9zMcqEJKlMl2YTdPDb3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzcS7HbW4QAODyXIYz52fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h659tHizGZ3J0nr9V2YQhFK5SmPvM5w5+yZF0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzh87NimOrTqIPuh/apENPYnR6Oknv8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6cehGn18liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh5sIGkz35PEG3Fwt0ZHKNjk/F6cNGg7/vSoZwYz7LmRNTa3Tr8zodfhqjY8/W6G2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8PV+RwNT8R4nR31x+lVdnfWdGVfDlfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqP9p092uRRsSIPghvUb21P2OHYG1V6M5CjkbE9Lz3xaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq/p0XqO6oqVo/E6WfdBY2E/BzX6AAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA6wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjUlEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapM2fJo1JXud5ZdPpdpOdWRAU5gcPdDfzdvb97exsMpRKpUg3oVBIO4FAQDuHnsbpsEYw3k8NS2g2m8opFovclA7Ly8vcVK1WU04wGOSL1OHml6KvGiPBSDASGCNBYCQIjASBkSAwEgRGgsBIEPQkoDHVZLNZloDGVBMOh1kCGlPN+Pg4f6/HRarm3Ou0r5qhlZUV0g0k6AYSdOPnx5CfGpagQz6f56ZUicVivBrQlNuy7xesBlykDrizfmr+uoRCofD/S2i325TJZKhcLvOxioTN3Q5dmVunJz8rfKwiIV2u0KXZLD3+UeRjFQnOeVQkuNUMlAABuVyO9wGIAF4SMMlY2KIhcTGX5wp8zksCBFydy3HNxZksn/OS4DaPl4R+NX0ldLtdbhif4w0CIWCQhFanSzc+W7zZjM7kab3xp2aQhHKlRmMfc1xz/l2G4qUKnx8kod88gyQMqulJwHcANFuv1/m4VCpRJBKheDxOOzs7fA7IEha3dunCrDi2GiTmoIeRLTryLEFnp9P0odjgMUCWMJ/fotFQhqaTJapUaxRYsrjmzKskvU2XenJkCarzyBJ0anoSsIHh79XVVbIsi6LRKO/sjcZeAZAl3F7YYLOnX6bo7uImHZtco5NTSfq00eTPbWQJt+bzXHNqao3ufF2no88TdOLFGr1Pl3sCnBJU55El6NTsexzQIO4+zkGAvSpknI/D9fkCDU8k+Dk7HkzSm/zeqrFxPg7XxPIfnhDvZ9RMJiiY2FsBdpyPg8o8sgSgWrNPQqfT4W+FWAV4HLAvOHFKqP/q0P3vJRoRd/RRdJsa7YM1TgnWdpXuLRRoRCzPB98s2qhU9wlAnBJU5nFKUK05sDGi8Var5SoAOCUA/PNYtcWbjxtuGyMaX7K2eWOUz9tx2xi95nFKACo1ByR44SbBCzcJXnGT4IWbBC96EtCYavC2gAQ0ppp//gcUXou6gQTdQIJu0BDurGow3k8NS9DBlqADVgOa0gGrARepA+6sn5qeBPsuD4o9zpaAV49XgCzBbYwzQJbgNsYZIEtwG+MMMBIERoLASBAYCQIjQWAkCIwEgZEg2CdBFVmCKrIEVWQJqsgSVOlJ0A0koDHV/Ns/oNL0G0NuTL0rh9nUAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADm0lEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOrAgq88AD2ck+mX1/87G7GUokEqTrQCCgbZ/Pp+0Dj6N0UMM430uGITQaDWXn83kuSkfLy8tcVLVaVbbf7+eL1NH1T3lPGQPBQDAQWAaCkIEgZCAIGQhCBoKQgSBkIAj1IKAwVafTaYaAwlQdDAYZAgpT9fj4OD/X4yJVfeZl0lNmaGVlhXQNCLoGBF17eRnykmEIOspms1yUqiKRCM8GFOU07fsZswEXqSOMrJfMH4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTpbl1evS9zMcqEJKlMl2YTdPDb3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzcS7HbW4QAODyXIYz52fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h659tHizGZ3J0nr9V2YQhFK5SmPvM5w5+yZF0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzh87NimOrTqIPuh/apENPYnR6Oknv8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6cehGn18liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh5sIGkz35PEG3Fwt0ZHKNjk/F6cNGg7/vSoZwYz7LmRNTa3Tr8zodfhqjY8/W6G2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8PV+RwNT8R4nR31x+lVdnfWdGVfDlfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqP9p092uRRsSIPghvUb21P2OHYG1V6M5CjkbE9Lz3xaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq/p0XqO6oqVo/E6WfdBY2E/BzX6AAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + VisualStudio2008Vista + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2zXFsx4kTZ/GWw/2d+GbevFz7Oe7IXzqy/XLPu/f871kTEg+y2azs7u7K4uLitayvr0s6nS6uuInz83OZm5uTvr4+6e3tVRkbG5NkMimXl5fFVc/j+PhYuru7pa6uTmpra1UaGxtle3u7pM7maU6+/DcmrzStyUuNV/JWeFfC++dScKtUrKMkFAoFicfjanAsFlOjLy4u5OzsTJ9vbW1JJBJRkizy+bxsbm6qwXyyHlgip6amlET7HGQyGRkdHZWmpibVOzk5UaMhcnZ2Vtra2pREnluksgX5ZeFQ3g5H5NfFIzWM8ycyBfljNSUfPYnKt2Nx2T7NXykY3FZHSUgkEnpwa7xfTk9PJRqN6k3lcjlVxPClpSU1wAXIgFTIwHgwPj6uHoMnuADpw8PD0t7ernsCjPjOHNga4kfsIi8/zh8aw/Yken5l1G11Qhx2Y2NDN3URYAVjd3Z21M35zk2WIsCCW15YWFDyuN3m5uaSBFjgleFwWCYnJ9WId3oisnX27JZdyJt9vh6JyW9PU1XphPCA/f19p+F+wQAMIgdAXCVAZ3p6WnMAoVAq5r0gJDs6OjSefzZuXSg+L4fxZEY++SdalU6IuC0VBn7BXQkD4jbICyzwNG6VJBjkBRbs09raKi+bRLaefpaHyiF+UZD3H+9VpaMkuAx2CYbjCT09PcXXBAP3xnNqamoq8gJA0u3q6pIX/l4rmfn9yJiFnw/FqtK5tSdQKfAEflcCEinhQBn0Zv1yIJFSKShpO2dXiTgIR6YifGiyfjU6ITI41cFvsEswglxAUtzb2yu+qjxIuIQDfQBJshKQfAkHavrDjcpCaOE4K+89jlSlE8ILcHFu2WW4VyiTJC0OSV339g2lAMmrq6u6R2dnZ0W5ZGRkRAYHB7Wp+WxgXxImdoPwkyl5P0wnq9LRPoFGCHEZbgVvwSC+E9uE0crKir7MBdbgLRgE0fwml/T39xdX3AT5A29paGiQg4MDje1vRuPyYPKguOImcsbWP9dP5M3uXZlPZavSURK4UW4KSaVS6sLcGN5BCFBC19bW9LcFZBDr8/PzcnR0pO/ACHIA+lQRGh/eZ8G7aIQolxDE+0iCvAujKaH19fXPhdq2ie+PTRn7ypS+wcSFyeh5TWjE81wqo+XwjUc7MmT+ZnFbnevZgcPj5hBB3POJIXwnBDioHyQw1s3MzGjcUwXoECcmJjQE8AA/IIg19AHEPVWAJNjS0iIDAwNKhh90db+bpubT/qiWtC+G9uUD0+292xuR7407c5t+3EbnmgQAEYQF7TDujthushTwmDszQHED3Dyfdj7AVXF12mVc1JsI79wAheFk/lLZHoNJjNyUJQjD78wAhVEYxCe3ws0Tz9zi8vKyJkVI4G8Q5R+gssavHm6cyOsdWxIy3dq91k2TmROSNKyj4xqgyumUGqDK6ZQaoCrVCZEDbDKCAG8+sEIocDhcm9DwDlB/mU1ebV7XTazQut4fjkna1CLXABWk4xqggnRcA1SlOiGMtmFgPcAveARr8AjbNtsweK39imW/3GvdkNWTrOr5B6ggHcLCP0AF6bgGqEp1dHaw8BvvFeKaW8RzvAOUaxMrtKV4kH+Acq21gg5k+wco11or6LgGKNdaK14dJcEmO27cbzxivQWDiG/vAAWrrk1ww6eGbd7tH6CCdFwDVJCOa4CqVCdEbJMLAEnQRQIhwO1wOL57B6gHUwfyotnYvxFNSSKT1yzvH6CCdFwDVJCOHYaq0QlxSOo6RiIYZz0CD8Bo2y5TJvnHq3eAItPeH45fsw7LbPIkfpUzXANUkI5rgArScQ1Qlepon2CnQ4DLYxy3jkAMscwMgNcQBvyGJDtApXOXsprOKbO42YHZnDUQWmqAcumwd7kByqXjH4aq0VESMNp2hdyUNZxDQYSdIO/8AMVhDg8PlQxclyrAJ8YQApDhB89Y8/8eoET+A46Kvwl1DPddAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADnElEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqItcWKqUqhVWyT1KT5biZN0uajaWOS432PTHo7nWTuHSio3AdeyEzm5M555s6dJAPJZJJ0MzU1pZ1AIKCdQ09jdFgjON5PDUvY3t5WTqFQ4KZ0WFpa4qZqtZpygsEgn6QON78UfNUYCUaCkcAYCQIjQWAkCIwEgZEgMBIERoKgKwGNqSaTybAENKaaUCjEEtCYakZHR/l7PU5SNedep3zVDCwvL5NuIEE3kKAbPz+G/NSwBB1yuRw3pUo0GuXZgKbcpn2vYDbgJHXAlfVTc+AS8vn8vy+h1WpROp2mcrnM2yoSijttujK7Rk9+VnhbRUKqXKFLMxl6/KPA2yoSnOOoSHCr6SsBArLZLK8DEAG8JGCQkZBFA+JkLs/meZ+XBAi4OpvlmovTGd7nJcFtHC8JvWp6Suh0Otww3scTBEJAPwnNdodufLZ4sRmeztFa409NPwnlSo1GPma55vy7NMVKFd7fT0KvcfpJ6FfTlYDvAGi2Xq/zdqlUonA4TLFYjLa2tngfkCUsbOzQhRmxbTVIjEEPwxt05Fmczk6m6EOhwccAWcJcboOGp9I0mShRpVqjwKLFNWdeJehtqtSVI0tQHUeWoFPTlYAFDK9XVlbIsiyKRCK8sjcauwVAlnB7fp3Nnn6ZpLsLRTo2vkonJxL0aX2b37eRJdyay3HNqYlVuvN1jY4+j9OJF6v0PlXuCnBKUB1HlqBTs+d2QIO4+tgHAfaskHHeDtfn8jQ4Fuf77HgwQW9yu7PGxnk7XBPTf3BMPJ9RMx6nYHx3Bthx3g4q48gSgGrNHgntdpu/FWIW4HbAuuDEKaH+q033v5doSFzRR5FNarT21zglWJtVujefpyExPR98s2i9Ut0jAHFKUBnHKUG1Zt/CiMabzaarAOCUAPDh0WqTFx833BZGNL5obfLCKO+347Yweo3jlABUavZJ8MJNghduErziJsELNwledCWgMdXgaQEJaEw1f/0PKDwWdQMJuoEE3aAhXFnVYAH0U8MSdCgWi9yUDpgNaEoHzAacpA5oyE9NV4J8pXsFyBL4AzwCZAluxzgDZAluxzhjH+enxkjAa7s5Z8NuAUaCwEgQGAkCI0FgJAiMBMF/LUEVWYIqsgRVIME+UVXk5lTpSkBjqsEfr5CAxlTj9weU3dTBJka/AW4uNg3p+taQAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + Far + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA7AAAAAKJUE5HDQoaCgAAAA1JSERSAAAAFAAAABQIBgAAAI2JHQ0AAAAEZ0FNQQAAsY8L/GEFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAH5JREFUOE+tzMEJwDAQA0G3kP47SFMp5WKbEwizryiPwWY5NKrqVxgTGBMYExgTGBMY3XU/Na1XZubbBaPrQY3u/3njMDofangnGF0PanT/6U4wOh9qM/PtgtH1oEb3/7xxGJ0PNbwTjK4HNbr/dCcYExgTGBMYExgTGL+r8QL1YYgBA3bF7AAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA4AAAAAKJUE5HDQoaCgAAAA1JSERSAAAAFAAAABQIBgAAAI2JHQ0AAAAEZ0FNQQAAsY8L/GEFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUOE+tzMEJgEAQBMFLwfwzMClDWc/HQCP9cnwULM2wa2Z+pbGhsaGxobGhsaGRjvOKyW270Eh4FroLjcRHud8b0kh4Fjv79qGR+Ci37UIj4VnoLjQSH+V+b0gj4Vns7NuHxobGhsaGxobGhsbvZt1vy4gBqcW4UgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + TopOnBorder + BottomToTop + + + + + HighlightEntireItem + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA9QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADl0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPm53Mk9n3tzOzm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxnA4pym/a9jNmAi9QR7qyfzIFDKBQK/z6EVqtFmUyGyuUyn6tAWN9p05WZVXrys8LnKhDS5Qpdms7S4x9FPleB4BxHBYJbpi8EAMjlcrwPAATkBQGDjIQtGhAXc3mmwG1eEADg6kyOMxenstzmBcFtHC8IvTI9IXQ6HS4Y3+MJAiBQPwjNdodufLZ4sxmeytNq40+mH4RypUYjH3OcOf8uQ/FShdv7Qeg1Tj8I/TJdCHgHQLH1ep3PS6USRSIRisfjtLW1xW2QDGF+Y4cuTItzq0FiDHoY2aAjzxJ0djJNH4oN7gPJEGbzGzQcytBkskSVao0CCxZnzrxK0tt0qQtHhqA6jgxBJ9OFgA0Mn5eXl8myLIpGo7yzNxq7AUiGcHtujcmefpmiu/PrdGx8hU5OJOnT2jZ/b0uGcGs2z5lTEyt05+sqHX2eoBMvVuh9utwF4ISgOo4MQSezZzmgQNx9tAGAPStkOZfD9dkCDY4leJ0dDybpTX531thyLodrYvoPjonnMzLjCQomdmeAbedyUBlHhgCpZvZAaLfb/FaIWYDlgH3BKSeE+q823f9eoiFxRx9FN6nR2p9xQrA2q3RvrkBDYno++GbRWqW6BwDshKAyjhOCambfxojCm82mKwDICQHCj8eqTd583OS2MaLwBWuTN0a53bbbxug1jhMCpJLZB8FLbhC85AbBy24QvOQGwUtdCChM1XhaAAIKU/Vf/wcKj0VdA4KuAUHXKAh3VtXYAP1kGIKObAg6wmxAUTrCbMBF6ggF+cl0Idh3uZ/tfjYE/gEPQzIEtz5OQzIEtz5O2/38ZAwEfJaL87Ldz0AQRwNBHA0EcTQQxNFAEEcDQRz/WwiqkiGoSoagKhmCqlCQnwxD0DUgoDBV+/0DZd+xg3WcfgND/TMv156b9wAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+AMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADmklEQVRoQ+2YzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9k0SZuPJo1JXud5Jel0u8nOLBRU5oEHspN9Mvv+5mN3M5RIJEjXgUBA2z6fT9uHnkbpsIZxvpcMQ2g0GsrO5/NclI6Wl5e5qGq1qmy/388XqaObX/KeMgaCgWAgsAwEIQNByEAQMhCEDAQhA0HIQBDqQUBhqk6n0wwBhak6GAwyBBSm6vHxcX6ux0Wq+tzrpKfM0MrKCukaEHQNCLr28jLkJcMQdJTNZrkoVUUiEZ4NKMpp2vczZgMuUkcYWS+ZA4eQy+X+fQitVotSqRSVSiU+VoFQ2GnTlbl1evKzzMcqEJKlMl2aTdPjH3k+VoFg70cFglNmIAQAyGQyvA8ABOQGAZ2MBS0aEhdzeS7HbW4QAODqXIYzF2fS3OYGwakfNwj9Mn0hdDodLhjf4w4CINAgCM12h258tnizGZ3J0nr9T2YQhFK5SmMfM5w5/y5F0WKZ2wdB6NfPIAiDMj0IeAZAsbVajY+LxSKFQiGKRqO0vb3NbZAMYXFzhy7MimOrTqIPehjapCPPYnR2Okkf8nU+B5IhzGc3aTSQoul4kcqVKvmWLM6ceRWnt8liD44MQbUfGYJOpgcBGxg+r66ukmVZFA6HeWev13cDkAzh9sIGkz39MkF3Fwt0bHKNTk7F6dNGg7/vSoZwaz7LmVNTa3Tn6zodfR6jEy/W6H2y1ANgh6DajwxBJ7NnOaBAjD7aAKA7K2TZl8P1+RwNT8R4nR33x+lNdnfWdGVfDtfE9B+eEPdnZCZj5I/tzoCu7ctBpR8ZAqSa2QOh3W7zUyFmAZYD9gW77BBqv9p0/3uRRsSIPgpvUb21P2OHYG1V6N5CjkbE9HzwzaKNcmUPANgOQaUfOwTVzL6NEYU3m01HAJAdAoQfj1SavPk4yWljROFL1hZvjHJ7104bo1s/dgiQSmYfBDc5QXCTEwQ3O0FwkxMEN/UgoDBV424BCChM1X/9CxRui7oGBF0Dgq5REEZW1dgAvWQYgo4KhQIXpSPMBhSlI8wGXKSOUJCXTA+CPNL9DMkQ+AdcDMkQnM6xG5IhOJ1jd/c8LxkDAZ+7xdkLdjJkIAgZCEIGgpCBIGQgCBkIQv81BFXJEFQlQ1CVDEFVKMhLhiGgMFXjj1dAQGGq9voC1R2xg3WUfgNzejYRjgB1CAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV2AD9ZBiCjmwIOrIh6Aj9cZE6QkF+Ml0I9iz3s93PhsA/4GFIhuDWx2lIhuDWx2m7n5+MgYDPcnFetvsZCKI1EERrIIjWQBCtgSBaA0G0/y0EVckQVCVDUJUMQVUoyE+GIegaRekaRenanrGDdZx+AwQBIVZs5053AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2zXFsx4kTZ/GWw/2d+GbevFz7Oe7IXzqy/XLPu/f871kTEg+y2azs7u7K4uLitayvr0s6nS6uuInz83OZm5uTvr4+6e3tVRkbG5NkMimXl5fFVc/j+PhYuru7pa6uTmpra1UaGxtle3u7pM7maU6+/DcmrzStyUuNV/JWeFfC++dScKtUrKMkFAoFicfjanAsFlOjLy4u5OzsTJ9vbW1JJBJRkizy+bxsbm6qwXyyHlgip6amlET7HGQyGRkdHZWmpibVOzk5UaMhcnZ2Vtra2pREnluksgX5ZeFQ3g5H5NfFIzWM8ycyBfljNSUfPYnKt2Nx2T7NXykY3FZHSUgkEnpwa7xfTk9PJRqN6k3lcjlVxPClpSU1wAXIgFTIwHgwPj6uHoMnuADpw8PD0t7ernsCjPjOHNga4kfsIi8/zh8aw/Yken5l1G11Qhx2Y2NDN3URYAVjd3Z21M35zk2WIsCCW15YWFDyuN3m5uaSBFjgleFwWCYnJ9WId3oisnX27JZdyJt9vh6JyW9PU1XphPCA/f19p+F+wQAMIgdAXCVAZ3p6WnMAoVAq5r0gJDs6OjSefzZuXSg+L4fxZEY++SdalU6IuC0VBn7BXQkD4jbICyzwNG6VJBjkBRbs09raKi+bRLaefpaHyiF+UZD3H+9VpaMkuAx2CYbjCT09PcXXBAP3xnNqamoq8gJA0u3q6pIX/l4rmfn9yJiFnw/FqtK5tSdQKfAEflcCEinhQBn0Zv1yIJFSKShpO2dXiTgIR6YifGiyfjU6ITI41cFvsEswglxAUtzb2yu+qjxIuIQDfQBJshKQfAkHavrDjcpCaOE4K+89jlSlE8ILcHFu2WW4VyiTJC0OSV339g2lAMmrq6u6R2dnZ0W5ZGRkRAYHB7Wp+WxgXxImdoPwkyl5P0wnq9LRPoFGCHEZbgVvwSC+E9uE0crKir7MBdbgLRgE0fwml/T39xdX3AT5A29paGiQg4MDje1vRuPyYPKguOImcsbWP9dP5M3uXZlPZavSURK4UW4KSaVS6sLcGN5BCFBC19bW9LcFZBDr8/PzcnR0pO/ACHIA+lQRGh/eZ8G7aIQolxDE+0iCvAujKaH19fXPhdq2ie+PTRn7ypS+wcSFyeh5TWjE81wqo+XwjUc7MmT+ZnFbnevZgcPj5hBB3POJIXwnBDioHyQw1s3MzGjcUwXoECcmJjQE8AA/IIg19AHEPVWAJNjS0iIDAwNKhh90db+bpubT/qiWtC+G9uUD0+292xuR7407c5t+3EbnmgQAEYQF7TDujthushTwmDszQHED3Dyfdj7AVXF12mVc1JsI79wAheFk/lLZHoNJjNyUJQjD78wAhVEYxCe3ws0Tz9zi8vKyJkVI4G8Q5R+gssavHm6cyOsdWxIy3dq91k2TmROSNKyj4xqgyumUGqDK6ZQaoCrVCZEDbDKCAG8+sEIocDhcm9DwDlB/mU1ebV7XTazQut4fjkna1CLXABWk4xqggnRcA1SlOiGMtmFgPcAveARr8AjbNtsweK39imW/3GvdkNWTrOr5B6ggHcLCP0AF6bgGqEp1dHaw8BvvFeKaW8RzvAOUaxMrtKV4kH+Acq21gg5k+wco11or6LgGKNdaK14dJcEmO27cbzxivQWDiG/vAAWrrk1ww6eGbd7tH6CCdFwDVJCOa4CqVCdEbJMLAEnQRQIhwO1wOL57B6gHUwfyotnYvxFNSSKT1yzvH6CCdFwDVJCOHYaq0QlxSOo6RiIYZz0CD8Bo2y5TJvnHq3eAItPeH45fsw7LbPIkfpUzXANUkI5rgArScQ1Qlepon2CnQ4DLYxy3jkAMscwMgNcQBvyGJDtApXOXsprOKbO42YHZnDUQWmqAcumwd7kByqXjH4aq0VESMNp2hdyUNZxDQYSdIO/8AMVhDg8PlQxclyrAJ8YQApDhB89Y8/8eoET+A46Kvwl1DPddAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV2AD9ZBiCjmwIOrIh6Aj9cZE6QkF+Ml0I9iz3s93PhsA/4GFIhuDWx2lIhuDWx2m7n5+MgYDPcnFetvsZCKI1EERrIIjWQBCtgSBaA0G0/y0EVckQVCVDUJUMQVUoyE+GIegaRekaRenanrGDdZx+AwQBIVZs5053AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Office2013RadioButtonGlyphInfo + + -1 + 0, 170, 222 + Solid + 0, 170, 222 + White + 135, 135, 135 + None + Transparent + 0 + 0, 170, 222 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA9QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADl0lEQVRoQ+2XzWsTQRjGq/Qk1YOgFz0q/h1SvCjoTaQgXgQPHjx58OIteBAEL8W/waKNRasgxhYrpiqFVrFNUpPmu9m0SZuPpo1JXud5ZdPpdpOdWSiozAMPk93Mk9n3N7Ozm4FUKkW6DoVC2g4EAto+9DROhzWM/n4yDGF7e1vZxWKRi9LR4uIiF1Wr1ZQdDAb5InV080vRV8ZAMBAMBJaBIGQgCBkIQgaCkIEgZCAIGQhCXQgoTNXZbJYhoDBVh8NhhoDCVD06Osrv9bhIVZ97nfaVGVhaWiJdA4KuAUHXfv4M+ckwBB3l83kuSlWxWIxXA4pyW/a9jNWAi9QRZtZP5sAhFAqFfx9Cq9WiTCZD5XKZj1UgrO+06crMKj35WeFjFQjpcoUuTWfp8Y8iH6tAcI6jAsEt0xcCAORyOd4HAALygoBBRsIWDYiLuTxT4HNeEADg6kyOMxensnzOC4LbOF4QemV6Quh0OlwwvscTBECgfhCa7Q7d+GzxZjM8lafVxp9MPwjlSo1GPuY4c/5dhuKlCp/vB6HXOP0g9Mt0IeAdAMXW63U+LpVKFIlEKB6P09bWFp+DZAjzGzt0YVocWw0SY9DDyAYdeZags5Np+lBscB9IhjCb36DhUIYmkyWqVGsUWLA4c+ZVkt6mS104MgTVcWQIOpkuBGxg+Ly8vEyWZVE0GuWdvdHYDUAyhNtza0z29MsU3Z1fp2PjK3RyIkmf1rb5e1syhFuzec6cmlihO19X6ejzBJ14sULv0+UuACcE1XFkCDqZPbcDCsTs4xwA2KtClvN2uD5boMGxBN9nx4NJepPfXTW2nLfDNbH8B8fE8xmZ8QQFE7srwLbzdlAZR4YAqWb2QGi32/xWiFWA2wH7glNOCPVfbbr/vURDYkYfRTep0dqfcUKwNqt0b65AQ2J5Pvhm0VqlugcA7ISgMo4Tgmpm38aIwpvNpisAyAkBwo/Hqk3efNzktjGi8AVrkzdG+bxtt43RaxwnBEglsw+Cl9wgeMkNgpfdIHjJDYKXuhBQmKrxtAAEFKbqv/4PFB6LugYEXQOCrlEQZlbV6O8nwxB0ZEPQEVYDitIR+uMidYSngJ9MF4I9y/1s97Mh8A94GJIhuPVxGpIhuPVx2u7nJ2Mg4LNcnJftfgaCaA0E0RoIojUQRGsgiNZAEO1/C0FVMgRVyRBUJUNQFQryk2EIugYEFKZq+w+Uru0ZO1jH6Tc1kyfofk37EgAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + RectangularSolid + None + TopOnBorder + BottomToTop + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA6gMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjElEQVRoQ+2YT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePFWPAiCNz+DRVuLVkGMLVaaqhRaxTZJTZr/zaZJ2vxp0pjkdZ5Xsp1sN9mZBaHC/OCB7nbezr6/nZ1NOpRIJEg3gUBAO+Pj49o58jxKRzWC8X5qWEKj0VBOPp/npnRYXV3lpqrVqnIwHhepw+2veV81RoKRYCQwRoLASBAYCQIjQWAkCIwEgZEgsCWgMdWk02mWgMZUEwwGuSnd4HM9LlI1F94mfdUMra2tkW4gQTduTXrFz5chPzUsQYdsNstNqRKJRHg1oCm3Zd8vGI+L1AF31k/NP5eQy+X+fwmtVotSqRSVSiU+VpFQ2GvTtflNevarzMcqEpKlMl2ZS9PTn3k+VpHgnEdFglvNQAkQkMlkeB+ACOAlAZOMBS0aEhdzdT7H57wkQMD1+QzXXJ5N8zkvCW7zeEnoV9NXQqfT4Ybxe7xBIAQMktBsd+jWF4s3m9HZLG3W/9YMklAqV2nsc4ZrLn5IUbRY5vODJPSbZ5CEQTW2BHwGQLO1Wo2Pi8UihUIhikajtLu7y+eALGF5e48uzYljq05iDnoc2qZjL2J0fiZJn/J1HgNkCYvZbRoNpGgmXqRyRTS7YnHNuTdxep8s2nJkCarzyBJ0amwJ2MDw8/r6OlmWReFwmHf2en2/AMgS7i5tsdmzrxN0f7lAJyY36PR0nBa2Gvz7LrKEO4tZrjkzvUH3vm3S8ZcxOvVqgz4mS7YApwTVeWQJOjU9jwMaxN3HOQjorgoZ5+NwczFHwxMxfs5OTsXpXXZ/1XRxPg43xPIfnhDvZ9RMxmgqtr8CupElAJV5ZAlAtaZHQrvd5k+FWAV4HLAvOHFKqP1u08MfRRoRd/RJeIfqrYM1TgnWToUeLOVoRCzPR98t2ipXegQgTgkq8zglqNYc2BjReLPZdBUAnBIA/nik0uTNxw23jRGNr1g7vDHK57txSgBe8zglAJWaAxK8cJPghZsEr7hJ8MJNghe2BDSmGrwtIAGNqebQf4HCa1E3kKAbtya9goZwZ1WD8X5qWIIOhUKBm9IBqwFN6YDxuEgdcGf91NgS5DvdL0CWgFePV4AswW2MM0CW4DbGGSBLcBvjDDASBEaCwEgQGAkCI0FgJAiMBIGRIOiRoIosQRVZgiqyBFVkCarYEtCYavCPV0hAY6o53F+gkvQHK6ctxANB/y4AAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + White + + + + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA+wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADnUlEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapE3TJo1JXud5ZdPJdpOdWSiozAMPyW7mycz725nZ3YFUKkW6DoVC2g4EAto+9DROhzWM9n4yDKFeryu7WCxyUTpaXFzkoqrVqrKDwSAPUkc3vxR9ZQwEA8FAYBkIQgaCkIEgZCAIGQhCBoKQgSDUgYDCVJ3NZhkCClN1OBxmCChM1aOjo/xcj0Gq+tzrtK/MwNLSEukaEHQNCLr28zLkJ8MQdJTP57koVcViMZ4NKMpt2vcyZgMGqSNcWT+ZA4dQKBT+fQjNZpMymQyVy2U+VoGwvtuiKzOr9ORnhY9VIKTLFbo0naXHP4p8rALB2Y8KBLdMXwgAkMvleB8ACMgLAjoZCVs0IAZzeabA57wgAMDVmRxnLk5l+ZwXBLd+vCD0yvSE0G63uWD8jjsIgED9IDRabbrx2eLNZngqT6u1P5l+EMqVKo18zHHm/LsMxUsVPt8PQq9++kHol+lAwDMAit3e3ubjUqlEkUiE4vE47ezs8DlIhjC/sUsXpsWxVSPRBz2MbNCRZwk6O5mmD8Uat4FkCLP5DRoOZWgyWaLKVpUCCxZnzrxK0tt0qQNHhqDajwxBJ9OBgA0M35eXl8myLIpGo7yz12p7AUiGcHtujcmefpmiu/PrdGx8hU5OJOnTWp1/tyVDuDWb58ypiRW683WVjj5P0IkXK/Q+Xe4AcEJQ7UeGoJPpWg4oEFcf5wDAnhWynMvh+myBBscSvM6OB5P0Jr83a2w5l8M1Mf0Hx8T9GZnxBAUTezPAtnM5qPQjQ4BUM10QWq0WPxViFmA5YF9wyglh+1eL7n8v0ZC4oo+im1Rr7s84IVibW3RvrkBDYno++GbRWmWrCwDshKDSjxOCambfxojCG42GKwDICQHCn8e2Grz5uMltY0ThC9Ymb4zyedtuG6NXP04IkEpmHwQvuUHwkhsEL7tB8JIbBC91IKAwVeNuAQgoTNV//QsUbou6BgRdA4KuURCurI79ZBiCjmwIOsJsQFE6wmzAAHVkF6WjLgj2Ve5nu50NAbceL0MyBLc2TkMyBLc2TkMyBLc2TkMGgpCBIPTPQOCBethu5ydjIOC7XJyX7XYGgvg0EMSngSA+/1sIqpIhqEqGoCoZgqpkCKrqQNA1IKAwVft9gbKLOljH6TcHdzOr6BQ8HAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Office2013RadioButtonGlyphInfo + + + + + + + + + 0, 170, 222 + Gray + Gray + Gray + + + + + + + + + Flat + True + + + + + Flat + True + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADk0lEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIscWKqUqhVWyT1KT5biZN0uajSWOS432PJL2ZTjL3DggK94EXOpM5uXOeuXNn0pFEIkG6CQQC2vH5fNo59DRKhzWC473UsIRGo6GcfD7PTemwurrKTVWrVeX4/X4+SR1ufsl7qjESjAQjgTESBEaCwEgQGAkCI0FgJAiMBEFPAhpTTTqdZgloTDXBYJAloDHVTE5O8ns9TlI1514nPdWMrK2tkW4gQTeQoBsvP4a81LAEHbLZLDelSiQS4dmAppym/aBgNuAkdcCV9VLz1yXkcrn/X0Kr1aJUKkWlUom3VSQU9tp0ZWGTnvws87aKhGSpTJfm0/T4R563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcXsjxPjcJEHB1IcM1F+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDt34bPFiMz6Xpc36n5phEkrlKk18zHDN+XcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnd3eR+QJSxv79GFebFt1UmMQQ9D23TkWYzOzibpQ77OxwBZwmJ2m8YDKZqNF6lcqZJvxeKaM6/i9DZZ7MmRJaiOI0vQqelJwAKGv9fX18myLAqHw7yy1+v7BUCWcHtpi82efpmgu8sFOja9QSdn4vRpq8Gfd5El3FrMcs2pmQ2683WTjj6P0YkXG/Q+WeoJsEtQHUeWoFPTdzugQVx97IOA7qyQsd8O1xdzNDoV4/vsuD9Ob7L7s6aL/Xa4Jqb/6JR4PqNmOkb+2P4M6MZ+O6iMI0sAqjV9EtrtNr8VYhbgdsC6YMcuofarTfe/F2lMXNFH4R2qtw7W2CVYOxW6t5SjMTE9H3yzaKtc6ROA2CWojGOXoFpzYGFE481m01EAsEsA+PJIpcmLjxNOCyMaX7F2eGGU93fjtDC6jWOXAFRqDkhww0mCG04S3OIkwQ0nCW70JKAx1eBpAQloTDX//A8oPBZ1Awm6gQTdoCFcWdXgeC81LEGHQqHATemA2YCmdMBswEnqgCvrpaYnQb7SgwJkCXj0uAXIEpyOsQfIEpyOsQfIEpyOsQcYCQIjQWAkCIwEgZEgMBIERoLASBD0SVBFlqCKLEEVWYIqsgRVehLQmGrwj1dIQGOq+bd/QCXpN3LrT59/MUO0AAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA7AMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADjklEQVRoQ+2XT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532zapM2fJo1JXud5ZdPJdpOdiRQU5gcPdDfzdvb97exsMpRIJEg3gUBAOz6fTzuHnkbpsEYwfpAallCv15WTz+e5KR2Wl5e5qUqlohy/388XqcPNL/mBaowEI8FIYIwEgZEgMBIERoLASBAYCQIjQdCRgMZUk06nWQIaU00wGGQJaEw14+Pj/L0eF6mac6+TA9UMrayskG4gQTeQoJtBfgwNUsMSdMhms9yUKpFIhFcDmnJb9r2C1YCL1AF3dpCaA5eQy+X+fwnNZpNSqRQVi0U+VpGwuduiK3Pr9ORniY9VJCSLJbo0m6bHP/J8rCLBOY+KBLeavhIgIJPJ8D4AEcBLAiYZC1o0JC7m8lyOz3lJgICrcxmuuTiT5nNeEtzm8ZLQq6anhHa7zQ3jc7xBIAT0k9BotenGZ4s3m9GZLK3X/tT0k1AsVWjsY4Zrzr9LUbRQ4vP9JPSap5+EfjUdCfgOgGar1SofFwoFCoVCFI1GaWdnh88BWcLi1i5dmBXHVo3EHPQwtEVHnsXo7HSSPuRrPAbIEuazWzQaSNF0vEClcoV8SxbXnHkVp7fJQkeOLEF1HlmCTk1HAjYw/L26ukqWZVE4HOadvVbbKwCyhNsLG2z29MsE3V3cpGOTa3RyKk6fNur8uY0s4dZ8lmtOTa3Rna/rdPR5jE68WKP3yWJHgFOC6jyyBJ2arscBDeLu4xwE2KtCxvk4XJ/P0fBEjJ+z4/44vcnurRob5+NwTSz/4QnxfkbNZIz8sb0VYMf5OKjMI0sAqjVdElqtFn8rxCrA44B9wYlTQvVXi+5/L9CIuKOPwttUa+6vcUqwtst0byFHI2J5Pvhm0Uap3CUAcUpQmccpQbVm38aIxhuNhqsA4JQA8M8j5QZvPm64bYxofMna5o1RPm/HbWP0mscpAajU7JPghZsEL9wkeMVNghduErzoSEBjqsHbAhLQmGr++R9QeC3qBhJ0Awm6QUO4s6rB+EFqWIIOtgQdsBrQlA5YDbhIHWwBOnRJsO9yv9jjbAl49XgFyBLcxjgDZAluY5wBsgS3Mc4AI0FgJAiMBIGRIDASBEaCwEgQGAmCLgmqyBJUkSWoIktQRZagSkeCbiABjanmb35AHXyi9BvrVTNhLiUFpAAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAArQMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADT0lEQVRoQ+2ZzWsTURTFq3Ql1YWgG10q/h1S3CjoTqQgbgQXLly5cOMuuBAEN8W/waKNRasgxooVU5VCq9gmqUnzOc2knbT5aNKY5PrOlUyn00nmvQFB5R040HmZ0zf3N+/dmbRDmUyGVB2JRJQdCoWUfeBxkg4qGOcHyTCEZrMp7VKpxEWpaGlpiYuq1WrSDofDfJEquv65FCijIWgIGgJLQxDSEIQ0BCENQUhDENIQhDQEIRsCCpN1Pp9nCChM1tFolCGgMFmPj4/zez0uUtZnXmYDZYaWl5dJ1YCgakBQdZAvQ0EyDEFFhmFwUbJKJBK8GlCU17LvZ6wGXKSKcGeDZP44hGKx+O9DaLfblMvlqFwu87EMhI2dDl2aXaNHPyp8LAMhW67QhXd5evi9xMcyENzzyEDwygyEAACFQoH7AEBAfhAwyVjUpCFxMRdnizzmBwEALs8WOHN+Js9jfhC85vGD0C/TF0K32+WC8TmeIAACDYLQ6nTp2ieTm83ojEFrjd+ZQRDKlRqNfShw5uybHCWtCo8PgtBvnkEQBmVsCHgHQLH1ep2PLcuiWCxGyWSStre3eQxyQljY3KFz78Sx2SAxB92PbdKhJyk6PZ2l96UGnwM5IcwZmzQaydF02qJKtUahRZMzp16k6XXWsuE4IcjO44SgkrEhoIHh55WVFTJNk+LxOHf2RmM3ADkh3JxfZ7Inn2fo9sIGHZlcpeNTafq43uTPe3JCuDFncObE1Crd+rJGh5+m6NizVXqbLdsA3BBk53FCUMns2Q4oEHcfYwDQWxVOubfD1bkiDU+keJ8dDafplbG7anpyb4crYvkPT4jnMzKTKQqndldAz+7tIDOPEwIkm9kDodPp8FshVgG2A/qCW24I9Z8duvvNohFxRx/Et6jR3p9xQzC3qnRnvkgjYnne+2rSeqW6BwDshiAzjxuCbGZfY0ThrVbLEwDkhgDhlyeqLW4+XvJqjCh80dzixugc79mrMfrN44YAyWT2QfCTFwQ/eUHwsxcEP3lB8JMNAYXJGk8LQEBhsv7rv0DhsahqQFA1IKgaBeHOyhrnB8novyeIjIagIWgILA1BSEMQ0hCENAQhDUFIQxDSEIRsCChM1v/ff6Cy9AsSMSlLu0Av/QAAAABJRU5ErkJgggsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA/QMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADn0lEQVRoQ+2YT2sTQRjGq/Qk1YOgFz0qfg4pXhT0JlIQL4IHD548ePEWPAiCl+JnsGhj0SqIscWKqUqhVWyT1KT532yapM2fJo1JXud5Jel0u8nOrBQU5gcPdLfzdvb97exs0qFEIkG6CQQC2vH5fNo59DRKhzWC8V5qWEKj0VBOPp/npnRYXl7mpqrVqnL8fj9fpA43v+Q91RgJRoKRwBgJAiNBYCQIjASBkSAwEgRGgqAnAY2pJp1OswQ0pppgMMgS0JhqxsfH+XM9LlI1514nPdUMrayskG4gQTeQoBsvX4a81LAEHbLZLDelSiQS4dWAppyWfb9gNeAidcCd9VJz4BJyudz/L6HValEqlaJSqcTHKhIKO226MrdOT36W+VhFQrJUpkuzaXr8I8/HKhLs86hIcKoZKAECMpkM7wMQAdwkYJKxoEVD4mIuz+X4nJsECLg6l+GaizNpPucmwWkeNwn9avpK6HQ63DB+jzcIhIBBEprtDt34bPFmMzqTpfX6n5pBEkrlKo19zHDN+XcpihbLfH6QhH7zDJIwqKYnAZ8B0GytVuPjYrFIoVCIotEobW9v8zkgS1jc3KELs+LYqpOYgx6GNunIsxidnU7Sh3ydxwBZwnx2k0YDKZqOF6lcqZJvyeKaM6/i9DZZ7MmRJajOI0vQqelJwAaGn1dXV8myLAqHw7yz1+u7BUCWcHthg82efpmgu4sFOja5Rien4vRpo8G/7yJLuDWf5ZpTU2t05+s6HX0eoxMv1uh9stQTYJegOo8sQadmz+OABnH3cQ4CuqtCxv44XJ/P0fBEjJ+z4/44vcnurpou9sfhmlj+wxPi/YyayRj5Y7sroBv746AyjywBqNbskdBut/lTIVYBHgfsC3bsEmq/2nT/e5FGxB19FN6iemt/jV2CtVWhews5GhHL88E3izbKlT0CELsElXnsElRr9m2MaLzZbDoKAHYJAH88Umny5uOE08aIxpesLd4Y5fPdOG2MbvPYJQCVmn0S3HCS4IaTBLc4SXDDSYIbPQloTDV4W0ACGlPNP/8FCq9F3UCCbiBBN2gId1Y1GO+lhiXoUCgUuCkdsBrQlA5YDbhIHboCdNgjQb7T/QJkCXj1uAXIEpzG2ANkCU5j7AGyBKcx9gAjQWAkCIwEgZEgMBIERoLASBD88xJwgcBpjD0A473U9CSoIktQRZagiixBFVmCKj0JaEw1+McrJKAx1fzNF6iDT5R+AxOLNj+SFfOFAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + 191, 191, 191 + White + 191, 191, 191 + Office2010 + 191, 191, 191 + + + + + Standard + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAnSW5mcmFnaXN0aWNzLldpbi5DaGVja0JveEltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAAAAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAFkN1c3RvbSBjaGVja2JveCBnbHlwaHMFBwAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgMAAAAJCQAAAA8JAAAA8wMAAAKJUE5HDQoaCgAAAA1JSERSAAAAQQAAACcIBgAAAFBaJQIAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAADlUlEQVRoQ+2YTWsTURSGq3Ql1YWgG10q/g4pbhR0J1IQN4ILF65cuHEXXAiCm+JvsGhj0SqIsWLFVKXQKrZJatJ8N5MmafPRpDHJ8b5Hkt5MJ5l7BxSF+8ALncmc3DnP3Lkz6UgikSDdBAIB7fh8Pu0ceBylgxrB8V5qWEKj0VBOPp/npnRYWVnhpqrVqnL8fj+fpA7XP+c91RgJRoKRwBgJAiNBYCQIjASBkSAwEgRGgqAnAY2pJp1OswQ0pppgMMgS0JhqJicn+b0eJ6maMy+TnmpGVldXSTeQoBtI0I2XH0NealiCDtlslptSJRKJ8GxAU07TflAwG3CSOuDKeqn54xJyudz/L6HValEqlaJSqcTbKhIKu226NL9Bj36UeVtFQrJUpgvv0vTwe563VSTYx1GR4FQzVAIEZDIZXgcgArhJwCATQYtGxMlcnM/xPjcJEHB5PsM15+fSvM9NgtM4bhIG1QyU0Ol0uGF8jicIhIBhEprtDl37ZPFiMz6XpY3675phEkrlKk18yHDN2TcpihbLvH+YhEHjDJMwrKYnAe8AaLZWq/F2sVikUChE0WiUdnZ2eB+QJSxt7dK5d2LbqpMYg+6HtujQkxidnk3S+3ydjwGyhIXsFo0HUjQbL1K5UiXfssU1p17E6XWy2JMjS1AdR5agU9OTgAUMf6+trZFlWRQOh3llr9f3CoAs4ebiJps9+TxBt5cKdGR6nY7PxOnjZoM/7yJLuLGQ5ZoTM+t068sGHX4ao2PP1ultstQTYJegOo4sQaem73ZAg7j62AcB3VkhY78dri7kaHQqxvfZUX+cXmX3Zk0X++1wRUz/0SnxfEbNdIz8sb0Z0I39dlAZR5YAVGv6JLTbbX4rxCzA7YB1wY5dQu1nm+5+K9KYuKIPwttUb+2vsUuwtit0ZzFHY2J63vtq0Wa50icAsUtQGccuQbVm38KIxpvNpqMAYJcA8OWRSpMXHyecFkY0vmxt88Io7+/GaWF0G8cuAajU7JPghpMEN5wkuMVJghtOEtzoSUBjqsHTAhLQmGr++R9QeCzqBhJ0Awm6QUO4sqrB8V5qWIIOhUKBm9KhK0EHzAacpA64sl5qehLkKz0oQJaAR49bgCzB6Rh7gCzB6Rh7gCzB6Rh7gJEgMBIERoLASBAYCQIjQWAkCIwEQZ8EVWQJqsgSVJElqCJLUKUnAY2pBv94RVO6gQQ0ppq/9wMqSb8AWg1JD6G7pzMAAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAGJJbmZyYWdpc3RpY3M0Lldpbi52MTMuMiwgVmVyc2lvbj0xMy4yLjIwMTMyLjIwMjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49N2RkNWMzMTYzZjJjZDBjYgwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwEAAAAZUluZnJhZ2lzdGljczQuU2hhcmVkLnYxMy4yLCBWZXJzaW9uPTEzLjIuMjAxMzIuMjAyMywgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj03ZGQ1YzMxNjNmMmNkMGNiBQEAAAAqSW5mcmFnaXN0aWNzLldpbi5SYWRpb0J1dHRvbkltYWdlR2x5cGhJbmZvBAAAAAlHbHlwaFR5cGUJR2x5cGhTaXplEkNvbWJpbmVkR2x5cGhJbWFnZQtEZXNjcmlwdGlvbgAEBAEIE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAL0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyBAAAAAIAAAABAAAABfv///8TU3lzdGVtLkRyYXdpbmcuU2l6ZQIAAAAFd2lkdGgGaGVpZ2h0AAAICAMAAAANAAAADQAAAAX6////L0luZnJhZ2lzdGljcy5TaGFyZWQuU2VyaWFsaXphdGlvbi5PYmplY3RXcmFwcGVyAQAAAAtvYmplY3RWYWx1ZQQVU3lzdGVtLkRyYXdpbmcuQml0bWFwAwAAAAQAAAAJBwAAAAYIAAAAGkN1c3RvbSByYWRpbyBidXR0b24gZ2x5cGhzBQcAAAAVU3lzdGVtLkRyYXdpbmcuQml0bWFwAQAAAAREYXRhBwIDAAAACQkAAAAPCQAAAFoGAAACiVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABfxJREFUWEfdmDlvY1UUxw1IIFHOJ4BvQEGDEAUFNGyioAEJoREC8QGmgRIhEBUiUQoqmCYKWRQpi5SJnGQ0ZCH7vkz2zXFsx4kTZ/GWw/2d+GbevFz7Oe7IXzqy/XLPu/f871kTEg+y2azs7u7K4uLitayvr0s6nS6uuInz83OZm5uTvr4+6e3tVRkbG5NkMimXl5fFVc/j+PhYuru7pa6uTmpra1UaGxtle3u7pM7maU6+/DcmrzStyUuNV/JWeFfC++dScKtUrKMkFAoFicfjanAsFlOjLy4u5OzsTJ9vbW1JJBJRkizy+bxsbm6qwXyyHlgip6amlET7HGQyGRkdHZWmpibVOzk5UaMhcnZ2Vtra2pREnluksgX5ZeFQ3g5H5NfFIzWM8ycyBfljNSUfPYnKt2Nx2T7NXykY3FZHSUgkEnpwa7xfTk9PJRqN6k3lcjlVxPClpSU1wAXIgFTIwHgwPj6uHoMnuADpw8PD0t7ernsCjPjOHNga4kfsIi8/zh8aw/Yken5l1G11Qhx2Y2NDN3URYAVjd3Z21M35zk2WIsCCW15YWFDyuN3m5uaSBFjgleFwWCYnJ9WId3oisnX27JZdyJt9vh6JyW9PU1XphPCA/f19p+F+wQAMIgdAXCVAZ3p6WnMAoVAq5r0gJDs6OjSefzZuXSg+L4fxZEY++SdalU6IuC0VBn7BXQkD4jbICyzwNG6VJBjkBRbs09raKi+bRLaefpaHyiF+UZD3H+9VpaMkuAx2CYbjCT09PcXXBAP3xnNqamoq8gJA0u3q6pIX/l4rmfn9yJiFnw/FqtK5tSdQKfAEflcCEinhQBn0Zv1yIJFSKShpO2dXiTgIR6YifGiyfjU6ITI41cFvsEswglxAUtzb2yu+qjxIuIQDfQBJshKQfAkHavrDjcpCaOE4K+89jlSlE8ILcHFu2WW4VyiTJC0OSV339g2lAMmrq6u6R2dnZ0W5ZGRkRAYHB7Wp+WxgXxImdoPwkyl5P0wnq9LRPoFGCHEZbgVvwSC+E9uE0crKir7MBdbgLRgE0fwml/T39xdX3AT5A29paGiQg4MDje1vRuPyYPKguOImcsbWP9dP5M3uXZlPZavSURK4UW4KSaVS6sLcGN5BCFBC19bW9LcFZBDr8/PzcnR0pO/ACHIA+lQRGh/eZ8G7aIQolxDE+0iCvAujKaH19fXPhdq2ie+PTRn7ypS+wcSFyeh5TWjE81wqo+XwjUc7MmT+ZnFbnevZgcPj5hBB3POJIXwnBDioHyQw1s3MzGjcUwXoECcmJjQE8AA/IIg19AHEPVWAJNjS0iIDAwNKhh90db+bpubT/qiWtC+G9uUD0+292xuR7407c5t+3EbnmgQAEYQF7TDujthushTwmDszQHED3Dyfdj7AVXF12mVc1JsI79wAheFk/lLZHoNJjNyUJQjD78wAhVEYxCe3ws0Tz9zi8vKyJkVI4G8Q5R+gssavHm6cyOsdWxIy3dq91k2TmROSNKyj4xqgyumUGqDK6ZQaoCrVCZEDbDKCAG8+sEIocDhcm9DwDlB/mU1ebV7XTazQut4fjkna1CLXABWk4xqggnRcA1SlOiGMtmFgPcAveARr8AjbNtsweK39imW/3GvdkNWTrOr5B6ggHcLCP0AF6bgGqEp1dHaw8BvvFeKaW8RzvAOUaxMrtKV4kH+Acq21gg5k+wco11or6LgGKNdaK14dJcEmO27cbzxivQWDiG/vAAWrrk1ww6eGbd7tH6CCdFwDVJCOa4CqVCdEbJMLAEnQRQIhwO1wOL57B6gHUwfyotnYvxFNSSKT1yzvH6CCdFwDVJCOHYaq0QlxSOo6RiIYZz0CD8Bo2y5TJvnHq3eAItPeH45fsw7LbPIkfpUzXANUkI5rgArScQ1Qlepon2CnQ4DLYxy3jkAMscwMgNcQBvyGJDtApXOXsprOKbO42YHZnDUQWmqAcumwd7kByqXjH4aq0VESMNp2hdyUNZxDQYSdIO/8AMVhDg8PlQxclyrAJ8YQApDhB89Y8/8eoET+A46Kvwl1DPddAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + False + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA2wAAAAKJUE5HDQoaCgAAAA1JSERSAAAACgAAAAoIBgAAAI0yz70AAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M1cbXjNgAAAFVJREFUKFNj+P//Pxi3trZeAGIBGB8dwxlARf+B+AEQGyArgGE4A6oQhD8AcQCyIhDGphCGC4hVCMILqKqwASaHSyHIMwnIikAYXSFIEcHgwRPg/xkAphkSTK5IMV8AAAAASUVORK5CYIILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA6AAAAAKJUE5HDQoaCgAAAA1JSERSAAAACgAAAAoIBgAAAI0yz70AAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M1cbXjNgAAAGJJREFUKFNj+P//P1EYqyA2zMCw6t4FIP5PAF8AKRQA4g9Iguj4ARALQIxddc8AiLEpBokZgNXA3bDqXgKSAhgOgMvDGFDFDUiKClDkkDlggVX3FoAwhji6AC6MVRAT/2cAAJhQETR6tnZYAAAAAElFTkSuQmCCCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Never + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.pfx b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/iMES.pfx new file mode 100644 index 0000000000000000000000000000000000000000..bf28015b94393d79ffe9ef439c01a9a9288c4877 GIT binary patch literal 2582 zcmY*ac|4SB8-8cZVxM9nOO}zn$qW-QG{RxZ*vS&vw;W8A@L5NVeJM+1%M#feYql&W zl3k?~A&Lx<&FxFAT# z0~%WgjKUw!SO#ACp!fCfCf9j(O`QxVFdgCW$W_OkGA%JB3S&@Jbz5 zk8xl#&a|!^H<=n0=hVq+ukfw4%*~si4$X&4uDI;vE2+dC8k547#)6=33FiD{ZMU5j zb{mm~+-MQzohoQj-R(M_mbPbha|ZtRN|yN?s&28LyxJqu(4ilf-)%V%v$S4)M=nMt zPt`eV$)RFqbtu-}7hP~xqfxk?vDO^d5k8ttb-zIpaLWxTFG`*G#xt`Dcs+U=6vSw| zQ-dGqmp2TD#39n2M0IBsLu~E$5{?f=;Y1U3P#*h2>IeN2x|=TM7WcvegJxLh<0w|? zPMVHEfr=KU4$$rrNy$$}g~<9?yQP)$4&87c^>s=|pT#T;2-2q%<@$bZ?D@{YBHcz9 zh_d#8M)A=6`n8H|c+Z)!Nj@%*W-~wJ@B)G8I4$cj?5~EY>cH3>Zj4d-Mz`2=o#z5K zIzqb9Ld^8hDnQD6Cq=&Y`PsJ)qJ;920G^@eeMeuO&~*+m9Lfx*b<{s*6iddAO6A`g z&A`KXBa_|HxlpY1PglX6B456(ClA8nBBJM=6inZ;%85)^l?)UfzQ&MbKUL!FdgsOB zV|LDIuPkVMtjOpIu^)m)?j&q_PN$9frrW#ggpcj{M{YV>gmEb?v}q=K7dOsUFl*&( zc?Odpdv-1O0zgv5f9>J^tVO-4s-jGzkKr!s0@sQUKkDOJiM6tvBzv?9U$)_wE6a(n z54P6$viGE^0;7qxTsHNJ-5rteE=EDnl3}cVuIG)Vr(~Je7m1?$D%Ms{cacMdrNFW^ zB3ffgA=TF+mNnG(+x=eSiIVsq%&w(BscsDQW7`;)ae>~1<5`+>EsN&!ZwgT7ZE6h4 z`QZa^T!Y(%2gL0~JDvKk>8RdODe`p2Xg^utLY269mLNy|p#VJ@A>yltxT+((x$Dcfwu>x7!@-LxiD@VcMQbKfFQ zwL^lpT7^LAYN71(M*e|`wCJVisq*DaPr-@MFigzL8Do}MF|EL8s%*>8=sqnRruoH? zzlon+s3mi5n&7qd@riaBeL()v<`31k3)o_ z3{NLjia{8MaY%!1NLN^x5+}*H7;>;y-F)!Ls@a4cKPV^h&YCbxdNkKxB;Y0z?w&4a zJM)^p<~c;Gtl5k2S&oQW=2}9@FlT5_Ovua*?8Gf2#a3l^})4P%x(`Ea)HObod zjf9pMwpIAZNgVIr-zD2IJOT!T004lqL$JvsATS6`40G@y|;0O2u{$RKP z*8wrW3_O1+K7c#Ov_TvMP(jTX;1#kuYaIXK%MB}YQE`bdJ zfEQp6c!MT2zzI+V&VoZ+!Ao#p#)9k&Xmtb;0mQ%RSdb9_B@ko5j$c)05IX{jpi2=@ z0Z(TfjivPOK}f^{8cQZ9r9mM8m=gb~K>oD=5Wf}xs#NV2HFbUO*8+&3u{fyw-lr9q z!&1n0#)FKtmAylWw*UZFzA=UoY$a|Xc@)3 zlJ)|tTQ-~=W?Uag*}A&QS;}?oBbU-*hDCFx^kmZDCW|N^N$r!cZ;7hr{VIF=RmtPT zIJmEKb%?{69Nd8A!27^L1*okX(T%9~u zFcNr-%Y)7%EiONUqLWVTRny;@7S$TAQL@NRa%4r()5JvNk5xu@Fe~(C5LF^PFceu< zlIp!nl{VE{tdp`vFjFgZlo+xflS#JwvKh+=-3U}RMXi(T*?nkB<(7~W#5!hl%uec^ zx?)R9uj9q_?M>l!z56+8Zxj;;rewVF8=3BL6#KJM8Ok=iC1!aDlnW!AWrM;Xq&L@Hg${U-lVn1j)C)l zt;qUk@~m(dM`UeVsMzM<^!u3l>FyOlw#S#t`1QTsIC1XGPqd0zQB-X=e;a=*{rd;* z-dA|3>Di;uW#2A@<94OPbwd3xE~QjKs46|+X2UYinWR>Y+_OY^$iY$*)yI4;=Z|KY zDG%6C4%wMJkpEpM9Lns~L0_W(3{Jny{&9X(uOIGoB=IrQdO>Fks?NPs$K@Vjb4Vhj zujd7i68Yq!uO=XP50%~(rkvI&c{<=|-ZR7W*AncwZhx*E{kFvT^EL0NtmH#)f#kq1 zGG93@W$p2a#w8bA&*^6pcq|*f(1kd}(q(t++jO$E$kXy=uW{Me7y3rnt6CLVpAiAD1Yaz1~sZ ztHG`(CN_OCC-WzVfVrD+)Y(Q%BYTkMe#o6O`1y`ESa-uCs{Bkv1jod=Ji9)a&FRUaAtf zi1{sH^ycmTE>;(=WPI@cVijY>( z68QMK9TPTAYPREpfq+h^Nne$)zO;6bx%j96AK_A|B+TR7U>0P)(eEk{J#@4Mx&M05 zCmJxuxSLKS802l^7))Rwj&-Awxzy zL|h&Z8u5{hxZ#i*aB?roJ=(>%lFM~AM)K&^89a(nzv>UkL3%^1E^(B=&$CpC*k&Uu zoWIXD#zo%*oEY3D5w(^p%? zO5a)yp9j|(odT|vi) x=2V4i$!>r`bocbgd;9#&HU{hI|N6Z$Mk4?^qLlWtab5 z>NP5P^SUu%0a4(t?J}R)?1B(lBxj+?ehgOdZcWno8ix^tn9J&06)存入) +Public Enum _enuInvokeType + _Load = 0 + _Add = 1 + _Edit = 2 + _Delete = 3 + _Get = 4 +End Enum diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/shared file/modQCSetting.vb b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/modQCSetting.vb new file mode 100644 index 0000000..87e1b4e --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MESWin/shared file/modQCSetting.vb @@ -0,0 +1,61 @@ +Module modQCSetting + + Public Function LoadQCObjectInfo(ByVal pQCObjectType As String, + ByRef pRefTableName As String, + ByRef pData As DataSet, + Optional ByVal pQCObjectNo As String = defString, + Optional ByRef pFindColumnNo As String = "", + Optional ByRef pFindColumnName As String = "", + Optional ByVal pLikeSymbo As String = "", + Optional ByVal pQCObjectFrom As String = defString, + Optional ByVal pQCObjectTo As String = defString, + Optional ByVal pAdditional As String = "") As Boolean + + Dim strMethod As String + Dim strNode As String + Dim strConditionName As String = "QCObjectType" + Dim strConditionValue As String = pQCObjectType + + pQCObjectNo = pQCObjectNo & pLikeSymbo + + Select Case pQCObjectType + Case 0 + pFindColumnNo = "QCCategory" + pFindColumnName = "QCCategoryName" + + Case 1 + pFindColumnNo = "ProductNo" + pFindColumnName = "ProductName" + + Case 2 + pFindColumnNo = "QCCategory" + pFindColumnName = "QCCategoryName" + + Case 3 + pFindColumnNo = "MaterialNo" + pFindColumnName = "MaterialName" + + End Select + + If pQCObjectNo <> defString Then + strConditionName = strConditionName & ",QCObjectNo" + strConditionValue = strConditionValue & "," & pQCObjectNo + End If + + If pQCObjectFrom <> defString Then + strConditionName = strConditionName & ",QCObjectNoFrom" + strConditionValue = strConditionValue & "," & pQCObjectFrom + End If + + If pQCObjectTo <> defString Then + strConditionName = strConditionName & ",QCObjectNoTo" + strConditionValue = strConditionValue & "," & pQCObjectTo + End If + + LoadQCObjectInfo = COM_Utility.clsUtility.InvokeLoadFunction(gComputerName, gUserNo, "wsQC.LoadQCObjectRefInfo", "loadqcobjectrefinfo", + Split(strConditionName, ","), Split(strConditionValue, ","), + pRefTableName, pData,, pAdditional) + + End Function + +End Module diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_ABC.csproj.vspscc b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_ABC.csproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_ABC.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.csproj b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.csproj new file mode 100644 index 0000000..ef7f35c --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.csproj @@ -0,0 +1,134 @@ + + + + Debug + AnyCPU + + + + + {8CC8664F-C718-0888-187B-600F20E362E0} + Library + MEStc_SXS + MEStc_SXS + 512 + Windows + v4.6.2 + SAK + SAK + SAK + SAK + + $(DefaultItemExcludes);$(ProjectDir)**\*.vb + + + true + full + true + true + ..\MES_S_DLL\ + ..\MES_S_DLL\MEStc_SXS.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + pdbonly + false + true + true + bin\Release\ + bin\Release\ + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + On + + + Binary + + + Off + + + On + + + + + False + ..\MES_S_DLL\data_access_service.dll + False + + + False + ..\MES_S_DLL\iMESAppSetting.dll + False + + + False + ..\MES_S_DLL\iMESComSubroutine.dll + False + + + False + ..\MES_S_DLL\iMESComXML.dll + False + + + False + ..\MES_S_DLL\iMESConst.dll + False + + + ..\..\MESSeries_2016\MES_S_DLL\iMESException.dll + False + + + False + ..\MES_S_DLL\iMESLog.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.sln b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.sln new file mode 100644 index 0000000..22ddfea --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/MEStc_SXS.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MEStc_SXS", "MEStc_SXS.csproj", "{8CC8664F-C718-0888-187B-600F20E362E0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8CC8664F-C718-0888-187B-600F20E362E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8CC8664F-C718-0888-187B-600F20E362E0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {20814751-26E2-4F61-9643-BFEDC7384E35} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/NewFolder1/clsENT_21670.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/NewFolder1/clsENT_21670.cs new file mode 100644 index 0000000..f830114 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/NewFolder1/clsENT_21670.cs @@ -0,0 +1,959 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT : IDisposable + { + LoadSubcontractor + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor_21670 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor_21670 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21670", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/AssemblyInfo.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e2bf75b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 組件的一般資訊是由下列的屬性集控制。 +// 變更這些屬性的值即可修改組件的相關 +// 資訊。 +[assembly: AssemblyTitle("MEStc_ABC.Properties")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("iMES Technology Inc.")] +[assembly: AssemblyProduct("MESSeries 6")] +[assembly: AssemblyCopyright("Copyright iMES Technology Inc.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 將 ComVisible 設定為 false 會使得這個組件中的類型 +// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中 +// 的類型,請在該類型上將 ComVisible 屬性設定為 true。 +[assembly: ComVisible(false)] + +// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID +[assembly: Guid("00eb00ee-1246-48cf-a0bf-f5203de255f1")] + +// 組件的版本資訊由下列四個值所組成: +// +// 主要版本 +// 次要版本 +// 組建編號 +// 修訂編號 +// +[assembly: AssemblyVersion("6.0.0.0")] diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs new file mode 100644 index 0000000..8c4e437 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/Properties/BuildIncrementVersionInfo.cs @@ -0,0 +1 @@ +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/clsENT_21670.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/clsENT_21670.cs new file mode 100644 index 0000000..c10aa6e --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/clsENT_21670.cs @@ -0,0 +1,959 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT : IDisposable + { + LoadSubcontractor + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT/clsENT.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT/clsENT.cs new file mode 100644 index 0000000..2af6c9d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT/clsENT.cs @@ -0,0 +1,958 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT21670/clsENT_21670.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT21670/clsENT_21670.cs new file mode 100644 index 0000000..339a403 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT21670/clsENT_21670.cs @@ -0,0 +1,969 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT_21670 : IDisposable + { + + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT_21670() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string WZ21670,string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor_21670 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + strSQLAddField += ",WZ21670"; + strSQLAddValue += ",'" + WZ21670 + "'"; + + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor(string SubcontractorNo,string WZ21670, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set "; + + if ((WZ21670 ?? "") != defString) + { + strSQL += "WZ21670 = '" + WZ21670 + "',"; + } + + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont_21670 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor_21670 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21670", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont_21670 (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont_21670 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont_21670 " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21670", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT_21670/clsENT.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT_21670/clsENT.cs new file mode 100644 index 0000000..c0331f1 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcENT_21670/clsENT.cs @@ -0,0 +1,958 @@ +using iMESCore.Settings; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +namespace MEStc_SXS +{ + public class clsENT_21670_1 : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + private string strSQLAddField; + private string strSQLAddValue; + + #region --- Initial Object --- + + public clsENT_21670_1() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + #region --- Subcontractor 外包商 --- + + + public string AddSubcontractor_21670(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + strSQLAddField = "Insert into tblENTSubcontractor_21670 (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; + + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + + public string EditSubcontractor_21670(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorRet = default(string); + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor_21670(string SubcontractorNo, string AdditionalXml = "") + { + string DelSubcontractorRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + var CollectionSQL = new Collection(); + + try + { + // 1. 刪除Contactor + strSQL = "Delete From tblENTSubcontractorCont_21670 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + CollectionSQL.Add(strSQL); + + // 2. 刪除主檔 + strSQL = "Delete From tblENTSubcontractor_21670 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + CollectionSQL.Add(strSQL); + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL); + + // //Return success + DelSubcontractorRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractor: " & e1.Message) + + return DelSubcontractorRet; + + } + + public string LoadSubcontractor_21670(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadSubcontractorRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Combine return value + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21670", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorRet; + + } + + public DataSet ShowSubcontractor_21670(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowSubcontractorRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + ShowSubcontractorRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorRet; + + } + + public DataRow GetSubcontractor_21670(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetSubcontractorRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractor_21670 Where SubcontractorNo Is Not Null"; + + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if (IssueState != defInteger) + { + strSQL += " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21670", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorRet = null; + throw; + } // New Exception("kcENT.GetSubcontractor: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorRet; + + } + public string SetSubcontractorIssueState_21670(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string SetSubcontractorIssueStateRet = default(string); + // 此 Function 將修改IssueState欄位的值 + // 傳入值: IssueState修改後的值及VendorNo + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21670 Set IssueState = " + IssueState + ","; + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + SetSubcontractorIssueStateRet = "success"; + } + + catch (Exception e1) + { + SetSubcontractorIssueStateRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message) + + return SetSubcontractorIssueStateRet; + + } + + + public string AddSubcontractorCont_21670(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime)) + { + string AddSubcontractorContRet = default(string); + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont_21670 (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + + + public string EditSubcontractorCont_21670(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) + { + string EditSubcontractorContRet = default(string); + + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont_21670 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + + public string DelSubcontractorCont_21670(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") + { + string DelSubcontractorContRet = default(string); + // 此 Function 將刪除資料 + // 傳入值: 刪除的索引值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQL = "Delete From tblENTSubcontractorCont_21670 " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + DelSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + DelSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.DelSubcontractorCont: " & e1.Message) + + return DelSubcontractorContRet; + + } + + public string LoadSubcontractorCont_21670(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + string LoadSubcontractorContRet = default(string); + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + + // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Combine return value + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21670", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + } + + catch (Exception e1) + { + LoadSubcontractorContRet = "fail"; + throw; + } // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return LoadSubcontractorContRet; + + } + + public DataSet ShowSubcontractorCont_21670(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataSet ShowSubcontractorContRet = default(DataSet); + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Return data + ShowSubcontractorContRet = dsENT; + } + + catch (Exception e1) + { + ShowSubcontractorContRet = null; + throw; + } // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return ShowSubcontractorContRet; + + } + + public DataRow GetSubcontractorCont_21670(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "") + { + DataRow GetSubcontractorContRet = default(DataRow); + // 此 Function 將資料以 DataRow 方式取出 + // 傳入值: 索引值 + // 傳回值: DataRow(成功), Nothing(失敗) + + + var dsENT = default(DataSet); + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblENTSubcontractorCont_21670 Where SubcontractorNo Is Not Null"; + if ((SubcontractorNo ?? "") != defString) + { + strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; + } + if ((ContactorName ?? "") != defString) + { + strSQL += " And ContactorName = '" + ContactorName + "'"; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsENT = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21670", cnnTemp); + + // //Return data + if (dsENT.Tables[0].Rows.Count > 0) + { + GetSubcontractorContRet = dsENT.Tables[0].Rows[0]; + } + else + { + GetSubcontractorContRet = dsENT.Tables[0].NewRow(); + } + } + catch (Exception e1) + { + GetSubcontractorContRet = null; + throw; + } // New Exception("kcENT.GetSubcontractorCont: " & e1.Message) + + finally + { + CloseConnection(cnnTemp); + if (dsENT != null) + { + dsENT.Dispose(); + } + + } + + return GetSubcontractorContRet; + + } + + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcWIP/clsLot.cs b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcWIP/clsLot.cs new file mode 100644 index 0000000..57d1278 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/MEStc_SXS/tcWIP/clsLot.cs @@ -0,0 +1,337 @@ +using System; +using System.Data; +using System.Data.Common; +using Microsoft.VisualBasic; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.DataBase.iMESSql; +using iMESCore.Settings; + +namespace MEStc_SXS +{ + + + public class clsLot : IDisposable + { + /*不使用modXX,不再使用OleDb + * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll + * 設定檔相關,使用iMESAppSetting + * Xml相關,使用iMESComXML.dll + * 常數相關,使用iMESConst.dll + * 簡易副程式,使用iMESComSubroutine.dll + */ + + + private AppSettings objSetting = new AppSettings(); + private string strConnectionString; // Connection string + private string strDataBaseType; // DataBase Type:oracle, mysql, access + private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ + private bool disposed = false; // To detect redundant calls + private string strSQL = ""; + + #region --- Initial Object --- + + public clsLot() + { + // Get database type + strDataBaseType = objSetting.GetDataBaseType(); + // Get connection string + strConnectionString = objSetting.GetConnectionString(strDataBaseType); + // Get Message Queue Type + strMQType = objSetting.GetMQType(); + } + + #endregion + + #region --- Property --- + + // //Property-------------------------------------------------------------------------------------------------------------------------------- + public string ConnectionString + { + get + { + return strConnectionString; + } + } + + public string DataBaseType + { + get + { + return strDataBaseType; + } + } + + public string MQType + { + get + { + return strMQType; + } + } + + // 2003/03/22,sammi. + // 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆. + // 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD. + //public object ReverseObj + //{ + // get + // { + // //return objReverse; + // // ReverseObj = objReverse + // } + //} + + + #endregion + + #region IDisposable Support + private bool disposedValue; // 偵測多餘的呼叫 + + // IDisposable + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: 處置 Managed 狀態 (Managed 物件)。 + } + + // TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。 + // TODO: 將大型欄位設定為 null。 + } + disposedValue = true; + } + + // TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。 + // Protected Overrides Sub Finalize() + // ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。 + // Dispose(False) + // MyBase.Finalize() + // End Sub + + // 由 Visual Basic 新增此程式碼以正確實作可處置的模式。 + public void Dispose() + { + // 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。 + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + + + public string LoadOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + string LoadOPTypeRet = null; + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + + DataSet dsOP = null; + + try + { + + dsOP = ShowOPType(OPType, IssueState, AdditionalXml); + + // //Combine return value + LoadOPTypeRet = CombineXMLReturnValue("loadoptype", "OPType", "DataSet", FormatXMLSchema(dsOP.GetXmlSchema()), dsOP.GetXml(), ""); + } + + catch (Exception e1) + { + LoadOPTypeRet = "fail"; + throw; + } // New Exception("kcOP.LoadOPType: " & e1.Message) + + finally + { + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return LoadOPTypeRet; + + } + + public DataSet ShowOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataSet ShowOPTypeRet = null; + + // 此 Function 將資料以 Dataset 方式取出 + // 傳入值: 索引值 + // 傳回值: Dataset(成功), Nothing(失敗) + + + DataSet dsOP = null; + IDbConnection cnnTemp = null; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + strSQL = "Select * From tblOPType Where OPType Is Not Null"; + if (OPType != defString) + { + strSQL = strSQL + " And OPType = '" + OPType + "'"; + } + if (IssueState != defInteger) + { + strSQL = strSQL + " And IssueState = " + IssueState; + } + + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL = strSQL + SeparateAddXML_Condition(AdditionalXml); + } + + // //Select data + dsOP = new DataSet(); + ExecuteSQLQuery_Adapter(strSQL, dsOP, "OPType", cnnTemp); + + // //Return data + ShowOPTypeRet = dsOP; + } + + catch (Exception e1) + { + ShowOPTypeRet = null; + throw; + } + + finally + { + CloseConnection(cnnTemp); + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return ShowOPTypeRet; + } + + public DataRow GetOPType(string OPType = defString, int IssueState = defInteger, string AdditionalXml = "") + { + DataRow GetOPTypeRet = null; + // 此 Function 將資料以XML方式取出 + // 傳入值: 索引值 + // 傳回值: XML(成功), fail(失敗) + + + DataSet dsOP = null; + + try + { + + dsOP = ShowOPType(OPType, IssueState, AdditionalXml); + + // //Return data + if (dsOP.Tables[0].Rows.Count > 0) + { + GetOPTypeRet = dsOP.Tables[0].Rows[0]; + } + else + { + GetOPTypeRet = dsOP.Tables[0].NewRow(); + } + } + + catch (Exception e1) + { + GetOPTypeRet = null; + throw; + } // New Exception("kcOP.LoadOPType: " & e1.Message) + + finally + { + if (dsOP != null) + { + dsOP.Dispose(); + } + } + + return GetOPTypeRet; + + } + + public string BR_CheckIn(long LotStamp, string LotNo, string LinkName, DataTable dtAttrib, DataTable dtEquipment, string UserNo, string ShiftNo, + string LotRecord = defString, DateTime CheckInTime = default(DateTime), string RuleNo = "", DataTable dtLoginState = null, DataTable dtAccessory = null, + DataTable dtMTLLot = null, string LanguageMode = defString) + { + string BR_CheckInRet = default(string); + // 此 Function 將更新CheckIn Data + // 傳入值: LotNo,dtAttrib,dtEquipment + // 傳回值: success(成功), fail(失敗) + + IDbConnection cnnTemp = null; + DbDataReader drTemp; + var CollectionSQL = new Collection(); + var CollectionSQL_Rows = new Collection(); + string strSQL = ""; + + string LotSerial, OPNo, BRNo, SerialNo, LogGroupSerial, BaseLotNo, CurQTY; + int PhaseNo; + DateTime datEventTime; + long lngLotStamp; + + try + { + // //Create connection + cnnTemp = CreateConnection(strConnectionString); + + // 1.取出Temp LotState的資料 + strSQL = "Select A.LotSerial,A.OPNo,A.SerialNo,B.BRNo,B.LogGroupSerial,B.LotStamp,B.BaseLotNo,B.CurQTY,B.PhaseNo " + + " From tblWIPTemp_LotState A, tblWIPLotState B " + " Where A.LotNo ='" + LotNo + "'" + " And A.LotNo = B.LotNo "; + // cmmTemp = New OleDb.OleDbCommand(strSQL, cnnTemp) + drTemp = ExecuteSQLQuery_Reader(strSQL, cnnTemp); + if (drTemp.Read()) + { + LotSerial = drTemp["LotSerial"].ToString(); + OPNo = drTemp["OPNo"].ToString(); + SerialNo = drTemp["SerialNo"].ToString(); + BRNo = drTemp["BRNo"].ToString(); + LogGroupSerial = drTemp["LogGroupSerial"].ToString(); + lngLotStamp = Convert.ToInt64(drTemp["LotStamp"]); + BaseLotNo = drTemp["BaseLotNo"].ToString(); + CurQTY = drTemp["CurQTY"].ToString(); + PhaseNo = Convert.ToInt32(drTemp["PhaseNo"]); // 2020/11/20 Steven Mantis: 0082084: [PAD]eRunCard_調整 BR 生產記錄 + } + else + { + throw new iMESException.MESException("0000-202003", "[%LotNo%] : " + LotNo); + } + drTemp.Close(); + + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery_ChkRowCount(strDataBaseType, strConnectionString, CollectionSQL, CollectionSQL_Rows); + + // //Return success + BR_CheckInRet = "success"; + } + + catch (Exception e1) + { + BR_CheckInRet = "fail"; + throw; + } + finally + { + CloseConnection(cnnTemp); + + } + return BR_CheckInRet; + + } + + + } +} \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.Designer.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.Designer.cs new file mode 100644 index 0000000..299bbe3 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.Designer.cs @@ -0,0 +1,11 @@ +// ------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +// ------------------------------------------------------------------------------ + + diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.myapp b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.Designer.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.Designer.cs new file mode 100644 index 0000000..10f0acd --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace wsABC.My { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.settings b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/AssemblyInfo.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7ead6a6 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 組件的一般資訊是由下列的屬性集控制。 +// 變更這些屬性的值即可修改組件的相關 +// 資訊。 +[assembly: AssemblyTitle("wsABC.Properties")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("iMES Technology Inc.")] +[assembly: AssemblyProduct("MESSeries 6")] +[assembly: AssemblyCopyright("Copyright iMES Technology Inc.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 將 ComVisible 設定為 false 會使得這個組件中的類型 +// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中 +// 的類型,請在該類型上將 ComVisible 屬性設定為 true。 +[assembly: ComVisible(false)] + +// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID +[assembly: Guid("ad05cadf-ff22-498b-a29e-df915118873d")] + +// 組件的版本資訊由下列四個值所組成: +// +// 主要版本 +// 次要版本 +// 組建編號 +// 修訂編號 +// +[assembly: AssemblyVersion("6.0.0.0")] diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/BuildIncrementVersionInfo.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/BuildIncrementVersionInfo.cs new file mode 100644 index 0000000..8c4e437 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/Properties/BuildIncrementVersionInfo.cs @@ -0,0 +1 @@ +[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")] diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.Designer.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.Designer.cs new file mode 100644 index 0000000..20e487b --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace wsABC.My.Resources { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("wsSXS.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.resx b/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsABC.csproj.vspscc b/SRC/MESWin/SYS4/21670ll/wsSXS/wsABC.csproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsABC.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsENT_21670/wsENT.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/wsENT_21670/wsENT.cs new file mode 100644 index 0000000..b603955 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsENT_21670/wsENT.cs @@ -0,0 +1,1101 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT + { + private MEStc_SXS.clsENT_21670 objENT = new MEStc_SXS.clsENT_21670(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string WZ21670 = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // WZ21670 + if (xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Count > 0) + { + if (xmlDoc.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Count > 0) + { + WZ21670 = xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName,WZ21670, Description,Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string WZ21670 = defString; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // WZ21670 + if (xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Count > 0) + { + if (xmlDoc.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Count > 0) + { + WZ21670 = xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo,WZ21670, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor_21670 Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor_21670 Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + } +} diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj new file mode 100644 index 0000000..47d0b9f --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj @@ -0,0 +1,180 @@ + + + + + Debug + AnyCPU + {881686CE-A940-0485-2766-D411835B2FBB} + Library + wsSXS + wsSXS + 512 + Windows + v4.6.2 + + SAK + SAK + SAK + SAK + $(DefaultItemExcludes);$(ProjectDir)**\*.vb + + + true + full + true + true + ..\MES_S_DLL\ + ..\MES_S_DLL\wsSXS.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + pdbonly + false + true + true + ..\..\MES_S_DLL\ + ..\..\MES_S_DLL\ + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 0 + false + + + On + + + Binary + + + Off + + + On + + + + False + ..\MES_S_DLL\kcISSUE.dll + + + False + ..\MES_S_DLL\MEStc_SXS.dll + + + + False + ..\MES_S_DLL\iMESAppSetting.dll + False + + + False + ..\MES_S_DLL\iMESComSubroutine.dll + False + + + False + ..\MES_S_DLL\iMESComXML.dll + False + + + False + ..\MES_S_DLL\iMESConst.dll + False + + + ..\MES_S_DLL\iMESException.dll + False + + + False + ..\MES_S_DLL\iMESSCI.dll + False + + + ..\MES_S_DLL\kcSYS.dll + False + False + + + False + ..\MES_S_DLL\Newtonsoft.Json.dll + False + + + + + + + + + + + + + + + False + + + + + + + + + + + + + + + + True + Application.myapp + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + wsABC.My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.cs + + + SettingsSingleFileGenerator + wsABC.My + Settings.Designer.cs + + + + + + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj.user b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj.user new file mode 100644 index 0000000..3c48538 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.csproj.user @@ -0,0 +1,6 @@ + + + + E:\code\SRC\MES_S_DLL\ + + \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.sln b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.sln new file mode 100644 index 0000000..13847da --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsSXS.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wsSXS", "wsSXS.csproj", "{881686CE-A940-0485-2766-D411835B2FBB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {881686CE-A940-0485-2766-D411835B2FBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {881686CE-A940-0485-2766-D411835B2FBB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7B40A25F-A0CA-49E5-AB24-36F7949771DE} + EndGlobalSection +EndGlobal diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wsWIP/wsWIP.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/wsWIP/wsWIP.cs new file mode 100644 index 0000000..f8474ef --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wsWIP/wsWIP.cs @@ -0,0 +1,131 @@ +using System; +using Microsoft.VisualBasic; +using static iMESCore.Base.iMESComSubroutine; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using iMESCore.Settings; + +namespace wsSXS +{ + + public class wsWIP + { + + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private string strServiceName = "wsWIP_SXS"; // ServiceName + private string strResourceDir = "Resources"; + + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + + public wsWIP() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + public string HelloWorld(string InXml) + { + return "HelloWorld"; + } + + + //public string LoadOPMaterialState(string InXml) + //{ + // string LoadOPMaterialStateRet = null; + + // // 先給預設值,以判斷是否有傳入該參數 + // string OPNo = defString; + // string MaterialNo = defString; + // string MaterialLotNo = defString; + // string UnitNo = defString; + // string MaterialType = defString; + + // ArriveTime = DateTime.Now; + + // try + // { + // // 讀取InXml字串 + // xmlDoc.LoadXml(InXml); + // // 組Identity字串 + // strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), ArriveTime.ToString(defDateTimeFormat)); + + // // 判斷是否有傳入OPNo,若有,表示要依OPNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("opno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("opno").Item(0).SelectNodes("value").Count > 0) + // { + // OPNo = xmlDoc.DocumentElement.GetElementsByTagName("opno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // // 判斷是否有傳入MaterialNo,若有,表示要依MaterialNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("materialno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materialno").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialNo = xmlDoc.DocumentElement.GetElementsByTagName("materialno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // // 判斷是否有傳入MaterialLotNo,若有,表示要依MaterialLotNo查詢 + // if (xmlDoc.DocumentElement.GetElementsByTagName("materiallotno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materiallotno").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialLotNo = xmlDoc.DocumentElement.GetElementsByTagName("materiallotno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // if (xmlDoc.DocumentElement.GetElementsByTagName("unitno").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("unitno").Item(0).SelectNodes("value").Count > 0) + // { + // UnitNo = xmlDoc.DocumentElement.GetElementsByTagName("unitno").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + // if (xmlDoc.DocumentElement.GetElementsByTagName("materialtype").Count > 0) + // { + // if (xmlDoc.GetElementsByTagName("materialtype").Item(0).SelectNodes("value").Count > 0) + // { + // MaterialType = xmlDoc.DocumentElement.GetElementsByTagName("materialtype").Item(0).SelectNodes("value").Item(0).InnerText; + // } + // } + + // // 呼叫Dll執行 + // //strReturnValue = objWIP.LoadOPMaterialState(OPNo, MaterialNo, MaterialLotNo, UnitNo, MaterialType); + // strException = ""; + // strResult = "success"; + // } + + // catch (iMESException.MESException ex) + // { + // strReturnValue = ""; + // strException = CombineXMLException(ex.ErrorCode.ToString(), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Load OP Material State Fail!!", ex.StackTrace); + // strResult = "fail"; + // } + + // catch (Exception ex) + // { + // strReturnValue = ""; + // strException = CombineXMLException(defWSErrCode, ex.Message, "Load OP Material State Fail!!", ex.StackTrace); + // strResult = "fail"; + // } + + // finally + // { + // // 將各部份之XML字串組起來並傳出 + // LoadOPMaterialStateRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + // } + // return LoadOPMaterialStateRet; + + //} + } +} \ No newline at end of file diff --git a/SRC/MESWin/SYS4/21670ll/wsSXS/wxENT/wsENT.cs b/SRC/MESWin/SYS4/21670ll/wsSXS/wxENT/wsENT.cs new file mode 100644 index 0000000..b603955 --- /dev/null +++ b/SRC/MESWin/SYS4/21670ll/wsSXS/wxENT/wsENT.cs @@ -0,0 +1,1101 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System; +using System.Data; +using System.Web.Services; +using Microsoft.VisualBasic; +using Microsoft.VisualBasic.CompilerServices; +using static iMESCore.Base.iMESComXML; +using static iMESCore.Base.iMESConst; +using static iMESCore.Base.iMESComSubroutine; +namespace wsSXS +{ + public class wsENT + { + private MEStc_SXS.clsENT_21670 objENT = new MEStc_SXS.clsENT_21670(); + private kcSYS.clsSYSUserLog objSYS = new kcSYS.clsSYSUserLog(); // 宣告Sys的物件 + //private kcBasis_UPD.clsBasis_UPD objBasis = new kcBasis_UPD.clsBasis_UPD(); //主檔優化 + //private kcBasis_Query.clsBasis_Query objQuery = new kcBasis_Query.clsBasis_Query(); //主檔優化 + private System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // 用以讀取Xml字串 + private DateTime ArriveTime; // 送達時間 + private string strIdentity; // Identity XML字串 + private string strReturnValue; // ReturnValue XML字串 + private string strException; // Exception XML字串 + private string strResult; // Result XML字串 + private string strMessage; // Message XML字串 + private iMESCore.Settings.AppSettings objSetting = new iMESCore.Settings.AppSettings(); + private string strResourceDir = "Resources"; + + public wsENT() + { + try + { + strResourceDir = System.IO.Path.Combine("wsUpdateResource", objSetting["ResourceDir"].ToString()); + } + catch (Exception) + { } + } + + #region --- Subcontractor 外包商 --- + + [WebMethod(Description = "Load Subcontractor Data")] + public string LoadSubcontractor(string InXml) + { + string LoadSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + int IssueState = 2; + + ArriveTime = DateTime.Now; + string AdditionalXml = ""; + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入Subcontractor,若有,表示要依Subcontractor查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // 判斷是否有傳入IssueState,若有,表示要依IssueState查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + } + + // 呼叫副程式處理查詢條件與Additional格式 + AdditionalXml = CombineXMLQueryAdditional(xmlDoc); + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractor(SubcontractorNo, IssueState, AdditionalXml); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorRet; + + } + + [WebMethod(Description = "Add Subcontractor data")] + public string AddSubcontractor(string InXml) + { + string AddSubcontractorRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + string SubcontractorName; + string Description = defString; + string WZ21670 = defString; + string Creator = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorName Not Found!"); + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // WZ21670 + if (xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Count > 0) + { + if (xmlDoc.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Count > 0) + { + WZ21670 = xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Creator + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractor(SubcontractorNo, SubcontractorName,WZ21670, Description,Creator); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Data")] + public string EditSubcontractor(string InXml) + { + string EditSubcontractorRet = default(string); + + // 參數先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + int IssueState = defInteger; + string WZ21670 = defString; + string SubcontractorName = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + // SubcontractorName不可空白 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorName = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorname").Item(0).SelectNodes("value").Item(0).InnerText; + if (string.IsNullOrEmpty(SubcontractorName)) + { + throw new iMESException.MESException("0000-200001", "SubcontractorName is empty!"); + } + } + } + // WZ21670 + if (xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Count > 0) + { + if (xmlDoc.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Count > 0) + { + WZ21670 = xmlDoc.DocumentElement.GetElementsByTagName("wz21670").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // Unfrozen時才可修改 + { + // 有修改欄位值時 + if ((SubcontractorName ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractor(SubcontractorNo,WZ21670, SubcontractorName, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractor"); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return EditSubcontractorRet; + + } + + [WebMethod(Description = "Delete Subcontractor By Specified Subcontractor")] + public string DelSubcontractor(string InXml) + { + string DelSubcontractorRet = default(string); + + var SubcontractorNo = default(string); + int IssueState; + string strDelState; // 寫入tblSysEventLog中的訊息,0:未簽核刪除,2:已簽核刪除,-1:不使用刪除 + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + switch (IssueState) + { + case 0: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "未簽核刪除"; + break; + } + case 2: + { + objENT.SetSubcontractorIssueState(SubcontractorNo, -1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + strDelState = "已簽核刪除"; + break; + } + case -1: + { + objENT.DelSubcontractor(SubcontractorNo); + strDelState = "不使用刪除"; + break; + } + + default: + { + throw new iMESException.MESException("0000-200021", "[%IssueState%]"); + } + } + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractor:" + strDelState); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Delete Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorRet; + + } + + [WebMethod(Description = "Approve Specified Subcontractor Data")] + public string ApproveSubcontractor(string InXml) + { + string ApproveSubcontractorRet = default(string); + + string IssueNo = "SUBCONTRACTOR BASIS"; // 簽核編號:SUBCONTRACTOR BASIS.若找不到,表示直接將狀態改為Active. + var SubcontractorNo = default(string); + int IssueState; + var objIssue = new kcISSUE.clsIssue(); + DataRow IssueDR; + int DataStamp = defInteger; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // Subcontractor一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // IssueState一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Count > 0) + { + if (xmlDoc.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Count > 0) + { + IssueState = Conversions.ToInteger(xmlDoc.DocumentElement.GetElementsByTagName("issuestate").Item(0).SelectNodes("value").Item(0).InnerText); + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "[%IssueState%]"); + } + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + if (IssueState == 0) // 當狀態為Unfrozen時才作 + { + // 去IssueManagement中找核准的方式 + IssueDR = objIssue.GetIssueJobMap(IssueNo); + + // 找不到表示bypass直接核准 + if (IssueDR["JobNo"] is DBNull) + { + // 直接核准 + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 檢查JobNo是否有定義Detail檔,沒有Detail檔則直接核准 + DataRow tmpDR; + tmpDR = objIssue.GetIssueJobDetail(Conversions.ToString(IssueDR["JobNo"])); + if (tmpDR["JobNo"] is DBNull) + { + objENT.SetSubcontractorIssueState(SubcontractorNo, 2, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + } + + else + { + // 將狀態改為Pending,且應以找到的JobNo來進入簽核 + // 填入簽核現況檔之Initial + var ApproveSQL = new Collection(); + var RejectSQL = new Collection(); + string tmpSQL; + string IssueSubject; + string IssueMasterNo; + + // 核准後應將狀態改為Active + tmpSQL = "Update tblENTSubcontractor_21670 Set IssueState = 2 Where SubcontractorNo = '" + SubcontractorNo + "'"; + ApproveSQL.Add(tmpSQL); + // 退回則應將狀態回復到Unfrozen + tmpSQL = "Update tblENTSubcontractor_21670 Set IssueState = 0 Where SubcontractorNo = '" + SubcontractorNo + "'"; + RejectSQL.Add(tmpSQL); + + // Creator未傳入表示以目前的User + string Creator; + if (xmlDoc.DocumentElement.GetElementsByTagName("creator").Count > 0) + { + if (xmlDoc.GetElementsByTagName("creator").Item(0).SelectNodes("value").Count > 0) + { + Creator = xmlDoc.DocumentElement.GetElementsByTagName("creator").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + } + else + { + Creator = GetXMLCurUserNo(xmlDoc); + } + + IssueSubject = "SubcontractorNo: " + SubcontractorNo; + IssueMasterNo = objIssue.InitIssueMasterNo(); + // 此筆資料進入Issue流程 + objIssue.StartIssueProcess(IssueMasterNo, ApproveSQL, RejectSQL, IssueNo, IssueDR["JobNo"].ToString(), IssueSubject, Creator); + // 將狀態改為Pending + objENT.SetSubcontractorIssueState(SubcontractorNo, 1, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "ApproveSubcontractor"); + + // 發Email給JobSerialNo=1之負責群組 + objIssue.SendEmailToFirstGroup(IssueMasterNo, IssueSubject); + } + } + } + strException = ""; + strResult = "success"; + } + + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Approve Subcontractor failed!", ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + ApproveSubcontractorRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + } + + return ApproveSubcontractorRet; + + } + + // Subcontractor Contactor + [WebMethod(Description = "Load Subcontractor Contactor Data")] + public string LoadSubcontractorCont(string InXml) + { + string LoadSubcontractorContRet = default(string); + + // 先給預設值,以判斷是否有傳入該參數 + string SubcontractorNo = defString; + string ContactorName = defString; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 判斷是否有傳入SubcontractorNo,若有,表示要依SubcontractorNo查詢 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // 呼叫Dll執行 + strReturnValue = objENT.LoadSubcontractorCont(SubcontractorNo, ContactorName); + strException = ""; + strResult = "success"; + } + + catch (iMESException.MESException ex) + { + strReturnValue = ""; + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + catch (Exception ex) + { + strReturnValue = ""; + strException = CombineXMLException(defWSErrCode, ex.Message, "Show Subcontractor Contactor Failed!!", ex.StackTrace); + strResult = "fail"; + } + + finally + { + // 將各部份之XML字串組起來並傳出 + LoadSubcontractorContRet = CombineXMLResponse(strIdentity, strReturnValue, strException, strResult, ""); + + } + + return LoadSubcontractorContRet; + + } + + [WebMethod(Description = "Add Subcontractor Contactor data")] + public string AddSubcontractorCont(string InXml) + { + string AddSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + + // 呼叫Dll執行新增資料 + objENT.AddSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, GetXMLCurUserNo(xmlDoc), ArriveTime); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "AddSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Add SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + AddSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return AddSubcontractorContRet; + + } + + [WebMethod(Description = "Edit Specified Subcontractor Contactor Data")] + public string EditSubcontractorCont(string InXml) + { + string EditSubcontractorContRet = default(string); + // 先給預設值,以判斷是否有傳入該參數 + var SubcontractorNo = default(string); + var ContactorName = default(string); + string TelNo = defString; + string FaxNo = defString; + string Title = defString; + string Address = defString; + string EMail = defString; + string Description = defString; + + int DataStamp = defInteger; + string AdditionalXml = ""; + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "ContactorName Not Found!"); + } + // TelNo + if (xmlDoc.DocumentElement.GetElementsByTagName("telno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("telno").Item(0).SelectNodes("value").Count > 0) + { + TelNo = xmlDoc.DocumentElement.GetElementsByTagName("telno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // FaxNo + if (xmlDoc.DocumentElement.GetElementsByTagName("faxno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Count > 0) + { + FaxNo = xmlDoc.DocumentElement.GetElementsByTagName("faxno").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Title + if (xmlDoc.DocumentElement.GetElementsByTagName("title").Count > 0) + { + if (xmlDoc.GetElementsByTagName("title").Item(0).SelectNodes("value").Count > 0) + { + Title = xmlDoc.DocumentElement.GetElementsByTagName("title").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Address + if (xmlDoc.DocumentElement.GetElementsByTagName("address").Count > 0) + { + if (xmlDoc.GetElementsByTagName("address").Item(0).SelectNodes("value").Count > 0) + { + Address = xmlDoc.DocumentElement.GetElementsByTagName("address").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // EMail + if (xmlDoc.DocumentElement.GetElementsByTagName("email").Count > 0) + { + if (xmlDoc.GetElementsByTagName("email").Item(0).SelectNodes("value").Count > 0) + { + EMail = xmlDoc.DocumentElement.GetElementsByTagName("email").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + // Description + if (xmlDoc.DocumentElement.GetElementsByTagName("description").Count > 0) + { + if (xmlDoc.GetElementsByTagName("description").Item(0).SelectNodes("value").Count > 0) + { + Description = xmlDoc.DocumentElement.GetElementsByTagName("description").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + // AdditionalXml + GetXMLTagValue(ref AdditionalXml, xmlDoc, "additionalxml"); + + // DataStamp + GetXMLTagValue(ref DataStamp, xmlDoc, "datastamp", true); + + // If IssueState = 0 Then 'Unfrozen時才可修改 + // 有修改欄位值時 + if ((TelNo ?? "") != defString | (FaxNo ?? "") != defString | (Title ?? "") != defString | (Address ?? "") != defString | (EMail ?? "") != defString | (Description ?? "") != defString) + { + // 呼叫Dll執行修改 + objENT.EditSubcontractorCont(SubcontractorNo, ContactorName, TelNo, FaxNo, Title, Address, EMail, Description, AdditionalXml, DataStamp: DataStamp, Reviser: GetXMLCurUserNo(xmlDoc), ReviseDate: ArriveTime); + } + // End If + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "EditSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Edit SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + // 將各部份之XML字串組起來並傳出 + EditSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return EditSubcontractorContRet; + + } + + [WebMethod(Description = "Delete Subcontractor Contactor By Specified SubcontractorNo and ContactorName")] + public string DelSubcontractorCont(string InXml) + { + string DelSubcontractorContRet = default(string); + + var SubcontractorNo = default(string); + string ContactorName = defString; // 沒有傳入表示要刪除指定Subcontractor的所有Contactor + + ArriveTime = DateTime.Now; + + try + { + // 讀取InXml字串 + xmlDoc.LoadXml(InXml); + // 組Identity字串 + strIdentity = CombineXMLIdentity(Environment.MachineName, GetXMLCurUserNo(xmlDoc), Conversions.ToString(ArriveTime)); + + // 開始解譯InXml字串 + // SubcontractorNo一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Count > 0) + { + if (xmlDoc.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Count > 0) + { + SubcontractorNo = xmlDoc.DocumentElement.GetElementsByTagName("subcontractorno").Item(0).SelectNodes("value").Item(0).InnerText; + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + } + else + { + throw new iMESException.MESException("0000-200002", "SubcontractorNo Not Found!"); + } + // ContactorName一定要傳入 + if (xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Count > 0) + { + if (xmlDoc.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Count > 0) + { + ContactorName = xmlDoc.DocumentElement.GetElementsByTagName("contactorname").Item(0).SelectNodes("value").Item(0).InnerText; + } + } + + objENT.DelSubcontractorCont(SubcontractorNo, ContactorName); + + strException = ""; + strResult = "success"; + + objSYS.AddEventLog("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, "DelSubcontractorContactor ContactorName:" + ContactorName); + } + + catch (iMESException.MESException ex) + { + strException = CombineXMLException(Conversions.ToString(ex.ErrorCode), TranslateMsg(ex.Message, GetXMLLanguageMode(xmlDoc), strResourceDir), "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: Conversions.ToString(ex.ErrorCode)); + } + + catch (Exception ex) + { + strException = CombineXMLException(defWSErrCode, ex.Message, "Del SubcontractorContactor Data failed, ContactorName:" + ContactorName, ex.StackTrace); + + strResult = "fail"; + + objSYS.AddErrorLog_ErrorCode("wsENT", GetXMLCurUserNo(xmlDoc), "SubcontractorNo", SubcontractorNo, DateTime.Now, strException, ComputerName: GetXMLCurComputer(xmlDoc), ErrorCode: defWSErrCode); + } + + finally + { + DelSubcontractorContRet = CombineXMLResponse(strIdentity, "", strException, strResult, ""); + + } + + return DelSubcontractorContRet; + + } + + + #endregion + } +}

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 z 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 literal 0 HcmV?d00001 diff --git a/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD02_2003.xls b/SRC/MESWin/SYS4/21670ll/MESWin/Resources/SPCExport_STD02_2003.xls new file mode 100644 index 0000000000000000000000000000000000000000..02056c17405df6ddc89d7632918c1a3b192fa75d GIT binary patch literal 206848 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