#   Licensed 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.
project.version=3.0.4
project.status=SNAPSHOT
project.distname=openmeetings
ivy.install.version=2.4.0
maven.version=3.2.2
red5.server.version=1.0.5-RELEASE
laszlo.proxied=solo
wicket.mode=DEPLOYMENT
backup.file.list=backup_v_1_4_rc1_r3326.zip,backup_v_1_5_rc1_r3393.zip,backup_v_1_6_2_r3675.zip,backup_v_1_7_0_r3822.zip,backup_v_1_8_8_r4555.zip,backup_v_1_9_1_r4707.zip,backup_v_2_0_0_r1361497.zip,backup_v_3_0_0_r1573585.zip
db=derby
screensharing.keystore.password=secret
screensharing.keystore.alias=screen
rtmp.max.time=5000
