<?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.
 -->
<classpath>
	<classpathentry kind="src" path="src/axis/java"/>
	<classpathentry kind="src" path="src/db/java"/>
	<classpathentry kind="src" path="src/doc/java"/>
	<classpathentry kind="src" path="src/install/java"/>
	<classpathentry kind="src" path="src/main/java"/>
	<classpathentry kind="src" path="src/test/java"/>
	<classpathentry kind="src" path="src/main/webapp/WEB-INF/classes"/>
	<classpathentry kind="src" path="src/screenshare/java"/>
	<classpathentry kind="src" path="src/util/java"/>
	<classpathentry kind="src" path="src/web/java"/>
	<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4">
		<attributes>
			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
		</attributes>
	</classpathentry>
	<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=Openmeetings+3.0.x&amp;ivyXmlPath=ivy.xml&amp;confs=*&amp;ivySettingsPath=%24%7Bworkspace_loc%3AOpenmeetings+3.0.x%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="/>
	<classpathentry kind="lib" path="build/lib/java_16_tools.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/red5-io-1.0.5-RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/red5-server.jar" sourcepath="build/red5/server/src/main/java"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/red5-server-common-1.0.5-RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/slf4j-api-1.7.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-core-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-beans-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/mina-core-2.0.8.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/quartz-2.1.7.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/log4j-over-slf4j-1.7.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-collections-3.2.1.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-web-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-beanutils-1.9.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-lang3-3.3.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/logback-core-1.1.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/logback-classic-1.1.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-expression-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-context-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-context-support-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/aopalliance-1.0.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-aop-4.0.8.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-pool-1.5.6.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/ehcache-core-2.6.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/plugins/tomcat-embed-core.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/bcprov-jdk15on-1.51.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/cglib-nodep-2.2.2.jar"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
		<attributes>
			<attribute name="owner.project.facets" value="java"/>
		</attributes>
	</classpathentry>
	<classpathentry kind="output" path="build/classes/eclipse"/>
</classpath>
