jcharts-0.7.5/ 0000755 0001750 0000144 00000000000 07751071404 012217 5 ustar onkar users jcharts-0.7.5/build/ 0000755 0001750 0000144 00000000000 07751071404 013316 5 ustar onkar users jcharts-0.7.5/build/build.xml 0000644 0001750 0000144 00000017327 07751071404 015151 0 ustar onkar users
jcharts-0.7.5/demo/ 0000755 0001750 0000144 00000000000 07751071402 013141 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/ 0000755 0001750 0000144 00000000000 07751071402 015777 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/ 0000755 0001750 0000144 00000000000 07751071402 017026 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/ 0000755 0001750 0000144 00000000000 07751071402 020463 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/ 0000755 0001750 0000144 00000000000 07751071402 021252 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/ 0000755 0001750 0000144 00000000000 07751071402 022650 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/ 0000755 0001750 0000144 00000000000 07751071402 023574 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ 0000755 0001750 0000144 00000000000 07751071402 026432 5 ustar onkar users ././@LongLink 0000000 0000000 0000000 00000000145 00000000000 011565 L ustar root root jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/BarChartServlet.java jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/BarChartServlet.java0000644 0001750 0000144 00000014752 07751071402 032341 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: BarChartServlet.java,v 1.5 2003/04/19 01:41:27 nathaniel_auvil Exp $
* Copyright (C) 2002
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation ("Software"), with or
* without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and notices.
* Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
* products derived from this Software without prior written permission of Nathaniel G.
* Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
* in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
* registered trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.axisChart.AxisChart;
import org.jCharts.axisChart.customRenderers.axisValue.renderers.ValueLabelPosition;
import org.jCharts.axisChart.customRenderers.axisValue.renderers.ValueLabelRenderer;
import org.jCharts.chartData.AxisChartDataSet;
import org.jCharts.chartData.DataSeries;
import org.jCharts.chartData.interfaces.IAxisDataSeries;
import org.jCharts.encoders.ServletEncoderHelper;
import org.jCharts.properties.*;
import org.jCharts.properties.util.ChartFont;
import org.jCharts.types.ChartType;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.awt.*;
import java.io.IOException;
public class BarChartServlet extends HttpServlet
{
//---all of my charts serviced by this Servlet will have the same properties.
private BarChartProperties barChartProperties;
//---all of my charts serviced by this Servlet will have the same properties.
protected LegendProperties legendProperties;
protected AxisProperties axisProperties;
protected ChartProperties chartProperties;
protected int width = 550;
protected int height = 360;
/**********************************************************************************************
*
**********************************************************************************************/
public void init()
{
this.legendProperties = new LegendProperties();
this.chartProperties = new ChartProperties();
this.axisProperties = new AxisProperties( false );
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
DataAxisProperties dataAxisProperties = (DataAxisProperties) axisProperties.getYAxisProperties();
try
{
dataAxisProperties.setUserDefinedScale( -3000, 3000 );
}
catch( PropertyException propertyException )
{
propertyException.printStackTrace();
}
dataAxisProperties.setRoundToNearest( 2 );
ChartFont titleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 14 ), Color.black );
this.chartProperties.setTitleFont( titleFont );
this.barChartProperties = new BarChartProperties();
ValueLabelRenderer valueLabelRenderer = new ValueLabelRenderer( false, false, true, -1 );
valueLabelRenderer.setValueLabelPosition( ValueLabelPosition.ON_TOP );
valueLabelRenderer.useVerticalLabels( false );
barChartProperties.addPostRenderEventListener( valueLabelRenderer );
}
/**********************************************************************************************
*
**********************************************************************************************/
public void service( HttpServletRequest req, HttpServletResponse httpServletResponse ) throws ServletException, IOException
{
try
{
String[] xAxisLabels = {"1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004"};
String xAxisTitle = "Years";
String yAxisTitle = "Problems";
String title = "Micro$oft At Work";
IAxisDataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle, title );
double[][] data = new double[][]{{1500, 6880, 4510, 2600, -1200, -1580, 7000, 4555, 4000, 6120}};
String[] legendLabels = {"Bugs"};
Paint[] paints = new Paint[]{Color.yellow};
dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR, this.barChartProperties ) );
AxisChart axisChart = new AxisChart( dataSeries, this.chartProperties, this.axisProperties, this.legendProperties, this.width, this.height );
ServletEncoderHelper.encodeJPEG13( axisChart, 1.0f, httpServletResponse );
}
catch( Throwable throwable )
{
//HACK do your error handling here...
throwable.printStackTrace();
}
}
}
jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ChartServlet.java 0000644 0001750 0000144 00000007165 07751071402 031714 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: ChartServlet.java,v 1.2 2003/03/14 03:23:23 nathaniel_auvil Exp $
* Copyright (C) 2002
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation ("Software"), with or
* without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and notices.
* Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
* products derived from this Software without prior written permission of Nathaniel G.
* Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
* in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
* registered trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.Chart;
import org.jCharts.chartData.ChartDataException;
import org.jCharts.encoders.ServletEncoderHelper;
import org.jCharts.properties.PropertyException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.IOException;
public class ChartServlet extends HttpServlet
{
public static final String CHART = "CHART";
public static final String IMAGE_MAP = "IMAGE_MAP";
/**********************************************************************************************
*
**********************************************************************************************/
public void service( HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse ) throws ServletException, IOException
{
Chart chart = (Chart) httpServletRequest.getSession().getAttribute( CHART );
try
{
//---call encode just like you would normally
ServletEncoderHelper.encodeJPEG13( chart, 1.0f, httpServletResponse );
}
catch( PropertyException propertyException )
{
propertyException.printStackTrace();
}
catch( ChartDataException dataException )
{
dataException.printStackTrace();
}
httpServletRequest.getSession().removeAttribute( CHART );
}
}
././@LongLink 0000000 0000000 0000000 00000000147 00000000000 011567 L ustar root root jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ComboChartServlet.java jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ComboChartServlet.ja0000644 0001750 0000144 00000014447 07751071402 032346 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: ComboChartServlet.java,v 1.3 2003/03/14 03:23:23 nathaniel_auvil Exp $
* Copyright (C) 2000
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided
* that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright
* statements and notices. Redistributions must also contain a
* copy of this document.
*
* 2. Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
* endorse or promote products derived from this Software without
* prior written permission of Nathaniel G. Auvil. For written
* permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts"
* nor may "jCharts" appear in their names without prior written
* permission of Nathaniel G. Auvil. jCharts is a registered
* trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project
* (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.axisChart.AxisChart;
import org.jCharts.chartData.AxisChartDataSet;
import org.jCharts.chartData.DataSeries;
import org.jCharts.chartData.interfaces.IAxisDataSeries;
import org.jCharts.encoders.ServletEncoderHelper;
import org.jCharts.properties.*;
import org.jCharts.properties.util.ChartFont;
import org.jCharts.types.ChartType;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.awt.*;
import java.io.IOException;
public class ComboChartServlet extends HttpServlet
{
//---all of my charts serviced by this Servlet will have the same properties.
private LineChartProperties lineChartProperties;
//---all of my charts serviced by this Servlet will have the same properties.
private BarChartProperties barChartProperties;
//---all of my charts serviced by this Servlet will have the same properties.
protected LegendProperties legendProperties;
protected AxisProperties axisProperties;
protected ChartProperties chartProperties;
protected int width = 550;
protected int height = 360;
/**********************************************************************************************
*
**********************************************************************************************/
public void init()
{
this.legendProperties = new LegendProperties();
this.chartProperties = new ChartProperties();
this.axisProperties = new AxisProperties( false );
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
ChartFont titleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 14 ), Color.black );
this.chartProperties.setTitleFont( titleFont );
Stroke[] strokes = {LineChartProperties.DEFAULT_LINE_STROKE};
Shape[] shapes = {PointChartProperties.SHAPE_DIAMOND};
this.lineChartProperties = new LineChartProperties( strokes, shapes );
this.barChartProperties = new BarChartProperties();
}
/**********************************************************************************************
*
**********************************************************************************************/
public void service( HttpServletRequest req, HttpServletResponse httpServletResponse ) throws ServletException, IOException
{
try
{
String[] xAxisLabels = {"1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004"};
String xAxisTitle = "Years";
String yAxisTitle = "Problems";
String title = "Micro$oft At Work";
IAxisDataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle, title );
double[][] data = new double[][]{{1500, 6880, 4510, 2600, 1200, 1580, 8000, 4555, 4000, 6120}};
String[] legendLabels = {"Bugs"};
Paint[] paints = new Paint[]{Color.blue.darker()};
Paint[] linePaints = new Paint[]{Color.green};
dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR, this.barChartProperties ) );
dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, linePaints, ChartType.LINE, this.lineChartProperties ) );
AxisChart axisChart = new AxisChart( dataSeries, this.chartProperties, this.axisProperties, this.legendProperties, this.width, this.height );
ServletEncoderHelper.encodeJPEG13( axisChart, 1.0f, httpServletResponse );
}
catch( Throwable throwable )
{
//HACK do your error handling here...
throwable.printStackTrace();
}
}
}
././@LongLink 0000000 0000000 0000000 00000000162 00000000000 011564 L ustar root root jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/HorizontalBarImageMapServlet.java jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/HorizontalBarImageMa0000644 0001750 0000144 00000014623 07751071402 032362 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: HorizontalBarImageMapServlet.java,v 1.3 2003/03/14 03:23:23 nathaniel_auvil Exp $
* Copyright (C) 2002
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation ("Software"), with or
* without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and notices.
* Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
* products derived from this Software without prior written permission of Nathaniel G.
* Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
* in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
* registered trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.axisChart.AxisChart;
import org.jCharts.chartData.*;
import org.jCharts.chartData.interfaces.IAxisDataSeries;
import org.jCharts.imageMap.ImageMap;
import org.jCharts.properties.*;
import org.jCharts.properties.util.ChartFont;
import org.jCharts.types.ChartType;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.awt.*;
import java.io.IOException;
public class HorizontalBarImageMapServlet extends HttpServlet
{
//---all of my charts serviced by this Servlet will have the same properties.
private BarChartProperties barChartProperties;
//---all of my charts serviced by this Servlet will have the same properties.
protected LegendProperties legendProperties;
protected AxisProperties axisProperties;
protected ChartProperties chartProperties;
protected int width = 550;
protected int height = 360;
/**********************************************************************************************
*
**********************************************************************************************/
public void init()
{
this.legendProperties = new LegendProperties();
this.chartProperties = new ChartProperties();
this.axisProperties = new AxisProperties( true );
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
ChartFont titleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 14 ), Color.black );
this.chartProperties.setTitleFont( titleFont );
this.barChartProperties = new BarChartProperties();
}
/**********************************************************************************************
*
*
**********************************************************************************************/
public void service( HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse ) throws ServletException, IOException
{
try
{
String[] xAxisLabels = {"1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004"};
String xAxisTitle = "Years";
String yAxisTitle = "Problems";
String title = "Micro$oft At Work";
IAxisDataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle, title );
double[][] data = new double[][]{{1500, 6880, 4510, 2600, 1200, 1580, 8000, 4555, 4000, 6120}};
String[] legendLabels = {"Bugs"};
Paint[] paints = new Paint[]{Color.blue.darker()};
dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR, this.barChartProperties ) );
AxisChart axisChart = new AxisChart( dataSeries, this.chartProperties, this.axisProperties, this.legendProperties, this.width, this.height );
//---this call will render the chart to an internal BufferedImage, creating all the image map coordinates
axisChart.renderWithImageMap();
//---get the ImageMap information from the chart
ImageMap imageMap = axisChart.getImageMap();
//---set the ImageMap into the HttpServletRequest so can get it out in JSP
httpServletRequest.setAttribute( ChartServlet.IMAGE_MAP, imageMap );
//---set the Chart into the HttpSession so we can stream it in another request
httpServletRequest.getSession( true ).setAttribute( ChartServlet.CHART, axisChart );
}
catch( ChartDataException chartDataException )
{
chartDataException.printStackTrace();
}
catch( PropertyException propertyException )
{
propertyException.printStackTrace();
}
this.getServletContext().getRequestDispatcher( "/imageMapChart.jsp" ).forward( httpServletRequest, httpServletResponse );
}
}
././@LongLink 0000000 0000000 0000000 00000000147 00000000000 011567 L ustar root root jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/PieChart2DServlet.java jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/PieChart2DServlet.ja0000644 0001750 0000144 00000011632 07751071402 032203 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: PieChart2DServlet.java,v 1.2 2003/03/14 03:23:23 nathaniel_auvil Exp $
* Copyright (C) 2000
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation ("Software"), with or
* without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and notices.
* Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
* products derived from this Software without prior written permission of Nathaniel G.
* Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
* in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
* registered trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.chartData.ChartDataException;
import org.jCharts.chartData.PieChartDataSet;
import org.jCharts.encoders.ServletEncoderHelper;
import org.jCharts.nonAxisChart.PieChart2D;
import org.jCharts.properties.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.awt.*;
import java.io.IOException;
public class PieChart2DServlet extends HttpServlet
{
//---all of my pie charts serviced by this Servlet will have the same properties.
private PieChart2DProperties properties;
private LegendProperties legendProperties;
private ChartProperties chartProperties;
private int width = 550;
private int height = 350;
/**********************************************************************************************
*
**********************************************************************************************/
public void init()
{
//---all charts of this type of pie chart are going to share the same properties.
this.properties = new PieChart2DProperties();
this.legendProperties = new LegendProperties();
this.legendProperties.setNumColumns( 2 );
this.legendProperties.setPlacement( LegendProperties.RIGHT );
this.chartProperties = new ChartProperties();
}
/**********************************************************************************************
*
**********************************************************************************************/
public void service( HttpServletRequest req, HttpServletResponse response ) throws ServletException, IOException
{
try
{
PieChart2D pieChart2D = new PieChart2D( this.getData(), this.legendProperties, this.chartProperties, this.width, this.height );
ServletEncoderHelper.encodeJPEG13( pieChart2D, 1.0f, response );
}
catch( Throwable throwable )
{
//HACK do your error handling here...
throwable.printStackTrace();
}
}
/******************************************************************************************
* Returns a Tests a 'real' data set and usage.
*
* @throws ChartDataException
******************************************************************************************/
private PieChartDataSet getData() throws ChartDataException
{
double[] data = new double[]{40, 15, 35, 65, 59};
Paint[] paints = new Paint[]{Color.blue, Color.red, Color.green, Color.yellow, Color.white};
String[] labels = {"BMW", "Honda", "Lexus", "Audi", "Acura"};
return new PieChartDataSet( "Cars That Own!", data, labels, paints, this.properties );
}
}
././@LongLink 0000000 0000000 0000000 00000000155 00000000000 011566 L ustar root root jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ScatterPlotChartServlet.java jcharts-0.7.5/demo/simpleServlet/WEB-INF/classes/org/jCharts/demo/simpleServlet/ScatterPlotChartServ0000644 0001750 0000144 00000016261 07751071402 032451 0 ustar onkar users /***********************************************************************************************
* File Info: $Id: ScatterPlotChartServlet.java,v 1.2 2003/03/14 03:23:23 nathaniel_auvil Exp $
* Copyright (C) 2002
* Author: Nathaniel G. Auvil
* Contributor(s):
*
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation ("Software"), with or
* without modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and notices.
* Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
* products derived from this Software without prior written permission of Nathaniel G.
* Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
* in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
* registered trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
************************************************************************************************/
package org.jCharts.demo.simpleServlet;
import org.jCharts.axisChart.ScatterPlotAxisChart;
import org.jCharts.chartData.ScatterPlotDataSeries;
import org.jCharts.chartData.ScatterPlotDataSet;
import org.jCharts.encoders.ServletEncoderHelper;
import org.jCharts.properties.*;
import org.jCharts.properties.util.ChartFont;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.geom.Point2D;
import java.io.IOException;
public class ScatterPlotChartServlet extends HttpServlet
{
//---all of my charts serviced by this Servlet will have the same properties.
protected LegendProperties legendProperties;
protected AxisProperties axisProperties;
protected ChartProperties chartProperties;
protected int width = 550;
protected int height = 360;
/**********************************************************************************************
*
**********************************************************************************************/
public void init()
{
this.legendProperties = new LegendProperties();
this.chartProperties = new ChartProperties();
this.axisProperties = new AxisProperties( true );
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
ChartFont titleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 14 ), Color.black );
this.chartProperties.setTitleFont( titleFont );
}
/******************************************************************************************
*
*
******************************************************************************************/
private ScatterPlotProperties createScatterPlotProperties()
{
Stroke[] strokes = new Stroke[]{LineChartProperties.DEFAULT_LINE_STROKE};
Shape[] shapes = new Shape[]{PointChartProperties.SHAPE_CIRCLE};
return new ScatterPlotProperties( strokes, shapes );
}
/*****************************************************************************************
* Generates a random MultiDataSet
*
* @return ScatterPlotDataSet
******************************************************************************************/
private ScatterPlotDataSet createScatterPlotDataSet()
{
Point2D.Double[] points = new Point2D.Double[ 20 ];
for( int x = 0; x < 20; x++ )
{
//--- y = x^2
points[ x ] = ScatterPlotDataSet.createPoint2DDouble();
points[ x ].setLocation( x, Math.pow( x, 2 ) );
}
ScatterPlotDataSet scatterPlotDataSet = new ScatterPlotDataSet( this.createScatterPlotProperties() );
scatterPlotDataSet.addDataPoints( points, Color.red, "Proprietary" );
return scatterPlotDataSet;
}
/**********************************************************************************************
*
**********************************************************************************************/
public void service( HttpServletRequest req, HttpServletResponse httpServletResponse ) throws ServletException, IOException
{
try
{
ScatterPlotDataSet scatterPlotDataSet = this.createScatterPlotDataSet();
ScatterPlotDataSeries scatterPlotDataSeries = new ScatterPlotDataSeries( scatterPlotDataSet,
"X-Axis Title",
"Y-Axis Title",
"Chart Title" );
DataAxisProperties xAxisProperties = new DataAxisProperties();
xAxisProperties.setUserDefinedScale( -5, 3 );
xAxisProperties.setNumItems( 10 );
xAxisProperties.setRoundToNearest( 0 );
DataAxisProperties yAxisProperties = new DataAxisProperties();
yAxisProperties.setUserDefinedScale( -30, 50 );
yAxisProperties.setNumItems( 10 );
yAxisProperties.setRoundToNearest( 1 );
AxisProperties axisProperties = new AxisProperties( xAxisProperties, yAxisProperties );
ChartProperties chartProperties = new ChartProperties();
LegendProperties legendProperties = new LegendProperties();
ScatterPlotAxisChart scatterPlotAxisChart = new ScatterPlotAxisChart( scatterPlotDataSeries,
chartProperties,
axisProperties,
legendProperties,
500,
400 );
ServletEncoderHelper.encodeJPEG13( scatterPlotAxisChart, 1.0f, httpServletResponse );
}
catch( Throwable throwable )
{
//HACK do your error handling here...
throwable.printStackTrace();
}
}
}
jcharts-0.7.5/demo/simpleServlet/WEB-INF/lib/ 0000755 0001750 0000144 00000000000 07751071402 017574 5 ustar onkar users jcharts-0.7.5/demo/simpleServlet/WEB-INF/web.xml 0000644 0001750 0000144 00000004223 07751071402 020326 0 ustar onkar users
jCharts - Simple Servlet Examples Web Application
PieChart2DServlet
org.jCharts.demo.simpleServlet.PieChart2DServlet
BarChartServlet
org.jCharts.demo.simpleServlet.BarChartServlet
ComboChartServlet
org.jCharts.demo.simpleServlet.ComboChartServlet
ScatterPlotChartServlet
org.jCharts.demo.simpleServlet.ScatterPlotChartServlet
HorizontalBarImageMapServlet
org.jCharts.demo.simpleServlet.HorizontalBarImageMapServlet
ChartServlet
org.jCharts.demo.simpleServlet.ChartServlet
PieChart2DServlet
/PieChart2DServlet/*
BarChartServlet
/BarChartServlet/*
ComboChartServlet
/ComboChartServlet/*
ScatterPlotChartServlet
/ScatterPlotChartServlet/*
HorizontalBarImageMapServlet
/HorizontalBarImageMapServlet/*
ChartServlet
/ChartServlet/*
jcharts-0.7.5/demo/simpleServlet/chart.jsp 0000644 0001750 0000144 00000010771 07751071402 017624 0 ustar onkar users <%@ page import="java.awt.*,org.jCharts.*,org.jCharts.chartData.*,org.jCharts.properties.*,org.jCharts.types.ChartType,org.jCharts.axisChart.*,org.jCharts.test.TestDataGenerator,org.jCharts.encoders.JPEGEncoder13,org.jCharts.properties.util.ChartFont,
org.jCharts.encoders.ServletEncoderHelper"%><%
/**************************************************************************************
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided
* that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright
* statements and notices. Redistributions must also contain a
* copy of this document.
*
* 2. Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
* endorse or promote products derived from this Software without
* prior written permission of Nathaniel G. Auvil. For written
* permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts"
* nor may "jCharts" appear in their names without prior written
* permission of Nathaniel G. Auvil. jCharts is a registered
* trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project
* (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
**********************************************************************************/
try
{
//From AxisChartServlet.java:init()
LegendProperties legendProperties = new LegendProperties();
ChartProperties chartProperties = new ChartProperties();
AxisProperties axisProperties = new AxisProperties( false );
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
Stroke[] strokes= { LineChartProperties.DEFAULT_LINE_STROKE, LineChartProperties.DEFAULT_LINE_STROKE, LineChartProperties.DEFAULT_LINE_STROKE };
Shape[] shapes= { PointChartProperties.SHAPE_TRIANGLE,PointChartProperties.SHAPE_DIAMOND, PointChartProperties.SHAPE_CIRCLE };
LineChartProperties lineChartProperties = new LineChartProperties(strokes,shapes);
String[] xAxisLabels= { "1998", "1999", "2000", "2001", "2002", "2003", "2004"};
String xAxisTitle= "Years";
String yAxisTitle= "Problems";
String title= "Micro$oft At Work";
DataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle,title );
//From AxisChartServlet.java:createAxisChartDataSet
double[][] data= TestDataGenerator.getRandomNumbers( 3, 7, 200, 500 );
String[] legendLabels= { "Bugs", "Security Holes", "Backdoors" };
Paint[] paints= TestDataGenerator.getRandomPaints( 3 );
AxisChartDataSet acds = new AxisChartDataSet(data, legendLabels, paints,ChartType.LINE, lineChartProperties );
dataSeries.addIAxisPlotDataSet(acds);
AxisChart axisChart = new AxisChart(dataSeries, chartProperties, axisProperties,legendProperties, 550, 360);
ServletEncoderHelper.encodeJPEG13(axisChart, 1.0f, response);
}
catch(Exception e)
{
System.out.println(e);
}
%> jcharts-0.7.5/demo/simpleServlet/imageMapChart.jsp 0000644 0001750 0000144 00000011005 07751071402 021214 0 ustar onkar users
<%@page import="org.jCharts.demo.simpleServlet.ChartServlet" %>
<%@page import="org.jCharts.imageMap.*" %>
<%@page import="java.util.Iterator" %>
<%
/**************************************************************************************
* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
*
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided
* that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright
* statements and notices. Redistributions must also contain a
* copy of this document.
*
* 2. Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
* endorse or promote products derived from this Software without
* prior written permission of Nathaniel G. Auvil. For written
* permission, please contact nathaniel_auvil@users.sourceforge.net
*
* 4. Products derived from this Software may not be called "jCharts"
* nor may "jCharts" appear in their names without prior written
* permission of Nathaniel G. Auvil. jCharts is a registered
* trademark of Nathaniel G. Auvil.
*
* 5. Due credit should be given to the jCharts Project
* (http://jcharts.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
**********************************************************************************/
%>
jCharts - Client-side Image Map Demo
 |
