Repository: incubator-edgent-website
Updated Branches:
  refs/heads/asf-site da863a762 -> b92976088


from bfa4d7c81810d8f6a09904781b1b9610ce613831


Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/commit/b9297608
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/tree/b9297608
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/diff/b9297608

Branch: refs/heads/asf-site
Commit: b929760888b5a7187d011669cc02c60113aaa43d
Parents: da863a7
Author: Queenie Ma <[email protected]>
Authored: Mon Jan 23 10:37:48 2017 -0800
Committer: Queenie Ma <[email protected]>
Committed: Mon Jan 23 10:37:48 2017 -0800

----------------------------------------------------------------------
 content/404.html                                |   2 +-
 content/algolia_search.json                     |   4 +-
 content/docs/committers.html                    |   2 +-
 content/docs/common-edgent-operations.html      |   2 +-
 content/docs/community.html                     |   2 +-
 content/docs/console.html                       |   2 +-
 content/docs/downloads.html                     |  10 +--
 content/docs/edgent-getting-started.html        |  74 ++++++++++++++-----
 content/docs/edgent_index.html                  |   2 +-
 content/docs/faq.html                           |   2 +-
 content/docs/home.html                          |   2 +-
 content/docs/images/Build_Path_Jars.JPG         | Bin 157003 -> 87322 bytes
 content/docs/images/New_Java_Project.JPG        | Bin 80080 -> 103655 bytes
 content/docs/overview.html                      |   2 +-
 content/docs/quickstart.html                    |   2 +-
 content/docs/samples.html                       |   2 +-
 content/docs/search.html                        |   2 +-
 content/docs/streaming-concepts.html            |   2 +-
 content/docs/tag_collaboration.html             |   2 +-
 content/docs/tag_content_types.html             |   2 +-
 content/docs/tag_formatting.html                |   2 +-
 content/docs/tag_getting_started.html           |   2 +-
 content/docs/tag_mobile.html                    |   2 +-
 content/docs/tag_navigation.html                |   2 +-
 content/docs/tag_publishing.html                |   2 +-
 content/docs/tag_single_sourcing.html           |   2 +-
 content/docs/tag_special_layouts.html           |   2 +-
 content/index.html                              |   5 +-
 .../recipe_adaptable_deadtime_filter.html       |   2 +-
 .../recipes/recipe_adaptable_filter_range.html  |   2 +-
 .../recipe_adaptable_polling_source.html        |   2 +-
 ...pe_combining_streams_processing_results.html |   2 +-
 .../recipes/recipe_concurrent_analytics.html    |   2 +-
 ...ipe_different_processing_against_stream.html |   2 +-
 .../recipe_dynamic_analytic_control.html        |   2 +-
 .../recipes/recipe_external_filter_range.html   |   2 +-
 content/recipes/recipe_hello_edgent.html        |   2 +-
 content/recipes/recipe_parallel_analytics.html  |   2 +-
 content/recipes/recipe_source_function.html     |   2 +-
 content/recipes/recipe_value_out_of_range.html  |   2 +-
 content/recipes/recipe_writing_a_connector.html |   2 +-
 content/titlepage.html                          |   4 +-
 content/tocpage.html                            |   2 +-
 43 files changed, 104 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index 316c3bf..d8ffe06 100644
--- a/content/404.html
+++ b/content/404.html
@@ -690,7 +690,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 2bd439e..7adad08 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -65,7 +65,7 @@
 "keywords": "",
 "url": "../docs/downloads",
 "summary": "",
-"body": "Official Apache Edgent releases are available for download from the 
ASF distribution site. A release consists of a source code bundle and a 
convenience binary bundle. See the table below for a release's download 
links.If you just want to use Edgent, it is easiest to download and unpack a 
binary bundle. The bundle includes the release's javadoc. The javadoc is also 
accessible online. For more information, please refer to the [Getting started 
guide](edgent-getting-started)A source bundle contains a README describing how 
to build the sources.If you want to access the latest unreleased Edgent source 
or to contribute to the Edgent runtime development, use the [GitHub 
repository]({{  site.data.project.source_repository_mirror }}). You can also 
select a particular release version by release tag (e.g., 1.0.0-incubating). 
See README.md and DEVELOPMENT.md in the repository for more information.See 
[community](community.html) for more information about contributing to Edgent 
developme
 nt.## Apache Edgent ReleasesInformation about verifying the integrity of a 
bundle can be found at the bottom of the bundle's download page.Download the 
[KEYS]({{ site.data.downloads.edgent_keys_file_location }}) file for verifying 
a bundle's PGP signature.| Version           | Date           | Bundles | 
Release Notes | Docs | PGP | MD5 | SHA   
||:-----------------:|:--------------:|:-------:|:-------------:|:----:|:---:|:---:|:-----:||
 1.0.0-incubating  | 2016-12-15     | [Source]({{ 
site.data.downloads.edgent_1-0-0_dist_location }}) | [1.0.0 Release]({{ 
site.data.downloads.edgent_1-0-0_release_note }}) | [JavaDoc]({{ 
site.data.downloads.edgent_1-0-0_doc_location }}) | [ASC]({{ 
site.data.downloads.edgent_1-0-0_asc_location  }}) | [MD5]({{  
site.data.downloads.edgent_1-0-0_md5_location }}) | [SHA]({{  
site.data.downloads.edgent_1-0-0_sha_location }}) ||                   |        
        | [Binary]({{ site.data.downloads.edgent_1-0-0_bin_dist_location }}) | 
| | [ASC]({{ site.data.dow
 nloads.edgent_1-0-0_bin_asc_location  }}) | [MD5]({{  
site.data.downloads.edgent_1-0-0_bin_md5_location }}) | [SHA]({{  
site.data.downloads.edgent_1-0-0_bin_sha_location }}) |"
+"body": "Official Apache Edgent releases are available for download from the 
ASF distribution site. A release consists of a source code bundle and a 
convenience binary bundle. See the table below for a release's download 
links.If you just want to use Edgent, it is easiest to download and unpack a 
binary bundle. The bundle includes the release's Javadoc. The Javadoc is also 
accessible online. For more information, please refer to the [Getting started 
guide](edgent-getting-started).A source bundle contains a README describing how 
to build the sources.If you want to access the latest unreleased Edgent source 
or contribute to the Edgent runtime development, use the [GitHub repository]({{ 
 site.data.project.source_repository_mirror }}). You can also select a 
