summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2012-05-01 17:35:07 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2012-05-01 17:35:07 (GMT)
commit319eeb0247f51bb2d380261ce7d63c7ce5020ed0 (patch)
tree6885326a833ee4cca3416ed518601f47ca6c986e
parent72210c266238607e12c12ed7e983efed557fa784 (diff)
downloadCMake-319eeb0247f51bb2d380261ce7d63c7ce5020ed0.zip
CMake-319eeb0247f51bb2d380261ce7d63c7ce5020ed0.tar.gz
CMake-319eeb0247f51bb2d380261ce7d63c7ce5020ed0.tar.bz2
Add test for mumps coverage. Also refactor code to prepare for cache coverage.
Add a simple test to make sure the GTM mumps coverage is working. Also refactor the code so that cache coverage can be added.
-rw-r--r--Source/CMakeLists.txt1
-rw-r--r--Source/CTest/cmCTestCoverageHandler.cxx8
-rw-r--r--Source/CTest/cmParseGTMCoverage.cxx324
-rw-r--r--Source/CTest/cmParseGTMCoverage.h31
-rw-r--r--Source/CTest/cmParseMumpsCoverage.cxx125
-rw-r--r--Source/CTest/cmParseMumpsCoverage.h48
-rw-r--r--Tests/CMakeLists.txt18
-rw-r--r--Tests/MumpsCoverage/.gitattributes2
-rw-r--r--Tests/MumpsCoverage/Accounts_ReceivableTest.mcov1445
-rw-r--r--Tests/MumpsCoverage/DartConfiguration.tcl.in8
-rw-r--r--Tests/MumpsCoverage/VistA-FOIA/Packages/Toolkit/Routines/XINDEX.m144
-rw-r--r--Tests/MumpsCoverage/gtm_coverage.mcov.in2
12 files changed, 1928 insertions, 228 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 1ef67da..081cf65 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -423,6 +423,7 @@ SET(CTEST_SRCS cmCTest.cxx
CTest/cmCTestConfigureHandler.cxx
CTest/cmCTestCoverageCommand.cxx
CTest/cmCTestCoverageHandler.cxx
+ CTest/cmParseMumpsCoverage.cxx
CTest/cmParseGTMCoverage.cxx
CTest/cmParsePHPCoverage.cxx
CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 099bcb6..e7fa2f1 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -769,7 +769,13 @@ int cmCTestCoverageHandler::HandleGTMCoverage(
"/gtm_coverage.mcov";
if(cmSystemTools::FileExists(coverageFile.c_str()))
{
- cov.ReadGTMCoverage(coverageFile.c_str());
+ cov.ReadCoverageFile(coverageFile.c_str());
+ }
+ else
+ {
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ " Cannot find GTM coverage file: " << coverageFile
+ << std::endl);
}
return static_cast<int>(cont->TotalCoverage.size());
}
diff --git a/Source/CTest/cmParseGTMCoverage.cxx b/Source/CTest/cmParseGTMCoverage.cxx
index 130e40e..90d047b 100644
--- a/Source/CTest/cmParseGTMCoverage.cxx
+++ b/Source/CTest/cmParseGTMCoverage.cxx
@@ -8,156 +8,152 @@
cmParseGTMCoverage::cmParseGTMCoverage(cmCTestCoverageHandlerContainer& cont,
- cmCTest* ctest)
- :Coverage(cont), CTest(ctest)
+ cmCTest* ctest)
+ :cmParseMumpsCoverage(cont, ctest)
{
}
-bool cmParseGTMCoverage::ReadGTMCoverage(const char* file)
+
+bool cmParseGTMCoverage::LoadCoverageData(const char* d)
{
- // Read the gtm_coverage.mcov file, that has two lines of data:
- // packages:/full/path/to/Vista/Packages
- // coverage_dir:/full/path/to/dir/with/*.mcov
- std::ifstream in(file);
- if(!in)
+ // load all the .mcov files in the specified directory
+ cmsys::Directory dir;
+ if(!dir.Load(d))
{
return false;
}
- std::string line;
- cmSystemTools::GetLineFromStream(in, line);
- std::string::size_type pos = line.find(':', 0);
- std::string packages;
- if(pos != std::string::npos)
- {
- packages = line.substr(pos+1);
- }
- cmSystemTools::GetLineFromStream(in, line);
- pos = line.find(':', 0);
- std::string coverage_dir;
- if(pos != std::string::npos)
+ size_t numf;
+ unsigned int i;
+ numf = dir.GetNumberOfFiles();
+ for (i = 0; i < numf; i++)
{
- coverage_dir = line.substr(pos+1);
+ std::string file = dir.GetFile(i);
+ if(file != "." && file != ".."
+ && !cmSystemTools::FileIsDirectory(file.c_str()))
+ {
+ std::string path = d;
+ path += "/";
+ path += file;
+ if(cmSystemTools::GetFilenameLastExtension(path) == ".mcov")
+ {
+ if(!this->ReadMCovFile(path.c_str()))
+ {
+ return false;
+ }
+ }
+ }
}
- // load the mumps files from the packages directory
- this->LoadPackages(packages.c_str());
- // now load the *.mcov files from the coverage directory
- this->LoadCoverageData(coverage_dir.c_str());
return true;
}
-void cmParseGTMCoverage::InitializeFile(std::string& file)
+bool cmParseGTMCoverage::ReadMCovFile(const char* file)
{
- // initialize the coverage information for a given mumps file
- std::ifstream in(file.c_str());
+ std::ifstream in(file);
if(!in)
{
- return;
+ return false;
}
std::string line;
- cmCTestCoverageHandlerContainer::SingleFileCoverageVector&
- coverageVector = this->Coverage.TotalCoverage[file];
- if(!cmSystemTools::GetLineFromStream(in, line))
- {
- return;
- }
- // first line of a .m file can never be run
- coverageVector.push_back(-1);
- while( cmSystemTools::GetLineFromStream(in, line) )
+ std::string lastfunction;
+ std::string lastroutine;
+ std::string lastpath;
+ int lastoffset = 0;
+ while( cmSystemTools::GetLineFromStream(in, line))
{
- // putting in a 0 for a line means it is executable code
- // putting in a -1 for a line means it is not executable code
- int val = -1; // assume line is not executable
- bool found = false;
- std::string::size_type i = 0;
- // (1) Search for the first whitespace or semicolon character on a line.
- //This will skip over labels if the line starts with one, or will simply
- //be the first character on the line for non-label lines.
- for(; i < line.size(); ++i)
+ // only look at lines that have coverage data
+ if(line.find("^COVERAGE") == line.npos)
+ {
+ continue;
+ }
+ std::string filepath;
+ std::string function;
+ std::string routine;
+ int linenumber = 0;
+ int count = 0;
+ this->ParseMCOVLine(line, routine, function, linenumber, count);
+ // skip this one
+ if(routine == "RSEL")
+ {
+ continue;
+ }
+ // no need to search the file if we just did it
+ if(function == lastfunction && lastroutine == routine)
{
- if(line[i] == ' ' || line[i] == '\t' || line[i] == ';')
+ if(lastpath.size())
+ {
+ this->Coverage.TotalCoverage[lastpath][lastoffset + linenumber]
+ += count;
+ }
+ else
{
- found = true;
- break;
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Can not find mumps file : "
+ << lastroutine << " referenced in this line of mcov data:\n"
+ "[" << line << "]\n");
}
+ continue;
}
- if(found)
+ // Find the full path to the file
+ std::map<cmStdString, cmStdString>::iterator i =
+ this->RoutineToDirectory.find(routine);
+ bool found = false;
+ if(i != this->RoutineToDirectory.end())
+ {
+ filepath = i->second;
+ found = true;
+ }
+ else
{
- // (2) If the first character found above is whitespace then continue the
- // search for the first following non-whitespace character.
- if(line[i] == ' ' || line[i] == '\t')
+ // try some alternate names
+ const char* tryname[] = {"GUX", "GTM", "ONT", 0};
+ for(int k=0; tryname[k] != 0; k++)
{
- while(i < line.size() && (line[i] == ' ' || line[i] == '\t'))
+ std::string routine2 = routine + tryname[k];
+ i = this->RoutineToDirectory.find(routine2);
+ if(i != this->RoutineToDirectory.end())
{
- i++;
+ found = true;
+ filepath = i->second;
+ break; // break out of tryname loop if found
}
}
- // (3) If the character found is not a semicolon then the line counts for
- // coverage.
- if(i < line.size() && line[i] != ';')
- {
- val = 0;
- }
}
- coverageVector.push_back(val);
- }
-}
-
-bool cmParseGTMCoverage::LoadPackages(const char* d)
-{
- cmsys::Glob glob;
- glob.RecurseOn();
- std::string pat = d;
- pat += "/*.m";
- glob.FindFiles(pat.c_str());
- std::vector<std::string>& files = glob.GetFiles();
- std::vector<std::string>::iterator fileIt;
- for ( fileIt = files.begin(); fileIt != files.end();
- ++ fileIt )
- {
- std::string name = cmSystemTools::GetFilenameName(*fileIt);
- this->RoutineToDirectory[name.substr(0, name.size()-2)] = *fileIt;
- // initialze each file, this is left out until CDash is fixed
- // to handle large numbers of files
-// this->InitializeFile(*fileIt);
- }
- return true;
-}
-
-bool cmParseGTMCoverage::LoadCoverageData(const char* d)
-{
- // load all the .mcov files in the specified directory
- cmsys::Directory dir;
- if(!dir.Load(d))
- {
- return false;
- }
- size_t numf;
- unsigned int i;
- numf = dir.GetNumberOfFiles();
- for (i = 0; i < numf; i++)
- {
- std::string file = dir.GetFile(i);
- if(file != "." && file != ".."
- && !cmSystemTools::FileIsDirectory(file.c_str()))
+ if(found)
{
- std::string path = d;
- path += "/";
- path += file;
- if(cmSystemTools::GetFilenameLastExtension(path) == ".mcov")
+ int lineoffset;
+ if(this->FindFunctionInMumpsFile(filepath,
+ function,
+ lineoffset))
{
- if(!this->ReadMCovFile(path.c_str()))
+ // hack, this should be done on every file, but for now
+ // just do it on the ones that have coverage at all
+ if( this->Coverage.TotalCoverage[filepath].size() == 0)
{
- return false;
+ this->InitializeMumpsFile(filepath);
}
+ cmCTestCoverageHandlerContainer::SingleFileCoverageVector&
+ coverageVector = this->Coverage.TotalCoverage[filepath];
+ coverageVector[lineoffset + linenumber] += count;
}
+ lastoffset = lineoffset;
+ }
+ else
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Can not find mumps file : "
+ << routine << " referenced in this line of mcov data:\n"
+ "[" << line << "]\n");
}
+ lastfunction = function;
+ lastroutine = routine;
+ lastpath = filepath;
}
return true;
}
-bool cmParseGTMCoverage::ParseFile(std::string& filepath,
- std::string& function,
- int& lineoffset)
+bool cmParseGTMCoverage::FindFunctionInMumpsFile(std::string const& filepath,
+ std::string const& function,
+ int& lineoffset)
{
std::ifstream in(filepath.c_str());
if(!in)
@@ -197,11 +193,11 @@ bool cmParseGTMCoverage::ParseFile(std::string& filepath,
return false;
}
-bool cmParseGTMCoverage::ParseLine(std::string const& line,
- std::string& routine,
- std::string& function,
- int& linenumber,
- int& count)
+bool cmParseGTMCoverage::ParseMCOVLine(std::string const& line,
+ std::string& routine,
+ std::string& function,
+ int& linenumber,
+ int& count)
{
// this method parses lines from the .mcov file
// each line has ^COVERAGE(...) in it, and there
@@ -302,97 +298,3 @@ bool cmParseGTMCoverage::ParseLine(std::string const& line,
}
return true;
}
-
-bool cmParseGTMCoverage::ReadMCovFile(const char* file)
-{
- std::ifstream in(file);
- if(!in)
- {
- return false;
- }
- std::string line;
- std::string lastfunction;
- std::string lastroutine;
- std::string lastpath;
- int lastoffset = 0;
- while( cmSystemTools::GetLineFromStream(in, line))
- {
- // only look at lines that have coverage data
- if(line.find("^COVERAGE") == line.npos)
- {
- continue;
- }
- std::string filepath;
- std::string function;
- std::string routine;
- int linenumber = 0;
- int count = 0;
- this->ParseLine(line, routine, function, linenumber, count);
- // skip this one
- if(routine == "RSEL")
- {
- continue;
- }
- // no need to search the file if we just did it
- if(function == lastfunction && lastroutine == routine)
- {
- this->Coverage.TotalCoverage[lastpath][lastoffset + linenumber] += count;
- continue;
- }
- // Find the full path to the file
- std::map<cmStdString, cmStdString>::iterator i =
- this->RoutineToDirectory.find(routine);
- bool found = false;
- if(i != this->RoutineToDirectory.end())
- {
- filepath = i->second;
- found = true;
- }
- else
- {
- // try some alternate names
- const char* tryname[] = {"GUX", "GTM", "ONT", 0};
- for(int k=0; tryname[k] != 0; k++)
- {
- std::string routine2 = routine + tryname[k];
- i = this->RoutineToDirectory.find(routine2);
- if(i != this->RoutineToDirectory.end())
- {
- found = true;
- filepath = i->second;
- break; // break out of tryname loop if found
- }
- }
- }
- if(found)
- {
- int lineoffset;
- if(this->ParseFile(filepath,
- function,
- lineoffset))
- {
- // hack, this should be done on every file, but for now
- // just do it on the ones that have coverage at all
- if( this->Coverage.TotalCoverage[filepath].size() == 0)
- {
- this->InitializeFile(filepath);
- }
- cmCTestCoverageHandlerContainer::SingleFileCoverageVector&
- coverageVector = this->Coverage.TotalCoverage[filepath];
- coverageVector[lineoffset + linenumber] += count;
- }
- lastoffset = lineoffset;
- }
- else
- {
- cmCTestLog(this->CTest, ERROR_MESSAGE,
- "Can not find mumps file : "
- << routine << " referenced in this line of mcov data:\n"
- "[" << line << "]\n");
- }
- lastfunction = function;
- lastroutine = routine;
- lastpath = filepath;
- }
- return true;
-}
diff --git a/Source/CTest/cmParseGTMCoverage.h b/Source/CTest/cmParseGTMCoverage.h
index d4e901d..c6d7ef9 100644
--- a/Source/CTest/cmParseGTMCoverage.h
+++ b/Source/CTest/cmParseGTMCoverage.h
@@ -13,8 +13,7 @@
#ifndef cmParseGTMCoverage_h
#define cmParseGTMCoverage_h
-#include "cmStandardIncludes.h"
-#include "cmCTestCoverageHandler.h"
+#include "cmParseMumpsCoverage.h"
/** \class cmParseGTMCoverage
* \brief Parse GTM coverage information
@@ -22,28 +21,28 @@
* This class is used to parse GTM coverage information for
* mumps.
*/
-class cmParseGTMCoverage
+class cmParseGTMCoverage : public cmParseMumpsCoverage
{
public:
cmParseGTMCoverage(cmCTestCoverageHandlerContainer& cont,
cmCTest* ctest);
- bool ReadGTMCoverage(const char* file);
-private:
- bool ParseFile(std::string& filepath,
- std::string& function,
- int& lineoffset);
- bool ParseLine(std::string const& line,
+protected:
+ // implement virtual from parent
+ bool LoadCoverageData(const char* dir);
+ // Read a single mcov file
+ bool ReadMCovFile(const char* f);
+ // find out what line in a mumps file (filepath) the given entry point
+ // or function is. lineoffset is set by this method.
+ bool FindFunctionInMumpsFile(std::string const& filepath,
+ std::string const& function,
+ int& lineoffset);
+ // parse a line from a .mcov file, and fill in the
+ // routine, function, linenumber and coverage count
+ bool ParseMCOVLine(std::string const& line,
std::string& routine,
std::string& function,
int& linenumber,
int& count);
- bool LoadPackages(const char* dir);
- bool LoadCoverageData(const char* dir);
- bool ReadMCovFile(const char* f);
- void InitializeFile(std::string& file);
- std::map<cmStdString, cmStdString> RoutineToDirectory;
- cmCTestCoverageHandlerContainer& Coverage;
- cmCTest* CTest;
};
diff --git a/Source/CTest/cmParseMumpsCoverage.cxx b/Source/CTest/cmParseMumpsCoverage.cxx
new file mode 100644
index 0000000..359b5ac
--- /dev/null
+++ b/Source/CTest/cmParseMumpsCoverage.cxx
@@ -0,0 +1,125 @@
+#include "cmStandardIncludes.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include "cmSystemTools.h"
+#include "cmParseGTMCoverage.h"
+#include <cmsys/Directory.hxx>
+#include <cmsys/Glob.hxx>
+
+
+cmParseMumpsCoverage::cmParseMumpsCoverage(
+ cmCTestCoverageHandlerContainer& cont,
+ cmCTest* ctest)
+ :Coverage(cont), CTest(ctest)
+{
+}
+
+bool cmParseMumpsCoverage::ReadCoverageFile(const char* file)
+{
+ // Read the gtm_coverage.mcov file, that has two lines of data:
+ // packages:/full/path/to/Vista/Packages
+ // coverage_dir:/full/path/to/dir/with/*.mcov
+ std::ifstream in(file);
+ if(!in)
+ {
+ return false;
+ }
+ std::string line;
+ cmSystemTools::GetLineFromStream(in, line);
+ std::string::size_type pos = line.find(':', 0);
+ std::string packages;
+ if(pos != std::string::npos)
+ {
+ packages = line.substr(pos+1);
+ }
+ cmSystemTools::GetLineFromStream(in, line);
+ pos = line.find(':', 0);
+ std::string coverage_dir;
+ if(pos != std::string::npos)
+ {
+ coverage_dir = line.substr(pos+1);
+ }
+ // load the mumps files from the packages directory
+ this->LoadPackages(packages.c_str());
+ // now load the *.mcov files from the coverage directory
+ this->LoadCoverageData(coverage_dir.c_str());
+ return true;
+}
+
+void cmParseMumpsCoverage::InitializeMumpsFile(std::string& file)
+{
+ // initialize the coverage information for a given mumps file
+ std::ifstream in(file.c_str());
+ if(!in)
+ {
+ return;
+ }
+ std::string line;
+ cmCTestCoverageHandlerContainer::SingleFileCoverageVector&
+ coverageVector = this->Coverage.TotalCoverage[file];
+ if(!cmSystemTools::GetLineFromStream(in, line))
+ {
+ return;
+ }
+ // first line of a .m file can never be run
+ coverageVector.push_back(-1);
+ while( cmSystemTools::GetLineFromStream(in, line) )
+ {
+ // putting in a 0 for a line means it is executable code
+ // putting in a -1 for a line means it is not executable code
+ int val = -1; // assume line is not executable
+ bool found = false;
+ std::string::size_type i = 0;
+ // (1) Search for the first whitespace or semicolon character on a line.
+ //This will skip over labels if the line starts with one, or will simply
+ //be the first character on the line for non-label lines.
+ for(; i < line.size(); ++i)
+ {
+ if(line[i] == ' ' || line[i] == '\t' || line[i] == ';')
+ {
+ found = true;
+ break;
+ }
+ }
+ if(found)
+ {
+ // (2) If the first character found above is whitespace then continue the
+ // search for the first following non-whitespace character.
+ if(line[i] == ' ' || line[i] == '\t')
+ {
+ while(i < line.size() && (line[i] == ' ' || line[i] == '\t'))
+ {
+ i++;
+ }
+ }
+ // (3) If the character found is not a semicolon then the line counts for
+ // coverage.
+ if(i < line.size() && line[i] != ';')
+ {
+ val = 0;
+ }
+ }
+ coverageVector.push_back(val);
+ }
+}
+
+bool cmParseMumpsCoverage::LoadPackages(const char* d)
+{
+ cmsys::Glob glob;
+ glob.RecurseOn();
+ std::string pat = d;
+ pat += "/*.m";
+ glob.FindFiles(pat.c_str());
+ std::vector<std::string>& files = glob.GetFiles();
+ std::vector<std::string>::iterator fileIt;
+ for ( fileIt = files.begin(); fileIt != files.end();
+ ++ fileIt )
+ {
+ std::string name = cmSystemTools::GetFilenameName(*fileIt);
+ this->RoutineToDirectory[name.substr(0, name.size()-2)] = *fileIt;
+ // initialze each file, this is left out until CDash is fixed
+ // to handle large numbers of files
+// this->InitializeMumpsFile(*fileIt);
+ }
+ return true;
+}
diff --git a/Source/CTest/cmParseMumpsCoverage.h b/Source/CTest/cmParseMumpsCoverage.h
new file mode 100644
index 0000000..63883de
--- /dev/null
+++ b/Source/CTest/cmParseMumpsCoverage.h
@@ -0,0 +1,48 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc.
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#ifndef cmParseMumpsCoverage_h
+#define cmParseMumpsCoverage_h
+
+#include "cmStandardIncludes.h"
+#include "cmCTestCoverageHandler.h"
+
+/** \class cmParseMumpsCoverage
+ * \brief Parse Mumps coverage information
+ *
+ * This class is used as the base class for Mumps coverage
+ * parsing.
+ */
+class cmParseMumpsCoverage
+{
+public:
+ cmParseMumpsCoverage(cmCTestCoverageHandlerContainer& cont,
+ cmCTest* ctest);
+ // This is the toplevel coverage file locating the coverage files
+ // and the mumps source code package tree.
+ bool ReadCoverageFile(const char* file);
+protected:
+ // sub classes will use this to
+ // load all coverage files found in the given directory
+ virtual bool LoadCoverageData(const char* d) = 0;
+ // search the package directory for mumps files and fill
+ // in the RoutineToDirectory map
+ bool LoadPackages(const char* dir);
+ // initialize the coverage information for a single mumps file
+ void InitializeMumpsFile(std::string& file);
+protected:
+ std::map<cmStdString, cmStdString> RoutineToDirectory;
+ cmCTestCoverageHandlerContainer& Coverage;
+ cmCTest* CTest;
+};
+
+#endif
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index c0b7cd6..9a088e4 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1708,6 +1708,24 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
PASS_REGULAR_EXPRESSION
"Reading ctest configuration file: ${CTEST_TEST_ESCAPED_BINARY_DIR}.Tests.CTestTestConfigFileInBuildDir2.CTestConfig.cmake")
+ # test coverage for mumps
+ # create a MumpsCoverage dir in the binary tree under Testing to
+ # avoid the .NoDartCoverage files in the cmake testing tree
+ configure_file(
+ "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/DartConfiguration.tcl.in"
+ "${CMake_BINARY_DIR}/Testing/MumpsCoverage/DartConfiguration.tcl")
+ configure_file(
+ "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/gtm_coverage.mcov.in"
+ "${CMake_BINARY_DIR}/Testing/MumpsCoverage/gtm_coverage.mcov")
+ file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA"
+ DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCoverage")
+ add_test(NAME CTestGTMCoverage
+ WORKING_DIRECTORY "${CMake_BINARY_DIR}/Testing/MumpsCoverage"
+ COMMAND
+ ${CMAKE_CTEST_COMMAND} -T Coverage --debug)
+ set_tests_properties(CTestGTMCoverage PROPERTIES
+ PASS_REGULAR_EXPRESSION
+ "Process file.*XINDEX.m.*Total LOC:.*127.*Percentage Coverage: 85.83.*")
# Use macro, not function so that build can still be driven by CMake 2.4.
# After 2.6 is required, this could be a function without the extra 'set'
# calls.
diff --git a/Tests/MumpsCoverage/.gitattributes b/Tests/MumpsCoverage/.gitattributes
new file mode 100644
index 0000000..77a41f8
--- /dev/null
+++ b/Tests/MumpsCoverage/.gitattributes
@@ -0,0 +1,2 @@
+*.cmcov -whitespace
+*.mcov -whitespace
diff --git a/Tests/MumpsCoverage/Accounts_ReceivableTest.mcov b/Tests/MumpsCoverage/Accounts_ReceivableTest.mcov
new file mode 100644
index 0000000..c0ca7b5
--- /dev/null
+++ b/Tests/MumpsCoverage/Accounts_ReceivableTest.mcov
@@ -0,0 +1,1445 @@
+%GO Global Output Utility
+GT.M 17-APR-2012 17:18:27 ZWR
+^COVERAGE("%RSEL","SRC")="1:0:0:0"
+^COVERAGE("%RSEL","SRC",1)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",2)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",3)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",4)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",5)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",6)="1:0:0:0"
+^COVERAGE("%RSEL","SRC",7)="1:0:0:0"
+^COVERAGE("%RSEL","init")="1:0:0:0"
+^COVERAGE("%RSEL","init",1)="1:0:0:0"
+^COVERAGE("%RSEL","init",3)="1:0:0:0"
+^COVERAGE("%RSEL","init",4)="1:0:0:0"
+^COVERAGE("%RSEL","init",5)="1:0:0:0"
+^COVERAGE("%RSEL","init",6)="1:0:0:0"
+^COVERAGE("%RSEL","init",7)="1:0:0:0"
+^COVERAGE("%RSEL","init",8)="1:0:0:0"
+^COVERAGE("%RSEL","init",8,"FOR_LOOP",1)=1
+^COVERAGE("%RSEL","init",9)="1:0:0:0"
+^COVERAGE("%RSEL","init",10)="1:0:0:0"
+^COVERAGE("%RSEL","init",11)="1:0:0:0"
+^COVERAGE("%RSEL","init",12)="1:0:0:0"
+^COVERAGE("%RSEL","init",13)="1:0:0:0"
+^COVERAGE("%RSEL","init",14)="1:0:0:0"
+^COVERAGE("%RSEL","init",15)="1:0:0:0"
+^COVERAGE("%RSEL","init",16)="1:0:0:0"
+^COVERAGE("%RSEL","init",17)="1:0:0:0"
+^COVERAGE("%RSEL","init",17,"FOR_LOOP",1)=2
+^COVERAGE("%RSEL","init",18)="2:0:0:0"
+^COVERAGE("%RSEL","init",19)="2:0:0:0"
+^COVERAGE("%RSEL","init",20)="2:0:0:0"
+^COVERAGE("%RSEL","init",40)="1:0:0:0"
+^COVERAGE("%RSEL","main")="1:32001:84004:116005"
+^COVERAGE("%RSEL","main",1)="1:0:0:0"
+^COVERAGE("%RSEL","main",2)="1:0:0:0"
+^COVERAGE("%RSEL","main",3)="1:0:0:0"
+^COVERAGE("%RSEL","main",3,"FOR_LOOP",1)=468
+^COVERAGE("%RSEL","main",4)="468:0:24003:24003"
+^COVERAGE("%RSEL","main",5)="468:0:0:0"
+^COVERAGE("%RSEL","main",6)="468:32001:48001:80002"
+^COVERAGE("%RSEL","main",7)="467:0:12000:12000"
+^COVERAGE("%RSEL","main",8)="467:0:0:0"
+^COVERAGE("%RSEL","main",9)="467:0:0:0"
+^COVERAGE("%RSEL","main",10)="467:0:0:0"
+^COVERAGE("%RSEL","main",11)="1:0:0:0"
+^COVERAGE("%RSEL","main",12)="1:0:0:0"
+^COVERAGE("%RSEL","main",13)="1:0:0:0"
+^COVERAGE("%RSEL","main",14)="1:0:0:0"
+^COVERAGE("%RSEL","next")="1403:12001:20002:32003"
+^COVERAGE("%RSEL","next",0)="1403:0:0:0"
+^COVERAGE("%RSEL","next",1)="1403:12001:20002:32003"
+^COVERAGE("%RSEL","next",1,"FOR_LOOP",1)=1403
+^COVERAGE("%RSEL","next",2)="1403:0:0:0"
+^COVERAGE("%RSEL","save")="467:0:4001:4001"
+^COVERAGE("%RSEL","save",1)="467:0:0:0"
+^COVERAGE("%RSEL","save",5)="467:0:0:0"
+^COVERAGE("%RSEL","save",6)="467:0:0:0"
+^COVERAGE("%RSEL","save",7)="467:0:0:0"
+^COVERAGE("%RSEL","save",8)="467:0:4001:4001"
+^COVERAGE("%RSEL","save",9)="467:0:0:0"
+^COVERAGE("%RSEL","search")="934:0:16001:16001"
+^COVERAGE("%RSEL","search",0)="934:0:4000:4000"
+^COVERAGE("%RSEL","search",1)="934:0:0:0"
+^COVERAGE("%RSEL","search",2)="934:0:4001:4001"
+^COVERAGE("%RSEL","search",2,"FOR_LOOP",1)=1868
+^COVERAGE("%RSEL","search",3)="934:0:8000:8000"
+^COVERAGE("%RSEL","search",4)="934:0:0:0"
+^COVERAGE("%RSEL","search",5)="934:0:0:0"
+^COVERAGE("%RSEL","start")="468:0:4001:4001"
+^COVERAGE("%RSEL","start",0)="468:0:0:0"
+^COVERAGE("%RSEL","start",1)="468:0:0:0"
+^COVERAGE("%RSEL","start",2)="468:0:0:0"
+^COVERAGE("%RSEL","start",2,"FOR_LOOP",1)=936
+^COVERAGE("%RSEL","start",3)="468:0:0:0"
+^COVERAGE("%RSEL","work")="467:20002:24001:44003"
+^COVERAGE("%RSEL","work",1)="467:0:0:0"
+^COVERAGE("%RSEL","work",2)="467:0:0:0"
+^COVERAGE("%RSEL","work",3)="467:0:4000:4000"
+^COVERAGE("%RSEL","work",4)="467:0:0:0"
+^COVERAGE("%RSEL","work",6)="467:4000:12000:16000"
+^COVERAGE("%RSEL","work",6,"FOR_LOOP",1)=3421
+^COVERAGE("%RSEL","work",7)="467:0:0:0"
+^COVERAGE("%RSEL","work",8)="467:4001:0:4001"
+^COVERAGE("%RSEL","work",9)="467:0:0:0"
+^COVERAGE("%RSEL","work",10)="467:0:0:0"
+^COVERAGE("%RSEL","work",11)="467:0:0:0"
+^COVERAGE("%RSEL","work",12)="467:4000:0:4000"
+^COVERAGE("%RSEL","work",13)="467:0:4000:4000"
+^COVERAGE("%RSEL","work",14)="467:0:0:0"
+^COVERAGE("%RSEL","work",15)="467:4001:4001:8002"
+^COVERAGE("%RSEL","work",15,"FOR_LOOP",1)=934
+^COVERAGE("%RSEL","work",16)="467:0:0:0"
+^COVERAGE("%ZIS","%ZIS")="2:0:0:0"
+^COVERAGE("%ZIS","%ZIS",3)="2:0:0:0"
+^COVERAGE("%ZIS","%ZIS",4)="2:0:0:0"
+^COVERAGE("%ZIS","A",0)="2:0:0:0"
+^COVERAGE("%ZIS","A",1)="2:0:0:0"
+^COVERAGE("%ZIS","CLEAN")="3:0:0:0"
+^COVERAGE("%ZIS","CLEAN",1)="3:0:0:0"
+^COVERAGE("%ZIS","CLEAN",2)="3:0:0:0"
+^COVERAGE("%ZIS","CLEAN",3)="3:0:0:0"
+^COVERAGE("%ZIS","CLEAN",4)="3:0:0:0"
+^COVERAGE("%ZIS","GETHOME")="2:0:0:0"
+^COVERAGE("%ZIS","GETHOME",0)="2:0:0:0"
+^COVERAGE("%ZIS","GETHOME",1)="1:0:0:0"
+^COVERAGE("%ZIS","GETHOME",3)="1:0:0:0"
+^COVERAGE("%ZIS","GETHOME",4)="1:0:0:0"
+^COVERAGE("%ZIS","GETHOME",5)="1:0:0:0"
+^COVERAGE("%ZIS","GETHOME",6)="1:0:0:0"
+^COVERAGE("%ZIS","GETHOME",7)="1:0:0:0"
+^COVERAGE("%ZIS","HOME")="1:0:0:0"
+^COVERAGE("%ZIS","HOME",1)="1:0:0:0"
+^COVERAGE("%ZIS","HOME",2)="1:0:0:0"
+^COVERAGE("%ZIS","INIT",1)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",3)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",4)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",5)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",6)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",8)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",10)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",11)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",12)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",13)="2:0:0:0"
+^COVERAGE("%ZIS","INIT",15)="2:0:0:0"
+^COVERAGE("%ZIS","K2",0)="2:0:0:0"
+^COVERAGE("%ZIS","K2",1)="2:0:0:0"
+^COVERAGE("%ZIS","K2",2)="2:0:0:0"
+^COVERAGE("%ZIS","K2",4)="2:0:0:0"
+^COVERAGE("%ZIS","VIRTUAL")="2:0:0:0"
+^COVERAGE("%ZIS","VIRTUAL",4)="2:0:0:0"
+^COVERAGE("%ZIS","VIRTUAL",4,"FOR_LOOP",1)=6
+^COVERAGE("%ZIS","VIRTUAL",5)="2:0:0:0"
+^COVERAGE("%ZIS","VIRTUAL",7)="2:0:0:0"
+^COVERAGE("%ZIS","VTLKUP")="4:0:0:0"
+^COVERAGE("%ZIS","VTLKUP",0)="4:0:0:0"
+^COVERAGE("%ZIS","VTLKUP",0,"FOR_LOOP",1)=8
+^COVERAGE("%ZIS","VTLKUP",1)="4:0:0:0"
+^COVERAGE("%ZIS1","EX2",1)="2:0:0:0"
+^COVERAGE("%ZIS1","EX2",2)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",1)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",3)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",5)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",6)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",7)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",8)="2:0:0:0"
+^COVERAGE("%ZIS1","EXIT",9)="2:0:0:0"
+^COVERAGE("%ZIS1","G",0)="2:0:0:0"
+^COVERAGE("%ZIS1","IOP")="1:0:0:0"
+^COVERAGE("%ZIS1","IOP",1)="1:0:0:0"
+^COVERAGE("%ZIS1","K2")="2:0:0:0"
+^COVERAGE("%ZIS1","K2",1)="4:0:0:0"
+^COVERAGE("%ZIS1","K2",2)="4:0:0:0"
+^COVERAGE("%ZIS1","K2",3)="4:0:0:0"
+^COVERAGE("%ZIS1","K2",4)="4:0:0:0"
+^COVERAGE("%ZIS1","KIL",1)="2:0:0:0"
+^COVERAGE("%ZIS1","KIL",2)="2:0:0:0"
+^COVERAGE("%ZIS1","KIL",3)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",1)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",2)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",3)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",4)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",5)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",6)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",7)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",8)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",9)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",10)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",11)="2:0:0:0"
+^COVERAGE("%ZIS1","L1",12)="2:0:0:0"
+^COVERAGE("%ZIS1","LKUP")="2:0:0:0"
+^COVERAGE("%ZIS1","LKUP",1)="2:0:0:0"
+^COVERAGE("%ZIS1","LKUP",2)="2:0:0:0"
+^COVERAGE("%ZIS1","LKUP",3)="2:0:0:0"
+^COVERAGE("%ZIS1","MAIN",2)="2:0:0:0"
+^COVERAGE("%ZIS1","R")="1:0:0:0"
+^COVERAGE("%ZIS1","R",0)="1:0:0:0"
+^COVERAGE("%ZIS1","R",1)="1:0:0:0"
+^COVERAGE("%ZIS1","R",2)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",0)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",1)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",2)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",3)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",4)="1:0:0:0"
+^COVERAGE("%ZIS1","RD",5)="1:0:0:0"
+^COVERAGE("%ZIS1","SBR")="1:0:0:0"
+^COVERAGE("%ZIS1","SBR",1)="1:0:0:0"
+^COVERAGE("%ZIS1","SBR",2)="1:0:0:0"
+^COVERAGE("%ZIS1","SBR",3)="1:0:0:0"
+^COVERAGE("%ZIS1","SETQ")="2:0:0:0"
+^COVERAGE("%ZIS1","SETQ",1)="2:0:0:0"
+^COVERAGE("%ZIS1","SETQ",2)="2:0:0:0"
+^COVERAGE("%ZIS1","SETQ",3)="2:0:0:0"
+^COVERAGE("%ZIS1","SETQ",4)="2:0:0:0"
+^COVERAGE("%ZIS1","SETQ",5)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",1)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",2)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",5)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",7)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",8)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",9)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",10)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",11)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",12)="2:0:0:0"
+^COVERAGE("%ZIS1","SETVAR",13)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",1)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",2)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",3)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",4)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",5)="2:0:0:0"
+^COVERAGE("%ZIS2","CHECK",6)="2:0:0:0"
+^COVERAGE("%ZIS2","IOPAR")="4:0:0:0"
+^COVERAGE("%ZIS2","IOPAR",0)="4:0:0:0"
+^COVERAGE("%ZIS2","IOPAR",1)="4:0:0:0"
+^COVERAGE("%ZIS2","L2")="2:0:0:0"
+^COVERAGE("%ZIS2","L2",1)="2:0:0:0"
+^COVERAGE("%ZIS2","OCPU",0)="2:0:0:0"
+^COVERAGE("%ZIS2","OOS",0)="2:0:0:0"
+^COVERAGE("%ZIS2","OOS",2)="2:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU")="2:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",0)="2:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",1)="2:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",2)="2:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",2,"FOR_LOOP",1)=4
+^COVERAGE("%ZIS2","OTHCPU",3)="4:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",4)="4:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",5)="4:0:0:0"
+^COVERAGE("%ZIS2","OTHCPU",15)="2:0:0:0"
+^COVERAGE("%ZIS2","PTIME",0)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK")="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",0)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",1)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",3)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",4)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",9)="2:0:0:0"
+^COVERAGE("%ZIS2","QUECHK",13)="2:0:0:0"
+^COVERAGE("%ZIS2","SLAVE",0)="2:0:0:0"
+^COVERAGE("%ZIS2","T2",0)="2:0:0:0"
+^COVERAGE("%ZIS2","T2",2)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",0)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",1)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",2)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",4)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",10)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",11)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",12)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",15)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",16)="2:0:0:0"
+^COVERAGE("%ZIS2","TMPVAR",18)="2:0:0:0"
+^COVERAGE("%ZIS2","VTRM",0)="2:0:0:0"
+^COVERAGE("%ZIS2","VTRM",1)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",4)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",5)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",6)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",8)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",9)="2:0:0:0"
+^COVERAGE("%ZIS3","%ZIS3",11)="2:0:0:0"
+^COVERAGE("%ZIS3","ALTP",0)="2:0:0:0"
+^COVERAGE("%ZIS3","ASKMAR",0)="2:0:0:0"
+^COVERAGE("%ZIS3","ASKMAR",1)="2:0:0:0"
+^COVERAGE("%ZIS3","MARGN")="2:0:0:0"
+^COVERAGE("%ZIS3","MARGN",1)="2:0:0:0"
+^COVERAGE("%ZIS3","MARGN",2)="2:0:0:0"
+^COVERAGE("%ZIS3","MARGN",3)="2:0:0:0"
+^COVERAGE("%ZIS3","MARGN",4)="2:0:0:0"
+^COVERAGE("%ZIS3","Q",2)="2:0:0:0"
+^COVERAGE("%ZIS3","Q",3)="2:0:0:0"
+^COVERAGE("%ZIS3","Q",4)="2:0:0:0"
+^COVERAGE("%ZIS3","SETPAR")="2:0:0:0"
+^COVERAGE("%ZIS3","SETPAR",0)="2:0:0:0"
+^COVERAGE("%ZIS3","SETPAR",1)="2:0:0:0"
+^COVERAGE("%ZIS3","ST")="2:0:0:0"
+^COVERAGE("%ZIS3","ST",0)="2:0:0:0"
+^COVERAGE("%ZIS3","ST",1)="2:0:0:0"
+^COVERAGE("%ZIS3","ST",2)="2:0:0:0"
+^COVERAGE("%ZIS3","ST",3)="2:0:0:0"
+^COVERAGE("%ZIS3","STP",0)="2:0:0:0"
+^COVERAGE("%ZIS3","STP",1)="2:0:0:0"
+^COVERAGE("%ZIS3","STP",2)="2:0:0:0"
+^COVERAGE("%ZIS3","STP",3)="2:0:0:0"
+^COVERAGE("%ZIS3","TRM",1)="2:0:0:0"
+^COVERAGE("%ZIS3","TRM",2)="2:0:0:0"
+^COVERAGE("%ZIS3","TRM",3)="2:0:0:0"
+^COVERAGE("%ZIS3","TRM",4)="2:0:0:0"
+^COVERAGE("%ZIS3","TRM",5)="2:0:0:0"
+^COVERAGE("%ZIS3","W")="2:0:0:0"
+^COVERAGE("%ZIS3","W",0)="2:0:0:0"
+^COVERAGE("%ZIS3","W",1)="2:0:0:0"
+^COVERAGE("%ZIS3","W",2)="1:0:0:0"
+^COVERAGE("%ZIS3","W",3)="1:0:0:0"
+^COVERAGE("%ZIS4","O")="2:0:0:0"
+^COVERAGE("%ZIS4","O",1)="2:0:0:0"
+^COVERAGE("%ZIS4","O",2)="2:0:0:0"
+^COVERAGE("%ZIS4","O1")="2:0:0:0"
+^COVERAGE("%ZIS4","O1",0)="2:0:0:0"
+^COVERAGE("%ZIS4","O1",1)="2:0:0:0"
+^COVERAGE("%ZIS4","O1",2)="2:0:0:0"
+^COVERAGE("%ZIS4","O1",3)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",0)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",1)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",2)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",3)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",4)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",5)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",9)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",10)="2:0:0:0"
+^COVERAGE("%ZIS4","OPAR",12)="2:0:0:0"
+^COVERAGE("%ZIS6","ANSBAK",1)="2:0:0:0"
+^COVERAGE("%ZIS6","ANSBAK",2)="2:0:0:0"
+^COVERAGE("%ZIS6","ANSBAK",3)="2:0:0:0"
+^COVERAGE("%ZIS6","OXECUTE",1)="2:0:0:0"
+^COVERAGE("%ZIS6","QUIT",0)="2:0:0:0"
+^COVERAGE("%ZIS6","QUIT",1)="2:0:0:0"
+^COVERAGE("%ZISC","C0")="1:0:0:0"
+^COVERAGE("%ZISC","C0",1)="1:0:0:0"
+^COVERAGE("%ZISC","C0",3)="1:0:0:0"
+^COVERAGE("%ZISC","C0",5)="1:0:0:0"
+^COVERAGE("%ZISC","C0",6)="1:0:0:0"
+^COVERAGE("%ZISC","C0",8)="1:0:0:0"
+^COVERAGE("%ZISC","C0",9)="1:0:0:0"
+^COVERAGE("%ZISC","C0",10)="1:0:0:0"
+^COVERAGE("%ZISC","C0",13)="1:0:0:0"
+^COVERAGE("%ZISC","C0",16)="1:0:0:0"
+^COVERAGE("%ZISC","C0",17)="1:0:0:0"
+^COVERAGE("%ZISC","C0",21)="1:0:0:0"
+^COVERAGE("%ZISC","C0",26)="1:0:0:0"
+^COVERAGE("%ZISC","C0",27)="1:0:0:0"
+^COVERAGE("%ZISC","C0",29)="1:0:0:0"
+^COVERAGE("%ZISC","C0",32)="1:0:0:0"
+^COVERAGE("%ZISC","C0",33)="1:0:0:0"
+^COVERAGE("%ZISC","C0",34)="1:0:0:0"
+^COVERAGE("%ZISC","C0",37)="1:0:0:0"
+^COVERAGE("%ZISC","C0",41)="1:0:0:0"
+^COVERAGE("%ZISC","C0",43)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS")="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",0)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",1)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",2)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",3)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",4)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",5)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",6)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",7)="1:0:0:0"
+^COVERAGE("%ZISC","CIOS",8)="1:0:0:0"
+^COVERAGE("%ZISC","CLOSPP")="1:0:0:0"
+^COVERAGE("%ZISC","CLOSPP",0)="1:0:0:0"
+^COVERAGE("%ZISC","CLOSPP",1)="1:0:0:0"
+^COVERAGE("%ZISC","CLOSPP",2)="1:0:0:0"
+^COVERAGE("%ZISC","END",0)="1:0:0:0"
+^COVERAGE("%ZISC","END",2)="1:0:0:0"
+^COVERAGE("%ZISC","END",4)="1:0:0:0"
+^COVERAGE("%ZISC","FF")="1:0:0:0"
+^COVERAGE("%ZISC","FF",0)="1:0:0:0"
+^COVERAGE("%ZISC","FF",1)="1:0:0:0"
+^COVERAGE("%ZISC","FF",2)="1:0:0:0"
+^COVERAGE("%ZISC","RM")="1:0:0:0"
+^COVERAGE("%ZISC","RM",0)="1:0:0:0"
+^COVERAGE("%ZISC","RM",1)="1:0:0:0"
+^COVERAGE("%ZISC","S1",0)="1:0:0:0"
+^COVERAGE("%ZISC","S1",1)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",2)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",4)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",5)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",6)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",7)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",8)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",9)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",10)="1:0:0:0"
+^COVERAGE("%ZISC","SETIO",12)="1:0:0:0"
+^COVERAGE("%ZISC","SUBTYPE")="1:0:0:0"
+^COVERAGE("%ZISC","SUBTYPE",1)="1:0:0:0"
+^COVERAGE("%ZISC","SUBTYPE",2)="1:0:0:0"
+^COVERAGE("%ZISC","SUBTYPE",3)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT")="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",0)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",2)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",3)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",4)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",5)="1:0:0:0"
+^COVERAGE("%ZISUTL","LINEPORT",6)="1:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTIEN")="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTIEN",0)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTIEN",1)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM")="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",0)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",1)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",2)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",3)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",5)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTNAM",6)="3:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTSUB")="2:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTSUB",0)="2:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTSUB",1)="2:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTSUB",2)="2:0:0:0"
+^COVERAGE("%ZISUTL","LNPRTSUB",3)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL")="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",0)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",1)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",3)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",4)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",5)="2:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",5,"FOR_LOOP",1)=40
+^COVERAGE("%ZISUTL","SYMBOL",6)="40:0:0:0"
+^COVERAGE("%ZISUTL","SYMBOL",10)="2:0:0:0"
+^COVERAGE("%ZOSV","GETENV")="2:0:0:0"
+^COVERAGE("%ZOSV","GETENV",1)="2:0:0:0"
+^COVERAGE("%ZOSV","GETENV",2)="2:0:0:0"
+^COVERAGE("%ZOSV","GETENV",3)="2:0:0:0"
+^COVERAGE("%ZOSV","LGR")="2:0:0:0"
+^COVERAGE("%ZOSV","LGR",0)="2:0:0:0"
+^COVERAGE("%ZOSV","LGR",1)="2:0:0:0"
+^COVERAGE("%ZOSV","PRI")="1:0:0:0"
+^COVERAGE("%ZOSV","PRI",0)="1:0:0:0"
+^COVERAGE("%ZOSV","PRI",3)="1:0:0:0"
+^COVERAGE("%ZOSV","RETURN")="2:0:4000:4000"
+^COVERAGE("%ZOSV","RETURN",0)="2:0:0:0"
+^COVERAGE("%ZOSV","RETURN",2)="2:0:0:0"
+^COVERAGE("%ZOSV","RETURN",3)="2:0:0:0"
+^COVERAGE("%ZOSV","RETURN",4)="2:0:4000:4000"
+^COVERAGE("%ZOSV","RETURN",5)="2:0:0:0"
+^COVERAGE("%ZOSV","RETURN",7)="2:0:0:0"
+^COVERAGE("%ZOSV","TEMP")="2:0:0:0"
+^COVERAGE("%ZOSV","TEMP",0)="2:0:0:0"
+^COVERAGE("%ZOSV","TEMP",2)="2:0:0:0"
+^COVERAGE("%ZOSV2","LOAD")="467:1000060:340019:1340079"
+^COVERAGE("%ZOSV2","LOAD",0)="467:0:0:0"
+^COVERAGE("%ZOSV2","LOAD",1)="467:0:8001:8001"
+^COVERAGE("%ZOSV2","LOAD",2)="467:1000060:320018:1320078"
+^COVERAGE("%ZOSV2","LOAD",2,"FOR_LOOP",1)=45087
+^COVERAGE("%ZOSV2","LOAD",3)="467:0:12000:12000"
+^COVERAGE("DIALOG","EZBLD")="2:0:4000:4000"
+^COVERAGE("DIALOG","EZBLD",0)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",2)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",3)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",4)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",5)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",6)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",7)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",8)="2:0:0:0"
+^COVERAGE("DIALOG","EZBLD",9)="2:0:0:0"
+^COVERAGE("DIALOG","PARAM")="2:0:0:0"
+^COVERAGE("DIALOG","PARAM",0)="4:0:0:0"
+^COVERAGE("DIALOG","PARAM",1)="2:0:0:0"
+^COVERAGE("DIALOG","PARAM",2)="2:0:0:0"
+^COVERAGE("DIALOG","PARAM",3)="2:0:0:0"
+^COVERAGE("DIALOG","Q1",0)="2:0:0:0"
+^COVERAGE("DIALOG","Q2")="2:0:0:0"
+^COVERAGE("DIALOG","Q2",0)="2:0:0:0"
+^COVERAGE("DIALOG","QEZ",0)="2:0:4000:4000"
+^COVERAGE("DIALOG","QEZ",1)="2:0:0:0"
+^COVERAGE("DIALOG","QP",0)="2:0:0:0"
+^COVERAGE("DIC","A1",0)="2:0:0:0"
+^COVERAGE("DIC","ASK",0)="2:0:0:0"
+^COVERAGE("DIC","ASK",1)="2:0:0:0"
+^COVERAGE("DIC","ASK",2)="2:0:0:0"
+^COVERAGE("DIC","ASK",3)="2:0:0:0"
+^COVERAGE("DIC","ASK",4)="2:0:0:0"
+^COVERAGE("DIC","DIC")="2:0:0:0"
+^COVERAGE("DIC","DIC",3)="2:0:0:0"
+^COVERAGE("DIC","DIC",4)="2:0:0:0"
+^COVERAGE("DIC","DIC",5)="2:0:0:0"
+^COVERAGE("DIC","DIC",6)="2:0:0:0"
+^COVERAGE("DIC","EN",0)="2:0:0:0"
+^COVERAGE("DIC","EN",1)="2:0:0:0"
+^COVERAGE("DIC","EN",2)="2:0:0:0"
+^COVERAGE("DIC","EN",3)="2:0:0:0"
+^COVERAGE("DIC","EN",4)="2:0:0:0"
+^COVERAGE("DIC","EN",5)="2:0:0:0"
+^COVERAGE("DIC","EN",6)="2:0:0:0"
+^COVERAGE("DIC","EN",7)="2:0:0:0"
+^COVERAGE("DIC","EN",8)="2:0:0:0"
+^COVERAGE("DIC","EN",9)="2:0:0:0"
+^COVERAGE("DIC","RTN",0)="2:0:0:0"
+^COVERAGE("DIC","RTN",3)="2:0:0:0"
+^COVERAGE("DIC","RTN",6)="2:0:0:0"
+^COVERAGE("DIC","X",1)="2:0:0:0"
+^COVERAGE("DIC","X",4)="2:0:0:0"
+^COVERAGE("DIC","X",5)="2:0:0:0"
+^COVERAGE("DIC","X",6)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE")="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",0)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",1)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",2)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",3)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",4)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",7)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",8)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",11)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",12)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",13)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",14)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",15)="2:0:0:0"
+^COVERAGE("DIC0","GETFILE",16)="2:0:0:0"
+^COVERAGE("DIC0","INIT")="2:0:0:0"
+^COVERAGE("DIC0","INIT",1)="2:0:0:0"
+^COVERAGE("DIC0","INIT",2)="2:0:0:0"
+^COVERAGE("DIC0","INIT",3)="2:0:0:0"
+^COVERAGE("DIC0","INIT",4)="2:0:0:0"
+^COVERAGE("DIC0","INIT",5)="2:0:0:0"
+^COVERAGE("DIC0","INIT",6)="2:0:0:0"
+^COVERAGE("DIC0","INIT",7)="2:0:0:0"
+^COVERAGE("DIC0","INIT",8)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN")="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",0)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",1)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",2)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",3)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",4)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",5)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",5,"FOR_LOOP",1)=2
+^COVERAGE("DIC0","SETIEN",6)="2:0:0:0"
+^COVERAGE("DIC0","SETIEN",7)="2:0:0:0"
+^COVERAGE("DIC1","B",0)="2:0:0:0"
+^COVERAGE("DIC1","DIC1")="2:0:0:0"
+^COVERAGE("DIC1","DIC1",3)="2:0:0:0"
+^COVERAGE("DIC1","DIC1",4)="2:0:0:0"
+^COVERAGE("DIC1","DIC1",5)="2:0:0:0"
+^COVERAGE("DIC1","DO")="4:0:0:0"
+^COVERAGE("DIC1","DO",1)="4:0:0:0"
+^COVERAGE("DIC1","DO",2)="2:0:0:0"
+^COVERAGE("DIC1","DO2",0)="2:0:0:0"
+^COVERAGE("DIC1","DO2",1)="2:0:0:0"
+^COVERAGE("DIC1","DO2",2)="2:0:0:0"
+^COVERAGE("DIC1","DO2",3)="2:0:0:0"
+^COVERAGE("DIC1","GETFA")="4:0:0:0"
+^COVERAGE("DIC1","GETFA",0)="4:0:0:0"
+^COVERAGE("DIC1","GETFA",2)="4:0:0:0"
+^COVERAGE("DIC1","P",1)="2:0:0:0"
+^COVERAGE("DIC1","P",2)="2:0:0:0"
+^COVERAGE("DIC1","PROMPT",1)="2:0:0:0"
+^COVERAGE("DIC1","PROMPT",2)="2:0:0:0"
+^COVERAGE("DIC1","W",0)="2:0:0:0"
+^COVERAGE("DIC1","W",0,"FOR_LOOP",1)=4
+^COVERAGE("DIC1","W",1)="3:0:0:0"
+^COVERAGE("DIC1","W",2)="3:0:0:0"
+^COVERAGE("DIC1","W",3)="2:0:0:0"
+^COVERAGE("DIC1","W",4)="2:0:0:0"
+^COVERAGE("DIC1","W",5)="2:0:0:0"
+^COVERAGE("DIC1","W",6)="2:0:0:0"
+^COVERAGE("DIC1","WOV")="1:0:0:0"
+^COVERAGE("DIC1","WOV",0)="1:0:0:0"
+^COVERAGE("DIC1","WOV",1)="1:0:0:0"
+^COVERAGE("DIC11","GETPRMT")="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",0)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",1)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",2)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",3)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",3,"FOR_LOOP",1)=2
+^COVERAGE("DIC11","GETPRMT",4)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",8)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",9)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",10)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",11)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",12)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",13)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",14)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",15)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",16)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",17)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",18)="2:0:0:0"
+^COVERAGE("DIC11","GETPRMT",19)="2:0:0:0"
+^COVERAGE("DIC11","PR1",0)="2:0:0:0"
+^COVERAGE("DIC11","PR1",1)="2:0:0:0"
+^COVERAGE("DIC11","PR1",2)="2:0:0:0"
+^COVERAGE("DIC11","PR1",3)="2:0:0:0"
+^COVERAGE("DIC11","PR1",4)="2:0:0:0"
+^COVERAGE("DIC11","PR1",6)="2:0:0:0"
+^COVERAGE("DIC11","PR1",8)="2:0:0:0"
+^COVERAGE("DIC11","PR1",9)="2:0:0:0"
+^COVERAGE("DIC11","PR1",11)="2:0:0:0"
+^COVERAGE("DIC11","PR1",12)="2:0:0:0"
+^COVERAGE("DIC11","PR1",13)="2:0:0:0"
+^COVERAGE("DIC11","PR1",14)="2:0:0:0"
+^COVERAGE("DIC11","PR1",15)="2:0:0:0"
+^COVERAGE("DIC11","PR1",16)="2:0:0:0"
+^COVERAGE("DIC11","PROMPT")="2:0:0:0"
+^COVERAGE("DIC11","PROMPT",0)="2:0:0:0"
+^COVERAGE("DIC11","PROMPT",1)="2:0:0:0"
+^COVERAGE("DIC11","PROMPT",1,"FOR_LOOP",1)=2
+^COVERAGE("DIC11","PROMPT",2)="2:0:0:0"
+^COVERAGE("DIC11","PROMPT",3)="2:0:0:0"
+^COVERAGE("DIC11","PROMPT",5)="2:0:0:0"
+^COVERAGE("DIC2","PGM")="4:0:0:0"
+^COVERAGE("DIC2","PGM",0)="4:0:0:0"
+^COVERAGE("DIC2","PGM",1)="4:0:0:0"
+^COVERAGE("DIC2","PGM",2)="4:0:0:0"
+^COVERAGE("DIC2","Q")="2:0:0:0"
+^COVERAGE("DIC2","Q",0)="2:0:0:0"
+^COVERAGE("DIC2","Q",1)="2:0:0:0"
+^COVERAGE("DIC2","Q",2)="2:0:0:0"
+^COVERAGE("DICL","DINDEX")="2:0:0:0"
+^COVERAGE("DICL","DINDEX",0)="2:0:0:0"
+^COVERAGE("DICL","DINDEX",1)="2:0:0:0"
+^COVERAGE("DICL","DINDEX",2)="2:0:0:0"
+^COVERAGE("DICL","DINDEX",5)="2:0:0:0"
+^COVERAGE("DICL","DINDEX",6)="2:0:0:0"
+^COVERAGE("DICUIX","I1",2)="2:0:0:0"
+^COVERAGE("DICUIX","I1",3)="2:0:0:0"
+^COVERAGE("DICUIX","I1",4)="2:0:0:0"
+^COVERAGE("DICUIX","I1",5)="2:0:0:0"
+^COVERAGE("DICUIX","INDEX")="2:0:0:0"
+^COVERAGE("DICUIX","INDEX",0)="2:0:0:0"
+^COVERAGE("DICUIX","X1",2)="2:0:0:0"
+^COVERAGE("DICUIX","X1",8)="2:0:0:0"
+^COVERAGE("DICUIX","X1",9)="2:0:0:0"
+^COVERAGE("DICUIX","X2",2)="2:0:0:0"
+^COVERAGE("DICUIX","X2",3)="2:0:0:0"
+^COVERAGE("DICUIX","X2",4)="2:0:0:0"
+^COVERAGE("DICUIX","X2",5)="2:0:0:0"
+^COVERAGE("DICUIX","X2",8)="2:0:0:0"
+^COVERAGE("DICUIX","X2",11)="2:0:0:0"
+^COVERAGE("DICUIX","X2",12)="2:0:0:0"
+^COVERAGE("DICUIX","X2",13)="2:0:0:0"
+^COVERAGE("DICUIX","X2",14)="2:0:0:0"
+^COVERAGE("DICUIX","X2",15)="2:0:0:0"
+^COVERAGE("DICUIX","X2",15,"FOR_LOOP",1)=2
+^COVERAGE("DICUIX","X2",16)="2:0:0:0"
+^COVERAGE("DICUIX","X2",17)="2:0:0:0"
+^COVERAGE("DICUIX","X2",18)="2:0:0:0"
+^COVERAGE("DICUIX","X2",19)="2:0:0:0"
+^COVERAGE("DICUIX","X2",20)="2:0:0:0"
+^COVERAGE("DICUIX","X2",21)="2:0:0:0"
+^COVERAGE("DICUIX","X2",22)="2:0:0:0"
+^COVERAGE("DICUIX","X2",23)="2:0:0:0"
+^COVERAGE("DICUIX","X2",24)="2:0:0:0"
+^COVERAGE("DICUIX","X2",25)="2:0:0:0"
+^COVERAGE("DICUIX","X2",26)="2:0:0:0"
+^COVERAGE("DICUIX","X2",27)="2:0:0:0"
+^COVERAGE("DICUIX","X2",28)="2:0:0:0"
+^COVERAGE("DICUIX","X2",29)="2:0:0:0"
+^COVERAGE("DICUIX","X2",30)="2:0:0:0"
+^COVERAGE("DICUIX","X2",31)="2:0:0:0"
+^COVERAGE("DICUIX","X2",32)="2:0:0:0"
+^COVERAGE("DICUIX","X2",33)="2:0:0:0"
+^COVERAGE("DICUIX","XREF")="2:0:0:0"
+^COVERAGE("DICUIX","XREF",0)="2:0:0:0"
+^COVERAGE("DICUIX1","G1",2)="2:0:0:0"
+^COVERAGE("DICUIX1","G1",3)="2:0:0:0"
+^COVERAGE("DICUIX1","G1",4)="2:0:0:0"
+^COVERAGE("DICUIX1","G2",2)="2:0:0:0"
+^COVERAGE("DICUIX1","G2",3)="2:0:0:0"
+^COVERAGE("DICUIX1","G3",2)="2:0:0:0"
+^COVERAGE("DICUIX1","G30",1)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",2)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",3)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",4)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",5)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",6)="2:0:0:0"
+^COVERAGE("DICUIX1","G4",7)="2:0:0:0"
+^COVERAGE("DICUIX1","G5",2)="2:0:0:0"
+^COVERAGE("DICUIX1","G5",3)="2:0:0:0"
+^COVERAGE("DICUIX1","G5",7)="2:0:0:0"
+^COVERAGE("DICUIX1","GET")="2:0:0:0"
+^COVERAGE("DICUIX1","GET",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C1",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C1",1)="2:0:0:0"
+^COVERAGE("DICUIX2","C2",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C2",1)="2:0:0:0"
+^COVERAGE("DICUIX2","C3",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C3",1)="2:0:0:0"
+^COVERAGE("DICUIX2","C3",2)="2:0:0:0"
+^COVERAGE("DICUIX2","C3",5)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",1)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",2)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",3)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",4)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",5)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",6)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",7)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",8)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",9)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",10)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",11)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",12)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",17)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",18)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",23)="2:0:0:0"
+^COVERAGE("DICUIX2","C4",24)="2:0:0:0"
+^COVERAGE("DICUIX2","C5",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C5",1)="2:0:0:0"
+^COVERAGE("DICUIX2","C6",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C6",18)="2:0:0:0"
+^COVERAGE("DICUIX2","C6",19)="2:0:0:0"
+^COVERAGE("DICUIX2","C6",20)="2:0:0:0"
+^COVERAGE("DICUIX2","C7",0)="2:0:0:0"
+^COVERAGE("DICUIX2","C7",7)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1")="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",1)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",2)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",3)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",4)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",5)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",6)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON1",7)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2")="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",1)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",2)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",3)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",4)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",5)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",6)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",7)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",8)="2:0:0:0"
+^COVERAGE("DICUIX2","COMMON2",9)="2:0:0:0"
+^COVERAGE("DIEFU","IENX",1)="2:0:0:0"
+^COVERAGE("DIEFU","IENX",2)="2:0:0:0"
+^COVERAGE("DIEFU","IENX",3)="2:0:0:0"
+^COVERAGE("DIEFU","IENX",3,"FOR_LOOP",1)=4
+^COVERAGE("DIEFU","IENX",4)="2:0:0:0"
+^COVERAGE("DIEFU","IENX",5)="2:0:0:0"
+^COVERAGE("DILF","CREF")="4:0:0:0"
+^COVERAGE("DILF","CREF",0)="4:0:0:0"
+^COVERAGE("DILF","IENS")="2:0:0:0"
+^COVERAGE("DILF","IENS",0)="2:0:0:0"
+^COVERAGE("DILF","IENS",1)="2:0:0:0"
+^COVERAGE("DILF","OREF")="2:0:0:0"
+^COVERAGE("DILF","OREF",0)="2:0:0:0"
+^COVERAGE("DILIBF","FNO")="2:0:0:0"
+^COVERAGE("DILIBF","FNO",0)="2:0:0:0"
+^COVERAGE("DILIBF","FNO",1)="2:0:0:0"
+^COVERAGE("DILIBF","FNO",2)="2:0:0:0"
+^COVERAGE("DIQGU","ENCREF",0)="4:0:0:0"
+^COVERAGE("DIQGU","ENOREF",0)="2:0:0:0"
+^COVERAGE("DIQGU","OR2")="2:0:0:0"
+^COVERAGE("DIQGU","OR2",0)="2:0:0:0"
+^COVERAGE("XINDEX","A2",0)="468:0:4000:4000"
+^COVERAGE("XINDEX","A2",1)="467:0:0:0"
+^COVERAGE("XINDEX","A2",2)="467:0:0:0"
+^COVERAGE("XINDEX","A2",3)="467:4000:0:4000"
+^COVERAGE("XINDEX","A2",4)="467:0:4000:4000"
+^COVERAGE("XINDEX","A2",5)="467:0:0:0"
+^COVERAGE("XINDEX","ALIVE",1)="1:0:0:0"
+^COVERAGE("XINDEX","B5",0)="467:188012:220012:408024"
+^COVERAGE("XINDEX","B5",0,"FOR_LOOP",1)=44620
+^COVERAGE("XINDEX","B5",1)="467:20000:8000:28000"
+^COVERAGE("XINDEX","B5",2)="467:4000:0:4000"
+^COVERAGE("XINDEX","B5",3)="467:0:0:0"
+^COVERAGE("XINDEX","B5",4)="467:4000:0:4000"
+^COVERAGE("XINDEX","B5",5)="467:0:0:0"
+^COVERAGE("XINDEX","BEG")="467:2460149:2872194:5332343"
+^COVERAGE("XINDEX","BEG",1)="467:8000:0:8000"
+^COVERAGE("XINDEX","BEG",2)="467:4000:0:4000"
+^COVERAGE("XINDEX","BEG",3)="467:0:4000:4000"
+^COVERAGE("XINDEX","BEG",4)="467:0:4000:4000"
+^COVERAGE("XINDEX","BEG",5)="467:4001:0:4001"
+^COVERAGE("XINDEX","BEG",7)="467:0:0:0"
+^COVERAGE("XINDEX","BEG",8)="467:0:0:0"
+^COVERAGE("XINDEX","BEG",9)="467:0:0:0"
+^COVERAGE("XINDEX","BEG",11)="467:4000:0:4000"
+^COVERAGE("XINDEX","BEG",12)="467:0:4000:4000"
+^COVERAGE("XINDEX","BEG",14)="467:0:0:0"
+^COVERAGE("XINDEX","BEG",15)="467:0:0:0"
+^COVERAGE("XINDEX","BEG",16)="467:0:0:0"
+^COVERAGE("XINDEX","CD",0)="44620:32001:36002:68003"
+^COVERAGE("XINDEX","CD",1)="44620:40002:60004:100006"
+^COVERAGE("XINDEX","CD",2)="44620:40001:60002:100003"
+^COVERAGE("XINDEX","CD",3)="44620:36002:44004:80006"
+^COVERAGE("XINDEX","CD",4)="44620:28000:40002:68002"
+^COVERAGE("XINDEX","CD",5)="44620:28002:52001:80003"
+^COVERAGE("XINDEX","CD",6)="10770:28003:20000:48003"
+^COVERAGE("XINDEX","CD",6,"FOR_LOOP",1)=57531
+^COVERAGE("XINDEX","CD",7)="10770:24004:16000:40004"
+^COVERAGE("XINDEX","CD",9)="44620:60005:40004:100009"
+^COVERAGE("XINDEX","CD",10)="44620:44003:48005:92008"
+^COVERAGE("XINDEX","CD",12)="44620:52004:44002:96006"
+^COVERAGE("XINDEX","EE",0)="116081:148007:200014:348021"
+^COVERAGE("XINDEX","EE",1)="71461:44004:44002:88006"
+^COVERAGE("XINDEX","EE",2)="71461:100007:80003:180010"
+^COVERAGE("XINDEX","EE",3)="54870:44001:48001:92002"
+^COVERAGE("XINDEX","EE",4)="53608:88008:100009:188017"
+^COVERAGE("XINDEX","EE",5)="53608:72006:68004:140010"
+^COVERAGE("XINDEX","EE",6)="53608:76005:72004:148009"
+^COVERAGE("XINDEX","EE",8)="53608:60003:64005:124008"
+^COVERAGE("XINDEX","EE",9)="53608:48003:72003:120006"
+^COVERAGE("XINDEX","EE",10)="53608:52002:96008:148010"
+^COVERAGE("XINDEX","EE",13)="53608:52003:44001:96004"
+^COVERAGE("XINDEX","EE",14)="53608:96007:112006:208013"
+^COVERAGE("XINDEX","EE",15)="53608:24001:52004:76005"
+^COVERAGE("XINDEX","EE",16)="53608:52005:88007:140012"
+^COVERAGE("XINDEX","EE",17)="53608:128008:208017:336025"
+^COVERAGE("XINDEX","F")="1559:4000:4001:8001"
+^COVERAGE("XINDEX","F",0)="1559:4000:0:4000"
+^COVERAGE("XINDEX","G")="1932:56003:96009:152012"
+^COVERAGE("XINDEX","G",0)="1932:4000:8002:12002"
+^COVERAGE("XINDEX","H")="11:0:0:0"
+^COVERAGE("XINDEX","H",0)="11:0:0:0"
+^COVERAGE("XINDEX","K")="2218:40001:24002:64003"
+^COVERAGE("XINDEX","K",0)="2218:4000:4000:8000"
+^COVERAGE("XINDEX","K",1)="2218:0:4001:4001"
+^COVERAGE("XINDEX","L")="259:4001:4000:8001"
+^COVERAGE("XINDEX","L",0)="259:0:0:0"
+^COVERAGE("XINDEX","LN",0)="44620:68005:104005:172010"
+^COVERAGE("XINDEX","LN",1)="44620:40001:64004:104005"
+^COVERAGE("XINDEX","LN",2)="5073:12000:4001:16001"
+^COVERAGE("XINDEX","LN",3)="5073:4000:8000:12000"
+^COVERAGE("XINDEX","LN",4)="5073:20001:0:20001"
+^COVERAGE("XINDEX","LN",5)="5073:20003:12002:32005"
+^COVERAGE("XINDEX","LN",6)="5073:12002:16000:28002"
+^COVERAGE("XINDEX","LOAD")="467:88003:196019:284022"
+^COVERAGE("XINDEX","LOAD",0)="467:88003:196019:284022"
+^COVERAGE("XINDEX","LOAD",1)="467:0:0:0"
+^COVERAGE("XINDEX","LOAD",2)="467:0:0:0"
+^COVERAGE("XINDEX","M")="30:4000:0:4000"
+^COVERAGE("XINDEX","M",0)="30:0:0:0"
+^COVERAGE("XINDEX","N")="1721:88005:80004:168009"
+^COVERAGE("XINDEX","N",0)="1721:4000:0:4000"
+^COVERAGE("XINDEX","POSTRTN")="467:108009:96003:204012"
+^COVERAGE("XINDEX","POSTRTN",1)="467:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",2)="467:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",3)="467:12000:8000:20000"
+^COVERAGE("XINDEX","POSTRTN",3,"FOR_LOOP",1)=2558
+^COVERAGE("XINDEX","POSTRTN",4)="2091:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",5)="2044:4000:0:4000"
+^COVERAGE("XINDEX","POSTRTN",6)="2044:4000:0:4000"
+^COVERAGE("XINDEX","POSTRTN",9)="2044:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",10)="467:0:4000:4000"
+^COVERAGE("XINDEX","POSTRTN",11)="467:12002:16001:28003"
+^COVERAGE("XINDEX","POSTRTN",11,"FOR_LOOP",1)=5540
+^COVERAGE("XINDEX","POSTRTN",12)="5073:0:4000:4000"
+^COVERAGE("XINDEX","POSTRTN",13)="5073:8000:4000:12000"
+^COVERAGE("XINDEX","POSTRTN",14)="5073:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",15)="467:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",16)="467:28001:20001:48002"
+^COVERAGE("XINDEX","POSTRTN",16,"FOR_LOOP",1)=16376
+^COVERAGE("XINDEX","POSTRTN",17)="15909:40006:40001:80007"
+^COVERAGE("XINDEX","POSTRTN",18)="15909:0:0:0"
+^COVERAGE("XINDEX","POSTRTN",19)="467:0:0:0"
+^COVERAGE("XINDEX","Q")="7762:12000:20001:32001"
+^COVERAGE("XINDEX","Q",0)="7762:4000:16001:20001"
+^COVERAGE("XINDEX","QUOTE")="36371:188012:232009:420021"
+^COVERAGE("XINDEX","QUOTE",0)="36371:156010:192008:348018"
+^COVERAGE("XINDEX","QUOTE",0,"FOR_LOOP",1)=323268
+^COVERAGE("XINDEX","QUOTE",1)="36371:20002:20001:40003"
+^COVERAGE("XINDEX","R")="85:0:8001:8001"
+^COVERAGE("XINDEX","R",0)="85:0:0:0"
+^COVERAGE("XINDEX","S")="17549:716055:988057:1704112"
+^COVERAGE("XINDEX","S",0)="17549:28003:28003:56006"
+^COVERAGE("XINDEX","SE2",0)="86891:176010:272017:448027"
+^COVERAGE("XINDEX","SE2",1)="85079:264015:376016:640031"
+^COVERAGE("XINDEX","SE2",2)="85079:72005:112010:184015"
+^COVERAGE("XINDEX","SEP")="107216:736054:648038:1384092"
+^COVERAGE("XINDEX","SEP",0)="107216:580045:440030:1020075"
+^COVERAGE("XINDEX","SEP",0,"FOR_LOOP",1)=1019212
+^COVERAGE("XINDEX","SEP",1)="107216:120007:144005:264012"
+^COVERAGE("XINDEX","SET")="85079:772044:1124063:1896107"
+^COVERAGE("XINDEX","SET",0)="85079:176007:168008:344015"
+^COVERAGE("XINDEX","SET",0,"FOR_LOOP",1)=74812
+^COVERAGE("XINDEX","SET",1)="85079:64005:144010:208015"
+^COVERAGE("XINDEX","ST",0)="44620:68001:56004:124005"
+^COVERAGE("XINDEX","ST",2)="44620:260012:376038:636050"
+^COVERAGE("XINDEX","ST",2,"FOR_LOOP",1)=85813
+^COVERAGE("XINDEX","ST",2,"FOR_LOOP",2)=126272
+^COVERAGE("XINDEX","ST",3)="44620:224014:184014:408028"
+^COVERAGE("XINDEX","ST",4)="44620:0:0:0"
+^COVERAGE("XINDEX","U")="72:0:0:0"
+^COVERAGE("XINDEX","U",0)="72:0:0:0"
+^COVERAGE("XINDEX","W")="4584:156009:200014:356023"
+^COVERAGE("XINDEX","W",0)="4584:0:16001:16001"
+^COVERAGE("XINDEX","X")="220:0:0:0"
+^COVERAGE("XINDEX","X",0)="220:0:0:0"
+^COVERAGE("XINDEX","XINDEX")="1:32002:36000:68002"
+^COVERAGE("XINDEX","XINDEX",3)="1:0:0:0"
+^COVERAGE("XINDX1","A",0)="75:0:4000:4000"
+^COVERAGE("XINDX1","A",1)="75:0:0:0"
+^COVERAGE("XINDX1","A",2)="75:0:0:0"
+^COVERAGE("XINDX1","B",0)="75:0:0:0"
+^COVERAGE("XINDX1","B",4)="75:0:0:0"
+^COVERAGE("XINDX1","B",6)="75:0:0:0"
+^COVERAGE("XINDX1","B",7)="75:0:0:0"
+^COVERAGE("XINDX1","E")="73:0:4000:4000"
+^COVERAGE("XINDX1","E",0)="73:0:0:0"
+^COVERAGE("XINDX1","XINDX1")="2:0:0:0"
+^COVERAGE("XINDX1","XINDX1",3)="2:0:0:0"
+^COVERAGE("XINDX10","ASK")="1:0:0:0"
+^COVERAGE("XINDX10","ASK",1)="1:0:0:0"
+^COVERAGE("XINDX10","ASK",2)="1:0:0:0"
+^COVERAGE("XINDX10","ASK",3)="1:0:0:0"
+^COVERAGE("XINDX10","ASK",8)="1:0:0:0"
+^COVERAGE("XINDX2","%")="44620:132010:232014:364024"
+^COVERAGE("XINDX2","%",0)="44620:96008:92005:188013"
+^COVERAGE("XINDX2","%",0,"FOR_LOOP",1)=62810
+^COVERAGE("XINDX2","%",1)="44620:16001:68003:84004"
+^COVERAGE("XINDX2","ARG")="329774:1516089:2124136:3640225"
+^COVERAGE("XINDX2","ARG",1)="330498:328020:360021:688041"
+^COVERAGE("XINDX2","ARG",2)="262221:228015:296022:524037"
+^COVERAGE("XINDX2","ARG",3)="226556:260020:468034:728054"
+^COVERAGE("XINDX2","ARG",4)="126854:104004:160011:264015"
+^COVERAGE("XINDX2","ARG",5)="117750:136007:148011:284018"
+^COVERAGE("XINDX2","ARG",6)="88629:60001:96003:156004"
+^COVERAGE("XINDX2","ARG",7)="88424:80005:100006:180011"
+^COVERAGE("XINDX2","ARG",8)="86550:72002:108007:180009"
+^COVERAGE("XINDX2","ARGG")="18715:288018:352019:640037"
+^COVERAGE("XINDX2","ARGG",0)="18715:76007:84005:160012"
+^COVERAGE("XINDX2","ARGG",0,"FOR_LOOP",1)=49672
+^COVERAGE("XINDX2","ARGS")="44410:464031:676031:1140062"
+^COVERAGE("XINDX2","ARGS",1)="63125:620038:844037:1464075"
+^COVERAGE("XINDX2","ARGS",1,"FOR_LOOP",1)=291597
+^COVERAGE("XINDX2","ARGS",2)="63125:24001:60004:84005"
+^COVERAGE("XINDX2","DN")="44410:208011:284017:492028"
+^COVERAGE("XINDX2","DN",0)="44410:44003:108008:152011"
+^COVERAGE("XINDX2","DN",1)="44410:152008:144006:296014"
+^COVERAGE("XINDX2","EXT",1)="1970:4000:8001:12001"
+^COVERAGE("XINDX2","EXT",2)="1970:0:0:0"
+^COVERAGE("XINDX2","EXT",3)="1970:8001:12001:20002"
+^COVERAGE("XINDX2","EXT",4)="1970:0:4000:4000"
+^COVERAGE("XINDX2","FLUSH")="94:0:0:0"
+^COVERAGE("XINDX2","FLUSH",0)="94:0:0:0"
+^COVERAGE("XINDX2","FLUSH",1)="94:0:0:0"
+^COVERAGE("XINDX2","FLUSH",1,"FOR_LOOP",1)=415
+^COVERAGE("XINDX2","FLUSH",2)="94:0:0:0"
+^COVERAGE("XINDX2","FNC")="12:0:0:0"
+^COVERAGE("XINDX2","FNC",0)="12:0:0:0"
+^COVERAGE("XINDX2","FNC",1)="12:0:0:0"
+^COVERAGE("XINDX2","FNC",2)="12:0:0:0"
+^COVERAGE("XINDX2","FNC",3)="12:0:0:0"
+^COVERAGE("XINDX2","FNC",4)="12:0:0:0"
+^COVERAGE("XINDX2","FUN")="29121:340019:424027:764046"
+^COVERAGE("XINDX2","FUN",0)="29121:36004:40002:76006"
+^COVERAGE("XINDX2","FUN",1)="23452:48002:72003:120005"
+^COVERAGE("XINDX2","FUN",2)="23452:20000:44003:64003"
+^COVERAGE("XINDX2","FUN",3)="23393:96004:56005:152009"
+^COVERAGE("XINDX2","FUN",3,"FOR_LOOP",1)=147754
+^COVERAGE("XINDX2","FUN",4)="23393:48003:56005:104008"
+^COVERAGE("XINDX2","FUN",5)="23393:60004:92005:152009"
+^COVERAGE("XINDX2","GLO",0)="9104:28002:28001:56003"
+^COVERAGE("XINDX2","GLO",1)="9104:12001:20001:32002"
+^COVERAGE("XINDX2","GLO",2)="9104:16000:28001:44001"
+^COVERAGE("XINDX2","GLO",3)="9104:36002:80004:116006"
+^COVERAGE("XINDX2","GLO",4)="9104:8000:4000:12000"
+^COVERAGE("XINDX2","INC")="322910:416022:652029:1068051"
+^COVERAGE("XINDX2","INC",0)="365505:320019:472020:792039"
+^COVERAGE("XINDX2","INC2")="42595:104006:148008:252014"
+^COVERAGE("XINDX2","INC2",0)="42595:48001:40003:88004"
+^COVERAGE("XINDX2","LOC")="99702:576031:736052:1312083"
+^COVERAGE("XINDX2","LOC",0)="99702:144010:156013:300023"
+^COVERAGE("XINDX2","LOC",1)="99702:124004:148011:272015"
+^COVERAGE("XINDX2","LOC",2)="99702:212011:272014:484025"
+^COVERAGE("XINDX2","LOC",3)="99702:52005:96006:148011"
+^COVERAGE("XINDX2","NAK",0)="996:0:0:0"
+^COVERAGE("XINDX2","NAK",1)="996:0:0:0"
+^COVERAGE("XINDX2","PAT")="205:4000:0:4000"
+^COVERAGE("XINDX2","PAT",0)="205:0:0:0"
+^COVERAGE("XINDX2","PAT",1)="205:4000:0:4000"
+^COVERAGE("XINDX2","PAT",1,"FOR_LOOP",1)=457
+^COVERAGE("XINDX2","PAT",2)="205:0:0:0"
+^COVERAGE("XINDX2","PATCODE")="457:4000:4000:8000"
+^COVERAGE("XINDX2","PATCODE",0)="457:0:4000:4000"
+^COVERAGE("XINDX2","PATCODE",1)="358:4000:0:4000"
+^COVERAGE("XINDX2","PATCODE",1,"FOR_LOOP",1)=791
+^COVERAGE("XINDX2","PATCODE",2)="358:0:0:0"
+^COVERAGE("XINDX2","PATCODE",3)="358:0:0:0"
+^COVERAGE("XINDX2","PATCODE",4)="358:0:0:0"
+^COVERAGE("XINDX2","PATQ")="99:4000:4000:8000"
+^COVERAGE("XINDX2","PATQ",0)="99:0:4000:4000"
+^COVERAGE("XINDX2","PATQ",0,"FOR_LOOP",1)=247
+^COVERAGE("XINDX2","PATQ",1)="99:4000:0:4000"
+^COVERAGE("XINDX2","PATQ",2)="99:0:0:0"
+^COVERAGE("XINDX2","PEEK")="112687:168013:248022:416035"
+^COVERAGE("XINDX2","PEEK",0)="112687:120009:164010:284019"
+^COVERAGE("XINDX2","PEEKDN")="17373:56002:40000:96002"
+^COVERAGE("XINDX2","PEEKDN",0)="17373:48002:32000:80002"
+^COVERAGE("XINDX2","REPCNT")="457:0:0:0"
+^COVERAGE("XINDX2","REPCNT",0)="457:0:0:0"
+^COVERAGE("XINDX2","REPCNT",0,"FOR_LOOP",1)=1004
+^COVERAGE("XINDX2","REPCNT",1)="457:0:0:0"
+^COVERAGE("XINDX2","REPCNT",2)="457:0:0:0"
+^COVERAGE("XINDX2","SPV",1)="3699:0:8001:8001"
+^COVERAGE("XINDX2","SPV",2)="3699:0:0:0"
+^COVERAGE("XINDX2","ST")="110835:464030:648049:1112079"
+^COVERAGE("XINDX2","ST",0)="110835:192009:248021:440030"
+^COVERAGE("XINDX2","ST",1)="110835:100008:156011:256019"
+^COVERAGE("XINDX2","ST",2)="110835:76005:116005:192010"
+^COVERAGE("XINDX2","TEXT",0)="59:0:0:0"
+^COVERAGE("XINDX2","TEXT",1)="59:0:0:0"
+^COVERAGE("XINDX2","TEXT",2)="59:0:0:0"
+^COVERAGE("XINDX2","TEXT",3)="59:0:0:0"
+^COVERAGE("XINDX2","UP")="44410:116012:180012:296024"
+^COVERAGE("XINDX2","UP",1)="44410:112012:116006:228018"
+^COVERAGE("XINDX2","VA")="5073:16001:20000:36001"
+^COVERAGE("XINDX2","VA",0)="5073:4000:12000:16000"
+^COVERAGE("XINDX2","VA",1)="5073:8000:4000:12000"
+^COVERAGE("XINDX2","VT")="10205:4001:24002:28003"
+^COVERAGE("XINDX2","VT",0)="10205:0:8000:8000"
+^COVERAGE("XINDX2","VT",1)="10205:0:4000:4000"
+^COVERAGE("XINDX3","A",0)="8136:36001:12001:48002"
+^COVERAGE("XINDX3","ASM")="312:12001:0:12001"
+^COVERAGE("XINDX3","ASM",0)="312:0:0:0"
+^COVERAGE("XINDX3","ASM",1)="312:8001:0:8001"
+^COVERAGE("XINDX3","ASM",1,"FOR_LOOP",1)=2110
+^COVERAGE("XINDX3","ASM",2)="312:0:0:0"
+^COVERAGE("XINDX3","DN")="498:4000:4000:8000"
+^COVERAGE("XINDX3","DN",0)="498:0:4000:4000"
+^COVERAGE("XINDX3","DN",1)="498:4000:0:4000"
+^COVERAGE("XINDX3","FL")="63250:152007:260014:412021"
+^COVERAGE("XINDX3","FL",1)="63250:72000:144009:216009"
+^COVERAGE("XINDX3","FL",2)="63250:64006:80004:144010"
+^COVERAGE("XINDX3","INC")="145482:224018:308026:532044"
+^COVERAGE("XINDX3","INC",0)="145482:188015:196015:384030"
+^COVERAGE("XINDX3","KL",1)="2218:0:4000:4000"
+^COVERAGE("XINDX3","KL1")="28:0:0:0"
+^COVERAGE("XINDX3","KL1",0)="28:0:0:0"
+^COVERAGE("XINDX3","KL2")="724:4000:28000:32000"
+^COVERAGE("XINDX3","KL2",0)="724:0:0:0"
+^COVERAGE("XINDX3","KL2",1)="724:0:4000:4000"
+^COVERAGE("XINDX3","KL2",2)="724:0:0:0"
+^COVERAGE("XINDX3","KL3")="3320:12002:36002:48004"
+^COVERAGE("XINDX3","KL3",0)="3320:4000:8000:12000"
+^COVERAGE("XINDX3","KL3",1)="3320:4001:4000:8001"
+^COVERAGE("XINDX3","KL5",0)="3320:0:20002:20002"
+^COVERAGE("XINDX3","MULT")="498:8001:4000:12001"
+^COVERAGE("XINDX3","MULT",0)="498:4001:0:4001"
+^COVERAGE("XINDX3","MULT",1)="498:4000:4000:8000"
+^COVERAGE("XINDX3","MULT",1,"FOR_LOOP",1)=2401
+^COVERAGE("XINDX3","MULT",2)="498:0:0:0"
+^COVERAGE("XINDX3","N2",0)="23604:68004:36003:104007"
+^COVERAGE("XINDX3","N2",3)="11802:16002:4000:20002"
+^COVERAGE("XINDX3","N2",4)="187:0:0:0"
+^COVERAGE("XINDX3","N2",5)="187:0:0:0"
+^COVERAGE("XINDX3","N2",6)="11628:12001:20002:32003"
+^COVERAGE("XINDX3","N2",7)="11628:12000:8000:20000"
+^COVERAGE("XINDX3","NE")="779:32002:16001:48003"
+^COVERAGE("XINDX3","NE",1)="2500:4000:4000:8000"
+^COVERAGE("XINDX3","NE",2)="2500:4000:20000:24000"
+^COVERAGE("XINDX3","PEEK")="498:0:0:0"
+^COVERAGE("XINDX3","PEEK",0)="498:0:0:0"
+^COVERAGE("XINDX3","PEEKDN")="39:0:0:0"
+^COVERAGE("XINDX3","PEEKDN",0)="39:0:0:0"
+^COVERAGE("XINDX3","RD",0)="85:0:0:0"
+^COVERAGE("XINDX3","RD1",0)="278:0:4001:4001"
+^COVERAGE("XINDX3","RD1",3)="193:0:4000:4000"
+^COVERAGE("XINDX3","RD1",4)="85:0:0:0"
+^COVERAGE("XINDX3","RD1",5)="85:0:0:0"
+^COVERAGE("XINDX3","RD2")="85:0:4000:4000"
+^COVERAGE("XINDX3","RD2",0)="255:0:0:0"
+^COVERAGE("XINDX3","RD2",1)="170:0:0:0"
+^COVERAGE("XINDX3","RD2",2)="170:0:4000:4000"
+^COVERAGE("XINDX3","RD2",3)="85:0:0:0"
+^COVERAGE("XINDX3","RD3")="108:0:0:0"
+^COVERAGE("XINDX3","RD3",0)="161:0:0:0"
+^COVERAGE("XINDX3","RD3",1)="37:0:0:0"
+^COVERAGE("XINDX3","RD3",2)="37:0:0:0"
+^COVERAGE("XINDX3","S",1)="17579:48005:56003:104008"
+^COVERAGE("XINDX3","S2",0)="110559:164008:220011:384019"
+^COVERAGE("XINDX3","S2",1)="92980:64007:96005:160012"
+^COVERAGE("XINDX3","S2",2)="92980:52004:100005:152009"
+^COVERAGE("XINDX3","S2",3)="87238:60005:68003:128008"
+^COVERAGE("XINDX3","S2",4)="63916:68007:68004:136011"
+^COVERAGE("XINDX3","S2",5)="846:0:0:0"
+^COVERAGE("XINDX3","S2",6)="846:0:4000:4000"
+^COVERAGE("XINDX3","S2",10)="63916:56004:60003:116007"
+^COVERAGE("XINDX3","S2",11)="62481:40002:60003:100005"
+^COVERAGE("XINDX3","S2",12)="62313:56003:56005:112008"
+^COVERAGE("XINDX3","S2",13)="61815:76007:152010:228017"
+^COVERAGE("XINDX3","UP")="498:8000:4000:12000"
+^COVERAGE("XINDX3","UP",1)="498:8000:4000:12000"
+^COVERAGE("XINDX3","VLN",1)="15909:32002:16001:48003"
+^COVERAGE("XINDX3","VLN",2)="15909:44002:28003:72005"
+^COVERAGE("XINDX3","VLNF")="15909:120006:60005:180011"
+^COVERAGE("XINDX3","VLNF",0)="15909:32002:12001:44003"
+^COVERAGE("XINDX4","CNG")="2186:0:24001:24001"
+^COVERAGE("XINDX4","CNG",0)="2186:0:0:0"
+^COVERAGE("XINDX4","CNG",2)="2186:0:8001:8001"
+^COVERAGE("XINDX4","CNG",2,"FOR_LOOP",1)=2202
+^COVERAGE("XINDX4","CNG",3)="2186:0:12000:12000"
+^COVERAGE("XINDX4","DG",0)="8937:20003:16000:36003"
+^COVERAGE("XINDX4","DG",1)="8937:12000:16001:28001"
+^COVERAGE("XINDX4","DG",2)="8937:8001:20002:28003"
+^COVERAGE("XINDX4","DG",3)="8937:16000:12000:28000"
+^COVERAGE("XINDX4","DG",4)="8937:4000:12001:16001"
+^COVERAGE("XINDX4","DG",5)="8937:0:12002:12002"
+^COVERAGE("XINDX4","DG",6)="8937:12001:12000:24001"
+^COVERAGE("XINDX4","DG",7)="8937:12000:20003:32003"
+^COVERAGE("XINDX4","DG",8)="8937:24001:4001:28002"
+^COVERAGE("XINDX4","DG",9)="8937:4000:12001:16001"
+^COVERAGE("XINDX4","DG",10)="8937:16001:28001:44002"
+^COVERAGE("XINDX4","DG",11)="8937:8000:12000:20000"
+^COVERAGE("XINDX4","DG",12)="8937:4000:16002:20002"
+^COVERAGE("XINDX4","DG",13)="8937:8000:12002:20002"
+^COVERAGE("XINDX4","DG",14)="8937:0:4000:4000"
+^COVERAGE("XINDX4","DG",15)="8937:36002:32002:68004"
+^COVERAGE("XINDX4","DG",16)="8937:8001:4001:12002"
+^COVERAGE("XINDX4","DG",17)="8387:12002:4000:16002"
+^COVERAGE("XINDX4","DG1")="8449:168011:180013:348024"
+^COVERAGE("XINDX4","DG1",0)="8449:12001:16001:28002"
+^COVERAGE("XINDX4","FR",0)="525:0:4001:4001"
+^COVERAGE("XINDX4","FR",1)="525:0:0:0"
+^COVERAGE("XINDX4","FR",2)="525:0:0:0"
+^COVERAGE("XINDX4","INSIDE")="2202:4001:32001:36002"
+^COVERAGE("XINDX4","INSIDE",0)="2202:0:16000:16000"
+^COVERAGE("XINDX4","INSIDE",1)="2202:0:4000:4000"
+^COVERAGE("XINDX4","INSIDE",2)="2202:4001:4000:8001"
+^COVERAGE("XINDX4","LO",1)="259:0:0:0"
+^COVERAGE("XINDX4","LO",2)="259:0:0:0"
+^COVERAGE("XINDX4","LO",3)="259:0:0:0"
+^COVERAGE("XINDX4","LO",4)="259:0:4000:4000"
+^COVERAGE("XINDX4","LO",4,"FOR_LOOP",1)=260
+^COVERAGE("XINDX4","LO",5)="260:0:0:0"
+^COVERAGE("XINDX4","LO",6)="260:0:0:0"
+^COVERAGE("XINDX4","LO",7)="260:0:0:0"
+^COVERAGE("XINDX4","LO",8)="89:0:0:0"
+^COVERAGE("XINDX4","LO",9)="89:0:0:0"
+^COVERAGE("XINDX4","LO",10)="89:4001:0:4001"
+^COVERAGE("XINDX4","LO",12)="259:0:0:0"
+^COVERAGE("XINDX4","LO",13)="259:0:0:0"
+^COVERAGE("XINDX4","LOOP")="14735:44003:108008:152011"
+^COVERAGE("XINDX4","LOOP",0)="14735:28002:72005:100007"
+^COVERAGE("XINDX4","LOOP",0,"FOR_LOOP",1)=68121
+^COVERAGE("XINDX4","LOOP",1)="14735:4000:32003:36003"
+^COVERAGE("XINDX4","PAREN")="2638:24000:36004:60004"
+^COVERAGE("XINDX4","PAREN",0)="2638:4000:8000:12000"
+^COVERAGE("XINDX4","PAREN",1)="2638:20000:16001:36001"
+^COVERAGE("XINDX4","PAREN",1,"FOR_LOOP",1)=50171
+^COVERAGE("XINDX4","PAREN",2)="2638:0:8002:8002"
+^COVERAGE("XINDX4","PAREN",3)="2638:0:0:0"
+^COVERAGE("XINDX4","PRUNE")="2186:8001:16001:24002"
+^COVERAGE("XINDX4","PRUNE",0)="2186:8001:4000:12001"
+^COVERAGE("XINDX4","PRUNE",1)="2186:0:8001:8001"
+^COVERAGE("XINDX4","PRUNE",1,"FOR_LOOP",1)=2186
+^COVERAGE("XINDX4","PRUNE",2)="2186:0:4000:4000"
+^COVERAGE("XINDX4","PRUNE",2,"FOR_LOOP",1)=2187
+^COVERAGE("XINDX4","PRUNE",3)="2186:0:0:0"
+^COVERAGE("XINDX4","Q",1)="747:8000:0:8000"
+^COVERAGE("XINDX4","Q",2)="747:0:0:0"
+^COVERAGE("XINDX4","QUOTE")="2402:28002:28000:56002"
+^COVERAGE("XINDX4","QUOTE",0)="2402:20002:20000:40002"
+^COVERAGE("XINDX4","QUOTE",0,"FOR_LOOP",1)=23674
+^COVERAGE("XINDX4","QUOTE",1)="2402:0:0:0"
+^COVERAGE("XINDX4","QUOTE",2)="2402:8000:4000:12000"
+^COVERAGE("XINDX4","ST")="8937:24000:16002:40002"
+^COVERAGE("XINDX4","ST",0)="8937:12000:8000:20000"
+^COVERAGE("XINDX4","ST",1)="8937:8000:8002:16002"
+^COVERAGE("XINDX4","WR",0)="4584:12001:12000:24001"
+^COVERAGE("XINDX4","WR",1)="4584:0:8000:8000"
+^COVERAGE("XINDX4","WR",2)="4584:72004:56006:128010"
+^COVERAGE("XINDX4","WR",2,"FOR_LOOP",1)=27607
+^COVERAGE("XINDX4","WR",3)="23023:8002:32003:40005"
+^COVERAGE("XINDX4","WR",4)="20835:12000:32001:44001"
+^COVERAGE("XINDX4","WR",5)="20835:24002:8001:32003"
+^COVERAGE("XINDX4","WR",6)="20835:24000:36002:60002"
+^COVERAGE("XINDX4","WR",7)="20835:0:0:0"
+^COVERAGE("XINDX4","WR",8)="4584:4000:0:4000"
+^COVERAGE("XINDX4","XE",0)="220:0:0:0"
+^COVERAGE("XINDX4","XE",1)="220:0:0:0"
+^COVERAGE("XINDX5","A",0)="468:0:4000:4000"
+^COVERAGE("XINDX5","A",1)="467:28002:24000:52002"
+^COVERAGE("XINDX5","A",1,"FOR_LOOP",1)=4011
+^COVERAGE("XINDX5","A",2)="467:0:0:0"
+^COVERAGE("XINDX5","AA")="3544:48004:68006:116010"
+^COVERAGE("XINDX5","AA",0)="3544:8002:16003:24005"
+^COVERAGE("XINDX5","AA",1)="1902:0:4000:4000"
+^COVERAGE("XINDX5","AA",2)="1902:4001:0:4001"
+^COVERAGE("XINDX5","AA",3)="1902:12001:4001:16002"
+^COVERAGE("XINDX5","AA",4)="1902:12000:32002:44002"
+^COVERAGE("XINDX5","AA",5)="1902:0:0:0"
+^COVERAGE("XINDX5","AA",6)="1209:0:0:0"
+^COVERAGE("XINDX5","AA",7)="1209:8000:4000:12000"
+^COVERAGE("XINDX5","AA",8)="1209:0:0:0"
+^COVERAGE("XINDX5","AA",9)="1642:0:4000:4000"
+^COVERAGE("XINDX5","AA",10)="1594:0:0:0"
+^COVERAGE("XINDX5","AA",11)="1594:4000:4000:8000"
+^COVERAGE("XINDX5","AA",12)="1642:0:0:0"
+^COVERAGE("XINDX5","B",0)="1:0:0:0"
+^COVERAGE("XINDX5","CLEAN",1)="1:0:0:0"
+^COVERAGE("XINDX5","CLEAN",2)="1:0:0:0"
+^COVERAGE("XINDX5","CLEAN",3)="1:0:0:0"
+^COVERAGE("XINDX5","END",0)="1:0:0:0"
+^COVERAGE("XINDX5","END",1)="1:0:0:0"
+^COVERAGE("XINDX5","END",2)="1:0:0:0"
+^COVERAGE("XINDX5","END",3)="1:0:0:0"
+^COVERAGE("XINDX5","VTAG")="4320:12000:16001:28001"
+^COVERAGE("XINDX5","VTAG",0)="4320:12000:8001:20001"
+^COVERAGE("XINDX5","VTAG",1)="4320:0:4000:4000"
+^COVERAGE("XINDX5","XINDX5",3)="1:0:0:0"
+^COVERAGE("XINDX5","XINDX5",4)="1:0:0:0"
+^COVERAGE("XINDX5","XINDX5",5)="1:0:0:0"
+^COVERAGE("XINDX5","XINDX5",7)="1:0:0:0"
+^COVERAGE("XINDX51","B")="1:0:4001:4001"
+^COVERAGE("XINDX51","B",0)="1:0:0:0"
+^COVERAGE("XINDX51","B",1)="1:0:0:0"
+^COVERAGE("XINDX51","B",3)="1:0:4001:4001"
+^COVERAGE("XINDX51","B",3,"FOR_LOOP",1)=468
+^COVERAGE("XINDX51","B",4)="1:0:0:0"
+^COVERAGE("XINDX51","B",6)="1:0:0:0"
+^COVERAGE("XINDX51","BHDR")="60:0:4000:4000"
+^COVERAGE("XINDX51","BHDR",0)="60:0:4000:4000"
+^COVERAGE("XINDX51","BHDR",1)="60:0:0:0"
+^COVERAGE("XINDX51","END",0)="1:0:0:0"
+^COVERAGE("XINDX51","HD")="60:0:0:0"
+^COVERAGE("XINDX51","HD",0)="60:0:0:0"
+^COVERAGE("XINDX51","HD",1)="60:0:0:0"
+^COVERAGE("XINDX51","HD1")="1:0:0:0"
+^COVERAGE("XINDX51","HD1",0)="1:0:0:0"
+^COVERAGE("XINDX51","HD1",1)="1:0:0:0"
+^COVERAGE("XINDX51","HD2")="60:4000:0:4000"
+^COVERAGE("XINDX51","HD2",0)="60:4000:0:4000"
+^COVERAGE("XINDX51","HD2",1)="60:0:0:0"
+^COVERAGE("XINDX51","WAIT")="1:0:0:0"
+^COVERAGE("XINDX51","WAIT",0)="1:0:0:0"
+^COVERAGE("XINDX51","WAIT",1)="1:0:0:0"
+^COVERAGE("XINDX51","WAIT",2)="1:0:0:0"
+^COVERAGE("XINDX51","WERR")="60:0:0:0"
+^COVERAGE("XINDX51","WERR",0)="60:0:0:0"
+^COVERAGE("XINDX51","WERR",1)="60:0:0:0"
+^COVERAGE("XINDX51","WERR",2)="60:0:0:0"
+^COVERAGE("XINDX51","WERR",2,"FOR_LOOP",1)=135
+^COVERAGE("XINDX51","WERR",3)="75:0:0:0"
+^COVERAGE("XINDX51","WERR",4)="75:0:0:0"
+^COVERAGE("XINDX51","WERR",5)="75:0:0:0"
+^COVERAGE("XINDX51","WERR",6)="75:0:0:0"
+^COVERAGE("XINDX51","WERR",7)="60:0:0:0"
+^COVERAGE("XINDX51","WORL")="70:0:0:0"
+^COVERAGE("XINDX51","WORL",0)="70:0:0:0"
+^COVERAGE("XINDX51","WORL",1)="70:0:0:0"
+^COVERAGE("XINDX51","WORL",2)="70:0:0:0"
+^COVERAGE("XINDX51","WORL",3)="70:0:0:0"
+^COVERAGE("XINDX51","WORL",3,"FOR_LOOP",1)=76
+^COVERAGE("XINDX51","WORL",4)="70:0:0:0"
+^COVERAGE("XINDX52","CASE")="2:0:0:0"
+^COVERAGE("XINDX52","CASE",0)="2:0:0:0"
+^COVERAGE("XINDX52","CASE",1)="2:0:0:0"
+^COVERAGE("XINDX6","ANS")="2:0:0:0"
+^COVERAGE("XINDX6","ANS",0)="2:0:0:0"
+^COVERAGE("XINDX6","ANS",1)="2:0:0:0"
+^COVERAGE("XINDX6","ANS",1,"FOR_LOOP",1)=2
+^COVERAGE("XINDX6","ANS",2)="2:0:0:0"
+^COVERAGE("XINDX6","ASKRTN")="1:4000:0:4000"
+^COVERAGE("XINDX6","ASKRTN",1)="1:0:0:0"
+^COVERAGE("XINDX6","ASKRTN",1,"FOR_LOOP",1)=468
+^COVERAGE("XINDX6","ASKRTN",2)="1:4000:0:4000"
+^COVERAGE("XINDX6","ASKRTN",2,"FOR_LOOP",1)=468
+^COVERAGE("XINDX6","ASKRTN",3)="1:0:0:0"
+^COVERAGE("XINDX6","DEVICE",0)="1:0:0:0"
+^COVERAGE("XINDX6","DEVICE",2)="1:0:0:0"
+^COVERAGE("XINDX6","DEVICE",3)="1:0:0:0"
+^COVERAGE("XINDX6","L7",0)="1:0:0:0"
+^COVERAGE("XINDX6","L7",1)="1:0:0:0"
+^COVERAGE("XINDX6","NY")="1:0:0:0"
+^COVERAGE("XINDX6","NY",0)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM")="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",1)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",2)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",2,"FOR_LOOP",1)=10
+^COVERAGE("XINDX6","PARAM",3)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",4)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",5)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",6)="1:0:0:0"
+^COVERAGE("XINDX6","PARAM",7)="1:0:0:0"
+^COVERAGE("XINDX6","RD")="2:0:0:0"
+^COVERAGE("XINDX6","RD",0)="2:0:0:0"
+^COVERAGE("XINDX6","XINDX6",5)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",6)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",7)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",8)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",9)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",10)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",11)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",12)="1:0:0:0"
+^COVERAGE("XINDX6","XINDX6",13)="1:0:0:0"
+^COVERAGE("XINDX6","YN")="1:0:0:0"
+^COVERAGE("XINDX6","YN",0)="1:0:0:0"
+^COVERAGE("XINDX7","BUILD")="1:0:0:0"
+^COVERAGE("XINDX7","BUILD",0)="1:0:0:0"
+^COVERAGE("XINDX7","BUILD",1)="1:0:0:0"
+^COVERAGE("XINDX7","BUILD",1,"FOR_LOOP",1)=10
+^COVERAGE("XINDX7","BUILD",2)="9:0:0:0"
+^COVERAGE("XINDX7","BUILD",3)="6:0:0:0"
+^COVERAGE("XINDX7","BUILD",3,"FOR_LOOP",1)=85
+^COVERAGE("XINDX7","BUILD",4)="79:0:0:0"
+^COVERAGE("XINDX7","BUILD",5)="79:0:0:0"
+^COVERAGE("XINDX7","BUILD",6)="6:0:0:0"
+^COVERAGE("XINDX7","BUILD",7)="1:0:0:0"
+^COVERAGE("XINDX7","HDR")="2:0:0:0"
+^COVERAGE("XINDX7","HDR",0)="2:0:0:0"
+^COVERAGE("XINDX7","HDR",1)="2:0:0:0"
+^COVERAGE("XINDX7","HDR",2)="1:0:0:0"
+^COVERAGE("XINDX7","HDR",3)="1:0:0:0"
+^COVERAGE("XINDX7","HDR",4)="1:0:0:0"
+^COVERAGE("XINDX7","HDR",5)="1:0:0:0"
+^COVERAGE("XINDX7","HDR",6)="2:0:0:0"
+^COVERAGE("XINDX7","HDR",7)="2:0:0:0"
+^COVERAGE("XINDX7","SETUP")="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",1)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",2)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",3)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",4)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",6)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",7)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",7,"FOR_LOOP",1)=468
+^COVERAGE("XINDX7","SETUP",8)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",9)="1:0:0:0"
+^COVERAGE("XINDX7","SETUP",10)="1:0:0:0"
+^COVERAGE("XINDX9","ADD")="406841:436032:684041:1120073"
+^COVERAGE("XINDX9","ADD",0)="598820:552042:692040:1244082"
+^COVERAGE("XINDX9","AR")="197699:748039:1052073:1800112"
+^COVERAGE("XINDX9","AR",0)="197699:708036:936061:1644097"
+^COVERAGE("XINDX9","CASE")="23461:28003:92005:120008"
+^COVERAGE("XINDX9","CASE",0)="23461:12002:48003:60005"
+^COVERAGE("XINDX9","CASE",1)="23461:12001:28000:40001"
+^COVERAGE("XINDX9","DN")="45002:204010:248016:452026"
+^COVERAGE("XINDX9","DN",0)="45002:176008:196011:372019"
+^COVERAGE("XINDX9","DN",1)="45002:16001:24003:40004"
+^COVERAGE("XINDX9","EXT",1)="1970:4000:12001:16001"
+^COVERAGE("XINDX9","FNC")="29146:96005:104009:200014"
+^COVERAGE("XINDX9","FNC",0)="29146:28001:20003:48004"
+^COVERAGE("XINDX9","FNC",1)="29146:44002:72005:116007"
+^COVERAGE("XINDX9","FNC",2)="12:0:0:0"
+^COVERAGE("XINDX9","FNC",3)="12:0:0:0"
+^COVERAGE("XINDX9","FUNC")="29134:284015:400024:684039"
+^COVERAGE("XINDX9","FUNC",1)="29134:112005:120007:232012"
+^COVERAGE("XINDX9","FUNC",2)="23461:48003:72004:120007"
+^COVERAGE("XINDX9","FUNC",3)="23461:20000:32001:52001"
+^COVERAGE("XINDX9","FX",0)="23461:68004:116009:184013"
+^COVERAGE("XINDX9","GVAR")="29134:96004:180015:276019"
+^COVERAGE("XINDX9","GVAR",0)="29134:28000:44003:72003"
+^COVERAGE("XINDX9","GVAR",1)="29134:32001:72005:104006"
+^COVERAGE("XINDX9","GVAR",2)="29134:16000:24002:40002"
+^COVERAGE("XINDX9","INC")="29134:64003:64007:128010"
+^COVERAGE("XINDX9","INC",0)="29134:20001:12001:32002"
+^COVERAGE("XINDX9","INC",1)="29134:32002:40004:72006"
+^COVERAGE("XINDX9","NEW")="287703:532032:660032:1192064"
+^COVERAGE("XINDX9","NEW",0)="287703:200012:244014:444026"
+^COVERAGE("XINDX9","NEW",1)="287703:220014:248008:468022"
+^COVERAGE("XINDX9","NUM")="45379:292023:340026:632049"
+^COVERAGE("XINDX9","NUM",0)="45379:92006:84006:176012"
+^COVERAGE("XINDX9","NUM",0,"FOR_LOOP",1)=71145
+^COVERAGE("XINDX9","NUM",1)="45379:40005:48002:88007"
+^COVERAGE("XINDX9","NUM",2)="45379:40004:56005:96009"
+^COVERAGE("XINDX9","NUM",3)="45379:76003:88008:164011"
+^COVERAGE("XINDX9","NUM",4)="45379:24003:40003:64006"
+^COVERAGE("XINDX9","PA2",0)="518346:544028:668032:1212060"
+^COVERAGE("XINDX9","PA2",1)="472665:532043:620035:1152078"
+^COVERAGE("XINDX9","PA2",2)="317803:264019:292021:556040"
+^COVERAGE("XINDX9","PA2",3)="317803:200013:324018:524031"
+^COVERAGE("XINDX9","PA2",4)="307072:348020:492025:840045"
+^COVERAGE("XINDX9","PA2",5)="197397:160015:296011:456026"
+^COVERAGE("XINDX9","PA2",6)="152018:120016:132005:252021"
+^COVERAGE("XINDX9","PA2",7)="152018:116009:112008:228017"
+^COVERAGE("XINDX9","PA2",8)="151813:96008:168010:264018"
+^COVERAGE("XINDX9","PA2",9)="151813:100008:172009:272017"
+^COVERAGE("XINDX9","PA2",10)="151813:220008:324022:544030"
+^COVERAGE("XINDX9","PA2",11)="151813:168011:152010:320021"
+^COVERAGE("XINDX9","PA2",12)="151813:128009:148012:276021"
+^COVERAGE("XINDX9","PA2",13)="151813:136005:104009:240014"
+^COVERAGE("XINDX9","PARSE")="45681:3356226:4340257:7696483"
+^COVERAGE("XINDX9","PARSE",0)="45681:104007:108007:212014"
+^COVERAGE("XINDX9","PAT")="205:0:0:0"
+^COVERAGE("XINDX9","PAT",0)="205:0:0:0"
+^COVERAGE("XINDX9","PAT",1)="205:0:0:0"
+^COVERAGE("XINDX9","PAT",1,"FOR_LOOP",1)=1185
+^COVERAGE("XINDX9","PAT",2)="205:0:0:0"
+^COVERAGE("XINDX9","PAT",3)="205:0:0:0"
+^COVERAGE("XINDX9","PAT",4)="205:0:0:0"
+^COVERAGE("XINDX9","PATC")="28:0:0:0"
+^COVERAGE("XINDX9","PATC",0)="28:0:0:0"
+^COVERAGE("XINDX9","PATQ")="99:0:8000:8000"
+^COVERAGE("XINDX9","PATQ",0)="99:0:0:0"
+^COVERAGE("XINDX9","PATQ",0,"FOR_LOOP",1)=247
+^COVERAGE("XINDX9","PATQ",1)="99:0:0:0"
+^COVERAGE("XINDX9","PATQ",2)="99:0:8000:8000"
+^COVERAGE("XINDX9","PATU")="15:0:0:0"
+^COVERAGE("XINDX9","PATU",0)="15:0:0:0"
+^COVERAGE("XINDX9","PEND",0)="45681:68001:140014:208015"
+^COVERAGE("XINDX9","PEND",1)="45681:36004:52005:88009"
+^COVERAGE("XINDX9","QUOTE")="35724:244013:304019:548032"
+^COVERAGE("XINDX9","QUOTE",0)="36272:172010:140009:312019"
+^COVERAGE("XINDX9","QUOTE",0,"FOR_LOOP",1)=323021
+^COVERAGE("XINDX9","QUOTE",1)="36272:28001:72004:100005"
+^COVERAGE("XINDX9","QUOTE",2)="35724:28001:24003:52004"
+^COVERAGE("XINDX9","QUOTE",3)="35724:16001:52002:68003"
+^COVERAGE("XINDX9","SPV",0)="3703:4000:12000:16000"
+^COVERAGE("XINDX9","SPV",1)="3703:8001:4000:12001"
+^COVERAGE("XINDX9","SPV",2)="3703:8001:4000:12001"
+^COVERAGE("XINDX9","SPV",3)="3703:4000:8001:12001"
+^COVERAGE("XINDX9","STR")="287703:560037:724043:1284080"
+^COVERAGE("XINDX9","STR",0)="287703:300018:312020:612038"
+^COVERAGE("XINDX9","SUM")="213322:612034:916052:1528086"
+^COVERAGE("XINDX9","SUM",0)="213322:160009:208011:368020"
+^COVERAGE("XINDX9","SUM",1)="213322:212007:280018:492025"
+^COVERAGE("XINDX9","SUM",2)="213322:136012:268012:404024"
+^COVERAGE("XINDX9","UP")="45002:396026:440029:836055"
+^COVERAGE("XINDX9","UP",0)="45002:24003:44001:68004"
+^COVERAGE("XINDX9","UP",1)="45002:180008:192016:372024"
+^COVERAGE("XINDX9","UP",2)="45002:136010:128005:264015"
+^COVERAGE("XINDX9","UP",3)="45002:40003:52003:92006"
+^COVERAGE("XINDX9","VAR")="138809:828044:1004072:1832116"
+^COVERAGE("XINDX9","VAR",0)="138809:376018:336017:712035"
+^COVERAGE("XINDX9","VAR",0,"FOR_LOOP",1)=462128
+^COVERAGE("XINDX9","VAR",1)="138809:292018:376034:668052"
+^COVERAGE("XINDX9","VAR",2)="138809:116003:144008:260011"
+^COVERAGE("XINDX9","XINDX9")="45681:296016:320021:616037"
+^COVERAGE("XINDX9","XINDX9",3)="45681:52003:128006:180009"
+^COVERAGE("XINDX9","XINDX9",4)="45681:164006:112008:276014"
+^COVERAGE("XINDX9","XINDX9",4,"FOR_LOOP",1)=128269
+^COVERAGE("XINDX9","XINDX9",5)="45681:48004:52005:100009"
+^COVERAGE("XLFDT","DT")="1:0:0:0"
+^COVERAGE("XLFDT","DT",0)="1:0:0:0"
+^COVERAGE("XLFDT","DT",1)="1:0:0:0"
+^COVERAGE("XLFDT","HR")="3:0:0:0"
+^COVERAGE("XLFDT","HR",0)="3:0:0:0"
+^COVERAGE("XLFDT","HR",1)="3:0:0:0"
+^COVERAGE("XLFDT","HTE")="1:0:0:0"
+^COVERAGE("XLFDT","HTE",0)="1:0:0:0"
+^COVERAGE("XLFDT","HTE",1)="1:0:0:0"
+^COVERAGE("XLFDT","HTE",2)="1:0:0:0"
+^COVERAGE("XLFDT","HTE",3)="1:0:0:0"
+^COVERAGE("XLFDT","HTFM")="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",0)="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",1)="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",2)="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",3)="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",4)="2:0:0:0"
+^COVERAGE("XLFDT","HTFM",5)="2:0:0:0"
+^COVERAGE("XLFDT","T2",0)="1:0:0:0"
+^COVERAGE("XLFDT","T2",1)="1:0:0:0"
+^COVERAGE("XLFDT","YMD")="2:0:0:0"
+^COVERAGE("XLFDT","YMD",1)="2:0:0:0"
+^COVERAGE("XLFDT","YMD",2)="2:0:0:0"
+^COVERAGE("XLFDT","YMD",3)="2:0:0:0"
+^COVERAGE("XLFDT","YMD",4)="2:0:0:0"
+^COVERAGE("XLFDT","YMD",5)="2:0:0:0"
+^COVERAGE("XLFDT1","F1",1)="1:0:0:0"
+^COVERAGE("XLFDT1","FMT")="1:0:0:0"
+^COVERAGE("XLFDT1","FMT",1)="1:0:0:0"
+^COVERAGE("XLFDT1","FMT",2)="1:0:0:0"
+^COVERAGE("XLFDT1","M")="1:0:0:0"
+^COVERAGE("XLFDT1","M",0)="1:0:0:0"
+^COVERAGE("XLFDT1","TM",1)="1:0:0:0"
+^COVERAGE("XLFDT1","TM",2)="1:0:0:0"
+^COVERAGE("XLFDT1","TM",3)="1:0:0:0"
+^COVERAGE("XLFDT1","TM",7)="1:0:0:0"
+^COVERAGE("XPDRSUM","SUMB")="467:1808124:180014:1988138"
+^COVERAGE("XPDRSUM","SUMB",0)="467:8000:0:8000"
+^COVERAGE("XPDRSUM","SUMB",2)="467:0:0:0"
+^COVERAGE("XPDRSUM","SUMB",3)="467:1796124:180014:1976138"
+^COVERAGE("XPDRSUM","SUMB",3,"FOR_LOOP",1)=44620
+^COVERAGE("XPDRSUM","SUMB",3,"FOR_LOOP",2)=1566704
+^COVERAGE("XPDRSUM","SUMB",4)="467:0:0:0"
+^COVERAGE("XTRUTL1","BUILD")="1:0:0:0"
+^COVERAGE("XTRUTL1","BUILD",0)="1:0:0:0"
+^COVERAGE("XTRUTL1","BUILD",1)="1:0:0:0"
+^COVERAGE("XTRUTL1","BUILD",2)="1:0:0:0"
+^COVERAGE("XTRUTL1","BUILD",3)="1:0:0:0"
+
+
diff --git a/Tests/MumpsCoverage/DartConfiguration.tcl.in b/Tests/MumpsCoverage/DartConfiguration.tcl.in
new file mode 100644
index 0000000..2d7eaa5
--- /dev/null
+++ b/Tests/MumpsCoverage/DartConfiguration.tcl.in
@@ -0,0 +1,8 @@
+# This file is configured by CMake automatically as DartConfiguration.tcl
+# If you choose not to use CMake, this file may be hand configured, by
+# filling in the required variables.
+
+
+# Configuration directories and files
+SourceDirectory: ${CMake_SOURCE_DIR}/Testing/MumpsCoverage
+BuildDirectory: ${CMake_BINARY_DIR}/Testing/MumpsCoverage
diff --git a/Tests/MumpsCoverage/VistA-FOIA/Packages/Toolkit/Routines/XINDEX.m b/Tests/MumpsCoverage/VistA-FOIA/Packages/Toolkit/Routines/XINDEX.m
new file mode 100644
index 0000000..b045221
--- /dev/null
+++ b/Tests/MumpsCoverage/VistA-FOIA/Packages/Toolkit/Routines/XINDEX.m
@@ -0,0 +1,144 @@
+XINDEX ;ISC/REL,GFT,GRK,RWF - INDEX & CROSS-REFERENCE ;08/04/08 13:19
+ ;;7.3;TOOLKIT;**20,27,48,61,66,68,110,121,128**;Apr 25, 1995;Build 1
+ ; Per VHA Directive 2004-038, this routine should not be modified.
+ G ^XINDX6
+SEP F I=1:1 S CH=$E(LIN,I) D QUOTE:CH=Q Q:" "[CH
+ S ARG=$E(LIN,1,I-1) S:CH=" " I=I+1 S LIN=$E(LIN,I,999) Q
+QUOTE F I=I+1:1 S CH=$E(LIN,I) Q:CH=""!(CH=Q)
+ Q:CH]"" S ERR=6 G ^XINDX1
+ALIVE ;enter here from taskman
+ D SETUP^XINDX7 ;Get ready to process
+A2 S RTN=$O(^UTILITY($J,RTN)) G ^XINDX5:RTN=""
+ S INDLC=(RTN?1"|"1.4L.NP) D LOAD:'INDLC
+ I $D(ZTQUEUED),$$S^%ZTLOAD S RTN="~",IND("QUIT")=1,ZTSTOP=1 G A2
+ I 'INDDS,INDLC W !!?10,"Data Dictionaries",! S INDDS=1
+ D BEG
+ G A2
+ ;
+LOAD S X=RTN,XCNP=0,DIF="^UTILITY("_$J_",1,RTN,0," X ^%ZOSF("TEST") Q:'$T X ^%ZOSF("LOAD") S ^UTILITY($J,1,RTN,0,0)=XCNP-1
+ I $D(^UTILITY($J,1,RTN,0,0)) S ^UTILITY($J,1,RTN,"RSUM")="B"_$$SUMB^XPDRSUM($NA(^UTILITY($J,1,RTN,0)))
+ Q
+BEG ;
+ S %=INDLC*5 W:$X+10+%>IOM ! W RTN,$J("",10+%-$L(RTN))
+ S (IND("DO"),IND("SZT"),IND("SZC"),LABO)=0,LC=$G(^UTILITY($J,1,RTN,0,0))
+ I LC="" W !,">>>Routine '",RTN,"' not found <<<",! Q
+ S TXT="",LAB=$P(^UTILITY($J,1,RTN,0,1,0)," ") I RTN'=$P(LAB,"(") D E^XINDX1(17)
+ I 'INDLC,LAB["(" D E^XINDX1(55) S LAB=$P(LAB,"(")
+ ;if M routine(not compiled template or DD) and has more than 2 lines, check lines 1 & 2
+ I 'INDLC,LC>2 D
+ . N LABO S LABO=1
+ . S LIN=$G(^UTILITY($J,1,RTN,0,1,0)),TXT=1
+ . ;check 1st line (site/dev - ) patch 128
+ . I $P(LIN,";",2,4)'?.E1"/".E.1"-".E D E^XINDX1(62)
+ . S LIN=$G(^UTILITY($J,1,RTN,0,2,0)),TXT=2
+ . ;check 2nd line (;;nn.nn[TV]nn;package;.anything)
+ . I $P(LIN,";",3,99)'?1.2N1"."1.2N.1(1"T",1"V").2N1";"1A.AP1";".E D E^XINDX1(44) ;patch 121
+ . I $L(INP(11)) X INP(11) ;Version number check
+ . I $L(INP(12)) X INP(12) ;Patch number check
+B5 F TXT=1:1:LC S LIN=^UTILITY($J,1,RTN,0,TXT,0),LN=$L(LIN),IND("SZT")=IND("SZT")+LN+2 D LN,ST ;Process Line
+ S LAB="",LABO=0,TXT=0,^UTILITY($J,1,RTN,0)=IND("SZT")_"^"_LC_"^"_IND("SZC")
+ I IND("SZT")>INP("MAX"),'INDLC S ERR=35,ERR(1)=IND("SZT") D ^XINDX1
+ I IND("SZT")-IND("SZC")>INP("CMAX"),'INDLC S ERR=58,ERR(1)=IND("SZT")-IND("SZC") D ^XINDX1
+ D POSTRTN
+ Q
+ ;Proccess one line, LN = Length, LIN = Line.
+LN K V S (ARG,GRB,IND("COM"),IND("DOL"),IND("F"))="",X=$P(LIN," ")
+ I '$L(X) S LABO=LABO+1 G CD
+ S (IND("COM"),LAB)=$P(X,"("),ARG=$P($P(X,"(",2),")"),LABO=0,IND("PP")=X?1.8E1"(".E1")"
+ D:$L(ARG) NE^XINDX3 ;Process formal parameters as New list.
+ I 'INDLC,'$$VT^XINDX2(LAB) D E^XINDX1($S(LAB=$$CASE^XINDX52(LAB):37,1:55)) ;Check for bad labels
+ I $D(^UTILITY($J,1,RTN,"T",LAB)) D E^XINDX1(15) G CD ;DUP label
+ S ^UTILITY($J,1,RTN,"T",LAB)=""
+CD I LN>245 D:'(LN=246&($E(RTN,1,3)="|dd")) E^XINDX1(19) ;patch 119
+ D:LIN'?1.ANP E^XINDX1(18)
+ S LIN=$P(LIN," ",2,999),IND("LCC")=1
+ I LIN="" D E^XINDX1(42) Q ;Blank line ;p110
+ S I=0 ;Watch the scope of I, counts dots
+ I " ."[$E(LIN) D S X=$L($E(LIN,1,I),".")-1,LIN=$E(LIN,I,999)
+ . F I=1:1:245 Q:". "'[$E(LIN,I)
+ . Q
+ ;check dots against Do level IND("DO"), IND("DOL")=dot level
+ D:'I&$G(IND("DO1")) E^XINDX1(51) S IND("DO1")=0 S:'I IND("DO")=0
+ I I D:X>IND("DO") E^XINDX1(51) S (IND("DO"),IND("DOL"))=X
+ ;Count Comment lines, skip ;; lines
+ I $E(LIN)=";",$E(LIN,2)'=";" S IND("SZC")=IND("SZC")+$L(LIN) ;p110
+ ;Process commands on line.
+EE I LIN="" D ^XINDX2 Q
+ S COM=$E(LIN),GK="",ARG=""
+ I COM=";" S LIN="" G EE ;p110
+ I COM=" " S ERR=$S(LIN?1." ":13,1:0),LIN=$S(ERR:"",1:$E(LIN,2,999)) D:ERR ^XINDX1 G EE
+ D SEP
+ S CM=$P(ARG,":",1),POST=$P(ARG,":",2,999),IND("COM")=IND("COM")_$C(9)_COM,ERR=48
+ D:ARG[":"&(POST']"") ^XINDX1 S:POST]"" GRB=GRB_$C(9)_POST,IND("COM")=IND("COM")_":"
+ ;SAC now allows lowercase commands
+ I CM?.E1L.E S CM=$$CASE^XINDX52(CM),COM=$E(CM) ;I IND("LCC") S IND("LCC")=0 D E^XINDX1(47)
+ I CM="" D E^XINDX1(21) G EE ;Missing command
+ S CX=$G(IND("CMD",CM)) I CX="" D G:CX="" EE
+ . I $E(CM)="Z" S CX="^Z" Q ;Proccess Z commands
+ . D E^XINDX1(1) S LIN="" Q
+ S CX=$P(CX,"^",2,9)
+ D SEP I '$L(LIN),CH=" " D E^XINDX1(13) ;trailing space
+ I ARG="","CGJMORSUWX"[COM S ERR=49 G ^XINDX1
+ I CX>0 D E^XINDX1(CX) S CX=""
+ D:$L(CX) @CX S:ARG'="" GRB=GRB_$C(9)_ARG G EE
+B S ERR=25 G ^XINDX1
+C S ERR=29 G ^XINDX1
+D G DG1^XINDX4
+E Q:ARG="" S ERR=7 G ^XINDX1
+F G:ARG]"" FR^XINDX4 S IND("F")=1 Q
+G G DG^XINDX4
+H Q:ARG'="" S ERR=32 G ^XINDX1
+J S ERR=36,ARG="" G ^XINDX1
+K S ERR=$S(ARG?1"(".E:22,ARG?." ":23,1:0) D:ERR ^XINDX1
+ G KL^XINDX3
+L G LO^XINDX4
+M G S^XINDX3
+N G NE^XINDX3
+O S ERR=34 D ^XINDX1,O^XINDX3 Q
+Q Q:ARG="" G Q^XINDX4
+R S RDTIME=0 G RD^XINDX3
+S G S^XINDX3
+TR Q ;What to process. p110
+U S ARG=$P(ARG,":") Q
+V S ARG="",ERR=20 G ^XINDX1
+W G WR^XINDX4
+X G XE^XINDX4
+Z S ERR=2 D ^XINDX1 G ZC^XINDX4
+ ;
+ ;Save off items from line.
+ST S R=LAB_$S(LABO:"+"_LABO,1:"")
+ ;Local variable, Global, Marked Items, Naked global, Internal ref, eXternal ref., Tag ref.
+ S LOC="" F S LOC=$O(V(LOC)),S="" Q:LOC="" F S S=$O(V(LOC,S)) Q:S="" D SET
+ S ^UTILITY($J,1,RTN,"COM",TXT)=IND("COM")
+ Q
+ ;
+SET I V(LOC,S)]"" F %="!","~" I V(LOC,S)[%,$G(^UTILITY($J,1,RTN,LOC,S))'[% S ^(S)=$G(^(S))_%
+ S %=0
+SE2 S ARG=$G(^UTILITY($J,1,RTN,LOC,S,%)) I $L(ARG)>230 S %=%+1 G SE2
+ S ^UTILITY($J,1,RTN,LOC,S,%)=ARG_R_V(LOC,S)_","
+ Q
+ ;
+POSTRTN ;Do more overall checking
+ N V,E,T,T1,T2
+ S T="" ;Check for missing Labels
+ F S T=$O(^UTILITY($J,1,RTN,"I",T)),T2=T Q:T="" S T1=$G(^(T,0)) D
+ . Q:$E(T2,1,2)="@("
+ . S:$E(T2,1,2)="$$" T2=$E(T2,3,99)
+ . I T2]"",'$D(^UTILITY($J,1,RTN,"T",$P(T2,"+",1))) D
+ . . F I=1:1:$L(T1,",")-1 S LAB=$P(T1,",",I),LABO=+$P(LAB,"+",2),LAB=$P(LAB,"+"),E=14,E(1)=T D E^XINDX1(.E)
+ . . Q
+ . Q
+ S LAB="",LABO=0 ;Check for valid label names
+ I 'INDLC F S LAB=$O(^UTILITY($J,1,RTN,"T",LAB)) Q:LAB="" D
+ . I '$$VA^XINDX2(LAB) D E^XINDX1(55) Q
+ . D:'$$VT^XINDX2(LAB) E^XINDX1(37)
+ . Q
+ S LAB="",LABO=0 ;Check for valid variable names.
+ F S LAB=$O(^UTILITY($J,1,RTN,"L",LAB)) Q:LAB="" D
+ . D VLNF^XINDX3($P(LAB,"("))
+ . Q
+ Q
+ ;
+QUICK ;Quick, Just get a routine an print the results
+ D QUICK^XINDX6()
+ Q
diff --git a/Tests/MumpsCoverage/gtm_coverage.mcov.in b/Tests/MumpsCoverage/gtm_coverage.mcov.in
new file mode 100644
index 0000000..b431dbd
--- /dev/null
+++ b/Tests/MumpsCoverage/gtm_coverage.mcov.in
@@ -0,0 +1,2 @@
+packages:${CMake_BINARY_DIR}/Testing/MumpsCoverage/VistA-FOIA/Packages
+coverage_dir:${CMake_SOURCE_DIR}/Tests/MumpsCoverage