1Function EnterConfigPage2
2  IntOp $R0 $NewComponents & ${ComponentsRequiringUserConfig}
3
4  ${If} $R0 = 0
5    Abort
6  ${EndIf}
7
8  FileOpen $R5 "$PLUGINSDIR\ConfigPage2.ini" w
9
10  StrCpy $R6 1  ; Field Number
11  StrCpy $R7 0  ; Top
12
13  IntOp $R0 $NewComponents & ${ComponentDirector}
14  ${If} $R0 <> 0
15    ${If} $AutomaticInstall = 1
16      IntOp $R8 $R7 + 54
17    ${Else}
18      IntOp $R8 $R7 + 92
19    ${EndIf}
20    FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
21  ${Else}
22    IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
23    ${If} $R0 <> 0
24      IntOp $R8 $R7 + 54
25    ${Else}
26      IntOp $R8 $R7 + 26
27    ${EndIf}
28    FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Enter data for Director allowed to access this Client"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
29  ${EndIf}
30
31  IntOp $R6 $R6 + 1
32  IntOp $R7 $R7 + 12
33
34  IntOp $R0 $NewComponents & ${ComponentDirector}
35  ${If} $R0 <> 0
36    ${If} "$ConfigDirectorName" == ""
37      StrCpy $ConfigDirectorName "$HostName-dir"
38    ${EndIf}
39    ${If} "$ConfigDirectorPassword" == ""
40      StrCpy $ConfigDirectorPassword "$LocalDirectorPassword"
41    ${EndIf}
42  ${Else}
43    ${If} "$ConfigDirectorName" == "$HostName-dir"
44      StrCpy $ConfigDirectorName ""
45    ${EndIf}
46    ${If} "$ConfigDirectorPassword" == "$LocalDirectorPassword"
47      StrCpy $ConfigDirectorPassword ""
48    ${EndIf}
49  ${EndIf}
50
51  IntOp $R0 $NewComponents & ${ComponentDirector}
52  ${If} $R0 = 0
53  ${OrIf} $AutomaticInstall = 0
54    IntOp $R8 $R7 + 8
55    FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n'
56    IntOp $R6 $R6 + 1
57    IntOp $R7 $R7 - 2
58
59    IntOp $R8 $R8 + 2
60    FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n'
61    IntOp $R6 $R6 + 1
62
63    ${If} $AutomaticInstall = 0
64      IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
65      ${If} $R0 <> 0
66        IntOp $R7 $R7 + 2
67        IntOp $R8 $R8 - 2
68        FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n'
69        IntOp $R6 $R6 + 1
70        IntOp $R7 $R7 - 2
71
72        IntOp $R8 $R8 + 2
73        FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n'
74        IntOp $R6 $R6 + 1
75      ${EndIf}
76
77      IntOp $R0 $NewComponents & ${ComponentDirector}
78      ${If} $R0 <> 0
79        IntOp $R7 $R7 + 2
80        IntOp $R8 $R8 - 2
81        FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n'
82        IntOp $R6 $R6 + 1
83        IntOp $R7 $R7 - 2
84
85        IntOp $R8 $R8 + 2
86        FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
87        IntOp $R6 $R6 + 1
88      ${EndIf}
89    ${EndIf}
90
91    IntOp $R7 $R7 + 14
92  ${EndIf}
93
94  IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
95  ${If} $R0 <> 0
96  ${OrIf} $AutomaticInstall = 0
97    IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
98    ${If} $R0 <> 0
99      IntOp $R7 $R7 + 2
100      IntOp $R8 $R7 + 8
101
102      FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'
103
104      IntOp $R6 $R6 + 1
105      IntOp $R7 $R7 - 2
106      IntOp $R8 $R8 + 2
107
108      FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
109
110      IntOp $R6 $R6 + 1
111      IntOp $R7 $R7 + 14
112    ${EndIf}
113  ${EndIf}
114
115  IntOp $R0 $NewComponents & ${ComponentDirector}
116  ${If} $R0 <> 0
117    IntOp $R7 $R7 + 2
118    IntOp $R8 $R7 + 8
119
120    FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Server"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n'
121
122    IntOp $R6 $R6 + 1
123    IntOp $R7 $R7 - 2
124    IntOp $R8 $R8 + 2
125
126    FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailServer$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
127    IntOp $R6 $R6 + 1
128    IntOp $R7 $R7 + 16
129    IntOp $R8 $R7 + 8
130
131    FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n'
132
133    IntOp $R6 $R6 + 1
134    IntOp $R7 $R7 - 2
135    IntOp $R8 $R8 + 2
136
137    FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
138    IntOp $R6 $R6 + 1
139    IntOp $R7 $R7 + 16
140    IntOp $R8 $R7 + 8
141
142    FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Database"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'
143
144    IntOp $R6 $R6 + 1
145    IntOp $R7 $R7 - 2
146    IntOp $R8 $R8 + 2
147
148    ${If} $ConfigDirectorDB = 0
149      ${If} $MySQLPath != ""
150        StrCpy $ConfigDirectorDB 1
151      ${ElseIf} $PostgreSQLPath != ""
152        StrCpy $ConfigDirectorDB 2
153      ${Else}
154        StrCpy $ConfigDirectorDB 3
155      ${EndIf}
156    ${EndIf}
157
158    ${If} $ConfigDirectorDB = 1
159      StrCpy $R9 1
160    ${Else}
161      StrCpy $R9 0
162    ${EndIf}
163
164    FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="MySQL"$\r$\nFlags="GROUP"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=90$\r$\nBottom=$R8$\r$\n$\r$\n'
165
166    IntOp $R6 $R6 + 1
167
168    ${If} $ConfigDirectorDB = 2
169      StrCpy $R9 1
170    ${Else}
171      StrCpy $R9 0
172    ${EndIf}
173
174    FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="PostgreSQL"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=94$\r$\nTop=$R7$\r$\nRight=146$\r$\nBottom=$R8$\r$\n$\r$\n'
175
176    IntOp $R6 $R6 + 1
177
178    ${If} $ConfigDirectorDB = 3
179      StrCpy $R9 1
180    ${Else}
181      StrCpy $R9 0
182    ${EndIf}
183
184    FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="Sqlite"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=150$\r$\nTop=$R7$\r$\nRight=182$\r$\nBottom=$R8$\r$\n$\r$\n'
185
186    IntOp $R6 $R6 + 1
187    IntOp $R7 $R7 + 12
188
189    ${If} $AutomaticInstall = 0
190      IntOp $R8 $R7 + 10
191      FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n'
192      IntOp $R6 $R6 + 1
193
194      FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n'
195
196      IntOp $R6 $R6 + 1
197      IntOp $R7 $R7 + 12
198    ${EndIf}
199  ${Else}
200    IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
201    ${If} $R0 <> 0
202      IntOp $R7 $R7 + 2
203      IntOp $R8 $R7 + 8
204
205      FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n'
206
207      IntOp $R6 $R6 + 1
208      IntOp $R7 $R7 - 2
209      IntOp $R8 $R8 + 2
210
211      FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
212      IntOp $R6 $R6 + 1
213      IntOp $R7 $R7 + 14
214      IntOp $R8 $R7 + 8
215    ${EndIf}
216  ${EndIf}
217
218  IntOp $R7 $R7 + 4
219
220  ${If} $AutomaticInstall = 0
221    IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
222    ${If} $R0 <> 0
223      IntOp $R8 $R7 + 42
224
225      FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Monitor"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
226      IntOp $R6 $R6 + 1
227      IntOp $R7 $R7 + 12
228
229      IntOp $R8 $R7 + 8
230      FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n'
231      IntOp $R6 $R6 + 1
232      IntOp $R7 $R7 - 2
233
234      IntOp $R8 $R8 + 2
235      FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=150$\r$\nBottom=$R8$\r$\n$\r$\n'
236      IntOp $R6 $R6 + 1
237      IntOp $R7 $R7 + 16
238      IntOp $R8 $R7 + 8
239
240      FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'
241
242      IntOp $R6 $R6 + 1
243      IntOp $R7 $R7 - 2
244      IntOp $R8 $R8 + 2
245
246      FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
247
248      IntOp $R6 $R6 + 1
249      IntOp $R7 $R7 + 20
250    ${EndIf}
251  ${EndIf}
252
253  IntOp $R6 $R6 - 1
254  FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n"
255
256  FileClose $R5
257
258  IntOp $R0 $NewComponents & ${ComponentsFileAndStorage}
259  ${If} $R0 = 0
260  ${OrIf} $AutomaticInstall = 1
261    !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)"
262  ${Else}
263    !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage2)" "$(SUBTITLE_ConfigPage2)"
264  ${EndIf}
265
266  !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage2.ini"
267  Pop $HDLG ;HWND of dialog
268
269  ; Initialize Controls
270  StrCpy $R6 2  ; Field Number
271
272  IntOp $R0 $NewComponents & ${ComponentDirector}
273  ${If} $R0 = 0
274  ${OrIf} $AutomaticInstall = 0
275    ; Name
276    IntOp $R6 $R6 + 1
277    !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
278    IntOp $R6 $R6 + 1
279
280    ${If} $AutomaticInstall = 0
281      IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
282      ${If} $R0 <> 0
283        IntOp $R6 $R6 + 1
284        ; Port Number
285        !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
286        SendMessage $HCTL ${EM_LIMITTEXT} 5 0
287        IntOp $R6 $R6 + 1
288      ${EndIf}
289
290      IntOp $R0 $NewComponents & ${ComponentDirector}
291      ${If} $R0 <> 0
292        IntOp $R6 $R6 + 1
293        ; Max Jobs
294        !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
295        SendMessage $HCTL ${EM_LIMITTEXT} 3 0
296
297        IntOp $R6 $R6 + 1
298      ${EndIf}
299    ${EndIf}
300  ${EndIf}
301
302  IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
303  ${If} $R0 <> 0
304  ${OrIf} $AutomaticInstall = 0
305    IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
306    ${If} $R0 <> 0
307      IntOp $R6 $R6 + 2
308    ${EndIf}
309  ${EndIf}
310
311  IntOp $R0 $NewComponents & ${ComponentDirector}
312  ${If} $R0 <> 0
313    IntOp $R6 $R6 + 9
314
315    ${If} $AutomaticInstall = 0
316      IntOp $R6 $R6 + 2
317    ${EndIf}
318  ${Else}
319    IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
320    ${If} $R0 <> 0
321      IntOp $R6 $R6 + 2
322    ${EndIf}
323  ${EndIf}
324
325  ${If} $AutomaticInstall = 0
326    IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
327    ${If} $R0 <> 0
328      IntOp $R6 $R6 + 2
329      !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
330      IntOp $R6 $R6 + 2
331    ${EndIf}
332  ${EndIf}
333
334  !insertmacro MUI_INSTALLOPTIONS_SHOW
335
336  ; Process results
337
338  StrCpy $R6 2
339
340  IntOp $R0 $NewComponents & ${ComponentDirector}
341  ${If} $R0 = 0
342  ${OrIf} $AutomaticInstall = 0
343    IntOp $R6 $R6 + 1
344    !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorName "ConfigPage2.ini" "Field $R6" "State"
345    IntOp $R6 $R6 + 1
346
347    ${If} $AutomaticInstall = 0
348      IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
349      ${If} $R0 <> 0
350        IntOp $R6 $R6 + 1
351        !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPort "ConfigPage2.ini" "Field $R6" "State"
352        IntOp $R6 $R6 + 1
353      ${EndIf}
354
355      IntOp $R0 $NewComponents & ${ComponentDirector}
356      ${If} $R0 <> 0
357        IntOp $R6 $R6 + 1
358        !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMaxJobs "ConfigPage2.ini" "Field $R6" "State"
359        IntOp $R6 $R6 + 1
360      ${EndIf}
361    ${EndIf}
362  ${EndIf}
363
364  IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
365  ${If} $R0 <> 0
366  ${OrIf} $AutomaticInstall = 0
367    IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
368    ${If} $R0 <> 0
369      IntOp $R6 $R6 + 1
370      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPassword "ConfigPage2.ini" "Field $R6" "State"
371      IntOp $R6 $R6 + 1
372    ${EndIf}
373  ${EndIf}
374
375  IntOp $R0 $NewComponents & ${ComponentDirector}
376  ${If} $R0 <> 0
377    IntOp $R6 $R6 + 1
378    !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailServer "ConfigPage2.ini" "Field $R6" "State"
379    IntOp $R6 $R6 + 2
380    !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailAddress "ConfigPage2.ini" "Field $R6" "State"
381    IntOp $R6 $R6 + 2
382    !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
383    ${If} $R5 = 1
384      StrCpy $ConfigDirectorDB 1
385    ${Endif}
386    IntOp $R6 $R6 + 1
387    !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
388    ${If} $R5 = 1
389      StrCpy $ConfigDirectorDB 2
390    ${Endif}
391    IntOp $R6 $R6 + 1
392    !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
393    ${If} $R5 = 1
394      StrCpy $ConfigDirectorDB 3
395    ${Endif}
396    IntOp $R6 $R6 + 1
397
398    ${If} $AutomaticInstall = 0
399      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorInstallService "ConfigPage2.ini" "Field $R6" "State"
400      IntOp $R6 $R6 + 1
401      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorStartService "ConfigPage2.ini" "Field $R6" "State"
402      IntOp $R6 $R6 + 1
403    ${EndIf}
404  ${Else}
405    IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
406    ${If} $R0 <> 0
407      IntOp $R6 $R6 + 1
408      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorAddress "ConfigPage2.ini" "Field $R6" "State"
409      IntOp $R6 $R6 + 1
410    ${EndIf}
411  ${EndIf}
412
413  ${If} $AutomaticInstall = 0
414    IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
415    ${If} $R0 <> 0
416      IntOp $R6 $R6 + 2
417      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorName "ConfigPage2.ini" "Field $R6" "State"
418      IntOp $R6 $R6 + 2
419      !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorPassword "ConfigPage2.ini" "Field $R6" "State"
420    ${EndIf}
421  ${EndIf}
422FunctionEnd
423
424Function LeaveConfigPage2
425  ${If} $AutomaticInstall = 0
426    StrCpy $R6 4
427
428    IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
429    ${If} $R0 <> 0
430      IntOp $R6 $R6 + 1
431      !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State"
432      ${If} $R0 < 1024
433      ${OrIf} $R0 > 65535
434        MessageBox MB_OK "Port must be between 1024 and 65535 inclusive."
435        Abort
436      ${EndIf}
437      IntOp $R6 $R6 + 1
438    ${EndIf}
439
440    IntOp $R0 $NewComponents & ${ComponentDirector}
441    ${If} $R0 <> 0
442      IntOp $R6 $R6 + 1
443      !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State"
444      ${If} $R0 < 1
445      ${OrIf} $R0 > 99
446        MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive."
447        Abort
448      ${EndIf}
449      IntOp $R6 $R6 + 1
450    ${EndIf}
451  ${EndIf}
452FunctionEnd
453