particular release version by release tag (e.g., 1.0.0-incubating). See 
[README.md](https://github.com/apache/incubator-edgent/blob/master/README.md) 
and 
[DEVELOPMENT.md](https://github.com/apache/incubator-edgent/blob/master/DEVELOP
 MENT.md) in the repository for more information.See the [community](community) 
page for more information about contributing to Edgent development.## Apache 
Edgent ReleasesInformation about verifying the integrity of a bundle can be 
found at the bottom of the bundle's download page.Download the [KEYS]({{ 
site.data.downloads.edgent_keys_file_location }}) file for verifying a bundle's 
PGP signature.| Version           | Date           | Bundles | Release Notes | 
Docs | PGP | MD5 | SHA   
||:-----------------:|:--------------:|:-------:|:-------------:|:----:|:---:|:---:|:-----:||
 1.0.0-incubating  | 2016-12-15     | [Source]({{ 
site.data.downloads.edgent_1-0-0_dist_location }}) | [1.0.0 Release]({{ 
site.data.downloads.edgent_1-0-0_release_note }}) | [Javadoc]({{ 
site.data.downloads.edgent_1-0-0_doc_location }}) | [ASC]({{ 
site.data.downloads.edgent_1-0-0_asc_location  }}) | [MD5]({{  
site.data.downloads.edgent_1-0-0_md5_location }}) | [SHA]({{  
site.data.downloads.edgent_1-0-0_sha_locat
 ion }}) ||                   |                | [Binary]({{ 
site.data.downloads.edgent_1-0-0_bin_dist_location }}) | | | [ASC]({{ 
site.data.downloads.edgent_1-0-0_bin_asc_location  }}) | [MD5]({{  
site.data.downloads.edgent_1-0-0_bin_md5_location }}) | [SHA]({{  
site.data.downloads.edgent_1-0-0_bin_sha_location }}) |"
 
 },
 
@@ -78,7 +78,7 @@
 "keywords": "",
 "url": "../docs/edgent-getting-started",
 "summary": "",
-"body": "## What is Apache Edgent?Edgent is an open source programming model 
and runtime for edge devices that enables you to analyze streaming data on your 
edge devices. When you analyze on the edge, you can:* Reduce the amount of data 
that you transmit to your analytics server* Reduce the amount of data that you 
storeFor more information, see the [Edgent overview](home).### Apache Edgent 
and streaming analyticsThe fundamental building block of an Edgent application 
is a **stream**: a continuous sequence of tuples (messages, events, sensor 
readings, and so on).The Edgent API provides the ability to process or analyze 
each tuple as it appears on a stream, resulting in a derived stream.Source 
streams are streams that originate data for analysis, such as readings from a 
device's temperature sensor.Streams are terminated using sink functions that 
can perform local device control or send information to centralized analytic 
systems through a message hub.Edgent's primary API is functional
  where streams are sourced, transformed, analyzed or sinked though functions, 
typically represented as lambda expressions, such as `reading -> reading  80` 
to filter temperature readings in Fahrenheit.### Downloading Apache EdgentTo 
use Edgent you need the Edgent jars. You can either download the Edgent source 
and build it or you can download a pre-built version of Edgent. See the 
[download page]({{ site.data.project.download }}).After you have the Edgent 
jars, you can set up your environment.### Setting up your environmentEnsure 
that you are running a supported environment. For more information, see the 
[Edgent overview](home). This guide assumes you're running Java 8.The Edgent 
Java 8 JAR files are located in the `edgent/java8/lib` directory.1. Create a 
new Java project in Eclipse, and specify Java 8 as the execution environment 
JRE:    2. Modify the Java build path to include all of the JAR files in the 
`edgent\\java8\\lib` directory:    Your environment is set up! You can start 
 writing your first Edgent application.## Creating a simple applicationIf 