Client-side Image Map Demo |
Click on the chart to see the values.
This is a trivial example of what is possible.
For example, you could create a mouseOver function to show the values when the mouse simply moves over the chart.
Or, you could use this to drill down into charts. Or you could link to other pages... There are many things one could do...
I will leave the rest to your imagination and your html coder...
jcharts-0.7.5/demo/simpleServlet/index.html 0000644 0001750 0000144 00000010167 07751071402 020001 0 ustar onkar users
jCharts - Simple Servlet Examples
 |
jCharts Simple Servlet Demo's |
Here is a chart generated directly from a JSP, although, this is not a good design to follow, as
the preferred way to generate a chart, is to use a Servlet.
|
These examples were tested with Tomcat 4.0.4 and the jdk 1.4 and jdk 1.3
|
jcharts-0.7.5/demo/simpleServlet/jChartsTitle.png 0000644 0001750 0000144 00000007235 07751071402 021114 0 ustar onkar users ‰PNG
IHDR È A …|Ù tEXtCreation Time Ñ-1¢íÞ tIMEÑ/ƒ/µž pHYs ÒÝ~ü IDATxÚí\OlůíþKÚPUv«
). „ì*!!ñïÀ%é %׆‡€8‘r¬{M{l’ qIÄ µ/ˆÆ ÄF…BTuJBÒ?Ijóí¼x³Ù™Yï®còk3Ÿ¬h³ž}óÞ7ï}3» cÿÿí´B,tœœÛiÓv¶Xa2™tœœŸŸ/—Ë;8°îîî|>ï8999yúôé´j÷ Ò|===£££Ž“.\8{ö¬ß®ÀÑ4G&“Áq*•Û”J%°¶X,®¬¬€: /~›¡ñ$®j‰5Záá 3gÎøêí¯\¹R„›7oŠJ{CÛioixÆÕ«WÅŠÅQP
ÌF)ÂÌ̌شOdÁö–†gHƒíåBœh†R„‘‘GÏ ÇĦÑ"4«±¤™ITÍ"úúú.]ºÇ]Úœ²ßKÚͼX%6{²ÑÙÙ™H$°ž››ûïïÞ,± ³Ù¬ãdCV«¾ÅR`bbbjjJüŠV æèÁ’öâí ÿÅkŸxåI±°ÏÀݲÃN¨Š·w„ùî»ïJŠã.TîMŠÝÇ===*VpÛu©t{â•ûíÛ·ƒ‰ÝÇÈ1ÒÁÒâ»P¹Ã·â¨¥éü¿ASËïž;t•T}÷÷÷o£ ’–<‡r‡åÈÐj·t"7—Ëù2Ã| ûWèw„L”nÞŠ ¡í8éÐÝd0Í@t§1[¤›ÉhæðF¡Ph8(kÚñÖdÔšjSzÛ kÃÃÃÞ“®Ú^« ¼Ä»œ;wÎrŽU‰ÔoX1HŒÑãF Ôž—,•G'Ä>´w¬
îidò¾GÝZ]‰·Tí¹Kw,àm7ÑE¹ƒ
7c]–«Ôƒ÷@ZáDBr·YµHƒmÍé`UPÍaÕ]T@ÔZC¨:¼/CÀ6©‰~ŸüxJ¹»¬Fpáj î¸víš‹Áªí\œWåE¤—Áª`ÑÑqw¿ÛÔV¾tASKÊ!©ÀOV*•Vl±ˆjbŠÁ=Ù
^¼xÑKçô8œ~…NBÈEÙÕÕ_©¤§j“YDªœ˜M2ªH!ݸKÄNXkµG•DKzÙ é2DÊeUùP©±f€’'ýŽ_¯r¨”–tf[aÀU(@VÎÝ"íÖeMª(–——U C¬DRý*>éòxk•ÐÄÐè]ÕØ·Þ•»ÔúZköîÜÅ,r¾}_î“’À…Xøª¡(”¾îáB,w}ƒi€pZÕbWRÃ
Ý%»öe‚—BéΓôyœôÕ(”§V¼ èR&&&h‰nvFÜŸW:pþüù†m¬ÊؤͨG¸].—³Ÿœãp´öò*Žqñeüöûr—NÄmße ¨t¨j[ß}Ò•šª±T¹×x½óžÑƒí¹K"´hhEh¼Âã`¤¢Ç½Ü4_¬byø#öé².õ/VÞsWI‡`†€¥ƒ³¨´¶µµI{hÅ»ÒL3=="¨ºDº„ô»ìx!öé2XiCù󮤕ԋ{U‹;t8Í3/ÛËû`TÜ÷+D¼@z/éë7/¤°žÑ:¼a{—>¥6ûZÏ{»
Ì"ñQ¡‹‘‡ßÉføjÝü`Z
iŒ]‚àµ-zîY=:::00àqÉ¥Oi¾–5ÍüÙˆc5#u)›Í¢8ŠK×x×¼ªBÞŠ·£¤‚ÉeÝ×k[~Ÿ{¸KO«O±±ß“oË õªöóDíå]},…Éh”ýòÛ»—E"DZÕUù“ó{÷ØÂ‚y`lÍŽkkÁníé²Ë‹¹ÒŒ%]oCBMNNªªíSÓ±˜?\yó¯P{»*@*t½øâø ð±p˜U«f¤P|ðk(džSïßOE"WGFNzûÃÌ Ä2‡rëf
Û¿ßdÕž=¸qéÆ
yë»wÙÏ?›&òf¦¯¯g’É—_¸»
ݯ¼b2˜è‹Ÿ¸jÊW_¹\’BHþüƘNäWUî܉ˆiŠ-ÝòA™p¼#f¿ÊÝײFRI×׋®&EÌݺõRooúäÉso¾ÙûòËf²À(à°juu#<|hr‹±3¯¾:öÙg
ûB¬TGûî;“(`}CåŽÙŸ~bøÀÖH„OF§
pk¤Oœ`¿þjC$†;ªÕü§ŸªÚwŸ:eŽ‚f$><õ–øAlyåý÷ãXjáÐ3öÖ{ïå>úÈÙ§ƒÜ@µZúæ¥ÍÏ>ËîÜ1ûd›=ÿùç>Fœ÷Ûo¦Kq9¨€Q//—=Ë+ÎÌœ~çdlÏ©Sq”#ž¨LJÁBÌ=tn}Ï?ß*b¥¼o¿5ãG³! ‡K?þ(m<ûûµÇàyxz÷ïµ·Ï//0@ŠT{ûFj„=ˆ=Ï‹Åéiå(¾ÿ~³@Ã{öä¿øÂÙì™gºÐÕْ̌f?þXd³“6 CfVü¢:kš6ƒ¯”Оߢ¬ð¤™ãÇÍQð¹mfð`iÉeÔ
1W©¼qéRçáÃ㯿Þuô¨É*ÊXˆ"‘¶ÅE/ý!V² ‹X…ñpwA
h‰)e%|(<µÚà/œÿúëÀ.p
2¡Ãà'7¯¤Â)´m0-ÁD"Ea_qµ'iúò6ànî“Oä}¹)—ïÛGb¥ c¬£#ñài3†žÑ>]X˜ÿë/ï£Nbf’¢¢ð‚U¸~½IgÎݽûÒ‡Þ|íµNQCÆ"ù…[x@b%‰³äh|ø¤/üóªýäÌLï‘#zƯÊ:4uäH‘¤½ÄöïŸÇÔÜŠ\Æ£çº