<!--
  ================================================================================
  eCOMP Portal
  ================================================================================
  Copyright (C) 2017 AT&T Intellectual Property
  ================================================================================
  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.
  ================================================================================
  -->
<!doctype html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">
    <!--<base href="/ecompportal/">-->
    <!--!!!!!!!!!!!!!!!!!!!!! moved base href from here to script tag in body, please change base href based on your server -->
    <!-- nabil - add this part to gruntfile -->
    <link rel="stylesheet" href="bower_components_external/ionicons-2.0.1/css/ionicons.css">
    <link rel="stylesheet" href="bower_components_external/ionicons-2.0.1/css/ecomp-ionicons.css">    
    <link rel="stylesheet" href="bower_components_external/b2b/css/b2b-angular/b2b-angular.css">
    <link rel="stylesheet" href="bower_components_external/b2b/js/b2b-angular/font_icons.css">

    
    
    <!-- end -->

<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css(client) app/vendor.css -->
<!-- bower:css -->
<link rel="stylesheet" href="bower_components/angular-material/angular-material.css" />
<link rel="stylesheet" href="bower_components/ui-select/dist/select.css" />
<link rel="stylesheet" href="bower_components/ng-dialog/css/ngDialog.css" />
<link rel="stylesheet" href="bower_components/ng-dialog/css/ngDialog-theme-default.css" />
<link rel="stylesheet" href="bower_components/jqTree/jqtree.css" />
<link rel="stylesheet" href="bower_components/angular-gridster/dist/angular-gridster.css" />
<!-- endbower -->
<!-- endbuild -->  

<!-- kpi dashboard related styles -->
<!--  kpi start -->
<!--  kpi end -->


<!-- build:css({.tmp,client}) app/app.css -->
<link rel="stylesheet" href="app/app.css">
<!-- injector:css -->
<!-- endinjector -->
<!-- endbuild -->

	 <style>

   html, body{
    height: 100%;
    overflow:hidden;
	}

    </style>

</head>
<body ng-app="ecompApp">
<script>
	    if (!String.prototype.includes) {
		  String.prototype.includes = function(search, start) {
		    'use strict';
		    if (typeof start !== 'number') {
		      start = 0;
		    }

		    if (start + search.length > this.length) {
		      return false;
		    } else {
		      return this.indexOf(search, start) !== -1;
		    }
		  };
		}

	    function nthIndex(str, pat, n){
	        var L= str.length, i= -1;
	        while(n-- && i++<L){
	        i= str.indexOf(pat, i);
	        if (i < 0) break;
	        }
	         return i;
        }

	    
		var base = window.location.pathname.substring(0, window.location.pathname.indexOf("/",2)+1);
		document.write("<base href='" + base + "' />");

		
	    
	   
</script>

<script type="text/javascript">

	// onLoad='isCascadeFrame(this)'
	if (self != top && !self.window.location.pathname.includes("unKnownError")) {
	var e = document.body;
	var parent = e.parentNode;
	e.parentNode.removeChild(e);
	//var textnode = document.createTextNode("An unknown error has occured. Please contact your system administrator"); 
	//parent.appendChild(textnode);
	window.location = "unKnownError";
	}

</script>

<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->

<!-- Add your site or application content here -->
<div ui-view="header"></div>
<div ui-view="tabbar"></div>
<div ng-show="ContentModel.IsVisible" class="slide">
	<div ui-view="content"></div>
	<div ui-view="sidebar"></div>
	<div ui-view="userbar" style="float:right"></div>
</div>
<div ui-view="error"></div>
<div ui-view="footer"></div>

