diff --git a/Keyboard.txt b/Keyboard.txt
new file mode 100644
index 0000000..f7c1eaf
--- /dev/null
+++ b/Keyboard.txt
@@ -0,0 +1,39 @@
+D,R,R,#,D,D,L,#,S,U,U,U,R,#,D,D,R,R,R,#,L,L,L,#,D,R,R,#,U,U,U,L,#
+#,R,#,R,#,R,#,R,#,R,#,S,D,L,L,L,L,L,#,R,#,R,#,R,#,R,#,R,#,S,D,L,L,L,L,L,#,R,#,R,#,R,#,R,#,R,#,S,D,L,L,L,L,L,#,R,#,R,#,R,#,R,#,R,#,S,D,L,L,L,L,L,#,R,#,R,#,R,#,R,#,R,#,S,D,L,L,L,L,L,#,R,#,R,#,R,#,R,#,R,#
+#,#
+#,R,#
+#,R,R,#
+#,R,R,R,#
+#,R,R,R,R,#
+#,R,R,R,R,R,#
+#,D,#
+#,D,R,#
+#,D,R,R,#
+#,D,R,R,R,#
+#,D,R,R,R,R,#
+#,D,R,R,R,R,R,#
+#,D,D,#
+#,D,D,R,#
+#,D,D,R,R,#
+#,D,D,R,R,R,#
+#,D,D,R,R,R,R,#
+#,D,D,R,R,R,R,R,#
+#,D,D,D,#
+#,D,D,D,R,#
+#,D,D,D,R,R,#
+#,D,D,D,R,R,R,#
+#,D,D,D,R,R,R,R,#
+#,D,D,D,R,R,R,R,R,#
+#,D,D,D,D,#
+#,D,D,D,D,R,#
+#,D,D,D,D,R,R,#
+#,D,D,D,D,R,R,R,#
+#,D,D,D,D,R,R,R,R,#
+#,D,D,D,D,R,R,R,R,R,#
+#,D,D,D,D,D,#
+#,D,D,D,D,D,R,#
+#,D,D,D,D,D,R,R,#
+#,D,D,D,D,D,R,R,R,#
+#,D,D,D,D,D,R,R,R,R,#
+#,D,D,D,D,D,R,R,R,R,R,#
+
diff --git a/ReasdMeFirst.txt b/ReasdMeFirst.txt
new file mode 100644
index 0000000..9194530
--- /dev/null
+++ b/ReasdMeFirst.txt
@@ -0,0 +1,14 @@
+Solution was written using the TestComplete IDE and JavaScript code.
+The JavaScript can be found in ..\cae_OnScreenKeyboard\TestProject1\TestProject1\Script
+
+I used this approach because this has been the dev environment I have used for the last 7+ years to develop automated test frameworks.
+
+The solution I came up with is reasonably straightforward but unfortunately cannot be run in a browser that supports JavaScript because I am using I/O functions inherent in the TestComplete scripting engine.
+
+If you wish to run the solution, a TestComplete trial can be downloaded for free.
+To open the project, navigate to cae_OnScreenKeyboard\TestProject1 and select the TestProject1.pjs file
+Then navigate to the script folder to run it.
+
+Thank you,
+
+Charles
\ No newline at end of file
diff --git a/SearchTerm.txt b/SearchTerm.txt
new file mode 100644
index 0000000..20e2ed3
--- /dev/null
+++ b/SearchTerm.txt
@@ -0,0 +1,39 @@
+IT Crowd
+abcdef ghijkl mnopqr stuvwx yz1234 567890
+AA
+AB
+AC
+AD
+AE
+AF
+AG
+AH
+AI
+AJ
+AK
+AL
+AM
+AN
+AO
+AP
+AQ
+AR
+AS
+AT
+AU
+AV
+AW
+AX
+AY
+AZ
+A1
+A2
+A3
+A4
+A5
+A6
+A7
+A8
+A9
+A0
+
diff --git a/TestProject1/CBT.data b/TestProject1/CBT.data
new file mode 100644
index 0000000..f71c566
--- /dev/null
+++ b/TestProject1/CBT.data
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/Log/TestProject1.pjs.EnvMngr.tcLogs b/TestProject1/Log/TestProject1.pjs.EnvMngr.tcLogs
new file mode 100644
index 0000000..eb08511
--- /dev/null
+++ b/TestProject1/Log/TestProject1.pjs.EnvMngr.tcLogs
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/Log/TestProject1.pjs.tcLogs b/TestProject1/Log/TestProject1.pjs.tcLogs
new file mode 100644
index 0000000..6774593
--- /dev/null
+++ b/TestProject1/Log/TestProject1.pjs.tcLogs
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1.pjs b/TestProject1/TestProject1.pjs
new file mode 100644
index 0000000..2e13fc9
--- /dev/null
+++ b/TestProject1/TestProject1.pjs
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1.pjs.tcLS b/TestProject1/TestProject1.pjs.tcLS
new file mode 100644
index 0000000..1d1331c
--- /dev/null
+++ b/TestProject1/TestProject1.pjs.tcLS
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1.tcCfgExtender b/TestProject1/TestProject1.tcCfgExtender
new file mode 100644
index 0000000..3f07c64
--- /dev/null
+++ b/TestProject1/TestProject1.tcCfgExtender
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/KeywordTests/KeywordTests.tcKDT b/TestProject1/TestProject1/KeywordTests/KeywordTests.tcKDT
new file mode 100644
index 0000000..88bada4
--- /dev/null
+++ b/TestProject1/TestProject1/KeywordTests/KeywordTests.tcKDT
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/KeywordTests/Test1.tcKDTest b/TestProject1/TestProject1/KeywordTests/Test1.tcKDTest
new file mode 100644
index 0000000..82ed72e
--- /dev/null
+++ b/TestProject1/TestProject1/KeywordTests/Test1.tcKDTest
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/KeywordTests/Visualizer/Test1_tcKDTest/Test1.tcKDTest.tcVis b/TestProject1/TestProject1/KeywordTests/Visualizer/Test1_tcKDTest/Test1.tcKDTest.tcVis
new file mode 100644
index 0000000..2f6422d
--- /dev/null
+++ b/TestProject1/TestProject1/KeywordTests/Visualizer/Test1_tcKDTest/Test1.tcKDTest.tcVis
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/Description.tcLog b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/Description.tcLog
new file mode 100644
index 0000000..ef85e51
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/RootLogData.dat b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/RootLogData.dat
new file mode 100644
index 0000000..a2f1e2c
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/{0C179907-7D4B-4EAA-B900-1D05FBD43674} b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/{0C179907-7D4B-4EAA-B900-1D05FBD43674}
new file mode 100644
index 0000000..2ef1fb7
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_26 AM_14_990/{0C179907-7D4B-4EAA-B900-1D05FBD43674}
@@ -0,0 +1,1997 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/Description.tcLog b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/Description.tcLog
new file mode 100644
index 0000000..f896cb6
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/RootLogData.dat b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/RootLogData.dat
new file mode 100644
index 0000000..d2f56ab
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/{6160A909-3B4C-4F22-BD49-FF72A0A67D3A} b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/{6160A909-3B4C-4F22-BD49-FF72A0A67D3A}
new file mode 100644
index 0000000..626db30
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_5_2018_9_27 AM_59_367/{6160A909-3B4C-4F22-BD49-FF72A0A67D3A}
@@ -0,0 +1,1997 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/Description.tcLog
new file mode 100644
index 0000000..9c26049
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/RootLogData.dat
new file mode 100644
index 0000000..4a44f53
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/{B1F8925A-09C5-479B-B50F-0F98BBEA3F10} b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/{B1F8925A-09C5-479B-B50F-0F98BBEA3F10}
new file mode 100644
index 0000000..0af1e54
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_50 PM_00_348/{B1F8925A-09C5-479B-B50F-0F98BBEA3F10}
@@ -0,0 +1,1997 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/Description.tcLog
new file mode 100644
index 0000000..aea456f
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/RootLogData.dat
new file mode 100644
index 0000000..460eaf8
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/{9B5E655A-6DBD-46F2-A95E-C856FC68E709} b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/{9B5E655A-6DBD-46F2-A95E-C856FC68E709}
new file mode 100644
index 0000000..e8b7781
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_6_54 PM_02_424/{9B5E655A-6DBD-46F2-A95E-C856FC68E709}
@@ -0,0 +1,1997 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/Description.tcLog
new file mode 100644
index 0000000..923d43e
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/RootLogData.dat
new file mode 100644
index 0000000..e6e0a00
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/{757C1A36-B438-4BA9-A4FE-604A50608562} b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/{757C1A36-B438-4BA9-A4FE-604A50608562}
new file mode 100644
index 0000000..8171261
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_10 PM_41_779/{757C1A36-B438-4BA9-A4FE-604A50608562}
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/Description.tcLog
new file mode 100644
index 0000000..124e537
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/RootLogData.dat
new file mode 100644
index 0000000..28889a3
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/{A340FF07-91B6-49D1-A87B-BBD6DC0B651C} b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/{A340FF07-91B6-49D1-A87B-BBD6DC0B651C}
new file mode 100644
index 0000000..1e266d8
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_12 PM_54_206/{A340FF07-91B6-49D1-A87B-BBD6DC0B651C}
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/Description.tcLog
new file mode 100644
index 0000000..d29a324
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/RootLogData.dat
new file mode 100644
index 0000000..a6348a6
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/{6BE4ACB5-39FB-4E68-ABC3-849455560818} b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/{6BE4ACB5-39FB-4E68-ABC3-849455560818}
new file mode 100644
index 0000000..5a13556
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_15 PM_03_65/{6BE4ACB5-39FB-4E68-ABC3-849455560818}
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/Description.tcLog b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/Description.tcLog
new file mode 100644
index 0000000..16edf46
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/Description.tcLog
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/RootLogData.dat b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/RootLogData.dat
new file mode 100644
index 0000000..d20286d
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/RootLogData.dat
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/{76C12EED-3FAA-41BD-95DE-B58368CF5E9C} b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/{76C12EED-3FAA-41BD-95DE-B58368CF5E9C}
new file mode 100644
index 0000000..b1a24af
--- /dev/null
+++ b/TestProject1/TestProject1/Log/3_6_2018_7_19 PM_34_113/{76C12EED-3FAA-41BD-95DE-B58368CF5E9C}
@@ -0,0 +1,653 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Log/TestProject1.mds.tcLogs b/TestProject1/TestProject1/Log/TestProject1.mds.tcLogs
new file mode 100644
index 0000000..77443cb
--- /dev/null
+++ b/TestProject1/TestProject1/Log/TestProject1.mds.tcLogs
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/NameMapping/NameMapping.tcNM b/TestProject1/TestProject1/NameMapping/NameMapping.tcNM
new file mode 100644
index 0000000..a88b6ea
--- /dev/null
+++ b/TestProject1/TestProject1/NameMapping/NameMapping.tcNM
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/Script/Script.tcScript b/TestProject1/TestProject1/Script/Script.tcScript
new file mode 100644
index 0000000..a53c61a
--- /dev/null
+++ b/TestProject1/TestProject1/Script/Script.tcScript
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/Script/Visualizer/cae_OSK_js/cae_OSK.js.tcVis b/TestProject1/TestProject1/Script/Visualizer/cae_OSK_js/cae_OSK.js.tcVis
new file mode 100644
index 0000000..ac52407
--- /dev/null
+++ b/TestProject1/TestProject1/Script/Visualizer/cae_OSK_js/cae_OSK.js.tcVis
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/TestProject1/TestProject1/Script/cae_OSK.js b/TestProject1/TestProject1/Script/cae_OSK.js
new file mode 100644
index 0000000..92298f8
--- /dev/null
+++ b/TestProject1/TestProject1/Script/cae_OSK.js
@@ -0,0 +1,128 @@
+function calcMoves(old_x, old_y, new_x, new_y)
+{
+ var LeftRight = UpDown = 0;
+ var move_str = '', space = ' ', LR = 'L,', UD = 'U,', Hash = '#,';
+ /*setup algorithm as follows:
+ old_x and _y are the current cursor location
+ New_x and_y are the desired location
+ Mathematically determine distance in x and y directions,
+ - is up or left
+ + is down or right
+ use absolute value of difference to determine the number of U or D and L or R
+ */
+ LeftRight = new_x - old_x;
+ UpDown = new_y - old_y;
+ if(LeftRight < 0) LR = 'L,'
+ else LR = 'R,';
+ if(UpDown < 0) UD = 'U,'
+ else UD = 'D,'
+ count = Math.abs(UpDown);
+ while (count > 0)
+ {
+ move_str = move_str + UD;
+ count--;
+ }
+ count = Math.abs(LeftRight);
+ while (count > 0)
+ {
+ move_str = move_str + LR;
+ count--;
+ }
+ move_str = move_str + Hash;
+ return move_str;
+}
+
+function getSearchTerm(SearchTerm)
+
+//convert SearchTerm line to all upper case
+//retrun the line to the calling program
+{
+ SearchTerm = SearchTerm.toUpperCase();
+ return SearchTerm;
+}
+
+function main()
+{
+ //array of arrays to handle two dimensions of keyboard
+ var keyboard = [
+ ["A","B","C","D","E","F"],
+ ["G","H","I","J","K","L"],
+ ["M","N","O","P","Q","R"],
+ ["S","T","U","V","W","X"],
+ ["Y","Z","1","2","3","4"],
+ ["5","6","7","8","9","0"]
+ ];
+
+ var inPath = "D:\\cae_OnScreenKeyboard\\SearchTerm.txt";
+ var outPath = "D:\\cae_OnScreenKeyboard\\Keyboard.txt";
+
+ // TestComplete function- opens the specified file for reading/writing
+ // I understand this is not part of web JavaScript implementations
+ // opens input file for readonly
+ var inFile = aqFile.OpenTextFile(inPath, aqFile.faRead, aqFile.ctANSI);
+ // opens output file for write only, if it does not exist, create it, if it does exist, overwrite it.
+ var outFile = aqFile.OpenTextFile(outPath, aqFile.faWrite, aqFile.ctANSI, true);
+
+
+ var current_x, new_x, move_x, index_x, current_y, new_y, move_y, index_y;
+ var cursor_str;
+ var SearchTerm;
+
+ //Loop through file records, added extra test data
+ while(! inFile.IsEndOfFile()){
+ //Read it
+ SearchTerm = inFile.ReadLine();
+ //Capitalize it
+ SearchTerm = getSearchTerm(SearchTerm);
+
+ /*Assume the cursor will always start on the A when a new search is initiated
+ and the cursor string always starts out blank */
+ current_x = current_y = 0;
+ cursor_str = "";
+
+ for (var i = 0; i < SearchTerm.length; i++)
+ {
+ index_x = index_y = 0;
+ //special case for the space which is not part of the keyboard array and does not affect the cursor position
+ switch (SearchTerm.charAt(i)){
+ case " ":
+ //all entries except the last # tag need to be comma separated, so we will throw it in automatically
+ cursor_str = cursor_str + 'S,';
+ break;
+
+ //anything else entered affects cursor location
+ default:
+ while (SearchTerm.charAt(i) != keyboard[index_y][index_x])
+ {
+ ++index_x
+ if (index_x > 5)
+ {
+ index_x=0
+ ++index_y
+ }
+ }
+ /*if (SearchTerm.charAt(i) == keyboard[index_y][index_x])
+ {
+ //TestComplete logging contruct for debugging...
+ //Log.Message('Match Found SearchChar = ' + SearchTerm.charAt(i) + ' @index (y, x) (' + index_y + ', ' + index_x + ')')
+ } */
+ new_x = index_x;
+ new_y = index_y;
+ cursor_str = cursor_str + calcMoves (current_x, current_y, new_x, new_y);
+ current_x = new_x;
+ current_y = new_y;
+ }
+ }
+ //TestComplete logging contruct for debugging...
+ Log.Message(SearchTerm + " " + cursor_str);
+
+ //wacks off an unecessary ',' at the end of the string
+ cursor_str = cursor_str.substring(0, cursor_str.length - 1);
+ //makes sure the line is terminated correctly
+ cursor_str = cursor_str + "\r\n";
+ //and writes it out for posterity
+ outFile.Write(cursor_str);
+ }
+ inFile.Close();
+ outFile.Close();
+}
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Script/cae_OSK.js.bak b/TestProject1/TestProject1/Script/cae_OSK.js.bak
new file mode 100644
index 0000000..f9bf202
--- /dev/null
+++ b/TestProject1/TestProject1/Script/cae_OSK.js.bak
@@ -0,0 +1,121 @@
+function calcMoves(old_x, old_y, new_x, new_y)
+{
+ var LeftRight = UpDown = 0;
+ var move_str = '', space = ' ', LR = 'L,', UD = 'U,', Hash = '#,';
+
+ LeftRight = new_x - old_x;
+ UpDown = new_y - old_y;
+ if(LeftRight < 0) LR = 'L,'
+ else LR = 'R,';
+ if(UpDown < 0) UD = 'U,'
+ else UD = 'D,'
+ count = Math.abs(UpDown);
+ while (count > 0)
+ {
+ move_str = move_str + UD;
+ count--;
+ }
+ count = Math.abs(LeftRight);
+ while (count > 0)
+ {
+ move_str = move_str + LR;
+ count--;
+ }
+ move_str = move_str + Hash;
+ return move_str;
+}
+
+function getSearchTerm(SearchTerm)
+
+//convert SearchTerm line to all upper case
+//retrun the line to the calling program
+{
+ SearchTerm = SearchTerm.toUpperCase();
+ return SearchTerm;
+}
+
+function main()
+{
+ //array of arrays to handle two dimensions of keyboard
+ var keyboard = [
+ ["A","B","C","D","E","F"],
+ ["G","H","I","J","K","L"],
+ ["M","N","O","P","Q","R"],
+ ["S","T","U","V","W","X"],
+ ["Y","Z","1","2","3","4"],
+ ["5","6","7","8","9","0"]
+ ];
+
+ var inPath = "D:\\cae_OnScreenKeyboard\\SearchTerm.txt";
+ var outPath = "D:\\cae_OnScreenKeyboard\\Keyboard.txt";
+
+ // TestComplete function- opens the specified file for reading/writing
+ // I understand this is not part of web JavaScript implementations
+ // opens input file for readonly
+ var inFile = aqFile.OpenTextFile(inPath, aqFile.faRead, aqFile.ctANSI);
+ // opens output file for write only, if it does not exist, create it, if it does exist, overwrite it.
+ var outFile = aqFile.OpenTextFile(outPath, aqFile.faWrite, aqFile.ctANSI, true);
+
+
+ var current_x, new_x, move_x, index_x, current_y, new_y, move_y, index_y;
+ var cursor_str;
+ var SearchTerm;
+
+ //Loop through file records, added extra test data
+ while(! inFile.IsEndOfFile()){
+ //Read it
+ SearchTerm = inFile.ReadLine();
+ //Capitalize it
+ SearchTerm = getSearchTerm(SearchTerm);
+
+ /*Assume the cursor will always start on the A when a new search is initiated
+ and the cursor string always starts out blank */
+ current_x = current_y = 0;
+ cursor_str = "";
+
+ for (var i = 0; i < SearchTerm.length; i++)
+ {
+ index_x = index_y = 0;
+ //special case for the space which is not part of the keyboard array and does not affect the cursor position
+ switch (SearchTerm.charAt(i)){
+ case " ":
+ //all entries except the last # tag need to be comma separated, so we will throw it in automatically
+ cursor_str = cursor_str + 'S,';
+ break;
+
+ //anything else entered affects cursor location
+ default:
+ while (SearchTerm.charAt(i) != keyboard[index_y][index_x])
+ {
+ ++index_x
+ if (index_x > 5)
+ {
+ index_x=0
+ ++index_y
+ }
+ }
+ /*if (SearchTerm.charAt(i) == keyboard[index_y][index_x])
+ {
+ //TestComplete logging contruct for debugging...
+ //Log.Message('Match Found SearchChar = ' + SearchTerm.charAt(i) + ' @index (y, x) (' + index_y + ', ' + index_x + ')')
+ } */
+ new_x = index_x;
+ new_y = index_y;
+ cursor_str = cursor_str + calcMoves (current_x, current_y, new_x, new_y);
+ current_x = new_x;
+ current_y = new_y;
+ }
+ }
+ //TestComplete logging contruct for debugging...
+ Log.Message(SearchTerm + " " + cursor_str);
+
+ //wacks off an unecessary ',' at the end of the string
+ cursor_str = cursor_str.substring(0, cursor_str.length - 1);
+ //makes sure the line is terminated correctly
+ cursor_str = cursor_str + "\r\n";
+ //and writes it out for posterity
+ outFile.Write(cursor_str);
+ }
+ inFile.Close();
+ outFile.Close();
+}
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Stores/Files.tcFiles b/TestProject1/TestProject1/Stores/Files.tcFiles
new file mode 100644
index 0000000..ff5793c
--- /dev/null
+++ b/TestProject1/TestProject1/Stores/Files.tcFiles
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/TestProject1/TestProject1/Stores/Files/SearchTerm.txt b/TestProject1/TestProject1/Stores/Files/SearchTerm.txt
new file mode 100644
index 0000000..f760f7d
--- /dev/null
+++ b/TestProject1/TestProject1/Stores/Files/SearchTerm.txt
@@ -0,0 +1 @@
+IT Crowd
\ No newline at end of file
diff --git a/TestProject1/TestProject1/Stores/Stores.tcStores b/TestProject1/TestProject1/Stores/Stores.tcStores
new file mode 100644
index 0000000..c394537
--- /dev/null
+++ b/TestProject1/TestProject1/Stores/Stores.tcStores
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/TestProject1.mds b/TestProject1/TestProject1/TestProject1.mds
new file mode 100644
index 0000000..aa41f21
--- /dev/null
+++ b/TestProject1/TestProject1/TestProject1.mds
@@ -0,0 +1,518 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TestProject1/TestProject1/TestProject1.mds.tcLS b/TestProject1/TestProject1/TestProject1.mds.tcLS
new file mode 100644
index 0000000..16368db
--- /dev/null
+++ b/TestProject1/TestProject1/TestProject1.mds.tcLS
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TestProject1/TestProject1/TestedApps/TestedApps.tcTAs b/TestProject1/TestProject1/TestedApps/TestedApps.tcTAs
new file mode 100644
index 0000000..53f1124
--- /dev/null
+++ b/TestProject1/TestProject1/TestedApps/TestedApps.tcTAs
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+