http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/apis/streaming/tumbling-windows.svg
----------------------------------------------------------------------
diff --git a/docs/apis/streaming/tumbling-windows.svg 
b/docs/apis/streaming/tumbling-windows.svg
deleted file mode 100644
index 1857076..0000000
--- a/docs/apis/streaming/tumbling-windows.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg version="1.1" viewBox="0.0 0.0 800.0 600.0" fill="none" stroke="none" 
stroke-linecap="square" stroke-miterlimit="10" 
xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";><clipPath id="p.0"><path d="m0 
0l800.0 0l0 600.0l-800.0 0l0 -600.0z" clip-rule="nonzero"></path></clipPath><g 
clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l800.0 0l0 
600.0l-800.0 0z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m145.49606 485.0l509.0079 0" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" d="m145.49606 485.0l503.0079 0" 
fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" 
stroke-width="1.0" stroke-linecap="butt" d="m648.50397 486.65173l4.538086 
-1.6517334l-4.538086 -1.6517334z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m145.49606 485.0l0 -394.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" s
 troke-linejoin="round" stroke-linecap="butt" d="m145.49606 485.0l0 -388.99213" 
fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" 
stroke-width="1.0" stroke-linecap="butt" d="m147.1478 96.00787l-1.6517334 
-4.5380936l-1.6517334 4.5380936z" fill-rule="evenodd"></path><path 
fill="#000000" fill-opacity="0.0" d="m587.0 477.0l60.0 0l0 42.992126l-60.0 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m600.90625 
502.41998l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 
-1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 
-1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 
3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 
0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 
-0.078125zm1.5426636 -10.1875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 
11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.1292114 0l0 
-9.859375l1.5 0l0 1.390625q0.453125 
 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 
1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 
3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 
6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 
-0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 
0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 
-1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 
-1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 
2.0625l0 5.109375l-1.671875 0zm22.290771 -3.171875l1.71875 0.21875q-0.40625 1.5 
-1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 
-1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 
-3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 
1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 
0.921875 2.484375q0.828125 0.85
 9375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 
-1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 
-1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path 
fill="#000000" fill-opacity="0.0" d="m42.0 133.0l82.01575 0l0 
42.992126l-82.01575 0z" fill-rule="nonzero"></path><path fill="#000000" 
d="m58.703125 159.92l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 
-1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 
-1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 
1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 
1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 
-1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 
9.859375l-1.5 0zm3.2507172 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 
1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46
 875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 
-0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 
-0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 
0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 
-0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 
0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 
0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 
-0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 
0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 
1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 
0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 
0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 
-2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.75 -0.234375l1.71875 
0.21875q-0.40625 1.5 -1.515625 2.
 34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 
-1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 
-3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 
1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 
0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 
-0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 
0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 
-0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 
2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 
-1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 
1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 
0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 
1.953125l0 5.15625l-1.671875 0zm17.23973 0l-1.671875 0l0 -10.640625q-0.59375 
0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0
  -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 
-1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m42.0 254.0l82.01575 0l0 42.992126l-82.01575 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m58.703125 280.91998l0 
-1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 
-0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 
-0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 
1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 
1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 
-1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.2507172 -2.9375l1.65625 
-0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 
0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 
-0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 
-2.5625 -0.796875q-0.703125 -0.
 34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 
0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 
-0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 
0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 
0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 
-0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 
0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 
1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 
0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 
0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 
-2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.75 -0.234375l1.71875 
0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 
0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 
-3.734375q0 -2.484375 1.265625 -3.859375q1.28125 
 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 
3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 
2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 
-0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 
-0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.875l0 -9.859375l1.5 
0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 
-0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 
-1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 
0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm19.724106 
-1.609375l0 1.609375l-8.984375 0q-0.015625 -0.609375 0.1875 -1.15625q0.34375 
-0.921875 1.09375 -1.8125q0.765625 -0.890625 2.1875 -2.0625q2.21875 -1.8125 3.0 
-2.875q0.78125 -1.0625 0.78125 -2.015625q0 -0.984375 -0.71875 
-1.671875q-0.703125 -0.6875 -1.
 84375 -0.6875q-1.203125 0 -1.9375 0.734375q-0.71875 0.71875 -0.71875 
2.0l-1.71875 -0.171875q0.171875 -1.921875 1.328125 -2.921875q1.15625 -1.015625 
3.09375 -1.015625q1.953125 0 3.09375 1.09375q1.140625 1.078125 1.140625 
2.6875q0 0.8125 -0.34375 1.609375q-0.328125 0.78125 -1.109375 1.65625q-0.765625 
0.859375 -2.5625 2.390625q-1.5 1.265625 -1.9375 1.71875q-0.421875 0.4375 
-0.703125 0.890625l6.671875 0z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m42.0 375.0l82.01575 0l0 42.992126l-82.01575 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m58.703125 401.91998l0 
-1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 
-0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 
-0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 
1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 
1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 
-1.9375l0 -5.28125l1.
 671875 0l0 9.859375l-1.5 0zm3.2507172 -2.9375l1.65625 -0.265625q0.140625 1.0 
0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 
-0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 
-0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 
-0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 
0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 
-0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 
0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 
0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 
-0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 
0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 
1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 
0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 
0.734375 -1.40625 1.140625q-0.9218
 75 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 
-1.28125 -2.359375zm16.75 -0.234375l1.71875 0.21875q-0.40625 1.5 -1.515625 
2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 
-1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 
-3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 
1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 
0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 
-0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 
0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 
-0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 
2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 
-1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 
1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 
0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.8906
 25 -0.28125 1.953125l0 5.15625l-1.671875 0zm10.958481 -3.59375l1.671875 
-0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 
2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 
-1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 
-1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 
-0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 
-1.59375 -0.609375q-0.96875 0 -1.625 0.609375q-0.640625 0.609375 -0.828125 
1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 
2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 
1.296875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 
-1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 
2.1875q0 1.78125 -1.296875 3.015625q-1.296875 1.234375 -3.28125 
1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" 
fill-rule="nonzero"></path><path fi
 ll="#9900ff" d="m177.0 154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 
