<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
 * 
 * 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.
 * 
 ***********************************************************-->


<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:install="http://openoffice.org/2004/installation" oor:package="org.openoffice.Office" oor:name="Embedding">
  <node oor:name="Objects">
    <node oor:name="D7896D52-B7AF-4820-9DFE-D404D015960F" oor:op="replace" >
      <prop oor:name="ObjectFactory">
        <value>com.sun.star.embed.OOoEmbeddedObjectFactory</value>
      </prop>
      <prop oor:name="ObjectDocumentServiceName">
        <value>com.sun.star.report.ReportDefinition</value>
      </prop>
      <prop oor:name="ObjectMiscStatus">
        <value>1</value>
      </prop>
      <prop oor:name="ObjectVerbs">
        <value>PRIMARY SHOW OPEN HIDE UIACTIVATE IPACTIVATE</value>
      </prop>
    </node>
    <node oor:name="80243D39-6741-46C5-926E-069164FF87BB" oor:op="replace" >
      <prop oor:name="ObjectFactory">
        <value>com.sun.star.embed.OOoEmbeddedObjectFactory</value>
      </prop>
      <prop oor:name="ObjectDocumentServiceName">
        <value>com.sun.star.chart2.ChartDocument</value>
      </prop>
      <prop oor:name="ObjectDocumentFilterName">
        <value>StarOffice XML (Base) Report Chart</value>
      </prop>
      <prop oor:name="ObjectMiscStatus">
        <value>1</value>
      </prop>
      <prop oor:name="ObjectVerbs">
        <value>PRIMARY SHOW OPEN HIDE UIACTIVATE IPACTIVATE</value>
      </prop>
    </node>
  </node>
  <node oor:name="MimeTypeClassIDRelations">
    <prop oor:name="application/vnd.sun.xml.report.chart" oor:op="replace" oor:type="xs:string">
      <value>80243D39-6741-46C5-926E-069164FF87BB</value>
    </prop>
    <prop oor:name="application/vnd.sun.xml.report" oor:op="replace" oor:type="xs:string">
      <value>D7896D52-B7AF-4820-9DFE-D404D015960F</value>
    </prop>
  </node>
</oor:component-data>

