<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 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.
-->
<project name="RNG"
    xmlns="http://maven.apache.org/DECORATION/1.6.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 http://maven.apache.org/xsd/decoration-1.6.0.xsd">
  <bannerRight>
    <name>Apache Commons RNG</name>
    <!-- Use a full URL allows a correct banner for the modules. -->
    <src>https://commons.apache.org/proper/commons-rng/images/commons_rng.small.png</src>
    <href>https://commons.apache.org/proper/commons-rng/index.html</href>
  </bannerRight>

  <body>
    <head>
      <![CDATA[<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
      </script>]]>
    </head>

    <menu name="RNG">
      <item name="Overview" href="/index.html"/>
      <item name="Downloads" href="https://commons.apache.org/rng/download_rng.cgi"/>
      <item name="Issue Tracking" href="/issue-tracking.html"/>
      <item name="Source Repository (current)"
         href="http://gitbox.apache.org/repos/asf/commons-rng.git"/>
      <!-- <item name="Wiki"   -->
      <!--       href="http://wiki.apache.org/commons/RNG"/> -->
      <item name="Developers Guide" href="/developers.html"/>
      <item name="Release History" href="/release-history.html" />
    </menu>

    <menu name="User Guide">
      <item name="Contents" href="/userguide/index.html"/>
    </menu>
  </body>

  <custom>
    <!-- Custom properties controlling the commons-skin template. -->
    <commonsSkin>
      <!-- 
        Convert preformatted source section tags to prettyprint:
          <div class="source"><pre> to <div class="source"><pre class="prettyprint">
      -->
      <prettyPrintSourcePreTags>true</prettyPrintSourcePreTags>

      <!-- Add the "linenums" class to the prettyprint enabled source tags -->
      <prettyPrintLineNumbersEnabled>false</prettyPrintLineNumbersEnabled>
    </commonsSkin>
  </custom>
</project>
