<?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="formSaveBar ui-widget-header">
			<div class="formSaveButton">
				<input type="submit" value="" wicket:id="ajax-save-button" wicket:ommessage="title:144" />
			</div>
			<div class="formRefreshButton">
				<input type="submit" value="" wicket:id="ajax-refresh-button" wicket:ommessage="title:156" />
			</div>
			<wicket:child/>
		</div>
		<div wicket:id="feedback" class="adminFormsFeedbackPanel">[[ feedback ]]</div>
	</wicket:panel>
</html>
