<!DOCTYPE html>
<!--
~ Copyright 2015 Open Networking Foundation
~
~ Licensed 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>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="imgs/bird.png">

    <title>M-CORD Subscriber Portal</title>

    <!-- bower:css -->
    <link rel="stylesheet" href="bower_components/angular-chart.js/dist/angular-chart.css" />
    <!-- endbower -->

    <!-- bower:js -->
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-animate/angular-animate.js"></script>
    <script src="bower_components/jquery/dist/jquery.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script src="bower_components/angular-cookies/angular-cookies.js"></script>
    <script src="bower_components/bootstrap-sass/assets/javascripts/bootstrap.js"></script>
    <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
    <script src="bower_components/ngmap/build/scripts/ng-map.js"></script>
    <script src="bower_components/Chart.js/Chart.js"></script>
    <script src="bower_components/angular-chart.js/dist/angular-chart.js"></script>
    <script src="bower_components/lodash/lodash.js"></script>
    <script src="bower_components/angular-recursion/angular-recursion.js"></script>
    <script src="bower_components/ng-http-cache/src/ngHttpCache.js"></script>
    <script src="bower_components/ngXosHelpers/index.js"></script>
    <script src="bower_components/moment/moment.js"></script>
    <script src="bower_components/moment-duration-format/lib/moment-duration-format.js"></script>
    <script src="bower_components/Chart.StackedBar.js/src/Chart.StackedBar.js"></script>
    <!-- endbower -->
    <script src="bower_components/ui.bootstrap/src/stackedMap/stackedMap.js"></script>
    <script src="bower_components/ui.bootstrap/src/position/position.js"></script>
    <script src="bower_components/ui.bootstrap/src/modal/modal.js"></script>
    <script src="bower_components/ui.bootstrap/src/tabs/tabs.js"></script>

    <link rel="stylesheet" href="style/main.css">

    <script src="cord.js"></script>
    <script src="dist/services/config.js"></script>
    <script src="dist/services/users.js"></script>
    <script src="dist/services/helpers.js"></script>
    <script src="dist/services/rest/enodeb.js"></script>
    <script src="dist/services/rest/profiles.js"></script>
    <script src="dist/services/rest/imsi.js"></script>

    <script src="dist/components/header/header.js"></script>
    <script src="dist/components/footer/footer.js"></script>
    <script src="dist/components/add-enodeb/add-enodeb.js"></script>
    <script src="dist/components/add-imsi/add-imsi.js"></script>
    <script src="dist/components/add-profile-to-item/add-profile-to-item.js"></script>
    <script src="dist/components/add-imsi-to-item/add-imsi-to-item.js"></script>
    <script src="dist/components/add-enode-to-item/add-enode-to-item.js"></script>
    <script src="dist/components/related-profiles/related-profiles.js"></script>
    <script src="dist/components/related-stats/related-stats.js"></script>

    <script src="dist/view/login/login.js"></script>
    <script src="dist/view/home/e-node-map.js"></script>
    <script src="dist/view/home/e-node-map-panel.js"></script>
    <script src="dist/view/enode-list/enode-list.js"></script>
    <script src="dist/view/enode-details/enode-details.js"></script>
    <script src="dist/view/imsi-list/imsi-list.js"></script>
    <script src="dist/view/imsi-details/imsi-details.js"></script>
    <script src="dist/view/profiles-list/profiles-list.js"></script>
    <script src="dist/view/profiles-details/profiles-details.js"></script>
    <script src="dist/view/services/services.js"></script>
    <script src="http://maps.google.com/maps/api/js"></script>

</head>
<body ng-app="mCord">
<div class="app-wrapper">

    <header></header>

    <div ui-view class="fade"></div>

    <footer></footer>
</div>

<script type='text/javascript' id="__bs_script__">
    //<![CDATA[
    document.write('<script async src="http://HOST:3000/browser-sync/browser-sync-client.2.11.1.js"><\/script>'.replace('HOST', location.hostname));
    //]]>
</script>
</body>
</html>
