<!--
Copyright (C) 2014 Apple Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-->
<!DOCTYPE html>
<html>
<head>
    <title>WebKit Bot Watcher's Dashboard Metrics</title>

    <link rel="stylesheet" href="Styles/Main.css"></link>
    <link rel="stylesheet" href="Styles/QueueView.css"></link>
    <link rel="stylesheet" href="Styles/Metrics.css"></link>
    <link rel="stylesheet" href="External/daterangepicker.css"></link>

    <script src="Scripts/Utilities.js"></script>
    <script src="Scripts/BaseObject.js"></script>
    <script src="Scripts/Dashboard.js"></script>
    <script src="Scripts/Buildbot.js"></script>
    <script src="Scripts/BubbleQueueServer.js"></script>
    <script src="Scripts/WebKitBuildbot.js"></script>
    <script src="Scripts/BuildbotQueue.js"></script>
    <script src="Scripts/BubbleQueue.js"></script>
    <script src="Scripts/BuildbotIteration.js"></script>
    <script src="Scripts/BuildbotTestResults.js"></script>
    <script src="Scripts/Settings.js"></script>
    <script src="Scripts/Trac.js"></script>
    <script src="Scripts/Initialization.js"></script>
    <script src="Scripts/MetricsAnalyzer.js"></script>
    <script src="Scripts/MetricsView.js"></script>
    <script src="Scripts/MetricsBubbleView.js"></script>
    <script src="External/jquery-1.11.1.min.js"></script>
    <script src="External/moment.min.js"></script>
    <script src="External/jquery.daterangepicker.js"></script>
    <script src="Scripts/MetricsMain.js"></script>
</head>
<body></body>
</html>