-9.496063l0 0c2.518509 0 4.9338684 1.000473 6.714737 2.7813263c1.7808533 
1.7808685 2.7813263 4.196228 2.7813263 6.714737l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m203.49606 
154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.518509 0 
4.9338684 1.000473 6.714737 2.7813263c1.7808533 1.7808685 2.7813263 4.196228 
2.7813263 6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 
0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m290.0 154.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.000473 6.7147217 2.7813263c1.7808533 1.7808685 2.7813416 4.196228 2.7813416 
6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 0 
-9.496063 -4.251526 -9.4960
 63 -9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m323.0 
154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 
0 4.9338684 1.000473 6.7147217 2.7813263c1.7808533 1.7808685 2.7813416 4.196228 
2.7813416 6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 
0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m348.0 154.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.000473 6.7147217 2.7813263c1.7808533 1.7808685 2.7813416 4.196228 2.7813416 
6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 0 
-9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m373.0 154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 
-9.496063l0 0c2.5185242 0 4.9338684 1.000473 6.7147217 2.7813263c1.7808533 
1.7808685 2.7813416 4.196228 2.7813416 6.714737l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.4
 96063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m442.50394 154.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.000473 6.7147217 2.7813263c1.7808533 1.7808685 2.7813416 4.196228 2.7813416 
6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 0 
-9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m469.0 154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 
-9.496063l0 0c2.5185242 0 4.9338684 1.000473 6.7147217 2.7813263c1.7808533 
1.7808685 2.7813416 4.196228 2.7813416 6.714737l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m492.50394 
154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 
0 4.9338684 1.000473 6.7147217 2.7813263c1.7808533 1.7808685 2.7813416 4.196228 
2.7813416
  6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 
0 -9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m524.0 154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496033 
-9.496063l0 0c2.5185547 0 4.933899 1.000473 6.7147827 2.7813263c1.7808228 
1.7808685 2.781311 4.196228 2.781311 6.714737l0 0c0 5.2445374 -4.251526 
9.496063 -9.496094 9.496063l0 0c-5.244507 0 -9.496033 -4.251526 -9.496033 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m603.0079 
154.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496094 -9.496063l0 0c2.5184937 
0 4.933838 1.000473 6.7147217 2.7813263c1.7808228 1.7808685 2.781311 4.196228 
2.781311 6.714737l0 0c0 5.2445374 -4.251526 9.496063 -9.496033 9.496063l0 
0c-5.244568 0 -9.496094 -4.251526 -9.496094 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m374.97638 275.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.0004883 6.7147217 2.781341
 6c1.7808533 1.7808533 2.7813416 4.1961975 2.7813416 6.7147217l0 0c0 5.2445374 
-4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 
-9.496063 -9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" 
d="m401.47244 275.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 
-9.496063l0 0c2.5185242 0 4.9338684 1.0004883 6.7147217 2.7813416c1.7808533 
1.7808533 2.7813416 4.1961975 2.7813416 6.7147217l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m209.0 
275.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.518509 0 
4.9338684 1.0004883 6.714737 2.7813416c1.7808533 1.7808533 2.7813263 4.1961975 
2.7813263 6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 
0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m242.0 275.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.
 496063l0 0c2.518509 0 4.9338684 1.0004883 6.7147217 2.7813416c1.7808533 
1.7808533 2.7813416 4.1961975 2.7813416 6.7147217l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m267.0 
275.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 
0 4.9338684 1.0004883 6.7147217 2.7813416c1.7808533 1.7808533 2.7813416 
4.1961975 2.7813416 6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 
9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m292.0 275.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.0004883 6.7147217 2.7813416c1.7808533 1.7808533 2.7813416 4.1961975 2.7813416 
6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 
0 -9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m568.48
 03 275.49606l0 0c0 -5.2445374 4.251587 -9.496063 9.496094 -9.496063l0 
0c2.5184937 0 4.933899 1.0004883 6.7147217 2.7813416c1.7808838 1.7808533 
2.781311 4.1961975 2.781311 6.7147217l0 0c0 5.2445374 -4.251526 9.496063 
-9.496033 9.496063l0 0c-5.244507 0 -9.496094 -4.251526 -9.496094 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m594.9764 275.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496033 -9.496063l0 0c2.5185547 0 4.933899 
1.0004883 6.7147827 2.7813416c1.7808228 1.7808533 2.781311 4.1961975 2.781311 
6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496094 9.496063l0 0c-5.244507 0 
-9.496033 -4.251526 -9.496033 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m618.4803 275.49606l0 0c0 -5.2445374 4.251587 -9.496063 
9.496094 -9.496063l0 0c2.5184937 0 4.933899 1.0004883 6.7147217 
2.7813416c1.7808838 1.7808533 2.781311 4.1961975 2.781311 6.7147217l0 0c0 
5.2445374 -4.251526 9.496063 -9.496033 9.496063l0 0c-5.244507 0 -9.496094 
-4.251526 -9.496094 -9.496063z" fi
 ll-rule="nonzero"></path><path fill="#9900ff" d="m477.0 275.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.0004883 6.7147217 2.7813416c1.7808533 1.7808533 2.7813416 4.1961975 2.7813416 
6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 
0 -9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m487.99213 396.49606l0 0c0 -5.2445374 4.251526 -9.496063 
9.496063 -9.496063l0 0c2.5185242 0 4.9338684 1.0004883 6.7147217 
2.7813416c1.7808533 1.7808533 2.7813416 4.1961975 2.7813416 6.7147217l0 0c0 
5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 
-4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" 
d="m514.48816 396.49606l0 0c0 -5.2445374 4.251587 -9.496063 9.496094 
-9.496063l0 0c2.5184937 0 4.933899 1.0004883 6.7147217 2.7813416c1.7808838 
1.7808533 2.781311 4.1961975 2.781311 6.7147217l0 0c0 5.2445374 -4.251526 
9.496063 -9.496033 9.4960
 63l0 0c-5.244507 0 -9.496094 -4.251526 -9.496094 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m185.76378 396.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.518509 0 4.9338684 