you're new to Edgent or to writing streaming applications, the best way to get 
started is to write a simple program.Edgent is a framework that pushes data 
analytics and machine learning to *edge devices*. (Edge devices include things 
like routers, gateways, machines, equipment, sensors, appliances, or vehicles 
that are connected to a network.) Edgent enables you to process data 
locally&mdash;such as, in a car engine, on an Android phone, or Raspberry 
Pi&mdash;before you send data over a network.For example, if your device takes 
temperature readings from a sensor 1,000 times per second, it is more efficient 
to process the data locally and send only interesting or unexpected results 
over the network. To simulate this, let's define a (simulated) TempSensor 
class:```javaimport java.util.Random;import 
org.apache.edgent.function.Supplier;/** * Every time get() is called, 
TempSensor generates a temperature reading. */
 public class TempSensor implements Supplier {    double currentTemp = 65.0;    
Random rand;    TempSensor(){        rand = new Random();    }    @Override    
public Double get() {        // Change the current temperature some random 
amount        double newTemp = rand.nextGaussian() + currentTemp;        
currentTemp = newTemp;        return currentTemp;    }}```Every time you call 
`TempSensor.get()`, it returns a new temperature reading. The continuous 
temperature readings are a stream of data that an Edgent application can 
process.Our sample Edgent application processes this stream by filtering the 
data and printing the results. Let's define a TempSensorApplication class for 
the application:```javaimport java.util.concurrent.TimeUnit;import 
org.apache.edgent.providers.direct.DirectProvider;import 
org.apache.edgent.topology.TStream;import 
org.apache.edgent.topology.Topology;public class TempSensorApplication {    
public static void main(String[] args) throws Exception {        TempS
 ensor sensor = new TempSensor();        DirectProvider dp = new 
DirectProvider();        Topology topology = dp.newTopology();        TStream 
tempReadings = topology.poll(sensor, 1, TimeUnit.MILLISECONDS);        TStream 
filteredReadings = tempReadings.filter(reading -> reading  80);        
filteredReadings.print();        dp.submit(topology);    }}```To understand how 
the application processes the stream, let's review each line.### Specifying a 
providerYour first step when you write an Edgent application is to create a 
[`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name 
}}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new 
DirectProvider();```A `Provider` is an object that contains information on how 
and where your Edgent application will run. A `DirectProvider` is a type of 
Provider that runs your application directly within the current virtual machine 
when its `submit()` method is called.### Creating a topologyAdditionally 
 a Provider is used to create a [`Topology`]({{ site.docsurl 
}}/index.html?org/apache/{{ site.data.project.unix_name 
}}/topology/Topology.html) instance:```javaTopology topology = 
dp.newTopology();```In Edgent, `Topology` is a container that describes the 
structure of your application:* Where the streams in the application come from* 
How the data in the stream is modifiedIn the TempSensor application above, we 
have exactly one data source: the `TempSensor` object. We define the source 
stream by calling `topology.poll()`, which takes both a `Supplier` function and 
a time parameter to indicate how frequently readings should be taken. In our 
case, we read from the sensor every millisecond:```javaTStream tempReadings = 
topology.poll(sensor, 1, TimeUnit.MILLISECONDS);```### Defining the `TStream` 
objectCalling `topology.poll()` to define a source stream creates a `TStream` 
instance, which represents the series of readings taken from the temperature 
sensor.A streaming application can run i
 ndefinitely, so the `TStream` might see an arbitrarily large number of 
readings pass through it. Because a `TStream` represents the flow of your data, 
it supports a number of operations which allow you to modify your data.### 
Filtering a `TStream`In our example, we want to filter the stream of 
temperature readings, and remove any \"uninteresting\" or expected 
readings&mdash;specifically readings which are above 50 degrees and below 80 
degrees. To do this, we call the `TStream`'s `filter` method and pass in a 
function that returns *true* if the data is interesting and *false* if the data 
is uninteresting:```javaTStream filteredReadings = tempReadings.filter(reading 
-> reading  80);```As you can see, the function that is passed to `filter` 
operates on each tuple individually. Unlike data streaming frameworks like 
[Apache Spark](https://spark.apache.org/), which operate on a collection of 
data in batch mode, Edgent achieves low latency processing by manipulating each 
piece of data as s
 oon as it becomes available. Filtering a `TStream` produces another `TStream` 
that contains only the filtered tuples; for example, the `filteredReadings` 
stream.### Printing to outputWhen our application detects interesting data 
(data outside of the expected parameters), we want to print results. You can do 
this by calling the `TStream.print()` method, which prints using  `.toString()` 
on each tuple that passes through the 
stream:```javafilteredReadings.print();```Unlike `TStream.filter()`, 
`TStream.print()` does not produce another `TStream`. This is because 
`TStream.print()` is a **sink**, which represents the terminus of a stream.In 
addition to `TStream.print()` there are other sink operations that send tuples 
to an MQTT server, JDBC connection, file, or Kafka cluster. Additionally, you 
can define your own sink by invoking `TStream.sink()` and passing in your own 
function.### Submitting your applicationNow that your application has been 
completely declared, the final step is to r
 un your application.`DirectProvider` contains a `submit()` method, which runs 
your application directly within the current virtual 
machine:```javadp.submit(topology);```After you run your program, you should 
see output containing only \"interesting\" data coming from your 
sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.400819234155236...```As
 you can see, all temperatures are outside the 50-80 degree range. In terms of 
a real-world application, this would prevent a device from sending superfluous 
data over a network, thereby reducing communication costs.## Further 
examplesThis example demonstrates a small piece of Edgent's functionality. 
Edgent supports more complicated topologies, such as topologies that require 
merging and splitting data streams, or perform operations which aggregate the 
last *N* seconds of data (for example, calculating a moving average).For more 
complex examples, see:* [Edgent sample programs](samples)* [Stream processing 
conce
 pts](streaming-concepts)* [Common Edgent operations](common-edgent-operations)"
+"body": "## What is Apache Edgent?Edgent is an open source programming model 
and runtime for edge devices that enables you to analyze streaming data on your 
edge devices. When you analyze on the edge, you can:* Reduce the amount of data 
that you transmit to your analytics server* Reduce the amount of data that you 
storeFor more information, see the [Edgent overview](home).### Apache Edgent 
and streaming analyticsThe fundamental building block of an Edgent application 
is a **stream**: a continuous sequence of tuples (messages, events, sensor 
readings, and so on).The Edgent API provides the ability to process or analyze 
each tuple as it appears on a stream, resulting in a derived stream.Source 
streams are streams that originate data for analysis, such as readings from a 
device's temperature sensor.Streams are terminated using sink functions that 
can perform local device control or send information to centralized analytic 
systems through a message hub.Edgent's primary API is functional
  where streams are sourced, transformed, analyzed or sinked though functions, 
typically represented as lambda expressions, such as `reading -> reading  80` 
to filter temperature readings in Fahrenheit.### Downloading Apache EdgentTo 
use Edgent, you need the Edgent JAR files, which you may obtain by completing 
the following steps.1. Locate the Edgent release you would like to use on the 
[downloads page]({{ site.data.project.download }})2. In the Bundles column for 
the desired release:    * Click on the _Binary_ link if you simply want to use 
Edgent. This is the easiest method is to get up and running as it contains a 
pre-built version of Edgent.    * Click on the _Source_ link if you would like 
access to the Edgent source files. If you choose this method, you must manually 
build Edgent yourself.3. Download the .tgz file from one of the mirror sites4. 
Unpack the downloaded file: `tar zxvf apache-edgent-X.X.X-incubating-XXX.tgz`5. 
Obtain the JARs    * If you are using a binary bundle, 
 then the Java 8 JARs are located in `edgent-X.X.X/java8`    * If you are using 
a source bundle, build the source code:        1. Install 
[Gradle](https://gradle.org/) if it is not yet installed        2. Navigate to 
the unpacked directory: `cd edgent-X.X.X-src`        3. Run `gradle` to 
initialize the Gradle wrapper        4. Build the code and Javadoc: `./gradlew 
assemble`        5. The Java 8 JARs are located in 
`edgent-X.X.X-src/build/distributions/java8`### Setting up your 
environmentEnsure that you are running a supported environment. For more 
information, see the [Edgent overview](home). This guide assumes you're running 
Java 8. The Edgent Java 8 JAR files are located in either the 
`edgent-X.X.X/java8` or `edgent-X.X.X-src/build/distributions/java8` directory, 
depending on whether you downloaded a binary or source bundle.1. Create a new 
Java project in Eclipse, and specify Java 8 as the execution environment JRE:   
 2. Include one or more Edgent JARs in your project's build pa
 th depending on what features your application uses:    1. Include one or more 
of the topology providers:        * 
`java8/lib/edgent.providers.development.jar` (if using the 
[DevelopmentProvider]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/providers/development/DevelopmentProvider.html)) 
       * `java8/lib/edgent.providers.direct.jar`(if using the 
[DirectProvider]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name 
}}/providers/direct/DirectProvider.html))        * 
`java8/lib/edgent.providers.iot.jar` (if using the [IotProvider]({{ 
site.docsurl }}/org/apache/{{ site.data.project.unix_name 
}}/providers/iot/IotProvider.html))    2. Include the JARs for any Edgent 
connectors or analytic features you use in `java8/connectors` and 
`java8/analytics`, respectively    3. Include the JARs for any Edgent utility 
features you use:        * `java8/utils/metrics/lib/edgent.utils.metrics.jar` 
(for the [org.apache.edgent.metrics]({{ site.docsurl }}/org/apache/{{ site.
 data.project.unix_name }}/metrics/package-summary.html) package)        * 
`java8/utils/streamscope/lib/edgent.utils.streamscope.jar` (for the 
[org.apache.edgent.streamscope]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/streamscope/package-summary.html) package)    4. 
Include the JAR for the 
[java.util.logging](https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html)
 framework for [SLF4J](https://www.slf4j.org/): 
`java8/ext/slf4j-jdk14-X.X.X.jar`    Your environment is set up! You can start 
writing your first Edgent application.## Creating a simple applicationIf you're 
new to Edgent or to writing streaming applications, the best way to get started 
is to write a simple program.Edgent is a framework that pushes data analytics 
and machine learning to *edge devices*. (Edge devices include things like 
routers, gateways, machines, equipment, sensors, appliances, or vehicles that 
are connected to a network.) Edgent enables you to process data loca
 lly&mdash;such as, in a car engine, on an Android phone, or on a Raspberry 
Pi&mdash;before you send data over a network.For example, if your device takes 
temperature readings from a sensor 1,000 times per second, it is more efficient 
to process the data locally and send only interesting or unexpected results 
over the network. To simulate this, let's define a (simulated) TempSensor 
class:```javaimport java.util.Random;import 
org.apache.edgent.function.Supplier;/** * Every time get() is called, 
TempSensor generates a temperature reading. */public class TempSensor 
implements Supplier {    double currentTemp = 65.0;    Random rand;    
TempSensor(){        rand = new Random();    }    @Override    public Double 
get() {        // Change the current temperature some random amount        
double newTemp = rand.nextGaussian() + currentTemp;        currentTemp = 
newTemp;        return currentTemp;    }}```Every time you call 
`TempSensor.get()`, it returns a new temperature reading. The continu
 ous temperature readings are a stream of data that an Edgent application can 
process.Our sample Edgent application processes this stream by filtering the 
data and printing the results. Let's define a TempSensorApplication class for 
the application:```javaimport java.util.concurrent.TimeUnit;import 
org.apache.edgent.providers.direct.DirectProvider;import 
org.apache.edgent.topology.TStream;import 
org.apache.edgent.topology.Topology;public class TempSensorApplication {    
public static void main(String[] args) throws Exception {        TempSensor 
sensor = new TempSensor();        DirectProvider dp = new DirectProvider();     
   Topology topology = dp.newTopology();        TStream tempReadings = 
topology.poll(sensor, 1, TimeUnit.MILLISECONDS);        TStream 
filteredReadings = tempReadings.filter(reading -> reading  80);        
filteredReadings.print();        dp.submit(topology);    }}```To understand how 
the application processes the stream, let's review each line.### Specifying a 
pro
 viderYour first step when you write an Edgent application is to create a 
[`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name 
}}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new 
DirectProvider();```A `Provider` is an object that contains information on how 
and where your Edgent application will run. A `DirectProvider` is a type of 
Provider that runs your application directly within the current virtual machine 
when its [`submit()`]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name 
}}/providers/direct/DirectProvider.html#submit-org.apache.{{ 
site.data.project.unix_name }}.topology.Topology-) method is called.### 
Creating a topologyAdditionally, a Provider is used to create a [`Topology`]({{ 
site.docsurl }}/index.html?org/apache/{{ site.data.project.unix_name 
}}/topology/Topology.html) instance:```javaTopology topology = 
dp.newTopology();```In Edgent, `Topology` is a container that describes the 
structure of your appl
 ication:* Where the streams in the application come from* How the data in the 
stream is modifiedIn the TempSensorApplication class above, we have exactly one 
data source: the `TempSensor` object. We define the source stream by calling 
[`topology.poll()`]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/topology/Topology.html#poll-org.apache.{{ 
site.data.project.unix_name 
}}.function.Supplier-long-java.util.concurrent.TimeUnit-), which takes both a 
[`Supplier`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name }}/function/Supplier.html) function and a time 
parameter to indicate how frequently readings should be taken. In our case, we 
read from the sensor every millisecond:```javaTStream tempReadings = 
topology.poll(sensor, 1, TimeUnit.MILLISECONDS);```### Defining the `TStream` 
objectCalling `topology.poll()` to define a source stream creates a `TStream` 
instance, which represents the series of readings taken from the temperature 
sensor.A streamin
 g application can run indefinitely, so the [`TStream`]({{ site.docsurl 
}}/index.html?org/apache/{{ site.data.project.unix_name 
}}/topology/TStream.html) might see an arbitrarily large number of readings 
pass through it. Because a `TStream` represents the flow of your data, it 
supports a number of operations which allow you to modify your data.### 
Filtering a `TStream`In our example, we want to filter the stream of 
temperature readings, and remove any \"uninteresting\" or expected 
readings&mdash;specifically readings which are above 50 degrees and below 80 
degrees. To do this, we call the `TStream`'s [`filter`]({{ site.docsurl 
}}/org/apache/{{ site.data.project.unix_name 
}}/topology/TStream.html#filter-org.apache.{{ site.data.project.unix_name 
}}.function.Predicate-) method and pass in a function that returns *true* if 
the data is interesting and *false* if the data is uninteresting:```javaTStream 
filteredReadings = tempReadings.filter(reading -> reading  80);```As you can 
see, the f
 unction that is passed to `filter` operates on each tuple individually. Unlike 
data streaming frameworks like [Apache Spark](https://spark.apache.org/), which 
operate on a collection of data in batch mode, Edgent achieves low latency 
processing by manipulating each piece of data as soon as it becomes available. 
Filtering a `TStream` produces another `TStream` that contains only the 
filtered tuples; for example, the `filteredReadings` stream.### Printing to 
outputWhen our application detects interesting data (data outside of the 
expected parameters), we want to print results. You can do this by calling the 
[`TStream.print()`]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/topology/TStream.html#print--) method, which 
prints using  `.toString()` on each tuple that passes through the 
stream:```javafilteredReadings.print();```Unlike `TStream.filter()`, 
`TStream.print()` does not produce another `TStream`. This is because 
`TStream.print()` is a **sink**, which represents 
 the terminus of a stream.In addition to `TStream.print()` there are other sink 
operations that send tuples to an MQTT server, JDBC connection, file, or Kafka 
cluster. Additionally, you can define your own sink by invoking 
[`TStream.sink()`]({{ site.docsurl }}/org/apache/{{ site.data.project.unix_name 
}}/topology/TStream.html#sink-org.apache.{{ site.data.project.unix_name 
}}.function.Consumer-) and passing in your own function.### Submitting your 
applicationNow that your application has been completely declared, the final 
step is to run your application.`DirectProvider` contains a `submit()` method, 
which runs your application directly within the current virtual 
machine:```javadp.submit(topology);```After you run your program, you should 
see output containing only \"interesting\" data coming from your 
sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.400819234155236...```As
 you can see, all temperatures are outside the 50-80 degree range. In terms of 
 a real-world application, this would prevent a device from sending superfluous 
