xref: /AOO42X/main/xmlsecurity/source/dialogs/certificateviewer.src (revision 4093da6add88b990e4cd71be2d17a0821ed8a76d)
13cbdc576SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
33cbdc576SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
43cbdc576SAndrew Rist * or more contributor license agreements.  See the NOTICE file
53cbdc576SAndrew Rist * distributed with this work for additional information
63cbdc576SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
73cbdc576SAndrew Rist * to you under the Apache License, Version 2.0 (the
83cbdc576SAndrew Rist * "License"); you may not use this file except in compliance
93cbdc576SAndrew Rist * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir *
113cbdc576SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
133cbdc576SAndrew Rist * Unless required by applicable law or agreed to in writing,
143cbdc576SAndrew Rist * software distributed under the License is distributed on an
153cbdc576SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
163cbdc576SAndrew Rist * KIND, either express or implied.  See the License for the
173cbdc576SAndrew Rist * specific language governing permissions and limitations
183cbdc576SAndrew Rist * under the License.
19cdf0e10cSrcweir *
203cbdc576SAndrew Rist *************************************************************/
213cbdc576SAndrew Rist
22cdf0e10cSrcweir#include "dialogs.hrc"
23cdf0e10cSrcweir#include "helpids.hrc"
24cdf0e10cSrcweir
25cdf0e10cSrcweirTabDialog RID_XMLSECDLG_CERTVIEWER
26cdf0e10cSrcweir{
27cdf0e10cSrcweir    HelpID = HID_XMLSEC_DLG_CERTVIEWER ;
28cdf0e10cSrcweir    Size = MAP_APPFONT ( TD_WIDTH, TD_HEIGHT ) ;
29cdf0e10cSrcweir    OutputSize = TRUE ;
30cdf0e10cSrcweir    Closeable = TRUE ;
31cdf0e10cSrcweir    Moveable = TRUE ;
32cdf0e10cSrcweir    SVLook = TRUE ;
33cdf0e10cSrcweir
34cdf0e10cSrcweir    Text [ en-US ] = "View Certificate" ;
35cdf0e10cSrcweir    TabControl 1
36cdf0e10cSrcweir    {
37cdf0e10cSrcweir        Pos = MAP_APPFONT ( TD_SP_INNERBORDER_LEFT, TD_SP_INNERBORDER_TOP ) ;
38cdf0e10cSrcweir        Size = MAP_APPFONT ( TP_WIDTH, TP_HEIGHT+RIDDER_HEIGHT ) ;
39cdf0e10cSrcweir        SVLook = TRUE ;
40cdf0e10cSrcweir        PageList =
41cdf0e10cSrcweir        {
42cdf0e10cSrcweir            PageItem
43cdf0e10cSrcweir            {
44cdf0e10cSrcweir                Identifier = RID_XMLSECTP_GENERAL ;
45cdf0e10cSrcweir                Text [ en-US ] = "General" ;
46cdf0e10cSrcweir            };
47cdf0e10cSrcweir            PageItem
48cdf0e10cSrcweir            {
49cdf0e10cSrcweir                Identifier = RID_XMLSECTP_DETAILS ;
50cdf0e10cSrcweir                Text [ en-US ] = "Details" ;
51cdf0e10cSrcweir            };
52cdf0e10cSrcweir            PageItem
53cdf0e10cSrcweir            {
54cdf0e10cSrcweir                Identifier = RID_XMLSECTP_CERTPATH ;
55cdf0e10cSrcweir                Text [ en-US ] = "Certification Path" ;
56cdf0e10cSrcweir            };
57cdf0e10cSrcweir        };
58cdf0e10cSrcweir    };
59cdf0e10cSrcweir    OKButton BTN_OK
60cdf0e10cSrcweir    {
61cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_A, CV_ROW_A ) ;
62cdf0e10cSrcweir        Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
63cdf0e10cSrcweir        DefButton = TRUE ;
64cdf0e10cSrcweir    };
65cdf0e10cSrcweir    HelpButton BTN_HELP
66cdf0e10cSrcweir    {
67cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_C, CV_ROW_A ) ;
68cdf0e10cSrcweir        Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
69cdf0e10cSrcweir    };
70cdf0e10cSrcweir};
71cdf0e10cSrcweir
72cdf0e10cSrcweirTabPage RID_XMLSECTP_GENERAL
73cdf0e10cSrcweir{
74cdf0e10cSrcweir    HelpId = HID_XMLSEC_TP_GENERAL ;
75cdf0e10cSrcweir    Size = MAP_APPFONT ( TP_WIDTH, TP_HEIGHT ) ;
76cdf0e10cSrcweir    OutputSize = TRUE ;
77cdf0e10cSrcweir    Hide = TRUE ;
78cdf0e10cSrcweir    SVLook = TRUE ;
79cdf0e10cSrcweir    Window WIN_FRAME
80cdf0e10cSrcweir    {
81cdf0e10cSrcweir        SVLook = TRUE ;
82cdf0e10cSrcweir        Border = TRUE ;
83cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CV_ROW_0 ) ;
84cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, CV_CONT_HEIGHT ) ;
85cdf0e10cSrcweir    };
86cdf0e10cSrcweir    FixedImage IMG_CERT
87cdf0e10cSrcweir    {
88cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_0, CW_ROW_0 ) ;
89cdf0e10cSrcweir        Size = MAP_APPFONT ( IMG1_WIDTH, IMG1_HEIGHT ) ;
90cdf0e10cSrcweir        Fixed = Image
91cdf0e10cSrcweir        {
92cdf0e10cSrcweir            ImageBitmap = Bitmap { File = "certificate_40x56.png"; } ;
93cdf0e10cSrcweir        };
94cdf0e10cSrcweir    };
95cdf0e10cSrcweir    FixedText FI_CERTINFO
96cdf0e10cSrcweir    {
97cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_3, CW_ROW_1 ) ;
98cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_3, RSC_CD_FIXEDTEXT_HEIGHT ) ;
99cdf0e10cSrcweir        Text [ en-US ] = " Certificate Information" ;
100cdf0e10cSrcweir    };
101cdf0e10cSrcweir    FixedLine FL_SEP1
102cdf0e10cSrcweir    {
103cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_0, CW_ROW_3 ) ;
104cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_0, RSC_CD_FIXEDLINE_HEIGHT ) ;
105cdf0e10cSrcweir    };
106cdf0e10cSrcweir    FixedText FI_HINTNOTTRUST
107cdf0e10cSrcweir    {
108cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_1, CW_ROW_4 ) ;
109cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5a-CW_COL_1, CW_ROW_4a-CW_ROW_4 ) ;
110cdf0e10cSrcweir        WordBreak = TRUE ;
111cdf0e10cSrcweir        Text [ en-US ] = "This certificate is intended for the following purpose(s):" ;
112cdf0e10cSrcweir    };
113cdf0e10cSrcweir    FixedLine FL_SEP2
114cdf0e10cSrcweir    {
115cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_0, CW_ROW_5 ) ;
116cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_0, RSC_CD_FIXEDLINE_HEIGHT ) ;
117cdf0e10cSrcweir    };
118cdf0e10cSrcweir    FixedText FI_ISSTOLABEL
119cdf0e10cSrcweir    {
120cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_1, CW_ROW_6 ) ;
121cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_4-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT ) ;
122cdf0e10cSrcweir        Text [ en-US ] = "Issued to:" ;
123cdf0e10cSrcweir    };
124cdf0e10cSrcweir    FixedText FI_ISSTO
125cdf0e10cSrcweir    {
126cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_4, CW_ROW_6 ) ;
127cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_4, RSC_CD_FIXEDTEXT_HEIGHT ) ;
128cdf0e10cSrcweir    };
129cdf0e10cSrcweir    FixedText FI_ISSBYLABEL
130cdf0e10cSrcweir    {
131cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_1, CW_ROW_7 ) ;
132cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_4-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT ) ;
133cdf0e10cSrcweir        Text [ en-US ] = "Issued by:" ;
134cdf0e10cSrcweir    };
135cdf0e10cSrcweir    FixedText FI_ISSBY
136cdf0e10cSrcweir    {
137cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_4, CW_ROW_7 ) ;
138cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_4, RSC_CD_FIXEDTEXT_HEIGHT ) ;
139cdf0e10cSrcweir    };
140cdf0e10cSrcweir    FixedText FI_VALIDDATE
141cdf0e10cSrcweir    {
142cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_1, CW_ROW_8 ) ;
143cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT ) ;
144cdf0e10cSrcweir        Text [ en-US ] = "Valid from %SDATE% to %EDATE%" ;
145cdf0e10cSrcweir    };
146cdf0e10cSrcweir    FixedImage IMG_KEY
147cdf0e10cSrcweir    {
148cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_0, CW_ROW_9 ) ;
149cdf0e10cSrcweir        Size = MAP_APPFONT ( IMG2_WIDTH, IMG2_HEIGHT ) ;
150cdf0e10cSrcweir        Fixed = Image
151cdf0e10cSrcweir        {
152cdf0e10cSrcweir            ImageBitmap = Bitmap { File = "key_12.png"; } ;
153cdf0e10cSrcweir        };
154cdf0e10cSrcweir    };
155cdf0e10cSrcweir    FixedText FI_CORRPRIVKEY
156cdf0e10cSrcweir    {
157cdf0e10cSrcweir        Pos = MAP_APPFONT ( CW_COL_1a, CW_ROW_10 ) ;
158cdf0e10cSrcweir        Size = MAP_APPFONT ( CW_COL_5-CW_COL_1a, RSC_CD_FIXEDTEXT_HEIGHT ) ;
159cdf0e10cSrcweir        Text [ en-US ] = "You have a private key that corresponds to this certificate." ;
160cdf0e10cSrcweir    };
161cdf0e10cSrcweir    String STR_CERTIFICATE_NOT_VALIDATED
162cdf0e10cSrcweir    {
163cdf0e10cSrcweir        Text [ en-US ] = "The certificate could not be validated." ;
164cdf0e10cSrcweir    };
165cdf0e10cSrcweir    Image IMG_STATE_NOT_VALIDATED
166cdf0e10cSrcweir    {
167cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "notcertificate_40x56.png"; } ;
168cdf0e10cSrcweir    };
169cdf0e10cSrcweir    Image IMG_STATE_CERIFICATED_HC
170cdf0e10cSrcweir    {
171cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "certificate_40x56_h.png"; } ;
172cdf0e10cSrcweir    };
173cdf0e10cSrcweir    Image IMG_STATE_NOT_VALIDATED_HC
174cdf0e10cSrcweir    {
175cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "notcertificate_40x56_h.png"; } ;
176cdf0e10cSrcweir    };
177cdf0e10cSrcweir    Image IMG_KEY_HC
178cdf0e10cSrcweir    {
179cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "key_12_h.png"; } ;
180cdf0e10cSrcweir    };
181cdf0e10cSrcweir};
182cdf0e10cSrcweir
183cdf0e10cSrcweirTabPage RID_XMLSECTP_DETAILS
184cdf0e10cSrcweir{
185cdf0e10cSrcweir    HelpId = HID_XMLSEC_TP_DETAILS ;
186cdf0e10cSrcweir    Size = MAP_APPFONT ( TP_WIDTH, TP_HEIGHT ) ;
187cdf0e10cSrcweir    OutputSize = TRUE ;
188cdf0e10cSrcweir    Hide = TRUE ;
189cdf0e10cSrcweir    SVLook = TRUE ;
190cdf0e10cSrcweir    Control LB_ELEMENTS
191cdf0e10cSrcweir    {
192cdf0e10cSrcweir        HelpId = HID_XMLSEC_CTRL_ELEMENTS ;
193cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CV_ROW_0 ) ;
194cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, CV_ROW_1-CV_ROW_0 ) ;
195cdf0e10cSrcweir        SVLook = TRUE ;
196cdf0e10cSrcweir        Border = TRUE ;
197cdf0e10cSrcweir    };
198cdf0e10cSrcweir    String STR_HEADERBAR
199cdf0e10cSrcweir    {
200cdf0e10cSrcweir        Text [ en-US ] = "Field\tValue" ;
201cdf0e10cSrcweir    };
202cdf0e10cSrcweir    MultiLineEdit ML_ELEMENT
203cdf0e10cSrcweir    {
204cdf0e10cSrcweir        HelpID = "xmlsecurity:MultiLineEdit:RID_XMLSECTP_DETAILS:ML_ELEMENT" ;
205cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CV_ROW_2 ) ;
206cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, CV_ROW_3-CV_ROW_2 ) ;
207cdf0e10cSrcweir        ReadOnly = TRUE ;
208cdf0e10cSrcweir        Border = TRUE ;
209cdf0e10cSrcweir        VSCROLL = TRUE ;
210cdf0e10cSrcweir    };
211cdf0e10cSrcweir    String STR_VERSION
212cdf0e10cSrcweir    {
213cdf0e10cSrcweir        Text [ en-US ] = "Version" ;
214cdf0e10cSrcweir    };
215cdf0e10cSrcweir    String STR_SERIALNUM
216cdf0e10cSrcweir    {
217cdf0e10cSrcweir        Text [ en-US ] = "Serial Number" ;
218cdf0e10cSrcweir    };
219cdf0e10cSrcweir    String STR_SIGALGORITHM
220cdf0e10cSrcweir    {
221cdf0e10cSrcweir        Text [ en-US ] = "Signature Algorithm" ;
222cdf0e10cSrcweir    };
223cdf0e10cSrcweir    String STR_ISSUER
224cdf0e10cSrcweir    {
225cdf0e10cSrcweir        Text [ en-US ] = "Issuer" ;
226cdf0e10cSrcweir    };
227cdf0e10cSrcweir    String STR_ISSUER_ID
228cdf0e10cSrcweir    {
229cdf0e10cSrcweir        Text [ en-US ] = "Issuer Unique ID" ;
230cdf0e10cSrcweir    };
231cdf0e10cSrcweir    String STR_VALIDFROM
232cdf0e10cSrcweir    {
233cdf0e10cSrcweir        Text [ en-US ] = "Valid From" ;
234cdf0e10cSrcweir    };
235cdf0e10cSrcweir    String STR_VALIDTO
236cdf0e10cSrcweir    {
237cdf0e10cSrcweir        Text [ en-US ] = "Valid to" ;
238cdf0e10cSrcweir    };
239cdf0e10cSrcweir    String STR_SUBJECT
240cdf0e10cSrcweir    {
241cdf0e10cSrcweir        Text [ en-US ] = "Subject" ;
242cdf0e10cSrcweir    };
243cdf0e10cSrcweir    String STR_SUBJECT_ID
244cdf0e10cSrcweir    {
245cdf0e10cSrcweir        Text [ en-US ] = "Subject Unique ID" ;
246cdf0e10cSrcweir    };
247cdf0e10cSrcweir    String STR_SUBJECT_PUBKEY_ALGO
248cdf0e10cSrcweir    {
249cdf0e10cSrcweir        Text [ en-US ] = "Subject Algorithm" ;
250cdf0e10cSrcweir    };
251cdf0e10cSrcweir    String STR_SUBJECT_PUBKEY_VAL
252cdf0e10cSrcweir    {
253cdf0e10cSrcweir        Text [ en-US ] = "Public Key" ;
254cdf0e10cSrcweir    };
255cdf0e10cSrcweir    String STR_SIGNATURE_ALGO
256cdf0e10cSrcweir    {
257cdf0e10cSrcweir        Text [ en-US ] = "Signature Algorithm" ;
258cdf0e10cSrcweir    };
259cdf0e10cSrcweir    String STR_THUMBPRINT_SHA1
260cdf0e10cSrcweir    {
261cdf0e10cSrcweir        Text [ en-US ] = "Thumbprint SHA1" ;
262cdf0e10cSrcweir    };
263cdf0e10cSrcweir    String STR_THUMBPRINT_MD5
264cdf0e10cSrcweir    {
265cdf0e10cSrcweir        Text [ en-US ] = "Thumbprint MD5" ;
266cdf0e10cSrcweir    };
267cdf0e10cSrcweir};
268cdf0e10cSrcweir
269cdf0e10cSrcweirTabPage RID_XMLSECTP_CERTPATH
270cdf0e10cSrcweir{
271cdf0e10cSrcweir    HelpId = HID_XMLSEC_TP_CERTPATH ;
272cdf0e10cSrcweir    Size = MAP_APPFONT ( TP_WIDTH, TP_HEIGHT ) ;
273cdf0e10cSrcweir    OutputSize = TRUE ;
274cdf0e10cSrcweir    Hide = TRUE ;
275cdf0e10cSrcweir    SVLook = TRUE ;
276cdf0e10cSrcweir    FixedText FT_CERTPATH
277cdf0e10cSrcweir    {
278cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CVP_ROW_0 ) ;
279cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT ) ;
280cdf0e10cSrcweir        Text [ en-US ] = "Certification path" ;
281cdf0e10cSrcweir    };
282cdf0e10cSrcweir    Control LB_SIGNATURES
283cdf0e10cSrcweir    {
284cdf0e10cSrcweir        HelpId = HID_XMLSEC_CTRL_VIEWSIGNATURES ;
285cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CVP_ROW_1 ) ;
286cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, REST_HEIGHT/3*2 ) ;
287cdf0e10cSrcweir        SVLook = TRUE ;
288cdf0e10cSrcweir        Border = TRUE ;
289cdf0e10cSrcweir    };
290cdf0e10cSrcweir    PushButton BTN_VIEWCERT
291cdf0e10cSrcweir    {
292cdf0e10cSrcweir        HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_CERTPATH:BTN_VIEWCERT" ;
293cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_1-(CV_COL_B-CV_COL_A), CVP_ROW_2 ) ;
294cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_COL_B-CV_COL_A, RSC_CD_PUSHBUTTON_HEIGHT ) ;
295cdf0e10cSrcweir        Text [ en-US ] = "View Certificate..." ;
296cdf0e10cSrcweir    };
297cdf0e10cSrcweir    FixedText FT_CERTSTATUS
298cdf0e10cSrcweir    {
299cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CVP_ROW_3 ) ;
300cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT ) ;
301cdf0e10cSrcweir        Text [ en-US ] = "Certification status" ;
302cdf0e10cSrcweir    };
303cdf0e10cSrcweir    MultiLineEdit ML_CERTSTATUS
304cdf0e10cSrcweir    {
305cdf0e10cSrcweir        HelpID = "xmlsecurity:MultiLineEdit:RID_XMLSECTP_CERTPATH:ML_CERTSTATUS" ;
306cdf0e10cSrcweir        Pos = MAP_APPFONT ( CV_COL_0, CVP_ROW_4 ) ;
307cdf0e10cSrcweir        Size = MAP_APPFONT ( CV_CONT_WIDTH, REST_HEIGHT/3 ) ;
308cdf0e10cSrcweir        ReadOnly = TRUE ;
309cdf0e10cSrcweir        Border = TRUE ;
310cdf0e10cSrcweir    };
311cdf0e10cSrcweir    Image IMG_CERT_SMALL
312cdf0e10cSrcweir    {
313cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "certificate_16.png"; } ;
314cdf0e10cSrcweir    };
315cdf0e10cSrcweir    Image IMG_CERT_SMALL_HC
316cdf0e10cSrcweir    {
317cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "certificate_16_h.png"; } ;
318cdf0e10cSrcweir    };
319cdf0e10cSrcweir    Image IMG_CERT_NOTVALIDATED_SMALL
320cdf0e10cSrcweir    {
321cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "notcertificate_16.png"; } ;
322cdf0e10cSrcweir    };
323cdf0e10cSrcweir    Image IMG_CERT_NOTVALIDATED_SMALL_HC
324cdf0e10cSrcweir    {
325cdf0e10cSrcweir        ImageBitmap = Bitmap { File = "notcertificate_16_h.png"; } ;
326cdf0e10cSrcweir    };
327cdf0e10cSrcweir    String STR_PATH_CERT_OK
328cdf0e10cSrcweir    {
329cdf0e10cSrcweir        Text [ en-US ] = "The certificate is OK." ;
330cdf0e10cSrcweir    };
331cdf0e10cSrcweir    String STR_PATH_CERT_NOT_VALIDATED
332cdf0e10cSrcweir    {
333cdf0e10cSrcweir        Text [ en-US ] = "The certificate could not be validated." ;
334cdf0e10cSrcweir    };
335cdf0e10cSrcweir};
336*3311a446SMatthias Seidel
337*3311a446SMatthias Seidel// ********************************************************************** EOF
338