<!--[if lt IE 9]>
<script src="../bower_components/es5-shim/es5-shim.js"></script>
<script src="../bower_components/json3/lib/json3.min.js"></script>
<![endif]-->
<!-- build:js({client,node_modules}) app/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-aria/angular-aria.js"></script>
<script src="bower_components/angular-messages/angular-messages.js"></script>
<script src="bower_components/angular-material/angular-material.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/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/lodash/lodash.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/ui-select/dist/select.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<script src="bower_components/angular-smart-table/dist/smart-table.js"></script>
<script src="bower_components/hammerjs/hammer.js"></script>
<script src="bower_components/angular-gestures/gestures.min.js"></script>
<script src="bower_components/angular-cache/dist/angular-cache.js"></script>
<script src="bower_components/ng-dialog/js/ngDialog.js"></script>
<script src="bower_components/jqTree/tree.jquery.js"></script>
<script src="bower_components/angular-uuid/uuid.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="bower_components/jquery-mousewheel/jquery.mousewheel.js"></script>
<script src="bower_components/jquery.newstape/dist/jquery.newstape.min.js"></script>
<script src="bower_components/oclazyload/dist/ocLazyLoad.js"></script>
<script src="bower_components/d3/index-browserify.js"></script>
<script src="bower_components/javascript-detect-element-resize/detect-element-resize.js"></script>
<script src="bower_components/angular-gridster/src/angular-gridster.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- nabil - add this part to gruntfile -->
<script src="bower_components_external/angular-gridster/angular-gridster.min.js"></script>
<script src="bower_components_external/bowser/bowser.js"></script>




<script src="bower_components_external/b2b/js/b2b-angular/b2b-library.min.js"></script>
<!-- end-->

