<?xml version="1.0"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->

<componentPackage>
<component id="AreaSeriesAutomationImpl" class="mx.automation.delegates.charts.AreaSeriesAutomationImpl"/>
<component id="AxisRendererAutomationImpl" class="mx.automation.delegates.charts.AxisRendererAutomationImpl"/>
<component id="BarSeriesAutomationImpl" class="mx.automation.delegates.charts.BarSeriesAutomationImpl"/>
<component id="BubbleSeriesAutomationImpl" class="mx.automation.delegates.charts.BubbleSeriesAutomationImpl"/>
<component id="CartesianChartAutomationImpl" class="mx.automation.delegates.charts.CartesianChartAutomationImpl"/>
<component id="ChartBaseAutomationImpl" class="mx.automation.delegates.charts.ChartBaseAutomationImpl"/>
<component id="ColumnSeriesAutomationImpl" class="mx.automation.delegates.charts.ColumnSeriesAutomationImpl"/>
<component id="HLOCSeriesBaseAutomationImpl" class="mx.automation.delegates.charts.HLOCSeriesBaseAutomationImpl"/>
<component id="LegendAutomationImpl" class="mx.automation.delegates.charts.LegendAutomationImpl"/>
<component id="LegendItemAutomationImpl" class="mx.automation.delegates.charts.LegendItemAutomationImpl"/>
<component id="LineSeriesAutomationImpl" class="mx.automation.delegates.charts.LineSeriesAutomationImpl"/>
<component id="PieSeriesAutomationImpl" class="mx.automation.delegates.charts.PieSeriesAutomationImpl"/>
<component id="PlotSeriesAutomationImpl" class="mx.automation.delegates.charts.PlotSeriesAutomationImpl"/>
<component id="SeriesAutomationImpl" class="mx.automation.delegates.charts.SeriesAutomationImpl"/>

<component id="AdvancedDataGridAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedDataGridAutomationImpl"/>
<component id="AdvancedDataGridBaseExAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedDataGridBaseExAutomationImpl"/>
<component id="AdvancedDataGridGroupItemRendererAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedDataGridGroupItemRendererAutomationImpl"/>
<component id="AdvancedDataGridItemRendererAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedDataGridItemRendererAutomationImpl"/>
<component id="AdvancedListBaseAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedListBaseAutomationImpl"/>
<component id="AdvancedListBaseContentHolderAutomationImpl" class="mx.automation.delegates.advancedDataGrid.AdvancedListBaseContentHolderAutomationImpl"/>
<component id="OLAPDataGridAutomationImpl" class="mx.automation.delegates.advancedDataGrid.OLAPDataGridAutomationImpl"/>
<component id="OLAPDataGridGroupRendererAutomationImpl" class="mx.automation.delegates.advancedDataGrid.OLAPDataGridGroupRendererAutomationImpl"/>

</componentPackage>