1.0004883 6.714737 2.7813416c1.7808533 1.7808533 2.7813263 4.1961975 2.7813263 
6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 
0 -9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m265.0 396.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 
-9.496063l0 0c2.5185242 0 4.9338684 1.0004883 6.7147217 2.7813416c1.7808533 
1.7808533 2.7813416 4.1961975 2.7813416 6.7147217l0 0c0 5.2445374 -4.251526 
9.496063 -9.496063 9.496063l0 0c-5.2445374 0 -9.496063 -4.251526 -9.496063 
-9.496063z" fill-rule="nonzero"></path><path fill="#9900ff" d="m291.49606 
396.49606l0 0c0 -5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 
0 4.9338684 1.0004883 6.7147217 2.7813416c1.7808533 1.7808533 2.7813416 
4.1961975 2.78134
 16 6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 
0c-5.2445374 0 -9.496063 -4.251526 -9.496063 -9.496063z" 
fill-rule="nonzero"></path><path fill="#9900ff" d="m315.0 396.49606l0 0c0 
-5.2445374 4.251526 -9.496063 9.496063 -9.496063l0 0c2.5185242 0 4.9338684 
1.0004883 6.7147217 2.7813416c1.7808533 1.7808533 2.7813416 4.1961975 2.7813416 
6.7147217l0 0c0 5.2445374 -4.251526 9.496063 -9.496063 9.496063l0 0c-5.2445374 
0 -9.496063 -4.251526 -9.496063 -9.496063z" fill-rule="nonzero"></path><path 
fill="#9900ff" d="m558.01575 396.49606l0 0c0 -5.2445374 4.251526 -9.496063 
9.496094 -9.496063l0 0c2.5184937 0 4.933838 1.0004883 6.7147217 
2.7813416c1.7808228 1.7808533 2.781311 4.1961975 2.781311 6.7147217l0 0c0 
5.2445374 -4.251526 9.496063 -9.496033 9.496063l0 0c-5.244568 0 -9.496094 
-4.251526 -9.496094 -9.496063z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m173.0 111.0l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" st
 roke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m173.0 111.0l0 354.99213" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m266.59973 110.00787l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m266.59973 110.00787l0 354.99213" fill-rule="nonzero"></path><path 
fill="#000000" fill-opacity="0.0" d="m360.19946 110.00787l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m360.19946 110.00787l0 354.99213" fill-rule="nonzero"></path><path 
fill="#000000" fill-opacity="0.0" d="m453.79922 110.00787l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m453.79922 110.00787l0 354.99213" fill-rule="nonzero"></path><path 
fill="#000000" 
 fill-opacity="0.0" d="m547.3989 111.0l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m547.3989 111.0l0 354.99213" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m640.99866 111.0l0 354.99213" 
fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" 
stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" 
d="m640.99866 111.0l0 354.99213" fill-rule="nonzero"></path><path 
fill="#000000" fill-opacity="0.0" d="m186.75 86.0l102.99213 0l0 
38.992126l-102.99213 0z" fill-rule="nonzero"></path><path fill="#000000" 
d="m197.84375 107.8l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 
1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 
3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 
6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 
5.1875l-1.203125 0zm8.3907
 78 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 
-6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 
0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 
0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 
0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 
-0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 
-0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 
-0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 -0.84375q-0.640625 1.0 
-1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 
-1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 
-0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 
0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 
0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 
0.640625q0.75 0 1.265625 -0.
 609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 
-0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 
1.96875zm6.2249756 -0.015625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 
-0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 
-0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 
0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 
-2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 
0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 
-1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 
-1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm7.8968506 3.375l-2.0625 
-6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 
-1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 
-1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 
-4.03125l-0.265625 -1.156
 25l-1.359375 5.1875l-1.203125 0zm16.07814 0l-1.140625 0l0 -7.28125q-0.421875 
0.390625 -1.09375 0.796875q-0.65625 0.390625 -1.1875 0.578125l0 
-1.109375q0.953125 -0.4375 1.671875 -1.078125q0.71875 -0.640625 1.015625 
-1.25l0.734375 0l0 9.34375z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m278.97604 86.0l102.99213 0l0 38.992126l-102.99213 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m290.0698 107.8l-2.0625 
-6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 
-1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 
-1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 
-4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm8.390778 -7.984375l0 
-1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 
0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 
-1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 
0.765625 0.
 578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 
4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 
-0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 
0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 
-0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 
-0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 
-1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 
-0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 
-3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 
1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 
-0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 
-0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm6.2249756 
-0.015625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 
2.265625 0.90625q0.
 890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 
-1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 
-0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 
1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 
-0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 
-1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 
1.9375zm7.8968506 3.375l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 
1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 
3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 
6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 
5.1875l-1.203125 0zm17.78128 -1.09375l0 1.09375l-6.15625 0q-0.015625 -0.40625 
0.140625 -0.796875q0.234375 -0.625 0.75 -1.234375q0.515625 -0.609375 1.5 
-1.40625q1.515625 -1.25 2.046875 -1.96875q0.53125 -0.734375 0.53125 -1.375q0 
-0.6875 -0.484
 375 -1.140625q-0.484375 -0.46875 -1.265625 -0.46875q-0.828125 0 -1.328125 
0.5q-0.484375 0.484375 -0.5 1.359375l-1.171875 -0.125q0.125 -1.3125 0.90625 
-2.0q0.78125 -0.6875 2.109375 -0.6875q1.34375 0 2.125 0.75q0.78125 0.734375 
0.78125 1.828125q0 0.5625 -0.234375 1.109375q-0.21875 0.53125 -0.75 
1.140625q-0.53125 0.59375 -1.765625 1.625q-1.03125 0.859375 -1.328125 
1.171875q-0.28125 0.3125 -0.46875 0.625l4.5625 0z" 
fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" 
d="m372.83102 86.0l102.99213 0l0 38.992126l-102.99213 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m383.92477 107.8l-2.0625 
-6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 
-1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 
-1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 
-4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm8.390778 -7.984375l0 
-1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375
 l1.140625 0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 
