<?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.
  
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>	
	<div class="adminPanel">
		<div class="adminPanelColumnTable">
			<span wicket:id="navigator">[dataview navigator]</span>
			<table class="adminListTable">
				<thead>
					<tr>
						<th class="ui-widget-header"><wicket:message key="599" /></th>
						<th class="ui-widget-header"><wicket:message key="600" /></th>
						<th class="ui-widget-header"><wicket:message key="601" /></th>
						<th class="ui-widget-header"><wicket:message key="602" /></th>
						<th class="ui-widget-header"><wicket:message key="603" /></th>
						<th class="ui-widget-header"><wicket:message key="1501" /></th>
					</tr>
				</thead>
				<tbody wicket:id="container" >
					<tr wicket:id="clientList">
						<td wicket:id="id"></td>
						<td wicket:id="login"></td>
						<td wicket:id="since"></td>
						<td wicket:id="scope"></td>
						<td><a wicket:id="kick"><wicket:message key="603" /></a></td>
						<td wicket:id="server"></td>
					</tr>
				</tbody>
				<tbody wicket:id="containerWeb" >
					<tr wicket:id="clientListWeb">
						<td wicket:id="id"></td>
						<td wicket:id="login"></td>
						<td wicket:id="since"></td>
						<td wicket:id="scope"></td>
						<td><a wicket:id="kick"><wicket:message key="603" /></a></td>
						<td>&nbsp;</td>
					</tr>
				</tbody>
			</table>
		</div>
		<div class="adminPanelColumnForm">
			<table wicket:id="details" style="width: 450px;">
				<tr wicket:id="line"><td wicket:id="name"></td><td wicket:id="value"></td></tr>
			</table>
		</div>
	</div>
</wicket:panel>
</html>
