diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..c5ca883
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+github: [primaryobjects]
diff --git a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj
index 95e3d56..1902e0b 100644
--- a/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj
+++ b/AIProgrammer.Fitness/AIProgrammer.Fitness.csproj
@@ -46,6 +46,7 @@
+
@@ -54,12 +55,12 @@
-
-
+
+
+
-
diff --git a/AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs b/AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs
similarity index 83%
rename from AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs
rename to AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs
index cd26ffb..b39d311 100644
--- a/AIProgrammer.Fitness/Concrete/Research/ExtractInQuotesExtraFitness.cs
+++ b/AIProgrammer.Fitness/Concrete/ExtractInQuotes2Fitness.cs
@@ -14,12 +14,12 @@
namespace AIProgrammer.Fitness.Concrete
{
///
- /// Outputs the text inside quotes, with additional text in front of it.
+ /// Outputs the text inside quotes, with additional text before and after.
///
- public class ExtractInQuotesExtraFitness : FitnessBase
+ public class ExtractInQuotes2Fitness : FitnessBase
{
- private static string[] _trainingExamples = { "dot \"inside\"", "mil \"test\"", "fin \"foresting\"" };
- private static string[] _trainingResults = new string[] { "inside", "test", "foresting" };
+ private static string[] _trainingExamples = { "alice \"inside\" over", "xy \"test\" rights", "hopping \"foresting\" bat", "more \"steady\" working" };
+ private static string[] _trainingResults = new string[] { "inside", "test", "foresting", "steady" };
#region Settings
@@ -72,7 +72,7 @@ public override int? ExpandRate
#endregion
- public ExtractInQuotesExtraFitness(GA ga, int maxIterationCount, string appendFunctions = null)
+ public ExtractInQuotes2Fitness(GA ga, int maxIterationCount, string appendFunctions = null)
: base(ga, maxIterationCount, appendFunctions)
{
if (_targetFitness == 0)
@@ -81,6 +81,7 @@ public ExtractInQuotesExtraFitness(GA ga, int maxIterationCount, string appendFu
{
_targetFitness += _trainingResults[i].Length * 256;
_targetFitness += 10; // length fitness
+ _targetFitness += 10 * _trainingResults[i].Length;
}
}
}
@@ -97,9 +98,9 @@ protected override double GetFitnessMethod(string program)
try
{
int state = 0;
- HashSet memoryHash = new HashSet();
+ //HashSet memoryHash = new HashSet();
int aBonus = 0;
-
+ int quoteCount = 0;
_console.Clear();
// Run the program.
@@ -108,7 +109,11 @@ protected override double GetFitnessMethod(string program)
if (state < _trainingExamples[i].Length)
{
// Store data in different memory positions, so that function can access the data.
- memoryHash.Add(_bf.m_CurrentDataPointer);
+ //memoryHash.Add(_bf.m_CurrentDataPointer);
+ if (_trainingExamples[i][state] == '"')
+ {
+ quoteCount++;
+ }
// Send input.
return (byte)_trainingExamples[i][state++];
@@ -121,21 +126,27 @@ protected override double GetFitnessMethod(string program)
},
(b) =>
{
+ if (_console.Length < _trainingResults[i].Length && quoteCount == 1)
+ {
+ // Only output whats in the quotes.
+ Fitness += 10;
+ }
+
_console.Append((char)b);
},
(function) =>
{
if (function == 'a' && aBonus < 2 && _bf.IsInsideLoop)
{
- countBonus += 50;
- countBonus += (_bf.m_CurrentInstructionPointer + 1 < program.Length) && program[_bf.m_CurrentInstructionPointer + 1] == '!' ? 50 : 0;
+ countBonus += 25;
+ countBonus += (_bf.m_CurrentInstructionPointer + 1 < program.Length) && program[_bf.m_CurrentInstructionPointer + 1] == '!' ? 25 : 0;
aBonus++;
- }
+ }
}, new Function[] { new Function() { MaxIterationCount = 100 } });
_bf.Run(_maxIterationCount);
// Give a bonus for using multiple memory registers, supporting diversity.
- countBonus += memoryHash.Count * 25;
+ //countBonus += memoryHash.Count * 25;
}
catch
{
@@ -163,7 +174,7 @@ protected override double GetFitnessMethod(string program)
IsFitnessAchieved();
// Bonus for less operations to optimize the code.
- countBonus += ((_maxIterationCount - _bf.m_Ticks) / 20.0);
+ countBonus += ((_maxIterationCount - _bf.m_Ticks) / 1000.0);
Ticks += _bf.m_Ticks;
TotalTicks += _bf.m_TotalTicks;
diff --git a/AIProgrammer.Fitness/Concrete/CountDownFitness.cs b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs
similarity index 52%
rename from AIProgrammer.Fitness/Concrete/CountDownFitness.cs
rename to AIProgrammer.Fitness/Concrete/StringLengthFitness.cs
index 46a28c8..5e07b73 100644
--- a/AIProgrammer.Fitness/Concrete/CountDownFitness.cs
+++ b/AIProgrammer.Fitness/Concrete/StringLengthFitness.cs
@@ -1,34 +1,72 @@
using AIProgrammer.Fitness.Base;
using AIProgrammer.GeneticAlgorithm;
using AIProgrammer.Managers;
+using AIProgrammer.Types;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading.Tasks;
+using System.Xml;
namespace AIProgrammer.Fitness.Concrete
{
///
- /// Outputs a countdown from an input number. Note, input is taken in byte value.
- /// Example: input = 5: 543210
+ /// Returns the length of a string.
///
- public class CountdownFitness : FitnessBase
+ public class StringLengthFitness : FitnessBase
{
- private int _trainingCount;
+ private static string[] _trainingExamples = { "cori@domain.com", "mt@po.box", "test", "johnandjanesdfgjnsdkfjgjnrtkhreuitgure", "unknown-string-goes-here" };
+ private static int[] _trainingResults;
- public CountdownFitness(GA ga, int maxIterationCount, int maxTrainingCount = 4)
- : base(ga, maxIterationCount)
+ #region Settings
+
+ public override int? GenomeSize
+ {
+ get
+ {
+ return 10;
+ }
+ }
+
+ public override int? MaxGenomeSize
+ {
+ get
+ {
+ return 150;
+ }
+ }
+
+ public override int? ExpandAmount
+ {
+ get
+ {
+ return 2;
+ }
+ }
+
+ public override int? ExpandRate
{
- _trainingCount = maxTrainingCount;
+ get
+ {
+ return 2000;
+ }
+ }
+ #endregion
+
+ public StringLengthFitness(GA ga, int maxIterationCount, string appendFunctions = null)
+ : base(ga, maxIterationCount, appendFunctions)
+ {
if (_targetFitness == 0)
{
- // A * 256 => A = Number of numeric values in training example, 256 = 256 characters per byte.
- _targetFitness += 6 * 256;
- _targetFitness += 4 * 256;
- _targetFitness += 3 * 256;
- _targetFitness += 7 * 256;
+ // Extract expected results from training examples.
+ _trainingResults = _trainingExamples.ToList().ConvertAll(e => { return e.Length; }).ToArray();
+
+ // Assign target fitness.
+ _targetFitness = _trainingExamples.Length * 256;
}
}
@@ -36,14 +74,10 @@ public CountdownFitness(GA ga, int maxIterationCount, int maxTrainingCount = 4)
protected override double GetFitnessMethod(string program)
{
- byte[][] trainingExamples = { new byte[] { 5, 4, 3, 2, 1, 0 },
- new byte[] { 3, 2, 1, 0 },
- new byte[] { 2, 1, 0 },
- new byte[] { 6, 5, 4, 3, 2, 1, 0 } };
double countBonus = 0;
double penalty = 0;
- for (int i = 0; i < trainingExamples.Length; i++)
+ for (int i = 0; i < _trainingExamples.Length; i++)
{
try
{
@@ -53,24 +87,26 @@ protected override double GetFitnessMethod(string program)
// Run the program.
_bf = new Interpreter(program, () =>
{
- if (state == 0)
+ if (state < _trainingExamples[i].Length)
{
- state++;
-
// Send input.
- return trainingExamples[i][0];
+ return (byte)_trainingExamples[i][state++];
}
else
{
// Not ready for input.
- penalty++;
-
- return 255;
+ return 0;
}
},
(b) =>
{
- _console.Append((char)b);
+ if (state < _trainingExamples[i].Length)
+ {
+ // Apply a penalty for outputting before reading the input.
+ penalty += 10;
+ }
+
+ _console.Append(b.ToString());
});
_bf.Run(_maxIterationCount);
}
@@ -78,28 +114,29 @@ protected override double GetFitnessMethod(string program)
{
}
- _output.Append(_console.ToString());
- _output.Append(",");
-
- // Order bonus.
- for (int j = 0; j < trainingExamples[i].Length; j++)
+ if (_console.Length > 0)
{
- if (_console.Length > j)
+ string console = _console.ToString();
+ _output.Append(console);
+ _output.Append(",");
+
+ if (Int32.TryParse(console, out int value))
{
- Fitness += 256 - Math.Abs((byte)_console[j] - trainingExamples[i][j]);
+ Fitness += 256 - Math.Abs(value - _trainingResults[i]);
}
}
- // Make the AI wait until a solution is found without the penalty (too many input characters).
+ // Make the AI wait until a solution is found without the penalty.
Fitness -= penalty;
// Check for solution.
IsFitnessAchieved();
// Bonus for less operations to optimize the code.
- countBonus += ((_maxIterationCount - _bf.m_Ticks) / 20.0);
+ countBonus += ((_maxIterationCount - _bf.m_Ticks) / 1000.0);
Ticks += _bf.m_Ticks;
+ TotalTicks += _bf.m_TotalTicks;
}
if (_fitness != Double.MaxValue)
@@ -117,7 +154,7 @@ protected override void RunProgramMethod(string program)
// Get input from the user.
Console.WriteLine();
Console.Write(">: ");
- byte startingValue = Byte.Parse(Console.ReadLine());
+ string line = Console.ReadLine();
int index = 0;
_console.Clear();
@@ -130,21 +167,20 @@ protected override void RunProgramMethod(string program)
byte b;
// Send the next character.
- if (index++ == 0)
+ if (index < line.Length)
{
- b = startingValue;
+ b = (byte)line[index++];
}
else
{
- b = 255;
+ b = 0;
}
return b;
},
(b) =>
{
- // Append numeric byte value.
- _console.Append(b);
+ _console.Append(b.ToString());
});
bf.Run(_maxIterationCount);
@@ -153,13 +189,13 @@ protected override void RunProgramMethod(string program)
{
}
- Console.WriteLine(_console);
+ Console.WriteLine(_console.ToString());
}
}
public override string GetConstructorParameters()
{
- return _maxIterationCount + ", " + _trainingCount;
+ return _maxIterationCount.ToString();
}
#endregion
diff --git a/AIProgrammer.Functions/Concrete/StringFunction.cs b/AIProgrammer.Functions/Concrete/StringFunction.cs
index d75859d..39356e4 100755
--- a/AIProgrammer.Functions/Concrete/StringFunction.cs
+++ b/AIProgrammer.Functions/Concrete/StringFunction.cs
@@ -19,12 +19,14 @@ public class StringFunction : IFunction
private double _mutationRate;
private int _genomeSize;
private GAFunction _fitnessFunc;
+ private Action _onStepComplete;
private OnGeneration _generationFunc;
private TargetParams _targetParams;
- public StringFunction(Func getFitnessMethod, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams)
+ public StringFunction(Func getFitnessMethod, Action onStepComplete, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams)
{
_getFitnessFunc = getFitnessMethod;
+ _onStepComplete = onStepComplete;
_bestStatus = bestStatus;
_crossoverRate = crossoverRate;
_mutationRate = mutationRate;
@@ -51,7 +53,10 @@ public string Generate(IGeneticAlgorithm ga)
Dictionary terms = new Dictionary();
foreach (string part in parts)
{
- terms[part] = part;
+ if (!string.IsNullOrEmpty(part))
+ {
+ terms[part] = part;
+ }
}
foreach (string term in terms.Values)
@@ -65,7 +70,10 @@ public string Generate(IGeneticAlgorithm ga)
// Run the genetic algorithm and get the best brain.
program = GAManager.Run(ga, _fitnessFunc, _generationFunc);
-
+
+ // Trim extraneous loop instructions from the end.
+ program = program.Replace("[]", "");
+
appendCode += program + "@";
// Reset the target fitness.
@@ -76,6 +84,9 @@ public string Generate(IGeneticAlgorithm ga)
_bestStatus.LastChangeDate = DateTime.Now;
_bestStatus.Program = "";
_bestStatus.Ticks = 0;
+
+ // Notify parent of progress.
+ _onStepComplete(appendCode, term);
}
// Restore target string.
diff --git a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs
index d495460..57d9719 100644
--- a/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs
+++ b/AIProgrammer.Functions/Concrete/StringFunctionChunk.cs
@@ -31,13 +31,15 @@ public class StringFunctionChunk : IFunction
private double _mutationRate;
private int _genomeSize;
private GAFunction _fitnessFunc;
+ private Action _onStepComplete;
private OnGeneration _generationFunc;
private TargetParams _targetParams;
private int _chunkSize;
- public StringFunctionChunk(Func getFitnessMethod, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams, int chunkSize = 4)
+ public StringFunctionChunk(Func getFitnessMethod, Action onStepComplete, GAStatus bestStatus, GAFunction fitnessFunc, OnGeneration generationFunc, double crossoverRate, double mutationRate, int genomeSize, TargetParams targetParams, int chunkSize = 4)
{
_getFitnessFunc = getFitnessMethod;
+ _onStepComplete = onStepComplete;
_bestStatus = bestStatus;
_crossoverRate = crossoverRate;
_mutationRate = mutationRate;
@@ -100,7 +102,10 @@ public string Generate(IGeneticAlgorithm ga)
// Run the genetic algorithm and get the best brain.
program = GAManager.Run(ga, _fitnessFunc, _generationFunc);
-
+
+ // Trim extraneous loop instructions from the end.
+ program = program.Replace("[]", "");
+
appendCode += program + "@";
// Reset the target fitness.
@@ -111,6 +116,9 @@ public string Generate(IGeneticAlgorithm ga)
_bestStatus.LastChangeDate = DateTime.Now;
_bestStatus.Program = "";
_bestStatus.Ticks = 0;
+
+ // Notify parent of progress.
+ _onStepComplete(appendCode, term);
}
// Restore target string.
diff --git a/AIProgrammer.Managers/CommonManager.cs b/AIProgrammer.Managers/CommonManager.cs
index 68ffae8..941b620 100644
--- a/AIProgrammer.Managers/CommonManager.cs
+++ b/AIProgrammer.Managers/CommonManager.cs
@@ -79,7 +79,7 @@ public static class CommonManager
/// ...
/// return new StringStrictFitness(_ga, _maxIterationCount, _targetParams.TargetString, _appendCode);
///
- public static string AlphabetFunctions = "6+.>>[->>>.+-++><<+.[-]><.<+-+[...-+[++.+-.<+]+<[-@6-+++.->[[--..>->--<>+++.[[-.+.>.<.<.><[+,+.--<[<.@>6+++.>-[+[.-[-[-][.-]+..+>--++>-].<>.>.->+[..]]-<@---6++++.>-++-[>-+>++[[+-[-.[]<>..[<--]..<]<>>[-,.@-7---+---------.>>[.>>+.>.+>.>>.[+,>>.].>...-<-@>>+-+[6+++[+++.[]]>[.]<.-.-.+<.<.]---<.>>[-+>[<+[.@6++++++<<>>+.+[--[-]-]-[..][[[>-.-.[-<.]][]>..>.-,@7--------<>.>[-..,.+-.+[[]...+++[++-<<++<+]<>]<>,[@7-><------.[[+]+]]].....[[]+<[-><<>++[-[<-<].<<>->@6++++++++><><++.+>-<->>[>>++>[-]>.>......-...[-,.[@-7-----.>><>[-[-]-]]@><7----.[]>.>....+.-<+.->+><-,-]]-+.+...<>.<+[]]8<@6--7---.>->+-[>..->+>>.[<->-.-.....+<>+.[>>.>-[]->@+>[,++<>+.+--.>>.>>....<.-->+[+<<[+]<>.-<.]]7--.-+@>6+++++++++++++++.-++[-[-]-[+[-[+-+--+--]..<.,<[,>@8----------------.>[+-[-<>.>++><]+<..[<-++]>[--],-@><----[[[+]>1+[7+.--<[-[-[[++-,-+[+].<.[<<-+<<[[+,@8[[++++[+-+7++.++>[]>+>><[>-.++.<+[+-.[+[<[[<++.+[@8------------->+<>+<.[]->[>..-><.>..<[.->>[]-]]9<.@7++><++.[]+-.>+.<[-[..[[-]<.].]+,-.++d-[d[>]-,-]+]@<>-->+[>[+++.[][,][,]]7++<][-+<+.<>-[>+]+,+>[.-.w<@>5>+7++++++.[].,.[+[.+--.<>-<-.<<-.<]->.[-+-+>]>1u@8-------[--.++>-+>>+>++>][[+..<>..[..<<[.<+<<<]-.<@";//>8-------+--[[.<[-...[+><><[.-..>[.[]]]>>>>].>,[><@7><+++++++++.>[<.<<.-.+-.>[-+--[][.-.+[<,>0]>[[[->@8---++--[--[+--.[->+>>->[<><>+[.++-++<+++]]-[[],,,@";
+ public static string AlphabetFunctions = "6+.@6++.@6+++.@6++++.@6+++++.@6++++++.@6+++++++.@6++++++++.@7-------.@7------.@7-----.@7----.@7---.@7[--.@7-.@7.@-7+.@7++.-@7+++.@7++++.@7+++++.@7++++++.@8---------.@7++++++++.@8-------.@8------.@";
public static string ConvertDoubleArrayToBF(double[] array)
{
@@ -267,5 +267,21 @@ public static int GetFunctionCount(string program)
return count;
}
+
+ ///
+ /// Returns a string alphabet functions to be used within appendCode.
+ ///
+ /// Return alphabet functions from a through "to" inclusive.
+ /// string
+ public static string GetAlphabet(char to = 'z')
+ {
+ string result = "";
+
+ string[] parts = AlphabetFunctions.Split("@".ToCharArray());
+ int index = to - 'a';
+ result = string.Join("@", parts.Take(index + 1)) + "@";
+
+ return result;
+ }
}
}
diff --git a/AIProgrammer.Managers/GAManager.cs b/AIProgrammer.Managers/GAManager.cs
index 1dc26d7..36415fd 100644
--- a/AIProgrammer.Managers/GAManager.cs
+++ b/AIProgrammer.Managers/GAManager.cs
@@ -25,10 +25,17 @@ public static string Run(IGeneticAlgorithm iga, GAFunction fitnessFunc, OnGenera
{
// Perform any additional setup for this fitness.
setupFunc();
+ }
+
+ try
+ {
+ // Delete any existing dat file.
+ File.Delete(Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat");
+ }
+ catch (Exception excep)
+ {
+ Console.WriteLine("Unable to delete " + Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat\n" + excep.Message);
}
-
- // Delete any existing dat file.
- File.Delete(Directory.GetCurrentDirectory() + "\\my-genetic-algorithm.dat");
// Start a new genetic algorithm.
ga.GAParams.Elitism = true;
diff --git a/AIProgrammer/Program.cs b/AIProgrammer/Program.cs
index e9c8197..fc1f379 100755
--- a/AIProgrammer/Program.cs
+++ b/AIProgrammer/Program.cs
@@ -44,10 +44,11 @@ class Program
private static int _maxIterationCount = 5000; // Max iterations a program may run before being killed (prevents infinite loops).
private static int _expandAmount = 0; // The max genome size will expand by this amount, every _expandRate iterations (may help learning). Set to 0 to disable.
private static int _expandRate = 5000; // The max genome size will expand by _expandAmount, at this interval of generations.
+ private static int _originalGenomeSize = _genomeSize;
#endregion
- private static IFunction _functionGenerator = null; //new StringFunction(() => GetFitnessMethod(), _bestStatus, fitnessFunction, OnGeneration, _crossoverRate, _mutationRate, _genomeSize, _targetParams); /* Functions require setting BrainfuckVersion=2 in App.config */
+ private static IFunction _functionGenerator = null; //new StringFunction(() => GetFitnessMethod(), (program, param) => OnFunctionStepComplete(program, param), _bestStatus, fitnessFunction, OnGeneration, _crossoverRate, _mutationRate, _genomeSize, _targetParams); /* Functions require setting BrainfuckVersion=2 in App.config */
///
/// Selects the type of fitness algorithm to use (Hello World solutions, Calculation solutions, etc).
@@ -67,6 +68,24 @@ private static IFitness GetFitnessMethod()
return new StringStrictFitness(_ga, _maxIterationCount, _targetParams.TargetString, _appendCode);
}
+ ///
+ /// Callback handler for each time a function completes solving a step of its process. For example, solving a word within a sentence, etc.
+ ///
+ /// Complete append code generated so far. This can be set as the value for _appendCode to generate programs.
+ /// Optional parameter supplied by Function to indicate what has been solved (i.e., the term, sentence, numeric value, etc).
+ private static void OnFunctionStepComplete(string program, object param)
+ {
+ // Reset genome size back to its original value for subsequent solving steps.
+ _genomeSize = _originalGenomeSize;
+ _ga.GAParams.GenomeSize = _genomeSize;
+
+ // Reset timer.
+ _startTime = DateTime.Now;
+
+ // Display generated code so far.
+ Console.WriteLine(param.ToString() + "\n" + program);
+ }
+
#region Worker Methods
///
@@ -77,7 +96,7 @@ private static void OnGeneration(GA ga)
if (_bestStatus.Iteration++ > 1000)
{
_bestStatus.Iteration = 0;
- Console.WriteLine("Best Fitness: " + _bestStatus.TrueFitness + "/" + _targetParams.TargetFitness + " " + Math.Round(_bestStatus.TrueFitness / _targetParams.TargetFitness * 100, 2) + "%, Ticks: " + _bestStatus.Ticks + ", Total Ticks: " + _bestStatus.TotalTicks + ", Running: " + Math.Round((DateTime.Now - _startTime).TotalMinutes) + "m, Size: " + _genomeSize + ", Best Output: " + _bestStatus.Output + ", Changed: " + _bestStatus.LastChangeDate.ToString() + ", Program: " + _bestStatus.Program);
+ Console.WriteLine("Best Fitness: " + _bestStatus.TrueFitness + "/" + _targetParams.TargetFitness + " " + Math.Round(_bestStatus.TrueFitness / _targetParams.TargetFitness * 100, 2) + "%, Ticks: " + _bestStatus.Ticks + ", Total Ticks: " + _bestStatus.TotalTicks + ", Running: " + Math.Floor((DateTime.Now - _startTime).TotalSeconds / 60) + "m " + Math.Round(((DateTime.Now - _startTime).TotalSeconds % 60)) + "s, Size: " + _genomeSize + ", Best Output: " + _bestStatus.Output + ", Changed: " + _bestStatus.LastChangeDate.ToString() + ", Program: " + _bestStatus.Program);
ga.Save("my-genetic-algorithm.dat");
}
diff --git a/README.md b/README.md
index 4cb65b3..b0acb49 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,30 @@
AI-Programmer
=========
-Read the full article at:
-http://www.primaryobjects.com/CMS/Article149
-
-AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs in the Brainf**k programming language. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code.
+Read the full article [Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/)
+
+Read the research paper [AI Programmer: Autonomously Creating
+Software Programs Using Genetic Algorithms](https://arxiv.org/pdf/1709.05703.pdf "AI Programmer: Autonomously Creating
+Software Programs Using Genetic Algorithms").
+
+AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs. Successfully created [programs](https://github.com/primaryobjects/AI-Programmer/tree/master/Results) by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code.
## Motivation
Is it possible for a computer to write its own programs? Need a word processor? Let the computer create one for you. Need a screen capture tool? Let the computer create one for you. Take it a step further, and let the computer create programs that simplify your life, that you didn't even know you needed!
-This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". First, we need to choose a target programming language. For this experiment, we'll choose [Brainfuck](http://en.wikipedia.org/wiki/Brainfuck) (BF).
+This is the idea behind the AI-Programmer experiment. The goal is to ultimately create a computer program that can write its own computer programs to solve specific computational problems. While the capability of a computer deciding what type of program to write is beyond our current means, we can still have a computer generate programs to solve very specific tasks, such as outputting the text, "Hello World". AI Programmer uses an esoteric programming language for generating software programs.
## Details
-The BF programming language was selected due to the fact that it consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console.
+The underlying programming language consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console.
## How It Works
AI-Programmer works as follows:
- A genome consists of an array of doubles.
-- Each gene corresponds to an instruction in the BF programming language.
+- Each gene corresponds to an instruction in the programming language.
- Start with a population of random genomes.
- Decode each genome into a resulting program by converting each double into its corresponding instruction and execute the program.
- Get each program's fitness score, based upon the output it writes to the console (if any), and rank them.
@@ -63,7 +66,7 @@ The AI successfully wrote a program to output "hi" after 5,700 generations in ab
While the above code contains parsing errors, such as non-matching brackets, our simulation interpreter computes the result up until the program fails, so in the above case, the syntax error (which is later on in the code, after a solution is found) doesn't impact the fitness.
-You can try pasting the above code into a BF [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output.
+You can try pasting the above code into an online [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output.
If we trim off the excess code, we see the following syntactically-valid code:
@@ -101,7 +104,7 @@ More complex programs could likely be generated while using faster PCs. Next ste
## Quick-Start Guide to Using the Code
-By default, the code is configured to use the BF Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value.
+By default, the code is configured to use the Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value.
```
private static TargetParams _targetParams = new TargetParams { TargetString = "hello world" };
@@ -136,7 +139,7 @@ Set the App.config to use BrainPlus, so the AI has access to sub-routine instruc
```
-
+
```
@@ -153,19 +156,17 @@ Experiment and have fun!
Kory Becker
http://www.primaryobjects.com/kory-becker
-Read @ Primary Objects
-Using Artificial Intelligence to Write Self-Modifying/Improving Programs
-http://www.primaryobjects.com/CMS/Article149
+[Using Artificial Intelligence to Write Self-Modifying/Improving Programs](http://www.primaryobjects.com/CMS/Article149)
+
+[Pushing the Limits of Self-Programming Artificial Intelligence](http://www.primaryobjects.com/CMS/Article150)
-Pushing the Limits of Self-Programming Artificial Intelligence
-http://www.primaryobjects.com/CMS/Article150
+[Self-Programming Artificial Intelligence Learns to Use Functions](http://www.primaryobjects.com/CMS/Article163)
-Self-Programming Artificial Intelligence Learns to Use Functions
-http://www.primaryobjects.com/CMS/Article163
+[BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms](http://www.primaryobjects.com/bf-programmer-2017.pdf)
View @ GitHub
https://github.com/primaryobjects/ai-programmer
## Copyright
-Copyright (c) 2015 Kory Becker http://primaryobjects.com/kory-becker
+Copyright (c) 2018 Kory Becker http://primaryobjects.com/kory-becker
diff --git a/Results/extractinquotes2/extract-in-quotes-1.png b/Results/extractinquotes2/extract-in-quotes-1.png
new file mode 100644
index 0000000..3a7fe62
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-1.png differ
diff --git a/Results/extractinquotes2/extract-in-quotes-2-1.png b/Results/extractinquotes2/extract-in-quotes-2-1.png
new file mode 100644
index 0000000..1f34701
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-2-1.png differ
diff --git a/Results/extractinquotes2/extract-in-quotes-2-2.png b/Results/extractinquotes2/extract-in-quotes-2-2.png
new file mode 100644
index 0000000..4e66ca4
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-2-2.png differ
diff --git a/Results/extractinquotes2/extract-in-quotes-2-3.png b/Results/extractinquotes2/extract-in-quotes-2-3.png
new file mode 100644
index 0000000..04f290b
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-2-3.png differ
diff --git a/Results/extractinquotes2/extract-in-quotes-2.exe b/Results/extractinquotes2/extract-in-quotes-2.exe
new file mode 100644
index 0000000..c61423b
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-2.exe differ
diff --git a/Results/extractinquotes2/extract-in-quotes-2.png b/Results/extractinquotes2/extract-in-quotes-2.png
new file mode 100644
index 0000000..c0b79e2
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes-2.png differ
diff --git a/Results/extractinquotes2/extract-in-quotes.exe b/Results/extractinquotes2/extract-in-quotes.exe
new file mode 100644
index 0000000..86c1316
Binary files /dev/null and b/Results/extractinquotes2/extract-in-quotes.exe differ
diff --git a/Results/extractinquotes2/history-2.txt b/Results/extractinquotes2/history-2.txt
new file mode 100644
index 0000000..c0123d1
--- /dev/null
+++ b/Results/extractinquotes2/history-2.txt
@@ -0,0 +1,1885 @@
+12/28/2016 10:22:24 PM,5489.746,0,0
+12/28/2016 10:22:25 PM,6403.646,0,100
+12/28/2016 10:22:26 PM,6403.698,0,200
+12/28/2016 10:22:28 PM,6403.698,0,300
+12/28/2016 10:22:29 PM,6403.722,0,400
+12/28/2016 10:22:31 PM,6403.748,0,500
+12/28/2016 10:22:32 PM,6403.756,0,600
+12/28/2016 10:22:33 PM,6403.756,0,700
+12/28/2016 10:22:34 PM,6403.756,0,800
+12/28/2016 10:22:36 PM,6403.768,0,900
+12/28/2016 10:22:37 PM,6403.768,0,1000
+12/28/2016 10:22:38 PM,6403.768,0,1100
+12/28/2016 10:22:40 PM,6403.768,0,1200
+12/28/2016 10:22:41 PM,6403.768,0,1300
+12/28/2016 10:22:42 PM,6403.768,0,1400
+12/28/2016 10:22:44 PM,6403.768,0,1500
+12/28/2016 10:22:45 PM,6403.768,0,1600
+12/28/2016 10:22:47 PM,6403.768,0,1700
+12/28/2016 10:22:48 PM,6403.768,0,1800
+12/28/2016 10:22:50 PM,6403.768,0,1900
+12/28/2016 10:22:54 PM,6403.768,0,2000
+12/28/2016 10:22:55 PM,6403.768,0,2100
+12/28/2016 10:22:56 PM,6403.768,0,2200
+12/28/2016 10:22:58 PM,6403.768,0,2300
+12/28/2016 10:22:59 PM,6403.772,0,2400
+12/28/2016 10:23:00 PM,6403.772,0,2500
+12/28/2016 10:23:01 PM,6408.738,0,2600
+12/28/2016 10:23:03 PM,6411.704,0,2700
+12/28/2016 10:23:04 PM,6411.704,0,2800
+12/28/2016 10:23:06 PM,6411.704,0,2900
+12/28/2016 10:23:07 PM,6421.704,0,3000
+12/28/2016 10:23:08 PM,6421.704,0,3100
+12/28/2016 10:23:10 PM,6421.704,0,3200
+12/28/2016 10:23:11 PM,6421.704,0,3300
+12/28/2016 10:23:13 PM,6421.704,0,3400
+12/28/2016 10:23:14 PM,6422.696,0,3500
+12/28/2016 10:23:16 PM,6422.696,0,3600
+12/28/2016 10:23:18 PM,6422.696,0,3700
+12/28/2016 10:23:19 PM,6422.696,0,3800
+12/28/2016 10:23:20 PM,6422.696,0,3900
+12/28/2016 10:23:22 PM,6433.728,0,4000
+12/28/2016 10:23:23 PM,6453.559,0,4100
+12/28/2016 10:23:25 PM,6470.63,0,4200
+12/28/2016 10:23:26 PM,6470.63,0,4300
+12/28/2016 10:23:27 PM,6470.63,0,4400
+12/28/2016 10:23:29 PM,6470.63,0,4500
+12/28/2016 10:23:30 PM,6470.63,0,4600
+12/28/2016 10:23:31 PM,6470.63,0,4700
+12/28/2016 10:23:32 PM,6470.63,0,4800
+12/28/2016 10:23:34 PM,6470.63,0,4900
+12/28/2016 10:23:35 PM,6470.63,0,5000
+12/28/2016 10:23:36 PM,6480.622,0,5100
+12/28/2016 10:23:37 PM,6481.571,0,5200
+12/28/2016 10:23:39 PM,6481.571,0,5300
+12/28/2016 10:23:40 PM,6481.571,0,5400
+12/28/2016 10:23:42 PM,6481.571,0,5500
+12/28/2016 10:23:43 PM,6481.571,0,5600
+12/28/2016 10:23:44 PM,6481.571,0,5700
+12/28/2016 10:23:50 PM,6489.178,0,5800
+12/28/2016 10:23:56 PM,6631.447,0,5900
+12/28/2016 10:24:00 PM,6632.518,0,6000
+12/28/2016 10:24:07 PM,6633.518,0,6100
+12/28/2016 10:24:10 PM,6633.522,0,6200
+12/28/2016 10:24:15 PM,6634.518,0,6300
+12/28/2016 10:24:19 PM,6634.656,0,6400
+12/28/2016 10:24:24 PM,6634.656,0,6500
+12/28/2016 10:24:30 PM,6637.518,0,6600
+12/28/2016 10:24:37 PM,6639.514,0,6700
+12/28/2016 10:24:43 PM,6641.502,0,6800
+12/28/2016 10:24:46 PM,6641.502,0,6900
+12/28/2016 10:24:52 PM,6641.51,0,7000
+12/28/2016 10:24:57 PM,6641.51,0,7100
+12/28/2016 10:25:03 PM,6641.51,0,7200
+12/28/2016 10:25:08 PM,6642.51,0,7300
+12/28/2016 10:25:11 PM,6642.51,0,7400
+12/28/2016 10:25:17 PM,6642.51,0,7500
+12/28/2016 10:25:20 PM,6642.51,0,7600
+12/28/2016 10:25:23 PM,6642.51,0,7700
+12/28/2016 10:25:29 PM,6642.51,0,7800
+12/28/2016 10:25:33 PM,6642.51,0,7900
+12/28/2016 10:25:37 PM,6642.51,0,8000
+12/28/2016 10:25:41 PM,6642.51,0,8100
+12/28/2016 10:25:43 PM,6642.51,0,8200
+12/28/2016 10:25:46 PM,6642.51,0,8300
+12/28/2016 10:25:51 PM,6642.51,0,8400
+12/28/2016 10:25:56 PM,6642.51,0,8500
+12/28/2016 10:25:59 PM,6642.51,0,8600
+12/28/2016 10:26:02 PM,6642.51,0,8700
+12/28/2016 10:26:06 PM,6654.816,0,8800
+12/28/2016 10:26:13 PM,6654.816,0,8900
+12/28/2016 10:26:22 PM,6664.794,0,9000
+12/28/2016 10:26:29 PM,6664.808,0,9100
+12/28/2016 10:26:36 PM,6664.814,0,9200
+12/28/2016 10:26:40 PM,6664.818,0,9300
+12/28/2016 10:26:44 PM,6664.826,0,9400
+12/28/2016 10:26:51 PM,6664.826,0,9500
+12/28/2016 10:26:57 PM,6664.83,0,9600
+12/28/2016 10:27:06 PM,6664.83,0,9700
+12/28/2016 10:27:12 PM,6664.83,0,9800
+12/28/2016 10:27:16 PM,6664.83,0,9900
+12/28/2016 10:27:18 PM,6664.83,0,10000
+12/28/2016 10:27:21 PM,6664.83,0,10100
+12/28/2016 10:27:26 PM,6664.83,0,10200
+12/28/2016 10:27:30 PM,6664.83,0,10300
+12/28/2016 10:27:33 PM,6677.696,0,10400
+12/28/2016 10:27:37 PM,6677.722,0,10500
+12/28/2016 10:27:42 PM,6677.744,0,10600
+12/28/2016 10:27:44 PM,6677.766,0,10700
+12/28/2016 10:27:49 PM,6677.766,0,10800
+12/28/2016 10:27:54 PM,6677.776,0,10900
+12/28/2016 10:27:59 PM,6677.778,0,11000
+12/28/2016 10:28:03 PM,6677.778,0,11100
+12/28/2016 10:28:07 PM,6677.786,0,11200
+12/28/2016 10:28:09 PM,6677.794,0,11300
+12/28/2016 10:28:13 PM,6677.798,0,11400
+12/28/2016 10:28:16 PM,6677.798,0,11500
+12/28/2016 10:28:19 PM,6677.8,0,11600
+12/28/2016 10:28:26 PM,6677.8,0,11700
+12/28/2016 10:28:29 PM,6677.8,0,11800
+12/28/2016 10:28:32 PM,6677.8,0,11900
+12/28/2016 10:28:34 PM,6677.8,0,12000
+12/28/2016 10:28:36 PM,6677.8,0,12100
+12/28/2016 10:28:38 PM,6677.8,0,12200
+12/28/2016 10:28:40 PM,6677.8,0,12300
+12/28/2016 10:28:43 PM,6677.8,0,12400
+12/28/2016 10:28:45 PM,6677.8,0,12500
+12/28/2016 10:28:48 PM,6677.8,0,12600
+12/28/2016 10:28:51 PM,6677.8,0,12700
+12/28/2016 10:28:54 PM,6677.8,0,12800
+12/28/2016 10:28:58 PM,6677.8,0,12900
+12/28/2016 10:28:59 PM,6677.8,0,13000
+12/28/2016 10:29:02 PM,6677.8,0,13100
+12/28/2016 10:29:06 PM,6677.8,0,13200
+12/28/2016 10:29:11 PM,6677.8,0,13300
+12/28/2016 10:29:14 PM,6677.8,0,13400
+12/28/2016 10:29:19 PM,6677.8,0,13500
+12/28/2016 10:29:23 PM,6677.8,0,13600
+12/28/2016 10:29:28 PM,6677.8,0,13700
+12/28/2016 10:29:30 PM,6677.8,0,13800
+12/28/2016 10:29:35 PM,6677.8,0,13900
+12/28/2016 10:29:38 PM,6677.8,0,14000
+12/28/2016 10:29:42 PM,6677.8,0,14100
+12/28/2016 10:29:47 PM,6677.8,0,14200
+12/28/2016 10:29:52 PM,6677.8,0,14300
+12/28/2016 10:29:56 PM,6677.988,0,14400
+12/28/2016 10:30:00 PM,6677.988,0,14500
+12/28/2016 10:30:06 PM,6677.988,0,14600
+12/28/2016 10:30:10 PM,6677.988,0,14700
+12/28/2016 10:30:13 PM,6677.988,0,14800
+12/28/2016 10:30:15 PM,6677.988,0,14900
+12/28/2016 10:30:18 PM,6677.988,0,15000
+12/28/2016 10:30:20 PM,6677.988,0,15100
+12/28/2016 10:30:24 PM,6677.988,0,15200
+12/28/2016 10:30:26 PM,6677.988,0,15300
+12/28/2016 10:30:29 PM,6677.988,0,15400
+12/28/2016 10:30:32 PM,6677.988,0,15500
+12/28/2016 10:30:36 PM,6677.988,0,15600
+12/28/2016 10:30:39 PM,6677.988,0,15700
+12/28/2016 10:30:44 PM,6677.988,0,15800
+12/28/2016 10:30:46 PM,6677.988,0,15900
+12/28/2016 10:30:50 PM,6677.988,0,16000
+12/28/2016 10:30:56 PM,6728,0,16100
+12/28/2016 10:31:10 PM,6741,0,16200
+12/28/2016 10:31:24 PM,6741,0,16300
+12/28/2016 10:31:30 PM,6741,0,16400
+12/28/2016 10:31:40 PM,6741,0,16500
+12/28/2016 10:31:52 PM,6741,0,16600
+12/28/2016 10:32:03 PM,6741,0,16700
+12/28/2016 10:32:20 PM,6741,0,16800
+12/28/2016 10:32:35 PM,6741,0,16900
+12/28/2016 10:32:47 PM,6741,0,17000
+12/28/2016 10:32:56 PM,6741,0,17100
+12/28/2016 10:33:09 PM,6741,0,17200
+12/28/2016 10:33:16 PM,6741,0,17300
+12/28/2016 10:33:26 PM,6741,0,17400
+12/28/2016 10:33:36 PM,6741,0,17500
+12/28/2016 10:33:49 PM,6741,0,17600
+12/28/2016 10:34:01 PM,6741,0,17700
+12/28/2016 10:34:16 PM,6741,0,17800
+12/28/2016 10:34:29 PM,6741,0,17900
+12/28/2016 10:34:40 PM,6741,0,18000
+12/28/2016 10:34:54 PM,6741,0,18100
+12/28/2016 10:35:11 PM,6741,0,18200
+12/28/2016 10:35:21 PM,6741,0,18300
+12/28/2016 10:35:32 PM,6741,0,18400
+12/28/2016 10:35:47 PM,6741,0,18500
+12/28/2016 10:35:57 PM,6741,0,18600
+12/28/2016 10:36:09 PM,6741,0,18700
+12/28/2016 10:36:20 PM,6741,0,18800
+12/28/2016 10:36:30 PM,6741,0,18900
+12/28/2016 10:36:45 PM,6741,0,19000
+12/28/2016 10:36:57 PM,6741,0,19100
+12/28/2016 10:37:07 PM,6741,0,19200
+12/28/2016 10:37:18 PM,6741,0,19300
+12/28/2016 10:37:33 PM,6741,0,19400
+12/28/2016 10:37:49 PM,6741,0,19500
+12/28/2016 10:38:05 PM,6741,0,19600
+12/28/2016 10:38:16 PM,6741,0,19700
+12/28/2016 10:38:32 PM,6741,0,19800
+12/28/2016 10:38:48 PM,6741,0,19900
+12/28/2016 10:39:01 PM,6741,0,20000
+12/28/2016 10:39:13 PM,6753,0,20100
+12/28/2016 10:39:25 PM,6836.614,0,20200
+12/28/2016 10:39:31 PM,7059.664,0,20300
+12/28/2016 10:39:36 PM,7059.664,0,20400
+12/28/2016 10:39:41 PM,7059.664,0,20500
+12/28/2016 10:39:47 PM,7059.664,0,20600
+12/28/2016 10:39:52 PM,7059.664,0,20700
+12/28/2016 10:39:56 PM,7059.664,0,20800
+12/28/2016 10:40:01 PM,7059.682,0,20900
+12/28/2016 10:40:05 PM,7059.694,0,21000
+12/28/2016 10:40:10 PM,7059.708,0,21100
+12/28/2016 10:40:14 PM,7059.708,0,21200
+12/28/2016 10:40:18 PM,7059.708,0,21300
+12/28/2016 10:40:22 PM,7059.708,0,21400
+12/28/2016 10:40:28 PM,7059.728,0,21500
+12/28/2016 10:40:32 PM,7059.728,0,21600
+12/28/2016 10:40:39 PM,7059.736,0,21700
+12/28/2016 10:40:45 PM,7059.736,0,21800
+12/28/2016 10:40:49 PM,7059.736,0,21900
+12/28/2016 10:40:55 PM,7059.736,0,22000
+12/28/2016 10:41:01 PM,7059.74,0,22100
+12/28/2016 10:41:05 PM,7059.74,0,22200
+12/28/2016 10:41:10 PM,7059.75,0,22300
+12/28/2016 10:41:13 PM,7059.754,0,22400
+12/28/2016 10:41:18 PM,7059.754,0,22500
+12/28/2016 10:41:23 PM,7059.754,0,22600
+12/28/2016 10:41:26 PM,7059.754,0,22700
+12/28/2016 10:41:32 PM,7059.754,0,22800
+12/28/2016 10:41:39 PM,7059.754,0,22900
+12/28/2016 10:41:44 PM,7059.754,0,23000
+12/28/2016 10:41:50 PM,7059.754,0,23100
+12/28/2016 10:41:55 PM,7059.754,0,23200
+12/28/2016 10:41:58 PM,7059.754,0,23300
+12/28/2016 10:42:02 PM,7059.754,0,23400
+12/28/2016 10:42:06 PM,7059.754,0,23500
+12/28/2016 10:42:10 PM,7059.754,0,23600
+12/28/2016 10:42:17 PM,7059.754,0,23700
+12/28/2016 10:42:23 PM,7059.754,0,23800
+12/28/2016 10:42:28 PM,7059.754,0,23900
+12/28/2016 10:42:35 PM,7059.754,0,24000
+12/28/2016 10:42:41 PM,7059.754,0,24100
+12/28/2016 10:42:44 PM,7059.754,0,24200
+12/28/2016 10:42:50 PM,7059.754,0,24300
+12/28/2016 10:42:55 PM,7059.754,0,24400
+12/28/2016 10:42:58 PM,7059.754,0,24500
+12/28/2016 10:43:02 PM,7059.754,0,24600
+12/28/2016 10:43:06 PM,7059.754,0,24700
+12/28/2016 10:43:11 PM,7059.754,0,24800
+12/28/2016 10:43:17 PM,7059.754,0,24900
+12/28/2016 10:43:21 PM,7059.754,0,25000
+12/28/2016 10:43:26 PM,7059.754,0,25100
+12/28/2016 10:43:30 PM,7059.754,0,25200
+12/28/2016 10:43:34 PM,7059.754,0,25300
+12/28/2016 10:43:39 PM,7059.758,0,25400
+12/28/2016 10:43:45 PM,7059.758,0,25500
+12/28/2016 10:43:50 PM,7059.758,0,25600
+12/28/2016 10:43:55 PM,7059.758,0,25700
+12/28/2016 10:44:00 PM,7059.758,0,25800
+12/28/2016 10:44:04 PM,7059.758,0,25900
+12/28/2016 10:44:08 PM,7059.758,0,26000
+12/28/2016 10:44:14 PM,7059.758,0,26100
+12/28/2016 10:44:20 PM,7059.758,0,26200
+12/28/2016 10:44:24 PM,7059.758,0,26300
+12/28/2016 10:44:28 PM,7059.758,0,26400
+12/28/2016 10:44:33 PM,7059.758,0,26500
+12/28/2016 10:44:40 PM,7059.758,0,26600
+12/28/2016 10:44:45 PM,7059.758,0,26700
+12/28/2016 10:44:53 PM,7059.758,0,26800
+12/28/2016 10:44:59 PM,7059.758,0,26900
+12/28/2016 10:45:04 PM,7059.758,0,27000
+12/28/2016 10:45:10 PM,7059.758,0,27100
+12/28/2016 10:45:15 PM,7059.758,0,27200
+12/28/2016 10:45:18 PM,7059.758,0,27300
+12/28/2016 10:45:24 PM,7059.758,0,27400
+12/28/2016 10:45:29 PM,7059.758,0,27500
+12/28/2016 10:45:34 PM,7059.758,0,27600
+12/28/2016 10:45:40 PM,7059.758,0,27700
+12/28/2016 10:45:46 PM,7059.758,0,27800
+12/28/2016 10:45:51 PM,7059.758,0,27900
+12/28/2016 10:45:55 PM,7059.758,0,28000
+12/28/2016 10:46:01 PM,7059.758,0,28100
+12/28/2016 10:46:05 PM,7059.758,0,28200
+12/28/2016 10:46:09 PM,7059.758,0,28300
+12/28/2016 10:46:13 PM,7061.806,0,28400
+12/28/2016 10:46:18 PM,7061.806,0,28500
+12/28/2016 10:46:22 PM,7072.806,0,28600
+12/28/2016 10:46:27 PM,7074.806,0,28700
+12/28/2016 10:46:32 PM,7079.806,0,28800
+12/28/2016 10:46:36 PM,7079.806,0,28900
+12/28/2016 10:46:41 PM,7079.806,0,29000
+12/28/2016 10:46:44 PM,7079.806,0,29100
+12/28/2016 10:46:49 PM,7079.806,0,29200
+12/28/2016 10:46:54 PM,7079.826,0,29300
+12/28/2016 10:46:58 PM,7079.826,0,29400
+12/28/2016 10:47:02 PM,7079.826,0,29500
+12/28/2016 10:47:05 PM,7079.826,0,29600
+12/28/2016 10:47:09 PM,7079.826,0,29700
+12/28/2016 10:47:14 PM,7079.826,0,29800
+12/28/2016 10:47:22 PM,7079.826,0,29900
+12/28/2016 10:47:29 PM,7079.826,0,30000
+12/28/2016 10:47:35 PM,7079.818,0,30100
+12/28/2016 10:47:43 PM,7079.83,0,30200
+12/28/2016 10:47:48 PM,7079.83,0,30300
+12/28/2016 10:47:54 PM,7079.83,0,30400
+12/28/2016 10:48:02 PM,7079.83,0,30500
+12/28/2016 10:48:07 PM,7079.83,0,30600
+12/28/2016 10:48:11 PM,7079.83,0,30700
+12/28/2016 10:48:16 PM,7079.83,0,30800
+12/28/2016 10:48:20 PM,7079.83,0,30900
+12/28/2016 10:48:25 PM,7079.83,0,31000
+12/28/2016 10:48:29 PM,7079.83,0,31100
+12/28/2016 10:48:35 PM,7079.83,0,31200
+12/28/2016 10:48:42 PM,7079.83,0,31300
+12/28/2016 10:48:46 PM,7079.83,0,31400
+12/28/2016 10:48:50 PM,7079.83,0,31500
+12/28/2016 10:48:55 PM,7079.83,0,31600
+12/28/2016 10:49:01 PM,7079.83,0,31700
+12/28/2016 10:49:06 PM,7079.83,0,31800
+12/28/2016 10:49:15 PM,7079.83,0,31900
+12/28/2016 10:49:20 PM,7079.83,0,32000
+12/28/2016 10:49:24 PM,7079.83,0,32100
+12/28/2016 10:49:28 PM,7079.83,0,32200
+12/28/2016 10:49:34 PM,7079.83,0,32300
+12/28/2016 10:49:38 PM,7079.83,0,32400
+12/28/2016 10:49:44 PM,7079.83,0,32500
+12/28/2016 10:49:49 PM,7079.83,0,32600
+12/28/2016 10:49:56 PM,7079.83,0,32700
+12/28/2016 10:50:00 PM,7079.83,0,32800
+12/28/2016 10:50:06 PM,7079.83,0,32900
+12/28/2016 10:50:12 PM,7079.83,0,33000
+12/28/2016 10:50:17 PM,7079.83,0,33100
+12/28/2016 10:50:24 PM,7079.83,0,33200
+12/28/2016 10:50:30 PM,7079.83,0,33300
+12/28/2016 10:50:36 PM,7079.83,0,33400
+12/28/2016 10:50:41 PM,7079.83,0,33500
+12/28/2016 10:50:45 PM,7079.83,0,33600
+12/28/2016 10:50:50 PM,7079.83,0,33700
+12/28/2016 10:50:53 PM,7079.83,0,33800
+12/28/2016 10:50:59 PM,7079.83,0,33900
+12/28/2016 10:51:05 PM,7079.83,0,34000
+12/28/2016 10:51:10 PM,7079.83,0,34100
+12/28/2016 10:51:15 PM,7079.83,0,34200
+12/28/2016 10:51:20 PM,7079.83,0,34300
+12/28/2016 10:51:24 PM,7079.83,0,34400
+12/28/2016 10:51:32 PM,7079.83,0,34500
+12/28/2016 10:51:38 PM,7079.83,0,34600
+12/28/2016 10:51:43 PM,7079.83,0,34700
+12/28/2016 10:51:47 PM,7079.83,0,34800
+12/28/2016 10:51:52 PM,7079.83,0,34900
+12/28/2016 10:51:57 PM,7079.83,0,35000
+12/28/2016 10:52:03 PM,7079.83,0,35100
+12/28/2016 10:52:09 PM,7079.83,0,35200
+12/28/2016 10:52:14 PM,7079.83,0,35300
+12/28/2016 10:52:18 PM,7079.83,0,35400
+12/28/2016 10:52:22 PM,7079.83,0,35500
+12/28/2016 10:52:28 PM,7079.83,0,35600
+12/28/2016 10:52:33 PM,7079.83,0,35700
+12/28/2016 10:52:37 PM,7079.83,0,35800
+12/28/2016 10:52:43 PM,7079.83,0,35900
+12/28/2016 10:52:47 PM,7079.83,0,36000
+12/28/2016 10:52:53 PM,7079.83,0,36100
+12/28/2016 10:53:00 PM,7079.83,0,36200
+12/28/2016 10:53:05 PM,7079.83,0,36300
+12/28/2016 10:53:09 PM,7079.83,0,36400
+12/28/2016 10:53:17 PM,7079.83,0,36500
+12/28/2016 10:53:21 PM,7079.83,0,36600
+12/28/2016 10:53:25 PM,7079.83,0,36700
+12/28/2016 10:53:29 PM,7079.83,0,36800
+12/28/2016 10:53:33 PM,7079.83,0,36900
+12/28/2016 10:53:41 PM,7079.83,0,37000
+12/28/2016 10:53:46 PM,7079.83,0,37100
+12/28/2016 10:53:51 PM,7079.83,0,37200
+12/28/2016 10:53:57 PM,7079.83,0,37300
+12/28/2016 10:54:00 PM,7079.83,0,37400
+12/28/2016 10:54:09 PM,7079.83,0,37500
+12/28/2016 10:54:14 PM,7079.83,0,37600
+12/28/2016 10:54:20 PM,7079.83,0,37700
+12/28/2016 10:54:24 PM,7079.83,0,37800
+12/28/2016 10:54:28 PM,7079.83,0,37900
+12/28/2016 10:54:33 PM,7079.83,0,38000
+12/28/2016 10:54:39 PM,7079.83,0,38100
+12/28/2016 10:54:44 PM,7079.83,0,38200
+12/28/2016 10:54:47 PM,7079.83,0,38300
+12/28/2016 10:54:54 PM,7079.83,0,38400
+12/28/2016 10:54:59 PM,7079.83,0,38500
+12/28/2016 10:55:05 PM,7079.83,0,38600
+12/28/2016 10:55:11 PM,7079.83,0,38700
+12/28/2016 10:55:16 PM,7079.83,0,38800
+12/28/2016 10:55:20 PM,7079.83,0,38900
+12/28/2016 10:55:24 PM,7079.83,0,39000
+12/28/2016 10:55:30 PM,7079.83,0,39100
+12/28/2016 10:55:38 PM,7079.83,0,39200
+12/28/2016 10:55:42 PM,7079.83,0,39300
+12/28/2016 10:55:47 PM,7079.83,0,39400
+12/28/2016 10:55:53 PM,7079.83,0,39500
+12/28/2016 10:55:57 PM,7079.83,0,39600
+12/28/2016 10:56:06 PM,7079.83,0,39700
+12/28/2016 10:56:11 PM,7079.83,0,39800
+12/28/2016 10:56:15 PM,7079.83,0,39900
+12/28/2016 10:56:21 PM,7079.83,0,40000
+12/28/2016 10:56:26 PM,7079.83,0,40100
+12/28/2016 10:56:31 PM,7079.83,0,40200
+12/28/2016 10:56:37 PM,7079.83,0,40300
+12/28/2016 10:56:42 PM,7079.83,0,40400
+12/28/2016 10:56:46 PM,7079.83,0,40500
+12/28/2016 10:56:51 PM,7079.83,0,40600
+12/28/2016 10:56:58 PM,7079.83,0,40700
+12/28/2016 10:57:03 PM,7079.83,0,40800
+12/28/2016 10:57:10 PM,7079.83,0,40900
+12/28/2016 10:57:14 PM,7079.83,0,41000
+12/28/2016 10:57:19 PM,7079.83,0,41100
+12/28/2016 10:57:25 PM,7079.83,0,41200
+12/28/2016 10:57:29 PM,7079.83,0,41300
+12/28/2016 10:57:33 PM,7079.83,0,41400
+12/28/2016 10:57:36 PM,7079.924,0,41500
+12/28/2016 10:57:42 PM,7079.924,0,41600
+12/28/2016 10:57:47 PM,7079.924,0,41700
+12/28/2016 10:57:54 PM,7079.924,0,41800
+12/28/2016 10:57:59 PM,7079.924,0,41900
+12/28/2016 10:58:06 PM,7079.924,0,42000
+12/28/2016 10:58:12 PM,7079.924,0,42100
+12/28/2016 10:58:19 PM,7079.924,0,42200
+12/28/2016 10:58:26 PM,7079.924,0,42300
+12/28/2016 10:58:31 PM,7079.924,0,42400
+12/28/2016 10:58:37 PM,7079.924,0,42500
+12/28/2016 10:58:42 PM,7079.924,0,42600
+12/28/2016 10:58:47 PM,7079.924,0,42700
+12/28/2016 10:58:53 PM,7079.924,0,42800
+12/28/2016 10:59:00 PM,7079.924,0,42900
+12/28/2016 10:59:09 PM,7079.924,0,43000
+12/28/2016 10:59:13 PM,7079.924,0,43100
+12/28/2016 10:59:17 PM,7079.924,0,43200
+12/28/2016 10:59:22 PM,7079.924,0,43300
+12/28/2016 10:59:26 PM,7079.924,0,43400
+12/28/2016 10:59:31 PM,7079.924,0,43500
+12/28/2016 10:59:36 PM,7079.924,0,43600
+12/28/2016 10:59:43 PM,7079.924,0,43700
+12/28/2016 10:59:50 PM,7079.924,0,43800
+12/28/2016 10:59:58 PM,7079.924,0,43900
+12/28/2016 11:00:05 PM,7079.924,0,44000
+12/28/2016 11:00:11 PM,7079.924,0,44100
+12/28/2016 11:00:19 PM,7079.924,0,44200
+12/28/2016 11:00:24 PM,7079.924,0,44300
+12/28/2016 11:00:28 PM,7079.924,0,44400
+12/28/2016 11:00:33 PM,7079.924,0,44500
+12/28/2016 11:00:37 PM,7079.924,0,44600
+12/28/2016 11:00:42 PM,7079.924,0,44700
+12/28/2016 11:00:47 PM,7079.924,0,44800
+12/28/2016 11:00:54 PM,7079.924,0,44900
+12/28/2016 11:01:02 PM,7079.924,0,45000
+12/28/2016 11:01:08 PM,7079.988,0,45100
+12/28/2016 11:01:11 PM,7079.988,0,45200
+12/28/2016 11:01:18 PM,7079.988,0,45300
+12/28/2016 11:01:26 PM,7079.988,0,45400
+12/28/2016 11:01:33 PM,7079.988,0,45500
+12/28/2016 11:01:37 PM,7079.988,0,45600
+12/28/2016 11:01:41 PM,7079.988,0,45700
+12/28/2016 11:01:46 PM,7079.988,0,45800
+12/28/2016 11:01:51 PM,7079.988,0,45900
+12/28/2016 11:01:55 PM,7079.988,0,46000
+12/28/2016 11:02:01 PM,7079.988,0,46100
+12/28/2016 11:02:05 PM,7079.988,0,46200
+12/28/2016 11:02:08 PM,7079.988,0,46300
+12/28/2016 11:02:11 PM,7079.988,0,46400
+12/28/2016 11:02:14 PM,7079.988,0,46500
+12/28/2016 11:02:19 PM,7079.988,0,46600
+12/28/2016 11:02:23 PM,7079.988,0,46700
+12/28/2016 11:02:27 PM,7079.988,0,46800
+12/28/2016 11:02:32 PM,7079.988,0,46900
+12/28/2016 11:02:38 PM,7079.988,0,47000
+12/28/2016 11:02:43 PM,7079.988,0,47100
+12/28/2016 11:02:47 PM,7079.988,0,47200
+12/28/2016 11:02:52 PM,7079.988,0,47300
+12/28/2016 11:02:57 PM,7079.988,0,47400
+12/28/2016 11:03:00 PM,7079.988,0,47500
+12/28/2016 11:03:03 PM,7079.988,0,47600
+12/28/2016 11:03:08 PM,7079.988,0,47700
+12/28/2016 11:03:12 PM,7079.988,0,47800
+12/28/2016 11:03:16 PM,7079.988,0,47900
+12/28/2016 11:03:20 PM,7079.988,0,48000
+12/28/2016 11:03:24 PM,7079.988,0,48100
+12/28/2016 11:03:29 PM,7079.988,0,48200
+12/28/2016 11:03:32 PM,7079.988,0,48300
+12/28/2016 11:03:36 PM,7079.988,0,48400
+12/28/2016 11:03:40 PM,7079.988,0,48500
+12/28/2016 11:03:45 PM,7079.988,0,48600
+12/28/2016 11:03:49 PM,7079.988,0,48700
+12/28/2016 11:03:52 PM,7079.988,0,48800
+12/28/2016 11:03:56 PM,7079.988,0,48900
+12/28/2016 11:04:02 PM,7079.988,0,49000
+12/28/2016 11:04:09 PM,7079.988,0,49100
+12/28/2016 11:04:17 PM,7079.988,0,49200
+12/28/2016 11:04:24 PM,7079.988,0,49300
+12/28/2016 11:04:28 PM,7079.988,0,49400
+12/28/2016 11:04:33 PM,7079.988,0,49500
+12/28/2016 11:04:39 PM,7079.988,0,49600
+12/28/2016 11:04:45 PM,7079.988,0,49700
+12/28/2016 11:04:52 PM,7079.988,0,49800
+12/28/2016 11:04:56 PM,7079.988,0,49900
+12/28/2016 11:05:01 PM,7079.988,0,50000
+12/28/2016 11:05:05 PM,7079.988,0,50100
+12/28/2016 11:05:09 PM,7079.988,0,50200
+12/28/2016 11:05:16 PM,7079.988,0,50300
+12/28/2016 11:05:20 PM,7079.988,0,50400
+12/28/2016 11:05:26 PM,7079.988,0,50500
+12/28/2016 11:05:30 PM,7079.988,0,50600
+12/28/2016 11:05:34 PM,7079.988,0,50700
+12/28/2016 11:05:37 PM,7079.988,0,50800
+12/28/2016 11:05:44 PM,7079.988,0,50900
+12/28/2016 11:05:48 PM,7079.988,0,51000
+12/28/2016 11:05:52 PM,7079.988,0,51100
+12/28/2016 11:05:57 PM,7079.988,0,51200
+12/28/2016 11:06:00 PM,7079.988,0,51300
+12/28/2016 11:06:04 PM,7079.988,0,51400
+12/28/2016 11:06:09 PM,7079.988,0,51500
+12/28/2016 11:06:13 PM,7079.988,0,51600
+12/28/2016 11:06:16 PM,7079.988,0,51700
+12/28/2016 11:06:20 PM,7079.988,0,51800
+12/28/2016 11:06:23 PM,7079.988,0,51900
+12/28/2016 11:06:29 PM,7079.988,0,52000
+12/28/2016 11:06:32 PM,7079.988,0,52100
+12/28/2016 11:06:35 PM,7079.988,0,52200
+12/28/2016 11:06:38 PM,7079.988,0,52300
+12/28/2016 11:06:42 PM,7079.988,0,52400
+12/28/2016 11:06:44 PM,7079.988,0,52500
+12/28/2016 11:06:49 PM,7079.988,0,52600
+12/28/2016 11:06:57 PM,7079.988,0,52700
+12/28/2016 11:07:02 PM,7079.988,0,52800
+12/28/2016 11:07:06 PM,7079.988,0,52900
+12/28/2016 11:07:11 PM,7079.988,0,53000
+12/28/2016 11:07:15 PM,7079.988,0,53100
+12/28/2016 11:07:19 PM,7079.988,0,53200
+12/28/2016 11:07:23 PM,7079.988,0,53300
+12/28/2016 11:07:26 PM,7079.988,0,53400
+12/28/2016 11:07:30 PM,7079.988,0,53500
+12/28/2016 11:07:34 PM,7079.988,0,53600
+12/28/2016 11:07:39 PM,7079.988,0,53700
+12/28/2016 11:07:41 PM,7079.988,0,53800
+12/28/2016 11:07:46 PM,7079.988,0,53900
+12/28/2016 11:07:50 PM,7079.988,0,54000
+12/28/2016 11:07:54 PM,7079.988,0,54100
+12/28/2016 11:08:01 PM,7079.988,0,54200
+12/28/2016 11:08:05 PM,7079.988,0,54300
+12/28/2016 11:08:09 PM,7079.988,0,54400
+12/28/2016 11:08:14 PM,7079.988,0,54500
+12/28/2016 11:08:25 PM,7079.988,0,54600
+12/28/2016 11:08:33 PM,7079.988,0,54700
+12/28/2016 11:08:38 PM,7079.988,0,54800
+12/28/2016 11:08:42 PM,7079.988,0,54900
+12/28/2016 11:08:46 PM,7079.988,0,55000
+12/28/2016 11:08:50 PM,7079.988,0,55100
+12/28/2016 11:08:57 PM,7079.988,0,55200
+12/28/2016 11:09:01 PM,7079.988,0,55300
+12/28/2016 11:09:06 PM,7079.988,0,55400
+12/28/2016 11:09:11 PM,7079.988,0,55500
+12/28/2016 11:09:15 PM,7079.988,0,55600
+12/28/2016 11:09:25 PM,7079.988,0,55700
+12/28/2016 11:09:34 PM,7079.988,0,55800
+12/28/2016 11:09:42 PM,7079.988,0,55900
+12/28/2016 11:09:48 PM,7079.988,0,56000
+12/28/2016 11:09:54 PM,7079.988,0,56100
+12/28/2016 11:09:58 PM,7079.988,0,56200
+12/28/2016 11:10:02 PM,7079.988,0,56300
+12/28/2016 11:10:07 PM,7079.988,0,56400
+12/28/2016 11:10:11 PM,7079.988,0,56500
+12/28/2016 11:10:14 PM,7079.988,0,56600
+12/28/2016 11:10:19 PM,7079.988,0,56700
+12/28/2016 11:10:24 PM,7079.988,0,56800
+12/28/2016 11:10:29 PM,7079.988,0,56900
+12/28/2016 11:10:33 PM,7079.988,0,57000
+12/28/2016 11:10:38 PM,7079.988,0,57100
+12/28/2016 11:10:43 PM,7079.988,0,57200
+12/28/2016 11:10:48 PM,7079.988,0,57300
+12/28/2016 11:10:51 PM,7079.988,0,57400
+12/28/2016 11:10:54 PM,7079.988,0,57500
+12/28/2016 11:11:00 PM,7079.988,0,57600
+12/28/2016 11:11:04 PM,7079.988,0,57700
+12/28/2016 11:11:09 PM,7079.988,0,57800
+12/28/2016 11:11:13 PM,7079.988,0,57900
+12/28/2016 11:11:16 PM,7079.988,0,58000
+12/28/2016 11:11:21 PM,7079.988,0,58100
+12/28/2016 11:11:26 PM,7079.988,0,58200
+12/28/2016 11:11:29 PM,7079.988,0,58300
+12/28/2016 11:11:35 PM,7079.988,0,58400
+12/28/2016 11:11:41 PM,7079.988,0,58500
+12/28/2016 11:11:47 PM,7079.988,0,58600
+12/28/2016 11:11:52 PM,7079.988,0,58700
+12/28/2016 11:11:57 PM,7079.988,0,58800
+12/28/2016 11:12:02 PM,7079.988,0,58900
+12/28/2016 11:12:07 PM,7079.988,0,59000
+12/28/2016 11:12:12 PM,7079.988,0,59100
+12/28/2016 11:12:18 PM,7079.988,0,59200
+12/28/2016 11:12:22 PM,7079.988,0,59300
+12/28/2016 11:12:27 PM,7079.988,0,59400
+12/28/2016 11:12:32 PM,7079.988,0,59500
+12/28/2016 11:12:39 PM,7079.988,0,59600
+12/28/2016 11:12:45 PM,7079.988,0,59700
+12/28/2016 11:12:50 PM,7079.988,0,59800
+12/28/2016 11:12:55 PM,7079.988,0,59900
+12/28/2016 11:13:00 PM,7079.988,0,60000
+12/28/2016 11:13:04 PM,7079.988,0,60100
+12/28/2016 11:13:10 PM,7079.988,0,60200
+12/28/2016 11:13:15 PM,7079.988,0,60300
+12/28/2016 11:13:20 PM,7079.988,0,60400
+12/28/2016 11:13:26 PM,7079.988,0,60500
+12/28/2016 11:13:31 PM,7079.988,0,60600
+12/28/2016 11:13:35 PM,7079.988,0,60700
+12/28/2016 11:13:41 PM,7079.988,0,60800
+12/28/2016 11:13:47 PM,7079.988,0,60900
+12/28/2016 11:13:52 PM,7079.988,0,61000
+12/28/2016 11:13:57 PM,7079.988,0,61100
+12/28/2016 11:14:04 PM,7079.988,0,61200
+12/28/2016 11:14:11 PM,7079.988,0,61300
+12/28/2016 11:14:20 PM,7079.988,0,61400
+12/28/2016 11:14:31 PM,7079.988,0,61500
+12/28/2016 11:14:36 PM,7079.988,0,61600
+12/28/2016 11:14:40 PM,7079.988,0,61700
+12/28/2016 11:14:47 PM,7079.988,0,61800
+12/28/2016 11:14:51 PM,7079.988,0,61900
+12/28/2016 11:14:55 PM,7079.988,0,62000
+12/28/2016 11:14:59 PM,7079.988,0,62100
+12/28/2016 11:15:04 PM,7079.988,0,62200
+12/28/2016 11:15:09 PM,7079.988,0,62300
+12/28/2016 11:15:14 PM,7079.988,0,62400
+12/28/2016 11:15:18 PM,7079.988,0,62500
+12/28/2016 11:15:22 PM,7079.988,0,62600
+12/28/2016 11:15:25 PM,7079.988,0,62700
+12/28/2016 11:15:31 PM,7079.988,0,62800
+12/28/2016 11:15:35 PM,7079.988,0,62900
+12/28/2016 11:15:42 PM,7079.988,0,63000
+12/28/2016 11:15:49 PM,7079.988,0,63100
+12/28/2016 11:15:57 PM,7079.988,0,63200
+12/28/2016 11:16:01 PM,7079.988,0,63300
+12/28/2016 11:16:06 PM,7079.988,0,63400
+12/28/2016 11:16:14 PM,7079.988,0,63500
+12/28/2016 11:16:21 PM,7079.988,0,63600
+12/28/2016 11:16:25 PM,7079.988,0,63700
+12/28/2016 11:16:32 PM,7079.988,0,63800
+12/28/2016 11:16:39 PM,7079.988,0,63900
+12/28/2016 11:16:46 PM,7079.988,0,64000
+12/28/2016 11:16:53 PM,7079.988,0,64100
+12/28/2016 11:17:01 PM,7079.988,0,64200
+12/28/2016 11:17:06 PM,7079.988,0,64300
+12/28/2016 11:17:12 PM,7079.988,0,64400
+12/28/2016 11:17:17 PM,7079.988,0,64500
+12/28/2016 11:17:21 PM,7079.988,0,64600
+12/28/2016 11:17:24 PM,7079.988,0,64700
+12/28/2016 11:17:28 PM,7079.988,0,64800
+12/28/2016 11:17:33 PM,7079.988,0,64900
+12/28/2016 11:17:38 PM,7079.988,0,65000
+12/28/2016 11:17:44 PM,7079.988,0,65100
+12/28/2016 11:17:50 PM,7079.988,0,65200
+12/28/2016 11:17:57 PM,7079.988,0,65300
+12/28/2016 11:18:02 PM,7079.988,0,65400
+12/28/2016 11:18:14 PM,7079.988,0,65500
+12/28/2016 11:18:22 PM,7079.988,0,65600
+12/28/2016 11:18:27 PM,7079.988,0,65700
+12/28/2016 11:18:30 PM,7079.988,0,65800
+12/28/2016 11:18:34 PM,7079.988,0,65900
+12/28/2016 11:18:40 PM,7079.988,0,66000
+12/28/2016 11:18:49 PM,7079.988,0,66100
+12/28/2016 11:18:56 PM,7079.988,0,66200
+12/28/2016 11:18:59 PM,7079.988,0,66300
+12/28/2016 11:19:03 PM,7079.988,0,66400
+12/28/2016 11:19:09 PM,7079.988,0,66500
+12/28/2016 11:19:15 PM,7079.988,0,66600
+12/28/2016 11:19:20 PM,7079.988,0,66700
+12/28/2016 11:19:26 PM,7079.988,0,66800
+12/28/2016 11:19:31 PM,7079.988,0,66900
+12/28/2016 11:19:38 PM,7079.988,0,67000
+12/28/2016 11:19:44 PM,7079.988,0,67100
+12/28/2016 11:19:49 PM,7079.988,0,67200
+12/28/2016 11:19:55 PM,7079.988,0,67300
+12/28/2016 11:19:59 PM,7079.988,0,67400
+12/28/2016 11:20:05 PM,7079.988,0,67500
+12/28/2016 11:20:08 PM,7079.988,0,67600
+12/28/2016 11:20:11 PM,7079.988,0,67700
+12/28/2016 11:20:17 PM,7079.988,0,67800
+12/28/2016 11:20:21 PM,7079.988,0,67900
+12/28/2016 11:20:24 PM,7079.988,0,68000
+12/28/2016 11:20:30 PM,7079.988,0,68100
+12/28/2016 11:20:35 PM,7079.988,0,68200
+12/28/2016 11:20:39 PM,7079.988,0,68300
+12/28/2016 11:20:45 PM,7079.988,0,68400
+12/28/2016 11:20:50 PM,7079.988,0,68500
+12/28/2016 11:20:58 PM,7079.988,0,68600
+12/28/2016 11:21:02 PM,7079.988,0,68700
+12/28/2016 11:21:06 PM,7079.988,0,68800
+12/28/2016 11:21:10 PM,7079.988,0,68900
+12/28/2016 11:21:13 PM,7079.988,0,69000
+12/28/2016 11:21:18 PM,7079.988,0,69100
+12/28/2016 11:21:24 PM,7079.988,0,69200
+12/28/2016 11:21:28 PM,7079.988,0,69300
+12/28/2016 11:21:32 PM,7079.988,0,69400
+12/28/2016 11:21:36 PM,7079.988,0,69500
+12/28/2016 11:21:40 PM,7079.988,0,69600
+12/28/2016 11:21:44 PM,7079.988,0,69700
+12/28/2016 11:21:48 PM,7079.988,0,69800
+12/28/2016 11:21:54 PM,7079.988,0,69900
+12/28/2016 11:21:58 PM,7079.988,0,70000
+12/28/2016 11:22:06 PM,7079.988,0,70100
+12/28/2016 11:22:14 PM,7079.988,0,70200
+12/28/2016 11:22:18 PM,7079.988,0,70300
+12/28/2016 11:22:23 PM,7079.988,0,70400
+12/28/2016 11:22:27 PM,7079.988,0,70500
+12/28/2016 11:22:31 PM,7079.988,0,70600
+12/28/2016 11:22:35 PM,7079.988,0,70700
+12/28/2016 11:22:42 PM,7079.988,0,70800
+12/28/2016 11:22:47 PM,7079.988,0,70900
+12/28/2016 11:22:52 PM,7079.988,0,71000
+12/28/2016 11:22:59 PM,7079.988,0,71100
+12/28/2016 11:23:09 PM,7079.988,0,71200
+12/28/2016 11:23:17 PM,7079.988,0,71300
+12/28/2016 11:23:24 PM,7079.988,0,71400
+12/28/2016 11:23:32 PM,7079.988,0,71500
+12/28/2016 11:23:38 PM,7079.988,0,71600
+12/28/2016 11:23:45 PM,7079.988,0,71700
+12/28/2016 11:23:49 PM,7079.988,0,71800
+12/28/2016 11:23:54 PM,7079.988,0,71900
+12/28/2016 11:24:01 PM,7079.988,0,72000
+12/28/2016 11:24:07 PM,7079.988,0,72100
+12/28/2016 11:24:12 PM,7079.988,0,72200
+12/28/2016 11:24:16 PM,7079.988,0,72300
+12/28/2016 11:24:24 PM,7079.988,0,72400
+12/28/2016 11:24:31 PM,7079.988,0,72500
+12/28/2016 11:24:39 PM,7079.988,0,72600
+12/28/2016 11:24:44 PM,7079.988,0,72700
+12/28/2016 11:24:50 PM,7079.988,0,72800
+12/28/2016 11:24:58 PM,7079.988,0,72900
+12/28/2016 11:25:07 PM,7079.988,0,73000
+12/28/2016 11:25:15 PM,7079.988,0,73100
+12/28/2016 11:25:21 PM,7079.988,0,73200
+12/28/2016 11:25:27 PM,7079.988,0,73300
+12/28/2016 11:25:32 PM,7079.988,0,73400
+12/28/2016 11:25:36 PM,7079.988,0,73500
+12/28/2016 11:25:42 PM,7079.988,0,73600
+12/28/2016 11:25:48 PM,7079.988,0,73700
+12/28/2016 11:25:53 PM,7079.988,0,73800
+12/28/2016 11:25:59 PM,7079.988,0,73900
+12/28/2016 11:26:05 PM,7079.988,0,74000
+12/28/2016 11:26:09 PM,7079.988,0,74100
+12/28/2016 11:26:14 PM,7079.988,0,74200
+12/28/2016 11:26:19 PM,7079.988,0,74300
+12/28/2016 11:26:24 PM,7079.988,0,74400
+12/28/2016 11:26:30 PM,7079.988,0,74500
+12/28/2016 11:26:35 PM,7079.988,0,74600
+12/28/2016 11:26:40 PM,7079.988,0,74700
+12/28/2016 11:26:45 PM,7079.988,0,74800
+12/28/2016 11:26:51 PM,7079.988,0,74900
+12/28/2016 11:26:58 PM,7079.988,0,75000
+12/28/2016 11:27:04 PM,7079.988,0,75100
+12/28/2016 11:27:09 PM,7079.988,0,75200
+12/28/2016 11:27:16 PM,7079.988,0,75300
+12/28/2016 11:27:22 PM,7079.988,0,75400
+12/28/2016 11:27:31 PM,7079.988,0,75500
+12/28/2016 11:27:38 PM,7079.988,0,75600
+12/28/2016 11:27:44 PM,7079.988,0,75700
+12/28/2016 11:27:49 PM,7079.988,0,75800
+12/28/2016 11:27:56 PM,7079.988,0,75900
+12/28/2016 11:28:00 PM,7079.988,0,76000
+12/28/2016 11:28:06 PM,7079.988,0,76100
+12/28/2016 11:28:10 PM,7079.988,0,76200
+12/28/2016 11:28:16 PM,7079.988,0,76300
+12/28/2016 11:28:23 PM,7079.988,0,76400
+12/28/2016 11:28:30 PM,7079.988,0,76500
+12/28/2016 11:28:37 PM,7079.988,0,76600
+12/28/2016 11:28:42 PM,7079.988,0,76700
+12/28/2016 11:28:48 PM,7079.988,0,76800
+12/28/2016 11:28:56 PM,7079.988,0,76900
+12/28/2016 11:29:01 PM,7079.988,0,77000
+12/28/2016 11:29:05 PM,7079.988,0,77100
+12/28/2016 11:29:09 PM,7079.988,0,77200
+12/28/2016 11:29:15 PM,7079.988,0,77300
+12/28/2016 11:29:20 PM,7079.988,0,77400
+12/28/2016 11:29:25 PM,7079.988,0,77500
+12/28/2016 11:29:32 PM,7079.988,0,77600
+12/28/2016 11:29:37 PM,7079.988,0,77700
+12/28/2016 11:29:42 PM,7079.988,0,77800
+12/28/2016 11:29:49 PM,7079.988,0,77900
+12/28/2016 11:29:57 PM,7079.988,0,78000
+12/28/2016 11:29:59 PM,7079.988,0,78100
+12/28/2016 11:30:03 PM,7079.988,0,78200
+12/28/2016 11:30:09 PM,7079.988,0,78300
+12/28/2016 11:30:13 PM,7079.988,0,78400
+12/28/2016 11:30:18 PM,7079.988,0,78500
+12/28/2016 11:30:24 PM,7079.988,0,78600
+12/28/2016 11:30:27 PM,7079.988,0,78700
+12/28/2016 11:30:32 PM,7079.988,0,78800
+12/28/2016 11:30:35 PM,7079.988,0,78900
+12/28/2016 11:30:39 PM,7079.988,0,79000
+12/28/2016 11:30:43 PM,7079.988,0,79100
+12/28/2016 11:30:47 PM,7079.988,0,79200
+12/28/2016 11:30:52 PM,7079.988,0,79300
+12/28/2016 11:30:57 PM,7079.988,0,79400
+12/28/2016 11:31:04 PM,7079.988,0,79500
+12/28/2016 11:31:12 PM,7079.988,0,79600
+12/28/2016 11:31:17 PM,7079.988,0,79700
+12/28/2016 11:31:22 PM,7079.988,0,79800
+12/28/2016 11:31:27 PM,7079.988,0,79900
+12/28/2016 11:31:31 PM,7079.988,0,80000
+12/28/2016 11:31:36 PM,7079.988,0,80100
+12/28/2016 11:31:41 PM,7079.988,0,80200
+12/28/2016 11:31:45 PM,7079.988,0,80300
+12/28/2016 11:31:50 PM,7079.988,0,80400
+12/28/2016 11:31:54 PM,7079.988,0,80500
+12/28/2016 11:31:59 PM,7079.988,0,80600
+12/28/2016 11:32:03 PM,7079.988,0,80700
+12/28/2016 11:32:08 PM,7079.988,0,80800
+12/28/2016 11:32:14 PM,7079.988,0,80900
+12/28/2016 11:32:20 PM,7079.988,0,81000
+12/28/2016 11:32:25 PM,7079.988,0,81100
+12/28/2016 11:32:29 PM,7079.988,0,81200
+12/28/2016 11:32:34 PM,7079.988,0,81300
+12/28/2016 11:32:40 PM,7079.988,0,81400
+12/28/2016 11:32:46 PM,7079.988,0,81500
+12/28/2016 11:32:50 PM,7079.988,0,81600
+12/28/2016 11:32:53 PM,7079.988,0,81700
+12/28/2016 11:32:59 PM,7079.988,0,81800
+12/28/2016 11:33:04 PM,7079.988,0,81900
+12/28/2016 11:33:08 PM,7079.988,0,82000
+12/28/2016 11:33:15 PM,7079.988,0,82100
+12/28/2016 11:33:19 PM,7079.988,0,82200
+12/28/2016 11:33:27 PM,7079.988,0,82300
+12/28/2016 11:33:34 PM,7079.988,0,82400
+12/28/2016 11:33:37 PM,7079.988,0,82500
+12/28/2016 11:33:42 PM,7079.988,0,82600
+12/28/2016 11:33:46 PM,7079.988,0,82700
+12/28/2016 11:33:50 PM,7079.988,0,82800
+12/28/2016 11:33:57 PM,7079.988,0,82900
+12/28/2016 11:34:01 PM,7079.988,0,83000
+12/28/2016 11:34:04 PM,7079.988,0,83100
+12/28/2016 11:34:09 PM,7079.988,0,83200
+12/28/2016 11:34:14 PM,7079.988,0,83300
+12/28/2016 11:34:17 PM,7079.988,0,83400
+12/28/2016 11:34:23 PM,7079.988,0,83500
+12/28/2016 11:34:27 PM,7079.988,0,83600
+12/28/2016 11:34:31 PM,7079.988,0,83700
+12/28/2016 11:34:35 PM,7079.988,0,83800
+12/28/2016 11:34:39 PM,7079.988,0,83900
+12/28/2016 11:34:43 PM,7079.988,0,84000
+12/28/2016 11:34:46 PM,7079.988,0,84100
+12/28/2016 11:34:50 PM,7079.988,0,84200
+12/28/2016 11:34:54 PM,7079.988,0,84300
+12/28/2016 11:34:59 PM,7079.988,0,84400
+12/28/2016 11:35:05 PM,7079.988,0,84500
+12/28/2016 11:35:09 PM,7079.988,0,84600
+12/28/2016 11:35:14 PM,7079.988,0,84700
+12/28/2016 11:35:17 PM,7079.988,0,84800
+12/28/2016 11:35:20 PM,7079.988,0,84900
+12/28/2016 11:35:24 PM,7079.988,0,85000
+12/28/2016 11:35:28 PM,7079.988,0,85100
+12/28/2016 11:35:32 PM,7079.988,0,85200
+12/28/2016 11:35:36 PM,7079.988,0,85300
+12/28/2016 11:35:40 PM,7079.988,0,85400
+12/28/2016 11:35:45 PM,7079.988,0,85500
+12/28/2016 11:35:49 PM,7079.988,0,85600
+12/28/2016 11:35:53 PM,7079.988,0,85700
+12/28/2016 11:35:57 PM,7079.988,0,85800
+12/28/2016 11:36:01 PM,7079.988,0,85900
+12/28/2016 11:36:05 PM,7079.988,0,86000
+12/28/2016 11:36:09 PM,7079.988,0,86100
+12/28/2016 11:36:15 PM,7079.988,0,86200
+12/28/2016 11:36:19 PM,7089.124,0,86300
+12/28/2016 11:36:25 PM,7089.134,0,86400
+12/28/2016 11:36:32 PM,7089.134,0,86500
+12/28/2016 11:36:36 PM,7089.151,0,86600
+12/28/2016 11:36:42 PM,7089.151,0,86700
+12/28/2016 11:36:47 PM,7089.167,0,86800
+12/28/2016 11:36:51 PM,7089.167,0,86900
+12/28/2016 11:36:58 PM,7089.169,0,87000
+12/28/2016 11:37:06 PM,7089.171,0,87100
+12/28/2016 11:37:12 PM,7089.171,0,87200
+12/28/2016 11:37:18 PM,7089.171,0,87300
+12/28/2016 11:37:24 PM,7089.173,0,87400
+12/28/2016 11:37:32 PM,7089.177,0,87500
+12/28/2016 11:37:39 PM,7089.177,0,87600
+12/28/2016 11:37:45 PM,7089.177,0,87700
+12/28/2016 11:37:50 PM,7089.177,0,87800
+12/28/2016 11:37:55 PM,7089.177,0,87900
+12/28/2016 11:38:00 PM,7089.177,0,88000
+12/28/2016 11:38:06 PM,7089.177,0,88100
+12/28/2016 11:38:12 PM,7089.179,0,88200
+12/28/2016 11:38:17 PM,7089.179,0,88300
+12/28/2016 11:38:22 PM,7089.179,0,88400
+12/28/2016 11:38:27 PM,7089.179,0,88500
+12/28/2016 11:38:33 PM,7089.179,0,88600
+12/28/2016 11:38:38 PM,7089.181,0,88700
+12/28/2016 11:38:42 PM,7089.183,0,88800
+12/28/2016 11:38:47 PM,7089.183,0,88900
+12/28/2016 11:38:53 PM,7089.183,0,89000
+12/28/2016 11:38:57 PM,7089.183,0,89100
+12/28/2016 11:39:01 PM,7089.183,0,89200
+12/28/2016 11:39:06 PM,7089.183,0,89300
+12/28/2016 11:39:12 PM,7089.183,0,89400
+12/28/2016 11:39:17 PM,7089.183,0,89500
+12/28/2016 11:39:21 PM,7089.185,0,89600
+12/28/2016 11:39:26 PM,7089.185,0,89700
+12/28/2016 11:39:34 PM,7089.185,0,89800
+12/28/2016 11:39:41 PM,7089.355,0,89900
+12/28/2016 11:39:45 PM,7089.355,0,90000
+12/28/2016 11:39:49 PM,7069.778,0,90100
+12/28/2016 11:39:56 PM,7079.822,0,90200
+12/28/2016 11:40:02 PM,7079.822,0,90300
+12/28/2016 11:40:08 PM,7079.822,0,90400
+12/28/2016 11:40:12 PM,7079.826,0,90500
+12/28/2016 11:40:16 PM,7079.83,0,90600
+12/28/2016 11:40:23 PM,7079.83,0,90700
+12/28/2016 11:40:26 PM,7079.83,0,90800
+12/28/2016 11:40:30 PM,7079.83,0,90900
+12/28/2016 11:40:34 PM,7079.83,0,91000
+12/28/2016 11:40:39 PM,7079.83,0,91100
+12/28/2016 11:40:43 PM,7079.83,0,91200
+12/28/2016 11:40:45 PM,7079.83,0,91300
+12/28/2016 11:40:49 PM,7079.83,0,91400
+12/28/2016 11:40:54 PM,7079.83,0,91500
+12/28/2016 11:41:02 PM,7079.83,0,91600
+12/28/2016 11:41:07 PM,7079.83,0,91700
+12/28/2016 11:41:13 PM,7079.83,0,91800
+12/28/2016 11:41:17 PM,7079.83,0,91900
+12/28/2016 11:41:22 PM,7079.83,0,92000
+12/28/2016 11:41:26 PM,7079.83,0,92100
+12/28/2016 11:41:32 PM,7079.83,0,92200
+12/28/2016 11:41:37 PM,7079.83,0,92300
+12/28/2016 11:41:42 PM,7079.83,0,92400
+12/28/2016 11:41:46 PM,7079.83,0,92500
+12/28/2016 11:41:52 PM,7079.83,0,92600
+12/28/2016 11:41:55 PM,7079.83,0,92700
+12/28/2016 11:42:01 PM,7079.83,0,92800
+12/28/2016 11:42:05 PM,7079.83,0,92900
+12/28/2016 11:42:09 PM,7079.83,0,93000
+12/28/2016 11:42:13 PM,7079.83,0,93100
+12/28/2016 11:42:19 PM,7079.83,0,93200
+12/28/2016 11:42:24 PM,7079.83,0,93300
+12/28/2016 11:42:28 PM,7079.83,0,93400
+12/28/2016 11:42:31 PM,7079.83,0,93500
+12/28/2016 11:42:36 PM,7079.83,0,93600
+12/28/2016 11:42:41 PM,7079.83,0,93700
+12/28/2016 11:42:45 PM,7079.83,0,93800
+12/28/2016 11:42:52 PM,7079.83,0,93900
+12/28/2016 11:42:59 PM,7079.83,0,94000
+12/28/2016 11:43:07 PM,7079.83,0,94100
+12/28/2016 11:43:12 PM,7079.83,0,94200
+12/28/2016 11:43:17 PM,7079.83,0,94300
+12/28/2016 11:43:22 PM,7079.83,0,94400
+12/28/2016 11:43:24 PM,7079.83,0,94500
+12/28/2016 11:43:30 PM,7079.83,0,94600
+12/28/2016 11:43:36 PM,7079.83,0,94700
+12/28/2016 11:43:40 PM,7079.83,0,94800
+12/28/2016 11:43:45 PM,7079.83,0,94900
+12/28/2016 11:43:49 PM,7079.83,0,95000
+12/28/2016 11:43:53 PM,7079.83,0,95100
+12/28/2016 11:43:58 PM,7079.83,0,95200
+12/28/2016 11:44:02 PM,7079.83,0,95300
+12/28/2016 11:44:10 PM,7079.83,0,95400
+12/28/2016 11:44:14 PM,7079.83,0,95500
+12/28/2016 11:44:19 PM,7079.83,0,95600
+12/28/2016 11:44:24 PM,7079.83,0,95700
+12/28/2016 11:44:28 PM,7079.83,0,95800
+12/28/2016 11:44:32 PM,7079.83,0,95900
+12/28/2016 11:44:37 PM,7079.83,0,96000
+12/28/2016 11:44:42 PM,7079.83,0,96100
+12/28/2016 11:44:48 PM,7079.83,0,96200
+12/28/2016 11:44:53 PM,7079.83,0,96300
+12/28/2016 11:44:58 PM,7079.83,0,96400
+12/28/2016 11:45:04 PM,7079.83,0,96500
+12/28/2016 11:45:08 PM,7079.83,0,96600
+12/28/2016 11:45:13 PM,7079.83,0,96700
+12/28/2016 11:45:19 PM,7079.83,0,96800
+12/28/2016 11:45:25 PM,7079.83,0,96900
+12/28/2016 11:45:29 PM,7079.83,0,97000
+12/28/2016 11:45:32 PM,7079.83,0,97100
+12/28/2016 11:45:35 PM,7079.83,0,97200
+12/28/2016 11:45:42 PM,7079.83,0,97300
+12/28/2016 11:45:49 PM,7079.83,0,97400
+12/28/2016 11:45:53 PM,7079.83,0,97500
+12/28/2016 11:46:01 PM,7079.83,0,97600
+12/28/2016 11:46:05 PM,7079.83,0,97700
+12/28/2016 11:46:09 PM,7079.83,0,97800
+12/28/2016 11:46:15 PM,7079.83,0,97900
+12/28/2016 11:46:19 PM,7079.83,0,98000
+12/28/2016 11:46:23 PM,7079.83,0,98100
+12/28/2016 11:46:27 PM,7079.83,0,98200
+12/28/2016 11:46:31 PM,7079.83,0,98300
+12/28/2016 11:46:34 PM,7079.83,0,98400
+12/28/2016 11:46:39 PM,7079.83,0,98500
+12/28/2016 11:46:44 PM,7079.83,0,98600
+12/28/2016 11:46:49 PM,7079.83,0,98700
+12/28/2016 11:46:54 PM,7079.83,0,98800
+12/28/2016 11:46:58 PM,7079.83,0,98900
+12/28/2016 11:47:04 PM,7079.83,0,99000
+12/28/2016 11:47:08 PM,7079.83,0,99100
+12/28/2016 11:47:11 PM,7079.83,0,99200
+12/28/2016 11:47:18 PM,7079.83,0,99300
+12/28/2016 11:47:24 PM,7079.83,0,99400
+12/28/2016 11:47:30 PM,7079.83,0,99500
+12/28/2016 11:47:36 PM,7079.83,0,99600
+12/28/2016 11:47:42 PM,7079.83,0,99700
+12/28/2016 11:47:47 PM,7079.83,0,99800
+12/28/2016 11:47:52 PM,7079.83,0,99900
+12/28/2016 11:47:58 PM,7079.83,0,100000
+12/28/2016 11:48:04 PM,7079.83,0,100100
+12/28/2016 11:48:09 PM,7079.83,0,100200
+12/28/2016 11:48:15 PM,7079.83,0,100300
+12/28/2016 11:48:18 PM,7079.83,0,100400
+12/28/2016 11:48:23 PM,7079.83,0,100500
+12/28/2016 11:48:28 PM,7079.83,0,100600
+12/28/2016 11:48:31 PM,7079.83,0,100700
+12/28/2016 11:48:37 PM,7079.83,0,100800
+12/28/2016 11:48:42 PM,7079.83,0,100900
+12/28/2016 11:48:51 PM,7079.83,0,101000
+12/28/2016 11:48:55 PM,7079.83,0,101100
+12/28/2016 11:49:00 PM,7079.83,0,101200
+12/28/2016 11:49:04 PM,7079.83,0,101300
+12/28/2016 11:49:10 PM,7079.83,0,101400
+12/28/2016 11:49:15 PM,7079.83,0,101500
+12/28/2016 11:49:19 PM,7079.83,0,101600
+12/28/2016 11:49:24 PM,7079.83,0,101700
+12/28/2016 11:49:27 PM,7079.83,0,101800
+12/28/2016 11:49:31 PM,7079.83,0,101900
+12/28/2016 11:49:37 PM,7079.83,0,102000
+12/28/2016 11:49:43 PM,7079.83,0,102100
+12/28/2016 11:49:47 PM,7079.83,0,102200
+12/28/2016 11:49:53 PM,7079.83,0,102300
+12/28/2016 11:50:00 PM,7079.83,0,102400
+12/28/2016 11:50:06 PM,7079.83,0,102500
+12/28/2016 11:50:10 PM,7079.83,0,102600
+12/28/2016 11:50:18 PM,7079.83,0,102700
+12/28/2016 11:50:23 PM,7079.83,0,102800
+12/28/2016 11:50:30 PM,7079.83,0,102900
+12/28/2016 11:50:36 PM,7079.83,0,103000
+12/28/2016 11:50:40 PM,7079.83,0,103100
+12/28/2016 11:50:45 PM,7079.83,0,103200
+12/28/2016 11:50:50 PM,7079.83,0,103300
+12/28/2016 11:50:54 PM,7079.83,0,103400
+12/28/2016 11:50:59 PM,7079.83,0,103500
+12/28/2016 11:51:03 PM,7079.83,0,103600
+12/28/2016 11:51:08 PM,7079.83,0,103700
+12/28/2016 11:51:15 PM,7079.83,0,103800
+12/28/2016 11:51:18 PM,7079.83,0,103900
+12/28/2016 11:51:22 PM,7079.83,0,104000
+12/28/2016 11:51:30 PM,7079.83,0,104100
+12/28/2016 11:51:35 PM,7079.83,0,104200
+12/28/2016 11:51:39 PM,7079.83,0,104300
+12/28/2016 11:51:42 PM,7079.83,0,104400
+12/28/2016 11:51:47 PM,7079.83,0,104500
+12/28/2016 11:51:50 PM,7079.83,0,104600
+12/28/2016 11:51:55 PM,7079.83,0,104700
+12/28/2016 11:51:59 PM,7079.83,0,104800
+12/28/2016 11:52:03 PM,7079.83,0,104900
+12/28/2016 11:52:07 PM,7079.83,0,105000
+12/28/2016 11:52:11 PM,7079.83,0,105100
+12/28/2016 11:52:16 PM,7079.83,0,105200
+12/28/2016 11:52:21 PM,7079.83,0,105300
+12/28/2016 11:52:25 PM,7079.83,0,105400
+12/28/2016 11:52:29 PM,7079.83,0,105500
+12/28/2016 11:52:33 PM,7079.83,0,105600
+12/28/2016 11:52:39 PM,7079.83,0,105700
+12/28/2016 11:52:44 PM,7079.83,0,105800
+12/28/2016 11:52:48 PM,7079.83,0,105900
+12/28/2016 11:52:53 PM,7079.83,0,106000
+12/28/2016 11:52:57 PM,7079.83,0,106100
+12/28/2016 11:53:02 PM,7079.83,0,106200
+12/28/2016 11:53:07 PM,7079.83,0,106300
+12/28/2016 11:53:12 PM,7079.83,0,106400
+12/28/2016 11:53:19 PM,7079.83,0,106500
+12/28/2016 11:53:25 PM,7079.83,0,106600
+12/28/2016 11:53:29 PM,7079.83,0,106700
+12/28/2016 11:53:34 PM,7079.83,0,106800
+12/28/2016 11:53:41 PM,7079.83,0,106900
+12/28/2016 11:53:48 PM,7079.83,0,107000
+12/28/2016 11:53:55 PM,7079.83,0,107100
+12/28/2016 11:53:59 PM,7079.83,0,107200
+12/28/2016 11:54:04 PM,7079.83,0,107300
+12/28/2016 11:54:09 PM,7079.83,0,107400
+12/28/2016 11:54:12 PM,7079.83,0,107500
+12/28/2016 11:54:17 PM,7079.83,0,107600
+12/28/2016 11:54:22 PM,7079.83,0,107700
+12/28/2016 11:54:27 PM,7079.83,0,107800
+12/28/2016 11:54:31 PM,7079.83,0,107900
+12/28/2016 11:54:35 PM,7079.83,0,108000
+12/28/2016 11:54:40 PM,7079.83,0,108100
+12/28/2016 11:54:45 PM,7079.83,0,108200
+12/28/2016 11:54:51 PM,7079.83,0,108300
+12/28/2016 11:54:57 PM,7079.83,0,108400
+12/28/2016 11:55:02 PM,7079.924,0,108500
+12/28/2016 11:55:06 PM,7079.924,0,108600
+12/28/2016 11:55:12 PM,7079.924,0,108700
+12/28/2016 11:55:16 PM,7079.924,0,108800
+12/28/2016 11:55:21 PM,7079.924,0,108900
+12/28/2016 11:55:25 PM,7079.924,0,109000
+12/28/2016 11:55:30 PM,7079.924,0,109100
+12/28/2016 11:55:37 PM,7079.924,0,109200
+12/28/2016 11:55:41 PM,7079.924,0,109300
+12/28/2016 11:55:46 PM,7079.924,0,109400
+12/28/2016 11:55:49 PM,7079.924,0,109500
+12/28/2016 11:56:00 PM,7079.924,0,109600
+12/28/2016 11:56:04 PM,7079.924,0,109700
+12/28/2016 11:56:09 PM,7079.924,0,109800
+12/28/2016 11:56:13 PM,7079.924,0,109900
+12/28/2016 11:56:17 PM,7079.924,0,110000
+12/28/2016 11:56:21 PM,7079.924,0,110100
+12/28/2016 11:56:26 PM,7079.924,0,110200
+12/28/2016 11:56:29 PM,7079.924,0,110300
+12/28/2016 11:56:35 PM,7079.924,0,110400
+12/28/2016 11:56:42 PM,7079.924,0,110500
+12/28/2016 11:56:46 PM,7079.924,0,110600
+12/28/2016 11:56:51 PM,7079.924,0,110700
+12/28/2016 11:56:55 PM,7079.924,0,110800
+12/28/2016 11:57:00 PM,7079.924,0,110900
+12/28/2016 11:57:04 PM,7079.924,0,111000
+12/28/2016 11:57:09 PM,7079.924,0,111100
+12/28/2016 11:57:14 PM,7079.924,0,111200
+12/28/2016 11:57:19 PM,7079.924,0,111300
+12/28/2016 11:57:24 PM,7079.924,0,111400
+12/28/2016 11:57:28 PM,7079.988,0,111500
+12/28/2016 11:57:33 PM,7079.988,0,111600
+12/28/2016 11:57:38 PM,7079.988,0,111700
+12/28/2016 11:57:44 PM,7079.988,0,111800
+12/28/2016 11:57:52 PM,7079.988,0,111900
+12/28/2016 11:57:57 PM,7079.988,0,112000
+12/28/2016 11:58:00 PM,7079.988,0,112100
+12/28/2016 11:58:04 PM,7079.988,0,112200
+12/28/2016 11:58:09 PM,7079.988,0,112300
+12/28/2016 11:58:15 PM,7079.988,0,112400
+12/28/2016 11:58:19 PM,7079.988,0,112500
+12/28/2016 11:58:23 PM,7079.988,0,112600
+12/28/2016 11:58:30 PM,7079.988,0,112700
+12/28/2016 11:58:34 PM,7079.988,0,112800
+12/28/2016 11:58:37 PM,7079.988,0,112900
+12/28/2016 11:58:43 PM,7079.988,0,113000
+12/28/2016 11:58:48 PM,7079.988,0,113100
+12/28/2016 11:58:55 PM,7079.988,0,113200
+12/28/2016 11:59:00 PM,7079.988,0,113300
+12/28/2016 11:59:04 PM,7079.988,0,113400
+12/28/2016 11:59:09 PM,7079.988,0,113500
+12/28/2016 11:59:12 PM,7079.988,0,113600
+12/28/2016 11:59:16 PM,7079.988,0,113700
+12/28/2016 11:59:22 PM,7079.988,0,113800
+12/28/2016 11:59:27 PM,7079.988,0,113900
+12/28/2016 11:59:32 PM,7079.988,0,114000
+12/28/2016 11:59:41 PM,7079.988,0,114100
+12/28/2016 11:59:48 PM,7079.988,0,114200
+12/28/2016 11:59:55 PM,7079.988,0,114300
+12/29/2016 12:00:00 AM,7079.988,0,114400
+12/29/2016 12:00:05 AM,7079.988,0,114500
+12/29/2016 12:00:09 AM,7079.988,0,114600
+12/29/2016 12:00:15 AM,7079.988,0,114700
+12/29/2016 12:00:22 AM,7079.988,0,114800
+12/29/2016 12:00:28 AM,7079.988,0,114900
+12/29/2016 12:00:33 AM,7079.988,0,115000
+12/29/2016 12:00:37 AM,7079.924,0,115100
+12/29/2016 12:00:41 AM,7079.924,0,115200
+12/29/2016 12:00:45 AM,7079.924,0,115300
+12/29/2016 12:00:49 AM,7079.924,0,115400
+12/29/2016 12:00:53 AM,7079.924,0,115500
+12/29/2016 12:00:57 AM,7079.924,0,115600
+12/29/2016 12:01:00 AM,7079.924,0,115700
+12/29/2016 12:01:07 AM,7079.924,0,115800
+12/29/2016 12:01:11 AM,7079.924,0,115900
+12/29/2016 12:01:16 AM,7079.924,0,116000
+12/29/2016 12:01:20 AM,7079.924,0,116100
+12/29/2016 12:01:24 AM,7079.924,0,116200
+12/29/2016 12:01:28 AM,7079.924,0,116300
+12/29/2016 12:01:32 AM,7079.924,0,116400
+12/29/2016 12:01:37 AM,7079.924,0,116500
+12/29/2016 12:01:42 AM,7079.924,0,116600
+12/29/2016 12:01:46 AM,7079.924,0,116700
+12/29/2016 12:01:51 AM,7079.924,0,116800
+12/29/2016 12:01:56 AM,7079.924,0,116900
+12/29/2016 12:02:00 AM,7079.924,0,117000
+12/29/2016 12:02:04 AM,7079.924,0,117100
+12/29/2016 12:02:08 AM,7079.924,0,117200
+12/29/2016 12:02:12 AM,7079.924,0,117300
+12/29/2016 12:02:17 AM,7079.924,0,117400
+12/29/2016 12:02:21 AM,7079.924,0,117500
+12/29/2016 12:02:26 AM,7079.924,0,117600
+12/29/2016 12:02:30 AM,7079.924,0,117700
+12/29/2016 12:02:35 AM,7079.924,0,117800
+12/29/2016 12:02:41 AM,7079.924,0,117900
+12/29/2016 12:02:47 AM,7079.924,0,118000
+12/29/2016 12:02:55 AM,7079.924,0,118100
+12/29/2016 12:03:01 AM,7079.924,0,118200
+12/29/2016 12:03:09 AM,7079.924,0,118300
+12/29/2016 12:03:19 AM,7079.924,0,118400
+12/29/2016 12:03:26 AM,7079.924,0,118500
+12/29/2016 12:03:35 AM,7079.924,0,118600
+12/29/2016 12:03:41 AM,7079.924,0,118700
+12/29/2016 12:03:46 AM,7079.924,0,118800
+12/29/2016 12:03:52 AM,7079.924,0,118900
+12/29/2016 12:03:56 AM,7079.924,0,119000
+12/29/2016 12:04:01 AM,7079.924,0,119100
+12/29/2016 12:04:06 AM,7079.924,0,119200
+12/29/2016 12:04:12 AM,7079.924,0,119300
+12/29/2016 12:04:18 AM,7079.924,0,119400
+12/29/2016 12:04:25 AM,7079.924,0,119500
+12/29/2016 12:04:31 AM,7079.924,0,119600
+12/29/2016 12:04:37 AM,7079.924,0,119700
+12/29/2016 12:04:45 AM,7079.924,0,119800
+12/29/2016 12:04:50 AM,7079.924,0,119900
+12/29/2016 12:04:56 AM,7079.924,0,120000
+12/29/2016 12:05:00 AM,7079.924,0,120100
+12/29/2016 12:05:03 AM,7079.924,0,120200
+12/29/2016 12:05:07 AM,7079.924,0,120300
+12/29/2016 12:05:11 AM,7079.924,0,120400
+12/29/2016 12:05:20 AM,7079.924,0,120500
+12/29/2016 12:05:28 AM,7079.924,0,120600
+12/29/2016 12:05:32 AM,7079.924,0,120700
+12/29/2016 12:05:41 AM,7079.924,0,120800
+12/29/2016 12:05:50 AM,7079.924,0,120900
+12/29/2016 12:05:56 AM,7079.924,0,121000
+12/29/2016 12:06:01 AM,7079.924,0,121100
+12/29/2016 12:06:08 AM,7079.924,0,121200
+12/29/2016 12:06:14 AM,7079.924,0,121300
+12/29/2016 12:06:20 AM,7079.924,0,121400
+12/29/2016 12:06:25 AM,7079.924,0,121500
+12/29/2016 12:06:30 AM,7079.924,0,121600
+12/29/2016 12:06:35 AM,7079.924,0,121700
+12/29/2016 12:06:41 AM,7079.924,0,121800
+12/29/2016 12:06:48 AM,7079.924,0,121900
+12/29/2016 12:06:55 AM,7079.924,0,122000
+12/29/2016 12:07:02 AM,7079.924,0,122100
+12/29/2016 12:07:07 AM,7079.924,0,122200
+12/29/2016 12:07:17 AM,7079.924,0,122300
+12/29/2016 12:07:25 AM,7079.924,0,122400
+12/29/2016 12:07:32 AM,7079.924,0,122500
+12/29/2016 12:07:37 AM,7079.924,0,122600
+12/29/2016 12:07:43 AM,7079.924,0,122700
+12/29/2016 12:07:46 AM,7079.924,0,122800
+12/29/2016 12:07:52 AM,7079.924,0,122900
+12/29/2016 12:07:57 AM,7079.924,0,123000
+12/29/2016 12:08:03 AM,7079.924,0,123100
+12/29/2016 12:08:10 AM,7079.924,0,123200
+12/29/2016 12:08:16 AM,7079.924,0,123300
+12/29/2016 12:08:21 AM,7079.924,0,123400
+12/29/2016 12:08:28 AM,7079.924,0,123500
+12/29/2016 12:08:33 AM,7079.924,0,123600
+12/29/2016 12:08:40 AM,7079.924,0,123700
+12/29/2016 12:08:44 AM,7079.924,0,123800
+12/29/2016 12:08:50 AM,7079.924,0,123900
+12/29/2016 12:08:54 AM,7079.924,0,124000
+12/29/2016 12:08:58 AM,7079.924,0,124100
+12/29/2016 12:09:03 AM,7079.924,0,124200
+12/29/2016 12:09:08 AM,7079.924,0,124300
+12/29/2016 12:09:12 AM,7079.924,0,124400
+12/29/2016 12:09:15 AM,7079.924,0,124500
+12/29/2016 12:09:18 AM,7079.988,0,124600
+12/29/2016 12:09:22 AM,7079.988,0,124700
+12/29/2016 12:09:26 AM,7079.988,0,124800
+12/29/2016 12:09:32 AM,7079.988,0,124900
+12/29/2016 12:09:37 AM,7079.988,0,125000
+12/29/2016 12:09:43 AM,7079.988,0,125100
+12/29/2016 12:09:49 AM,7079.988,0,125200
+12/29/2016 12:09:55 AM,7079.988,0,125300
+12/29/2016 12:10:03 AM,7079.988,0,125400
+12/29/2016 12:10:08 AM,7079.988,0,125500
+12/29/2016 12:10:11 AM,7079.988,0,125600
+12/29/2016 12:10:15 AM,7079.988,0,125700
+12/29/2016 12:10:21 AM,7079.988,0,125800
+12/29/2016 12:10:24 AM,7079.988,0,125900
+12/29/2016 12:10:30 AM,7079.988,0,126000
+12/29/2016 12:10:33 AM,7079.988,0,126100
+12/29/2016 12:10:37 AM,7079.988,0,126200
+12/29/2016 12:10:41 AM,7079.988,0,126300
+12/29/2016 12:10:46 AM,7079.988,0,126400
+12/29/2016 12:10:51 AM,7079.988,0,126500
+12/29/2016 12:10:54 AM,7079.988,0,126600
+12/29/2016 12:10:58 AM,7079.988,0,126700
+12/29/2016 12:11:02 AM,7079.988,0,126800
+12/29/2016 12:11:08 AM,7079.988,0,126900
+12/29/2016 12:11:13 AM,7079.988,0,127000
+12/29/2016 12:11:17 AM,7079.988,0,127100
+12/29/2016 12:11:23 AM,7079.988,0,127200
+12/29/2016 12:11:28 AM,7079.988,0,127300
+12/29/2016 12:11:32 AM,7079.988,0,127400
+12/29/2016 12:11:38 AM,7079.988,0,127500
+12/29/2016 12:11:42 AM,7079.988,0,127600
+12/29/2016 12:11:46 AM,7079.988,0,127700
+12/29/2016 12:11:49 AM,7079.988,0,127800
+12/29/2016 12:11:53 AM,7079.988,0,127900
+12/29/2016 12:11:59 AM,7079.988,0,128000
+12/29/2016 12:12:06 AM,7079.988,0,128100
+12/29/2016 12:12:14 AM,7079.988,0,128200
+12/29/2016 12:12:20 AM,7079.988,0,128300
+12/29/2016 12:12:25 AM,7079.988,0,128400
+12/29/2016 12:12:29 AM,7079.988,0,128500
+12/29/2016 12:12:33 AM,7079.988,0,128600
+12/29/2016 12:12:37 AM,7079.988,0,128700
+12/29/2016 12:12:43 AM,7079.988,0,128800
+12/29/2016 12:12:48 AM,7079.988,0,128900
+12/29/2016 12:12:54 AM,7079.988,0,129000
+12/29/2016 12:12:59 AM,7079.988,0,129100
+12/29/2016 12:13:03 AM,7079.988,0,129200
+12/29/2016 12:13:09 AM,7079.988,0,129300
+12/29/2016 12:13:14 AM,7079.988,0,129400
+12/29/2016 12:13:20 AM,7079.988,0,129500
+12/29/2016 12:13:25 AM,7079.988,0,129600
+12/29/2016 12:13:33 AM,7079.988,0,129700
+12/29/2016 12:13:39 AM,7079.988,0,129800
+12/29/2016 12:13:46 AM,7079.988,0,129900
+12/29/2016 12:13:55 AM,7079.988,0,130000
+12/29/2016 12:14:04 AM,7079.988,0,130100
+12/29/2016 12:14:13 AM,7079.988,0,130200
+12/29/2016 12:14:20 AM,7079.988,0,130300
+12/29/2016 12:14:29 AM,7079.988,0,130400
+12/29/2016 12:14:38 AM,7079.988,0,130500
+12/29/2016 12:14:45 AM,7079.988,0,130600
+12/29/2016 12:14:52 AM,7079.988,0,130700
+12/29/2016 12:15:00 AM,7079.988,0,130800
+12/29/2016 12:15:07 AM,7079.988,0,130900
+12/29/2016 12:15:16 AM,7079.988,0,131000
+12/29/2016 12:15:24 AM,7079.988,0,131100
+12/29/2016 12:15:39 AM,7079.988,0,131200
+12/29/2016 12:15:47 AM,7079.988,0,131300
+12/29/2016 12:15:54 AM,7079.988,0,131400
+12/29/2016 12:16:01 AM,7079.988,0,131500
+12/29/2016 12:16:08 AM,7079.988,0,131600
+12/29/2016 12:16:19 AM,7079.988,0,131700
+12/29/2016 12:16:26 AM,7079.988,0,131800
+12/29/2016 12:16:36 AM,7079.988,0,131900
+12/29/2016 12:16:48 AM,7079.988,0,132000
+12/29/2016 12:16:54 AM,7079.988,0,132100
+12/29/2016 12:17:00 AM,7079.988,0,132200
+12/29/2016 12:17:05 AM,7079.988,0,132300
+12/29/2016 12:17:12 AM,7079.988,0,132400
+12/29/2016 12:17:22 AM,7079.988,0,132500
+12/29/2016 12:17:30 AM,7079.988,0,132600
+12/29/2016 12:17:40 AM,7079.988,0,132700
+12/29/2016 12:17:47 AM,7079.988,0,132800
+12/29/2016 12:17:52 AM,7079.988,0,132900
+12/29/2016 12:17:56 AM,7079.988,0,133000
+12/29/2016 12:18:00 AM,7079.988,0,133100
+12/29/2016 12:18:04 AM,7079.988,0,133200
+12/29/2016 12:18:09 AM,7079.988,0,133300
+12/29/2016 12:18:13 AM,7079.988,0,133400
+12/29/2016 12:18:18 AM,7079.988,0,133500
+12/29/2016 12:18:23 AM,7079.988,0,133600
+12/29/2016 12:18:26 AM,7079.988,0,133700
+12/29/2016 12:18:32 AM,7079.988,0,133800
+12/29/2016 12:18:37 AM,7079.988,0,133900
+12/29/2016 12:18:41 AM,7079.988,0,134000
+12/29/2016 12:18:44 AM,7079.988,0,134100
+12/29/2016 12:18:48 AM,7079.988,0,134200
+12/29/2016 12:18:51 AM,7079.988,0,134300
+12/29/2016 12:18:55 AM,7079.988,0,134400
+12/29/2016 12:19:06 AM,7079.988,0,134500
+12/29/2016 12:19:10 AM,7079.988,0,134600
+12/29/2016 12:19:15 AM,7079.988,0,134700
+12/29/2016 12:19:19 AM,7079.988,0,134800
+12/29/2016 12:19:24 AM,7079.988,0,134900
+12/29/2016 12:19:29 AM,7079.988,0,135000
+12/29/2016 12:19:33 AM,7079.988,0,135100
+12/29/2016 12:19:37 AM,7079.988,0,135200
+12/29/2016 12:19:41 AM,7079.988,0,135300
+12/29/2016 12:19:45 AM,7079.988,0,135400
+12/29/2016 12:19:49 AM,7079.988,0,135500
+12/29/2016 12:19:55 AM,7079.988,0,135600
+12/29/2016 12:20:02 AM,7079.988,0,135700
+12/29/2016 12:20:08 AM,7079.988,0,135800
+12/29/2016 12:20:13 AM,7079.988,0,135900
+12/29/2016 12:20:17 AM,7079.988,0,136000
+12/29/2016 12:20:22 AM,7079.988,0,136100
+12/29/2016 12:20:26 AM,7079.988,0,136200
+12/29/2016 12:20:30 AM,7079.988,0,136300
+12/29/2016 12:20:33 AM,7079.988,0,136400
+12/29/2016 12:20:37 AM,7079.988,0,136500
+12/29/2016 12:20:41 AM,7079.988,0,136600
+12/29/2016 12:20:46 AM,7079.988,0,136700
+12/29/2016 12:20:49 AM,7079.988,0,136800
+12/29/2016 12:20:53 AM,7079.988,0,136900
+12/29/2016 12:20:59 AM,7079.988,0,137000
+12/29/2016 12:21:05 AM,7079.988,0,137100
+12/29/2016 12:21:11 AM,7079.988,0,137200
+12/29/2016 12:21:15 AM,7079.988,0,137300
+12/29/2016 12:21:19 AM,7079.988,0,137400
+12/29/2016 12:21:25 AM,7079.988,0,137500
+12/29/2016 12:21:32 AM,7079.988,0,137600
+12/29/2016 12:21:37 AM,7079.988,0,137700
+12/29/2016 12:21:41 AM,7079.988,0,137800
+12/29/2016 12:21:46 AM,7079.988,0,137900
+12/29/2016 12:21:53 AM,7079.988,0,138000
+12/29/2016 12:21:57 AM,7079.988,0,138100
+12/29/2016 12:22:01 AM,7079.988,0,138200
+12/29/2016 12:22:05 AM,7079.988,0,138300
+12/29/2016 12:22:08 AM,7079.988,0,138400
+12/29/2016 12:22:13 AM,7079.988,0,138500
+12/29/2016 12:22:20 AM,7079.988,0,138600
+12/29/2016 12:22:26 AM,7079.988,0,138700
+12/29/2016 12:22:31 AM,7079.988,0,138800
+12/29/2016 12:22:36 AM,7079.988,0,138900
+12/29/2016 12:22:39 AM,7079.988,0,139000
+12/29/2016 12:22:44 AM,7079.988,0,139100
+12/29/2016 12:22:48 AM,7079.988,0,139200
+12/29/2016 12:22:52 AM,7079.988,0,139300
+12/29/2016 12:22:59 AM,7079.988,0,139400
+12/29/2016 12:23:04 AM,7079.988,0,139500
+12/29/2016 12:23:11 AM,7079.988,0,139600
+12/29/2016 12:23:18 AM,7079.988,0,139700
+12/29/2016 12:23:23 AM,7079.988,0,139800
+12/29/2016 12:23:28 AM,7079.988,0,139900
+12/29/2016 12:23:32 AM,7079.988,0,140000
+12/29/2016 12:23:36 AM,7079.988,0,140100
+12/29/2016 12:23:40 AM,7079.988,0,140200
+12/29/2016 12:23:44 AM,7079.988,0,140300
+12/29/2016 12:23:49 AM,7079.988,0,140400
+12/29/2016 12:23:54 AM,7079.988,0,140500
+12/29/2016 12:23:58 AM,7079.988,0,140600
+12/29/2016 12:24:02 AM,7079.988,0,140700
+12/29/2016 12:24:07 AM,7079.988,0,140800
+12/29/2016 12:24:12 AM,7079.988,0,140900
+12/29/2016 12:24:19 AM,7079.988,0,141000
+12/29/2016 12:24:28 AM,7079.988,0,141100
+12/29/2016 12:24:36 AM,7079.988,0,141200
+12/29/2016 12:24:42 AM,7079.988,0,141300
+12/29/2016 12:24:49 AM,7079.988,0,141400
+12/29/2016 12:24:53 AM,7079.988,0,141500
+12/29/2016 12:25:02 AM,7079.988,0,141600
+12/29/2016 12:25:08 AM,7079.988,0,141700
+12/29/2016 12:25:16 AM,7079.988,0,141800
+12/29/2016 12:25:24 AM,7079.988,0,141900
+12/29/2016 12:25:31 AM,7079.988,0,142000
+12/29/2016 12:25:36 AM,7079.988,0,142100
+12/29/2016 12:25:43 AM,7079.988,0,142200
+12/29/2016 12:25:50 AM,7079.988,0,142300
+12/29/2016 12:25:57 AM,7079.988,0,142400
+12/29/2016 12:26:03 AM,7079.988,0,142500
+12/29/2016 12:26:06 AM,7079.988,0,142600
+12/29/2016 12:26:13 AM,7079.988,0,142700
+12/29/2016 12:26:19 AM,7079.988,0,142800
+12/29/2016 12:26:25 AM,7079.988,0,142900
+12/29/2016 12:26:29 AM,7079.988,0,143000
+12/29/2016 12:26:35 AM,7079.988,0,143100
+12/29/2016 12:26:40 AM,7079.988,0,143200
+12/29/2016 12:26:45 AM,7079.988,0,143300
+12/29/2016 12:26:49 AM,7079.988,0,143400
+12/29/2016 12:26:55 AM,7079.988,0,143500
+12/29/2016 12:27:02 AM,7079.988,0,143600
+12/29/2016 12:27:07 AM,7079.988,0,143700
+12/29/2016 12:27:13 AM,7079.988,0,143800
+12/29/2016 12:27:19 AM,7079.988,0,143900
+12/29/2016 12:27:22 AM,7079.988,0,144000
+12/29/2016 12:27:27 AM,7079.988,0,144100
+12/29/2016 12:27:30 AM,7079.988,0,144200
+12/29/2016 12:27:34 AM,7079.988,0,144300
+12/29/2016 12:27:37 AM,7079.988,0,144400
+12/29/2016 12:27:41 AM,7079.988,0,144500
+12/29/2016 12:27:45 AM,7079.988,0,144600
+12/29/2016 12:27:48 AM,7079.988,0,144700
+12/29/2016 12:27:52 AM,7079.988,0,144800
+12/29/2016 12:27:56 AM,7079.988,0,144900
+12/29/2016 12:28:00 AM,7079.988,0,145000
+12/29/2016 12:28:05 AM,7079.988,0,145100
+12/29/2016 12:28:10 AM,7079.988,0,145200
+12/29/2016 12:28:15 AM,7079.988,0,145300
+12/29/2016 12:28:19 AM,7079.988,0,145400
+12/29/2016 12:28:22 AM,7079.988,0,145500
+12/29/2016 12:28:27 AM,7079.988,0,145600
+12/29/2016 12:28:31 AM,7079.988,0,145700
+12/29/2016 12:28:35 AM,7079.988,0,145800
+12/29/2016 12:28:39 AM,7079.988,0,145900
+12/29/2016 12:28:42 AM,7079.988,0,146000
+12/29/2016 12:28:46 AM,7079.988,0,146100
+12/29/2016 12:28:51 AM,7079.988,0,146200
+12/29/2016 12:28:55 AM,7079.988,0,146300
+12/29/2016 12:29:00 AM,7079.988,0,146400
+12/29/2016 12:29:06 AM,7079.988,0,146500
+12/29/2016 12:29:09 AM,7079.988,0,146600
+12/29/2016 12:29:13 AM,7079.988,0,146700
+12/29/2016 12:29:17 AM,7079.988,0,146800
+12/29/2016 12:29:22 AM,7079.988,0,146900
+12/29/2016 12:29:26 AM,7079.988,0,147000
+12/29/2016 12:29:29 AM,7079.988,0,147100
+12/29/2016 12:29:33 AM,7079.988,0,147200
+12/29/2016 12:29:36 AM,7079.988,0,147300
+12/29/2016 12:29:40 AM,7079.988,0,147400
+12/29/2016 12:29:44 AM,7079.988,0,147500
+12/29/2016 12:29:51 AM,7079.988,0,147600
+12/29/2016 12:29:57 AM,7079.988,0,147700
+12/29/2016 12:30:03 AM,7079.988,0,147800
+12/29/2016 12:30:11 AM,7079.988,0,147900
+12/29/2016 12:30:17 AM,7079.988,0,148000
+12/29/2016 12:30:26 AM,7079.988,0,148100
+12/29/2016 12:30:34 AM,7079.988,0,148200
+12/29/2016 12:30:45 AM,7079.988,0,148300
+12/29/2016 12:30:51 AM,7079.988,0,148400
+12/29/2016 12:30:56 AM,7079.988,0,148500
+12/29/2016 12:31:02 AM,7079.988,0,148600
+12/29/2016 12:31:07 AM,7079.988,0,148700
+12/29/2016 12:31:12 AM,7079.988,0,148800
+12/29/2016 12:31:16 AM,7079.988,0,148900
+12/29/2016 12:31:22 AM,7079.988,0,149000
+12/29/2016 12:31:27 AM,7079.988,0,149100
+12/29/2016 12:31:31 AM,7079.988,0,149200
+12/29/2016 12:31:38 AM,7079.988,0,149300
+12/29/2016 12:31:43 AM,7079.988,0,149400
+12/29/2016 12:31:48 AM,7079.988,0,149500
+12/29/2016 12:31:52 AM,7079.988,0,149600
+12/29/2016 12:31:56 AM,7079.988,0,149700
+12/29/2016 12:32:00 AM,7079.988,0,149800
+12/29/2016 12:32:06 AM,7079.988,0,149900
+12/29/2016 12:32:11 AM,7079.988,0,150000
+12/29/2016 12:32:14 AM,7079.988,0,150100
+12/29/2016 12:32:19 AM,7079.988,0,150200
+12/29/2016 12:32:24 AM,7079.988,0,150300
+12/29/2016 12:32:29 AM,7079.988,0,150400
+12/29/2016 12:32:34 AM,7079.988,0,150500
+12/29/2016 12:32:41 AM,7079.988,0,150600
+12/29/2016 12:32:49 AM,7079.988,0,150700
+12/29/2016 12:32:57 AM,7079.988,0,150800
+12/29/2016 12:33:02 AM,7079.988,0,150900
+12/29/2016 12:33:08 AM,7079.988,0,151000
+12/29/2016 12:33:15 AM,7079.988,0,151100
+12/29/2016 12:33:20 AM,7079.988,0,151200
+12/29/2016 12:33:25 AM,7079.988,0,151300
+12/29/2016 12:33:32 AM,7079.988,0,151400
+12/29/2016 12:33:40 AM,7079.988,0,151500
+12/29/2016 12:33:52 AM,7079.988,0,151600
+12/29/2016 12:34:01 AM,7079.988,0,151700
+12/29/2016 12:34:08 AM,7079.988,0,151800
+12/29/2016 12:34:14 AM,7079.988,0,151900
+12/29/2016 12:34:23 AM,7079.988,0,152000
+12/29/2016 12:34:30 AM,7079.988,0,152100
+12/29/2016 12:34:36 AM,7079.988,0,152200
+12/29/2016 12:34:42 AM,7079.988,0,152300
+12/29/2016 12:34:47 AM,7079.988,0,152400
+12/29/2016 12:34:54 AM,7079.988,0,152500
+12/29/2016 12:34:59 AM,7079.988,0,152600
+12/29/2016 12:35:05 AM,7079.988,0,152700
+12/29/2016 12:35:10 AM,7079.988,0,152800
+12/29/2016 12:35:14 AM,7079.988,0,152900
+12/29/2016 12:35:18 AM,7079.988,0,153000
+12/29/2016 12:35:23 AM,7079.988,0,153100
+12/29/2016 12:35:32 AM,7079.988,0,153200
+12/29/2016 12:35:41 AM,7079.988,0,153300
+12/29/2016 12:35:50 AM,7079.988,0,153400
+12/29/2016 12:35:58 AM,7079.988,0,153500
+12/29/2016 12:36:07 AM,7079.988,0,153600
+12/29/2016 12:36:13 AM,7079.988,0,153700
+12/29/2016 12:36:18 AM,7079.988,0,153800
+12/29/2016 12:36:23 AM,7079.988,0,153900
+12/29/2016 12:36:28 AM,7079.988,0,154000
+12/29/2016 12:36:33 AM,7079.988,0,154100
+12/29/2016 12:36:37 AM,7079.988,0,154200
+12/29/2016 12:36:41 AM,7079.988,0,154300
+12/29/2016 12:36:45 AM,7079.988,0,154400
+12/29/2016 12:36:53 AM,7079.988,0,154500
+12/29/2016 12:36:59 AM,7079.988,0,154600
+12/29/2016 12:37:05 AM,7079.988,0,154700
+12/29/2016 12:37:11 AM,7079.988,0,154800
+12/29/2016 12:37:17 AM,7079.988,0,154900
+12/29/2016 12:37:21 AM,7079.988,0,155000
+12/29/2016 12:37:26 AM,7079.988,0,155100
+12/29/2016 12:37:29 AM,7079.988,0,155200
+12/29/2016 12:37:33 AM,7079.988,0,155300
+12/29/2016 12:37:37 AM,7079.988,0,155400
+12/29/2016 12:37:41 AM,7079.988,0,155500
+12/29/2016 12:37:46 AM,7079.988,0,155600
+12/29/2016 12:37:53 AM,7079.988,0,155700
+12/29/2016 12:37:59 AM,7079.988,0,155800
+12/29/2016 12:38:04 AM,7079.988,0,155900
+12/29/2016 12:38:12 AM,7079.988,0,156000
+12/29/2016 12:38:20 AM,7079.988,0,156100
+12/29/2016 12:38:26 AM,7079.988,0,156200
+12/29/2016 12:38:32 AM,7079.988,0,156300
+12/29/2016 12:38:38 AM,7079.988,0,156400
+12/29/2016 12:38:43 AM,7079.988,0,156500
+12/29/2016 12:38:49 AM,7079.988,0,156600
+12/29/2016 12:38:55 AM,7079.988,0,156700
+12/29/2016 12:39:02 AM,7079.988,0,156800
+12/29/2016 12:39:10 AM,7079.988,0,156900
+12/29/2016 12:39:17 AM,7079.988,0,157000
+12/29/2016 12:39:25 AM,7079.988,0,157100
+12/29/2016 12:39:34 AM,7079.988,0,157200
+12/29/2016 12:39:41 AM,7079.988,0,157300
+12/29/2016 12:39:49 AM,7079.988,0,157400
+12/29/2016 12:39:56 AM,7079.988,0,157500
+12/29/2016 12:40:03 AM,7079.988,0,157600
+12/29/2016 12:40:11 AM,7079.988,0,157700
+12/29/2016 12:40:18 AM,7079.988,0,157800
+12/29/2016 12:40:25 AM,7079.988,0,157900
+12/29/2016 12:40:31 AM,7079.988,0,158000
+12/29/2016 12:40:36 AM,7079.988,0,158100
+12/29/2016 12:40:40 AM,7079.988,0,158200
+12/29/2016 12:40:43 AM,7079.988,0,158300
+12/29/2016 12:40:49 AM,7079.988,0,158400
+12/29/2016 12:40:54 AM,7079.988,0,158500
+12/29/2016 12:40:58 AM,7079.988,0,158600
+12/29/2016 12:41:02 AM,7079.988,0,158700
+12/29/2016 12:41:06 AM,7079.988,0,158800
+12/29/2016 12:41:10 AM,7079.988,0,158900
+12/29/2016 12:41:16 AM,7079.988,0,159000
+12/29/2016 12:41:23 AM,7079.988,0,159100
+12/29/2016 12:41:30 AM,7079.988,0,159200
+12/29/2016 12:41:34 AM,7079.988,0,159300
+12/29/2016 12:41:41 AM,7079.988,0,159400
+12/29/2016 12:41:47 AM,7079.988,0,159500
+12/29/2016 12:41:54 AM,7079.988,0,159600
+12/29/2016 12:41:59 AM,7079.988,0,159700
+12/29/2016 12:42:04 AM,7079.988,0,159800
+12/29/2016 12:42:10 AM,7079.988,0,159900
+12/29/2016 12:42:16 AM,7079.988,0,160000
+12/29/2016 12:42:21 AM,7079.988,0,160100
+12/29/2016 12:42:26 AM,7079.988,0,160200
+12/29/2016 12:42:30 AM,7079.988,0,160300
+12/29/2016 12:42:34 AM,7079.988,0,160400
+12/29/2016 12:42:40 AM,7079.988,0,160500
+12/29/2016 12:42:45 AM,7079.988,0,160600
+12/29/2016 12:42:55 AM,7079.988,0,160700
+12/29/2016 12:43:02 AM,7079.988,0,160800
+12/29/2016 12:43:10 AM,7079.988,0,160900
+12/29/2016 12:43:15 AM,7079.988,0,161000
+12/29/2016 12:43:21 AM,7079.988,0,161100
+12/29/2016 12:43:25 AM,7079.988,0,161200
+12/29/2016 12:43:30 AM,7079.988,0,161300
+12/29/2016 12:43:36 AM,7079.988,0,161400
+12/29/2016 12:43:40 AM,7079.988,0,161500
+12/29/2016 12:43:45 AM,7079.988,0,161600
+12/29/2016 12:43:50 AM,7079.988,0,161700
+12/29/2016 12:43:54 AM,7079.988,0,161800
+12/29/2016 12:43:58 AM,7079.988,0,161900
+12/29/2016 12:44:03 AM,7079.988,0,162000
+12/29/2016 12:44:09 AM,7079.988,0,162100
+12/29/2016 12:44:13 AM,7079.988,0,162200
+12/29/2016 12:44:19 AM,7079.988,0,162300
+12/29/2016 12:44:26 AM,7079.988,0,162400
+12/29/2016 12:44:32 AM,7079.988,0,162500
+12/29/2016 12:44:37 AM,7079.988,0,162600
+12/29/2016 12:44:41 AM,7079.988,0,162700
+12/29/2016 12:44:46 AM,7079.988,0,162800
+12/29/2016 12:44:50 AM,7079.988,0,162900
+12/29/2016 12:44:53 AM,7079.988,0,163000
+12/29/2016 12:44:58 AM,7079.988,0,163100
+12/29/2016 12:45:03 AM,7079.988,0,163200
+12/29/2016 12:45:08 AM,7079.988,0,163300
+12/29/2016 12:45:14 AM,7079.988,0,163400
+12/29/2016 12:45:18 AM,7079.988,0,163500
+12/29/2016 12:45:24 AM,7079.988,0,163600
+12/29/2016 12:45:30 AM,7079.988,0,163700
+12/29/2016 12:45:37 AM,7079.988,0,163800
+12/29/2016 12:45:42 AM,7079.988,0,163900
+12/29/2016 12:45:48 AM,7079.988,0,164000
+12/29/2016 12:45:52 AM,7079.988,0,164100
+12/29/2016 12:45:55 AM,7079.988,0,164200
+12/29/2016 12:46:00 AM,7079.988,0,164300
+12/29/2016 12:46:04 AM,7079.988,0,164400
+12/29/2016 12:46:08 AM,7079.988,0,164500
+12/29/2016 12:46:12 AM,7079.988,0,164600
+12/29/2016 12:46:17 AM,7079.988,0,164700
+12/29/2016 12:46:20 AM,7079.988,0,164800
+12/29/2016 12:46:24 AM,7079.988,0,164900
+12/29/2016 12:46:28 AM,7079.988,0,165000
+12/29/2016 12:46:32 AM,7079.988,0,165100
+12/29/2016 12:46:35 AM,7079.988,0,165200
+12/29/2016 12:46:39 AM,7079.988,0,165300
+12/29/2016 12:46:44 AM,7079.988,0,165400
+12/29/2016 12:46:49 AM,7079.988,0,165500
+12/29/2016 12:46:53 AM,7079.988,0,165600
+12/29/2016 12:46:58 AM,7079.988,0,165700
+12/29/2016 12:47:03 AM,7079.988,0,165800
+12/29/2016 12:47:10 AM,7079.988,0,165900
+12/29/2016 12:47:15 AM,7079.988,0,166000
+12/29/2016 12:47:19 AM,7079.988,0,166100
+12/29/2016 12:47:24 AM,7079.988,0,166200
+12/29/2016 12:47:29 AM,7079.988,0,166300
+12/29/2016 12:47:35 AM,7079.988,0,166400
+12/29/2016 12:47:45 AM,7079.988,0,166500
+12/29/2016 12:47:51 AM,7079.988,0,166600
+12/29/2016 12:47:56 AM,7079.988,0,166700
+12/29/2016 12:48:01 AM,7079.988,0,166800
+12/29/2016 12:48:06 AM,7079.988,0,166900
+12/29/2016 12:48:10 AM,7079.988,0,167000
+12/29/2016 12:48:15 AM,7079.988,0,167100
+12/29/2016 12:48:20 AM,7079.988,0,167200
+12/29/2016 12:48:24 AM,7079.988,0,167300
+12/29/2016 12:48:29 AM,7079.988,0,167400
+12/29/2016 12:48:32 AM,7079.988,0,167500
+12/29/2016 12:48:38 AM,7079.988,0,167600
+12/29/2016 12:48:43 AM,7079.988,0,167700
+12/29/2016 12:48:48 AM,7079.988,0,167800
+12/29/2016 12:48:52 AM,7079.988,0,167900
+12/29/2016 12:48:57 AM,7079.988,0,168000
+12/29/2016 12:49:03 AM,7079.988,0,168100
+12/29/2016 12:49:12 AM,7079.988,0,168200
+12/29/2016 12:49:19 AM,7079.988,0,168300
+12/29/2016 12:49:28 AM,7079.988,0,168400
+12/29/2016 12:49:37 AM,7079.988,0,168500
+12/29/2016 12:49:44 AM,7079.988,0,168600
+12/29/2016 12:49:53 AM,7079.988,0,168700
+12/29/2016 12:50:01 AM,7079.988,0,168800
+12/29/2016 12:50:12 AM,7079.988,0,168900
+12/29/2016 12:50:20 AM,7079.988,0,169000
+12/29/2016 12:50:28 AM,7079.988,0,169100
+12/29/2016 12:50:37 AM,7079.988,0,169200
+12/29/2016 12:50:47 AM,7079.988,0,169300
+12/29/2016 12:50:56 AM,7079.988,0,169400
+12/29/2016 12:51:02 AM,7079.988,0,169500
+12/29/2016 12:51:09 AM,7079.988,0,169600
+12/29/2016 12:51:16 AM,7079.988,0,169700
+12/29/2016 12:51:25 AM,7079.988,0,169800
+12/29/2016 12:51:33 AM,7079.988,0,169900
+12/29/2016 12:51:39 AM,7079.988,0,170000
+12/29/2016 12:51:47 AM,7079.988,0,170100
+12/29/2016 12:51:53 AM,7079.988,0,170200
+12/29/2016 12:52:00 AM,7079.988,0,170300
+12/29/2016 12:52:07 AM,7079.988,0,170400
+12/29/2016 12:52:15 AM,7079.988,0,170500
+12/29/2016 12:52:21 AM,7079.988,0,170600
+12/29/2016 12:52:27 AM,7079.988,0,170700
+12/29/2016 12:52:33 AM,7079.988,0,170800
+12/29/2016 12:52:40 AM,7079.988,0,170900
+12/29/2016 12:52:44 AM,7079.988,0,171000
+12/29/2016 12:52:52 AM,7079.988,0,171100
+12/29/2016 12:53:00 AM,7079.988,0,171200
+12/29/2016 12:53:07 AM,7079.988,0,171300
+12/29/2016 12:53:16 AM,7079.988,0,171400
+12/29/2016 12:53:24 AM,7079.988,0,171500
+12/29/2016 12:53:31 AM,7079.988,0,171600
+12/29/2016 12:53:38 AM,7079.988,0,171700
+12/29/2016 12:53:47 AM,7079.988,0,171800
+12/29/2016 12:53:55 AM,7079.988,0,171900
+12/29/2016 12:54:02 AM,7079.988,0,172000
+12/29/2016 12:54:06 AM,7079.988,0,172100
+12/29/2016 12:54:13 AM,7079.988,0,172200
+12/29/2016 12:54:18 AM,7079.988,0,172300
+12/29/2016 12:54:25 AM,7079.988,0,172400
+12/29/2016 12:54:30 AM,7079.988,0,172500
+12/29/2016 12:54:37 AM,7079.988,0,172600
+12/29/2016 12:54:42 AM,7079.988,0,172700
+12/29/2016 12:54:47 AM,7079.988,0,172800
+12/29/2016 12:54:52 AM,7079.988,0,172900
+12/29/2016 12:54:58 AM,7079.988,0,173000
+12/29/2016 12:55:03 AM,7079.988,0,173100
+12/29/2016 12:55:07 AM,7079.988,0,173200
+12/29/2016 12:55:12 AM,7079.988,0,173300
+12/29/2016 12:55:17 AM,7079.988,0,173400
+12/29/2016 12:55:21 AM,7079.988,0,173500
+12/29/2016 12:55:25 AM,7079.988,0,173600
+12/29/2016 12:55:29 AM,7079.988,0,173700
+12/29/2016 12:55:34 AM,7079.988,0,173800
+12/29/2016 12:55:38 AM,7079.988,0,173900
+12/29/2016 12:55:44 AM,7079.988,0,174000
+12/29/2016 12:55:48 AM,7079.988,0,174100
+12/29/2016 12:55:54 AM,7079.988,0,174200
+12/29/2016 12:55:57 AM,7079.988,0,174300
+12/29/2016 12:56:02 AM,7079.988,0,174400
+12/29/2016 12:56:08 AM,7079.988,0,174500
+12/29/2016 12:56:14 AM,7079.988,0,174600
+12/29/2016 12:56:18 AM,7079.988,0,174700
+12/29/2016 12:56:23 AM,7079.988,0,174800
+12/29/2016 12:56:27 AM,7079.988,0,174900
+12/29/2016 12:56:30 AM,7079.988,0,175000
+12/29/2016 12:56:34 AM,7079.988,0,175100
+12/29/2016 12:56:39 AM,7079.988,0,175200
+12/29/2016 12:56:43 AM,7079.988,0,175300
+12/29/2016 12:56:47 AM,7079.988,0,175400
+12/29/2016 12:56:51 AM,7079.988,0,175500
+12/29/2016 12:56:56 AM,7079.988,0,175600
+12/29/2016 12:57:06 AM,7079.988,0,175700
+12/29/2016 12:57:12 AM,7079.988,0,175800
+12/29/2016 12:57:17 AM,7079.988,0,175900
+12/29/2016 12:57:23 AM,7079.988,0,176000
+12/29/2016 12:57:29 AM,7079.988,0,176100
+12/29/2016 12:57:37 AM,7079.988,0,176200
+12/29/2016 12:57:42 AM,7079.988,0,176300
+12/29/2016 12:57:49 AM,7079.988,0,176400
+12/29/2016 12:57:56 AM,7079.988,0,176500
+12/29/2016 12:58:03 AM,7079.988,0,176600
+12/29/2016 12:58:08 AM,7079.988,0,176700
+12/29/2016 12:58:13 AM,7079.988,0,176800
+12/29/2016 12:58:20 AM,7079.988,0,176900
+12/29/2016 12:58:25 AM,7079.988,0,177000
+12/29/2016 12:58:30 AM,7079.988,0,177100
+12/29/2016 12:58:36 AM,7079.988,0,177200
+12/29/2016 12:58:45 AM,7079.988,0,177300
+12/29/2016 12:58:53 AM,7079.988,0,177400
+12/29/2016 12:58:58 AM,7079.988,0,177500
+12/29/2016 12:59:04 AM,7079.988,0,177600
+12/29/2016 12:59:10 AM,7079.988,0,177700
+12/29/2016 12:59:14 AM,7079.988,0,177800
+12/29/2016 12:59:21 AM,7079.988,0,177900
+12/29/2016 12:59:26 AM,7079.988,0,178000
+12/29/2016 12:59:34 AM,7079.988,0,178100
+12/29/2016 12:59:38 AM,7079.988,0,178200
+12/29/2016 12:59:42 AM,7079.988,0,178300
+12/29/2016 12:59:46 AM,7079.988,0,178400
+12/29/2016 12:59:50 AM,7079.988,0,178500
+12/29/2016 12:59:56 AM,7079.988,0,178600
+12/29/2016 1:00:02 AM,7079.988,0,178700
+12/29/2016 1:00:08 AM,7079.988,0,178800
+12/29/2016 1:00:14 AM,7079.988,0,178900
+12/29/2016 1:00:20 AM,7079.988,0,179000
+12/29/2016 1:00:25 AM,7079.988,0,179100
+12/29/2016 1:00:32 AM,7079.988,0,179200
+12/29/2016 1:00:40 AM,7079.988,0,179300
+12/29/2016 1:00:47 AM,7079.988,0,179400
+12/29/2016 1:00:54 AM,7079.988,0,179500
+12/29/2016 1:01:00 AM,7079.988,0,179600
+12/29/2016 1:01:05 AM,7079.988,0,179700
+12/29/2016 1:01:11 AM,7079.988,0,179800
+12/29/2016 1:01:15 AM,7079.988,0,179900
+12/29/2016 1:01:21 AM,7079.988,0,180000
+12/29/2016 1:01:26 AM,7079.988,0,180100
+12/29/2016 1:01:32 AM,7079.988,0,180200
+12/29/2016 1:01:37 AM,7079.988,0,180300
+12/29/2016 1:01:44 AM,7099.582,0,180400
+12/29/2016 1:01:50 AM,7099.616,0,180500
+12/29/2016 1:01:56 AM,7099.632,0,180600
+12/29/2016 1:02:01 AM,7099.654,0,180700
+12/29/2016 1:02:06 AM,7099.654,0,180800
+12/29/2016 1:02:11 AM,7099.654,0,180900
+12/29/2016 1:02:16 AM,7099.686,0,181000
+12/29/2016 1:02:21 AM,7099.686,0,181100
+12/29/2016 1:02:25 AM,7099.688,0,181200
+12/29/2016 1:02:29 AM,7099.706,0,181300
+12/29/2016 1:02:35 AM,7099.714,0,181400
+12/29/2016 1:02:39 AM,7099.718,0,181500
+12/29/2016 1:02:45 AM,7099.718,0,181600
+12/29/2016 1:02:49 AM,7099.722,0,181700
+12/29/2016 1:02:55 AM,7099.722,0,181800
+12/29/2016 1:03:00 AM,7099.722,0,181900
+12/29/2016 1:03:05 AM,7099.728,0,182000
+12/29/2016 1:03:12 AM,7099.752,0,182100
+12/29/2016 1:03:17 AM,7099.752,0,182200
+12/29/2016 1:03:22 AM,7099.752,0,182300
+12/29/2016 1:03:26 AM,7099.76,0,182400
+12/29/2016 1:03:35 AM,7099.76,0,182500
+12/29/2016 1:03:40 AM,7099.764,0,182600
+12/29/2016 1:03:45 AM,7099.764,0,182700
+12/29/2016 1:03:50 AM,7099.77,0,182800
+12/29/2016 1:03:55 AM,7099.774,0,182900
+12/29/2016 1:04:01 AM,7099.774,0,183000
+12/29/2016 1:04:05 AM,7099.778,0,183100
+12/29/2016 1:04:11 AM,7099.782,0,183200
+12/29/2016 1:04:16 AM,7099.782,0,183300
+12/29/2016 1:04:23 AM,7099.782,0,183400
+12/29/2016 1:04:28 AM,7099.782,0,183500
+12/29/2016 1:04:33 AM,7099.782,0,183600
+12/29/2016 1:04:40 AM,7099.782,0,183700
+12/29/2016 1:04:46 AM,7099.782,0,183800
+12/29/2016 1:04:55 AM,7099.782,0,183900
+12/29/2016 1:05:01 AM,7099.786,0,184000
+12/29/2016 1:05:06 AM,7099.786,0,184100
+12/29/2016 1:05:12 AM,7099.786,0,184200
+12/29/2016 1:05:18 AM,7099.786,0,184300
+12/29/2016 1:05:23 AM,7099.786,0,184400
+12/29/2016 1:05:27 AM,7099.786,0,184500
+12/29/2016 1:05:32 AM,7099.786,0,184600
+12/29/2016 1:05:36 AM,7099.786,0,184700
+12/29/2016 1:05:40 AM,7099.786,0,184800
+12/29/2016 1:05:45 AM,7099.786,0,184900
+12/29/2016 1:05:51 AM,7099.786,0,185000
+12/29/2016 1:05:57 AM,7099.786,0,185100
+12/29/2016 1:06:03 AM,7099.786,0,185200
+12/29/2016 1:06:09 AM,7099.79,0,185300
+12/29/2016 1:06:13 AM,7099.79,0,185400
+12/29/2016 1:06:18 AM,7099.79,0,185500
+12/29/2016 1:06:24 AM,7099.79,0,185600
+12/29/2016 1:06:29 AM,7099.79,0,185700
+12/29/2016 1:06:34 AM,7099.79,0,185800
+12/29/2016 1:06:39 AM,7099.79,0,185900
+12/29/2016 1:06:46 AM,7099.79,0,186000
+12/29/2016 1:06:52 AM,7099.79,0,186100
+12/29/2016 1:06:57 AM,7099.79,0,186200
+12/29/2016 1:07:02 AM,7099.79,0,186300
+12/29/2016 1:07:07 AM,7099.79,0,186400
+12/29/2016 1:07:11 AM,7099.79,0,186500
+12/29/2016 1:07:17 AM,7099.79,0,186600
+12/29/2016 1:07:22 AM,7099.79,0,186700
+12/29/2016 1:07:30 AM,7099.79,0,186800
+12/29/2016 1:07:35 AM,7099.79,0,186900
+12/29/2016 1:07:39 AM,7099.79,0,187000
+12/29/2016 1:07:45 AM,7099.79,0,187100
+12/29/2016 1:07:51 AM,7099.79,0,187200
+12/29/2016 1:07:57 AM,7099.79,0,187300
+12/29/2016 1:08:03 AM,7099.79,0,187400
+12/29/2016 1:08:09 AM,7099.79,0,187500
+12/29/2016 1:08:16 AM,7099.79,0,187600
+12/29/2016 1:08:20 AM,7099.79,0,187700
+12/29/2016 1:08:25 AM,7099.793,0,187800
+12/29/2016 1:08:30 AM,7099.793,0,187900
+12/29/2016 1:08:35 AM,7099.793,0,188000
+12/29/2016 1:08:41 AM,7099.793,0,188100
+12/29/2016 1:08:46 AM,7099.793,0,188200
+12/29/2016 1:08:52 AM,7102.792,0,188300
+12/29/2016 1:09:00 AM,7102.792,0,188400
diff --git a/Results/extractinquotes2/history.txt b/Results/extractinquotes2/history.txt
new file mode 100644
index 0000000..e8a42b8
--- /dev/null
+++ b/Results/extractinquotes2/history.txt
@@ -0,0 +1,370 @@
+12/28/2016 9:39:01 PM,4277.567,0,0
+12/28/2016 9:39:02 PM,4779.952,0,100
+12/28/2016 9:39:03 PM,4856.952,0,200
+12/28/2016 9:39:03 PM,4856.952,0,300
+12/28/2016 9:39:05 PM,5082.875,0,400
+12/28/2016 9:39:07 PM,5096.875,0,500
+12/28/2016 9:39:12 PM,5096.886,0,600
+12/28/2016 9:39:15 PM,5096.892,0,700
+12/28/2016 9:39:20 PM,5097.886,0,800
+12/28/2016 9:39:23 PM,5097.892,0,900
+12/28/2016 9:39:25 PM,5097.892,0,1000
+12/28/2016 9:39:31 PM,5097.892,0,1100
+12/28/2016 9:39:33 PM,5099.886,0,1200
+12/28/2016 9:39:35 PM,5099.886,0,1300
+12/28/2016 9:39:37 PM,5099.886,0,1400
+12/28/2016 9:39:39 PM,5099.886,0,1500
+12/28/2016 9:39:42 PM,5099.886,0,1600
+12/28/2016 9:39:47 PM,5099.886,0,1700
+12/28/2016 9:39:51 PM,5099.886,0,1800
+12/28/2016 9:39:54 PM,5103.886,0,1900
+12/28/2016 9:39:56 PM,5103.886,0,2000
+12/28/2016 9:39:58 PM,5103.886,0,2100
+12/28/2016 9:40:00 PM,5103.886,0,2200
+12/28/2016 9:40:02 PM,5103.886,0,2300
+12/28/2016 9:40:04 PM,5103.886,0,2400
+12/28/2016 9:40:09 PM,5103.886,0,2500
+12/28/2016 9:40:11 PM,5103.886,0,2600
+12/28/2016 9:40:16 PM,5103.886,0,2700
+12/28/2016 9:40:19 PM,5103.886,0,2800
+12/28/2016 9:40:21 PM,5103.886,0,2900
+12/28/2016 9:40:27 PM,5103.886,0,3000
+12/28/2016 9:40:29 PM,5103.886,0,3100
+12/28/2016 9:40:32 PM,5103.886,0,3200
+12/28/2016 9:40:37 PM,5103.886,0,3300
+12/28/2016 9:40:41 PM,5103.886,0,3400
+12/28/2016 9:40:45 PM,5103.886,0,3500
+12/28/2016 9:40:49 PM,5103.886,0,3600
+12/28/2016 9:40:51 PM,5103.886,0,3700
+12/28/2016 9:40:54 PM,5103.886,0,3800
+12/28/2016 9:40:57 PM,5103.886,0,3900
+12/28/2016 9:41:00 PM,5103.886,0,4000
+12/28/2016 9:41:04 PM,5103.886,0,4100
+12/28/2016 9:41:06 PM,5103.886,0,4200
+12/28/2016 9:41:09 PM,5103.886,0,4300
+12/28/2016 9:41:12 PM,5103.886,0,4400
+12/28/2016 9:41:14 PM,5103.886,0,4500
+12/28/2016 9:41:18 PM,5103.886,0,4600
+12/28/2016 9:41:22 PM,5103.886,0,4700
+12/28/2016 9:41:24 PM,5103.886,0,4800
+12/28/2016 9:41:26 PM,5103.886,0,4900
+12/28/2016 9:41:29 PM,5103.886,0,5000
+12/28/2016 9:41:32 PM,5103.886,0,5100
+12/28/2016 9:41:36 PM,5103.886,0,5200
+12/28/2016 9:41:39 PM,5103.886,0,5300
+12/28/2016 9:41:42 PM,5103.886,0,5400
+12/28/2016 9:41:46 PM,5103.886,0,5500
+12/28/2016 9:41:50 PM,5103.886,0,5600
+12/28/2016 9:41:54 PM,5103.886,0,5700
+12/28/2016 9:41:58 PM,5103.889,0,5800
+12/28/2016 9:42:04 PM,5103.889,0,5900
+12/28/2016 9:42:09 PM,5103.889,0,6000
+12/28/2016 9:42:14 PM,5107,0,6100
+12/28/2016 9:42:21 PM,5121,0,6200
+12/28/2016 9:42:29 PM,5121,0,6300
+12/28/2016 9:42:39 PM,5121,0,6400
+12/28/2016 9:42:49 PM,5121,0,6500
+12/28/2016 9:42:58 PM,5121,0,6600
+12/28/2016 9:43:08 PM,5121,0,6700
+12/28/2016 9:43:17 PM,5121,0,6800
+12/28/2016 9:43:25 PM,5125.905,0,6900
+12/28/2016 9:43:31 PM,5125.905,0,7000
+12/28/2016 9:43:41 PM,5125.905,0,7100
+12/28/2016 9:43:49 PM,5126.905,0,7200
+12/28/2016 9:43:58 PM,5126.905,0,7300
+12/28/2016 9:44:06 PM,5126.905,0,7400
+12/28/2016 9:44:15 PM,5126.905,0,7500
+12/28/2016 9:44:23 PM,5126.905,0,7600
+12/28/2016 9:44:31 PM,5126.905,0,7700
+12/28/2016 9:44:41 PM,5126.905,0,7800
+12/28/2016 9:44:52 PM,5126.905,0,7900
+12/28/2016 9:45:04 PM,5126.905,0,8000
+12/28/2016 9:45:15 PM,5126.905,0,8100
+12/28/2016 9:45:25 PM,5126.905,0,8200
+12/28/2016 9:45:36 PM,5126.905,0,8300
+12/28/2016 9:45:44 PM,5126.905,0,8400
+12/28/2016 9:45:53 PM,5126.905,0,8500
+12/28/2016 9:46:00 PM,5126.905,0,8600
+12/28/2016 9:46:11 PM,5126.905,0,8700
+12/28/2016 9:46:22 PM,5126.905,0,8800
+12/28/2016 9:46:28 PM,5126.905,0,8900
+12/28/2016 9:46:35 PM,5126.905,0,9000
+12/28/2016 9:46:41 PM,5126.905,0,9100
+12/28/2016 9:46:47 PM,5126.905,0,9200
+12/28/2016 9:46:54 PM,5126.905,0,9300
+12/28/2016 9:47:06 PM,5126.905,0,9400
+12/28/2016 9:47:14 PM,5126.905,0,9500
+12/28/2016 9:47:23 PM,5126.905,0,9600
+12/28/2016 9:47:32 PM,5126.905,0,9700
+12/28/2016 9:47:40 PM,5126.905,0,9800
+12/28/2016 9:47:49 PM,5126.905,0,9900
+12/28/2016 9:47:57 PM,5126.905,0,10000
+12/28/2016 9:48:08 PM,5126.906,0,10100
+12/28/2016 9:48:19 PM,5126.906,0,10200
+12/28/2016 9:48:29 PM,5126.906,0,10300
+12/28/2016 9:48:39 PM,5126.906,0,10400
+12/28/2016 9:48:49 PM,5126.906,0,10500
+12/28/2016 9:49:00 PM,5126.906,0,10600
+12/28/2016 9:49:09 PM,5198.429,0,10700
+12/28/2016 9:49:14 PM,5358.505,0,10800
+12/28/2016 9:49:23 PM,5358.505,0,10900
+12/28/2016 9:49:30 PM,5358.511,0,11000
+12/28/2016 9:49:39 PM,5358.657,0,11100
+12/28/2016 9:49:45 PM,5358.657,0,11200
+12/28/2016 9:49:52 PM,5358.657,0,11300
+12/28/2016 9:50:00 PM,5358.657,0,11400
+12/28/2016 9:50:08 PM,5358.657,0,11500
+12/28/2016 9:50:15 PM,5358.657,0,11600
+12/28/2016 9:50:23 PM,5358.657,0,11700
+12/28/2016 9:50:31 PM,5358.717,0,11800
+12/28/2016 9:50:40 PM,5358.717,0,11900
+12/28/2016 9:50:48 PM,5358.717,0,12000
+12/28/2016 9:50:54 PM,5358.722,0,12100
+12/28/2016 9:51:03 PM,5358.745,0,12200
+12/28/2016 9:51:07 PM,5358.745,0,12300
+12/28/2016 9:51:12 PM,5358.789,0,12400
+12/28/2016 9:51:17 PM,5358.789,0,12500
+12/28/2016 9:51:21 PM,5358.789,0,12600
+12/28/2016 9:51:27 PM,5358.789,0,12700
+12/28/2016 9:51:32 PM,5358.794,0,12800
+12/28/2016 9:51:38 PM,5358.794,0,12900
+12/28/2016 9:51:43 PM,5358.794,0,13000
+12/28/2016 9:51:47 PM,5358.795,0,13100
+12/28/2016 9:51:49 PM,5358.795,0,13200
+12/28/2016 9:51:53 PM,5358.795,0,13300
+12/28/2016 9:51:56 PM,5358.795,0,13400
+12/28/2016 9:52:01 PM,5358.795,0,13500
+12/28/2016 9:52:05 PM,5358.795,0,13600
+12/28/2016 9:52:10 PM,5358.795,0,13700
+12/28/2016 9:52:14 PM,5358.805,0,13800
+12/28/2016 9:52:19 PM,5358.805,0,13900
+12/28/2016 9:52:24 PM,5368.799,0,14000
+12/28/2016 9:52:28 PM,5388.789,0,14100
+12/28/2016 9:52:33 PM,5388.792,0,14200
+12/28/2016 9:52:38 PM,5388.795,0,14300
+12/28/2016 9:52:42 PM,5388.798,0,14400
+12/28/2016 9:52:46 PM,5388.807,0,14500
+12/28/2016 9:52:51 PM,5388.807,0,14600
+12/28/2016 9:52:54 PM,5388.807,0,14700
+12/28/2016 9:52:57 PM,5388.807,0,14800
+12/28/2016 9:53:01 PM,5388.807,0,14900
+12/28/2016 9:53:05 PM,5388.816,0,15000
+12/28/2016 9:53:09 PM,5388.807,0,15100
+12/28/2016 9:53:15 PM,5388.81,0,15200
+12/28/2016 9:53:19 PM,5388.81,0,15300
+12/28/2016 9:53:23 PM,5388.81,0,15400
+12/28/2016 9:53:28 PM,5388.81,0,15500
+12/28/2016 9:53:32 PM,5388.81,0,15600
+12/28/2016 9:53:38 PM,5388.81,0,15700
+12/28/2016 9:53:42 PM,5388.81,0,15800
+12/28/2016 9:53:47 PM,5388.81,0,15900
+12/28/2016 9:53:51 PM,5388.81,0,16000
+12/28/2016 9:53:55 PM,5388.81,0,16100
+12/28/2016 9:53:59 PM,5388.816,0,16200
+12/28/2016 9:54:05 PM,5388.816,0,16300
+12/28/2016 9:54:09 PM,5388.816,0,16400
+12/28/2016 9:54:13 PM,5388.816,0,16500
+12/28/2016 9:54:18 PM,5388.816,0,16600
+12/28/2016 9:54:21 PM,5388.816,0,16700
+12/28/2016 9:54:25 PM,5388.816,0,16800
+12/28/2016 9:54:30 PM,5388.816,0,16900
+12/28/2016 9:54:36 PM,5388.816,0,17000
+12/28/2016 9:54:41 PM,5388.816,0,17100
+12/28/2016 9:54:45 PM,5388.816,0,17200
+12/28/2016 9:54:50 PM,5388.816,0,17300
+12/28/2016 9:54:54 PM,5388.816,0,17400
+12/28/2016 9:54:58 PM,5388.816,0,17500
+12/28/2016 9:55:02 PM,5388.816,0,17600
+12/28/2016 9:55:05 PM,5388.816,0,17700
+12/28/2016 9:55:10 PM,5388.816,0,17800
+12/28/2016 9:55:16 PM,5388.816,0,17900
+12/28/2016 9:55:21 PM,5388.816,0,18000
+12/28/2016 9:55:24 PM,5388.816,0,18100
+12/28/2016 9:55:28 PM,5388.816,0,18200
+12/28/2016 9:55:33 PM,5388.816,0,18300
+12/28/2016 9:55:37 PM,5388.816,0,18400
+12/28/2016 9:55:41 PM,5388.816,0,18500
+12/28/2016 9:55:45 PM,5388.816,0,18600
+12/28/2016 9:55:50 PM,5388.829,0,18700
+12/28/2016 9:55:56 PM,5388.829,0,18800
+12/28/2016 9:56:02 PM,5388.829,0,18900
+12/28/2016 9:56:08 PM,5388.829,0,19000
+12/28/2016 9:56:12 PM,5388.829,0,19100
+12/28/2016 9:56:16 PM,5388.829,0,19200
+12/28/2016 9:56:20 PM,5388.829,0,19300
+12/28/2016 9:56:25 PM,5388.829,0,19400
+12/28/2016 9:56:29 PM,5388.829,0,19500
+12/28/2016 9:56:32 PM,5388.829,0,19600
+12/28/2016 9:56:35 PM,5388.829,0,19700
+12/28/2016 9:56:39 PM,5388.829,0,19800
+12/28/2016 9:56:43 PM,5388.829,0,19900
+12/28/2016 9:56:47 PM,5388.829,0,20000
+12/28/2016 9:56:52 PM,5388.829,0,20100
+12/28/2016 9:56:56 PM,5388.829,0,20200
+12/28/2016 9:57:00 PM,5388.829,0,20300
+12/28/2016 9:57:04 PM,5388.829,0,20400
+12/28/2016 9:57:08 PM,5388.829,0,20500
+12/28/2016 9:57:11 PM,5388.829,0,20600
+12/28/2016 9:57:16 PM,5388.829,0,20700
+12/28/2016 9:57:22 PM,5388.829,0,20800
+12/28/2016 9:57:27 PM,5388.829,0,20900
+12/28/2016 9:57:31 PM,5388.829,0,21000
+12/28/2016 9:57:36 PM,5388.829,0,21100
+12/28/2016 9:57:42 PM,5388.829,0,21200
+12/28/2016 9:57:47 PM,5388.832,0,21300
+12/28/2016 9:57:51 PM,5388.832,0,21400
+12/28/2016 9:57:55 PM,5388.838,0,21500
+12/28/2016 9:58:00 PM,5388.838,0,21600
+12/28/2016 9:58:04 PM,5388.838,0,21700
+12/28/2016 9:58:07 PM,5388.838,0,21800
+12/28/2016 9:58:12 PM,5388.838,0,21900
+12/28/2016 9:58:17 PM,5388.838,0,22000
+12/28/2016 9:58:20 PM,5388.844,0,22100
+12/28/2016 9:58:25 PM,5388.844,0,22200
+12/28/2016 9:58:30 PM,5388.844,0,22300
+12/28/2016 9:58:35 PM,5388.844,0,22400
+12/28/2016 9:58:38 PM,5388.844,0,22500
+12/28/2016 9:58:42 PM,5388.844,0,22600
+12/28/2016 9:58:45 PM,5388.844,0,22700
+12/28/2016 9:58:49 PM,5388.844,0,22800
+12/28/2016 9:58:54 PM,5388.844,0,22900
+12/28/2016 9:58:57 PM,5388.844,0,23000
+12/28/2016 9:59:01 PM,5388.844,0,23100
+12/28/2016 9:59:08 PM,5388.844,0,23200
+12/28/2016 9:59:12 PM,5388.844,0,23300
+12/28/2016 9:59:17 PM,5388.844,0,23400
+12/28/2016 9:59:22 PM,5388.844,0,23500
+12/28/2016 9:59:26 PM,5388.844,0,23600
+12/28/2016 9:59:29 PM,5388.844,0,23700
+12/28/2016 9:59:34 PM,5388.844,0,23800
+12/28/2016 9:59:38 PM,5388.844,0,23900
+12/28/2016 9:59:44 PM,5388.844,0,24000
+12/28/2016 9:59:48 PM,5388.844,0,24100
+12/28/2016 9:59:51 PM,5388.844,0,24200
+12/28/2016 9:59:55 PM,5388.844,0,24300
+12/28/2016 9:59:58 PM,5388.844,0,24400
+12/28/2016 10:00:03 PM,5388.844,0,24500
+12/28/2016 10:00:07 PM,5388.844,0,24600
+12/28/2016 10:00:11 PM,5388.844,0,24700
+12/28/2016 10:00:15 PM,5388.844,0,24800
+12/28/2016 10:00:19 PM,5388.844,0,24900
+12/28/2016 10:00:24 PM,5388.844,0,25000
+12/28/2016 10:00:28 PM,5388.844,0,25100
+12/28/2016 10:00:33 PM,5388.844,0,25200
+12/28/2016 10:00:39 PM,5388.844,0,25300
+12/28/2016 10:00:43 PM,5388.844,0,25400
+12/28/2016 10:00:47 PM,5388.844,0,25500
+12/28/2016 10:00:52 PM,5388.844,0,25600
+12/28/2016 10:00:56 PM,5388.844,0,25700
+12/28/2016 10:01:00 PM,5388.844,0,25800
+12/28/2016 10:01:04 PM,5388.844,0,25900
+12/28/2016 10:01:09 PM,5388.844,0,26000
+12/28/2016 10:01:14 PM,5388.844,0,26100
+12/28/2016 10:01:18 PM,5388.844,0,26200
+12/28/2016 10:01:23 PM,5388.844,0,26300
+12/28/2016 10:01:27 PM,5388.844,0,26400
+12/28/2016 10:01:32 PM,5388.844,0,26500
+12/28/2016 10:01:36 PM,5388.844,0,26600
+12/28/2016 10:01:40 PM,5388.844,0,26700
+12/28/2016 10:01:44 PM,5388.844,0,26800
+12/28/2016 10:01:47 PM,5388.844,0,26900
+12/28/2016 10:01:52 PM,5388.844,0,27000
+12/28/2016 10:01:57 PM,5388.844,0,27100
+12/28/2016 10:02:03 PM,5388.844,0,27200
+12/28/2016 10:02:07 PM,5388.844,0,27300
+12/28/2016 10:02:10 PM,5388.844,0,27400
+12/28/2016 10:02:15 PM,5388.844,0,27500
+12/28/2016 10:02:20 PM,5388.844,0,27600
+12/28/2016 10:02:27 PM,5388.844,0,27700
+12/28/2016 10:02:31 PM,5388.844,0,27800
+12/28/2016 10:02:35 PM,5388.844,0,27900
+12/28/2016 10:02:40 PM,5388.846,0,28000
+12/28/2016 10:02:44 PM,5388.846,0,28100
+12/28/2016 10:02:48 PM,5388.846,0,28200
+12/28/2016 10:02:52 PM,5388.846,0,28300
+12/28/2016 10:02:56 PM,5388.846,0,28400
+12/28/2016 10:03:01 PM,5388.846,0,28500
+12/28/2016 10:03:06 PM,5388.846,0,28600
+12/28/2016 10:03:11 PM,5388.846,0,28700
+12/28/2016 10:03:15 PM,5388.846,0,28800
+12/28/2016 10:03:19 PM,5388.846,0,28900
+12/28/2016 10:03:23 PM,5388.846,0,29000
+12/28/2016 10:03:28 PM,5388.846,0,29100
+12/28/2016 10:03:33 PM,5388.846,0,29200
+12/28/2016 10:03:37 PM,5388.846,0,29300
+12/28/2016 10:03:42 PM,5388.846,0,29400
+12/28/2016 10:03:46 PM,5388.846,0,29500
+12/28/2016 10:03:51 PM,5388.846,0,29600
+12/28/2016 10:03:55 PM,5388.846,0,29700
+12/28/2016 10:04:00 PM,5388.846,0,29800
+12/28/2016 10:04:04 PM,5388.846,0,29900
+12/28/2016 10:04:09 PM,5388.846,0,30000
+12/28/2016 10:04:14 PM,5388.838,0,30100
+12/28/2016 10:04:19 PM,5388.838,0,30200
+12/28/2016 10:04:22 PM,5388.838,0,30300
+12/28/2016 10:04:26 PM,5388.838,0,30400
+12/28/2016 10:04:30 PM,5388.838,0,30500
+12/28/2016 10:04:34 PM,5388.838,0,30600
+12/28/2016 10:04:38 PM,5388.838,0,30700
+12/28/2016 10:04:42 PM,5388.838,0,30800
+12/28/2016 10:04:46 PM,5388.838,0,30900
+12/28/2016 10:04:51 PM,5388.838,0,31000
+12/28/2016 10:04:54 PM,5388.838,0,31100
+12/28/2016 10:04:58 PM,5388.838,0,31200
+12/28/2016 10:05:02 PM,5388.838,0,31300
+12/28/2016 10:05:07 PM,5388.838,0,31400
+12/28/2016 10:05:12 PM,5388.838,0,31500
+12/28/2016 10:05:16 PM,5388.838,0,31600
+12/28/2016 10:05:22 PM,5388.838,0,31700
+12/28/2016 10:05:27 PM,5388.838,0,31800
+12/28/2016 10:05:31 PM,5388.838,0,31900
+12/28/2016 10:05:35 PM,5388.838,0,32000
+12/28/2016 10:05:40 PM,5388.838,0,32100
+12/28/2016 10:05:44 PM,5388.838,0,32200
+12/28/2016 10:05:47 PM,5388.838,0,32300
+12/28/2016 10:05:50 PM,5388.838,0,32400
+12/28/2016 10:05:54 PM,5388.838,0,32500
+12/28/2016 10:05:58 PM,5388.838,0,32600
+12/28/2016 10:06:02 PM,5388.838,0,32700
+12/28/2016 10:06:08 PM,5388.838,0,32800
+12/28/2016 10:06:12 PM,5388.844,0,32900
+12/28/2016 10:06:16 PM,5388.844,0,33000
+12/28/2016 10:06:20 PM,5388.844,0,33100
+12/28/2016 10:06:25 PM,5388.844,0,33200
+12/28/2016 10:06:30 PM,5388.844,0,33300
+12/28/2016 10:06:34 PM,5388.844,0,33400
+12/28/2016 10:06:38 PM,5388.844,0,33500
+12/28/2016 10:06:42 PM,5388.844,0,33600
+12/28/2016 10:06:46 PM,5388.844,0,33700
+12/28/2016 10:06:51 PM,5388.844,0,33800
+12/28/2016 10:06:56 PM,5388.844,0,33900
+12/28/2016 10:07:02 PM,5388.844,0,34000
+12/28/2016 10:07:08 PM,5388.844,0,34100
+12/28/2016 10:07:12 PM,5388.844,0,34200
+12/28/2016 10:07:18 PM,5388.844,0,34300
+12/28/2016 10:07:21 PM,5388.844,0,34400
+12/28/2016 10:07:25 PM,5388.844,0,34500
+12/28/2016 10:07:31 PM,5388.844,0,34600
+12/28/2016 10:07:36 PM,5388.844,0,34700
+12/28/2016 10:07:41 PM,5388.844,0,34800
+12/28/2016 10:07:44 PM,5388.844,0,34900
+12/28/2016 10:07:48 PM,5388.844,0,35000
+12/28/2016 10:07:54 PM,5388.844,0,35100
+12/28/2016 10:07:58 PM,5388.844,0,35200
+12/28/2016 10:08:03 PM,5388.844,0,35300
+12/28/2016 10:08:07 PM,5388.844,0,35400
+12/28/2016 10:08:13 PM,5388.844,0,35500
+12/28/2016 10:08:17 PM,5388.844,0,35600
+12/28/2016 10:08:21 PM,5388.844,0,35700
+12/28/2016 10:08:27 PM,5388.844,0,35800
+12/28/2016 10:08:30 PM,5388.844,0,35900
+12/28/2016 10:08:35 PM,5388.844,0,36000
+12/28/2016 10:08:40 PM,5388.844,0,36100
+12/28/2016 10:08:44 PM,5388.844,0,36200
+12/28/2016 10:08:48 PM,5388.844,0,36300
+12/28/2016 10:08:52 PM,5388.844,0,36400
+12/28/2016 10:08:56 PM,5388.844,0,36500
+12/28/2016 10:08:59 PM,5388.844,0,36600
+12/28/2016 10:09:03 PM,5388.844,0,36700
+12/28/2016 10:09:07 PM,5388.844,0,36800
+12/28/2016 10:09:11 PM,5388.844,0,36900
\ No newline at end of file
diff --git a/Results/string-length/history.txt b/Results/string-length/history.txt
new file mode 100644
index 0000000..7b6e118
--- /dev/null
+++ b/Results/string-length/history.txt
@@ -0,0 +1,186 @@
+9/30/2018 4:55:35 PM,1064.99,0,0
+9/30/2018 4:55:36 PM,1096.945,0,100
+9/30/2018 4:55:37 PM,1099.945,0,200
+9/30/2018 4:55:38 PM,1099.945,0,300
+9/30/2018 4:55:39 PM,1099.945,0,400
+9/30/2018 4:55:40 PM,1099.945,0,500
+9/30/2018 4:55:42 PM,1099.945,0,600
+9/30/2018 4:55:44 PM,1104.955,0,700
+9/30/2018 4:55:46 PM,1104.99,0,800
+9/30/2018 4:55:48 PM,1104.99,0,900
+9/30/2018 4:55:50 PM,1214.675,0,1000
+9/30/2018 4:55:51 PM,1252.495,0,1100
+9/30/2018 4:55:52 PM,1252.675,0,1200
+9/30/2018 4:55:54 PM,1253.585,0,1300
+9/30/2018 4:55:55 PM,1253.675,0,1400
+9/30/2018 4:55:57 PM,1254.675,0,1500
+9/30/2018 4:55:58 PM,1254.675,0,1600
+9/30/2018 4:56:00 PM,1254.675,0,1700
+9/30/2018 4:56:01 PM,1254.675,0,1800
+9/30/2018 4:56:02 PM,1254.675,0,1900
+9/30/2018 4:56:04 PM,1254.69,0,2000
+9/30/2018 4:56:06 PM,1255.665,0,2100
+9/30/2018 4:56:08 PM,1255.665,0,2200
+9/30/2018 4:56:09 PM,1255.665,0,2300
+9/30/2018 4:56:11 PM,1255.665,0,2400
+9/30/2018 4:56:13 PM,1255.68,0,2500
+9/30/2018 4:56:14 PM,1255.68,0,2600
+9/30/2018 4:56:15 PM,1255.68,0,2700
+9/30/2018 4:56:17 PM,1255.68,0,2800
+9/30/2018 4:56:18 PM,1255.68,0,2900
+9/30/2018 4:56:20 PM,1255.68,0,3000
+9/30/2018 4:56:21 PM,1255.68,0,3100
+9/30/2018 4:56:22 PM,1255.759,0,3200
+9/30/2018 4:56:24 PM,1255.759,0,3300
+9/30/2018 4:56:25 PM,1255.759,0,3400
+9/30/2018 4:56:26 PM,1255.759,0,3500
+9/30/2018 4:56:28 PM,1255.759,0,3600
+9/30/2018 4:56:29 PM,1255.759,0,3700
+9/30/2018 4:56:30 PM,1255.759,0,3800
+9/30/2018 4:56:32 PM,1255.759,0,3900
+9/30/2018 4:56:33 PM,1255.759,0,4000
+9/30/2018 4:56:35 PM,1255.759,0,4100
+9/30/2018 4:56:36 PM,1255.761,0,4200
+9/30/2018 4:56:37 PM,1255.761,0,4300
+9/30/2018 4:56:39 PM,1255.764,0,4400
+9/30/2018 4:56:40 PM,1255.764,0,4500
+9/30/2018 4:56:42 PM,1255.764,0,4600
+9/30/2018 4:56:43 PM,1255.771,0,4700
+9/30/2018 4:56:44 PM,1255.771,0,4800
+9/30/2018 4:56:46 PM,1255.771,0,4900
+9/30/2018 4:56:48 PM,1255.771,0,5000
+9/30/2018 4:56:49 PM,1255.771,0,5100
+9/30/2018 4:56:51 PM,1255.771,0,5200
+9/30/2018 4:56:52 PM,1255.771,0,5300
+9/30/2018 4:56:54 PM,1255.771,0,5400
+9/30/2018 4:56:56 PM,1255.771,0,5500
+9/30/2018 4:56:58 PM,1255.771,0,5600
+9/30/2018 4:57:00 PM,1255.771,0,5700
+9/30/2018 4:57:03 PM,1255.771,0,5800
+9/30/2018 4:57:05 PM,1255.771,0,5900
+9/30/2018 4:57:08 PM,1255.771,0,6000
+9/30/2018 4:57:10 PM,1255.771,0,6100
+9/30/2018 4:57:12 PM,1255.771,0,6200
+9/30/2018 4:57:15 PM,1255.771,0,6300
+9/30/2018 4:57:17 PM,1255.771,0,6400
+9/30/2018 4:57:19 PM,1255.779,0,6500
+9/30/2018 4:57:21 PM,1255.786,0,6600
+9/30/2018 4:57:23 PM,1255.786,0,6700
+9/30/2018 4:57:25 PM,1255.79,0,6800
+9/30/2018 4:57:27 PM,1255.79,0,6900
+9/30/2018 4:57:29 PM,1255.79,0,7000
+9/30/2018 4:57:30 PM,1255.805,0,7100
+9/30/2018 4:57:32 PM,1255.805,0,7200
+9/30/2018 4:57:33 PM,1255.805,0,7300
+9/30/2018 4:57:35 PM,1255.805,0,7400
+9/30/2018 4:57:37 PM,1255.805,0,7500
+9/30/2018 4:57:38 PM,1255.805,0,7600
+9/30/2018 4:57:40 PM,1255.805,0,7700
+9/30/2018 4:57:41 PM,1255.805,0,7800
+9/30/2018 4:57:43 PM,1255.805,0,7900
+9/30/2018 4:57:45 PM,1255.805,0,8000
+9/30/2018 4:57:47 PM,1255.805,0,8100
+9/30/2018 4:57:49 PM,1255.805,0,8200
+9/30/2018 4:57:51 PM,1255.805,0,8300
+9/30/2018 4:57:53 PM,1255.805,0,8400
+9/30/2018 4:57:55 PM,1255.805,0,8500
+9/30/2018 4:57:58 PM,1255.805,0,8600
+9/30/2018 4:58:01 PM,1255.805,0,8700
+9/30/2018 4:58:03 PM,1255.805,0,8800
+9/30/2018 4:58:05 PM,1255.805,0,8900
+9/30/2018 4:58:08 PM,1255.805,0,9000
+9/30/2018 4:58:11 PM,1255.805,0,9100
+9/30/2018 4:58:13 PM,1255.805,0,9200
+9/30/2018 4:58:15 PM,1255.805,0,9300
+9/30/2018 4:58:17 PM,1255.805,0,9400
+9/30/2018 4:58:19 PM,1255.805,0,9500
+9/30/2018 4:58:20 PM,1255.805,0,9600
+9/30/2018 4:58:22 PM,1255.805,0,9700
+9/30/2018 4:58:23 PM,1255.805,0,9800
+9/30/2018 4:58:25 PM,1255.805,0,9900
+9/30/2018 4:58:27 PM,1255.805,0,10000
+9/30/2018 4:58:30 PM,1255.805,0,10100
+9/30/2018 4:58:32 PM,1255.805,0,10200
+9/30/2018 4:58:35 PM,1255.805,0,10300
+9/30/2018 4:58:37 PM,1255.805,0,10400
+9/30/2018 4:58:40 PM,1255.805,0,10500
+9/30/2018 4:58:42 PM,1255.805,0,10600
+9/30/2018 4:58:44 PM,1255.811,0,10700
+9/30/2018 4:58:46 PM,1255.811,0,10800
+9/30/2018 4:58:48 PM,1255.811,0,10900
+9/30/2018 4:58:50 PM,1255.817,0,11000
+9/30/2018 4:58:53 PM,1255.817,0,11100
+9/30/2018 4:58:55 PM,1255.817,0,11200
+9/30/2018 4:58:58 PM,1255.82,0,11300
+9/30/2018 4:59:00 PM,1255.82,0,11400
+9/30/2018 4:59:03 PM,1255.824,0,11500
+9/30/2018 4:59:06 PM,1255.824,0,11600
+9/30/2018 4:59:08 PM,1255.824,0,11700
+9/30/2018 4:59:11 PM,1255.827,0,11800
+9/30/2018 4:59:14 PM,1255.827,0,11900
+9/30/2018 4:59:16 PM,1255.827,0,12000
+9/30/2018 4:59:18 PM,1251.729,0,12100
+9/30/2018 4:59:21 PM,1252.655,0,12200
+9/30/2018 4:59:23 PM,1256.715,0,12300
+9/30/2018 4:59:26 PM,1256.719,0,12400
+9/30/2018 4:59:28 PM,1256.719,0,12500
+9/30/2018 4:59:31 PM,1256.727,0,12600
+9/30/2018 4:59:33 PM,1256.735,0,12700
+9/30/2018 4:59:36 PM,1257.727,0,12800
+9/30/2018 4:59:38 PM,1257.729,0,12900
+9/30/2018 4:59:41 PM,1257.735,0,13000
+9/30/2018 4:59:42 PM,1257.795,0,13100
+9/30/2018 4:59:44 PM,1257.795,0,13200
+9/30/2018 4:59:47 PM,1257.795,0,13300
+9/30/2018 4:59:48 PM,1257.795,0,13400
+9/30/2018 4:59:50 PM,1257.795,0,13500
+9/30/2018 4:59:52 PM,1257.795,0,13600
+9/30/2018 4:59:54 PM,1257.795,0,13700
+9/30/2018 4:59:56 PM,1257.797,0,13800
+9/30/2018 4:59:59 PM,1263.726,0,13900
+9/30/2018 5:00:02 PM,1263.726,0,14000
+9/30/2018 5:00:04 PM,1252.672,0,14100
+9/30/2018 5:00:07 PM,1255.719,0,14200
+9/30/2018 5:00:09 PM,1255.719,0,14300
+9/30/2018 5:00:11 PM,1255.749,0,14400
+9/30/2018 5:00:13 PM,1255.749,0,14500
+9/30/2018 5:00:15 PM,1255.75,0,14600
+9/30/2018 5:00:17 PM,1255.75,0,14700
+9/30/2018 5:00:20 PM,1255.756,0,14800
+9/30/2018 5:00:22 PM,1255.765,0,14900
+9/30/2018 5:00:24 PM,1255.781,0,15000
+9/30/2018 5:00:27 PM,1255.781,0,15100
+9/30/2018 5:00:29 PM,1255.802,0,15200
+9/30/2018 5:00:32 PM,1255.807,0,15300
+9/30/2018 5:00:34 PM,1255.812,0,15400
+9/30/2018 5:00:37 PM,1255.812,0,15500
+9/30/2018 5:00:39 PM,1255.812,0,15600
+9/30/2018 5:00:42 PM,1255.812,0,15700
+9/30/2018 5:00:44 PM,1255.812,0,15800
+9/30/2018 5:00:46 PM,1255.812,0,15900
+9/30/2018 5:00:49 PM,1255.812,0,16000
+9/30/2018 5:00:51 PM,1255.812,0,16100
+9/30/2018 5:00:54 PM,1255.812,0,16200
+9/30/2018 5:00:57 PM,1255.812,0,16300
+9/30/2018 5:00:59 PM,1255.812,0,16400
+9/30/2018 5:01:02 PM,1255.812,0,16500
+9/30/2018 5:01:04 PM,1255.812,0,16600
+9/30/2018 5:01:07 PM,1255.812,0,16700
+9/30/2018 5:01:09 PM,1255.812,0,16800
+9/30/2018 5:01:12 PM,1255.822,0,16900
+9/30/2018 5:01:15 PM,1255.822,0,17000
+9/30/2018 5:01:18 PM,1255.822,0,17100
+9/30/2018 5:01:21 PM,1255.822,0,17200
+9/30/2018 5:01:23 PM,1255.822,0,17300
+9/30/2018 5:01:25 PM,1255.822,0,17400
+9/30/2018 5:01:28 PM,1255.822,0,17500
+9/30/2018 5:01:31 PM,1255.822,0,17600
+9/30/2018 5:01:33 PM,1255.822,0,17700
+9/30/2018 5:01:36 PM,1255.822,0,17800
+9/30/2018 5:01:39 PM,1255.822,0,17900
+9/30/2018 5:01:42 PM,1255.822,0,18000
+9/30/2018 5:01:44 PM,1255.822,0,18100
+9/30/2018 5:01:46 PM,1255.822,0,18200
+9/30/2018 5:01:49 PM,1255.822,0,18300
+9/30/2018 5:01:51 PM,1255.822,0,18400
+9/30/2018 5:01:52 PM,1302.413,0,18500
diff --git a/Results/string-length/output.exe b/Results/string-length/output.exe
new file mode 100644
index 0000000..8aa0716
Binary files /dev/null and b/Results/string-length/output.exe differ
diff --git a/Results/string-length/string-length-1.png b/Results/string-length/string-length-1.png
new file mode 100644
index 0000000..fec2ec4
Binary files /dev/null and b/Results/string-length/string-length-1.png differ