0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 
0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 
0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 
-0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 
-0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 
-0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 -0.84375q-0.640625 1.0 
-1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 
-1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 
-0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 
0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 
0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 
0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 
-0.53125 -2.03125q-0.53125 -0.656
 25 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 
1.96875zm6.2249756 -0.015625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 
-0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 
-0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 
0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 
-2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 
0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 
-1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 
-1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm7.8968506 3.375l-2.0625 
-6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 
-1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 
-1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 
-4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm11.7812805 
-2.453125l1.140625 -0.15625q0.203125 0
 .96875 0.671875 1.40625q0.46875 0.421875 1.15625 0.421875q0.796875 0 1.34375 
-0.546875q0.5625 -0.5625 0.5625 -1.390625q0 -0.796875 -0.515625 -1.296875q-0.5 
-0.515625 -1.296875 -0.515625q-0.328125 0 -0.8125 0.125l0.125 -1.0q0.125 
0.015625 0.1875 0.015625q0.734375 0 1.3125 -0.375q0.59375 -0.390625 0.59375 
-1.1875q0 -0.625 -0.4375 -1.03125q-0.421875 -0.421875 -1.09375 
-0.421875q-0.671875 0 -1.109375 0.421875q-0.4375 0.421875 -0.578125 
1.25l-1.140625 -0.203125q0.21875 -1.140625 0.953125 -1.765625q0.75 -0.640625 
1.84375 -0.640625q0.765625 0 1.40625 0.328125q0.640625 0.328125 0.984375 
0.890625q0.34375 0.5625 0.34375 1.203125q0 0.59375 -0.328125 1.09375q-0.328125 
0.5 -0.953125 0.78125q0.8125 0.203125 1.265625 0.796875q0.46875 0.59375 0.46875 
1.5q0 1.21875 -0.890625 2.078125q-0.890625 0.84375 -2.25 0.84375q-1.21875 0 
-2.03125 -0.734375q-0.8125 -0.734375 -0.921875 -1.890625z" 
fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" 
d="m467.55054 86.0l102.99213 0l0 38.992126l-102.99
 213 0z" fill-rule="nonzero"></path><path fill="#000000" d="m478.6443 
107.8l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 
-0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 
1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 
6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 
5.1875l-1.203125 0zm8.390778 -7.984375l0 -1.328125l1.140625 0l0 
1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 
0zm2.96109 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 
-1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 
0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 
4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 
-0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 
0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 
-0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.4
 84375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 
-1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 
-1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 
0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 
-3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 
1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 
-2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 
0.625 -0.5 1.96875zm6.2249756 -0.015625q0 -1.875 1.03125 -2.765625q0.875 -0.75 
2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 
1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 
-1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 
-2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 
0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 
-1.25 -0.578125 -1.890625q-
 0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 
0.640625 -0.5625 1.9375zm7.8968506 3.375l-2.0625 -6.734375l1.1875 0l1.078125 
3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 
-3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 
-3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 
-4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm15.4375 0l0 
-2.234375l-4.03125 0l0 -1.046875l4.234375 -6.03125l0.9375 0l0 6.03125l1.265625 
0l0 1.046875l-1.265625 0l0 2.234375l-1.140625 0zm0 -3.28125l0 -4.1875l-2.921875 
4.1875l2.921875 0z" fill-rule="nonzero"></path><path fill="#000000" 
fill-opacity="0.0" d="m559.92816 86.0l102.99213 0l0 38.992126l-102.99213 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m571.0219 107.8l-2.0625 
-6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 
-1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 
-1.296875l1.15625 -3.890625l1.109375
  0l-2.109375 6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 
-1.15625l-1.359375 5.1875l-1.203125 0zm8.390747 -7.984375l0 -1.328125l1.140625 
0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 
6.734375l-1.140625 0zm2.9611206 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 
-1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 
0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 
1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 
-1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 
-0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 
3.6875l-1.140625 0zm11.787476 0l0 -0.84375q-0.640625 1.0 -1.890625 
1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 
-0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 
1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 
0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1
 .0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 
1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 
-1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 
-1.28125 0.625q-0.5 0.625 -0.5 1.96875zm6.2249756 -0.015625q0 -1.875 1.03125 
-2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 
0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 
1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 
-0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 
0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 
0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 
-0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 
1.9375zm7.8968506 3.375l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 
1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 
3.90625l0.34375 1.28125l0
 .375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 
0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm11.78125 
-2.4375l1.1875 -0.109375q0.140625 0.890625 0.625 1.328125q0.484375 0.4375 
1.171875 0.4375q0.828125 0 1.390625 -0.625q0.578125 -0.625 0.578125 -1.640625q0 
-0.984375 -0.546875 -1.546875q-0.546875 -0.5625 -1.4375 -0.5625q-0.5625 0 
-1.015625 0.25q-0.4375 0.25 -0.6875 0.640625l-1.0625 -0.140625l0.890625 
-4.765625l4.625 0l0 1.078125l-3.703125 0l-0.5 2.5q0.828125 -0.578125 1.75 
-0.578125q1.21875 0 2.046875 0.84375q0.84375 0.84375 0.84375 2.171875q0 
1.265625 -0.734375 2.1875q-0.890625 1.125 -2.4375 1.125q-1.265625 0 -2.078125 
-0.703125q-0.796875 -0.71875 -0.90625 -1.890625z" 
fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m371.0 
446.0l72.0 0" fill-rule="nonzero"></path><path stroke="#000000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m374.4271 
446.0l65.14581 0" fill-rule="evenodd"></path><path f
 ill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" 
