summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKore Nordmann <github@kore-nordmann.de>2006-09-06 14:46:41 +0000
committerKore Nordmann <github@kore-nordmann.de>2006-09-06 14:46:41 +0000
commit9f40ec30e4737262a2132dfa76dc0beba30fa795 (patch)
tree5ba5ae643af19c62548be81765c2fddabccc6487
parent3b131319615c8949013734a141ce3939ea4b614d (diff)
downloadzetacomponents-graph-9f40ec30e4737262a2132dfa76dc0beba30fa795.zip
zetacomponents-graph-9f40ec30e4737262a2132dfa76dc0beba30fa795.tar.gz
- Got average datasets working
-rw-r--r--src/charts/line.php5
-rw-r--r--src/datasets/average.php191
-rw-r--r--src/datasets/base.php118
-rw-r--r--tests/data/compare/ezcGraphDataSetAverageTest_testRenderCompleteLineChart.svg2
-rw-r--r--tests/dataset_average_test.php112
5 files changed, 385 insertions, 43 deletions
diff --git a/src/charts/line.php b/src/charts/line.php
index 0157be7..7286390 100644
--- a/src/charts/line.php
+++ b/src/charts/line.php
@@ -274,10 +274,7 @@ class ezcGraphLineChart extends ezcGraphChart
$element->nullPosition = $this->elements['xAxis']->getCoordinate( false );
break;
}
- if ( !$element->font instanceof ezcGraphFontOptions )
- {
- echo "Wrong font config: $name\n";
- }
+
$this->driver->options->font = $element->font;
$boundings = $element->render( $this->renderer, $boundings );
}
diff --git a/src/datasets/average.php b/src/datasets/average.php
index 2cc7f2e..0dc8f94 100644
--- a/src/datasets/average.php
+++ b/src/datasets/average.php
@@ -14,7 +14,7 @@
* @property int $polynomOrder
* Maximum order of polygon to interpolate from points
* @property int $resolution
- * Rsolution used to draw line in graph
+ * Resolution used to draw line in graph
*
* @package Graph
*/
@@ -25,6 +25,14 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet
protected $polynom = false;
+ protected $min = false;
+
+ protected $max = false;
+
+ protected $position = 0;
+
+ protected $properties;
+
/**
* Constructor
*
@@ -34,7 +42,9 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet
*/
public function __construct( ezcGraphDataSet $dataset )
{
- $this->properties['resolution'] = 5;
+ parent::__construct();
+
+ $this->properties['resolution'] = 100;
$this->properties['polynomOrder'] = 3;
$this->source = $dataset;
@@ -58,18 +68,58 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet
$this->properties['polynomOrder'] = (int) $propertyValue;
$this->polynom = false;
break;
+ case 'resolution':
+ $this->properties['polynomOrder'] = max( 1, (int) $propertyValue );
+ break;
default:
- throw new ezcBasePropertyNotFoundException( $propertyName );
+ parent::__set( $propertyName, $propertyValue );
break;
}
}
+
+ /**
+ * Property get access.
+ * Simply returns a given option.
+ *
+ * @param string $propertyName The name of the option to get.
+ * @return mixed The option value.
+ *
+ * @throws ezcBasePropertyNotFoundException
+ * If a the value for the property options is not an instance of
+ */
+ public function __get( $propertyName )
+ {
+ if ( isset( $this->properties[$propertyName] ) )
+ {
+ return $this->properties[$propertyName];
+ }
+ else
+ {
+ return parent::__get( $propertyName );
+ }
+ }
+ /**
+ * Build the polynom based on the given points.
+ *
+ * @return void
+ */
protected function buildPolynom()
{
$points = array();
foreach ( $this->source as $key => $value )
{
+ if ( ( $this->min === false ) || ( $this->min > $key ) )
+ {
+ $this->min = (float) $key;
+ }
+
+ if ( ( $this->max === false ) || ( $this->max < $key ) )
+ {
+ $this->max = (float) $key;
+ }
+
$points[] = new ezcGraphCoordinate( (float) $key, (float) $value );
}
@@ -95,6 +145,12 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet
$this->polynom = $left->solveNonlinearEquatation( $right );
}
+ /**
+ * Returns a polynom of the defined order witch matches the datapoints
+ * using the least squares algorithm.
+ *
+ * @return ezcGraphPolynom Polynom
+ */
public function getPolynom()
{
if ( $this->polynom === false )
@@ -104,5 +160,134 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet
return $this->polynom;
}
+
+ /**
+ * Get the x coordinate for the current position
+ *
+ * @param int $position Position
+ * @return float x coordinate
+ */
+ protected function getKey()
+ {
+ return $this->min +
+ ( $this->max - $this->min ) / $this->resolution * $this->position;
+ }
+
+ /**
+ * Returns true if the given datapoint exists
+ * Allows isset() using ArrayAccess.
+ *
+ * @param string $key The key of the datapoint to get.
+ * @return bool Wether the key exists.
+ */
+ public function offsetExists( $key )
+ {
+ return ( ( $key >= $this->min ) && ( $key <= $this->max ) );
+ }
+
+ /**
+ * Returns the value for the given datapoint
+ * Get an datapoint value by ArrayAccess.
+ *
+ * @param string $key The key of the datapoint to get.
+ * @return float The datapoint value.
+ */
+ public function offsetGet( $key )
+ {
+ $polynom = $this->getPolynom();
+ return $polynom->evaluate( $key );
+ }
+
+ /**
+ * Throws a ezcBasePropertyPermissionException because single datapoints
+ * cannot be set in average datasets.
+ *
+ * @param string $key The kex of a datapoint to set.
+ * @param float $value The value for the datapoint.
+ * @throws ezcBasePropertyPermissionException
+ * Always, because access is readonly.
+ * @return void
+ */
+ public function offsetSet( $key, $value )
+ {
+ throw new ezcBasePropertyPermissionException( $key, ezcBasePropertyPermissionException::READ );
+ }
+
+ /**
+ * Returns the currently selected datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return string The currently selected datapoint.
+ */
+ final public function current()
+ {
+ $polynom = $this->getPolynom();
+ return $polynom->evaluate( $this->getKey() );
+ }
+
+ /**
+ * Returns the next datapoint and selects it or false on the last datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return float datapoint if it exists, or false.
+ */
+ final public function next()
+ {
+ if ( ++$this->position >= $this->resolution )
+ {
+ return false;
+ }
+ else
+ {
+ return $this->current();
+ }
+ }
+
+ /**
+ * Returns the key of the currently selected datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return string The key of the currently selected datapoint.
+ */
+ final public function key()
+ {
+ return (string) $this->getKey();
+ }
+
+ /**
+ * Returns if the current datapoint is valid.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return bool If the current datapoint is valid
+ */
+ final public function valid()
+ {
+ return ( ( $this->getKey() >= $this->min ) && ( $this->getKey() <= $this->max ) );
+ }
+
+ /**
+ * Selects the very first datapoint and returns it.
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return float The very first datapoint.
+ */
+ final public function rewind()
+ {
+ $this->position = 0;
+ }
}
?>
diff --git a/src/datasets/base.php b/src/datasets/base.php
index 2f5fc92..8ab6e5d 100644
--- a/src/datasets/base.php
+++ b/src/datasets/base.php
@@ -16,28 +16,28 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
{
/**
- * labels for dataset and dataset elements
+ * labels for datapoint and datapoint elements
*
* @var ezcGraphDataSetStringProperty
*/
protected $label;
/**
- * Colors for dataset elements
+ * Colors for datapoint elements
*
* @var ezcGraphDataSetColorProperty
*/
protected $color;
/**
- * Symbols for dataset elements
+ * Symbols for datapoint elements
*
* @var ezcGraphDataSetIntProperty
*/
protected $symbol;
/**
- * Status if dataset element is hilighted
+ * Status if datapoint element is hilighted
*
* @var ezcGraphDataSetBooleanProperty
* @access protected
@@ -52,22 +52,22 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
protected $displayType;
/**
- * Array which contains the data of the dataset
+ * Array which contains the data of the datapoint
*
* @var array
*/
protected $data;
/**
- * Current dataset element
- * needed for iteration over dataset with ArrayAccess
+ * Current datapoint element
+ * needed for iteration over datapoint with ArrayAccess
*
* @var mixed
*/
protected $current;
/**
- * Color palette used for dataset colorization
+ * Color palette used for datapoint colorization
*
* @var ezcGraphPalette
*/
@@ -112,6 +112,16 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
}
}
+ /**
+ * Property get access.
+ * Simply returns a given option.
+ *
+ * @param string $propertyName The name of the option to get.
+ * @return mixed The option value.
+ *
+ * @throws ezcBasePropertyNotFoundException
+ * If a the value for the property options is not an instance of
+ */
public function __get( $propertyName )
{
if ( isset( $this->$propertyName ) ) {
@@ -124,46 +134,38 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
}
/**
- * Returns if an option exists.
+ * Returns true if the given datapoint exists
* Allows isset() using ArrayAccess.
*
- * @param string $key The name of the option to get.
- * @return bool Wether the option exists.
+ * @param string $key The key of the datapoint to get.
+ * @return bool Wether the key exists.
*/
- final public function offsetExists( $key )
+ public function offsetExists( $key )
{
return isset( $this->data[$key] );
}
/**
- * Returns an option value.
- * Get an option value by ArrayAccess.
+ * Returns the value for the given datapoint
+ * Get an datapoint value by ArrayAccess.
*
- * @param string $key The name of the option to get.
- * @return mixed The option value.
- *
- * @throws ezcBasePropertyNotFoundException
- * If a the value for the property options is not an instance of
+ * @param string $key The key of the datapoint to get.
+ * @return float The datapoint value.
*/
- final public function offsetGet( $key )
+ public function offsetGet( $key )
{
return $this->data[$key];
}
/**
- * Set an option.
- * Sets an option using ArrayAccess.
+ * Sets the value for a datapoint.
+ * Sets an datapoint using ArrayAccess.
*
- * @param string $key The option to set.
- * @param mixed $value The value for the option.
+ * @param string $key The kex of a datapoint to set.
+ * @param float $value The value for the datapoint.
* @return void
- *
- * @throws ezcBasePropertyNotFoundException
- * If a the value for the property options is not an instance of
- * @throws ezcBaseValueException
- * If a the value for a property is out of range.
*/
- final public function offsetSet( $key, $value )
+ public function offsetSet( $key, $value )
{
$this->data[$key] = (float) $value;
}
@@ -180,12 +182,21 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
* @throws ezcBaseValueException
* If a the value for a property is out of range.
*/
- final public function offsetUnset( $key )
+ public function offsetUnset( $key )
{
unset( $this->data[$key] );
}
- final public function current()
+ /**
+ * Returns the currently selected datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return string The currently selected datapoint.
+ */
+ public function current()
{
$keys = array_keys( $this->data );
if ( !isset( $this->current ) )
@@ -196,7 +207,16 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
return $this->data[$keys[$this->current]];
}
- final public function next()
+ /**
+ * Returns the next datapoint and selects it or false on the last datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return float datapoint if it exists, or false.
+ */
+ public function next()
{
$keys = array_keys( $this->data );
if ( ++$this->current >= count( $keys ) )
@@ -209,19 +229,45 @@ abstract class ezcGraphDataSet implements ArrayAccess, Iterator
}
}
- final public function key()
+ /**
+ * Returns the key of the currently selected datapoint.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return string The key of the currently selected datapoint.
+ */
+ public function key()
{
$keys = array_keys( $this->data );
return $keys[$this->current];
}
- final public function valid()
+ /**
+ * Returns if the current datapoint is valid.
+ *
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return bool If the current datapoint is valid
+ */
+ public function valid()
{
$keys = array_keys( $this->data );
return isset( $keys[$this->current] );
}
- final public function rewind()
+ /**
+ * Selects the very first datapoint and returns it.
+ * This method is part of the Iterator interface to allow access to the
+ * datapoints of this row by iterating over it like an array (e.g. using
+ * foreach).
+ *
+ * @return float The very first datapoint.
+ */
+ public function rewind()
{
$this->current = 0;
}
diff --git a/tests/data/compare/ezcGraphDataSetAverageTest_testRenderCompleteLineChart.svg b/tests/data/compare/ezcGraphDataSetAverageTest_testRenderCompleteLineChart.svg
new file mode 100644
index 0000000..9873888
--- /dev/null
+++ b/tests/data/compare/ezcGraphDataSetAverageTest_testRenderCompleteLineChart.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="500" height="200" version="1.0" id="ezcGraph"><defs/><g id="chart" color-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility"><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 500.0000,0.0000 L 500.0000,200.0000 L 0.0000,200.0000 z " style="fill: #eeeeec; fill-opacity: 1.00; stroke: none;"/><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 100.0000,0.0000 L 100.0000,200.0000 L 0.0000,200.0000 z " style="fill: #000000; fill-opacity: 0.00; stroke: none;"/><ellipse cx="9" cy="9" rx="7" ry="7" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><path d=" M 2.0000,34.0000 L 2.0000,20.0000 L 16.0000,20.0000 L 16.0000,34.0000 L 2.0000,34.0000 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;"/><path d=" M 2.0000,52.0000 L 2.0000,38.0000 L 16.0000,38.0000 L 16.0000,52.0000 L 2.0000,52.0000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;"/><path d=" M 2.0000,70.0000 L 2.0000,56.0000 L 16.0000,56.0000 L 16.0000,70.0000 L 2.0000,70.0000 z " style="fill: #edd400; fill-opacity: 1.00; stroke: none;"/><path d=" M 2.0000,88.0000 L 2.0000,74.0000 L 16.0000,74.0000 L 16.0000,88.0000 L 2.0000,88.0000 z " style="fill: #75505b; fill-opacity: 1.00; stroke: none;"/><path d=" M 100.0000,116.0000 L 500.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 492.0000,120.0000 L 500.0000,116.0000 L 492.0000,112.0000 L 492.0000,120.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;"/><path d=" M 162.4000,20.0000 L 162.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,115.0000 L 182.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 181.6000,20.0000 L 181.6000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 204.0000,115.0000 L 204.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 204.0000,20.0000 L 204.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 225.3333,115.0000 L 225.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 226.4000,20.0000 L 226.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,115.0000 L 246.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 245.6000,20.0000 L 245.6000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,113.0000 L 246.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 268.0000,20.0000 L 268.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 289.3333,115.0000 L 289.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 290.4000,20.0000 L 290.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,115.0000 L 310.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 309.6000,20.0000 L 309.6000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 332.0000,115.0000 L 332.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 332.0000,20.0000 L 332.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 353.3333,115.0000 L 353.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.4000,20.0000 L 354.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 374.6667,115.0000 L 374.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.4000,20.0000 L 354.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 353.3333,113.0000 L 353.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 373.6000,20.0000 L 373.6000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 396.0000,115.0000 L 396.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 396.0000,20.0000 L 396.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 417.3333,115.0000 L 417.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 418.4000,20.0000 L 418.4000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 438.6667,115.0000 L 438.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 437.6000,20.0000 L 437.6000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 460.0000,115.0000 L 460.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 460.0000,20.0000 L 460.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 481.3333,115.0000 L 481.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 460.0000,20.0000 L 460.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 460.0000,113.0000 L 460.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 502.6667,115.0000 L 502.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 524.0000,115.0000 L 524.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 545.3333,115.0000 L 545.3333,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 566.6667,115.0000 L 566.6667,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,200.0000 L 140.0000,0.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 137.5000,5.0000 L 140.0000,0.0000 L 142.5000,5.0000 L 137.5000,5.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;"/><path d=" M 140.0000,180.0000 L 460.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,180.0000 L 143.0000,180.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,148.0000 L 460.0000,148.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,148.0000 L 143.0000,148.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,84.0000 L 460.0000,84.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,84.0000 L 143.0000,84.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,52.0000 L 460.0000,52.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,52.0000 L 143.0000,52.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,20.0000 L 460.0000,20.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 140.0000,20.0000 L 143.0000,20.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,103.2000 L 182.6667,103.2000" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,103.2000 L 246.6667,145.4400" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,145.4400 L 272.2667,98.0800" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 272.2667,98.0800 L 310.6667,52.0000" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,52.0000 L 366.1333,100.6400" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 366.1333,100.6400 L 438.6667,32.8000" style="fill: none; stroke: #3465a4; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,88.6933 L 182.6667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,88.6933 L 185.2267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 185.2267,88.6933 L 187.7867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 187.7867,88.6933 L 190.3467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 190.3467,88.6933 L 192.9067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 192.9067,88.6933 L 195.4667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 195.4667,88.6933 L 198.0267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 198.0267,88.6933 L 200.5867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 200.5867,88.6933 L 203.1467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 203.1467,88.6933 L 205.7067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 205.7067,88.6933 L 208.2667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 208.2667,88.6933 L 210.8267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 210.8267,88.6933 L 213.3867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 213.3867,88.6933 L 215.9467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 215.9467,88.6933 L 218.5067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 218.5067,88.6933 L 221.0667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 221.0667,88.6933 L 223.6267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 223.6267,88.6933 L 226.1867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 226.1867,88.6933 L 228.7467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 228.7467,88.6933 L 231.3067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 231.3067,88.6933 L 233.8667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 233.8667,88.6933 L 236.4267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 236.4267,88.6933 L 238.9867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 238.9867,88.6933 L 241.5467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 241.5467,88.6933 L 244.1067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 244.1067,88.6933 L 246.6667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,88.6933 L 249.2267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 249.2267,88.6933 L 251.7867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 251.7867,88.6933 L 254.3467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 254.3467,88.6933 L 256.9067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 256.9067,88.6933 L 259.4667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 259.4667,88.6933 L 262.0267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 262.0267,88.6933 L 264.5867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 264.5867,88.6933 L 267.1467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 267.1467,88.6933 L 269.7067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 269.7067,88.6933 L 272.2667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 272.2667,88.6933 L 274.8267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 274.8267,88.6933 L 277.3867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 277.3867,88.6933 L 279.9467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 279.9467,88.6933 L 282.5067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 282.5067,88.6933 L 285.0667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 285.0667,88.6933 L 287.6267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 287.6267,88.6933 L 290.1867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 290.1867,88.6933 L 292.7467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 292.7467,88.6933 L 295.3067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 295.3067,88.6933 L 297.8667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 297.8667,88.6933 L 300.4267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 300.4267,88.6933 L 302.9867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 302.9867,88.6933 L 305.5467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 305.5467,88.6933 L 308.1067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 308.1067,88.6933 L 310.6667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,88.6933 L 313.2267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 313.2267,88.6933 L 315.7867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 315.7867,88.6933 L 318.3467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 318.3467,88.6933 L 320.9067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 320.9067,88.6933 L 323.4667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 323.4667,88.6933 L 326.0267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 326.0267,88.6933 L 328.5867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 328.5867,88.6933 L 331.1467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 331.1467,88.6933 L 333.7067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 333.7067,88.6933 L 336.2667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 336.2667,88.6933 L 338.8267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 338.8267,88.6933 L 341.3867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 341.3867,88.6933 L 343.9467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 343.9467,88.6933 L 346.5067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 346.5067,88.6933 L 349.0667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 349.0667,88.6933 L 351.6267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 351.6267,88.6933 L 354.1867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.1867,88.6933 L 356.7467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 356.7467,88.6933 L 359.3067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 359.3067,88.6933 L 361.8667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 361.8667,88.6933 L 364.4267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 364.4267,88.6933 L 366.9867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 366.9867,88.6933 L 369.5467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 369.5467,88.6933 L 372.1067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 372.1067,88.6933 L 374.6667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 374.6667,88.6933 L 377.2267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 377.2267,88.6933 L 379.7867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 379.7867,88.6933 L 382.3467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 382.3467,88.6933 L 384.9067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 384.9067,88.6933 L 387.4667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 387.4667,88.6933 L 390.0267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 390.0267,88.6933 L 392.5867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 392.5867,88.6933 L 395.1467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 395.1467,88.6933 L 397.7067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 397.7067,88.6933 L 400.2667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 400.2667,88.6933 L 402.8267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 402.8267,88.6933 L 405.3867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 405.3867,88.6933 L 407.9467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 407.9467,88.6933 L 410.5067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 410.5067,88.6933 L 413.0667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 413.0667,88.6933 L 415.6267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 415.6267,88.6933 L 418.1867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 418.1867,88.6933 L 420.7467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 420.7467,88.6933 L 423.3067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 423.3067,88.6933 L 425.8667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 425.8667,88.6933 L 428.4267,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 428.4267,88.6933 L 430.9867,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 430.9867,88.6933 L 433.5467,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 433.5467,88.6933 L 436.1067,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 436.1067,88.6933 L 438.6667,88.6933" style="fill: none; stroke: #4e9a06; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,124.8239 L 182.6667,124.8239" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,124.8239 L 185.2267,124.0543" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 185.2267,124.0543 L 187.7867,123.2847" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 187.7867,123.2847 L 190.3467,122.5150" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 190.3467,122.5150 L 192.9067,121.7454" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 192.9067,121.7454 L 195.4667,120.9757" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 195.4667,120.9757 L 198.0267,120.2061" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 198.0267,120.2061 L 200.5867,119.4364" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 200.5867,119.4364 L 203.1467,118.6668" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 203.1467,118.6668 L 205.7067,117.8971" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 205.7067,117.8971 L 208.2667,117.1275" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 208.2667,117.1275 L 210.8267,116.3578" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 210.8267,116.3578 L 213.3867,115.5882" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 213.3867,115.5882 L 215.9467,114.8185" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 215.9467,114.8185 L 218.5067,114.0489" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 218.5067,114.0489 L 221.0667,113.2793" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 221.0667,113.2793 L 223.6267,112.5096" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 223.6267,112.5096 L 226.1867,111.7400" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 226.1867,111.7400 L 228.7467,110.9703" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 228.7467,110.9703 L 231.3067,110.2007" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 231.3067,110.2007 L 233.8667,109.4310" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 233.8667,109.4310 L 236.4267,108.6614" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 236.4267,108.6614 L 238.9867,107.8917" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 238.9867,107.8917 L 241.5467,107.1221" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 241.5467,107.1221 L 244.1067,106.3524" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 244.1067,106.3524 L 246.6667,105.5828" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,105.5828 L 249.2267,104.8131" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 249.2267,104.8131 L 251.7867,104.0435" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 251.7867,104.0435 L 254.3467,103.2739" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 254.3467,103.2739 L 256.9067,102.5042" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 256.9067,102.5042 L 259.4667,101.7346" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 259.4667,101.7346 L 262.0267,100.9649" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 262.0267,100.9649 L 264.5867,100.1953" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 264.5867,100.1953 L 267.1467,99.4256" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 267.1467,99.4256 L 269.7067,98.6560" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 269.7067,98.6560 L 272.2667,97.8863" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 272.2667,97.8863 L 274.8267,97.1167" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 274.8267,97.1167 L 277.3867,96.3470" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 277.3867,96.3470 L 279.9467,95.5774" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 279.9467,95.5774 L 282.5067,94.8077" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 282.5067,94.8077 L 285.0667,94.0381" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 285.0667,94.0381 L 287.6267,93.2685" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 287.6267,93.2685 L 290.1867,92.4988" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 290.1867,92.4988 L 292.7467,91.7292" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 292.7467,91.7292 L 295.3067,90.9595" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 295.3067,90.9595 L 297.8667,90.1899" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 297.8667,90.1899 L 300.4267,89.4202" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 300.4267,89.4202 L 302.9867,88.6506" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 302.9867,88.6506 L 305.5467,87.8809" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 305.5467,87.8809 L 308.1067,87.1113" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 308.1067,87.1113 L 310.6667,86.3416" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,86.3416 L 313.2267,85.5720" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 313.2267,85.5720 L 315.7867,84.8023" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 315.7867,84.8023 L 318.3467,84.0327" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 318.3467,84.0327 L 320.9067,83.2631" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 320.9067,83.2631 L 323.4667,82.4934" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 323.4667,82.4934 L 326.0267,81.7238" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 326.0267,81.7238 L 328.5867,80.9541" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 328.5867,80.9541 L 331.1467,80.1845" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 331.1467,80.1845 L 333.7067,79.4148" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 333.7067,79.4148 L 336.2667,78.6452" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 336.2667,78.6452 L 338.8267,77.8755" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 338.8267,77.8755 L 341.3867,77.1059" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 341.3867,77.1059 L 343.9467,76.3362" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 343.9467,76.3362 L 346.5067,75.5666" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 346.5067,75.5666 L 349.0667,74.7969" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 349.0667,74.7969 L 351.6267,74.0273" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 351.6267,74.0273 L 354.1867,73.2577" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.1867,73.2577 L 356.7467,72.4880" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 356.7467,72.4880 L 359.3067,71.7184" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 359.3067,71.7184 L 361.8667,70.9487" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 361.8667,70.9487 L 364.4267,70.1791" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 364.4267,70.1791 L 366.9867,69.4094" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 366.9867,69.4094 L 369.5467,68.6398" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 369.5467,68.6398 L 372.1067,67.8701" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 372.1067,67.8701 L 374.6667,67.1005" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 374.6667,67.1005 L 377.2267,66.3308" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 377.2267,66.3308 L 379.7867,65.5612" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 379.7867,65.5612 L 382.3467,64.7915" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 382.3467,64.7915 L 384.9067,64.0219" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 384.9067,64.0219 L 387.4667,63.2522" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 387.4667,63.2522 L 390.0267,62.4826" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 390.0267,62.4826 L 392.5867,61.7130" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 392.5867,61.7130 L 395.1467,60.9433" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 395.1467,60.9433 L 397.7067,60.1737" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 397.7067,60.1737 L 400.2667,59.4040" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 400.2667,59.4040 L 402.8267,58.6344" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 402.8267,58.6344 L 405.3867,57.8647" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 405.3867,57.8647 L 407.9467,57.0951" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 407.9467,57.0951 L 410.5067,56.3254" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 410.5067,56.3254 L 413.0667,55.5558" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 413.0667,55.5558 L 415.6267,54.7861" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 415.6267,54.7861 L 418.1867,54.0165" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 418.1867,54.0165 L 420.7467,53.2468" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 420.7467,53.2468 L 423.3067,52.4772" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 423.3067,52.4772 L 425.8667,51.7076" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 425.8667,51.7076 L 428.4267,50.9379" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 428.4267,50.9379 L 430.9867,50.1683" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 430.9867,50.1683 L 433.5467,49.3986" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 433.5467,49.3986 L 436.1067,48.6290" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 436.1067,48.6290 L 438.6667,47.8593" style="fill: none; stroke: #cc0000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,110.6612 L 182.6667,110.6612" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,110.6612 L 185.2267,111.1537" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 185.2267,111.1537 L 187.7867,111.6038" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 187.7867,111.6038 L 190.3467,112.0122" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 190.3467,112.0122 L 192.9067,112.3794" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 192.9067,112.3794 L 195.4667,112.7058" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 195.4667,112.7058 L 198.0267,112.9922" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 198.0267,112.9922 L 200.5867,113.2389" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 200.5867,113.2389 L 203.1467,113.4466" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 203.1467,113.4466 L 205.7067,113.6157" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 205.7067,113.6157 L 208.2667,113.7470" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 208.2667,113.7470 L 210.8267,113.8408" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 210.8267,113.8408 L 213.3867,113.8977" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 213.3867,113.8977 L 215.9467,113.9183" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 215.9467,113.9183 L 218.5067,113.9031" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 218.5067,113.9031 L 221.0667,113.8528" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 221.0667,113.8528 L 223.6267,113.7677" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 223.6267,113.7677 L 226.1867,113.6485" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 226.1867,113.6485 L 228.7467,113.4957" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 228.7467,113.4957 L 231.3067,113.3098" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 231.3067,113.3098 L 233.8667,113.0915" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 233.8667,113.0915 L 236.4267,112.8412" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 236.4267,112.8412 L 238.9867,112.5595" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 238.9867,112.5595 L 241.5467,112.2469" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 241.5467,112.2469 L 244.1067,111.9040" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 244.1067,111.9040 L 246.6667,111.5313" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,111.5313 L 249.2267,111.1294" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 249.2267,111.1294 L 251.7867,110.6989" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 251.7867,110.6989 L 254.3467,110.2402" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 254.3467,110.2402 L 256.9067,109.7539" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 256.9067,109.7539 L 259.4667,109.2406" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 259.4667,109.2406 L 262.0267,108.7008" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 262.0267,108.7008 L 264.5867,108.1350" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 264.5867,108.1350 L 267.1467,107.5438" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 267.1467,107.5438 L 269.7067,106.9278" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 269.7067,106.9278 L 272.2667,106.2874" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 272.2667,106.2874 L 274.8267,105.6233" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 274.8267,105.6233 L 277.3867,104.9360" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 277.3867,104.9360 L 279.9467,104.2260" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 279.9467,104.2260 L 282.5067,103.4939" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 282.5067,103.4939 L 285.0667,102.7402" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 285.0667,102.7402 L 287.6267,101.9654" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 287.6267,101.9654 L 290.1867,101.1702" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 290.1867,101.1702 L 292.7467,100.3550" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 292.7467,100.3550 L 295.3067,99.5204" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 295.3067,99.5204 L 297.8667,98.6670" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 297.8667,98.6670 L 300.4267,97.7952" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 300.4267,97.7952 L 302.9867,96.9057" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 302.9867,96.9057 L 305.5467,95.9990" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 305.5467,95.9990 L 308.1067,95.0756" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 308.1067,95.0756 L 310.6667,94.1361" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,94.1361 L 313.2267,93.1810" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 313.2267,93.1810 L 315.7867,92.2109" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 315.7867,92.2109 L 318.3467,91.2262" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 318.3467,91.2262 L 320.9067,90.2277" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 320.9067,90.2277 L 323.4667,89.2157" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 323.4667,89.2157 L 326.0267,88.1909" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 326.0267,88.1909 L 328.5867,87.1538" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 328.5867,87.1538 L 331.1467,86.1050" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 331.1467,86.1050 L 333.7067,85.0449" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 333.7067,85.0449 L 336.2667,83.9742" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 336.2667,83.9742 L 338.8267,82.8933" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 338.8267,82.8933 L 341.3867,81.8029" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 341.3867,81.8029 L 343.9467,80.7035" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 343.9467,80.7035 L 346.5067,79.5955" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 346.5067,79.5955 L 349.0667,78.4797" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 349.0667,78.4797 L 351.6267,77.3564" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 351.6267,77.3564 L 354.1867,76.2263" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.1867,76.2263 L 356.7467,75.0899" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 356.7467,75.0899 L 359.3067,73.9477" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 359.3067,73.9477 L 361.8667,72.8004" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 361.8667,72.8004 L 364.4267,71.6483" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 364.4267,71.6483 L 366.9867,70.4922" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 366.9867,70.4922 L 369.5467,69.3325" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 369.5467,69.3325 L 372.1067,68.1698" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 372.1067,68.1698 L 374.6667,67.0046" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 374.6667,67.0046 L 377.2267,65.8374" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 377.2267,65.8374 L 379.7867,64.6689" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 379.7867,64.6689 L 382.3467,63.4995" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 382.3467,63.4995 L 384.9067,62.3299" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 384.9067,62.3299 L 387.4667,61.1605" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 387.4667,61.1605 L 390.0267,59.9919" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 390.0267,59.9919 L 392.5867,58.8246" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 392.5867,58.8246 L 395.1467,57.6592" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 395.1467,57.6592 L 397.7067,56.4963" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 397.7067,56.4963 L 400.2667,55.3363" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 400.2667,55.3363 L 402.8267,54.1799" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 402.8267,54.1799 L 405.3867,53.0276" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 405.3867,53.0276 L 407.9467,51.8798" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 407.9467,51.8798 L 410.5067,50.7372" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 410.5067,50.7372 L 413.0667,49.6004" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 413.0667,49.6004 L 415.6267,48.4698" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 415.6267,48.4698 L 418.1867,47.3460" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 418.1867,47.3460 L 420.7467,46.2295" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 420.7467,46.2295 L 423.3067,45.1210" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 423.3067,45.1210 L 425.8667,44.0208" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 425.8667,44.0208 L 428.4267,42.9297" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 428.4267,42.9297 L 430.9867,41.8481" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 430.9867,41.8481 L 433.5467,40.7766" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 433.5467,40.7766 L 436.1067,39.7157" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 436.1067,39.7157 L 438.6667,38.6659" style="fill: none; stroke: #edd400; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,103.2000 L 182.6667,103.2000" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 182.6667,103.2000 L 185.2267,114.5297" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 185.2267,114.5297 L 187.7867,124.7354" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 187.7867,124.7354 L 190.3467,133.8601" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 190.3467,133.8601 L 192.9067,141.9467" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 192.9067,141.9467 L 195.4667,149.0380" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 195.4667,149.0380 L 198.0267,155.1766" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 198.0267,155.1766 L 200.5867,160.4051" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 200.5867,160.4051 L 203.1467,164.7656" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 203.1467,164.7656 L 205.7067,168.3003" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 205.7067,168.3003 L 208.2667,171.0508" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 208.2667,171.0508 L 210.8267,173.0587" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 210.8267,173.0587 L 213.3867,174.3650" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 213.3867,174.3650 L 215.9467,175.0105" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 215.9467,175.0105 L 218.5067,175.0357" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 218.5067,175.0357 L 221.0667,174.4804" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 221.0667,174.4804 L 223.6267,173.3842" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 223.6267,173.3842 L 226.1867,171.7862" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 226.1867,171.7862 L 228.7467,169.7249" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 228.7467,169.7249 L 231.3067,167.2382" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 231.3067,167.2382 L 233.8667,164.3637" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 233.8667,164.3637 L 236.4267,161.1382" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 236.4267,161.1382 L 238.9867,157.5978" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 238.9867,157.5978 L 241.5467,153.7782" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 241.5467,153.7782 L 244.1067,149.7142" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 244.1067,149.7142 L 246.6667,145.4400" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 246.6667,145.4400 L 249.2267,140.9890" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 249.2267,140.9890 L 251.7867,136.3938" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 251.7867,136.3938 L 254.3467,131.6863" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 254.3467,131.6863 L 256.9067,126.8975" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 256.9067,126.8975 L 259.4667,122.0574" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 259.4667,122.0574 L 262.0267,117.1955" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 262.0267,117.1955 L 264.5867,112.3399" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 264.5867,112.3399 L 267.1467,107.5180" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 267.1467,107.5180 L 269.7067,102.7562" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 269.7067,102.7562 L 272.2667,98.0800" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 272.2667,98.0800 L 274.8267,93.5136" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 274.8267,93.5136 L 277.3867,89.0802" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 277.3867,89.0802 L 279.9467,84.8021" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 279.9467,84.8021 L 282.5067,80.7002" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 282.5067,80.7002 L 285.0667,76.7944" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 285.0667,76.7944 L 287.6267,73.1034" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 287.6267,73.1034 L 290.1867,69.6446" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 290.1867,69.6446 L 292.7467,66.4341" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 292.7467,66.4341 L 295.3067,63.4870" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 295.3067,63.4870 L 297.8667,60.8169" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 297.8667,60.8169 L 300.4267,58.4358" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 300.4267,58.4358 L 302.9867,56.3549" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 302.9867,56.3549 L 305.5467,54.5834" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 305.5467,54.5834 L 308.1067,53.1296" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 308.1067,53.1296 L 310.6667,52.0000" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 310.6667,52.0000 L 313.2267,51.1997" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 313.2267,51.1997 L 315.7867,50.7322" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 315.7867,50.7322 L 318.3467,50.5997" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 318.3467,50.5997 L 320.9067,50.8026" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 320.9067,50.8026 L 323.4667,51.3397" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 323.4667,51.3397 L 326.0267,52.2083" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 326.0267,52.2083 L 328.5867,53.4038" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 328.5867,53.4038 L 331.1467,54.9202" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 331.1467,54.9202 L 333.7067,56.7495" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 333.7067,56.7495 L 336.2667,58.8820" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 336.2667,58.8820 L 338.8267,61.3065" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 338.8267,61.3065 L 341.3867,64.0095" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 341.3867,64.0095 L 343.9467,66.9761" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 343.9467,66.9761 L 346.5067,70.1891" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 346.5067,70.1891 L 349.0667,73.6299" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 349.0667,73.6299 L 351.6267,77.2774" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 351.6267,77.2774 L 354.1867,81.1090" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 354.1867,81.1090 L 356.7467,85.0999" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 356.7467,85.0999 L 359.3067,89.2232" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 359.3067,89.2232 L 361.8667,93.4501" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 361.8667,93.4501 L 364.4267,97.7496" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 364.4267,97.7496 L 366.9867,102.0886" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 366.9867,102.0886 L 369.5467,106.4320" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 369.5467,106.4320 L 372.1067,110.7424" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 372.1067,110.7424 L 374.6667,114.9801" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 374.6667,114.9801 L 377.2267,119.1033" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 377.2267,119.1033 L 379.7867,123.0679" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 379.7867,123.0679 L 382.3467,126.8276" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 382.3467,126.8276 L 384.9067,130.3336" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 384.9067,130.3336 L 387.4667,133.5349" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 387.4667,133.5349 L 390.0267,136.3779" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 390.0267,136.3779 L 392.5867,138.8069" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 392.5867,138.8069 L 395.1467,140.7635" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 395.1467,140.7635 L 397.7067,142.1869" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 397.7067,142.1869 L 400.2667,143.0139" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 400.2667,143.0139 L 402.8267,143.1786" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 402.8267,143.1786 L 405.3867,142.6126" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 405.3867,142.6126 L 407.9467,141.2450" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 407.9467,141.2450 L 410.5067,139.0021" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 410.5067,139.0021 L 413.0667,135.8077" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 413.0667,135.8077 L 415.6267,131.5829" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 415.6267,131.5829 L 418.1867,126.2461" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 418.1867,126.2461 L 420.7467,119.7127" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 420.7467,119.7127 L 423.3067,111.8958" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 423.3067,111.8958 L 425.8667,102.7052" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 425.8667,102.7052 L 428.4267,92.0483" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 428.4267,92.0483 L 430.9867,79.8293" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 430.9867,79.8293 L 433.5467,65.9497" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 433.5467,65.9497 L 436.1067,50.3081" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><path d=" M 436.1067,50.3081 L 438.6667,32.8000" style="fill: none; stroke: #75505b; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;"/><ellipse cx="182.66666666667" cy="103.2" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><ellipse cx="246.66666666667" cy="145.44" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><ellipse cx="272.26666666667" cy="98.08" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><ellipse cx="310.66666666667" cy="52" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><ellipse cx="366.13333333333" cy="100.64" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><ellipse cx="438.66666666667" cy="32.8" rx="3" ry="3" style="fill: #3465a4; fill-opacity: 1.00; stroke: none;"/><text x="17" text-length="79.2px" y="13.5" style="font-size: 9px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Statistical data</text><text x="17" text-length="74.25px" y="31.5" style="font-size: 9px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">polynom order 0</text><text x="17" text-length="74.25px" y="49.5" style="font-size: 9px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">polynom order 1</text><text x="17" text-length="74.25px" y="67.5" style="font-size: 9px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">polynom order 3</text><text x="17" text-length="74.25px" y="85.5" style="font-size: 9px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">polynom order 5</text><text x="142" text-length="8.8px" y="134" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text><text x="248.66666666667" text-length="26.4px" y="134" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">2.5</text><text x="355.33333333333" text-length="8.8px" y="134" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">5</text><text x="431.6" text-length="26.4px" y="134" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">7.5</text><text x="124.8" text-length="13.2px" y="178" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">-5</text><text x="111.6" text-length="26.4px" y="146" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">-2.5</text><text x="131.4" text-length="6.6px" y="114" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text><text x="118.2" text-length="19.8px" y="82" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">2.5</text><text x="131.4" text-length="6.6px" y="50" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">5</text><text x="118.2" text-length="19.8px" y="34" style="font-size: 12px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">7.5</text></g></svg>
diff --git a/tests/dataset_average_test.php b/tests/dataset_average_test.php
index 9a00763..758d8c5 100644
--- a/tests/dataset_average_test.php
+++ b/tests/dataset_average_test.php
@@ -18,6 +18,10 @@
class ezcGraphDataSetAverageTest extends ezcTestCase
{
+ protected $basePath;
+
+ protected $tempDir;
+
public static function suite()
{
return new ezcTestSuite( "ezcGraphDataSetAverageTest" );
@@ -30,6 +34,9 @@ class ezcGraphDataSetAverageTest extends ezcTestCase
*/
public function setUp()
{
+ static $i = 0;
+ $this->tempDir = $this->createTempDir( __CLASS__ . sprintf( '_%03d_', ++$i ) ) . '/';
+ $this->basePath = dirname( __FILE__ ) . '/data/';
}
/**
@@ -39,6 +46,37 @@ class ezcGraphDataSetAverageTest extends ezcTestCase
*/
public function tearDown()
{
+ if( !$this->hasFailed() )
+ {
+ $this->removeTempDir();
+ }
+ }
+
+ /**
+ * Compares a generated image with a stored file
+ *
+ * @param string $generated Filename of generated image
+ * @param string $compare Filename of stored image
+ * @return void
+ */
+ protected function compare( $generated, $compare )
+ {
+ $this->assertTrue(
+ file_exists( $generated ),
+ 'No image file has been created.'
+ );
+
+ $this->assertTrue(
+ file_exists( $compare ),
+ 'Comparision image does not exist.'
+ );
+
+ if ( md5_file( $generated ) !== md5_file( $compare ) )
+ {
+ // Adding a diff makes no sense here, because created XML uses
+ // only two lines
+ $this->fail( 'Rendered image is not correct.');
+ }
}
public function testCreateDatasetFromDataset()
@@ -85,6 +123,7 @@ class ezcGraphDataSetAverageTest extends ezcTestCase
$polynom->__toString()
);
}
+
public function testCreateDatasetFromDatasetHighOrder()
{
$arrayDataSet = new ezcGraphArrayDataSet( array( -1 => 2, 1 => 2, 3 => 10 ) );
@@ -99,5 +138,78 @@ class ezcGraphDataSetAverageTest extends ezcTestCase
$polynom->__toString()
);
}
+
+ public function testIterateOverAverageDataset()
+ {
+ $arrayDataSet = new ezcGraphArrayDataSet( array( -1 => 2, 1 => 2, 3 => 10 ) );
+
+ $averageDataSet = new ezcGraphDataSetAveragePolynom( $arrayDataSet );
+ $averageDataSet->polynomOrder = 3;
+
+ $this->assertEquals(
+ 2.,
+ $averageDataSet[-1],
+ 'Polynom should evaluate to 2.',
+ .01
+ );
+
+ $this->assertEquals(
+ 2.,
+ $averageDataSet[1],
+ 'Polynom should evaluate to 2.',
+ .01
+ );
+
+ $this->assertEquals(
+ 5.,
+ $averageDataSet[2],
+ 'Polynom should evaluate to 5.',
+ .01
+ );
+
+ $this->assertEquals(
+ 10.,
+ $averageDataSet[3],
+ 'Polynom should evaluate to 10.',
+ .01
+ );
+ }
+
+ public function testRenderCompleteLineChart()
+ {
+ $filename = $this->tempDir . __FUNCTION__ . '.svg';
+
+ $chart = new ezcGraphLineChart();
+ $chart->data['Statistical data'] = new ezcGraphArrayDataSet( array(
+ '1' => 1,
+ '2.5' => -2.3,
+ '3.1' => 1.4,
+ '4' => 5,
+ '5.3' => 1.2,
+ '7' => 6.5,
+ ) );
+ $chart->data['Statistical data']->symbol = ezcGraph::BULLET;
+
+ $chart->data['polynom order 0'] = new ezcGraphDataSetAveragePolynom( $chart->data['Statistical data'] );
+ $chart->data['polynom order 0']->polynomOrder = 0;
+
+ $chart->data['polynom order 1'] = new ezcGraphDataSetAveragePolynom( $chart->data['Statistical data'] );
+ $chart->data['polynom order 1']->polynomOrder = 1;
+
+ $chart->data['polynom order 3'] = new ezcGraphDataSetAveragePolynom( $chart->data['Statistical data'] );
+ $chart->data['polynom order 3']->polynomOrder = 3;
+
+ $chart->data['polynom order 5'] = new ezcGraphDataSetAveragePolynom( $chart->data['Statistical data'] );
+ $chart->data['polynom order 5']->polynomOrder = 5;
+
+ $chart->xAxis = new ezcGraphChartElementNumericAxis();
+
+ $chart->render( 500, 200, $filename );
+
+ $this->compare(
+ $filename,
+ $this->basePath . 'compare/' . __CLASS__ . '_' . __FUNCTION__ . '.svg'
+ );
+ }
}
?>
OpenPOWER on IntegriCloud