GHS Version 15.50 Update
New features, changes, and bug fixes since version 15.00
=========== MAJOR NEW FEATURES =========
New Surface Rendering Features
Part Maker commands SURFACE and RENDER were added to produce a rendered
geometry image either as an interactive visualization (entering RENDER alone)
or as a JPEG.
SE and DISPLAY command Visualize [mingap] was added to produce interactive
visualization of the selected part.
New PDF Manual
Help menu added a "PDF manual" option to open the full printed manual as a PDF.
New ADDed Weight Lateral Plane Area Features
ADD /LPA parameter was added to assign a lateral plane area and optional longitudinal
and vertical centers for fixed weight contribution to heeling moment calculations.
HMMT REPORT shows any heeling moment arising from "Fixed weights" on its own
subtotal line.
STATUS LPLANE reports underwater and above-water lateral plane for each fixed
weight item that was assigned non-zero LPA, while STATUS LPLANE:BRIEF
combines any "Fixed weights" lateral plane info into a single subtotal line.
New LIMIT and Righting Arm (RA) Features
LATITUDE and LONGTUDE system variables were added to return the current
latitude and longitude reported by any GPS location sensors enabled in the
Location and Other Sensors Control Panel under Windows 7 and 8.
New Internet Download Feature
COPY "url" file was added to download a file from the specified Internet URL
(which must begin with "http[s]:" or "ftp:"). If the file cannot be retrieved,
the error "Download failed" is trapped.
New ADDed Weight REPORT Feature
ADD REPort command reports the added Fixed Weight distribution to the current
output device (or to the screen if none).
New LIMIT and Righting Arm (RA) Features
RA and MAXVCG treatment of many difficult cases (such as short near-zero
righting arm ranges) was greatly improved.
RA /LIM with GM UPRIGHT limit present and EQU not at zero heel now labels
the GM plot line with "GM Upright" label. The starting angle for this
plot line is now consistent to ensure tangency regardless of whether zero heel
is present in the angle list.
HEEL *+n and *-n now set the PRE roll heel angle used in LIMITS
to the previous value (same as HEEL *-ROLL).
HMMT TANK and HMMT hm1 @ ang1, ... hmn @ angn increased maximum number
of angles from 19 to 100.
IF comparisons now treat numbers close to -1.1E10 the same as the string
"Undefined" and the empty string "". For example, IF {LIMATT1}="" tests
whether the first limit was UNDEF.
New Maximum VCG (MAXVCG) Features
MAXVCG improved recovery from VCG steps where equilibrium could not be found,
which were sometimes leading to erratic or unnecessarily low Max VCG values.
MAXVCG reports now include a warning line if any DAMAGED tanks are present.
If none are damaged but FLOODED tanks are present, then notice lines about
initial trim and transverse C.G. refer to flooding instead of damage.
MAXVCG reports now place any non-fatal "Trim limit exceeded" error after the
table and before the plot, rather than on a new page.
SOLVE MAXVCG /FIXRATrim parameter was added to fix the trim angle during
intermediate RA computations while allowing it to vary during the overall
max VCG solving process (useful for vessels whose strong axis is not obvious).
SOLVE MAXVCG /REPORT now includes warnings about any intermediate capsizes
or other conditions that caused VCG to be reduced.
SOLVE MAXVCG under fixed trim was improved at VCGs that risked capsizing
when solving for equilibrium starting from upright.
New STATUS Features
STATUS /ADDVOlume[:unit] parameter was added to insert a tank volume column
with specified units after the tank load column. /VOLUME and /ADDVOLUME behave
the same, except the latter adds the tank volume column without deleting the tank
load column.
STATUS INERTIA now allows OWN or POINT subparameter to be combined with
ALL or TOTAL subparameter; for example, ST IN:OW:TO.
STATUS INERTIA now combines weight items beginning with "+" or "*+" into
the light ship (labeled as "LIGHT SHIP+" if any found) unless the ALL
subparameter is present.
STATUS MOMENTS now supports ALL (to show separate light ship items) and
TOTAL subparameters, which can be combined with the ORIGIN subparameter.
New FLDPT Features
FLDPT (Flood | Tight | Noflood) ON|OFF|* [/Tight] is now supported to change
only Critical Points having the indicated Flooding status.
FLDPT /Color:c optional parameter was added to set the Critical Point color
number.
New Oil Outflow and Advanced Features (AF)
OUTFLOW improved calculations, especially for hulls with curved decks.
DAMSTAB2 wizard added an option for side damage according to polar rules
(MSC.385(94)), included new wind heeling moment options, increased maximum
special flood points, provided a 0% stage for intermediate stages using the
option to flood only in progressive flooding tanks, added support for the
Experimental RoRo Reg. type of run (using the alternate formula for SFinal
as described in SDC 2/3/2), and made numerous label and tool tip improvements.
DIVISIONS tank:Ii:Uj supports i=0 and j=0 as well as positive values.
New Condition Graphics (CG) Features
DISPLAY STATUS supports coincident intact and frozen tanks by displaying both
content levels correctly in all views for tanks with matching component shapes,
sides, and vectors. Condition Graphics uses the combined density of the two
tank contents to assign the default color for the lower tank.
DISPLAY STATUS /NOCRIT[:Arrow][:Label][:Number][:Point] subparameters
were added to modify how Critical Points are shown in Condition Graphic.
DISPLAY STATUS /ORIGIN parameter was added to show inclined vessel origin axes
in Condition Graphics.
DISPLAY STATUS PROFILE @cut [:BEyond] view now shows any critical points
at or beyond the specified cut plane. DISPLAY STATUS PROFILE:BEYOND shows
all points as if beyond an infinitely near cut plan.
Condition Graphics tolerance for displaying critical and ground points on
a slice was increased, thereby permitting these points to appear
on both slightly forward and slightly aft slices.
New GHS Integration Via COM (GHSCOM) Features
GHSCOM module now supports the IF command and file management commands
like COPY and CHDIR.
New Load Editor with Windows (LEw) Features
LOAD EDIT /WEight[:unit] subparameter was added to specify a weight unit
to present when showing weights.
LOAD EDIT /WDF parameter was added to allow the selected tank to be changed
between Intact and Water-Displaced Fuel types by right-clicking the LEw "Load"
column and selecting "WDF" or "Intact" from the popup menu.
LOAD EDIT /BUTTON:template field parameter /Minwidth was added to prevent
the default expansion of each button to fit the full tool row width.
Load Editor now permits restoration of graphic views by right-clicking below
the footer line where the graphs would normally be.
New Longitudinal Strength (LS) Features
LS /NOPRINT /NOFRAME now recognize the $DD suffix, so any user variables
whose names consist of a valid frame description followed by $DD receive the
Deflection Deviation at that frame location in the current units.
New Part Maker (PM) and Geometry File Features
ENTER PM command DECKEdge l1, l2 was added to include deck edge line codes
between locations l1 and l2 on all components of displacer parts whose names
begin with HULL, removing any other line codes on these components (similar to
MC /DECKEDGE parameter). DECKEDGE OFF removes deck edge lines.
ENTER PM includes support for TEMPLATE field parameter /Persist.
ENTER PMX commands using part (list) parameter and setting default PARTS list
support the keywords $CONTAINERS for all containers and $DISPLACERS for all
displacers and $SAILS for all sails.
New Sensor Interface (SI) and Tank Gauging Features
CUSTOM (GHSERIAL) START supports multiple simultaneous communication
connections, with each connection configured by its own protocol $TYPE and
the parameter lines that follow it.
CUSTOM (GHSERIAL) START added NMEA support for serial communication
with marine electronic devices using new $TYPE "NMEA 0183".
CUSTOM (GHSERIAL) START added support for master/slave serial communication
using new Kongsberg $TYPE "NCA DL 94".
CUSTOM (GHSERIAL) START supports record ID format "readID>writeID" to
override any $WRITEPLUS and $WRITEDIV mapping when determining the write ID
transmitted by CUSTOM (GHSERIAL) WRITE.
CUSTOM (GHSERIAL) WRITE added TextFile support.
CUSTOM (GHSERIAL) START parameter $MODPLUS offset was added to use
1-based Modbus register numbers as IDs i.
New Tank Soundings (TS) Features
TS /INC:soundinc now supports fractional increments as low as one-tenth inch
for formats 3-6.
New International Language Translation Support
LANGUAGE n was added to enable translation of template dialog boxes using
the file GHSWORDSn.DAT in the library path or program directory. LANGUAGE 0
switches back to native English using the default GHSWORDS.DAT.
The user is free to create GHSWORDS1.DAT, GHSWORDS2.DAT etc. to represent
translations in any language. To create this file for LANGUAGE 1:
New PRINT and REPORT Features
PRINT /PREView supports optional /LAND and /-LAND parameters to force
all pages to preview in either landscape or normal orientation. The /-LAND
parameter can also be used with COPY /CONVERT to suppress auto-landscaping
of certain plot pages when converting print files to images.
REPORT filename /LPI:lpi parameter was added to set lines per inch for regular
text to the specified value between 6 and 9 (rounding to the nearest half line).
NOTE {%LPI(lpi)%} changes lines per inch for future text output in the current
report to the specified value between 6 and 9.
NOTE command can change text color within report lines using the special
variable form {%COLOR(n)%}, where n is a color number from 0 to 15.
SCREEN LOGO and NOTE \{%IMAGE("FILE.JPG")%} printing now supports
four-channel JPG files using CMYK, YCCK, and YCbCr color spaces.
NOTE {%IMAGE(...)%} no longer advances the current print line.
MESSAGE (REPORT) file /Unicode parameter was added to cause output to be
Unicode UTF-8 (unless appending to an existing UTF-16 file).
MESSAGE (REPORT) file /Append, WRITE (LINE), and WRITE /Append now append
correctly to existing Unicode UTF-8 and UTF-16 files.
MESSAGE (REPORT) filespec /Verbatim:Variables subparameter was added
to skip variable replacement entirely during MESSAGE report output.
MESSAGE PLOTSTART custom plots are now shown larger using tighter scales
when there is only a small difference between minimum and maximum values.
COPY /CONVERT from .QF output to .JPG or .BMP image files is now supported.
New Dialog Box (TEMPLATE) Features
TEMPLATE field /TIPBalloon:"text" was added to show a word balloon instead of
a box around the tool tip text. This balloon format is also used for /Tip text
in variable edit input fields on screens using DPI resolution set above 100%
to prevent blinking boxed tooltips caused by a Windows bug.
TEMPLATE variable edit field /Width:n parameter was added to set the field
width to fit n average-size characters, regardless of any minimum and maximum
values assigned to the variable.
TEMPLATE /ENTER:TAB[:n] parameter was added for all non-button input fields
to tab focus to the nth button or input field following (or preceding if n<0;
default=1) the given input field if it has focus when the Enter key is pressed.
TEMPLATE /SIZE:size parameter for LOAD EDIT /BUTTON templates allows negative
pixel height or positive multiplier times SMALL size just like normal templates.
New System Variables and Other VARIABLE Features
BOOM /AZ2:azimuth [/CW | /CCW] defines an alternate Crane Data angle
convention such that the specified azimuth represents the current stern-relative
BOOMAZ variable value. Alternate angles increase counterclockwise (same as
BOOMAZ) unless /CW is included.
BOOMAZ2 system variable was added to retrieve or set the boom azimuth angle
according to the alternate definition specified by the BOOM /AZ2 command.
LPA1 system variable was added to the underwater lateral plane area, matching
the value from STATUS LPLANE.
MVCGMARG system variable was added to return the margin between Effective VCG
and Maximum VCG for macros within Load Editor.
======= Miscellaneous New Features =======
ADD and WEIGHT commands trap "Too many parameters" if any extra non-slash
parameters follow the VCG coordinate.
CRTPT /TANK:name now automatically sets the reference point for SPILLING
as well as DAMAGED and DECK tank types.
Command-line editing by picking words from the screen by clicking or arrow
keys was sometimes getting confused with command history (since 9.66D only).
Error reporting of long commands now stops after showing the first 3 lines.
Error reporting precision was improved for HMMT WIND /BAND and other cases
of small fractional lower limits.
GROUP /CONT parameter now works for "unknown" and "cargo" contents.
Main program supports pasting clipboard text of any length into the command
line using Ctrl-V or right-click paste, no longer constrained by screen width.
SE command Image file|OFF was added to display a background BMP or JPG image
file in body view as a guide during calibration.
SET operator CHR n was added to return the character with ASCII value n.
WEIGHT command no longer warns about insignificant weight changes, which
sometimes precluded warnings about significant center of gravity changes.
WEIGHT command now traps errors when Light Ship centers of gravity
would have been set to out-of-range locations due to tiny Light Ship weight.
WRITE (LOads [Thrusts] [Pulls]) added optional parenthetical parameters
to include thrust and/or pull forces with the loading-related data commands
appended to a file.
======= Bug Fixes =======
ADD REPORT warns "No added weights defined" instead of trapping an ugly error
when there are no added weights to report.
BOOM /LEN:len parameter was incorrectly centering the weight around the hook
load instead of the crane base, so now traps an error requiring specification
of both end locations.
COPY file1.PF file2.JPG /CONVERT now traps "File conversion failure"
instead of silently doing nothing when a problem occurs (most often due
to excessive resolution for available resources, which can be corrected by
specifying a sensible resolution such as /DPI:75).
Crane module with multiple cranes was sometimes failing to clear the "Jib Angle"
or "Knuckle Angle" value when switching to a non-jib non-knuckle crane.
DAMSTAB was sometimes not correctly assigning tanks according to user
specification when only Ii or Uj was present (since 14.82 only).
DAMSTAB with MESSAGE TRACE ON was sometimes trapping an "expression out
of bounds" run-time error for DIVISIONS defined with the /NOCHECK parameter.
DAMSTAB2 wizard fixed issues with manually adding, changing, and deleting
divisions and related to the load effect for immersed special tight points.
DIR *.ext was working like DIR *.ext* for 3-character extensions, due to
the DOS-compatible short filename format matching longer extensions.
DISPLAY STATUS /SYNC using default tank list now refreshes any existing
synchronized Condition Graphics window if the current TANK selection changed.
DISPLAY STATUS /SYNC was not reliably reflecting CRTPT changes.
DISPLAY STATUS BODY :=ANGLES parameter was not showing multiple angle views
(since 14.86B only).
DISPLAY STATUS gap between graphics bottom and top of reports footers
no longer varies depending on footer height.
DISPLAY STATUS legends that combined Tanks with Critical Points sometimes
used too many rows while leaving excess whitespace on the right side.
DISPLAY STATUS no longer draws quite so large ground point triangles and
reference point circles for report file views with excess vertical space.
DISPLAY STATUS plan and profile view cuts were sometimes incorrectly drawing
parts having sides coplanar with the view cuts.
DISPLAY STATUS to a network-based report file was trapping "Unable to open file"
in rare cases.
DISPLAY STATUS was overwriting the final legend column instead of omitting
any excess tank names that fail to fit in the legend box (since 11.68 only).
DISPLAY STATUS was showing near-empty tanks as full in rare cases.
DISPLAY STATUS was sometimes writing past the new report page bottom
when started from a partially-written page with not enough space remaining
for the full Condition Graphics output and multiple SUBTITLE lines present.
DISPLAY STATUS was writing incorrect report headers in rare cases.
DISPLAY STATUS within GLM during GLM_Maker testing was sometimes distorted
due to using printer configuration for GHS not GLM.
DISPLAY STATUS within GLM was sometimes distorted at the bottom of pages when
configured using report footers (since 9.20A only).
DISPLAY was occasionally trapping an "invalid location" run-time error
on exit.
ENTER GS and ENTER TSX were sometimes trapping "No such item" (since 15.00
only).
ENTER PM statement ELBOW sometimes trapped "invalid index" run-time error.
ENTER TSX column headers did not have a consistent number of decimal places
(since 15.00 only).
FIXUP and auxiliary programs no longer strip off any side designation from
displacer and sail part names.
GHSCOM module no longer throws a Command error with failure result 1 after
non-fatal conditions where ERROR system variable returned a negative value
or when the ERROR mode has been set for the program to continue past errors.
GHSCOM module no longer throws a Command error within RUN files or for
unknown commands when the ERROR system variable has been set for the program
to continue past errors.
GROUND point effective "waterplane area" coefficient was increased from
0.5 to 2.0 to reflect ground points' correct contribution to waterplane area,
center, and moments of inertia, which are used to derive weight-to-immerse,
center of flotation, and inertial GM values in a grounded condition.
HEIGHT system variable was not correctly adjusting for any DEFLECTion
when the selected tank was flooded, damaged, or deck type.
LEw right-click unit changes were not always reflected correctly by the weight
unit choices offered in the "Load" column header right-click dropdown list.
LEw right-clicking "Bulk", "API", or "Free surface moment" changes were
unnecessarily failing for GROUPed tanks.
LEw right-clicking "Protect" or "Online" was unnecessarily beeping (since
14.80 only).
LIMIT was sometimes incorrectly trapping "Only one ... allowed" error when
replacing a three-angle limit with a two-angle limit (since 14.94 only).
LOAD EDIT /BUTTON images were not always correctly centered.
LOAD EDIT /LS was sometimes unnecessarily flashing "Deflection removed".
LOAD EDIT [/]BUTTON:template was not maintaining a consistent font size
in rare cases.
LS /NOSTRESS was sometimes trapping "Missing section moment of inertia at end"
unnecessarily when only section moduli but no moments of inertia were defined
(since 11.34A only).
LS /PROFILE was not reflecting any TYPE SET or UNSET sail changes when
repeated multiple times in the same report.
LS deflection computations were sometimes slightly imprecise or trapping
"No equilibrium found" with damaged or spilling tanks present (since 7.54 only).
LS results taken at MB interaction equilibrium no long risk trapping PSI errors
due to deflection produced when SMOD moments of inertia are present.
Load Editor in Weights mode was disabling loading function keys and right-click
options in the "Load%" column if the current Tanks item happened to be flooded.
Load Editor profile view in Weights mode was sometimes not fully showing
distributed weight items composed of multiple pieces having the same VCG
but differing TCG.
Main and auxiliary programs now start with appropriate window and font size
for pixel-doubled retina displays and other custom display size settings.
MAXVCG /EXTERNAL:file was aborting with "Input past end of file"
when external data was missing, but now reports "Incomplete external file"
error message.
MAXVCG /EXTERNAL:file was sometimes trapping "Bad filename or number"
with DISPLAY STATUS /SYNC active.
MAXVCG /FIXDIR and /BOTHDIR were not always working correctly with HMMT
derived from wind or turning using /CO, /C1, etc. parameters.
MAXVCG was unnecessarily trapping DELTA FAULT 1 in rare cases.
MB latched solving with fixed heel was allowing large opposite-directed forces
on multiple interaction points at the same longitudinal location in rare cases.
MESSAGE (REPORT) no longer truncates very long lines after 10,000 characters.
MESSAGE PLOTSTYLE with "P" in the 6th or later column was leading to
"expression out of bounds" run-time errors (since 14.70 only).
MESSAGE REPSTART fancy custom reports were showing {+b} and {+i} styles in
the wrong columns if preceded by blank cells.
MESSAGE command now wraps around instead of truncating after 76 characters.
Main program startup by right-clicking a run file then choosing Open With
was not always running in the correct working directory.
NOTE \...\ was not correctly centering double-size text marked with {+d}
in report files.
PRINT /PREVIEW right-click Print option was not printing all report pages
if any of them overflowed to the next page due to incorrect paper size.
PRINT file.QF was not correctly printing Conditions Graphics output generated
by the DISPLAY STATUS /SECONDARY command (since 12.36 only).
PROJECT command was not supporting master project directory specifications
longer than 80 characters.
RA /LIM no longer risks omitting heel angles around the downflooding angle
when it occurs on the side opposite to the direction of the righting arm curve;
such a FLD angle is now considered for LIMITs when it occurs after EQU0.
RA /LIM no longer risks showing positive margin when initially downflooded
for LIMIT ANG FROM EQU TO FLD OR TFLD.
RA /LIM was sometimes incorrectly evaluating LIMIT ANGLE FROM EQU TO FLD > min
as UNDEF instead of LARGE when no downflooding occurred within the angle list.
RA /LIM was sometimes incorrectly reporting the equilibrium angle as UNDEF
when the downflooding angle is very close to equilbrium.
RA /LIM was sometimes incorrectly taking the FLD limit angle at flood point
emergence instead of immersion when downflooded at equilibrium.
RA /LIM /STOP:angle now returns angle-EQU instead of LARGE limit value
for LIMIT ANGLE FROM EQU TO FLD OR angle > min in cases where RA
was stopped by reaching angle before FLD and projected downflooding is at
least 10 degrees past the minimum limit value.
RA and RA /LIM were not consistently considering TIGHT points when reporting
lowest Flood Pt Height on each table row between EQU0 and EQU with HMMT present
(since 13.60A only).
RA evaluation of LIMIT ANGLE was consistently producing correct results
when FLD appeared as the second limit angle, but not always when the second
and third angles were reversed so FLD appeared last.
RA evaluation of LIMIT ANGLE with angle FLD involving TIGHT points with
no normal FLOOD points defined was not always consistently reported when
downflooded initially at equilibrium.
RA notes for HMMT WIND /CONST and maximum heel angle exceeding 90 degrees
was incorrectly including the note "Stbd heeling mmt= 0 @ > 90 deg".
RA plots and LIMIT GM EQU[0] results were sometimes not showing GM
at true EQU in cases where righting arm was nearly zero earlier in the list
of heel angles, especially when /GM:MODU parameter was present.
RA plots were sometimes omitting the GM line in cases of a large increment
between ANGLES, but now an extra angle is inserted if necessary to show the GM.
RA was sometimes running on endlessly trying to find equilibrium in rare cases
of excessive righting arm near EQU on barges with insufficient end stations.
RA was sometimes unnecessarily skipping the next listed heel angle after
detecting a solving discontinuity. Note that the underlying cause for such
solving issues may be insufficient stations in flat deadrise areas near the
ends of the vessel geometry, so RA now warns "Discontinuity at 0.00 may be
due to too few stations near vessel ends" in cases of RA discontinuities at
upright equilibrium when the /NOWARN parameter is not present.
RA with TIGHT points and heeling moments present now always includes EQU0
in the heel angle list, the absence of which was sometimes extending the list
much further than necessary.
REPORT /BOX:COLOR fancy RA /LIMIT reports were sometimes misformatting
area limits having large attained values.
ROLL REPORT was trapping "Bad string format" using GHSCOM module.
ROLL traps "Roll requires positive draft" instead of reporting inconsistent
results when draft is negative or nearly zero.
RUN command errors with nonfatal negative ERROR system variable were forgetting
any previous active run file (since 12.32 only).
SCREEN NORM /SIZE%:h,w was sometimes resizing too small by not disregarding
the window frame border when computing percentages.
SCREEN ROWS min was causing Load Editor graph views to disappear for high min.
SCREEN ROWS min was causing the Load Editor footer to disappear for high min.
SET ITEM n "text" operation was failing for Unicode text and n greater than 1.
SET ITEM n "text" operation was failing for initial quoted Unicode text.
SET unary operations with undefined results (such as SQRT -1) were not always
producing an undefined result after being combined into a binary operation.
SMOD was not showing correct minimum values on entry errors (since 14.70C only).
STATUS LPLANE was not including a footer line showing distance units and
was interferring with subsequent output when combined with MOMENTS or INERTIA.
Sensor Interface (SI) module was sometimes trapping an undeclared variable.
TEMPLATE /Apply[:macro] was not always processing the Enter key correctly,
especially for time-consuming apply macros that pop up dialogs.
TEMPLATE dialog boxes were reappearing with tiny font size in rare cases
following SCREEN MIN restoration (since 9.52 only).
TEMPLATE dialogs were trapping run-time errors in rare cases.
TEMPLATE field /Apply:macro /Persist:Refresh parameters for changed variable
fields were preventing Tab keys from moving to non-variable fields and clicked
buttons from executing their own macros until clicked for a second time.
TEMPLATE field EXPAND no longer traps undeclared variables in REM lines
(since 14.96A only).
TEMPLATE field FILE /EXT:ext parameter was sometimes unnecessarily trapping
"Please enter a valid file type" when the user selects a filename containing
multiple periods.
TEMPLATE field PARTS was not working with PART or TANK command lists
longer than 1024 characters.
TEMPLATE name "filespec" /FILE no longer includes extra space to fit the file
specification into the nonexistent title bar when writing dialog box contents.
TS report headers were not showing the correct total number of pages for
formats 3, 4, and 6 in rare cases where the final sounding added an extra
line on the last page beyond the number of lines allowed for earlier pages;
now this extra line is allowed on all pages, not just the last one.
TYPE BUBBLE tanks were incorrectly reporting zero FSM (since 11.16 only).
VARIABLE name command no longer removes any :min:max range assigned to an
existing variable name (which was causing WRITE /NORANGE to fail).
WAIT n was hanging when crossing past midnight (since 14.40 only).
Previous Version Update Features
Copyright (C) 2016
Creative Systems, Inc.