d="m374.4271 446.0l1.1245728 -1.1245728l-3.0897522 1.1245728l3.0897522 
1.1245728z" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" 
stroke-width="1.0" stroke-linecap="butt" d="m439.5729 446.0l-1.1245728 
1.1245728l3.0897522 -1.1245728l-3.0897522 -1.1245728z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m390.0 
515.0l10.015747 -57.007874" fill-rule="nonzero"></path><path stroke="#000000" 
stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m390.0 
515.0l8.977539 -51.09839" fill-rule="evenodd"></path><path fill="#000000" 
stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m400.6043 
464.18744l-0.8415222 -4.7554626l-2.4121094 4.1838074z" 
fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" 
d="m330.77167 507.0l123.40155 0l0 42.992126l-123.40155 0z" 
fill-rule="nonzero"></path><path fill="#000000" d="m342.8498 533.92l-3.015625 
-9.859375l1.71875
  0l1.5625 5.6875l0.59375 2.125q0.03125 -0.15625 0.5 -2.03125l1.578125 
-5.78125l1.71875 0l1.46875 5.71875l0.484375 1.890625l0.578125 -1.90625l1.6875 
-5.703125l1.625 0l-3.078125 9.859375l-1.734375 0l-1.578125 -5.90625l-0.375 
-1.671875l-2.0 7.578125l-1.734375 0zm11.660431 -11.6875l0 -1.90625l1.671875 0l0 
1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 
0zm4.1292114 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 
-1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 
0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 
-1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 
-1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 
2.578125l0 5.375l-1.671875 0zm16.766327 0l0 -1.25q-0.9375 1.46875 -2.75 
1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 
-1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 
-1.203125 1.46875 -1.8
 4375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 
0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 
-4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 
1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 
-2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 
0.90625q-0.75 0.90625 -0.75 2.859375zm8.641357 0q0 -2.734375 1.53125 
-4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 
1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 
1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 
-1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 
0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 
-2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 
-0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm11.110077 
4.921875l-3.01562
 5 -9.859375l1.71875 0l1.5625 5.6875l0.59375 2.125q0.03125 -0.15625 0.5 
-2.03125l1.578125 -5.78125l1.71875 0l1.46875 5.71875l0.484375 1.890625l0.578125 
-1.90625l1.6875 -5.703125l1.625 0l-3.078125 9.859375l-1.734375 0l-1.578125 
-5.90625l-0.375 -1.671875l-2.0 7.578125l-1.734375 0zm16.15625 -2.9375l1.65625 
-0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 
0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 
-0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 
-2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 
-0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 
-0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 
-0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 
0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 
-1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 
0.375 -0.484375 0.875q0 0.328125 0
 .203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 
0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 
0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 
0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 
-2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 -8.75l0 
-1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 
9.859375l-1.671875 0zm3.2542114 0l0 -1.359375l6.265625 -7.1875q-1.0625 0.046875 
-1.875 0.046875l-4.015625 0l0 -1.359375l8.046875 0l0 1.109375l-5.34375 
6.25l-1.015625 1.140625q1.109375 -0.078125 2.09375 -0.078125l4.5625 0l0 
1.4375l-8.71875 0zm16.953125 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 
2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 
-1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 
-3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 
1.34375 1.25 3.796875q0 0.140625 -0.015625 0.
 4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 
