<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    Copyright (c) 2021 Contributors to Eclipse Foundation.
    Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

  <!-- ======================== Introduction ============================== -->


  <!-- The default deployment descriptor.                                   -->
  <!--                                                                      -->
  <!-- The default deployment descriptor specifies default deployment       -->
  <!-- descriptor values inherited by any web applications deployed to      -->
  <!-- the application server.                                              -->


  <!-- ============ Built In Context Init Parameter Definitions =========== -->


  <!-- Init parameter to force the XML validation of JSF configuration  -->
  <!-- resources.                                                       -->

  <context-param>
      <param-name>com.sun.faces.validateXml</param-name>
      <param-value>true</param-value>
  </context-param>

  <!-- Init parameter will cause the JSF implementation to bypass      -->
  <!-- processing the web.xml to determine if we should continue       -->
  <!-- bootstrapping JSF for the web application.                      -->

  <context-param>
      <param-name>com.sun.faces.forceLoadConfiguration</param-name>
      <param-value>true</param-value>
  </context-param>


  <!-- ================== Built In Servlet Definitions ==================== -->


  <!-- The DefaultServlet, which is responsible for serving static          -->
  <!-- resources.                                                           -->
  <!-- This servlet processes any requests that are not mapped to other     -->
  <!-- servlets with servlet mappings (defined either here or in your own   -->
  <!-- web.xml file.  This servlet supports the following initialization    -->
  <!-- parameters (default values have been placed in square brackets):     -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   fileEncoding        Encoding to be used to read static resources   -->
  <!--                       [platform default]                             -->
  <!--                                                                      -->
  <!--   input               Input buffer size (in bytes) when reading      -->
  <!--                       resources to be served.  [2048]                -->
  <!--                                                                      -->
  <!--   listings            Should directory listings be produced if there -->
  <!--                       is no welcome file in this directory?  [false] -->
  <!--                       WARNING: Listings for directories with many    -->
  <!--                       entries can be slow and may consume            -->
  <!--                       significant proportions of server resources.   -->
  <!--                                                                      -->
  <!--   sortedBy            Specifies the criteria that will be used for   -->
  <!--                       sorting directory entries. Legal values are    -->
  <!--                       NAME, SIZE, and LAST_MODIFIED.  [NAME]         -->
  <!--                                                                      -->
  <!--   output              Output buffer size (in bytes) when writing     -->
  <!--                       resources to be served.  [2048]                -->
  <!--                                                                      -->
  <!--   readonly            Is this context "read only", so HTTP           -->
  <!--                       commands like PUT and DELETE are               -->
  <!--                       rejected?  [true]                              -->
  <!--                                                                      -->
  <!--   readmeFile          File name to display with the directory        -->
  <!--                       contents. [null]                               -->
  <!--                                                                      -->
  <!--   sendfileSize        If the connector used supports sendfile, this  -->
  <!--                       represents the minimal file size in KB for     -->
  <!--                       which sendfile will be used. Use a negative    -->
  <!--                       value to always disable sendfile.  [48]        -->
  <!--                                                                      -->
  <!--   useAcceptRanges     Should the Accept-Ranges header be included    -->
  <!--                       in responses where appropriate? [true]         -->
  <!--                                                                      -->
  <!--   maxHeaderRangeItems The max number of items in Range header.       -->
  <!--                       -1 means unbounded.  [10]                      -->
  <!--                                                                      -->
  <!--  For directory listing customization. Checks localXsltFile, then     -->
  <!--  globalXsltFile, then defaults to original behavior.                 -->
  <!--                                                                      -->
  <!--   localXsltFile       Make directory listings an XML doc and         -->
  <!--                       pass the result to this style sheet residing   -->
  <!--                       in that directory. This overrides              -->
  <!--                        globalXsltFile[null]                          -->
  <!--                                                                      -->
  <!--   globalXsltFile      Site wide configuration version of             -->
  <!--                       localXsltFile This argument is expected        -->
  <!--                       to be a physical file. [null]                  -->

  <servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>listings</param-name>
      <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>


  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
  <!-- used by the application server to support JSP pages.  Traditionally, -->
  <!-- this servlet is mapped to the URL pattern "*.jsp".                   -->
  <!-- This servlet supports the following initialization parameters        -->
  <!-- (default values have been placed in square brackets):                -->
  <!--                                                                      -->
  <!--   checkInterval       If development is false and checkInterval is   -->
  <!--                       greater than zero, background compilations are -->
  <!--                       enabled. checkInterval is the time in seconds  -->
  <!--                       between checks to see if a JSP page needs to   -->
  <!--                       be recompiled. [0]                             -->
  <!--                                                                      -->
  <!--   modificationTestInterval                                           -->
  <!--                       Causes a JSP (and its dependent files) to not  -->
  <!--                       be checked for modification during the         -->
  <!--                       specified time interval (in seconds) from the  -->
  <!--                       last time the JSP was checked for              -->
  <!--                       modification. A value of 0 will cause the JSP  -->
  <!--                       to be checked on every access.                 -->
  <!--                       Used in development mode only. [0]             -->
  <!--                                                                      -->
  <!--   compiler            Which compiler Ant should use to compile JSP   -->
  <!--                       pages.  See the Ant documentation for more     -->
  <!--                       information. [javac]                           -->
  <!--                                                                      -->
  <!--   classdebuginfo      Should the class file be compiled with         -->
  <!--                       debugging information?  [true]                 -->
  <!--                                                                      -->
  <!--   classpath           What class path should I use while compiling   -->
  <!--                       generated servlets?  [Created dynamically      -->
  <!--                       based on the current web application]          -->
  <!--                                                                      -->
  <!--   development         Is Jasper used in development mode? If true,   -->
  <!--                       the frequency at which JSPs are checked for    -->
  <!--                       modification may be specified via the          -->
  <!--                       modificationTestInterval parameter. [true]     -->
  <!--                                                                      -->
  <!--   enablePooling       Determines whether tag handler pooling is      -->
  <!--                       enabled  [true]                                -->
  <!--                                                                      -->
  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
  <!--                       JSP pages are compiled in their own JVM        -->
  <!--                       (separate from the JVM that the application    -->
  <!--                       server is running in). [true]                  -->
  <!--                                                                      -->
  <!--   ieClassId           The class-id value to be sent to Internet      -->
  <!--                       Explorer when using <jsp:plugin> tags.         -->
  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
  <!--                                                                      -->
  <!--   javaEncoding        Java file encoding to use for generating java  -->
  <!--                       source files. [UTF8]                           -->
  <!--                                                                      -->
  <!--   keepgenerated       Should we keep the generated Java source code  -->
  <!--                       for each page instead of deleting it?          -->
  <!--                       [true with JDK 5 and before, or for jspc]      -->
  <!--                       [false otherwise]                              -->
  <!--                                                                      -->
  <!--   saveBytecode        Should the generated byte code be saved to     -->
  <!--                       .class files?  This option is meaningful only  -->
  <!--                       when Java compiler API, JSR199 (available with -->
  <!--                       JDK 6) is used for javac compilations.         -->
  <!--                       [false] [true for jspc]                        -->
  <!--                                                                      -->
  <!--   mappedfile          Should we generate static content with one     -->
  <!--                       print statement per input line, to ease        -->
  <!--                       debugging?  [true]                             -->
  <!--                                                                      -->
  <!--   trimSpaces          Should white spaces in template text between   -->
  <!--                       actions or directives be trimmed?  [false]     -->
  <!--                                                                      -->
  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
  <!--                       debugging be suppressed?  [false]              -->
  <!--                                                                      -->
  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
  <!--                       dumped to a file? [false]                      -->
  <!--                       False if suppressSmap is true                  -->
  <!--                                                                      -->
  <!--   genStrAsCharArray   Should text strings be generated as char       -->
  <!--                       arrays, to improve performance in some cases?  -->
  <!--                       [false]                                        -->
  <!--                                                                      -->
  <!--   genStrAsByteArray   Should text strings be generated as bytes      -->
  <!--                       (encoded with the page encoding), if the page  -->
  <!--                       is not buffered?                               -->
  <!--                       [true]                                         -->
  <!--                                                                      -->
  <!--   defaultBufferNone   Should the default for the buffer attribute of -->
  <!--                       the page directive be "none"?  [false]         -->
  <!--                                                                      -->
  <!--   errorOnUseBeanInvalidClassAttribute                                -->
  <!--                       Should Jasper issue an error when the value of -->
  <!--                       the class attribute in an useBean action is    -->
  <!--                       not a valid bean class?  [false]               -->
  <!--                                                                      -->
  <!--   scratchdir          What scratch directory should we use when      -->
  <!--                       compiling JSP pages?  [default work directory  -->
  <!--                       for the current web application]               -->
  <!--                                                                      -->
  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
  <!--                       header is added by generated servlet  [true]   -->
  <!--                                                                      -->
  <!--   usePrecompiled      If true, it is assumed that JSPs have been     -->
  <!--                       precompiled, and their corresponding servlet   -->
  <!--                       classes have been bundled in the web           -->
  <!--                       application's WEB-INF/lib or WEB-INF/classes,  -->
  <!--                       so that when a JSP is accessed, it is not      -->
  <!--                       compiled, and instead, its precompiled servlet -->
  <!--                       class is used. [false]                         -->
  <!--                                                                      -->
  <!--   use-precompiled     Same as usePrecompiled. If both are specified, -->
  <!--                       usePrecompiled takes precedence                -->
  <!--                                                                      -->
  <!--   initialCapacity     Initial capacity of HashMap mapping JSPs to    -->
  <!--                       their corresponding servlets [32]              -->
  <!--                                                                      -->
  <!--   initial-capacity    Same as initialCapacity. If both are specified,-->
  <!--                       initialCapacity takes precedence               -->
  <!--                                                                      -->
  <!--   httpMethods         Comma separated list of HTTP methods supported -->
  <!--                       by the JspServlet. Wildcard ("*") denotes      -->
  <!--                       "ALL METHODS". [ALL METHODS]                   -->
  <!--                                                                      -->
  <!--   reload-interval     Specifies the frequency (in seconds) at which  -->
  <!--                       JSP files are checked for modifications.       -->
  <!--                       Setting this value to 0 checks JSPs for        -->
  <!--                       modifications on every request. Setting this   -->
  <!--                       value to -1 disables checks for JSP            -->
  <!--                       modifications and JSP recompilation.           -->
  <!--                                                                      -->
  <!--   compilerSourceVM    Provides source compatibility with the         -->
  <!--                       specified JDK release (same as -source         -->
  <!--                       javac command-line switch)                     -->
  <!--                                                                      -->
  <!--   compilerTargetVM    Generates class files for specified VM version -->
  <!--                       (same as -target javac command-line switch)    -->
  <!--                                                                      -->
  <!-- If you wish to use Jikes to compile JSP pages:                       -->
  <!-- * Set the "classpath" initialization parameter appropriately         -->
  <!--   for this web application.                                          -->
  <!-- * Set the "jspCompilerPlugin" initialization parameter to            -->
  <!--   "org.glassfish.wasp.compiler.JikesJavaCompiler".                    -->

  <servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
    <init-param>
      <param-name>xpoweredBy</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>httpMethods</param-name>
      <param-value>GET,POST,HEAD</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
  </servlet>


  <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
  <!--                                                                      -->
  <!-- Server Side Includes processing servlet, which processes SSI         -->
  <!-- directives in HTML pages consistent with similar support in web      -->
  <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
  <!-- URL pattern "*.shtml".  This servlet supports the following          -->
  <!-- initialization parameters (default values are in square brackets):   -->
  <!--                                                                      -->
  <!--   buffered            Should output from this servlet be buffered?   -->
  <!--                       (0=false, 1=true)  [0]                         -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   expires             The number of seconds before a page with SSI   -->
  <!--                       directives will expire.  [No default]          -->
  <!--                                                                      -->
  <!--   isVirtualWebappRelative                                            -->
  <!--                       Should "virtual" paths be interpreted as       -->
  <!--                       relative to the context root, instead of       -->
  <!--                       the server root?  (0=false, 1=true) [0]        -->
  <!--                                                                      -->
  <!--   inputEncoding       The encoding to assume for SSI resources if    -->
  <!--                       one is not available from the resource.        -->
  <!--                       [Platform default]                             -->
  <!--                                                                      -->
  <!--   outputEncoding      The encoding to use for the page that results  -->
  <!--                       from the SSI processing. [UTF-8]               -->

<!--
  <servlet>
    <servlet-name>ssi</servlet-name>
    <servlet-class>org.apache.catalina.ssi.SSIServlet</servlet-class>
    <init-param>
      <param-name>buffered</param-name>
      <param-value>1</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>expires</param-name>
      <param-value>666</param-value>
    </init-param>
    <init-param>
      <param-name>isVirtualWebappRelative</param-name>
      <param-value>0</param-value>
    </init-param>
    <load-on-startup>4</load-on-startup>
  </servlet>
-->


  <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
  <!-- execution of external applications that conform to the CGI spec      -->
  <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
  <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
  <!-- executed must be present within the web application.  This servlet   -->
  <!-- supports the following initialization parameters (default values     -->
  <!-- are in square brackets):                                             -->
  <!--                                                                      -->
  <!--   cgiPathPrefix        The CGI search path will start at             -->
  <!--                        webAppRootDir + File.separator + this prefix. -->
  <!--                        [WEB-INF/cgi]                                 -->
  <!--                                                                      -->
  <!--   debug                Debugging detail level for messages logged    -->
  <!--                        by this servlet.  [0]                         -->
  <!--                                                                      -->
  <!--   executable           Name of the exectuable used to run the        -->
  <!--                        script. [perl]                                -->
  <!--                                                                      -->
  <!--   parameterEncoding    Name of parameter encoding to be used with    -->
  <!--                        CGI servlet.                                  -->
  <!--                        [System.getProperty("file.encoding","UTF-8")] -->
  <!--                                                                      -->
  <!--   passShellEnvironment Should the shell environment variables (if    -->
  <!--                        any) be passed to the CGI script? [false]     -->

<!--
  <servlet>
    <servlet-name>cgi</servlet-name>
    <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>cgiPathPrefix</param-name>
      <param-value>WEB-INF/cgi</param-value>
    </init-param>
    <load-on-startup>5</load-on-startup>
  </servlet>
-->


  <!-- ================ Built In Servlet Mappings ========================= -->

  <!-- The mapping for the default servlet -->
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- The mapping for the JSP servlet -->
  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jspx</url-pattern>
  </servlet-mapping>

  <!-- The mapping for the SSI servlet -->
<!--
  <servlet-mapping>
    <servlet-name>ssi</servlet-name>
    <url-pattern>*.shtml</url-pattern>
  </servlet-mapping>
-->

  <!-- The mapping for the CGI Gateway servlet -->
<!--
  <servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
  </servlet-mapping>
-->


  <!-- ================== Built In Filter Definitions ===================== -->

  <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
  <!--                                                                      -->
  <!-- Server Side Includes processing filter, which processes SSI          -->
  <!-- directives in HTML pages consistent with similar support in web      -->
  <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
  <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
  <!-- selectively enable/disable SSI processing based on mime types. For   -->
  <!-- this to work you will need to uncomment the .shtml mime type         -->
  <!-- definition towards the bottom of this file.                          -->
  <!-- The contentType init param allows you to apply SSI processing to JSP -->
  <!-- pages, javascript, or any other content you wish.  This filter       -->
  <!-- supports the following initialization parameters (default values are -->
  <!-- in square brackets):                                                 -->
  <!--                                                                      -->
  <!--   contentType         A regex pattern that must be matched before    -->
  <!--                       SSI processing is applied.                     -->
  <!--                       [text/x-server-parsed-html(;.*)?]              -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   expires             The number of seconds before a page with SSI   -->
  <!--                       directives will expire.  [No default]          -->
  <!--                                                                      -->
  <!--   isVirtualWebappRelative                                            -->
  <!--                       Should "virtual" paths be interpreted as       -->
  <!--                       relative to the context root, instead of       -->
  <!--                       the server root?  (0=false, 1=true) [0]        -->

<!--
  <filter>
    <filter-name>ssi</filter-name>
    <filter-class>
      org.apache.catalina.ssi.SSIFilter
    </filter-class>
    <init-param>
      <param-name>contentType</param-name>
      <param-value>text/x-server-parsed-html(;.*)?</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>expires</param-name>
      <param-value>666</param-value>
    </init-param>
    <init-param>
      <param-name>isVirtualWebappRelative</param-name>
      <param-value>0</param-value>
    </init-param>
  </filter>
-->


  <!-- ==================== Built In Filter Mappings ====================== -->

  <!-- The mapping for the SSI Filter -->
<!--
  <filter-mapping>
    <filter-name>ssi</filter-name>
    <url-pattern>*.shtml</url-pattern>
  </filter-mapping>
-->


  <!-- ==================== Default Session Configuration ================= -->

  <!-- You can set the default session timeout (in minutes) for all newly   -->
  <!-- created sessions by modifying the value below.                       -->

  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>


  <!-- ===================== Default MIME Type Mappings =================== -->

  <!-- When serving static resources, the application server will           -->
  <!-- automatically generate a "Content-Type" response header from the     -->
  <!-- filename extension of the resource, based on these mappings.         -->
  <!-- Additional mappings may be specified here (to be shared by all       -->
  <!-- web applications) or in a web application's web.xml deployment       -->
  <!-- descriptor (for that web application's individual use).              -->

  <mime-mapping>
    <extension>abs</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ai</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aif</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aifc</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aiff</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aim</extension>
    <mime-type>application/x-aim</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>art</extension>
    <mime-type>image/x-jg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>asf</extension>
    <mime-type>video/x-ms-asf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>asx</extension>
    <mime-type>video/x-ms-asf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>au</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>avi</extension>
    <mime-type>video/x-msvideo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>avx</extension>
    <mime-type>video/x-rad-screenplay</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bcpio</extension>
    <mime-type>application/x-bcpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bin</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bmp</extension>
    <mime-type>image/bmp</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>body</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cdf</extension>
    <mime-type>application/x-cdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cer</extension>
    <mime-type>application/x-x509-ca-cert</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>class</extension>
    <mime-type>application/java</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cpio</extension>
    <mime-type>application/x-cpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>csh</extension>
    <mime-type>application/x-csh</mime-type>
  </mime-mapping>
   <mime-mapping>
    <extension>css</extension>
    <mime-type>text/css</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dib</extension>
    <mime-type>image/bmp</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>doc</extension>
    <mime-type>application/msword</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dtd</extension>
    <mime-type>application/xml-dtd</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dv</extension>
    <mime-type>video/x-dv</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dvi</extension>
    <mime-type>application/x-dvi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>eps</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>etx</extension>
    <mime-type>text/x-setext</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>exe</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gif</extension>
    <mime-type>image/gif</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gk</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gtar</extension>
    <mime-type>application/x-gtar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gz</extension>
    <mime-type>application/x-gzip</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hdf</extension>
    <mime-type>application/x-hdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hqx</extension>
    <mime-type>application/mac-binhex40</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>htc</extension>
    <mime-type>text/x-component</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>htm</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hqx</extension>
    <mime-type>application/mac-binhex40</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ico</extension>
    <mime-type>image/x-icon</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ief</extension>
    <mime-type>image/ief</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jad</extension>
    <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jar</extension>
    <mime-type>application/java-archive</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>java</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpe</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpeg</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpg</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>js</extension>
    <mime-type>text/javascript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>json</extension>
    <mime-type>application/json</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>kar</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>latex</extension>
    <mime-type>application/x-latex</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>m3u</extension>
    <mime-type>audio/x-mpegurl</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mac</extension>
    <mime-type>image/x-macpaint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>man</extension>
    <mime-type>application/x-troff-man</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mathml</extension>
    <mime-type>application/mathml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>me</extension>
    <mime-type>application/x-troff-me</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mid</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>midi</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mif</extension>
    <mime-type>application/x-mif</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mov</extension>
    <mime-type>video/quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>movie</extension>
    <mime-type>video/x-sgi-movie</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp1</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp2</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp3</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpa</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpe</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpeg</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpega</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpg</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpv2</extension>
    <mime-type>video/mpeg2</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ms</extension>
    <mime-type>application/x-wais-source</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>nc</extension>
    <mime-type>application/x-netcdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>oda</extension>
    <mime-type>application/oda</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odg</extension>
    <mime-type>application/x-vnd.oasis.opendocument.graphics</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odp</extension>
    <mime-type>application/x-vnd.oasis.opendocument.presentation</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ods</extension>
    <mime-type>application/x-vnd.oasis.opendocument.spreadsheet</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odt</extension>
    <mime-type>application/x-vnd.oasis.opendocument.text</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ogg</extension>
    <mime-type>application/ogg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pbm</extension>
    <mime-type>image/x-portable-bitmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pct</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pdf</extension>
    <mime-type>application/pdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pgm</extension>
    <mime-type>image/x-portable-graymap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pic</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pict</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pls</extension>
    <mime-type>audio/x-scpls</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>png</extension>
    <mime-type>image/png</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pnm</extension>
    <mime-type>image/x-portable-anymap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pnt</extension>
    <mime-type>image/x-macpaint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ppm</extension>
    <mime-type>image/x-portable-pixmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ppt</extension>
    <mime-type>application/powerpoint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ps</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>psd</extension>
    <mime-type>image/x-photoshop</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qt</extension>
    <mime-type>video/quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qti</extension>
    <mime-type>image/x-quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qtif</extension>
    <mime-type>image/x-quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ras</extension>
    <mime-type>image/x-cmu-raster</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rdf</extension>
    <mime-type>application/rdf+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rgb</extension>
    <mime-type>image/x-rgb</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rm</extension>
    <mime-type>application/vnd.rn-realmedia</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>roff</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rtf</extension>
    <mime-type>application/rtf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rtx</extension>
    <mime-type>text/richtext</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sh</extension>
    <mime-type>application/x-sh</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>shar</extension>
    <mime-type>application/x-shar</mime-type>
  </mime-mapping>
<!--
  <mime-mapping>
    <extension>shtml</extension>
    <mime-type>text/x-server-parsed-html</mime-type>
  </mime-mapping>
-->
  <mime-mapping>
    <extension>sit</extension>
    <mime-type>application/x-stuffit</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>smf</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>snd</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>src</extension>
    <mime-type>application/x-wais-source</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sv4cpio</extension>
    <mime-type>application/x-sv4cpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sv4crc</extension>
    <mime-type>application/x-sv4crc</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>svgz</extension>
    <mime-type>image/svg+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>swf</extension>
    <mime-type>application/x-shockwave-flash</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>t</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tar</extension>
    <mime-type>application/x-tar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tcl</extension>
    <mime-type>application/x-tcl</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tex</extension>
    <mime-type>application/x-tex</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>texi</extension>
    <mime-type>application/x-texinfo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>texinfo</extension>
    <mime-type>application/x-texinfo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tif</extension>
    <mime-type>image/tiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tiff</extension>
    <mime-type>image/tiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tr</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tsv</extension>
    <mime-type>text/tab-separated-values</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ulw</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ustar</extension>
    <mime-type>application/x-ustar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xbm</extension>
    <mime-type>image/x-xbitmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xml</extension>
    <mime-type>application/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xpm</extension>
    <mime-type>image/x-xpixmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xsl</extension>
    <mime-type>application/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xslt</extension>
    <mime-type>application/xslt+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xwd</extension>
    <mime-type>image/x-xwindowdump</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>vsd</extension>
    <mime-type>application/x-visio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>vxml</extension>
    <mime-type>application/voicexml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>wav</extension>
    <mime-type>audio/x-wav</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Wireless Bitmap -->
    <extension>wbmp</extension>
    <mime-type>image/vnd.wap.wbmp</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- WML Source -->
    <extension>wml</extension>
    <mime-type>text/vnd.wap.wml</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Compiled WML -->
    <extension>wmlc</extension>
    <mime-type>application/vnd.wap.wmlc</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- WML Script Source -->
    <extension>wmls</extension>
    <mime-type>text/vnd.wap.wmls</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Compiled WML Script -->
    <extension>wmlscriptc</extension>
    <mime-type>application/vnd.wap.wmlscriptc</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>wrl</extension>
    <mime-type>x-world/x-vrml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xht</extension>
    <mime-type>application/xhtml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xhtml</extension>
    <mime-type>application/xhtml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xls</extension>
    <mime-type>application/vnd.ms-excel</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xul</extension>
    <mime-type>application/vnd.mozilla.xul+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>z</extension>
    <mime-type>application/x-compress</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>zip</extension>
    <mime-type>application/zip</mime-type>
  </mime-mapping>


  <!-- ==================== Default Welcome File List ===================== -->

  <!-- When a request URI refers to a directory, the default servlet looks  -->
  <!-- for a "welcome file" within that directory and, if present,          -->
  <!-- to the corresponding resource URI for display.  If no welcome file   -->
  <!-- is present, the default servlet either serves a directory listing,   -->
  <!-- or returns a 404 status, depending on how it is configured.          -->
  <!--                                                                      -->
  <!-- If you define welcome files in your own application's web.xml        -->
  <!-- deployment descriptor, that list *replaces* the list configured      -->
  <!-- here, so be sure that you include any of the default values that     -->
  <!-- you wish to include.                                                 -->


  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>

</web-app>