data over a network, thereby reducing communication costs.## Further 
examplesThis example demonstrates a small piece of Edgent's functionality. 
Edgent supports more complicated topologies, such as topologies that require 
merging and splitting data streams, or perform operations which aggregate the 
last *N* seconds of data (for example, calculating a moving average).For more 
complex examples, see:* [Edgent sample programs](samples)* [Stream processing 
concepts](streaming-concepts)* [Common Edgent 
operations](common-edgent-operations)"
 
 },
 

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index bf7b166..1eeec43 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -702,7 +702,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/common-edgent-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-edgent-operations.html 
b/content/docs/common-edgent-operations.html
index 6997132..a216d18 100644
--- a/content/docs/common-edgent-operations.html
+++ b/content/docs/common-edgent-operations.html
@@ -735,7 +735,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index 47ae23d..dc337a1 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -756,7 +756,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 36f83f7..16c32cc 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -1161,7 +1161,7 @@ Metrics.rateMeter(individualAlerts3.get(0));
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/downloads.html
----------------------------------------------------------------------
diff --git a/content/docs/downloads.html b/content/docs/downloads.html
index 6107e26..9f78810 100644
--- a/content/docs/downloads.html
+++ b/content/docs/downloads.html
@@ -659,13 +659,13 @@ $('#toc').on('click', 'a', function() {
     
   <p>Official Apache Edgent releases are available for download from the ASF 
distribution site. A release consists of a source code bundle and a convenience 
binary bundle. See the table below for a release&#39;s download links.</p>
 
-<p>If you just want to use Edgent, it is easiest to download and unpack a 
binary bundle. The bundle includes the release&#39;s javadoc. The javadoc is 
also accessible online. For more information, please refer to the <a 
href="edgent-getting-started">Getting started guide</a></p>
+<p>If you just want to use Edgent, it is easiest to download and unpack a 
binary bundle. The bundle includes the release&#39;s Javadoc. The Javadoc is 
also accessible online. For more information, please refer to the <a 
href="edgent-getting-started">Getting started guide</a>.</p>
 
 <p>A source bundle contains a README describing how to build the sources.</p>
 
-<p>If you want to access the latest unreleased Edgent source or to contribute 
to the Edgent runtime development, use the <a 
href="https://github.com/apache/incubator-edgent";>GitHub repository</a>. You 
can also select a particular release version by release tag (e.g., 
1.0.0-incubating). See README.md and DEVELOPMENT.md in the repository for more 
information.</p>
+<p>If you want to access the latest unreleased Edgent source or contribute to 
the Edgent runtime development, use the <a 
href="https://github.com/apache/incubator-edgent";>GitHub repository</a>. You 
can also select a particular release version by release tag (e.g., 
1.0.0-incubating). See <a 
href="https://github.com/apache/incubator-edgent/blob/master/README.md";>README.md</a>
 and <a 
href="https://github.com/apache/incubator-edgent/blob/master/DEVELOPMENT.md";>DEVELOPMENT.md</a>
 in the repository for more information.</p>
 
-<p>See <a href="community.html">community</a> for more information about 
contributing to Edgent development.</p>
+<p>See the <a href="community">community</a> page for more information about 
contributing to Edgent development.</p>
 
 <h2 id="apache-edgent-releases">Apache Edgent Releases</h2>
 
@@ -690,7 +690,7 @@ $('#toc').on('click', 'a', function() {
 <td style="text-align: center">2016-12-15</td>
 <td style="text-align: center"><a 
href="https://www.apache.org/dyn/closer.cgi/incubator/edgent/1.0.0-incubating";>Source</a></td>
 <td style="text-align: center"><a 
href="https://github.com/apache/incubator-edgent/blob/1.0.0-incubating/RELEASE_NOTES";>1.0.0
 Release</a></td>
-<td style="text-align: center"><a 
href="https://edgent.incubator.apache.org/javadoc/r1.0.0/index.html";>JavaDoc</a></td>
+<td style="text-align: center"><a 
href="https://edgent.incubator.apache.org/javadoc/r1.0.0/index.html";>Javadoc</a></td>
 <td style="text-align: center"><a 
href="https://www.apache.org/dist/incubator/edgent/1.0.0-incubating/apache-edgent-1.0.0-incubating-src.tgz.asc";>ASC</a></td>
 <td style="text-align: center"><a 
href="https://www.apache.org/dist/incubator/edgent/1.0.0-incubating/apache-edgent-1.0.0-incubating-src.tgz.md5";>MD5</a></td>
 <td style="text-align: center"><a 
href="https://www.apache.org/dist/incubator/edgent/1.0.0-incubating/apache-edgent-1.0.0-incubating-src.tgz.sha";>SHA</a></td>
@@ -738,7 +738,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/edgent-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent-getting-started.html 
b/content/docs/edgent-getting-started.html
index 8236875..96851b0 100644
--- a/content/docs/edgent-getting-started.html
+++ b/content/docs/edgent-getting-started.html
@@ -682,23 +682,63 @@ $('#toc').on('click', 'a', function() {
 
 <h3 id="downloading-apache-edgent">Downloading Apache Edgent</h3>
 
-<p>To use Edgent you need the Edgent jars. You can either download the Edgent 
source and build it or you can download a pre-built version of Edgent. See the 
<a href="downloads">download page</a>.</p>
+<p>To use Edgent, you need the Edgent JAR files, which you may obtain by 
completing the following steps.</p>
 
-<p>After you have the Edgent jars, you can set up your environment.</p>
+<ol>
+<li>Locate the Edgent release you would like to use on the <a 
href="downloads">downloads page</a></li>
+<li>In the Bundles column for the desired release:
 
-<h3 id="setting-up-your-environment">Setting up your environment</h3>
+<ul>
+<li>Click on the <em>Binary</em> link if you simply want to use Edgent. This 
is the easiest method is to get up and running as it contains a pre-built 
version of Edgent.</li>
+<li>Click on the <em>Source</em> link if you would like access to the Edgent 
source files. If you choose this method, you must manually build Edgent 
yourself.</li>
+</ul></li>
+<li>Download the .tgz file from one of the mirror sites</li>
+<li>Unpack the downloaded file: <code>tar zxvf 
apache-edgent-X.X.X-incubating-XXX.tgz</code></li>
+<li>Obtain the JARs
+
+<ul>
+<li>If you are using a binary bundle, then the Java 8 JARs are located in 
<code>edgent-X.X.X/java8</code></li>
+<li>If you are using a source bundle, build the source code:
+
+<ol>
+<li>Install <a href="https://gradle.org/";>Gradle</a> if it is not yet 
installed</li>
+<li>Navigate to the unpacked directory: <code>cd edgent-X.X.X-src</code></li>
+<li>Run <code>gradle</code> to initialize the Gradle wrapper</li>
+<li>Build the code and Javadoc: <code>./gradlew assemble</code></li>
+<li>The Java 8 JARs are located in 
<code>edgent-X.X.X-src/build/distributions/java8</code></li>
+</ol></li>
+</ul></li>
+</ol>
 
-<p>Ensure that you are running a supported environment. For more information, 
see the <a href="home">Edgent overview</a>. This guide assumes you&#39;re 
running Java 8.</p>
+<h3 id="setting-up-your-environment">Setting up your environment</h3>
 
-<p>The Edgent Java 8 JAR files are located in the 
<code>edgent/java8/lib</code> directory.</p>
+<p>Ensure that you are running a supported environment. For more information, 
see the <a href="home">Edgent overview</a>. This guide assumes you&#39;re 
running Java 8. The Edgent Java 8 JAR files are located in either the 
<code>edgent-X.X.X/java8</code> or 
<code>edgent-X.X.X-src/build/distributions/java8</code> directory, depending on 
whether you downloaded a binary or source bundle.</p>
 
 <ol>
 <li><p>Create a new Java project in Eclipse, and specify Java 8 as the 
execution environment JRE:</p>
 
-<p><img src="images/New_Java_Project.JPG" 
style="width:448px;height:589px;"></p></li>
-<li><p>Modify the Java build path to include all of the JAR files in the 
<code>edgent\java8\lib</code> directory:</p>
+<p><img src="images/New_Java_Project.jpg"></p></li>
+<li><p>Include one or more Edgent JARs in your project&#39;s build path 
depending on what features your application uses:</p>
+
+<ol>
+<li>Include one or more of the topology providers:
+
+<ul>
+<li><code>java8/lib/edgent.providers.development.jar</code> (if using the <a 
href="/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html">DevelopmentProvider</a>)</li>
+<li><code>java8/lib/edgent.providers.direct.jar</code>(if using the <a 
href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html">DirectProvider</a>)</li>
+<li><code>java8/lib/edgent.providers.iot.jar</code> (if using the <a 
href="/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html">IotProvider</a>)</li>
+</ul></li>
+<li>Include the JARs for any Edgent connectors or analytic features you use in 
<code>java8/connectors</code> and <code>java8/analytics</code>, 
respectively</li>
+<li>Include the JARs for any Edgent utility features you use:
+
+<ul>
+<li><code>java8/utils/metrics/lib/edgent.utils.metrics.jar</code> (for the <a 
href="/javadoc/latest/org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a>
 package)</li>
+<li><code>java8/utils/streamscope/lib/edgent.utils.streamscope.jar</code> (for 
the <a 
href="/javadoc/latest/org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a>
 package)</li>
+</ul></li>
+<li>Include the JAR for the <a 
href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html";>java.util.logging</a>
 framework for <a href="https://www.slf4j.org/";>SLF4J</a>: 
<code>java8/ext/slf4j-jdk14-X.X.X.jar</code></li>
+</ol>
 
-<p><img src="images/Build_Path_Jars.JPG" 
style="width:660px;height:469px;"></p></li>
+<p><img src="images/Build_Path_JARs.jpg"></p></li>
 </ol>
 
 <p>Your environment is set up! You can start writing your first Edgent 
application.</p>
@@ -707,7 +747,7 @@ $('#toc').on('click', 'a', function() {
 
 <p>If you&#39;re new to Edgent or to writing streaming applications, the best 
way to get started is to write a simple program.</p>
 
-<p>Edgent is a framework that pushes data analytics and machine learning to 
<em>edge devices</em>. (Edge devices include things like routers, gateways, 
machines, equipment, sensors, appliances, or vehicles that are connected to a 
network.) Edgent enables you to process data locally&mdash;such as, in a car 
engine, on an Android phone, or Raspberry Pi&mdash;before you send data over a 
network.</p>
+<p>Edgent is a framework that pushes data analytics and machine learning to 
<em>edge devices</em>. (Edge devices include things like routers, gateways, 
machines, equipment, sensors, appliances, or vehicles that are connected to a 
network.) Edgent enables you to process data locally&mdash;such as, in a car 
engine, on an Android phone, or on a Raspberry Pi&mdash;before you send data 
over a network.</p>
 
 <p>For example, if your device takes temperature readings from a sensor 1,000 
times per second, it is more efficient to process the data locally and send 
only interesting or unexpected results over the network. To simulate this, 
let&#39;s define a (simulated) TempSensor class:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="kn">import</span> <span class="nn">java.util.Random</span><span 
class="o">;</span>
@@ -763,11 +803,11 @@ $('#toc').on('click', 'a', function() {
 <p>Your first step when you write an Edgent application is to create a <a 
href="/javadoc/latest/index.html?org/apache/edgent/providers/direct/DirectProvider.html"><code>DirectProvider</code></a>:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="n">DirectProvider</span> <span class="n">dp</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">DirectProvider</span><span class="o">();</span>
 </code></pre></div>
-<p>A <code>Provider</code> is an object that contains information on how and 
where your Edgent application will run. A <code>DirectProvider</code> is a type 
of Provider that runs your application directly within the current virtual 
machine when its <code>submit()</code> method is called.</p>
+<p>A <code>Provider</code> is an object that contains information on how and 
where your Edgent application will run. A <code>DirectProvider</code> is a type 
of Provider that runs your application directly within the current virtual 
machine when its <a 
href="/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-"><code>submit()</code></a>
 method is called.</p>
 
 <h3 id="creating-a-topology">Creating a topology</h3>
 
-<p>Additionally a Provider is used to create a <a 
href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html"><code>Topology</code></a>
 instance:</p>
+<p>Additionally, a Provider is used to create a <a 
href="/javadoc/latest/index.html?org/apache/edgent/topology/Topology.html"><code>Topology</code></a>
 instance:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="n">Topology</span> <span class="n">topology</span> <span 
class="o">=</span> <span class="n">dp</span><span class="o">.</span><span 
class="na">newTopology</span><span class="o">();</span>
 </code></pre></div>
 <p>In Edgent, <code>Topology</code> is a container that describes the 
structure of your application:</p>
@@ -777,30 +817,30 @@ $('#toc').on('click', 'a', function() {
 <li>How the data in the stream is modified</li>
 </ul>
 
-<p>In the TempSensor application above, we have exactly one data source: the 
<code>TempSensor</code> object. We define the source stream by calling 
<code>topology.poll()</code>, which takes both a <code>Supplier</code> function 
and a time parameter to indicate how frequently readings should be taken. In 
our case, we read from the sensor every millisecond:</p>
+<p>In the TempSensorApplication class above, we have exactly one data source: 
the <code>TempSensor</code> object. We define the source stream by calling <a 
href="/javadoc/latest/org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>topology.poll()</code></a>,
 which takes both a <a 
href="/javadoc/latest/index.html?org/apache/edgent/function/Supplier.html"><code>Supplier</code></a>
 function and a time parameter to indicate how frequently readings should be 
taken. In our case, we read from the sensor every millisecond:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="n">TStream</span><span class="o">&lt;</span><span 
class="n">Double</span><span class="o">&gt;</span> <span 
class="n">tempReadings</span> <span class="o">=</span> <span 
class="n">topology</span><span class="o">.</span><span 
class="na">poll</span><span class="o">(</span><span 
class="n">sensor</span><span class="o">,</span> <span class="mi">1</span><span 
class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span 
class="na">MILLISECONDS</span><span class="o">);</span>
 </code></pre></div>
 <h3 id="defining-the-tstream-object">Defining the <code>TStream</code> 
object</h3>
 
 <p>Calling <code>topology.poll()</code> to define a source stream creates a 
<code>TStream&lt;Double&gt;</code> instance, which represents the series of 
readings taken from the temperature sensor.</p>
 
-<p>A streaming application can run indefinitely, so the <code>TStream</code> 
might see an arbitrarily large number of readings pass through it. Because a 
<code>TStream</code> represents the flow of your data, it supports a number of 
operations which allow you to modify your data.</p>
+<p>A streaming application can run indefinitely, so the <a 
href="/javadoc/latest/index.html?org/apache/edgent/topology/TStream.html"><code>TStream</code></a>
 might see an arbitrarily large number of readings pass through it. Because a 
<code>TStream</code> represents the flow of your data, it supports a number of 
operations which allow you to modify your data.</p>
 
 <h3 id="filtering-a-tstream">Filtering a <code>TStream</code></h3>
 
-<p>In our example, we want to filter the stream of temperature readings, and 
remove any &quot;uninteresting&quot; or expected readings&mdash;specifically 
readings which are above 50 degrees and below 80 degrees. To do this, we call 
the <code>TStream</code>&#39;s <code>filter</code> method and pass in a 
function that returns <em>true</em> if the data is interesting and 
<em>false</em> if the data is uninteresting:</p>
+<p>In our example, we want to filter the stream of temperature readings, and 
remove any &quot;uninteresting&quot; or expected readings&mdash;specifically 
readings which are above 50 degrees and below 80 degrees. To do this, we call 
the <code>TStream</code>&#39;s <a 
href="/javadoc/latest/org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-"><code>filter</code></a>
 method and pass in a function that returns <em>true</em> if the data is 
interesting and <em>false</em> if the data is uninteresting:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="n">TStream</span><span class="o">&lt;</span><span 
class="n">Double</span><span class="o">&gt;</span> <span 
class="n">filteredReadings</span> <span class="o">=</span> <span 
class="n">tempReadings</span><span class="o">.</span><span 
class="na">filter</span><span class="o">(</span><span class="n">reading</span> 
<span class="o">-&gt;</span> <span class="n">reading</span> <span 
class="o">&lt;</span> <span class="mi">50</span> <span class="o">||</span> 
<span class="n">reading</span> <span class="o">&gt;</span> <span 
class="mi">80</span><span class="o">);</span>
 </code></pre></div>
 <p>As you can see, the function that is passed to <code>filter</code> operates 
on each tuple individually. Unlike data streaming frameworks like <a 
href="https://spark.apache.org/";>Apache Spark</a>, which operate on a 
collection of data in batch mode, Edgent achieves low latency processing by 
manipulating each piece of data as soon as it becomes available. Filtering a 
<code>TStream</code> produces another <code>TStream</code> that contains only 
the filtered tuples; for example, the <code>filteredReadings</code> stream.</p>
 
 <h3 id="printing-to-output">Printing to output</h3>
 
-<p>When our application detects interesting data (data outside of the expected 
parameters), we want to print results. You can do this by calling the 
<code>TStream.print()</code> method, which prints using  
<code>.toString()</code> on each tuple that passes through the stream:</p>
+<p>When our application detects interesting data (data outside of the expected 
parameters), we want to print results. You can do this by calling the <a 
href="/javadoc/latest/org/apache/edgent/topology/TStream.html#print--"><code>TStream.print()</code></a>
 method, which prints using  <code>.toString()</code> on each tuple that passes 
through the stream:</p>
 <div class="highlight"><pre><code class="language-java" data-lang="java"><span 
class="n">filteredReadings</span><span class="o">.</span><span 
class="na">print</span><span class="o">();</span>
 </code></pre></div>
 <p>Unlike <code>TStream.filter()</code>, <code>TStream.print()</code> does not 
produce another <code>TStream</code>. This is because 
<code>TStream.print()</code> is a <strong>sink</strong>, which represents the 
terminus of a stream.</p>
 
-<p>In addition to <code>TStream.print()</code> there are other sink operations 
that send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. 
Additionally, you can define your own sink by invoking 
<code>TStream.sink()</code> and passing in your own function.</p>
+<p>In addition to <code>TStream.print()</code> there are other sink operations 
that send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. 
Additionally, you can define your own sink by invoking <a 
href="/javadoc/latest/org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>TStream.sink()</code></a>
 and passing in your own function.</p>
 
 <h3 id="submitting-your-application">Submitting your application</h3>
 
@@ -862,7 +902,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/edgent_index.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent_index.html b/content/docs/edgent_index.html
index 2e393c3..c892579 100644
--- a/content/docs/edgent_index.html
+++ b/content/docs/edgent_index.html
@@ -715,7 +715,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index d058e54..7737ecd 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -772,7 +772,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index 10c84b6..a679115 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -777,7 +777,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/images/Build_Path_Jars.JPG
----------------------------------------------------------------------
diff --git a/content/docs/images/Build_Path_Jars.JPG 
b/content/docs/images/Build_Path_Jars.JPG
index 4290ba0..f7c1619 100644
Binary files a/content/docs/images/Build_Path_Jars.JPG and 
b/content/docs/images/Build_Path_Jars.JPG differ

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/images/New_Java_Project.JPG
----------------------------------------------------------------------
diff --git a/content/docs/images/New_Java_Project.JPG 
b/content/docs/images/New_Java_Project.JPG
index d80070f..c535c6d 100644
Binary files a/content/docs/images/New_Java_Project.JPG and 
b/content/docs/images/New_Java_Project.JPG differ

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 3f64fb5..6e22f34 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -762,7 +762,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 034d997..ed64203 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -732,7 +732,7 @@ and Edgent provides a <a 
href="/javadoc/latest/index.html?org/apache/edgent/conn
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index eb1a1ef..ee4913b 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -753,7 +753,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 67cbb37..80237d9 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -680,7 +680,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/streaming-concepts.html
----------------------------------------------------------------------
diff --git a/content/docs/streaming-concepts.html 
b/content/docs/streaming-concepts.html
index 59066b1..d9d3eb0 100644
--- a/content/docs/streaming-concepts.html
+++ b/content/docs/streaming-concepts.html
@@ -1441,7 +1441,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_collaboration.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_collaboration.html 
b/content/docs/tag_collaboration.html
index fa3cd3f..d82af42 100644
--- a/content/docs/tag_collaboration.html
+++ b/content/docs/tag_collaboration.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_content_types.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_content_types.html 
b/content/docs/tag_content_types.html
index 5dbe297..67b0e18 100644
--- a/content/docs/tag_content_types.html
+++ b/content/docs/tag_content_types.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_formatting.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_formatting.html b/content/docs/tag_formatting.html
index 5695c01..5429887 100644
--- a/content/docs/tag_formatting.html
+++ b/content/docs/tag_formatting.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_getting_started.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_getting_started.html 
b/content/docs/tag_getting_started.html
index de9a6a0..b3a1c13 100644
--- a/content/docs/tag_getting_started.html
+++ b/content/docs/tag_getting_started.html
@@ -792,7 +792,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_mobile.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_mobile.html b/content/docs/tag_mobile.html
index 7db0fb1..bd8c3eb 100644
--- a/content/docs/tag_mobile.html
+++ b/content/docs/tag_mobile.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_navigation.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_navigation.html b/content/docs/tag_navigation.html
index ab104cc..eb1d54e 100644
--- a/content/docs/tag_navigation.html
+++ b/content/docs/tag_navigation.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_publishing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_publishing.html b/content/docs/tag_publishing.html
index 0630b5c..46d4524 100644
--- a/content/docs/tag_publishing.html
+++ b/content/docs/tag_publishing.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_single_sourcing.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_single_sourcing.html 
b/content/docs/tag_single_sourcing.html
index 4c6668c..0f1605f 100644
--- a/content/docs/tag_single_sourcing.html
+++ b/content/docs/tag_single_sourcing.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/docs/tag_special_layouts.html
----------------------------------------------------------------------
diff --git a/content/docs/tag_special_layouts.html 
b/content/docs/tag_special_layouts.html
index f5348bc..b5d2b61 100644
--- a/content/docs/tag_special_layouts.html
+++ b/content/docs/tag_special_layouts.html
@@ -787,7 +787,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 3a40b5c..7898fe1 100644
--- a/content/index.html
+++ b/content/index.html
@@ -174,7 +174,6 @@
 
 -->
  <section id="services">
-
    <div class="content-section-b">
 
         <div class="container">
@@ -182,8 +181,8 @@
             <div class="row">
 
                 <div class="col-lg-5 col-sm-6">
-                     <img class="img-responsive center-block" 
src="http://blog.nycdatascience.com/wp-content/uploads/2016/11/meetuplogo1000.png";
 alt="">
-               </div>
+                      <img class="img-responsive center-block" 
src="http://blog.nycdatascience.com/wp-content/uploads/2016/11/meetuplogo1000.png";
 alt="">
+                </div>
 
                 <div class="col-lg-7 col-sm-6">
                     <h2 ><a 
href="https://www.meetup.com/SF-Data-Science/events/236682354/";>Meetup: 
Introduction to Apache Edgent at Galvanize</a></h2>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_adaptable_deadtime_filter.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_deadtime_filter.html 
b/content/recipes/recipe_adaptable_deadtime_filter.html
index bd363b5..93b5951 100644
--- a/content/recipes/recipe_adaptable_deadtime_filter.html
+++ b/content/recipes/recipe_adaptable_deadtime_filter.html
@@ -824,7 +824,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_adaptable_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_filter_range.html 
b/content/recipes/recipe_adaptable_filter_range.html
index 73d89dc..054f339 100644
--- a/content/recipes/recipe_adaptable_filter_range.html
+++ b/content/recipes/recipe_adaptable_filter_range.html
@@ -798,7 +798,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_adaptable_polling_source.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_adaptable_polling_source.html 
b/content/recipes/recipe_adaptable_polling_source.html
index f5a92fb..d0c7976 100644
--- a/content/recipes/recipe_adaptable_polling_source.html
+++ b/content/recipes/recipe_adaptable_polling_source.html
@@ -810,7 +810,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_combining_streams_processing_results.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_combining_streams_processing_results.html 
b/content/recipes/recipe_combining_streams_processing_results.html
index cbc96a2..cf75e4a 100644
--- a/content/recipes/recipe_combining_streams_processing_results.html
+++ b/content/recipes/recipe_combining_streams_processing_results.html
@@ -929,7 +929,7 @@ EMERGENCY! SEE TO PATIENT IMMEDIATELY!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_concurrent_analytics.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_concurrent_analytics.html 
b/content/recipes/recipe_concurrent_analytics.html
index a665d21..ea36b2d 100644
--- a/content/recipes/recipe_concurrent_analytics.html
+++ b/content/recipes/recipe_concurrent_analytics.html
@@ -856,7 +856,7 @@ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; 
barrier(10) -&gt; co
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_different_processing_against_stream.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_different_processing_against_stream.html 
b/content/recipes/recipe_different_processing_against_stream.html
index da76fc6..b54029e 100644
--- a/content/recipes/recipe_different_processing_against_stream.html
+++ b/content/recipes/recipe_different_processing_against_stream.html
@@ -878,7 +878,7 @@ Gallons of gas: 9.1
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_dynamic_analytic_control.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_dynamic_analytic_control.html 
b/content/recipes/recipe_dynamic_analytic_control.html
index 92f19fe..cd5c038 100644
--- a/content/recipes/recipe_dynamic_analytic_control.html
+++ b/content/recipes/recipe_dynamic_analytic_control.html
@@ -730,7 +730,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_external_filter_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_external_filter_range.html 
b/content/recipes/recipe_external_filter_range.html
index fc4fbf3..79f7bf3 100644
--- a/content/recipes/recipe_external_filter_range.html
+++ b/content/recipes/recipe_external_filter_range.html
@@ -792,7 +792,7 @@ optimalTempRange=[77.0..91.0]
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_hello_edgent.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_hello_edgent.html 
b/content/recipes/recipe_hello_edgent.html
index e4b490c..70de39e 100644
--- a/content/recipes/recipe_hello_edgent.html
+++ b/content/recipes/recipe_hello_edgent.html
@@ -746,7 +746,7 @@ Edgent!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_parallel_analytics.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_parallel_analytics.html 
b/content/recipes/recipe_parallel_analytics.html
index fb56747..9f6c932 100644
--- a/content/recipes/recipe_parallel_analytics.html
+++ b/content/recipes/recipe_parallel_analytics.html
@@ -845,7 +845,7 @@ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) 
-&gt; pipeline-ch1 -
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_source_function.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_source_function.html 
b/content/recipes/recipe_source_function.html
index c0ba31c..a065e10 100644
--- a/content/recipes/recipe_source_function.html
+++ b/content/recipes/recipe_source_function.html
@@ -761,7 +761,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_value_out_of_range.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_value_out_of_range.html 
b/content/recipes/recipe_value_out_of_range.html
index 337019f..d89bf32 100644
--- a/content/recipes/recipe_value_out_of_range.html
+++ b/content/recipes/recipe_value_out_of_range.html
@@ -874,7 +874,7 @@ Temperature may not be optimal! It is 77.5°F!
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/recipes/recipe_writing_a_connector.html
----------------------------------------------------------------------
diff --git a/content/recipes/recipe_writing_a_connector.html 
b/content/recipes/recipe_writing_a_connector.html
index 57ede25..ec7e73e 100644
--- a/content/recipes/recipe_writing_a_connector.html
+++ b/content/recipes/recipe_writing_a_connector.html
@@ -694,7 +694,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/titlepage.html
----------------------------------------------------------------------
diff --git a/content/titlepage.html b/content/titlepage.html
index 061b3e4..37fde32 100644
--- a/content/titlepage.html
+++ b/content/titlepage.html
@@ -660,7 +660,7 @@ $('#toc').on('click', 'a', function() {
       <div class="printTitleArea">
         <div class="printTitle"></div>
         <div class="printSubtitle"></div>
-        <div class="lastGeneratedDate">Last generated: January 10, 2017</div>
+        <div class="lastGeneratedDate">Last generated: January 23, 2017</div>
         <hr />
 
         <div class="printTitleImage">
@@ -707,7 +707,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/b9297608/content/tocpage.html
----------------------------------------------------------------------
diff --git a/content/tocpage.html b/content/tocpage.html
index 122f504..1483b71 100644
--- a/content/tocpage.html
+++ b/content/tocpage.html
@@ -901,7 +901,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Jan 10, 2017 <br/>
+            generated: Jan 23, 2017 <br/>
 
         </div>
     </div>

Reply via email to