0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 
-1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 
-1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
0.78125q-0.78125 0.765625 -0.859375 2.046875z" 
fill-rule="nonzero"></path></g></svg>
-

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/apis/streaming/windows.md
----------------------------------------------------------------------
diff --git a/docs/apis/streaming/windows.md b/docs/apis/streaming/windows.md
deleted file mode 100644
index b9847a5..0000000
--- a/docs/apis/streaming/windows.md
+++ /dev/null
@@ -1,678 +0,0 @@
----
-title: "Windows"
-
-sub-nav-id: windows
-sub-nav-group: streaming
-sub-nav-pos: 4
----
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-Flink uses a concept called *windows* to divide a (potentially) infinite 
`DataStream` into finite
-slices based on the timestamps of elements or other criteria. This division is 
required when working
-with infinite streams of data and performing transformations that aggregate 
elements.
-
-<span class="label label-info">Info</span> We will mostly talk about *keyed 
windowing* here, i.e.
-windows that are applied on a `KeyedStream`. Keyed windows have the advantage 
that elements are
-subdivided based on both window and key before being given to
-a user function. The work can thus be distributed across the cluster
-because the elements for different keys can be processed independently. If you 
absolutely have to,
-you can check out [non-keyed windowing](#non-keyed-windowing) where we 
describe how non-keyed
-windows work.
-
-* This will be replaced by the TOC
-{:toc}
-
-## Basics
-
-For a windowed transformation you must at least specify a *key*
-(see [specifying keys](/apis/common/index.html#specifying-keys)),
-a *window assigner* and a *window function*. The *key* divides the infinite, 
non-keyed, stream
-into logical keyed streams while the *window assigner* assigns elements to 
finite per-key windows.
-Finally, the *window function* is used to process the elements of each window.
-
-The basic structure of a windowed transformation is thus as follows:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .<windowed transformation>(<window function>)
-{% endhighlight %}
-</div>
-</div>
-
-We will cover [window assigners](#window-assigners) in a separate section 
below.
-
-The window transformation can be one of `reduce()`, `fold()` or `apply()`. 
Which respectively
-takes a `ReduceFunction`, `FoldFunction` or `WindowFunction`. We describe each 
of these ways
-of specifying a windowed transformation in detail below: [window 
functions](#window-functions).
-
-For more advanced use cases you can also specify a `Trigger` that determines 
when exactly a window
-is being considered as *ready for processing*. These will be covered in more 
detail in
-[triggers](#triggers).
-
-## Window Assigners
-
-The window assigner specifies how elements of the stream are divided into 
finite slices. Flink comes
-with pre-implemented window assigners for the most typical use cases, namely 
*tumbling windows*,
-*sliding windows*, *session windows* and *global windows*, but you can 
implement your own by
-extending the `WindowAssigner` class. All the built-in window assigners, 
except for the global
-windows one, assign elements to windows based on time, which can either be 
processing time or event
-time. Please take a look at our section on [event 
time](/apis/streaming/event_time.html) for more
-information about how Flink deals with time.
-
-Let's first look at how each of these window assigners works before looking at 
how they can be used
-in a Flink program. We will be using abstract figures to visualize the 
workings of each assigner:
-in the following, the purple circles are elements of the stream, they are 
partitioned
-by some key (in this case *user 1*, *user 2* and *user 3*) and the x-axis 
shows the progress
-of time.
-
-### Global Windows
-
-Global windows are a way of specifying that we don't want to subdivide our 
elements into windows.
-Each element is assigned to one single per-key *global window*.
-This windowing scheme is only useful if you also specify a custom 
[trigger](#triggers). Otherwise,
-no computation is ever going to be performed, as the global window does not 
have a natural end at
-which we could process the aggregated elements.
-
-<img src="non-windowed.svg" class="center" style="width: 80%;" />
-
-### Tumbling Windows
-
-A *tumbling windows* assigner assigns elements to fixed length, 
non-overlapping windows of a
-specified *window size*.. For example, if you specify a window size of 5 
minutes, the window
-function will get 5 minutes worth of elements in each invocation.
-
-<img src="tumbling-windows.svg" class="center" style="width: 80%;" />
-
-### Sliding Windows
-
-The *sliding windows* assigner assigns elements to windows of fixed length 
equal to *window size*,
-as the tumbling windows assigner, but in this case, windows can be 
overlapping. The size of the
-overlap is defined by the user-specified parameter *window slide*. As windows 
are overlapping, an
-element can be assigned to multiple windows
-
-For example, you could have windows of size 10 minutes that slide by 5 
minutes. With this you get 10
-minutes worth of elements in each invocation of the window function and it 
will be invoked for every
-5 minutes of data.
-
-<img src="sliding-windows.svg" class="center" style="width: 80%;" />
-
-### Session Windows
-
-The *session windows* assigner is ideal for cases where the window boundaries 
need to adjust to the
-incoming data. Both the *tumbling windows* and *sliding windows* assigner 
assign elements to windows
-that start at fixed time points and have a fixed *window size*. With session 
windows it is possible
-to have windows that start at individual points in time for each key and that 
end once there has
-been a certain period of inactivity. The configuration parameter is the 
*session gap* that specifies
-how long to wait for new data before considering a session as closed.
-
-<img src="session-windows.svg" class="center" style="width: 80%;" />
-
-### Specifying a Window Assigner
-
-The built-in window assigners (except `GlobalWindows`) come in two versions. 
One for processing-time
-windowing and one for event-time windowing. The processing-time assigners 
assign elements to
-windows based on the current clock of the worker machines while the event-time 
assigners assign
-windows based on the timestamps of elements. Please have a look at
-[event time](/apis/streaming/event_time.html) to learn about the difference 
between processing time
-and event time and about how timestamps can be assigned to elements.
-
-The following code snippets show how each of the window assigners can be used 
in a program:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-// tumbling event-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
-    .<windowed transformation>(<window function>);
-
-// sliding event-time windows
-input
-    .keyBy(<key selector>)
-    .window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)))
-    .<windowed transformation>(<window function>);
-
-// event-time session windows
-input
-    .keyBy(<key selector>)
-    .window(EventTimeSessionWindows.withGap(Time.minutes(10)))
-    .<windowed transformation>(<window function>);
-
-// tumbling processing-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
-    .<windowed transformation>(<window function>);
-
-// sliding processing-time windows
-input
-    .keyBy(<key selector>)
-    .window(SlidingProcessingTimeWindows.of(Time.seconds(10), Time.seconds(5)))
-    .<windowed transformation>(<window function>);
-
-// processing-time session windows
-input
-    .keyBy(<key selector>)
-    .window(ProcessingTimeSessionWindows.withGap(Time.minutes(10)))
-    .<windowed transformation>(<window function>);
-
-// global windows
-input
-    .keyBy(<key selector>)
-    .window(GlobalWindows.create())
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-// tumbling event-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
-    .<windowed transformation>(<window function>)
-
-// sliding event-time windows
-input
-    .keyBy(<key selector>)
-    .window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)))
-    .<windowed transformation>(<window function>)
-
-// event-time session windows
-input
-    .keyBy(<key selector>)
-    .window(EventTimeSessionWindows.withGap(Time.minutes(10)))
-    .<windowed transformation>(<window function>)
-
-// tumbling processing-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
-    .<windowed transformation>(<window function>)
-
-// sliding processing-time windows
-input
-    .keyBy(<key selector>)
-    .window(SlidingProcessingTimeWindows.of(Time.seconds(10), Time.seconds(5)))
-    .<windowed transformation>(<window function>)
-
-// processing-time session windows
-input
-    .keyBy(<key selector>)
-    .window(ProcessingTimeSessionWindows.withGap(Time.minutes(10)))
-    .<windowed transformation>(<window function>)
-
-// global windows
-input
-    .keyBy(<key selector>)
-    .window(GlobalWindows.create())
-{% endhighlight %}
-</div>
-</div>
-
-Note, how we can specify a time interval by using one of 
`Time.milliseconds(x)`, `Time.seconds(x)`,
-`Time.minutes(x)`, and so on.
-
-The time-based window assigners also take an optional `offset` parameter that 
can be used to
-change the alignment of windows. For example, without offsets hourly windows 
are aligned
-with epoch, that is you will get windows such as `1:00 - 1:59`, `2:00 - 2:59` 
and so on. If you
-want to change that you can give an offset. With an offset of 15 minutes you 
would, for example,
-get `1:15 - 2:14`, `2:15 - 3:14` etc. Another important use case for offsets 
is when you
-want to have daily windows and live in a timezone other than UTC-0. For 
example, in China
-you would have to specify an offset of `Time.hours(-8)`.
-
-This example shows how an offset can be specified for tumbling event time 
windows (the other
-windows work accordingly):
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-// tumbling event-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-// tumbling event-time windows
-input
-    .keyBy(<key selector>)
-    .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
-    .<windowed transformation>(<window function>)
-{% endhighlight %}
-</div>
-</div>
-
-## Window Functions
-
-The *window function* is used to process the elements of each window (and key) 
once the system
-determines that a window is ready for processing (see [triggers](#triggers) 
for how the system
-determines when a window is ready).
-
-The window function can be one of `ReduceFunction`, `FoldFunction` or 
`WindowFunction`. The first
-two can be executed more efficiently because Flink can incrementally aggregate 
the elements for each
-window as they arrive. A `WindowFunction` gets an `Iterable` for all the 
elements contained in a
-window and additional meta information about the window to which the elements 
belong.
-
-A windowed transformation with a `WindowFunction` cannot be executed as 
efficiently as the other
-cases because Flink has to buffer *all* elements for a window internally 
before invoking the function.
-This can be mitigated by combining a `WindowFunction` with a `ReduceFunction` 
or `FoldFunction` to
-get both incremental aggregation of window elements and the additional 
information that the
-`WindowFunction` receives. We will look at examples for each of these variants.
-
-### ReduceFunction
-
-A reduce function specifies how two values can be combined to form one 
element. Flink can use this
-to incrementally aggregate the elements in a window.
-
-A `ReduceFunction` can be used in a program like this:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<Tuple2<String, Long>> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .reduce(new ReduceFunction<Tuple2<String, Long>> {
-      public Tuple2<String, Long> reduce(Tuple2<String, Long> v1, 
Tuple2<String, Long> v2) {
-        return new Tuple2<>(v1.f0, v1.f1 + v2.f1);
-      }
-    });
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[(String, Long)] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .reduce { (v1, v2) => (v1._1, v1._2 + v2._2) }
-{% endhighlight %}
-</div>
-</div>
-
-A `ReduceFunction` specifies how two elements from the input can be combined 
to produce
-an output element. This example will sum up the second field of the tuple for 
all elements
-in a window.
-
-### FoldFunction
-
-A fold function can be specified like this:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<Tuple2<String, Long>> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .fold("", new FoldFunction<Tuple2<String, Long>, String>> {
-       public String fold(String acc, Tuple2<String, Long> value) {
-         return acc + value.f1;
-       }
-    });
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[(String, Long)] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .fold("") { (acc, v) => acc + v._2 }
-{% endhighlight %}
-</div>
-</div>
-
-A `FoldFunction` specifies how elements from the input will be added to an 
initial
-accumulator value (`""`, the empty string, in our example). This example will 
compute
-a concatenation of all the `Long` fields of the input.
-
-### WindowFunction - The Generic Case
-
-Using a `WindowFunction` provides most flexibility, at the cost of 
performance. The reason for this
-is that elements cannot be incrementally aggregated for a window and instead 
need to be buffered
-internally until the window is considered ready for processing. A 
`WindowFunction` gets an
-`Iterable` containing all the elements of the window being processed. The 
signature of
-`WindowFunction` is this:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-public interface WindowFunction<IN, OUT, KEY, W extends Window> extends 
Function, Serializable {
-
-  /**
-   * Evaluates the window and outputs none or several elements.
-   *
-   * @param key The key for which this window is evaluated.
-   * @param window The window that is being evaluated.
-   * @param input The elements in the window being evaluated.
-   * @param out A collector for emitting elements.
-   *
-   * @throws Exception The function may throw exceptions to fail the program 
and trigger recovery.
-   */
-  void apply(KEY key, W window, Iterable<IN> input, Collector<OUT> out) throws 
Exception;
-}
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-public interface WindowFunction<IN, OUT, KEY, W extends Window> extends 
Function, Serializable {
-
-  /**
-   * Evaluates the window and outputs none or several elements.
-   *
-   * @param key The key for which this window is evaluated.
-   * @param window The window that is being evaluated.
-   * @param input The elements in the window being evaluated.
-   * @param out A collector for emitting elements.
-   *
-   * @throws Exception The function may throw exceptions to fail the program 
and trigger recovery.
-   */
-  void apply(KEY key, W window, Iterable<IN> input, Collector<OUT> out) throws 
Exception;
-}
-{% endhighlight %}
-</div>
-</div>
-
-Here we show an example that uses a `WindowFunction` to count the elements in 
a window. We do this
-because we want to access information about the window itself to emit it along 
with the count.
-This is very inefficient, however, and should be implemented with a
-`ReduceFunction` in practice. Below, we will see an example of how a 
`ReduceFunction` can
-be combined with a `WindowFunction` to get both incremental aggregation and 
the added
-information of a `WindowFunction`.
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<Tuple2<String, Long>> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(new MyWindowFunction());
-
-/* ... */
-
-public class MyWindowFunction implements WindowFunction<Tuple<String, Long>, 
String, String, TimeWindow> {
-
-  void apply(String key, TimeWindow window, Iterable<Tuple<String, Long>> 
input, Collector<String> out) {
-    long count = 0;
-    for (Tuple<String, Long> in: input) {
-      count++;
-    }
-    out.collect("Window: " + window + "count: " + count);
-  }
-}
-
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[(String, Long)] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(new MyWindowFunction())
-
-/* ... */
-
-class MyWindowFunction extends WindowFunction[(String, Long), String, String, 
TimeWindow] {
-
-  def apply(key: String, window: TimeWindow, input: Iterable[(String, Long)], 
out: Collector[String]): () = {
-    var count = 0L
-    for (in <- input) {
-      count = count + 1
-    }
-    out.collect(s"Window $window count: $count")
-  }
-}
-{% endhighlight %}
-</div>
-</div>
-
-### WindowFunction with Incremental Aggregation
-
-A `WindowFunction` can be combined with either a `ReduceFunction` or a 
`FoldFunction`. When doing
-this, the `ReduceFunction`/`FoldFunction` will be used to incrementally 
aggregate elements as they
-arrive while the `WindowFunction` will be provided with the aggregated result 
when the window is
-ready for processing. This allows to get the benefit of incremental window 
computation and also have
-the additional meta information that writing a `WindowFunction` provides.
-
-This is an example that shows how incremental aggregation functions can be 
combined with
-a `WindowFunction`.
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<Tuple2<String, Long>> input = ...;
-
-// for folding incremental computation
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(<initial value>, new MyFoldFunction(), new MyWindowFunction());
-
-// for reducing incremental computation
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(new MyReduceFunction(), new MyWindowFunction());
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[(String, Long)] = ...
-
-// for folding incremental computation
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(<initial value>, new MyFoldFunction(), new MyWindowFunction())
-
-// for reducing incremental computation
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .apply(new MyReduceFunction(), new MyWindowFunction())
-{% endhighlight %}
-</div>
-</div>
-
-## Dealing with Late Data
-
-When working with event-time windowing it can happen that elements arrive 
late, i.e the
-watermark that Flink uses to keep track of the progress of event-time is 
already past the
-end timestamp of a window to which an element belongs. Please
-see [event time](/apis/streaming/event_time.html) and especially
-[late elements](/apis/streaming/event_time.html#late-elements) for a more 
thorough discussion of
-how Flink deals with event time.
-
-You can specify how a windowed transformation should deal with late elements 
and how much lateness
-is allowed. The parameter for this is called *allowed lateness*. This 
specifies by how much time
-elements can be late. Elements that arrive within the allowed lateness are 
still put into windows
-and are considered when computing window results. If elements arrive after the 
allowed lateness they
-will be dropped. Flink will also make sure that any state held by the 
windowing operation is garbage
-collected once the watermark passes the end of a window plus the allowed 
lateness.
-
-<span class="label label-info">Default</span> By default, the allowed lateness 
is set to
-`0`. That is, elements that arrive behind the watermark will be dropped.
-
-You can specify an allowed lateness like this:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .allowedLateness(<time>)
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .allowedLateness(<time>)
-    .<windowed transformation>(<window function>)
-{% endhighlight %}
-</div>
-</div>
-
-<span class="label label-info">Note</span> When using the `GlobalWindows` 
window assigner no
-data is ever considered late because the end timestamp of the global window is 
`Long.MAX_VALUE`.
-
-## Triggers
-
-A `Trigger` determines when a window (as assigned by the `WindowAssigner`) is 
ready for being
-processed by the *window function*. The trigger observes how elements are 
added to windows
-and can also keep track of the progress of processing time and event time. 
Once a trigger
-determines that a window is ready for processing, it fires. This is the signal 
for the
-window operation to take the elements that are currently in the window and 
pass them along to
-the window function to produce output for the firing window.
-
-Each `WindowAssigner` (except `GlobalWindows`) comes with a default trigger 
that should be
-appropriate for most use cases. For example, `TumblingEventTimeWindows` has an 
`EventTimeTrigger` as
-default trigger. This trigger simply fires once the watermark passes the end 
of a window.
-
-You can specify the trigger to be used by calling `trigger()` with a given 
`Trigger`. The
-whole specification of the windowed transformation would then look like this:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .trigger(<trigger>)
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-input
-    .keyBy(<key selector>)
-    .window(<window assigner>)
-    .trigger(<trigger>)
-    .<windowed transformation>(<window function>)
-{% endhighlight %}
-</div>
-</div>
-
-Flink comes with a few triggers out-of-box: there is the already mentioned 
`EventTimeTrigger` that
-fires based on the progress of event-time as measured by the watermark, the 
`ProcessingTimeTrigger`
-does the same but based on processing time and the `CountTrigger` fires once 
the number of elements
-in a window exceeds the given limit.
-
-<span class="label label-danger">Attention</span> By specifying a trigger 
using `trigger()` you
-are overwriting the default trigger of a `WindowAssigner`. For example, if you 
specify a
-`CountTrigger` for `TumblingEventTimeWindows` you will no longer get window 
firings based on the
-progress of time but only by count. Right now, you have to write your own 
custom trigger if
-you want to react based on both time and count.
-
-The internal `Trigger` API is still considered experimental but you can check 
out the code
-if you want to write your own custom trigger:
-{% gh_link 
/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/triggers/Trigger.java
 "Trigger.java" %}.
-
-## Non-keyed Windowing
-
-You can also leave out the `keyBy()` when specifying a windowed 
transformation. This means, however,
-that Flink cannot process windows for different keys in parallel, essentially 
turning the
-transformation into a non-parallel operation.
-
-<span class="label label-danger">Warning</span> As mentioned in the 
introduction, non-keyed
-windows have the disadvantage that work cannot be distributed in the cluster 
because
-windows cannot be computed independently per key. This can have severe 
performance implications.
-
-
-The basic structure of a non-keyed windowed transformation is as follows:
-
-<div class="codetabs" markdown="1">
-<div data-lang="java" markdown="1">
-{% highlight java %}
-DataStream<T> input = ...;
-
-input
-    .windowAll(<window assigner>)
-    .<windowed transformation>(<window function>);
-{% endhighlight %}
-</div>
-
-<div data-lang="scala" markdown="1">
-{% highlight scala %}
-val input: DataStream[T] = ...
-
-input
-    .windowAll(<window assigner>)
-    .<windowed transformation>(<window function>)
-{% endhighlight %}
-</div>
-</div>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/apis/streaming_guide.md
----------------------------------------------------------------------
diff --git a/docs/apis/streaming_guide.md b/docs/apis/streaming_guide.md
deleted file mode 100644
index a09cf64..0000000
--- a/docs/apis/streaming_guide.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: DataStream API
----
-
-<meta http-equiv="refresh" content="1; url={{ site.baseurl 
}}/apis/streaming/index.html" />
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-The *DataStream API guide* has been moved. Redirecting to [{{ site.baseurl 
}}/apis/streaming/index.html]({{ site.baseurl }}/apis/streaming/index.html) in 
1 second.

Reply via email to