<!-- Avoid ^M (control-M, i.e., carriage-return, i.e., Windows line endings here. -->

<!-- build:js(.tmp) app/app.js -->
<script src="app/app.js"></script>
  <!-- injector:js -->
  <script src="app/configurations.js"></script>
  <script src="app/directives/auto-focus/auto-focus.directive.js"></script>
  <script src="app/directives/b2b-leftnav-ext/b2b-leftnav-ext.directive.js"></script>
  <script src="app/directives/file-upload/file-upload.directive.js"></script>
  <script src="app/directives/image-upload/image-upload.directive.js"></script>
  <script src="app/directives/left-menu/left-menu.directive.js"></script>
  <script src="app/directives/multiple-select/multiple-select.directive.js"></script>
  <script src="app/directives/multiple-select/multiple-select2.directive.js"></script>
  <script src="app/directives/right-click-menu/right-click-menu.directive.js"></script>
  <script src="app/directives/right-click/ng-right-click-directive.js"></script>
  <script src="app/directives/right-menu/right-menu.directive.js"></script>
  <script src="app/directives/scroll-top/scroll-top.directive.js"></script>
  <script src="app/directives/search-users/search-users.controller.js"></script>
  <script src="app/directives/search-users/search-users.directive.js"></script>
  <script src="app/filters/elipsis/elipsis.filter.js"></script>
  <script src="app/filters/trusted-url/trusted-url.filter.js"></script>
  <script src="app/router.js"></script>
  <script src="app/services/admins/admins.service.js"></script>
  <script src="app/services/applications/applications.service.js"></script>
  <script src="app/services/audit-log/audit-log.service.js"></script>
  <script src="app/services/base64/base64.service.js"></script>
  <script src="app/services/basic-auth-account/basic-auth-account.service.js"></script>
  <script src="app/services/be-property-reader/be-property-reader.service.js"></script>
  <script src="app/services/catalog/catalog.service.js"></script>
  <script src="app/services/confirm-box/confirm-box.service.js"></script>
  <script src="app/services/contact-us/contact-us.service.js"></script>
  <script src="app/services/dashboard/dashboard.service.js"></script>
  <script src="app/services/error-messages/error-messages.service.js"></script>
  <script src="app/services/external-request-access-service/external-request-access-service.js"></script>
  <script src="app/services/functionalMenu/functionalMenu.service.js"></script>
  <script src="app/services/global-constants/global-constants.js"></script>
  <script src="app/services/manifest/manifest.service.js"></script>
  <script src="app/services/menus/menus.service.js"></script>
  <script src="app/services/microservice/microservice.service.js"></script>
  <script src="app/services/notification/notification.service.js"></script>
  <script src="app/services/portal-admins/portal-admins.service.js"></script>
  <script src="app/services/recommendation/recommendation.service.js"></script>
  <script src="app/services/role/role.service.js"></script>
  <script src="app/services/support/getAccess/get-access.service.js"></script>
  <script src="app/services/support/session/session.service.js"></script>
  <script src="app/services/userProfile/userProfile.service.js"></script>
  <script src="app/services/userbar/userbar.update.service.js"></script>
  <script src="app/services/users/users.service.js"></script>
  <script src="app/services/utils/utils.service.js"></script>
  <script src="app/services/widgets-catalog/widgets-catalog.service.js"></script>
  <script src="app/services/widgets/widgets.service.js"></script>
  <script src="app/views/account-onboarding/account-add-details/account-add-details.js"></script>
  <script src="app/views/account-onboarding/account-onboarding.controller.js"></script>
  <script src="app/views/admins/add-admin-dialogs/new-admin.controller.js"></script>
  <script src="app/views/admins/admins.controller.js"></script>
  <script src="app/views/applications/application-details-dialog/application-details.controller.js"></script>
  <script src="app/views/applications/applications.controller.js"></script>
  <script src="app/views/catalog/add-catalog-dialogs/new-catalog.controller.js"></script>
  <script src="app/views/catalog/catalog.controller.js"></script>
  <script src="app/views/catalog/catalogconfirmation.controller.js"></script>
  <script src="app/views/confirmation-box/confirmation-box.controller.js"></script>
  <script src="app/views/dashboard/dashboard-widget-parameters.controller.js"></script>
  <script src="app/views/dashboard/dashboard-widget.controller.js"></script>
  <script src="app/views/dashboard/dashboard.controller.js"></script>
  <script src="app/views/dashboard/newsticker.controller.js"></script>
  <script src="app/views/footer/footer.controller.js"></script>
  <script src="app/views/functionalMenu/functionalMenu-dialog/menu-details.controller.js"></script>
  <script src="app/views/functionalMenu/functionalMenu.controller.js"></script>
  <script src="app/views/functionalMenu/jqTreeContextMenu.js"></script>
  <script src="app/views/header/header.controller.js"></script>
  <script src="app/views/header/profile-edit-dialogs/profile-edit.controller.js"></script>
  <script src="app/views/microservice-onboarding/microservice-add-details/microservice-add-details.js"></script>
  <script src="app/views/microservice-onboarding/microservice-onboarding.controller.js"></script>
  <script src="app/views/notification-history/notificationhistory.controller.js"></script>
  <script src="app/views/portal-admin/new-portal-admin/new-portal-admin.controller.js"></script>
  <script src="app/views/portal-admin/portal-admin-controller.js"></script>
  <script src="app/views/role/role-controller.js"></script>
  <script src="app/views/role/role-function-list-controller.js"></script>
  <script src="app/views/role/role-list-controller.js"></script>
  <script src="app/views/role/rolefunctionpopupController.js"></script>
  <script src="app/views/role/rolepopupmodelController.js"></script>
  <script src="app/views/search/search.controller.js"></script>
  <script src="app/views/sidebar/sidebar.controller.js"></script>
  <script src="app/views/support/contact-us/contact-us-manage/contact-us-manage.controller.js"></script>
  <script src="app/views/support/contact-us/contact-us.controller.js"></script>
  <script src="app/views/support/get-access/get-access.controller.js"></script>
  <script src="app/views/tabs/tabs.controller.js"></script>
  <script src="app/views/user-notifications-admin/user.notifications.Json.details.controller.js"></script>
  <script src="app/views/user-notifications-admin/user.notifications.controller.js"></script>
  <script src="app/views/user-notifications-admin/user.notifications.modal.controller.js"></script>
  <script src="app/views/userbar/userbar.controller.js"></script>
  <script src="app/views/users/new-user-dialogs/bulk-user.controller.js"></script>
  <script src="app/views/users/new-user-dialogs/new-user.controller.js"></script>
  <script src="app/views/users/users.controller.js"></script>
  <script src="app/views/widget-catalog/widget-catalog.controller.js"></script>
  <script src="app/views/widget-onboarding/widget-details-dialog/widget-details.controller.js"></script>
  <script src="app/views/widget-onboarding/widget-onboarding.controller.js"></script>
  <script src="app/views/widgets/widget-details-dialog/widget-details.controller.js"></script>
  <script src="app/views/widgets/widgets.controller.js"></script>
  <!-- endinjector -->
<!-- endbuild -->


</body>
</html>
