<!--***********************************************************
 * 
 * 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.
 * 
 ***********************************************************-->

<list>
    <filename>component/binaryurp/source/binaryurp.component</filename>
    <filename>component/io/source/acceptor/acceptor.component</filename>
    <filename>bootstrap.component</filename>
    <filename>component/io/source/connector/connector.component</filename>
    <filename>introspection.component</filename>
    <filename>invocadapt.component</filename>
    <filename>invocation.component</filename>
    <filename>javaloader.component</filename>
    <filename>javavm.component</filename>
    <filename>component/javaunohelper/util/juh.component</filename>
    <filename>namingservice.component</filename>
    <filename>proxyfac.component</filename>
    <filename>reflection.component</filename>
    <filename>stocservices.component</filename>
    <filename>component/io/source/stm/streams.component</filename>
    <filename>component/io/source/TextInputStream/textinstream.component</filename>
    <filename>component/io/source/TextOutputStream/textoutstream.component</filename>
    <filename>component/remotebridges/source/unourl_resolver/uuresolver.component</filename>
</list>
