<!DOCTYPE html>
<!--
 * 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 lang="en"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
      
<h:body>
	
	 <ui:composition template="/_template.xhtml">
	    <ui:define name="pageName">
	    	<h1>meter and progress Index</h1>
	    </ui:define>

		<ui:define name="content">
	    	<ul>
				<li><h:link outcome="meterProgress/meterProgress01" value="Simple progress"/></li>
			</ul>
	    </ui:define>
			
	</ui:composition>
	
</h:body>
</html>
