Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2160

Virtual User Script started at : 12/31/2014 7:41:43 AM

Starting action vuser_init.


Web Turbo Replay of LoadRunner 12.0.0 for Windows 2008 R2; build 1362 (Feb 2 2014
23:20:03) [MsgId: MMSG-27143]
Run mode: HTML [MsgId: MMSG-26993]
Run-Time Settings file: "E:\LR_Scripts\XXXX\\default.cfg" [MsgId: MMSG-27141]
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Maximum number of concurrent connections per server: 6 [MsgId: MMSG-26000]
Starting action Login.
Login.c(12): web_set_user started [MsgId: MMSG-26355]
Login.c(12): web_set_user was successful [MsgId: MMSG-26392]
Login.c(16): web_set_max_html_param_len started [MsgId: MMSG-26355]
Login.c(16): web_set_max_html_param_len was successful [MsgId: MMSG-26392]
Login.c(18): web_url("login.css") started [MsgId: MMSG-26355]
Login.c(18): t=192ms: 348-byte response headers for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): HTTP/1.1 200 OK\r\n
Login.c(18): Server: Apache-Coyote/1.1\r\n
Login.c(18): Accept-Ranges: bytes\r\n
Login.c(18): ETag: W/"5626-1419875280000"\r\n
Login.c(18): Last-Modified: Mon, 29 Dec 2014 17:48:00 GMT\r\n
Login.c(18): Content-Type: text/css\r\n
Login.c(18): Transfer-Encoding: chunked\r\n
Login.c(18): Content-Encoding: gzip\r\n
Login.c(18): Vary: Accept-Encoding\r\n
Login.c(18): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(18): Set-Cookie: BIGipServerv5devtom_9080=2869105836.36895.0000;
path=/\r\n
Login.c(18): \r\n
Login.c(18): t=197ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): a\r\n
Login.c(18): t=197ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): \r\n
Login.c(18): 200\r\n
Login.c(18): t=197ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): \r\n
Login.c(18): 200\r\n
Login.c(18): t=197ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): \r\n
Login.c(18): 200\r\n
Login.c(18): t=198ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): \r\n
Login.c(18): 32\r\n
Login.c(18): t=198ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): \r\n
Login.c(18): 0\r\n
Login.c(18): \r\n
Login.c(18): t=198ms: 1596-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): t=204ms: 5626-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/css/login.css" (RelFrameId=1, Internal ID=1)
Login.c(18): /* variables */\n
Login.c(18): /* font-weight */\n
Login.c(18): /* padding */\n
Login.c(18): /* spaces */\n
Login.c(18): /* Mixins */\n
Login.c(18): /* padding */\n
Login.c(18): /* spaces */\n
Login.c(18): /* End Mixins*/\n
Login.c(18): body {\n
Login.c(18): background-color: #ccc;\n
Login.c(18): background-image: url("images/main_background_texture.png");\n
Login.c(18): background-repeat: repeat;\n
Login.c(18): font-size: 100%;\n
Login.c(18): margin: 0;\n
Login.c(18): padding: 0;\n
Login.c(18): max-width: 100%;\n
Login.c(18): overflow-x: hidden;\n
Login.c(18): }\n
Login.c(18): nav.navbar-default {\n
Login.c(18): background: #649d46;\n
Login.c(18): padding: 0px;\n
Login.c(18): line-height: 1;\n
Login.c(18): left: 0;\n
Login.c(18): width: 100%;\n
Login.c(18): border-bottom: 1px solid #649d46;\n
Login.c(18): z-index: 1;\n
Login.c(18): margin-bottom: 0;\n
Login.c(18): }\n
Login.c(18): nav.navbar-default .heading {\n
Login.c(18): line-height: 1;\n
Login.c(18): }\n
Login.c(18): nav.navbar-default .featureName {\n
Login.c(18): margin-left: 10px;\n
Login.c(18): }\n
Login.c(18): nav.navbar-default #logo {\n
Login.c(18): margin-right: 0px;\n
Login.c(18): margin-top: -2px;\n
Login.c(18): margin-left: 10px;\n
Login.c(18): color: #ffffff;\n
Login.c(18): }\n
Login.c(18): nav.navbar-default .userName {\n
Login.c(18): margin-right: 0px;\n
Login.c(18): margin-top: -12px;\n
Login.c(18): left: 140px;\n
Login.c(18): font-family: Helvetica;\n
Login.c(18): font-size: 18px;\n
Login.c(18): color: #ffffff;\n
Login.c(18): }\n
Login.c(18): footer {\n
Login.c(18): font-family: Helvetica;\n
Login.c(18): padding: 10px;\n
Login.c(18): color: #a7a8a9;\n
Login.c(18): /*border-top: .border();\n
Login.c(18): border-bottom:.border();*/\n
Login.c(18): border-top: 1px solid #a7a8a9;\n
Login.c(18): border-bottom: 1px solid #a7a8a9;\n
Login.c(18): bottom: 0;\n
Login.c(18): margin: 0 auto;\n
Login.c(18): width: 100%;\n
Login.c(18): left: 0;\n
Login.c(18): position: fixed;\n
Login.c(18): z-index: 1002;\n
Login.c(18): background: -webkit-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(18): /* For Safari 5.1 to 6.0 */\n
Login.c(18): background: -o-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(18): /* For Opera 11.1 to 12.0 */\n
Login.c(18): background: -moz-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(18): /* For Firefox 3.6 to 15 */\n
Login.c(18): background: linear-gradient(#ffffff, #d7dbdf);\n
Login.c(18): /* Standard syntax */\n
Login.c(18): }\n
Login.c(18): footer .copyright {\n
Login.c(18): padding: 0px 0 0 20px;\n
Login.c(18): height: 10px;\n
Login.c(18): text-indent: 20px;\n
Login.c(18): font-size: 14px;\n
Login.c(18): }\n
Login.c(18): #wrapper {\n
Login.c(18): width: 100%;\n
Login.c(18): }\n
Login.c(18): #page-wrapper {\n
Login.c(18): padding: 0 15px;\n
Login.c(18): min-height: 568px;\n
Login.c(18): background-color: #ccc;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links {\n
Login.c(18): margin-right: 0;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links li {\n
Login.c(18): display: inline-block;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links :last-child {\n
Login.c(18): margin-right: 15px;\n
Login.c(18): font-size: 15px;\n
Login.c(18): color: white;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links a {\n
Login.c(18): padding: 15px;\n
Login.c(18): min-height: 50px;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-menu li {\n
Login.c(18): display: block;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-menu li :last-child {\n
Login.c(18): margin-right: 0;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-menu li a {\n
Login.c(18): padding: 3px 20px;\n
Login.c(18): min-height: 0;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-menu li div {\n
Login.c(18): white-space: normal;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-messages,\n
Login.c(18): .navbar-top-links .dropdown-tasks,\n
Login.c(18): .navbar-top-links .dropdown-alerts {\n
Login.c(18): width: 310px;\n
Login.c(18): min-width: 0;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-user {\n
Login.c(18): right: 0;\n
Login.c(18): left: auto;\n
Login.c(18): }\n
Login.c(18): .sidebar {\n
Login.c(18): padding-right: 0;\n
Login.c(18): padding-left: 0;\n
Login.c(18): }\n
Login.c(18): .sidebar .sidebar-search {\n
Login.c(18): padding: 15px;\n
Login.c(18): }\n
Login.c(18): .sidebar .arrow {\n
Login.c(18): float: right;\n
Login.c(18): }\n
Login.c(18): .sidebar fa.arrow:before {\n
Login.c(18): content: "\\f104";\n
Login.c(18): }\n
Login.c(18): .sidebar .active > a > .fa.arrow:before {\n
Login.c(18): content: "\\f107";\n
Login.c(18): }\n
Login.c(18): .sidebar ul li a.active {\n
Login.c(18): background-color: #eee;\n
Login.c(18): }\n
Login.c(18): .sidebar .nav li {\n
Login.c(18): position: static;\n
Login.c(18): }\n
Login.c(18): .sidebar .nav-second-level li a {\n
Login.c(18): padding-left: 37px;\n
Login.c(18): }\n
Login.c(18): .sidebar .nav-third-level li a {\n
Login.c(18): padding-left: 52px;\n
Login.c(18): }\n
Login.c(18): .sidebar .nav-second-level li .nav-third-level li {\n
Login.c(18): border-bottom: 0!important;\n
Login.c(18): }\n
Login.c(18): .btn-outline {\n
Login.c(18): color: inherit;\n
Login.c(18): background-color: transparent;\n
Login.c(18): transition: all .5s;\n
Login.c(18): }\n
Login.c(18): .login-panel {\n
Login.c(18): margin-top: 25%;\n
Login.c(18): }\n
Login.c(18): .accordion {\n
Login.c(18): cursor: pointer;\n
Login.c(18): }\n
Login.c(18): .panel-group .panel {\n
Login.c(18): cursor: pointer;\n
Login.c(18): }\n
Login.c(18): .navbar-nav {\n
Login.c(18): width: 100%;\n
Login.c(18): }\n
Login.c(18): .btn {\n
Login.c(18): padding: 3px 9px;\n
Login.c(18): font-size: 14px;\n
Login.c(18): }\n
Login.c(18): .list-group {\n
Login.c(18): font-size: 14px;\n
Login.c(18): }\n
Login.c(18): .panel-title {\n
Login.c(18): right: -14px;\n
Login.c(18): position: relative;\n
Login.c(18): }\n
Login.c(18): @media (min-width: 768px) {\n
Login.c(18): #page-wrapper {\n
Login.c(18): position: inherit;\n
Login.c(18): margin: 0 0 0 255px;\n
Login.c(18): padding: 0 30px;\n
Login.c(18): border-left: 10px solid #e7e7e7;\n
Login.c(18): }\n
Login.c(18): }\n
Login.c(18): @media (min-width: 768px) {\n
Login.c(18): .sidebar {\n
Login.c(18): z-index: 1;\n
Login.c(18): position: absolute;\n
Login.c(18): width: 240px;\n
Login.c(18): margin-top: 26px;\n
Login.c(18): }\n
Login.c(18): .navbar-top-links .dropdown-messages,\n
Login.c(18): .navbar-top-links .dropdown-tasks,\n
Login.c(18): .navbar-top-links .dropdown-alerts {\n
Login.c(18): margin-left: auto;\n
Login.c(18): }\n
Login.c(18): }\n
Login.c(18): .list-group-item:first-child {\n
Login.c(18): font-size: 14px;\n
Login.c(18): }\n
Login.c(18): body {\n
Login.c(18): background-color: #ccc;\n
Login.c(18): background-image: url("images/main_background_texture.png");\n
Login.c(18): background-repeat: repeat;\n
Login.c(18): font-size: 100%;\n
Login.c(18): margin: 0;\n
Login.c(18): padding: 0;\n
Login.c(18): max-width: 100%;\n
Login.c(18): overflow-x: hidden;\n
Login.c(18): }\n
Login.c(18): .form-signin {\n
Login.c(18): max-width: 330px;\n
Login.c(18): padding: 40px;\n
Login.c(18): margin: 0 auto;\n
Login.c(18): margin-top: 6%;\n
Login.c(18): }\n
Login.c(18): .form-signin .form-signin-heading,\n
Login.c(18): .form-signin .checkbox {\n
Login.c(18): margin-bottom: 10px;\n
Login.c(18): }\n
Login.c(18): .form-signin .checkbox {\n
Login.c(18): font-weight: normal;\n
Login.c(18): margin-left: 20px;\n
Login.c(18): }\n
Login.c(18): .form-signin .form-control {\n
Login.c(18): position: relative;\n
Login.c(18): height: auto;\n
Login.c(18): -webkit-box-sizing: border-box;\n
Login.c(18): -moz-box-sizing: border-box;\n
Login.c(18): box-sizing: border-box;\n
Login.c(18): height: 28px;\n
Login.c(18): width: 85%;\n
Login.c(18): padding: 6px 2px;\n
Login.c(18): font-size: 16px;\n
Login.c(18): }\n
Login.c(18): .form-signin .form-control:focus {\n
Login.c(18): z-index: 2;\n
Login.c(18): }\n
Login.c(18): .form-signin input[type="email"] {\n
Login.c(18): margin-bottom: -1px;\n
Login.c(18): border-bottom-right-radius: 0;\n
Login.c(18): border-bottom-left-radius: 0;\n
Login.c(18): }\n
Login.c(18): .form-signin input[type="password"] {\n
Login.c(18): margin-bottom: 10px;\n
Login.c(18): border-top-left-radius: 0;\n
Login.c(18): border-top-right-radius: 0;\n
Login.c(18): }\n
Login.c(18): div > form {\n
Login.c(18): margin: 5px 5px 15px;\n
Login.c(18): padding: 5px;\n
Login.c(18): -webkit-border-radius: 10px;\n
Login.c(18): -moz-border-radius: 10px;\n
Login.c(18): -o-border-radius: 10px;\n
Login.c(18): -ms-border-radius: 10px;\n
Login.c(18): border-radius: 10px;\n
Login.c(18): }\n
Login.c(18): div > form .input-group-btn .btn {\n
Login.c(18): background-color: #fff;\n
Login.c(18): height: 28px;\n
Login.c(18): }\n
Login.c(18): div > form .action-btns {\n
Login.c(18): text-align: center;\n
Login.c(18): }\n
Login.c(18): .input-group-btn {\n
Login.c(18): width: 186px;\n
Login.c(18): }\n
Login.c(18): .modal-content {\n
Login.c(18): font-size: 14px;\n
Login.c(18): }\n
Login.c(18): a,\n
Login.c(18): .link {\n
Login.c(18): color: #428bca;\n
Login.c(18): }\n
Login.c(18): a:hover {\n
Login.c(18): color: #3071a9;\n
Login.c(18): }\n
Login.c(18): .widget {\n
Login.c(18): color: #fff;\n
Login.c(18): background: #428bca;\n
Login.c(18): }\n
Login.c(18): #page-wrapper {\n
Login.c(18): background-color: #888888;\n
Login.c(18): }\n
Login.c(18): input.ng-invalid,\n
Login.c(18): div.ng-invalid input {\n
Login.c(18): background-color: #bee6e6;\n
Login.c(18): color: #333333;\n
Login.c(18): }\n
Login.c(18): .error {\n
Login.c(18): color: red;\n
Login.c(18): font-size: 13px;\n
Login.c(18): }\n
Login.c(18): .eplogin {\n
Login.c(18): font-size: 14px;\n
Login.c(18): margin-left: 16px;\n
Login.c(18): }\n
Login.c(18): div > form {\n
Login.c(18): border: solid 2px #999999;\n
Login.c(18): background-color: #eee;\n
Login.c(18): }\n
Login.c(18): web_url("login.css") was successful, 1596 body bytes, 348 header
bytes, 37 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(25): web_url("angularOauth.js") started [MsgId: MMSG-26355]
Login.c(25): t=271ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): HTTP/1.1 200 OK\r\n
Login.c(25): Server: Apache-Coyote/1.1\r\n
Login.c(25): Accept-Ranges: bytes\r\n
Login.c(25): ETag: W/"9168-1419875080000"\r\n
Login.c(25): Last-Modified: Mon, 29 Dec 2014 17:44:40 GMT\r\n
Login.c(25): Content-Type: application/javascript\r\n
Login.c(25): Transfer-Encoding: chunked\r\n
Login.c(25): Content-Encoding: gzip\r\n
Login.c(25): Vary: Accept-Encoding\r\n
Login.c(25): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(25): \r\n
Login.c(25): t=272ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): a\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 200\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 200\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 200\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 200\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 200\r\n
Login.c(25): t=272ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 1ac\r\n
Login.c(25): t=273ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): \r\n
Login.c(25): 0\r\n
Login.c(25): \r\n
Login.c(25): t=273ms: 2998-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): t=273ms: 9168-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-oauth/angularOauth.js" (RelFrameId=1,
Internal ID=2)
Login.c(25): 'use strict';\n
Login.c(25): \n
Login.c(25): \n
Login.c(25): angular.module('angularOauth', []).\n
Login.c(25): \n
Login.c(25): provider('Token', function() {\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Given an flat object, returns a query string for use in
URLs. Note\n
Login.c(25): * that for a given object, the return value may be.\n
Login.c(25): *\n
Login.c(25): * @example\n
Login.c(25): * <pre>\n
Login.c(25): // returns 'color=red&size=large'\n
Login.c(25): objectToQueryString({color: 'red', size: 'large'})\n
Login.c(25): * </pre>\n
Login.c(25): *\n
Login.c(25): * @param {Object} obj A flat object containing keys for such
a string.\n
Login.c(25): * @returns {string} A string suitable as a query string.\n
Login.c(25): */\n
Login.c(25): var objectToQueryString = function(obj) {\n
Login.c(25): var str = [];\n
Login.c(25): angular.forEach(obj, function(value, key) {\n
Login.c(25): str.push(encodeURIComponent(key) + "=" +
encodeURIComponent(value));\n
Login.c(25): });\n
Login.c(25): return str.join("&");\n
Login.c(25): };\n
Login.c(25): \n
Login.c(25): // This response_type MUST be passed to the authorization
endpoint using\n
Login.c(25): // the implicit grant flow (4.2.1 of RFC 6749).\n
Login.c(25): var RESPONSE_TYPE = 'token';\n
Login.c(25): \n
Login.c(25): // Create a special object for config fields that are required
and missing.\n
Login.c(25): // If any config items still contain it when Token is used,
raise an error.\n
Login.c(25): var REQUIRED_AND_MISSING = {};\n
Login.c(25): \n
Login.c(25): var config = {\n
Login.c(25): clientId: REQUIRED_AND_MISSING,\n
Login.c(25): redirectUri: REQUIRED_AND_MISSING,\n
Login.c(25): authorizationEndpoint: REQUIRED_AND_MISSING,\n
Login.c(25): localStorageName: 'accessToken',\n
Login.c(25): verifyFunc: REQUIRED_AND_MISSING,\n
Login.c(25): scopes: []\n
Login.c(25): };\n
Login.c(25): \n
Login.c(25): this.extendConfig = function(configExtension) {\n
Login.c(25): config = angular.extend(config, configExtension);\n
Login.c(25): };\n
Login.c(25): \n
Login.c(25): this.$get = function($q, $http, $window, $rootScope) {\n
Login.c(25): var requiredAndMissing = [];\n
Login.c(25): angular.forEach(config, function(value, key) {\n
Login.c(25): if (value === REQUIRED_AND_MISSING) {\n
Login.c(25): requiredAndMissing.push(key);\n
Login.c(25): }\n
Login.c(25): });\n
Login.c(25): \n
Login.c(25): if (requiredAndMissing.length) {\n
Login.c(25): throw new Error("TokenProvider is insufficiently
configured. Please " +\n
Login.c(25): "configure the following options using " +\n
Login.c(25): "TokenProvider.extendConfig: " +
requiredAndMissing.join(", "))\n
Login.c(25): }\n
Login.c(25): \n
Login.c(25): if (!config.clientId) {\n
Login.c(25): throw new Error("clientId needs to be configured using
TokenProvider.");\n
Login.c(25): }\n
Login.c(25): \n
Login.c(25): var getParams = function() {\n
Login.c(25): // TODO: Facebook uses comma-delimited scopes. This is not
compliant with section
Login.c(25): 3.3 but perhaps support later.\n
Login.c(25): \n
Login.c(25): return {\n
Login.c(25): response_type: config.responseType || RESPONSE_TYPE,\n
Login.c(25): client_id: config.clientId,\n
Login.c(25): redirect_uri: config.redirectUri,\n
Login.c(25): scope: config.scopes.join(" ")\n
Login.c(25): }\n
Login.c(25): };\n
Login.c(25): \n
Login.c(25): var buildAuthorizationUrl = function(extraParams) {\n
Login.c(25): var params = angular.extend(getParams(), extraParams);\n
Login.c(25): return config.authorizationEndpoint + '?' +
objectToQueryString(params);\n
Login.c(25): }\n
Login.c(25): \n
Login.c(25): return {\n
Login.c(25): // TODO: get/set might want to support expiration to
reauthenticate\n
Login.c(25): // TODO: check for localStorage support and otherwise
perhaps use other methods of
Login.c(25): storing data (e.g. cookie)\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Returns the stored access token.\n
Login.c(25): *\n
Login.c(25): * @returns {string} The access token.\n
Login.c(25): */\n
Login.c(25): get: function() {\n
Login.c(25): return localStorage[config.localStorageName];\n
Login.c(25): },\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Persist the access token so that it can be retrieved
later by.\n
Login.c(25): *\n
Login.c(25): * @param accessToken\n
Login.c(25): */\n
Login.c(25): set: function(accessToken) {\n
Login.c(25): localStorage[config.localStorageName] = accessToken;\n
Login.c(25): },\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Forgets the access token.\n
Login.c(25): */\n
Login.c(25): clear: function() {\n
Login.c(25): localStorage.removeItem(config.localStorageName);\n
Login.c(25): },\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Verifies that the access token is was issued for the
use of the current client.
Login.c(25): \n
Login.c(25): *\n
Login.c(25): * @param accessToken An access token received from the
authorization server.\n
Login.c(25): * @returns {Promise} Promise that will be resolved when
the authorization server
Login.c(25): has verified that the\n
Login.c(25): * token is valid, and we've verified that the token is
passed back has audience
Login.c(25): that matches our client\n
Login.c(25): * ID (to prevent the Confused Deputy Problem).\n
Login.c(25): *\n
Login.c(25): * If there's an error verifying the token, the promise
is rejected with an objec
Login.c(25): t identifying the `name` error\n
Login.c(25): * in the name member. The `name` can be either:\n
Login.c(25): *\n
Login.c(25): * - `invalid_audience`: The audience didn't match our
client ID.\n
Login.c(25): * - `error_response`: The server responded with an
error, typically because th
Login.c(25): e token was invalid. In this\n
Login.c(25): * case, the callback parameters to `error` callback
on `$http` are available
Login.c(25): in the object (`data`,\n
Login.c(25): * `status`, `headers`, `config`).\n
Login.c(25): */\n
Login.c(25): verifyAsync: function(accessToken) {\n
Login.c(25): return config.verifyFunc(config, accessToken);\n
Login.c(25): },\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Verifies an access token asynchronously.\n
Login.c(25): *\n
Login.c(25): * @param extraParams Additional params to be appended to
the query string of the
Login.c(25): request.\n
Login.c(25): * @param popupOptions Settings for the display of the
popup.\n
Login.c(25): * @returns {Promise} Promise that will be resolved when
the authorization server
Login.c(25): has verified that the\n
Login.c(25): * token is valid, and we've verified that the token is
passed back has audience
Login.c(25): that matches our client\n
Login.c(25): * ID (to prevent the Confused Deputy Problem).\n
Login.c(25): *\n
Login.c(25): * If there's an error verifying the token, the promise
is rejected with an objec
Login.c(25): t identifying the `name` error\n
Login.c(25): * in the name member. The `name` can be either:\n
Login.c(25): *\n
Login.c(25): * - `invalid_audience`: The audience didn't match our
client ID.\n
Login.c(25): * - `error_response`: The server responded with an
error, typically because th
Login.c(25): e token was invalid. In this\n
Login.c(25): * case, the callback parameters to `error` callback
on `$http` are available
Login.c(25): in the object (`data`,\n
Login.c(25): * `status`, `headers`, `config`).\n
Login.c(25): */\n
Login.c(25): getTokenByPopup: function(extraParams, popupOptions) {\n
Login.c(25): popupOptions = angular.extend({\n
Login.c(25): name: 'AuthPopup',\n
Login.c(25): openParams: {\n
Login.c(25): width: 500, \n
Login.c(25): height: 400,\n
Login.c(25): left: (window.innerWidth/2)-300,\n
Login.c(25): top: (window.innerHeight/2)-150,\n
Login.c(25): scrollbars: true,\n
Login.c(25): resizable: true,\n
Login.c(25): status: true\n
Login.c(25): }\n
Login.c(25): }, popupOptions);\n
Login.c(25): \n
Login.c(25): var deferred = $q.defer(),\n
Login.c(25): url = buildAuthorizationUrl(extraParams),\n
Login.c(25): resolved = false;\n
Login.c(25): \n
Login.c(25): var formatPopupOptions = function(options) {\n
Login.c(25): var pairs = [];\n
Login.c(25): angular.forEach(options, function(value, key) {\n
Login.c(25): if (value || value === 0) {\n
Login.c(25): value = value === true ? 'yes' : value;\n
Login.c(25): pairs.push(key + '=' + value);\n
Login.c(25): }\n
Login.c(25): });\n
Login.c(25): return pairs.join(',');\n
Login.c(25): };\n
Login.c(25): \n
Login.c(25): var popup = window.open(url, popupOptions.name,
formatPopupOptions(popupOptions.
Login.c(25): openParams));\n
Login.c(25): \n
Login.c(25): // TODO: binding occurs for each reauthentication,
leading to leaks for long-run
Login.c(25): ning apps.\n
Login.c(25): \n
Login.c(25): angular.element($window).bind('message', function(event)
{\n
Login.c(25): // Use JQuery originalEvent if present\n
Login.c(25): event = event.originalEvent || event;\n
Login.c(25): if (event.source == popup && event.origin ==
window.location.origin) {\n
Login.c(25): $rootScope.$apply(function() {\n
Login.c(25): if (event.data.access_token) {\n
Login.c(25): deferred.resolve(event.data)\n
Login.c(25): } else {\n
Login.c(25): deferred.reject(event.data)\n
Login.c(25): }\n
Login.c(25): })\n
Login.c(25): }\n
Login.c(25): });\n
Login.c(25): \n
Login.c(25): // TODO: reject deferred if the popup was closed without
a message being deliver
Login.c(25): ed + maybe offer a timeout\n
Login.c(25): \n
Login.c(25): return deferred.promise;\n
Login.c(25): },\n
Login.c(25): getTokenInSameWindow: function(extraParams) {\n
Login.c(25): var url = buildAuthorizationUrl(extraParams);\n
Login.c(25): $window.location.href = url;\n
Login.c(25): }\n
Login.c(25): }\n
Login.c(25): }\n
Login.c(25): }).\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * A controller for the redirect endpoint that inspects the URL
redirected to by the aut
Login.c(25): horization server and sends\n
Login.c(25): * it back to other windows using.\n
Login.c(25): */\n
Login.c(25): controller('CallbackCtrl', function($scope, $location) {\n
Login.c(25): \n
Login.c(25): /**\n
Login.c(25): * Parses an escaped url query string into key-value pairs.\n
Login.c(25): *\n
Login.c(25): * (Copied from Angular.js in the AngularJS project.)\n
Login.c(25): *\n
Login.c(25): * @returns Object.<(string|boolean)>\n
Login.c(25): */\n
Login.c(25): function parseKeyValue(/**string*/keyValue) {\n
Login.c(25): var obj = {}, key_value, key;\n
Login.c(25): angular.forEach((keyValue || "").split('&'),
function(keyValue){\n
Login.c(25): if (keyValue) {\n
Login.c(25): key_value = keyValue.split('=');\n
Login.c(25): key = decodeURIComponent(key_value[0]);\n
Login.c(25): obj[key] = angular.isDefined(key_value[1]) ?
decodeURIComponent(key_value[1]) :
Login.c(25): true;\n
Login.c(25): }\n
Login.c(25): });\n
Login.c(25): return obj;\n
Login.c(25): }\n
Login.c(25): \n
Login.c(25): var queryString = $location.path().substring(1); // preceding
slash omitted\n
Login.c(25): var params = parseKeyValue(queryString);\n
Login.c(25): \n
Login.c(25): // TODO: The target origin should be set to an explicit
origin. Otherwise, a maliciou
Login.c(25): s site that can receive\n
Login.c(25): // the token if it manages to change the location of the
parent. (See:\n
Login.c(25): //
https://developer.mozilla.org/en/docs/DOM/window.postMessage#Security_concern
Login.c(25): s)\n
Login.c(25): \n
Login.c(25): window.opener.postMessage(params, "*");\n
Login.c(25): window.close();\n
Login.c(25): });\n
Login.c(25): web_url("angularOauth.js") was successful, 2998 body bytes, 294 header
bytes, 52 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(32): web_url("global-templates.js") started [MsgId: MMSG-26355]
Login.c(32): t=291ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): HTTP/1.1 200 OK\r\n
Login.c(32): Server: Apache-Coyote/1.1\r\n
Login.c(32): Accept-Ranges: bytes\r\n
Login.c(32): ETag: W/"16973-1419875210000"\r\n
Login.c(32): Last-Modified: Mon, 29 Dec 2014 17:46:50 GMT\r\n
Login.c(32): Content-Type: application/javascript\r\n
Login.c(32): Transfer-Encoding: chunked\r\n
Login.c(32): Content-Encoding: gzip\r\n
Login.c(32): Vary: Accept-Encoding\r\n
Login.c(32): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(32): \r\n
Login.c(32): t=291ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): a\r\n
Login.c(32): t=291ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 200\r\n
Login.c(32): t=291ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 200\r\n
Login.c(32): t=292ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 200\r\n
Login.c(32): t=292ms: 1141-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): t=292ms: 4361-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): angular.module('templates-global', ['global/templates/action-
button-container.tpl.html', '
Login.c(32): global/templates/action-button-popup.tpl.html',
'global/templates/attach-action-button.tpl
Login.c(32): .html', 'global/templates/calculator-popup.tpl.html',
'global/templates/chooser-autocomple
Login.c(32): te-item-default.tpl.html', 'global/templates/chooser-popup-
global.tpl.html', 'global/templ
Login.c(32): ates/chooser-popup.tpl.html', 'global/templates/chooser.tpl.html',
'global/templates/clear
Login.c(32): -action-button.tpl.html', 'global/templates/copy-action-
button.tpl.html', 'global/template
Login.c(32): s/cut-action-button.tpl.html', 'global/templates/delete-action-
button.tpl.html', 'global/t
Login.c(32): emplates/err-display.tpl.html', 'global/templates/help-action-
button.tpl.html', 'global/te
Login.c(32): mplates/notes-action-button.tpl.html', 'global/templates/paste-
action-button.tpl.html', 'g
Login.c(32): lobal/templates/reset-action-button.tpl.html',
'global/templates/save-action-button.tpl.ht
Login.c(32): ml', 'global/templates/search-action-button.tpl.html',
'global/templates/search-action-pop
Login.c(32): up.tpl.html', 'custom/slickgrid/templates/split.tpl.html',
'custom/slickgrid/templates/spl
Login.c(32): itModal.tpl.html',
'custom/slickgrid/templates/splitTotalModal.tpl.html']);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/action-button-
container.tpl.html", []).run(["$templateCac
Login.c(32): he", function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/action-button-
container.tpl.html",\r\n
Login.c(32): "<div class=action-buttons><div save-action-
button=\\"\\"></div><div search-action-but
Login.c(32): ton=\\"\\"></div><div clear-action-button=\\"\\"></div><div
delete-action-button=\\"\\"></
Login.c(32): div><div help-action-button=\\"\\"></div><div cut-action-
button=\\"\\"></div><div copy-act
Login.c(32): ion-button=\\"\\"></div><div paste-action-button=\\"\\"></div><!--
<div attach-action-butt
Login.c(32): on=\\"\\"></div>\\n" +\r\n
Login.c(32): "\t\t\t\t<div notes-action-button=\\"\\"></div> --><div reset-
action-button=\\"\\"></d
Login.c(32): iv><!-- Entry --><!-- <button type=\\"button\\" class=\\"btn pull-
right\\">Entry</button>\t
Login.c(32): \t --></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/action-button-popup.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/action-button-
popup.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-
title>{{headerMsg}}</h3></div><div class=moda
Login.c(32): l-body>{{warningMsg}}</div><div class=modal-footer><button
class=\\"btn btn-primary\\" ng-
Login.c(32): click=ok()>OK</button> <button class=\\"btn btn-warning\\" ng-
click=cancel()>Cancel</butto
Login.c(32): n></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/attach-action-button.tpl.html",
[]).run(["$templateCache"
Login.c(32): , function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/attach-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\">
Login.c(32): <!-- <img src=\\"/images/attach.png\\" alt=\\"attach\\"/> --><i
class=\\"fa fa-paperclip
Login.c(32): fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/calculator-popup.tpl.html",
[]).run(["$templateCache", fu
Login.c(32): nction($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/calculator-
popup.tpl.html",\r\n
Login.c(32): "<ul class=calc-popup ng-style=\\"{ left: position.left+'px' ,
top: position.top+'px',
Login.c(32): width:width+'px'}\\" role=listbox ng-show=isStarted()><li ng-
repeat=\\"item in listItems
Login.c(32): track by $index\\">{{item}}</li></ul>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/chooser-autocomplete-item-
default.tpl.html", []).run(["$t
Login.c(32): emplateCache", function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/chooser-autocomplete-item-
default.tpl.html",\r\n
Login.c(32): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.label | typeaheadHighli
Login.c(32): ght:query\\"></span></a>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/chooser-popup-global.tpl.html",
[]).run(["$templateCache"
Login.c(32): , function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/chooser-popup-
global.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-
title>Browse</h3></div><div class=modal-body>
Login.c(32): <div class=table-responsive
style=height:400px;overflow:auto><table class=\\"table table-h
Login.c(32): over table-bordered\\"><tr><th ng-class=\\"{false: 'dropup', true:
'dropdown'}[sort.revers
Login.c(32): e]\\" ng-repeat=\\"column in gridData.columns\\"><a href=\\"\\"
ng-click=sortColumn(column
Login.c(32): )>{{column.display | titleCase}}</a> <span ng-show=column.selected
class=caret></span><tr
Login.c(32): id=chooser-item-{{item.id}} ng-repeat=\\"item in chooserData track
by $index\\" ng-click=t
Login.c(32): oggleSelection(item) ng-dblclick=onDblClickItem(item) ng-
class=\\"{true: 'success' }[item.
Login.c(32): t=295ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 200\r\n
Login.c(32): t=295ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 200\r\n
Login.c(32): t=296ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 1c5\r\n
Login.c(32): t=296ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): \r\n
Login.c(32): 0\r\n
Login.c(32): \r\n
Login.c(32): t=296ms: 1882-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): t=296ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): selected || allSelected]\\"><td ng-repeat=\\"column in
gridData.columns track by $index\\"
Login.c(32): bind-html-unsafe=\\"item[column.name] |
queryHighlighter:query:column:item:chooserData\\"
Login.c(32): ></table></div><div class=selectionWrapper><button type=button
class=\\"btn btn-primary\\"
Login.c(32): ng-disabled=!multiSelect ng-click=selectAll()>Select All</button>
<button type=button cla
Login.c(32): ss=\\"btn btn-primary\\" ng-click=clearAll()>Clear All</button>
<span>{{chooserData.length
Login.c(32): }} result(s) found</span></div></div><div class=modal-footer><div
class=row><div class=col
Login.c(32): -md-4><div class=search-bar><input placeholder=Search ng-
model=query type=search></div></d
Login.c(32): iv><div class=\\"col-md-4 col-md-offset-4\\"><button class=\\"btn
btn-primary\\" ng-disabl
Login.c(32): ed=!isAtleastOneSelected() ng-click=ok()>Ok</button> <button
class=\\"btn btn-primary\\" n
Login.c(32): g-click=cancel()>Cancel</button></div></div></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/chooser-popup.tpl.html",
[]).run(["$templateCache", funct
Login.c(32): ion($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/chooser-
popup.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-
title>Browse</h3></div><div class=modal-body>
Login.c(32): <div class=table-responsive
style=height:400px;overflow:auto><table class=\\"table table-h
Login.c(32): over table-bordered\\"><tr><th ng-class=\\"{false: 'dropup', true:
'dropdown'}[sort.revers
Login.c(32): e]\\" ng-repeat=\\"column in gridData.columns track by
$index\\"><a href=\\"\\" ng-click=s
Login.c(32): ortColumn(column)>{{column.display | titleCase}}</a> <span ng-
show=column.selected class=c
Login.c(32): aret></span><tr ng-repeat=\\"item in chooserData|
orderBy:sort.predicate:sort.reverse\\" n
Login.c(32): g-click=toggleSelection(item) ng-class=\\"{true: 'success' }
[item.selected || allSelected]
Login.c(32): \\"><td ng-repeat=\\"column in gridData.columns\\" bind-html-
unsafe=\\"item[column.name] |
Login.c(32): queryHighlighter:query:column:item\\"></table></div><div
class=selectionWrapper><button t
Login.c(32): ype=button class=\\"btn btn-primary\\" ng-click=selectAll()>Select
All</button> <button ty
Login.c(32): pe=button class=\\"btn btn-primary\\" ng-click=clearAll()>Clear
All</button></div></div><d
Login.c(32): iv class=modal-footer><div class=row><div class=col-md-4><div
class=search-bar><input plac
Login.c(32): eholder=Search ng-model=query type=search></div></div><div
class=\\"col-md-4 col-md-offset
Login.c(32): -4\\"><button class=\\"btn btn-primary\\" ng-
click=ok()>OK</button> <button class=\\"btn b
Login.c(32): tn-primary\\" ng-
click=cancel()>Cancel</button></div></div></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/chooser.tpl.html",
[]).run(["$templateCache", function($t
Login.c(32): emplateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/chooser.tpl.html",\r\n
Login.c(32): "<div class=input-group><span class=input-group-btn><input
typeahead-on-select=setValu
Login.c(32): e($item) ng-model=modelAttr ng-disabled=isDisbled
typeahead=\\"item.{{idAttr}} as item.{{d
Login.c(32): isplayAttr}} for item in chooserData | filter:
$viewValue:startsWith | limitTo:8\\" typeahe
Login.c(32): ad-input-formatter=formatLabel($model) typeahead-template-
url={{itemTemplate}} typeahead-e
Login.c(32): ditable={{isEditable}} class=form-control ng-blur=onBlur() ng-
change=onInputChange() toolt
Login.c(32): ip={{chooserTooltip}} tooltip-placement=right><button type=button
class=btn tabindex=-1 ng
Login.c(32): -disabled=isDisbled ng-click=openPopup()><span
class=caret></span></button></span></div>")
Login.c(32): ;\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/clear-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/clear-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): title=Clear ng-click=clearClick()><i class=\\"fa fa-paint-brush
fa-2x\\"></i></button></di
Login.c(32): v>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/copy-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/copy-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=copyClick()><!-- <img src=\\"/images/copy.png\\"
alt=\\"copy\\"/> --><i class=\\
Login.c(32): "fa fa-files-o fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/cut-action-button.tpl.html",
[]).run(["$templateCache", f
Login.c(32): unction($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/cut-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=cutClick()><!-- <img src=\\"/images/cut.png\\"
alt=\\"cut\\"/> --><i class=\\"fa
Login.c(32): fa-scissors fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/delete-action-button.tpl.html",
[]).run(["$templateCache"
Login.c(32): , function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/delete-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=onDeleteClick()><!-- <img src=\\"/images/delete.png\\"
alt=\\"delete\\"/> --><i
Login.c(32): class=\\"fa fa-times fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/err-display.tpl.html",
[]).run(["$templateCache", functio
Login.c(32): n($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/err-display.tpl.html",\r\n
Login.c(32): "<div dropdown=\\"\\" class=\\"btn-group dropup error-
display\\"><div class=btn-group>
Login.c(32): <button type=button class=\\"btn btn-default dropdown-toggle\\"
data-toggle=dropdown><span
Login.c(32): class=item-error>{{(errData && errData.length>0 )?
selectedItem.error: ''}}</span> <span
Login.c(32): class=\\"caret caret-reversed\\"></span></button><ul
class=dropdown-menu role=menu><li cla
Login.c(32): ss=errorFieldset>{{(errInfo && errInfo.length>0 )? 'Field Errors:'
: ''}}</li><li><a ng-cl
Login.c(32): ick=\\"onErrorClick($event, d)\\" ng-repeat=\\"d in
errInfo \\"><span><i class=\\"fa fa-ti
Login.c(32): mes-circle\\"></i></span>{{d.error}}</a></li><li
class=errorFieldset>{{(warningData && war
Login.c(32): ningData.length>0 )? 'Field Warnings:' : ''}}</li><li><a ng-
click=\\"onErrorClick($event,
Login.c(32): w)\\" ng-repeat=\\"w in warningData\\"><span><i class=\\"fa fa-
exclamation-triangle\\"></i
Login.c(32): ></span>{{w.error}}</a></li></ul></div></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/help-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/help-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=helpClick()><!-- <img src=\\"/images/help.png\\"
alt=\\"help\\"/> --><i class=\\
Login.c(32): "fa fa-question-circle fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/notes-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/notes-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\">
Login.c(32): <img src=/images/notes.png alt=notes></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/paste-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/paste-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=pasteClick()><!-- <img src=\\"/images/paste.png\\"
alt=\\"paste\\"/> --><i cla
Login.c(32): ss=\\"fa fa-clipboard fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/reset-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/reset-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=onResetClick()><!-- <img src=\\"/images/reset.png\\"
alt=\\"reset\\"/> --><i c
Login.c(32): lass=\\"fa fa-undo fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/save-action-button.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/save-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=onSaveClick()><!-- <img src=\\"/images/save.png\\"
alt=\\"save\\"/> --><i class=
Login.c(32): \\"fa fa-floppy-o fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/search-action-button.tpl.html",
[]).run(["$templateCache"
Login.c(32): , function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/search-action-
button.tpl.html",\r\n
Login.c(32): "<div class=action-button-item><button type=button
class=\\"btn btn-default btn-sm\\"
Login.c(32): ng-click=onSearchClick()><!-- <img src=\\"/images/search.png\\"
alt=\\"search\\"/> --><i
Login.c(32): class=\\"fa fa-search fa-2x\\"></i></button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("global/templates/search-action-popup.tpl.html",
[]).run(["$templateCache",
Login.c(32): function($templateCache) {\r\n
Login.c(32): $templateCache.put("global/templates/search-action-
popup.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-
title>Browse</h3></div><div class=modal-body>
Login.c(32): <div class=table-responsive
style=height:400px;overflow:auto><table class=\\"table table-h
Login.c(32): over table-bordered\\"><tr><th ng-repeat=\\"column in
search.searchcolumndata.columns trac
Login.c(32): k by $index\\"><a href=\\"\\">{{column.display |
titleCase}}</a><tr ng-repeat=\\"item in s
Login.c(32): earch.searchdata\\" ng-click=search.selectItem(item) ng-
class=\\"{true: 'success'}[item.se
Login.c(32): lected]\\" ng-dblclick=search.selectItemDoubleClick(item)><td ng-
repeat=\\"column in searc
Login.c(32): h.searchcolumndata.columns\\" bind-html-
unsafe=item[column.name]></table></div></div><div
Login.c(32): class=modal-footer><div class=row><div class=\\"col-md-4 col-md-
offset-4\\"><button class=
Login.c(32): \\"btn btn-primary\\" ng-click=search.ok()>OK</button> <button
class=\\"btn btn-primary\\"
Login.c(32): ng-click=search.cancel()>Cancel</button></div></div></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("custom/slickgrid/templates/split.tpl.html",
[]).run(["$templateCache", fun
Login.c(32): ction($templateCache) {\r\n
Login.c(32):
$templateCache.put("custom/slickgrid/templates/split.tpl.html",\r\n
Login.c(32): "<div class=modal-body><form class=form-horizontal
name=splitform id=splitform novalid
Login.c(32): ate ng-class=\\"{true: 'submitted' }[formSubmitted]\\"><!-- Text
input--><div class=form-g
Login.c(32): roup><label class=\\"col-sm-6 control-label\\" for=splitvalue>How
many lines to split?</la
Login.c(32): bel><div class=col-md-2><input id=splitvalue name=splitvalue
class=\\"form-control input-m
Login.c(32): d\\" ng-model=lineSplit required
tooltip={{getTooltip(splitform.splitvalue)}} tooltip-plac
Login.c(32): ement=right></div></div><!-- alert--><alert ng-repeat=\\"alert in
alerts\\" type={{alert.t
Login.c(32): ype}} close=closeAlert($index)>{{alert.msg}}</alert><!-- Multiple
Radios (inline) --><div
Login.c(32): class=form-group><label class=\\"col-md-4 control-label\\"
for=inlineRadioOptions></label>
Login.c(32): <div><label class=radio-inline for=radios-0><input type=radio ng-
model=selectedOption name
Login.c(32): =inlineRadioOptions id=Evenly value=Evenly>Evenly</label><label
class=radio-inline for=rad
Login.c(32): ios-1><input type=radio ng-model=selectedOption
name=inlineRadioOptions id=Percentage valu
Login.c(32): e=Percentage ng-disabled=\\"!lineSplit.length>0\\">By
Percentage</label><label class=radio
Login.c(32): -inline for=radios-2><input type=radio ng-model=selectedOption
name=inlineRadioOptions id=
Login.c(32): Custom value=Custom>Custom</label></div></div><!-- Text input--
><div class=form-group><div
Login.c(32): ng-repeat=\\"item in splitItems\\"><label class=\\"col-md-4
control-label\\" for=\\"\\">L
Login.c(32): ine {{$index+1}}:</label><div class=col-md-5><input ng-
model=item.value class=form-control
Login.c(32): placeholder=\\"\\" ng-disabled=getInputState($index) tooltip-
placement=right ng-required=
Login.c(32): !getInputState($index) name=\\"\\"
tooltip={{getTooltip(splitform.splitvalue)}}></div></di
Login.c(32): v></div><label class=\\"col-md-4 control-label\\" for=\\"\\">Total
Amount:</label><p class
Login.c(32): =total>{{totalAmount}}</p><div ng-
if=\\"selectedOption==='Evenly'\\" class=split>Split Tot
Login.c(32): al : 0</div><div ng-if=\\"selectedOption==='Percentage'\\"
class=split>Split Percentage :
Login.c(32): {{totalPercentage}} %</div><div ng-
if=\\"selectedOption==='Custom'\\" class=split>Split To
Login.c(32): tal : {{customTotal}} Diff: {{diffInTotal}}</div></form></div><div
class=modal-footer><but
Login.c(32): ton class=\\"btn btn-primary\\" ng-click=ok()>OK</button> <button
class=\\"btn btn-warning
Login.c(32): \\" ng-click=cancel()>Cancel</button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32): angular.module("custom/slickgrid/templates/splitModal.tpl.html",
[]).run(["$templateCache"
Login.c(32): , function($templateCache) {\r\n
Login.c(32):
$templateCache.put("custom/slickgrid/templates/splitModal.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-title>Split
Error</h3></div><div class=modal-
Login.c(32): body><b>Percentage of all lines equal to 100%</b></div><div
class=modal-footer><button cla
Login.c(32): ss=\\"btn btn-primary\\" ng-click=ok()>OK</button></div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): \r\n
Login.c(32):
angular.module("custom/slickgrid/templates/splitTotalModal.tpl.html",
[]).run(["$templateC
Login.c(32): ache", function($templateCache) {\r\n
Login.c(32): $templateCache.put("custom/slickgri
Login.c(32): t=305ms: 324-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/global-templates.js" (RelFrameId=1, Internal ID=3)
Login.c(32): d/templates/splitTotalModal.tpl.html",\r\n
Login.c(32): "<div class=modal-header><h3 class=modal-title>Split
Error</h3></div><div class=modal-
Login.c(32): body><p>Total of the split lines doesn't equal to the original
amount</p><b>{{diff}}</b></
Login.c(32): div><div class=modal-footer><button class=\\"btn btn-primary\\"
ng-click=ok()>OK</button><
Login.c(32): /div>");\r\n
Login.c(32): }]);\r\n
Login.c(32): web_url("global-templates.js") was successful, 3023 body bytes, 295
header bytes, 52 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(39): web_url("ep-global-components.js") started [MsgId: MMSG-26355]
Login.c(39): t=310ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): HTTP/1.1 200 OK\r\n
Login.c(39): Server: Apache-Coyote/1.1\r\n
Login.c(39): Accept-Ranges: bytes\r\n
Login.c(39): ETag: W/"37721-1419875208000"\r\n
Login.c(39): Last-Modified: Mon, 29 Dec 2014 17:46:48 GMT\r\n
Login.c(39): Content-Type: application/javascript\r\n
Login.c(39): Transfer-Encoding: chunked\r\n
Login.c(39): Content-Encoding: gzip\r\n
Login.c(39): Vary: Accept-Encoding\r\n
Login.c(39): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(39): \r\n
Login.c(39): t=310ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): a\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=311ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 200\r\n
Login.c(39): t=312ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 114\r\n
Login.c(39): t=313ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): \r\n
Login.c(39): 0\r\n
Login.c(39): \r\n
Login.c(39): t=313ms: 6942-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): t=313ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): angular.module('app.global.directives',[]);\n
Login.c(39): angular.module('app.global.controllers',[]);\n
Login.c(39): angular.module('app.global.services',[]);\n
Login.c(39): angular.module('app.global.filters',[]);\n
Login.c(39): angular.module('app.global',[\n
Login.c(39): \t\t'app.global.directives',\n
Login.c(39): \t\t'app.global.controllers',\n
Login.c(39): \t\t'app.global.services',\n
Login.c(39): \t\t'app.global.filters',\n
Login.c(39): \t\t'ui.bootstrap'\n
Login.c(39): \t]);\r\n
Login.c(39): angular.module('app.global.controllers')\r\n
Login.c(39): \t.controller('ChooserPopupCtrl', ['$scope', '$filter',
'chooserData', 'chooserGridData',
Login.c(39): 'chooserOptions', '$modalInstance', \r\n
Login.c(39): \t\tfunction ($scope, $filter, chooserData, chooserGridData,
chooserOptions, $modalInstanc
Login.c(39): e) {\r\n
Login.c(39): var orderBy = $filter('orderBy');\r\n
Login.c(39): \t\t$scope.chooserData = chooserData;\r\n
Login.c(39): $scope.gridData = chooserGridData;\r\n
Login.c(39): $scope.displayAttr = chooserOptions.displayAttr;\r\n
Login.c(39): $scope.idAttr = chooserOptions.idAttr ||
chooserOptions.displayAttr;\r\n
Login.c(39): $scope.multiSelect = chooserOptions.multiSelect;\r\n
Login.c(39): \r\n
Login.c(39): $scope.clearAll = function(){\r\n
Login.c(39): $scope.chooserData =
$scope.chooserData.map(function(item, index){\r\n
Login.c(39): item.selected = false;\r\n
Login.c(39): if(!item.id){\r\n
Login.c(39): item.id= ''+index;\r\n
Login.c(39): }\r\n
Login.c(39): return item;\r\n
Login.c(39): });\r\n
Login.c(39): $scope.query="";\r\n
Login.c(39): $scope.allSelected = false;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): $scope.clearAll();\r\n
Login.c(39): $scope.query = chooserOptions.query;\r\n
Login.c(39): \r\n
Login.c(39): $scope.sort = {\r\n
Login.c(39): predicate: '-' + $scope.displayAttr,\r\n
Login.c(39): reverse: true\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): $scope.sortColumn = function(column){\r\n
Login.c(39): $scope.sort.predicate=''+column.name;\r\n
Login.c(39): $scope.sort.reverse=!$scope.sort.reverse;\r\n
Login.c(39): clearAllColumnSelections();\r\n
Login.c(39): $scope.chooserData = orderBy($scope.chooserData,
$scope.sort.predicate, $scope
Login.c(39): .sort.reverse);\r\n
Login.c(39): column.selected = true;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): for(var i=0;i<$scope.gridData.columns.length;i++){\r\n
Login.c(39): var column = $scope.gridData.columns[i];\r\n
Login.c(39): if(column.defaultSort || column.name ===
$scope.displayAttr){\r\n
Login.c(39): $scope.sortColumn(column);\r\n
Login.c(39): break;\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): $scope.isAtleastOneSelected = function(){\r\n
Login.c(39): var selectedItems =
$scope.chooserData.filter(function(item){\r\n
Login.c(39): return item.selected === true;\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): return selectedItems.length>0;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): function setFirstItemAsSelected(){\r\n
Login.c(39): if($scope.multiSelect){\r\n
Login.c(39): var items = $scope.query.split(',');\r\n
Login.c(39): $scope.query='';\r\n
Login.c(39): $scope.chooserData =
$scope.chooserData.map(function(chooserItem){\r\n
Login.c(39): var selectedItem =
items.filter(function(queryItem){\r\n
Login.c(39): return queryItem ===
chooserItem[$scope.displayAttr];\r\n
Login.c(39): });\r\n
Login.c(39): if(selectedItem.length>0){\r\n
Login.c(39): chooserItem.selected = true;\r\n
Login.c(39): }\r\n
Login.c(39): return chooserItem;\r\n
Login.c(39): });\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): if(!$scope.isAtleastOneSelected() && !$scope.query &&
$scope.chooserData.lengt
Login.c(39): h>0){\r\n
Login.c(39): $scope.chooserData[0].selected = true;\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): setFirstItemAsSelected();\r\n
Login.c(39): \r\n
Login.c(39): function clearAllColumnSelections(){\r\n
Login.c(39): $scope.gridData.columns =
$scope.gridData.columns.map(function(item){\r\n
Login.c(39): item.selected = false;\r\n
Login.c(39): return item;\r\n
Login.c(39): });\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): \t\t$scope.toggleSelection = function(item){\r\n
Login.c(39): if(!$scope.multiSelect){\r\n
Login.c(39): $scope.clearAll(); \r\n
Login.c(39): }\r\n
Login.c(39): item.selected = !item.selected;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): $scope.onDblClickItem = function(item){\r\n
Login.c(39): $scope.toggleSelection(item);\r\n
Login.c(39): $modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): $scope.selectAll = function(){\r\n
Login.c(39): $scope.chooserData =
$scope.chooserData.map(function(item){\r\n
Login.c(39): item.selected = false;\r\n
Login.c(39): return item;\r\n
Login.c(39): });\r\n
Login.c(39): $scope.allSelected = true;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): $scope.ok = function() {\r\n
Login.c(39): $modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): $scope.cancel = function() {\r\n
Login.c(39): $scope.clearAll();\r\n
Login.c(39): $modalInstance.dismiss('cancel');\r\n
Login.c(39): };\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.controllers')\r\n
Login.c(39): .controller('SearchActionCtrl',
['$scope','$modalInstance','searchdata','searchcolumnd
Login.c(39): ata',function($scope,$modalInstance,searchdata,searchcolumndata)
{\r\n
Login.c(39): \tvar vm = this;\r\n
Login.c(39): \tvm.searchdata =searchdata.data;\r\n
Login.c(39): \tvm.searchcolumndata =searchcolumndata;\r\n
Login.c(39): vm.searchdata[0].selected=true;\r\n
Login.c(39): vm.selectedItem = vm.searchdata[0];\r\n
Login.c(39): \r\n
Login.c(39): \tvm.selectItem=function(item){\r\n
Login.c(39): clearSelected();\r\n
Login.c(39): vm.selectedItem = item;\r\n
Login.c(39): item.selected= true;\r\n
Login.c(39): \t};\r\n
Login.c(39): \r\n
Login.c(39): vm.selectItemDoubleClick=function(item)\r\n
Login.c(39): { clearSelected();\r\n
Login.c(39): vm.selectedItem = item;\r\n
Login.c(39): item.selected= true;\r\n
Login.c(39): $modalInstance.close(vm.selectedItem);\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): \tvm.ok = function() {\r\n
Login.c(39): $modalInstance.close(vm.selectedItem);\r\n
Login.c(39): };\r\n
Login.c(39): vm.cancel = function() {\r\n
Login.c(39): $modalInstance.dismiss('cancel');\r\n
Login.c(39): }; \r\n
Login.c(39): \r\n
Login.c(39): function clearSelected(){\r\n
Login.c(39): vm.searchdata.map(function(item){\r\n
Login.c(39): item.selected= false; \r\n
Login.c(39): return item;\r\n
Login.c(39): });\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('epActionButtonContainer', [function(){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\treplace: true,\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/action-button-
container.tpl.html',\r\n
Login.c(39): \t\t\tscope: {}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('attachActionButton', [function(){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/attach-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tscope: {}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): \r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): .directive('epCalcField', ['$document','$compile',
'$position', \r\n
Login.c(39): function ($document,$compile,$position) {\r\n
Login.c(39): \r\n
Login.c(39): return {\r\n
Login.c(39): restrict: 'A',\r\n
Login.c(39): require: 'ngModel',\r\n
Login.c(39): link: function (scope, element, attrs, ngModelCtrl) {\r\n
Login.c(39): \r\n
Login.c(39): if(!ngModelCtrl) {\r\n
Login.c(39): return; \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): var started = false, result=0; \r\n
Login.c(39): //var operatorRegexp = /[\\=\\+\\-\\*\\/]/g;\r\n
Login.c(39): //var operatorsToSplit = /[\\+\\-\\*\\/]/g;\r\n
Login.c(39): var fullString ='';\r\n
Login.c(39): scope.listItems = [];\r\n
Login.c(39): var isNewElement=false;\r\n
Login.c(39): var isEnterKey = false;\r\n
Login.c(39): \r\n
Login.c(39): element.bind('keydown', function(event) {\r\n
Login.c(39): if(event.keyCode === 13 || event.keyCode === 9)
{\r\n
Login.c(39): isEnterKey = true;\r\n
Login.c(39): scope.newVal = element.val();\r\n
Login.c(39): scope.calculate();\r\n
Login.c(39): }\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): $document.on('click', function(e){\r\n
Login.c(39): if(started){\r\n
Login.c(39): var el = $(e.target);\r\n
Login.c(39): var isChild = (element[0] === el[0]);\r\n
Login.c(39): if(!isChild){\r\n
Login.c(39): if(element.val() === ''){\r\n
Login.c(39): scope.newVal = '';\r\n
Login.c(39): scope.clearView();\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): scope.newVal = element.val();\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.listItems = []; \r\n
Login.c(39): started = false;\r\n
Login.c(39): fullString = '';\r\n
Login.c(39): if (!scope.$$phase) scope.
$apply();\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): scope.$watch(attrs.ngModel,function(newVal){\r\n
Login.c(39): \r\n
Login.c(39): if(!newVal){\r\n
Login.c(39): return;\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): //******** remove multiple dots in user entry\r\n
Login.c(39): scope.removeMutipleChar(newVal,'.');\r\n
Login.c(39): scope.removeMutipleChar(newVal,'=');\r\n
Login.c(39): \r\n
Login.c(39): if(newVal==='='){\r\n
Login.c(39): scope.newVal = '';\r\n
Login.c(39): scope.lastCharacter = newVal;\r\n
Login.c(39): scope.calculate();\r\n
Login.c(39): \r\n
Login.c(39): return;\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): var lastCharacter = newVal.substr(newVal.length-
1,newVal.length);\r\n
Login.c(39): var matchesArr = newVal.split(/[\\
+\\-\\*\\/]/g);\r\n
Login.c(39): var currentValidValue =
parseFloat(matchesArr[matchesArr.length-2]);\r\n
Login.c(39): \r\n
Login.c(39): if((/[\\=\\+\\-\\*\\/]/g).test(lastCharacter))
{\r\n
Login.c(39): var firstChar = newVal.charAt(0);\r\n
Login.c(39): if(firstChar === '+' || firstChar === '*' ||
firstChar === '/' || fir
Login.c(39): stChar === '='){\r\n
Login.c(39): scope.clearView();\r\n
Login.c(39): return;\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): if(!started){\r\n
Login.c(39): \r\n
Login.c(39): started = true;\r\n
Login.c(39): if(!isNewElement){\r\n
Login.c(39): isNewElement = true;\r\n
Login.c(39): scope.initPopup();\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.lastCharacter = lastCharacter;\r\n
Login.c(39): scope.newVal = newVal;\r\n
Login.c(39): scope.currentValidValue =
currentValidValue;\r\n
Login.c(39): \r\n
Login.c(39): if(firstChar === '-'){\r\n
Login.c(39): scope.newVal = '0'+newVal;\r\n
Login.c(39): if(isNaN(currentValidValue)){\r\n
Login.c(39): scope.currentValidValue = 0;\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): scope.currentValidValue =
'-'+currentValidValue;\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.calculate();\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): scope.removeMutipleChar = function(ipval,spChar){\r\n
Login.c(39): var tempArr = ipval.split(spChar);\r\n
Login.c(39): var resultStr = '';\r\n
Login.c(39): if(tempArr.length > 2){\r\n
Login.c(39): var str = tempArr[0]+spChar+tempArr[1];\r\n
Login.c(39): var index = str.lastIndexOf(spChar); \r\n
Login.c(39): if(spChar === '.'){\r\n
Login.c(39): resultStr = str.substring(0,
index).replace(/[\\.]+/g, '').trim()+ s
Login.c(39): tr.substring(index);\r\n
Login.c(39): }\r\n
Login.c(39): else if(spChar === '='){\r\n
Login.c(39): resultStr = str.substring(0,
index).replace(/[\\=]+/g, '').trim()+ s
Login.c(39): tr.substring(index);\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.setView(resultStr);\r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.calculate = function(){\r\n
Login.c(39): \r\n
Login.c(39): if(started){\r\n
Login.c(39): \r\n
Login.c(39): fullString = fullString +
scope.newVal;\r\n
Login.c(39): \r\n
Login.c(39): if(scope.lastCharacter === '=' ||
isEnterKey){\r\n
Login.c(39): isEnterKey = false;\r\n
Login.c(39): fullString =
fullString.replace('=','');\r\n
Login.c(39): fullString = fullString.replace(/[\\
+\\-\\/\\*]$/,'');\r\n
Login.c(39): result = scope.$eval(fullString);\r\n
Login.c(39): result =
Math.round(result*1000)/1000;\r\n
Login.c(39): scope.result = result;\r\n
Login.c(39):
scope.listItems.push(scope.currentValidValue);\r\n
Login.c(39): \r\n
Login.c(39):
scope.setView(scope.result.toString());\r\n
Login.c(39): scope.listItems = []; \r\n
Login.c(39): started = false;\r\n
Login.c(39): fullString = '';\r\n
Login.c(39): if (!scope.$$phase) scope.
$apply();\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39):
scope.listItems.push(scope.currentValidValue + "" + scope.last
Login.c(39): Character);\r\n
Login.c(39): scope.clearView();\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): scope.isStarted = function(){\r\n
Login.c(39): return started;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.initPopup = function(){\r\n
Login.c(39): \r\n
Login.c(39): var popupId = 'ep-' + scope.$id + '-' +
Math.floor(Math.random() * 10000);
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): scope.position = $position.position(element);\r\n
Login.c(39): scope.position.top
Login.c(39): t=329ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): = scope.position.top + element.prop('offsetHeight') -
element.outerHeight() - 40; //40 is
Login.c(39): list hight set in css\r\n
Login.c(39): scope.width = element.outerWidth();\r\n
Login.c(39): \r\n
Login.c(39): var popUpEl = angular.element('<div ep-calcfield-
popup></div>');\r\n
Login.c(39): popUpEl.attr({\r\n
Login.c(39): id: popupId\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): var popup = $compile(popUpEl)(scope);\r\n
Login.c(39): element.after(popup);\r\n
Login.c(39): \r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.clearView = function(){\r\n
Login.c(39): scope.setView("");\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.setView = function(para){\r\n
Login.c(39): ngModelCtrl.$setViewValue(para);\r\n
Login.c(39): ngModelCtrl.$render();\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): }]);\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39):
angular.module('app.global.directives').directive('epCalcfieldPopup', [function ()
{\r\n
Login.c(39): return {\r\n
Login.c(39): restrict: 'A',\r\n
Login.c(39): replace: true,\r\n
Login.c(39): templateUrl: 'global/templates/calculator-
popup.tpl.html',\r\n
Login.c(39): link: function (scope, iElement, iAttrs) {\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): }]);\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): /********* Directory for preventing letters and spacebar entry
*********/\r\n
Login.c(39): \r\n
Login.c(39): angular.module('app.global.directives').directive('validNumber',
function() {\r\n
Login.c(39): return {\r\n
Login.c(39): require: '?ngModel',\r\n
Login.c(39): link: function(scope, element, attrs, ngModelCtrl) {\r\n
Login.c(39): if(!ngModelCtrl) {\r\n
Login.c(39): return; \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): ngModelCtrl.$parsers.push(function(val) {\r\n
Login.c(39): if(val){\r\n
Login.c(39): var clean = val.replace( /[^0-9\\.\\=\\+\\*\\-\\/]+/g,
'');\r\n
Login.c(39): if (val !== clean) {\r\n
Login.c(39): ngModelCtrl.$setViewValue(clean);\r\n
Login.c(39): ngModelCtrl.$render();\r\n
Login.c(39): }\r\n
Login.c(39): return clean;\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): element.bind('keypress', function(event) {\r\n
Login.c(39): if(event.keyCode === 32) {\r\n
Login.c(39): event.preventDefault();\r\n
Login.c(39): }\r\n
Login.c(39): });\r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): /**\r\n
Login.c(39): * @ngdoc directive\r\n
Login.c(39): * @name chooser\r\n
Login.c(39): * @restrict A\r\n
Login.c(39): * @element DIV\r\n
Login.c(39): * @param {string} autoCompleteResource The promise which will
return all the items\r\n
Login.c(39): * @param {boolean=} matchFilteringBeginning If set to true, only
the items which \r\n
Login.c(39): starts with the value entered on input box
will be shown.\r\n
Login.c(39): * @function\r\n
Login.c(39): *\r\n
Login.c(39): * @description\r\n
Login.c(39): * Chooser component. It will show the autocomplete on typing.
\r\n
Login.c(39): On Pressing F12, a popup will be shown with list of items
available to chosoer from.\r
Login.c(39): \n
Login.c(39): *\r\n
Login.c(39): * @example\r\n
Login.c(39): <example module="myapp">\r\n
Login.c(39): <file name="index.html">\r\n
Login.c(39): <div name="producer" chooser="" id-attr="code" display-
attr="name" \r\n
Login.c(39): auto-complete-resource="movie.producerResource"
strict-enabled="true" \r\n
Login.c(39): ng-model="movie.form.producer" model-
attr="movie.form.producer" \r\n
Login.c(39): grid-data="movie.producerGridData" \r\n
Login.c(39): item-template="global/templates/chooser-autocomplete-
item-default.tpl.html" \r
Login.c(39): \n
Login.c(39): chooser-
tooltip="movie.getTooltip(movie.form.name.producer)" \r\n
Login.c(39): match-filtering-beginning="false" required
name="producer"></div>\r\n
Login.c(39): </file>\r\n
Login.c(39): </example>\r\n
Login.c(39): */\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): .directive('chooser', [ 'ChooserPopupUtility', \r\n
Login.c(39): function ( ChooserPopupUtility) {\r\n
Login.c(39): return {\r\n
Login.c(39): restrict: 'A',\r\n
Login.c(39): require: 'ngModel',\r\n
Login.c(39): scope: {\r\n
Login.c(39): idAttr: '@',\r\n
Login.c(39): autoCompleteResource: '=',\r\n
Login.c(39): strictEnabled: '@',\r\n
Login.c(39): modelAttr: '=',\r\n
Login.c(39): itemTemplate: '@',\r\n
Login.c(39): displayAttr: '@',\r\n
Login.c(39): multiSelect: '@',\r\n
Login.c(39): gridData: '=',\r\n
Login.c(39): matchFilteringBeginning: '=',\r\n
Login.c(39): isDisbled: '=',\r\n
Login.c(39): chooserTooltip: '='\r\n
Login.c(39): },\r\n
Login.c(39): templateUrl: 'global/templates/chooser.tpl.html',\r\n
Login.c(39): link: function (scope, iElement, iAttrs, ngModel)
{\r\n
Login.c(39): var modalInstance,chooserEl =
iElement.find('input');\r\n
Login.c(39): scope.chooserData = [];\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): scope.isEditable = scope.strictEnabled ===
"false"? true : false;\r\n
Login.c(39): \r\n
Login.c(39): scope.multiSelect = scope.multiSelect ===
"false"? false : true;\r\n
Login.c(39): \r\n
Login.c(39): scope.itemTemplate = scope.itemTemplate ||
'global/templates/chooser-autoc
Login.c(39): omplete-item-default.tpl.html';\r\n
Login.c(39): \r\n
Login.c(39): scope.onBlur = function(){\r\n
Login.c(39):
chooserEl.val(getDisplayValue(scope.modelAttr));\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): function getDisplayValue(modelVal){\r\n
Login.c(39): if(angular.isArray(modelVal)){\r\n
Login.c(39): var displayVal=[];\r\n
Login.c(39): angular.forEach(modelVal, function(val)
{\r\n
Login.c(39): var filteredItem =
scope.chooserData.filter(function(chooserIt
Login.c(39): em){\r\n
Login.c(39): return chooserItem[scope.idAttr]
=== val;\r\n
Login.c(39): });\r\n
Login.c(39): if(filteredItem.length>0){\r\n
Login.c(39): displayVal.push(filteredItem[0]
[scope.displayAttr]);\r\n
Login.c(39): } \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): return displayVal.join();\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): var filteredItem =
scope.chooserData.filter(function(chooserItem){
Login.c(39): \r\n
Login.c(39): return chooserItem[scope.idAttr] ===
modelVal;\r\n
Login.c(39): });\r\n
Login.c(39): if(filteredItem.length>0){\r\n
Login.c(39): return filteredItem[0]
[scope.displayAttr];\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): return '';\r\n
Login.c(39): } \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.startsWith = function(item, viewValue) {\r\n
Login.c(39): if(item){\r\n
Login.c(39): \r\n
Login.c(39): item = ''+item;\r\n
Login.c(39): var filteredItem =
scope.chooserData.filter(function(chooserIt
Login.c(39): em){\r\n
Login.c(39): return
chooserItem[scope.displayAttr] === item;\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): if(filteredItem.length>0){\r\n
Login.c(39): \r\n
Login.c(39):
if(scope.matchFilteringBeginning===true){\r\n
Login.c(39): return item.substr(0,
viewValue.length).toLowerCase()
Login.c(39): == viewValue.toLowerCase(); \r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): return
item.toLowerCase().indexOf(viewValue.toLowerCas
Login.c(39): e()) > -1;\r\n
Login.c(39): } \r\n
Login.c(39): }\r\n
Login.c(39): return false;\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): //return item;\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.setValue = function(model){\r\n
Login.c(39): if(!model) {\r\n
Login.c(39): scope.modelAttr=""; \r\n
Login.c(39): return; \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): if(scope.idAttr){\r\n
Login.c(39): scope.modelAttr = model[scope.idAttr];\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): scope.modelAttr =
model[scope.displayAttr];\r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.onInputChange = function(){\r\n
Login.c(39): var chooserVal = chooserEl.val();\r\n
Login.c(39): if(!chooserVal){\r\n
Login.c(39): scope.modelAttr="";\r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): scope.$watch('modelAttr', function(newVal){\r\n
Login.c(39): chooserEl.val(getDisplayValue(newVal));\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): scope.formatLabel = function(model){\r\n
Login.c(39): if(!model) return;\r\n
Login.c(39): \r\n
Login.c(39): if(angular.isArray(model)){\r\n
Login.c(39): //TODO: for multiple selection\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): scope.modelAttr = model;\r\n
Login.c(39): // if(scope.idAttr){\r\n
Login.c(39): // scope.modelAttr =
model[scope.idAttr];\r\n
Login.c(39): \r\n
Login.c(39): // }\r\n
Login.c(39): // else{\r\n
Login.c(39): // scope.modelAttr =
model[scope.displayAttr];\r\n
Login.c(39): // }\r\n
Login.c(39): return getDisplayValue(model);\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): function getAutoComplete(){\r\n
Login.c(39):
scope.autoCompleteResource.findAll().then(function(data){\r\n
Login.c(39): scope.chooserData=data;\r\n
Login.c(39): });\r\n
Login.c(39): scope.$watch(function(){\r\n
Login.c(39): return
scope.autoCompleteResource.lastModified();\r\n
Login.c(39): },function(){\r\n
Login.c(39): scope.chooserData =
scope.autoCompleteResource.filter();\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): scope.$watch('autoCompleteResource', function()
{\r\n
Login.c(39): if(scope.autoCompleteResource){\r\n
Login.c(39): getAutoComplete();\r\n
Login.c(39): }\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): iElement.bind('keydown',function(event){\r\n
Login.c(39): \r\n
Login.c(39): if(event.keyCode === 123){\r\n
Login.c(39): event.preventDefault();\r\n
Login.c(39): scope.openPopup();\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): scope.openPopup = function(){\r\n
Login.c(39): scope.query = chooserEl.val();\r\n
Login.c(39): var options= {\r\n
Login.c(39): query: scope.query,\r\n
Login.c(39): displayAttr: scope.displayAttr,\r\n
Login.c(39): idAttr: scope.idAttr,\r\n
Login.c(39): multiSelect: scope.multiSelect\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): if(scope.chooserData &&
scope.chooserData.length>0){\r\n
Login.c(39): \r\n
Login.c(39): modalInstance =
ChooserPopupUtility.openModal(scope.autoCompleteRes
Login.c(39): ource.findAll(), scope.gridData, options);\r\n
Login.c(39): \r\n
Login.c(39): modalInstance.result.then(function(){\r\n
Login.c(39): var selectedItems;\r\n
Login.c(39): \r\n
Login.c(39): if(scope.allSelected){\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): selectedItems =
scope.chooserData.filter(function(item){\r
Login.c(39): \n
Login.c(39): return item.selected ===
true;\r\n
Login.c(39): }); \r\n
Login.c(39): }\r\n
Login.c(39): var attr = scope.idAttr? scope.idAttr:
scope.displayAttr;\r\n
Login.c(39): if(selectedItems.length>1){\r\n
Login.c(39): var modelVal=[];\r\n
Login.c(39): angular.forEach(selectedItems,
function(item){\r\n
Login.c(39): modelVal.push(item[attr]);\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): scope.modelAttr = modelVal;\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): scope.modelAttr = selectedItems[0]
[attr];\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): chooserEl.val(scope.modelAttr);\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): if(scope.autoCompleteResource){\r\n
Login.c(39): getAutoComplete();\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): if(scope.modelAttr){\r\n
Login.c(39):
chooserEl.val(getDisplayValue(scope.modelAttr));\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): }]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('clearActionButton',
['$modal','$rootScope','EPConstant', function($modal,$ro
Login.c(39): otScope, EPConstant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/clear-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tscope: {\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t},\r\n
Login.c(39): \t\t\tlink:function(scope,element,attrs){\r\n
Login.c(39): \t\t\t\tscope.clearClick=function(){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t var modalInstance = $modal.open({\r\n
Login.c(39): templateUrl: 'global/templates/action-button-
popup.tpl.html',\r\n
Login.c(39): scope: scope\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t scope.headerMsg = "Confirm";\r\n
Login.c(39): \t\t\t\t scope.warningMsg="Are you sure you want to clear all
fields?";\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.ok = function() {\r\n
Login.c(39): modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): scope.cancel = function() {\r\n
Login.c(39): modalInstance.dismiss('cancel');\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): modalInstance.result.then(function(){\r\n
Login.c(39): \t$rootScope.
$broadcast(EPConstant.Message.ClearTriggered);\r\n
Login.c(39):
Login.c(39): t=350ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('clipBoardManager',
['EPConstant',function(EPConstant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\tlink: function(scope,element,attrs){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tvar prevElement;\r\n
Login.c(39): \t \r\n
Login.c(39): \t $(document).on('focusin', 'input', function () {\r\n
Login.c(39): \t prevElement = angular.element(this);\r\n
Login.c(39): \t });\r\n
Login.c(39): \r\n
Login.c(39): \t\t scope.$on(EPConstant.Message.CopyTriggered, function()
{\r\n
Login.c(39): \t\t scope.copiedClipBoardVal = prevElement.val();\r\n
Login.c(39): \t\t });\r\n
Login.c(39): \r\n
Login.c(39): \t\t scope.$on(EPConstant.Message.CutTriggered, function()
{\r\n
Login.c(39): \t\t scope.copiedClipBoardVal = prevElement.val();\r\n
Login.c(39): \t\t prevElement.val('');\r\n
Login.c(39): \t\t });\r\n
Login.c(39): \r\n
Login.c(39): \t\t scope.$on(EPConstant.Message.PasteTriggered,
function(){\r\n
Login.c(39): \t\t prevElement.val(scope.copiedClipBoardVal);\r\n
Login.c(39): \t\t \tprevElement.trigger('input');\r\n
Login.c(39): \t\t });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('copyActionButton',
['$rootScope','EPConstant',function($rootScope, EPConstan
Login.c(39): t){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/copy-action-
button.tpl.html',\r\n
Login.c(39): \r\n
Login.c(39): \t\t\tlink:function(scope,element,attrs){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.copyClick = function(){\r\n
Login.c(39): \t\t\t\t\t$rootScope.
$broadcast(EPConstant.Message.CopyTriggered);\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('cutActionButton',
['$rootScope','EPConstant',function($rootScope,EPConstant)
Login.c(39): {\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/cut-action-
button.tpl.html',\r\n
Login.c(39): \r\n
Login.c(39): \t\t\tlink:function(scope,element,attrs){\r\n
Login.c(39): \t\t\t\tscope.cutClick = function(){\r\n
Login.c(39): \t\t\t\t\t$rootScope.
$broadcast(EPConstant.Message.CutTriggered);\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('deleteActionButton',
['$modal','$rootScope','EPConstant', function($modal,$r
Login.c(39): ootScope, EPConstant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/delete-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tlink: function(scope, el, attr){\r\n
Login.c(39): \t\t\t\tscope.onDeleteClick=function(){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t var modalInstance = $modal.open({\r\n
Login.c(39): templateUrl: 'global/templates/action-button-
popup.tpl.html',\r\n
Login.c(39): scope: scope\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \t\t\t\tscope.headerMsg = "Confirm";\r\n
Login.c(39): \t\t\t\tscope.warningMsg="Are you sure you want to delete this
record?";\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.ok = function() {\r\n
Login.c(39): modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): scope.cancel = function() {\r\n
Login.c(39): modalInstance.dismiss('cancel');\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): modalInstance.result.then(function(){\r\n
Login.c(39): \t$rootScope.
$broadcast(EPConstant.Message.DeleteTriggered);\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global')\r\n
Login.c(39): \t.directive('epDragDropList', ['$state',function ($state) {\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\trequire: 'ngModel',\r\n
Login.c(39): \t\t\tscope: {\r\n
Login.c(39): \t\t\t\tpaneldata: '='\r\n
Login.c(39): \t\t\t},\r\n
Login.c(39): \t\t\tlink: function (scope, iElement, iAttrs) {\r\n
Login.c(39): \t var toUpdate;\r\n
Login.c(39): \tvar startIndex = -1;\r\n
Login.c(39): \t\t\tiElement.sortable({\r\n
Login.c(39): items:'li',\r\n
Login.c(39): start:function (event, ui) {\r\n
Login.c(39): startIndex = ($(ui.item).index());\r\n
Login.c(39): },\r\n
Login.c(39): stop:function (event, ui) {\r\n
Login.c(39): var newIndex = ($(ui.item).index());\r\n
Login.c(39): var toMove = scope.paneldata[startIndex];\r\n
Login.c(39): scope.paneldata.splice(startIndex,1);\r\n
Login.c(39): scope.paneldata.splice(newIndex,0,toMove);\r\n
Login.c(39): scope.$apply(scope.model);\r\n
Login.c(39): },\r\n
Login.c(39): axis:'y'\r\n
Login.c(39): });\r\n
Login.c(39): \t\t\tiElement.disableSelection();\r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): .directive('epErrDisplay', ['$compile','$rootScope', function
($compile,$rootScope) {\r\n
Login.c(39): \treturn {\r\n
Login.c(39): \t\trestrict: 'A',\r\n
Login.c(39): \t\tscope: {\r\n
Login.c(39): \t\t\terrData: '=',\r\n
Login.c(39): \t\t\tformName: '='\r\n
Login.c(39): \t\t\t\r\n
Login.c(39): \t\t},\r\n
Login.c(39): \t\ttemplateUrl:'global/templates/err-display.tpl.html',\r\n
Login.c(39): \t\tlink: function (scope, iElement, iAttrs) {\r\n
Login.c(39): \t\t\tscope.selectedItem = "";\r\n
Login.c(39): \t\t\tvar form = scope.formName;\r\n
Login.c(39): \t\t\tscope.$watch('errData', function(newVal){\r\n
Login.c(39): \t\t\t\tscope.warningData =[];\r\n
Login.c(39): \t\t\t\tvar errors=[];\r\n
Login.c(39): \t\t\t\tangular.forEach(newVal, function(item){\r\n
Login.c(39): \t\t\t\t\tif('warning'===item.type){\r\n
Login.c(39): \t\t\t\t\t\tscope.warningData.push(item);\r\n
Login.c(39): \t\t\t\t\t}\r\n
Login.c(39): \t\t\t\t\telse\r\n
Login.c(39): \t\t\t\t\t{\r\n
Login.c(39): \t\t\t\t\t\terrors.push(item);\r\n
Login.c(39): \t\t\t\t\t}\r\n
Login.c(39): \t\t\t\t});\r\n
Login.c(39): \t\t\t\tscope.errInfo= errors;\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tif(newVal && newVal.length>0){\r\n
Login.c(39): \t\t\t\t\tselectAndFocus(newVal[0]);\r\n
Login.c(39): \t\t\t\t}\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): scope.onErrorClick=function(event, item){\r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t\tif(item.errorComponent ==="griderror"){\r\n
Login.c(39): \t\t\t\t\t\t$rootScope.$broadcast("setFoucsGrid", item);\r\n
Login.c(39): \t\t\t\t\t\tscope.selectedItem = item;\r\n
Login.c(39): \t\t\t\t}else{\r\n
Login.c(39): \t\t\t\t\tevent.preventDefault();\r\n
Login.c(39): \t\t\t\t\tselectAndFocus(item);\r\n
Login.c(39): \t\t\t\t}\t\r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \r\n
Login.c(39): \t\t\t//set the foucs of the grid\r\n
Login.c(39): \t\t\t \r\n
Login.c(39): \r\n
Login.c(39): \t\t\tfunction selectAndFocus(item){\r\n
Login.c(39): \t\t\t\tscope.selectedItem = item;\r\n
Login.c(39): \t\t\t\tvar selectedEl;\r\n
Login.c(39): \t\t\t\tselectedEl = angular.element('[name="'
+item.name+'"]');\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tif(selectedEl){\r\n
Login.c(39): \t\t\t\t\t\r\n
Login.c(39): \t\t\t\t\tif(selectedEl && selectedEl.length>0){\r\n
Login.c(39): \t\t\t\t\t\tif(selectedEl[0].nodeName.toLowerCase() === "input")
{\r\n
Login.c(39): \t\t\t\t\t\t\tselectedEl.focus();\t\r\n
Login.c(39): \t\t\t\t\t\t}\r\n
Login.c(39): \t\t\t\t\t\telse{\r\n
Login.c(39): \t\t\t\t\t\t\tselectedEl.find('input').focus();\r\n
Login.c(39): \t\t\t\t\t\t}\r\n
Login.c(39): \t\t\t\t\t\t\r\n
Login.c(39): \t\t\t\t\t}\t\t\t\t\t\r\n
Login.c(39): \t\t\t\t\t\r\n
Login.c(39): \t\t\t\t}\r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t\r\n
Login.c(39): \t\t} \t\t \r\n
Login.c(39): \r\n
Login.c(39): \t};\r\n
Login.c(39): }]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('helpActionButton',
['$rootScope','EPConstant',function($rootScope, EPConstan
Login.c(39): t){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/help-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tlink:function(scope,element,attrs){\r\n
Login.c(39): \t\t\t\tscope.helpClick=function(){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t\t$rootScope.
$broadcast(EPConstant.Message.HelpTriggered);\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('notesActionButton', [function(){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/notes-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tscope: {}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('pasteActionButton',
['$rootScope','EPConstant',function($rootScope, EPConsta
Login.c(39): nt){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/paste-action-
button.tpl.html',\r\n
Login.c(39): \t\t\t\r\n
Login.c(39): \t\t\tlink:function(scope,element,attrs){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.pasteClick = function(){\r\n
Login.c(39): \t\t\t\t\t$rootScope.
$broadcast(EPConstant.Message.PasteTriggered);\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('resetActionButton',
['$modal','$rootScope','EPConstant', function($modal,$roo
Login.c(39): tScope, EPConstant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/reset-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tlink: function(scope, el, attr){\r\n
Login.c(39): \t\t\t\tscope.onResetClick=function(){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t var modalInstance = $modal.open({\r\n
Login.c(39): templateUrl: 'global/templates/action-button-
popup.tpl.html',\r\n
Login.c(39): scope: scope\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \t\t\t\tscope.headerMsg = "Confirm";\r\n
Login.c(39): \t\t\t\tscope.warningMsg="Are you sure you want to Reset this
record?";\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.ok = function() {\r\n
Login.c(39): modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): scope.cancel = function() {\r\n
Login.c(39): modalInstance.dismiss('cancel');\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): modalInstance.result.then(function(){\r\n
Login.c(39): \t$rootScope.
$broadcast(EPConstant.Message.ResetTriggered);\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('saveActionButton',
['$modal','$rootScope','EPConstant', function($modal,$roo
Login.c(39): tScope, EPConstant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/save-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tlink: function(scope, el, attr){\r\n
Login.c(39): \t\t\t\tscope.onSaveClick=function(){\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t var modalInstance = $modal.open({\r\n
Login.c(39): templateUrl: 'global/templates/action-button-
popup.tpl.html',\r\n
Login.c(39): scope: scope\r\n
Login.c(39): \r\n
Login.c(39): });\r\n
Login.c(39): \t\t\t\tscope.headerMsg = "Confirm";\r\n
Login.c(39): \t\t\t\tscope.warningMsg="Are you sure you want to save this
record?";\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\tscope.ok = function() {\r\n
Login.c(39): modalInstance.close();\r\n
Login.c(39): };\r\n
Login.c(39): scope.cancel = function() {\r\n
Login.c(39): modalInstance.dismiss('cancel');\r\n
Login.c(39): };\r\n
Login.c(39): \r\n
Login.c(39): modalInstance.result.then(function(){\r\n
Login.c(39): \t$rootScope.
$broadcast(EPConstant.Message.SaveTriggered);\r\n
Login.c(39): });\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t\t\r\n
Login.c(39): \t\t\t\t};\r\n
Login.c(39): \r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.directives')\r\n
Login.c(39): \t.directive('searchActionButton', ['$rootScope','EPConstant',
function($rootScope, EPCons
Login.c(39): tant){\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\trestrict: 'A',\r\n
Login.c(39): \t\t\ttemplateUrl: 'global/templates/search-action-
button.tpl.html',\r\n
Login.c(39): \t\t\tlink: function(scope, el, attr){\r\n
Login.c(39): \t\t\t\tscope.onSearchClick=function(){\r\n
Login.c(39): \t\t\t\t$rootScope.
$broadcast(EPConstant.Message.SearchTriggered);\r\n
Login.c(39): \t\t\t\t };\r\n
Login.c(39): \t\t\t}\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);\r\n
Login.c(39): angular.module('app.global.filters')\r\n
Login.c(39): .filter('queryHighlighter', ['$anchorScroll', '$location',
function($anchorScroll, $lo
Login.c(39): cation) {\r\n
Login.c(39): var selectedItem={};\r\n
Login.c(39): $anchorScroll.yOffset = -50;\r\n
Login.c(39): \r\n
Login.c(39): function escapeRegexp(queryToEscape) {\r\n
Login.c(39): return queryToEscape.replace(/([.?*+^$[\\]\\\\()
{}|-])/g, '\\\\$1');\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): function scrollTo(id){\r\n
Login.c(39): var newHash = 'chooser-item-'+id;\r\n
Login.c(39): if ($location.hash() !== newHash) {\r\n
Login.c(39): $location.hash(newHash);\r\n
Login.c(39): } else {\r\n
Login.c(39): $anchorScroll();\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): function clearAll(chooserData){\r\n
Login.c(39): chooserData = chooserData.map(function(item, index)
{\r\n
Login.c(39): item.selected = false;\r\n
Login.c(39): return item;\r\n
Login.c(39): });\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): return function(matchItem, query, column, item,
chooserData) {\r\n
Login.c(39): if(query && (column&& column.selected)){\r\n
Login.c(39): \r\n
Login.c(39): var regexp = new RegExp(escapeRegexp(query),
'gi');\r\n
Login.c(39): var matches = regexp.exec('' + matchItem);\r\n
Login.c(39): if(matches){\r\n
Login.c(39): clearAll(chooserData);\r\n
Login.c(39): var matchLength = matches[0].length,\r\n
Login.c(39): diffWithOriginal = matchItem.length
-matches[0].length;\r\n
Login.c(39): if(!selectedItem.item ||
(selectedItem.query[0] !== query[0])){\r\n
Login.c(39): selectedItem.item = item;\r\n
Login.c(39): selectedItem.column = column;\r\n
Login.c(39): item.selected = true;\r\n
Login.c(39): selectedItem.matchLength=matchLength;\r\n
Login.c(39): selectedItem.query = query;\r\n
Login.c(39): selectedItem.diffWithOriginal =
diffWithOriginal;\r\n
Login.c(39): scrollTo(item.id);\r\n
Login.c(39): \r\n
Login.c(39): }\r\n
Login.c(39): else if(selectedItem.matchLength<=matchLength
&& selectedItem.diffWith
Login.c(39): Original>=diffWithOriginal){\r\n
Login.c(39): selectedItem.item.selected = false;\r\n
Login.c(39): selectedItem.item = item;\r\n
Login.c(39): selectedItem.column = column;\r\n
Login.c(39): item.selected = true;\r\n
Login.c(39): selectedItem.matchLength=matchLength;\r\n
Login.c(39): selectedItem.diffWithOriginal =
diffWithOriginal;\r\n
Login.c(39): scrollTo(item.id);\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): \r\n
Login.c(39): return ('' + matchItem).replace(regexp,
'<strong>$&</strong>');\r\n
Login.c(39): }\r\n
Login.c(39): else{\r\n
Login.c(39): \r\n
Login.c(39): if(selectedItem && selectedItem.item &&
selectedItem.column.name === colum
Login.c(39): n.name) {\r\n
Login.c(39): selectedItem.item.selected = false;\r\n
Login.c(39): selectedItem={};\r\n
Login.c(39): }\r\n
Login.c(39): return matchItem;\r\n
Login.c(39): }\r\n
Login.c(39): };\r\n
Login.c(39): }]);\r\n
Login.c(39): angular.module('app.global.filters')\r\n
Login.c(39): .filter('titleCase', function() {\r\n
Login.c(39): return function(str) {\r\n
Login.c(39): return (str === undefined || str === null) ? '' :
str.replace(/_|-/, ' ').
Login.c(39): replace(/\\w\\S*/g, function(txt){\r\n
Login.c(39): return txt.charAt(0).toUpperCase() +
txt.substr(1).toLowerCase();\r\n
Login.c(39): });\r\n
Login.c(39): };\r\n
Login.c(39): });\r\n
Login.c(39): angular.module('app.global.services')\r\n
Login.c(39): \t.factory('ChooserPopupUtility', ['$modal', function ($modal)
{\r\n
Login.c(39): \t\t\r\n
Login.c(39): \t\tfunction openModal(chooserData, chooserGridData, options){\r\n
Login.c(39): \t\t\tvar modalInstance = $modal.open({\r\n
Login.c(39): templateUrl:
'global/templates/chooser-popup-global.tpl.html',
Login.c(39): \r\n
Login.c(39): controller: 'ChooserPopupCtrl',\r\n
Login.c(39): resolve: {\r\n
Login.c(39): \tchoos
Login.c(39): t=368ms: 857-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/ep-global-components.js" (RelFrameId=1, Internal
ID=4)
Login.c(39): erData: function($q){\r\n
Login.c(39): \t\tvar defer = $q.defer();\t\r\n
Login.c(39): \t\tchooserData.then(function(result)
{\r\n
Login.c(39): var finalResult =
result.data? result.data: result
Login.c(39): ;\r\n
Login.c(39): \t\t\tdefer.resolve(finalResult);\r\n
Login.c(39): \t\t});\r\n
Login.c(39): \t\treturn defer.promise;\r\n
Login.c(39): \t},\r\n
Login.c(39): \tchooserGridData: function(){\r\n
Login.c(39): \t\treturn chooserGridData;\r\n
Login.c(39): \t},\r\n
Login.c(39): chooserOptions: function(){\r\n
Login.c(39): return options;\r\n
Login.c(39): }\r\n
Login.c(39): }\r\n
Login.c(39): });\r\n
Login.c(39): \t\t\treturn modalInstance;\r\n
Login.c(39): \t\t}\r\n
Login.c(39): \t\r\n
Login.c(39): \t\treturn {\r\n
Login.c(39): \t\t\topenModal: openModal\r\n
Login.c(39): \t\t};\r\n
Login.c(39): \t}]);
Login.c(39): web_url("ep-global-components.js") was successful, 6942 body bytes,
295 header bytes, 108 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(46): web_url("login-templates.js") started [MsgId: MMSG-26355]
Login.c(46): t=372ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): HTTP/1.1 200 OK\r\n
Login.c(46): Server: Apache-Coyote/1.1\r\n
Login.c(46): Accept-Ranges: bytes\r\n
Login.c(46): ETag: W/"2171-1419875280000"\r\n
Login.c(46): Last-Modified: Mon, 29 Dec 2014 17:48:00 GMT\r\n
Login.c(46): Content-Type: application/javascript\r\n
Login.c(46): Transfer-Encoding: chunked\r\n
Login.c(46): Content-Encoding: gzip\r\n
Login.c(46): Vary: Accept-Encoding\r\n
Login.c(46): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(46): \r\n
Login.c(46): t=373ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): a\r\n
Login.c(46): t=373ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): \r\n
Login.c(46): 200\r\n
Login.c(46): t=373ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): \r\n
Login.c(46): 136\r\n
Login.c(46): t=373ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): \r\n
Login.c(46): 0\r\n
Login.c(46): \r\n
Login.c(46): t=374ms: 832-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): t=374ms: 2171-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/login-templates.js" (RelFrameId=1, Internal ID=5)
Login.c(46): angular.module('templates-login',
['login/templates/contentarea.tpl.html', 'login/template
Login.c(46): s/license-chooser-item.tpl.html']);\r\n
Login.c(46): \r\n
Login.c(46): angular.module("login/templates/contentarea.tpl.html",
[]).run(["$templateCache", function
Login.c(46): ($templateCache) {\r\n
Login.c(46): $templateCache.put("login/templates/contentarea.tpl.html",\r\n
Login.c(46): "<div data-ng-controller=\\"LoginCtrl as loginarea\\"><div
class=container-fluid><div>
Login.c(46): <form novalidate class=form-signin role=form name=loginform
id=loginform ng-submit=loginar
Login.c(46): ea.form.submit(loginform)><div class=error-container><div
class=error ng-show=\\"loginform
Login.c(46): .license.$invalid && loginarea.form.submitted\\"><small
class=error ng-show=loginform.lice
Login.c(46): nse.$error.required>License should not be
blank</small></div></div><div class=error ng-sho
Login.c(46): w=loginarea.authenticaionFailed><small
class=error>{{loginarea.authenticationFailureMsg}}<
Login.c(46): /small></div><h3 class=form-signin-heading>EP - VISTA 5</h3><p
class=eplogin>License</p><d
Login.c(46): iv class=col-md-11><div name=license ng-disabled=!
loginarea.authenticated is-disbled=!logi
Login.c(46): narea.authenticated ep-focus-me=loginarea.authenticated
chooser=\\"\\" id-attr=id display-
Login.c(46): attr=licenseCode auto-complete-resource=loginarea.licenseResource
strict-enabled=true ng-m
Login.c(46): odel=loginarea.form.license model-attr=loginarea.form.license
grid-data=loginarea.gridData
Login.c(46): item-template=login/templates/license-chooser-item.tpl.html
match-filtering-beginning=tru
Login.c(46): e required></div></div><br><br><br><div class=col-md-11><div
class=action-btns><button ng-
Login.c(46): disabled=!loginarea.authenticated class=\\"btn btn-lg btn-
primary\\" type=submit>Log In</b
Login.c(46): utton></div></div></form></div><div class=\\"modal fade in\\"
id=oAuthModal ng-style=login
Login.c(46): area.modalStyle tabindex=-1 role=dialog><div class=\\"modal-
backdrop fade in\\" style=\\"h
Login.c(46): eight: 100%\\"></div></div></div></div>");\r\n
Login.c(46): }]);\r\n
Login.c(46): \r\n
Login.c(46): angular.module("login/templates/license-chooser-item.tpl.html",
[]).run(["$templateCache",
Login.c(46): function($templateCache) {\r\n
Login.c(46): $templateCache.put("login/templates/license-chooser-
item.tpl.html",\r\n
Login.c(46): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.licenseCode | typ
Login.c(46): eaheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.description span=\\"
Login.c(46): \\"></span></a>");\r\n
Login.c(46): }]);\r\n
Login.c(46): web_url("login-templates.js") was successful, 832 body bytes, 294
header bytes, 24 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(53): web_url("config.js") started [MsgId: MMSG-26355]
Login.c(53): t=377ms: 293-byte response headers for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): HTTP/1.1 200 OK\r\n
Login.c(53): Server: Apache-Coyote/1.1\r\n
Login.c(53): Accept-Ranges: bytes\r\n
Login.c(53): ETag: W/"442-1419875268000"\r\n
Login.c(53): Last-Modified: Mon, 29 Dec 2014 17:47:48 GMT\r\n
Login.c(53): Content-Type: application/javascript\r\n
Login.c(53): Transfer-Encoding: chunked\r\n
Login.c(53): Content-Encoding: gzip\r\n
Login.c(53): Vary: Accept-Encoding\r\n
Login.c(53): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(53): \r\n
Login.c(53): t=378ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): a\r\n
Login.c(53): t=378ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): \r\n
Login.c(53): f4\r\n
Login.c(53): t=378ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): \r\n
Login.c(53): 0\r\n
Login.c(53): \r\n
Login.c(53): t=378ms: 254-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): t=379ms: 442-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/config.js" (RelFrameId=1, Internal ID=6)
Login.c(53): "use strict";\r\n
Login.c(53): \r\n
Login.c(53): angular.module('config', [])\r\n
Login.c(53): \r\n
Login.c(53): .constant('ENV',
{BaseUrl:'http://v5devtom.ep.com/v5',Api:'http://v5devtom.ep.com/company-
Login.c(53): setup-service-nbcu-int-2014-release/v1',OAuth:
{Verification:'http://v5devtom.ep.com/uaa/ch
Login.c(53):
eck_token',Redirect:'http://v5devtom.ep.com/v5/ui/oauth2callback.html',Authorizatio
n:'http
Login.c(53):
://v5devtom.ep.com/uaa/oauth/authorize'},License:'http://v5devtom.ep.com/license-
service-n
Login.c(53): bcu-int-2014-release/v1/'})\r\n
Login.c(53): \r\n
Login.c(53): ;
Login.c(53): web_url("config.js") was successful, 254 body bytes, 293 header bytes,
16 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(60): web_url("login.js") started [MsgId: MMSG-26355]
Login.c(60): t=382ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): HTTP/1.1 200 OK\r\n
Login.c(60): Server: Apache-Coyote/1.1\r\n
Login.c(60): Accept-Ranges: bytes\r\n
Login.c(60): ETag: W/"10929-1419875279000"\r\n
Login.c(60): Last-Modified: Mon, 29 Dec 2014 17:47:59 GMT\r\n
Login.c(60): Content-Type: application/javascript\r\n
Login.c(60): Transfer-Encoding: chunked\r\n
Login.c(60): Content-Encoding: gzip\r\n
Login.c(60): Vary: Accept-Encoding\r\n
Login.c(60): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(60): \r\n
Login.c(60): t=382ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): a\r\n
Login.c(60): t=382ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 200\r\n
Login.c(60): t=382ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 200\r\n
Login.c(60): t=382ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 200\r\n
Login.c(60): t=383ms: 1141-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): t=383ms: 3402-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): angular.module('login.controllers',[]);\n
Login.c(60): angular.module('login',['login.controllers',\n
Login.c(60): 'pascalprecht.translate',\n
Login.c(60): 'templates-global',\n
Login.c(60): 'templates-login',\n
Login.c(60): 'angular-data.DS',\n
Login.c(60): 'angular-data.DSCacheFactory',\n
Login.c(60): 'ui.bootstrap',\n
Login.c(60): 'validation', \n
Login.c(60): 'validation.rule',\n
Login.c(60): 'ngStorage',\n
Login.c(60): 'angularOauth',\n
Login.c(60): 'config',\n
Login.c(60): 'app.global'])\n
Login.c(60): .constant('EPTokenVerifier', function(config, accessToken)
{\n
Login.c(60): var $injector = angular.injector(['ng']);\n
Login.c(60): return $injector.invoke(['$http', '$rootScope',
'$q',\n
Login.c(60): function($http, $rootScope, $q) {\n
Login.c(60): var deferred = $q.defer();\n
Login.c(60): var verificationEndpoint =
config.verificationEndpoint;\n
Login.c(60): \n
Login.c(60): //var verificationEndpoint =
"http://localhost:9080/uaa/check_token";\n
Login.c(60): \n
Login.c(60): $rootScope.$apply(function() {\n
Login.c(60): $http({method: 'POST', \n
Login.c(60): url: verificationEndpoint, \n
Login.c(60): headers: {\n
Login.c(60): 'Content-Type': 'application/x-www-form-
urlencoded',\n
Login.c(60): 'Authorization': 'Basic
YXBwOmFwcGNsaWVudHNlY3JldA=='\n
Login.c(60): },\n
Login.c(60): params: {token: accessToken}}).\n
Login.c(60): success(function(data) {\n
Login.c(60): if (data.client_id == config.clientId) {\n
Login.c(60): deferred.resolve(data);\n
Login.c(60): } else {\n
Login.c(60): deferred.reject({name:
'invalid_audience'});\n
Login.c(60): }\n
Login.c(60): }).\n
Login.c(60): error(function(data, status, headers, config)
{\n
Login.c(60): deferred.reject({\n
Login.c(60): name: 'error_response',\n
Login.c(60): data: data,\n
Login.c(60): status: status,\n
Login.c(60): headers: headers,\n
Login.c(60): config: config\n
Login.c(60): });\n
Login.c(60): });\n
Login.c(60): });\n
Login.c(60): \n
Login.c(60): return deferred.promise;\n
Login.c(60): }]);\n
Login.c(60): })\n
Login.c(60): \t.config(['DSProvider', 'TokenProvider', 'EPTokenVerifier',
'ENV', \n
Login.c(60): function (DSProvider,TokenProvider, EPTokenVerifier, ENV) {\n
Login.c(60): \t\t DSProvider.defaults.baseUrl = ENV.Api;\n
Login.c(60): \n
Login.c(60): TokenProvider.extendConfig({\n
Login.c(60): verificationEndpoint: ENV.OAuth.Verification,\n
Login.c(60): clientId: 'app',\n
Login.c(60): redirectUri: ENV.OAuth.Redirect,\n
Login.c(60): scopes: ["password.write"],\n
Login.c(60): authorizationEndpoint:
ENV.OAuth.Authorization,\n
Login.c(60): verifyFunc: EPTokenVerifier\n
Login.c(60): });\n
Login.c(60): \t\t\n
Login.c(60): \t}]);\r\n
Login.c(60): angular.module('login')\r\n
Login.c(60): .config(['$provide', '$httpProvider',\r\n
Login.c(60): function ($provide, $httpProvider) {\r\n
Login.c(60): \r\n
Login.c(60): function OAuthTokenInterceptor(AuthService) {\r\n
Login.c(60): var sessionInjector = {\r\n
Login.c(60): request: function(config){\r\n
Login.c(60): if(config &&
AuthService.isAuthenticated()){\r\n
Login.c(60): config.headers.access_token =
AuthService.getToken();\r\n
Login.c(60): }\r\n
Login.c(60): return config;\r\n
Login.c(60): }\r\n
Login.c(60): };\r\n
Login.c(60): \r\n
Login.c(60): return sessionInjector;\r\n
Login.c(60): }\r\n
Login.c(60): \r\n
Login.c(60): \r\n
Login.c(60): $provide.factory('OAuthTokenInterceptor',
['AuthService', OAuthTokenIntercepto
Login.c(60): r]);\r\n
Login.c(60):
$httpProvider.interceptors.push('OAuthTokenInterceptor');\r\n
Login.c(60): \r\n
Login.c(60): }]);\r\n
Login.c(60): angular.module('login')\r\n
Login.c(60): \t.constant('LoginConstant', {\r\n
Login.c(60): \t\tBaseUrl : 'http://localhost:9080/company-setup-service
Login.c(60): t=387ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 200\r\n
Login.c(60): t=387ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 200\r\n
Login.c(60): t=387ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 183\r\n
Login.c(60): t=387ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): \r\n
Login.c(60): 0\r\n
Login.c(60): \r\n
Login.c(60): t=387ms: 1816-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): t=388ms: 7527-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/login.js" (RelFrameId=1, Internal ID=7)
Login.c(60): -nbcu-int-2014-release',\r\n
Login.c(60): \t\tApi: 'http://localhost:9080/company-setup-service-nbcu-int-
2014-release/v1',\r\n
Login.c(60): \t\tOAuth: {\r\n
Login.c(60): \t\t\tVerification: 'http://localhost:9080/uaa/check_token',\r\n
Login.c(60): \t\t\tRedirect: 'http://localhost:9080/company-setup-service-nbcu-
int-2014-release/ui/oaut
Login.c(60): h2callback.html',\r\n
Login.c(60): \t\t\tAuthorization:
'http://localhost:9080/uaa/oauth/authorize'\r\n
Login.c(60): \t\t}\r\n
Login.c(60): \t});\r\n
Login.c(60): angular.module('login.controllers')\r\n
Login.c(60): .controller('CallbackCtrl', ['$scope', '$location', function
($scope, $location) {\r\n
Login.c(60): \r\n
Login.c(60): /**\r\n
Login.c(60): * Parses an escaped url query string into key-value
pairs.\r\n
Login.c(60): *\r\n
Login.c(60): * (Copied from Angular.js in the AngularJS project.)\r\n
Login.c(60): *\r\n
Login.c(60): * @returns Object.<(string|boolean)>\r\n
Login.c(60): */\r\n
Login.c(60): function parseKeyValue(/**string*/keyValue) {\r\n
Login.c(60): var obj = {}, key_value, key;\r\n
Login.c(60): angular.forEach((keyValue || "").split('&'),
function(keyValue){\r\n
Login.c(60): if (keyValue) {\r\n
Login.c(60): key_value = keyValue.split('=');\r\n
Login.c(60): key = decodeURIComponent(key_value[0]);\r\n
Login.c(60): obj[key] = angular.isDefined(key_value[1]) ?
decodeURIComponent(key_value[1]
Login.c(60): ) : true;\r\n
Login.c(60): }\r\n
Login.c(60): });\r\n
Login.c(60): return obj;\r\n
Login.c(60): }\r\n
Login.c(60): \r\n
Login.c(60): var queryString = $location.path().substring(1); //
preceding slash omitted\r\n
Login.c(60): var params = parseKeyValue(queryString);\r\n
Login.c(60): \r\n
Login.c(60): // TODO: The target origin should be set to an explicit
origin. Otherwise, a mali
Login.c(60): cious site that can receive\r\n
Login.c(60): // the token if it manages to change the location of
the parent. (See:\r\n
Login.c(60): //
https://developer.mozilla.org/en/docs/DOM/window.postMessage#Security_con
Login.c(60): cerns)\r\n
Login.c(60): \r\n
Login.c(60): window.opener.postMessage(params, "*");\r\n
Login.c(60): window.close();\r\n
Login.c(60): }]);\r\n
Login.c(60): angular.module('login.controllers')\n
Login.c(60): .controller('LoginCtrl', [ 'Token', '$scope',
'LoginRepository', 'AuthService', '$wind
Login.c(60): ow', '$localStorage', '$timeout',\n
Login.c(60): function ( Token, $scope, LoginRepository, AuthService,
$window, $localStorage, $t
Login.c(60): imeout) {\n
Login.c(60): \n
Login.c(60): var vm = this; \n
Login.c(60): vm.authenticaionFailed = false;\n
Login.c(60): vm.authenticationStarted = false;\n
Login.c(60): vm.authenticated = false;\n
Login.c(60): vm.$storage = $localStorage;\n
Login.c(60): vm.form = {\n
Login.c(60): submit: function (form) {\n
Login.c(60): if(form.$valid && vm.authenticated &&
vm.form.license){\n
Login.c(60): vm.$storage.ep_license = vm.form.license;\n
Login.c(60): if(!$scope.$$phase){\n
Login.c(60): $scope.$apply(); \n
Login.c(60): }\n
Login.c(60): $timeout(function(){\n
Login.c(60): $window.location.href = 'ui/layout';\n
Login.c(60): },100);\n
Login.c(60): \n
Login.c(60): }\n
Login.c(60): else{\n
Login.c(60): vm.form.submitted = true;\n
Login.c(60): }\n
Login.c(60): }\n
Login.c(60): };\n
Login.c(60): \n
Login.c(60): vm.gridData = {\n
Login.c(60): columns: [{name: "licenseCode", display: "code"},
{name: 'description', di
Login.c(60): splay: 'License Name'}]\n
Login.c(60): };\n
Login.c(60): \n
Login.c(60): vm.popupAuthenticate = Oauthenticate;\n
Login.c(60): vm.accessToken = Token.get();\n
Login.c(60): \n
Login.c(60): if(vm.accessToken && vm.$storage.ep_username){\n
Login.c(60): vm.disableAuthentication = true;\n
Login.c(60): Token.verifyAsync(vm.accessToken)\n
Login.c(60): .then(function(data){\n
Login.c(60): vm.authenticated = true;\n
Login.c(60): AuthService.setToken(vm.accessToken);\n
Login.c(60): enableLicense();\n
Login.c(60): if(!$scope.$$phase){\n
Login.c(60): $scope.$apply(); \n
Login.c(60): }\n
Login.c(60): }, function(){\n
Login.c(60): vm.accessToken = null;\n
Login.c(60): Token.clear();\n
Login.c(60): $localStorage.$reset();\n
Login.c(60): vm.disableAuthentication = true;\n
Login.c(60): AuthService.clearToken();\n
Login.c(60): });\n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): vm.popupAuthenticate();\n
Login.c(60): \n
Login.c(60): function enableLicense(){\n
Login.c(60): vm.licenseResource =
LoginRepository.createLicenseRepository(vm.$storage.ep_
Login.c(60): username);\n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): \n
Login.c(60): function Oauthenticate(){\n
Login.c(60): vm.authenticationStarted=true;\n
Login.c(60): vm.modalStyle={'display': 'block'};\n
Login.c(60): \n
Login.c(60): \n
Login.c(60): Token.getTokenByPopup({})\n
Login.c(60): .then(function(params) {\n
Login.c(60): console.log(params);\n
Login.c(60): // Verify the token before setting it, to avoid
the confused deputy proble
Login.c(60): m.\n
Login.c(60): Token.verifyAsync(params.access_token).\n
Login.c(60): then(function(data) {\n
Login.c(60): vm.accessToken =
params.access_token;\n
Login.c(60): vm.expiresIn =
params.expires_in;\n
Login.c(60): vm.$storage.ep_username =
data.user_name;\n
Login.c(60): Token.set(params.access_token);\n
Login.c(60):
AuthService.setToken(vm.accessToken);\n
Login.c(60): vm.authenticated = true;\n
Login.c(60): vm.authenticationStarted =
false;\n
Login.c(60): vm.disableAuthentication = true;\n
Login.c(60): vm.modalStyle={'display':
'none'};\n
Login.c(60): enableLicense();\n
Login.c(60): if(!$scope.$$phase){\n
Login.c(60): $scope.$apply(); \n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): }, function() {\n
Login.c(60): vm.accessToken = null;\n
Login.c(60): $localStorage.$reset();\n
Login.c(60): vm.authenticaionFailed = true;\n
Login.c(60): vm.authenticated = false;\n
Login.c(60): AuthService.clearToken();\n
Login.c(60): vm.disableAuthentication =
false;\n
Login.c(60): vm.authenticationStarted =
false;\n
Login.c(60): vm.modalStyle={'display':
'none'};\n
Login.c(60): vm.authenticationFailureMsg =
'Invalid User Name/Password'
Login.c(60): ;\n
Login.c(60): \n
Login.c(60): });\n
Login.c(60): \n
Login.c(60): }, function() {\n
Login.c(60): vm.disableAuthentication = false;\n
Login.c(60): vm.authenticationStarted = false;\n
Login.c(60): vm.modalStyle={'display': 'none'};\n
Login.c(60): AuthService.clearToken();\n
Login.c(60): vm.authenticationFailureMsg = "Failed to get
token from popup.";\n
Login.c(60): });\n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): \n
Login.c(60): }]);\n
Login.c(60): \n
Login.c(60): \r\n
Login.c(60): angular.module('login')\r\n
Login.c(60): \t.factory('AuthService', ['$localStorage', \r\n
Login.c(60): \t\tfunction ($localStorage) {\r\n
Login.c(60): \r\n
Login.c(60): \t\tvar token;\r\n
Login.c(60): \r\n
Login.c(60): \t\tfunction getToken(){\r\n
Login.c(60): \t\t\treturn token;\r\n
Login.c(60): \t\t}\r\n
Login.c(60): \r\n
Login.c(60): \t\tfunction isAuthenticated(){\r\n
Login.c(60): \t\t\treturn !!token;\r\n
Login.c(60): \t\t}\r\n
Login.c(60): \r\n
Login.c(60): \t\tfunction setToken(tokenInfo){\r\n
Login.c(60): \t\t\ttoken = tokenInfo;\r\n
Login.c(60): \t\t\t$localStorage.ep_access_token = tokenInfo;\r\n
Login.c(60): \t\t}\r\n
Login.c(60): \r\n
Login.c(60): \t\tfunction clearToken(){\r\n
Login.c(60): \t\t\ttoken=null;\r\n
Login.c(60): \t\t}\r\n
Login.c(60): \t\r\n
Login.c(60): \t\treturn {\r\n
Login.c(60): \t\t\tgetToken: getToken,\r\n
Login.c(60): \t\t\tisAuthenticated: isAuthenticated,\r\n
Login.c(60): \t\t\tsetToken: setToken,\r\n
Login.c(60): \t\t\tclearToken: clearToken\r\n
Login.c(60): \t\t};\r\n
Login.c(60): \r\n
Login.c(60): \t}]);\r\n
Login.c(60): angular.module('login')\n
Login.c(60): \t.factory('LoginRepository', ['DS','ENV', function (DS,ENV) {\n
Login.c(60): var LicenseResource;\n
Login.c(60): \n
Login.c(60): \t\tfunction createLicenseRepository(username){\n
Login.c(60): //temporarily setting as v5admin\n
Login.c(60): username= username || 'v5admin';\n
Login.c(60): if(!DS.store.license){\n
Login.c(60): LicenseResource = DS.defineResource({\n
Login.c(60): name: 'license',\n
Login.c(60): idAttribute: 'licenseCode',\n
Login.c(60): baseUrl: ENV.License \n
Login.c(60): });\n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): \n
Login.c(60): \treturn LicenseResource;\n
Login.c(60): }\n
Login.c(60): \n
Login.c(60): \t\treturn {\n
Login.c(60): \t\t\tcreateLicenseRepository: createLicenseRepository\n
Login.c(60): };\n
Login.c(60): \n
Login.c(60): \t}]);\n
Login.c(60): \n
Login.c(60): \n
Login.c(60): \n
Login.c(60): \t\n
Login.c(60): \n
Login.c(60): \r\n
Login.c(60): web_url("login.js") was successful, 2957 body bytes, 295 header bytes,
52 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(67): web_url("authorize") started [MsgId: MMSG-26355]
Login.c(67): t=401ms: 272-byte response headers for
"http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&redirect_uri=http%3A%2F%2Fv5devtom.ep.com
%2Fv5%2Fui%2Foauth2callback.html&scope=password.write" (RelFrameId=1, Internal
ID=8)
Login.c(67): HTTP/1.1 302 Found\r\n
Login.c(67): Server: Apache-Coyote/1.1\r\n
Login.c(67): Set-Cookie: JSESSIONID=AD0F5F1CDCBD08ED72B9BD36EFC21AAA;
Path=/uaa/; HttpOnly\r\n
Login.c(67): Location:
http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA\r\n
Login.c(67): Content-Length: 0\r\n
Login.c(67): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(67): \r\n
Login.c(67): Redirecting "http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&redirect_uri=http%3A%2F%2Fv5devtom.ep.com
%2Fv5%2Fui%2Foauth2callback.html&scope=password.write" (redirection depth is 0)
[MsgId: MMSG-26694]
Login.c(67): To location
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
[MsgId: MMSG-26693]
Login.c(67): t=415ms: 227-byte response headers for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): HTTP/1.1 200 OK\r\n
Login.c(67): Server: Apache-Coyote/1.1\r\n
Login.c(67): Content-Type: text/html;charset=ISO-8859-1\r\n
Login.c(67): Content-Language: en-US\r\n
Login.c(67): Transfer-Encoding: chunked\r\n
Login.c(67): Content-Encoding: gzip\r\n
Login.c(67): Vary: Accept-Encoding\r\n
Login.c(67): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(67): \r\n
Login.c(67): t=416ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): a\r\n
Login.c(67): t=416ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=416ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): \r\n
Login.c(67): ec\r\n
Login.c(67): t=416ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): \r\n
Login.c(67): 0\r\n
Login.c(67): \r\n
Login.c(67): t=417ms: 758-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): t=417ms: 1798-byte DECODED response body for
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
(RelFrameId=1, Internal ID=9)
Login.c(67): \n
Login.c(67): \n
Login.c(67): \n
Login.c(67): \n
Login.c(67): \n
Login.c(67): \n
Login.c(67): <!DOCTYPE html>\n
Login.c(67): <html lang='en'>\n
Login.c(67): <head>\n
Login.c(67): <title>EP Login</title>\n
Login.c(67): <meta charset='utf-8'>\n
Login.c(67): <link href="bootstrap.css" rel="stylesheet">\n
Login.c(67): <link href="loginPage.css" rel="stylesheet" type="text/css">\n
Login.c(67): </head>\n
Login.c(67): <body id="micro">\n
Login.c(67): \t<nav class="navbar navbar-default navbar-static-top">\n
Login.c(67): \t\t<div class="navbar-header">\n
Login.c(67): \t\t\t<a class="navbar-brand" href="" id="logo">Vista 5</a>\n
Login.c(67): \t\t\t<!-- /.navbar-header -->\n
Login.c(67): \t\t</div>\n
Login.c(67): \t</nav>\n
Login.c(67): \t<div class="row">\n
Login.c(67): \t\t<div class="ng-scope">\n
Login.c(67): \t\t\t<div class="container-fluid">\n
Login.c(67): \t\t\t\t<div>\n
Login.c(67): \n
Login.c(67): \t\t\t\t\t<form class="form-signin ng-pristine ng-valid ng-valid-
required"\n
Login.c(67): \t\t\t\t\t\tid="loginForm" name="loginForm"\n
Login.c(67): \t\t\t\t\t\taction="/uaa/login.do" method="POST" novalidate>\n
Login.c(67): \t\t\t\t\t\t<h3 class="form-signin-heading">EP - VISTA 5</h3>\n
Login.c(67): \t\t\t\t\t\t\n
Login.c(67): \t\t\t\t\t\t\n
Login.c(67): \t\t\t\t\t\t\t<label class="eplogin">username</label>\n
Login.c(67): \t\t\t\t\t\t\t<div class="col-md-12" style="margin-bottom:14px">\n
Login.c(67): \t\t\t\t\t\t\t\t<input class="form-control"\n
Login.c(67): \t\t\t\t\t\t\t\t\tid='username'\n
Login.c(67): \t\t\t\t\t\t\t\t\ttype='text'\n
Login.c(67): \t\t\t\t\t\t\t\t\tname='username'\n
Login.c(67): \t\t\t\t\t\t\t\t\tautocomplete='off'\n
Login.c(67): \t\t\t\t\t\t\t\t\tplaceholder='username' />\n
Login.c(67): \t\t\t\t\t\t\t</div>\n
Login.c(67): \t\t\t\t\t\t\n
Login.c(67): \t\t\t\t\t\t\t<label class="eplogin">password</label>\n
Login.c(67): \t\t\t\t\t\t\t<div class="col-md-12" style="margin-bottom:14px">\n
Login.c(67): \t\t\t\t\t\t\t\t<input class="form-control"\n
Login.c(67): \t\t\t\t\t\t\t\t\tid='password'\n
Login.c(67): \t\t\t\t\t\t\t\t\ttype='password'\n
Login.c(67): \t\t\t\t\t\t\t\t\tname='password'\n
Login.c(67): \t\t\t\t\t\t\t\t\tautocomplete='off'\n
Login.c(67): \t\t\t\t\t\t\t\t\tplaceholder='password' />\n
Login.c(67): \t\t\t\t\t\t\t</div>\n
Login.c(67): \t\t\t\t\t\t\n
Login.c(67): \n
Login.c(67): \t\t\t\t\t\t<div class="col-md-11">\n
Login.c(67): \t\t\t\t\t\t\t<div class="action-btns">\n
Login.c(67): \t\t\t\t\t\t\t\t<button type="submit" class="btn btn-lg btn-
primary">Sign\n
Login.c(67): \t\t\t\t\t\t\t\t\tin</button>\n
Login.c(67): \t\t\t\t\t\t\t</div>\n
Login.c(67): \t\t\t\t\t\t</div>\n
Login.c(67): \t\t\t\t\t</form>\n
Login.c(67): \t\t\t\t</div>\n
Login.c(67): \t\t\t</div>\n
Login.c(67): \t\t</div>\n
Login.c(67): \t</div>\n
Login.c(67): \t\n
Login.c(67): \t<footer class="footer">\n
Login.c(67): \t\t<div class="copyright"\n
Login.c(67): \t\t\ttitle="Version: 1.8.3, Commit: git-metadata-not-found,
Timestamp: 2014-12-26T07:34:1
Login.c(67): 1-0800">\n
Login.c(67): \t\t\tCopyright &copy;\n
Login.c(67): \t\t\t2014\n
Login.c(67): \t\t\tEntertainment Partners, Inc.\n
Login.c(67): \t\t</div>\n
Login.c(67): \t</footer>\n
Login.c(67): </body>\n
Login.c(67): </html>\n
Login.c(67): Found resource "http://v5devtom.ep.com/uaa/bootstrap.css" in HTML
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
[MsgId: MMSG-26659]
Login.c(67): Found resource "http://v5devtom.ep.com/uaa/loginPage.css" in HTML
"http://v5devtom.ep.com/uaa/login;jsessionid=AD0F5F1CDCBD08ED72B9BD36EFC21AAA"
[MsgId: MMSG-26659]
Login.c(67): t=424ms: 228-byte response headers for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): HTTP/1.1 200 OK\r\n
Login.c(67): Server: Apache-Coyote/1.1\r\n
Login.c(67): Last-Modified: Thu, 18 Dec 2014 15:33:08 GMT\r\n
Login.c(67): Content-Type: text/css\r\n
Login.c(67): Transfer-Encoding: chunked\r\n
Login.c(67): Content-Encoding: gzip\r\n
Login.c(67): Vary: Accept-Encoding\r\n
Login.c(67): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(67): \r\n
Login.c(67): t=424ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): a\r\n
Login.c(67): t=424ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=424ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=424ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=425ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): 30\r\n
Login.c(67): t=425ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): d\r\n
Login.c(67): t=425ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): \r\n
Login.c(67): 0\r\n
Login.c(67): \r\n
Login.c(67): t=425ms: 1607-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): t=425ms: 5696-byte DECODED response body for
"http://v5devtom.ep.com/uaa/loginPage.css" (RelFrameId=, Internal ID=11)
Login.c(67): /* variables */\n
Login.c(67): /* font-weight */\n
Login.c(67): /* padding */\n
Login.c(67): /* spaces */\n
Login.c(67): /* Mixins */\n
Login.c(67): /* padding */\n
Login.c(67): /* spaces */\n
Login.c(67): /* End Mixins*/\n
Login.c(67): body {\n
Login.c(67): background-color: #ccc;\n
Login.c(67): background-image: url("images/main_background_texture.png");\n
Login.c(67): background-repeat: repeat;\n
Login.c(67): font-size: 100%;\n
Login.c(67): margin: 0;\n
Login.c(67): padding: 0;\n
Login.c(67): max-width: 100%;\n
Login.c(67): overflow-x: hidden;\n
Login.c(67): }\n
Login.c(67): nav.navbar-default {\n
Login.c(67): background: #649d46;\n
Login.c(67): padding: 0px;\n
Login.c(67): line-height: 1;\n
Login.c(67): left: 0;\n
Login.c(67): width: 100%;\n
Login.c(67): border-bottom: 1px solid #649d46;\n
Login.c(67): z-index: 1;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): nav.navbar-default .heading {\n
Login.c(67): line-height: 1;\n
Login.c(67): }\n
Login.c(67): nav.navbar-default .featureName {\n
Login.c(67): margin-left: 10px;\n
Login.c(67): }\n
Login.c(67): nav.navbar-default #logo {\n
Login.c(67): margin-right: 0px;\n
Login.c(67): margin-top: -2px;\n
Login.c(67): margin-left: 10px;\n
Login.c(67): color: #ffffff;\n
Login.c(67): }\n
Login.c(67): nav.navbar-default .userName {\n
Login.c(67): margin-right: 0px;\n
Login.c(67): margin-top: -12px;\n
Login.c(67): left: 140px;\n
Login.c(67): font-family: Helvetica;\n
Login.c(67): font-size: 18px;\n
Login.c(67): color: #ffffff;\n
Login.c(67): }\n
Login.c(67): footer {\n
Login.c(67): font-family: Helvetica;\n
Login.c(67): padding: 10px;\n
Login.c(67): color: #a7a8a9;\n
Login.c(67): /*border-top: .border();\n
Login.c(67): border-bottom:.border();*/\n
Login.c(67): border-top: 1px solid #a7a8a9;\n
Login.c(67): border-bottom: 1px solid #a7a8a9;\n
Login.c(67): bottom: 0;\n
Login.c(67): margin: 0 auto;\n
Login.c(67): width: 100%;\n
Login.c(67): left: 0;\n
Login.c(67): position: fixed;\n
Login.c(67): z-index: 1002;\n
Login.c(67): background: -webkit-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(67): /* For Safari 5.1 to 6.0 */\n
Login.c(67): background: -o-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(67): /* For Opera 11.1 to 12.0 */\n
Login.c(67): background: -moz-linear-gradient(#ffffff, #d7dbdf);\n
Login.c(67): /* For Firefox 3.6 to 15 */\n
Login.c(67): background: linear-gradient(#ffffff, #d7dbdf);\n
Login.c(67): /* Standard syntax */\n
Login.c(67): }\n
Login.c(67): footer .copyright {\n
Login.c(67): padding: 0px 0 0 20px;\n
Login.c(67): height: 10px;\n
Login.c(67): text-indent: 20px;\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): #wrapper {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): #page-wrapper {\n
Login.c(67): padding: 0 15px;\n
Login.c(67): min-height: 568px;\n
Login.c(67): background-color: #ccc;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links {\n
Login.c(67): margin-right: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links li {\n
Login.c(67): display: inline-block;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links :last-child {\n
Login.c(67): margin-right: 15px;\n
Login.c(67): font-size: 15px;\n
Login.c(67): color: white;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links a {\n
Login.c(67): padding: 15px;\n
Login.c(67): min-height: 50px;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-menu li {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-menu li :last-child {\n
Login.c(67): margin-right: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-menu li a {\n
Login.c(67): padding: 3px 20px;\n
Login.c(67): min-height: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-menu li div {\n
Login.c(67): white-space: normal;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-messages,\n
Login.c(67): .navbar-top-links .dropdown-tasks,\n
Login.c(67): .navbar-top-links .dropdown-alerts {\n
Login.c(67): width: 310px;\n
Login.c(67): min-width: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-user {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .sidebar {\n
Login.c(67): padding-right: 0;\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): .sidebar .sidebar-search {\n
Login.c(67): padding: 15px;\n
Login.c(67): }\n
Login.c(67): .sidebar .arrow {\n
Login.c(67): float: right;\n
Login.c(67): }\n
Login.c(67): .sidebar fa.arrow:before {\n
Login.c(67): content: "\\f104";\n
Login.c(67): }\n
Login.c(67): .sidebar .active > a > .fa.arrow:before {\n
Login.c(67): content: "\\f107";\n
Login.c(67): }\n
Login.c(67): .sidebar ul li a.active {\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): .sidebar .nav li {\n
Login.c(67): position: static;\n
Login.c(67): }\n
Login.c(67): .sidebar .nav-second-level li a {\n
Login.c(67): padding-left: 37px;\n
Login.c(67): }\n
Login.c(67): .sidebar .nav-third-level li a {\n
Login.c(67): padding-left: 52px;\n
Login.c(67): }\n
Login.c(67): .sidebar .nav-second-level li .nav-third-level li {\n
Login.c(67): border-bottom: 0!important;\n
Login.c(67): }\n
Login.c(67): .btn-outline {\n
Login.c(67): color: inherit;\n
Login.c(67): background-color: transparent;\n
Login.c(67): transition: all .5s;\n
Login.c(67): }\n
Login.c(67): .login-panel {\n
Login.c(67): margin-top: 25%;\n
Login.c(67): }\n
Login.c(67): .accordion {\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel {\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): .navbar-nav {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .btn {\n
Login.c(67): padding: 3px 9px;\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): .list-group {\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): .panel-title {\n
Login.c(67): right: -14px;\n
Login.c(67): position: relative;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): #page-wrapper {\n
Login.c(67): position: inherit;\n
Login.c(67): margin: 0 0 0 255px;\n
Login.c(67): padding: 0 30px;\n
Login.c(67): border-left: 10px solid #e7e7e7;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .sidebar {\n
Login.c(67): z-index: 1;\n
Login.c(67): position: absolute;\n
Login.c(67): width: 240px;\n
Login.c(67): margin-top: 26px;\n
Login.c(67): }\n
Login.c(67): .navbar-top-links .dropdown-messages,\n
Login.c(67): .navbar-top-links .dropdown-tasks,\n
Login.c(67): .navbar-top-links .dropdown-alerts {\n
Login.c(67): margin-left: auto;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .list-group-item:first-child {\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): body {\n
Login.c(67): background-color: #ccc;\n
Login.c(67): background-image: url("images/main_background_texture.png");\n
Login.c(67): background-repeat: repeat;\n
Login.c(67): font-size: 100%;\n
Login.c(67): margin: 0;\n
Login.c(67): padding: 0;\n
Login.c(67): max-width: 100%;\n
Login.c(67): overflow-x: hidden;\n
Login.c(67): }\n
Login.c(67): .form-signin {\n
Login.c(67): max-width: 330px;\n
Login.c(67): padding: 2px;\n
Login.c(67): margin: 0 auto;\n
Login.c(67): margin-top: 5px;\n
Login.c(67): }\n
Login.c(67): \n
Login.c(67): .form-signin .form-signin-heading,\n
Login.c(67): .form-signin .checkbox {\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): .form-signin-heading {\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .form-signin .checkbox {\n
Login.c(67): font-weight: normal;\n
Login.c(67): margin-left: 20px;\n
Login.c(67): }\n
Login.c(67): .form-signin .form-control {\n
Login.c(67): position: relative;\n
Login.c(67): height: auto;\n
Login.c(67): -webkit-box-sizing: border-box;\n
Login.c(67): -moz-box-sizing: border-box;\n
Login.c(67): box-sizing: border-box;\n
Login.c(67): height: 28px;\n
Login.c(67): width: 85%;\n
Login.c(67): padding: 6px 2px;\n
Login.c(67): font-size: 16px;\n
Login.c(67): }\n
Login.c(67): .form-signin .form-control:focus {\n
Login.c(67): z-index: 2;\n
Login.c(67): }\n
Login.c(67): .form-signin input[type="email"] {\n
Login.c(67): margin-bottom: -1px;\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .form-signin input[type="password"] {\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): div > form {\n
Login.c(67): margin: 5px 5px 15px;\n
Login.c(67): padding: 5px;\n
Login.c(67): -webkit-border-radius: 10px;\n
Login.c(67): -moz-border-radius: 10px;\n
Login.c(67): -o-border-radius: 10px;\n
Login.c(67): -ms-border-radius: 10px;\n
Login.c(67): border-radius: 10px;\n
Login.c(67): }\n
Login.c(67): div > form .input-group-btn .btn {\n
Login.c(67): background-color: #fff;\n
Login.c(67): height: 28px;\n
Login.c(67): }\n
Login.c(67): div > form .action-btns {\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .input-group-btn {\n
Login.c(67): width: 186px;\n
Login.c(67): }\n
Login.c(67): .modal-content {\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): a,\n
Login.c(67): .link {\n
Login.c(67): color: #428bca;\n
Login.c(67): }\n
Login.c(67): a:hover {\n
Login.c(67): color: #3071a9;\n
Login.c(67): }\n
Login.c(67): .widget {\n
Login.c(67): color: #fff;\n
Login.c(67): background: #428bca;\n
Login.c(67): }\n
Login.c(67): #page-wrapper {\n
Login.c(67): background-color: #888888;\n
Login.c(67): }\n
Login.c(67): input.ng-invalid,\n
Login.c(67): div.ng-invalid input {\n
Login.c(67): background-color: #bee6e6;\n
Login.c(67): color: #333333;\n
Login.c(67): }\n
Login.c(67): .error {\n
Login.c(67): color: red;\n
Login.c(67): font-size: 13px;\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .eplogin {\n
Login.c(67): font-size: 14px;\n
Login.c(67): margin-left: 16px;\n
Login.c(67): }\n
Login.c(67): div > form {\n
Login.c(67): border: solid 2px #999999;\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): t=438ms: 228-byte response headers for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): HTTP/1.1 200 OK\r\n
Login.c(67): Server: Apache-Coyote/1.1\r\n
Login.c(67): Last-Modified: Thu, 18 Dec 2014 15:53:58 GMT\r\n
Login.c(67): Content-Type: text/css\r\n
Login.c(67): Transfer-Encoding: chunked\r\n
Login.c(67): Content-Encoding: gzip\r\n
Login.c(67): Vary: Accept-Encoding\r\n
Login.c(67): Date: Wed, 31 Dec 2014 15:41:43 GMT\r\n
Login.c(67): \r\n
Login.c(67): t=438ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): a\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=439ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=440ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=441ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=441ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=441ms: 8330-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): t=441ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): /*!\n
Login.c(67): * Bootstrap v3.2.0 (http://getbootstrap.com)\n
Login.c(67): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(67): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(67): */\n
Login.c(67): \n
Login.c(67): /*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n
Login.c(67): html {\n
Login.c(67): font-family: sans-serif;\n
Login.c(67): -webkit-text-size-adjust: 100%;\n
Login.c(67): -ms-text-size-adjust: 100%;\n
Login.c(67): }\n
Login.c(67): body {\n
Login.c(67): margin: 0;\n
Login.c(67): }\n
Login.c(67): article,\n
Login.c(67): aside,\n
Login.c(67): details,\n
Login.c(67): figcaption,\n
Login.c(67): figure,\n
Login.c(67): footer,\n
Login.c(67): header,\n
Login.c(67): hgroup,\n
Login.c(67): main,\n
Login.c(67): nav,\n
Login.c(67): section,\n
Login.c(67): summary {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): audio,\n
Login.c(67): canvas,\n
Login.c(67): progress,\n
Login.c(67): video {\n
Login.c(67): display: inline-block;\n
Login.c(67): vertical-align: baseline;\n
Login.c(67): }\n
Login.c(67): audio:not([controls]) {\n
Login.c(67): display: none;\n
Login.c(67): height: 0;\n
Login.c(67): }\n
Login.c(67): [hidden],\n
Login.c(67): template {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): a {\n
Login.c(67): background: transparent;\n
Login.c(67): }\n
Login.c(67): a:active,\n
Login.c(67): a:hover {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): abbr[title] {\n
Login.c(67): border-bottom: 1px dotted;\n
Login.c(67): }\n
Login.c(67): b,\n
Login.c(67): strong {\n
Login.c(67): font-weight: bold;\n
Login.c(67): }\n
Login.c(67): dfn {\n
Login.c(67): font-style: italic;\n
Login.c(67): }\n
Login.c(67): h1 {\n
Login.c(67): margin: .67em 0;\n
Login.c(67): font-size: 2em;\n
Login.c(67): }\n
Login.c(67): mark {\n
Login.c(67): color: #000;\n
Login.c(67): background: #ff0;\n
Login.c(67): }\n
Login.c(67): small {\n
Login.c(67): font-size: 80%;\n
Login.c(67): }\n
Login.c(67): sub,\n
Login.c(67): sup {\n
Login.c(67): position: relative;\n
Login.c(67): font-size: 75%;\n
Login.c(67): line-height: 0;\n
Login.c(67): vertical-align: baseline;\n
Login.c(67): }\n
Login.c(67): sup {\n
Login.c(67): top: -.5em;\n
Login.c(67): }\n
Login.c(67): sub {\n
Login.c(67): bottom: -.25em;\n
Login.c(67): }\n
Login.c(67): img {\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): svg:not(:root) {\n
Login.c(67): overflow: hidden;\n
Login.c(67): }\n
Login.c(67): figure {\n
Login.c(67): margin: 1em 40px;\n
Login.c(67): }\n
Login.c(67): hr {\n
Login.c(67): height: 0;\n
Login.c(67): -webkit-box-sizing: content-box;\n
Login.c(67): -moz-box-sizing: content-box;\n
Login.c(67): box-sizing: content-box;\n
Login.c(67): }\n
Login.c(67): pre {\n
Login.c(67): overflow: auto;\n
Login.c(67): }\n
Login.c(67): code,\n
Login.c(67): kbd,\n
Login.c(67): pre,\n
Login.c(67): samp {\n
Login.c(67): font-family: monospace, monospace;\n
Login.c(67): font-size: 1em;\n
Login.c(67): }\n
Login.c(67): button,\n
Login.c(67): input,\n
Login.c(67): optgroup,\n
Login.c(67): select,\n
Login.c(67): textarea {\n
Login.c(67): margin: 0;\n
Login.c(67): font: inherit;\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): button {\n
Login.c(67): overflow: visible;\n
Login.c(67): }\n
Login.c(67): button,\n
Login.c(67): select {\n
Login.c(67): text-transform: none;\n
Login.c(67): }\n
Login.c(67): button,\n
Login.c(67): html input[type="button"],\n
Login.c(67): input[type="reset"],\n
Login.c(67): input[type="submit"] {\n
Login.c(67): -webkit-appearance: button;\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): button[disabled],\n
Login.c(67): html input[disabled] {\n
Login.c(67): cursor: default;\n
Login.c(67): }\n
Login.c(67): button::-moz-focus-inner,\n
Login.c(67): input::-moz-focus-inner {\n
Login.c(67): padding: 0;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): input {\n
Login.c(67): line-height: normal;\n
Login.c(67): }\n
Login.c(67): input[type="checkbox"],\n
Login.c(67): input[type="radio"] {\n
Login.c(67): -webkit-box-sizing: border-box;\n
Login.c(67): -moz-box-sizing: border-box;\n
Login.c(67): box-sizing: border-box;\n
Login.c(67): padding: 0;\n
Login.c(67): }\n
Login.c(67): input[type="number"]::-webkit-inner-spin-button,\n
Login.c(67): input[type="number"]::-webkit-outer-spin-button {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): input[type="search"] {\n
Login.c(67): -webkit-box-sizing: content-box;\n
Login.c(67): -moz-box-sizing: content-box;\n
Login.c(67): box-sizing: content-box;\n
Login.c(67): -webkit-appearance: textfield;\n
Login.c(67): }\n
Login.c(67): input[type="search"]::-webkit-search-cancel-button,\n
Login.c(67): input[type="search"]::-webkit-search-decoration {\n
Login.c(67): -webkit-appearance: none;\n
Login.c(67): }\n
Login.c(67): fieldset {\n
Login.c(67): padding: .35em .625em .75em;\n
Login.c(67): margin: 0 2px;\n
Login.c(67): border: 1px solid #c0c0c0;\n
Login.c(67): }\n
Login.c(67): legend {\n
Login.c(67): padding: 0;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): textarea {\n
Login.c(67): overflow: auto;\n
Login.c(67): }\n
Login.c(67): optgroup {\n
Login.c(67): font-weight: bold;\n
Login.c(67): }\n
Login.c(67): table {\n
Login.c(67): border-spacing: 0;\n
Login.c(67): border-collapse: collapse;\n
Login.c(67): }\n
Login.c(67): td,\n
Login.c(67): th {\n
Login.c(67): padding: 0;\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): * {\n
Login.c(67): color: #000 !important;\n
Login.c(67): text-shadow: none !important;\n
Login.c(67): background: transparent !important;\n
Login.c(67): -webkit-box-shadow: none !important;\n
Login.c(67): box-shadow: none !important;\n
Login.c(67): }\n
Login.c(67): a,\n
Login.c(67): a:visited {\n
Login.c(67): text-decoration: underline;\n
Login.c(67): }\n
Login.c(67): a[href]:after {\n
Login.c(67): content: " (" attr(href) ")";\n
Login.c(67): }\n
Login.c(67): abbr[title]:after {\n
Login.c(67): content: " (" attr(title) ")";\n
Login.c(67): }\n
Login.c(67): a[href^="javascript:"]:after,\n
Login.c(67): a[href^="#"]:after {\n
Login.c(67): content: "";\n
Login.c(67): }\n
Login.c(67): pre,\n
Login.c(67): blockquote {\n
Login.c(67): border: 1px solid #999;\n
Login.c(67): \n
Login.c(67): page-break-inside: avoid;\n
Login.c(67): }\n
Login.c(67): thead {\n
Login.c(67): display: table-header-group;\n
Login.c(67): }\n
Login.c(67): tr,\n
Login.c(67): img {\n
Login.c(67): page-break-inside: avoid;\n
Login.c(67): }\n
Login.c(67): img {\n
Login.c(67): max-width: 100% !important;\n
Login.c(67): }\n
Login.c(67): p,\n
Login.c(67): h2,\n
Login.c(67): h3 {\n
Login.c(67): orphans: 3;\n
Login.c(67): widows: 3;\n
Login.c(67): }\n
Login.c(67): h2,\n
Login.c(67): h3 {\n
Login.c(67): page-break-after: avoid;\n
Login.c(67): }\n
Login.c(67): select {\n
Login.c(67): background: #fff !important;\n
Login.c(67): }\n
Login.c(67): .navbar {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): .table td,\n
Login.c(67): .table th {\n
Login.c(67): background-color: #fff !important;\n
Login.c(67): }\n
Login.c(67): .btn > .caret,\n
Login.c(67): .dropup > .btn > .caret {\n
Login.c(67): border-top-color: #000 !important;\n
Login.c(67): }\n
Login.c(67): .label {\n
Login.c(67): border: 1px solid #000;\n
Login.c(67): }\n
Login.c(67): .table {\n
Login.c(67): border-collapse: collapse !important;\n
Login.c(67): }\n
Login.c(67): .table-bordered th,\n
Login.c(67): .table-bordered td {\n
Login.c(67): border: 1px solid #ddd !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @font-face {\n
Login.c(67): font-family: 'Glyphicons Halflings';\n
Login.c(67): \n
Login.c(67): src: url('../fonts/glyphicons-halflings-regular.eot');\n
Login.c(67): src: url('../fonts/glyphicons-halflings-regular.eot?#iefix')
format('embedded-opentype')
Login.c(67): , url('../fonts/glyphicons-halflings-regular.woff')
format('woff'), url('../fonts/glyphico
Login.c(67): ns-halflings-regular.ttf') format('truetype'),
url('../fonts/glyphicons-halflings-regular.
Login.c(67): svg#glyphicons_halflingsregular') format('svg');\n
Login.c(67): }\n
Login.c(67): .glyphicon {\n
Login.c(67): position: relative;\n
Login.c(67): top: 1px;\n
Login.c(67): display: inline-block;\n
Login.c(67): font-family: 'Glyphicons Halflings';\n
Login.c(67): font-style: normal;\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 1;\n
Login.c(67): \n
Login.c(67): -webkit-font-smoothing: antialiased;\n
Login.c(67): -moz-osx-font-smoothing: grayscale;\n
Login.c(67): }\n
Login.c(67): .glyphicon-asterisk:before {\n
Login.c(67): content: "\\2a";\n
Login.c(67): }\n
Login.c(67): .glyphicon-plus:before {\n
Login.c(67): content: "\\2b";\n
Login.c(67): }\n
Login.c(67): .glyphicon-euro:before {\n
Login.c(67): content: "\\20ac";\n
Login.c(67): }\n
Login.c(67): .glyphicon-minus:before {\n
Login.c(67): content: "\\2212";\n
Login.c(67): }\n
Login.c(67): .glyphicon-cloud:before {\n
Login.c(67): content: "\\2601";\n
Login.c(67): }\n
Login.c(67): .glyphicon-envelope:before {\n
Login.c(67): content: "\\2709";\n
Login.c(67): }\n
Login.c(67): .glyphicon-pencil:before {\n
Login.c(67): content: "\\270f";\n
Login.c(67): }\n
Login.c(67): .glyphicon-glass:before {\n
Login.c(67): content: "\\e001";\n
Login.c(67): }\n
Login.c(67): .glyphicon-music:before {\n
Login.c(67): content: "\\e002";\n
Login.c(67): }\n
Login.c(67): .glyphicon-search:before {\n
Login.c(67): content: "\\e003";\n
Login.c(67): }\n
Login.c(67): .glyphicon-heart:before {\n
Login.c(67): content: "\\e005";\n
Login.c(67): }\n
Login.c(67): .glyphicon-star:before {\n
Login.c(67): content: "\\e006";\n
Login.c(67): }\n
Login.c(67): .glyphicon-star-empty:before {\n
Login.c(67): content: "\\e007";\n
Login.c(67): }\n
Login.c(67): .glyphicon-user:before {\n
Login.c(67): content: "\\e008";\n
Login.c(67): }\n
Login.c(67): .glyphicon-film:before {\n
Login.c(67): content: "\\e009";\n
Login.c(67): }\n
Login.c(67): .glyphicon-th-large:before {\n
Login.c(67): content: "\\e010";\n
Login.c(67): }\n
Login.c(67): .glyphicon-th:before {\n
Login.c(67): content: "\\e011";\n
Login.c(67): }\n
Login.c(67): .glyphicon-th-list:before {\n
Login.c(67): content: "\\e012";\n
Login.c(67): }\n
Login.c(67): .glyphicon-ok:before {\n
Login.c(67): content: "\\e013";\n
Login.c(67): }\n
Login.c(67): .glyphicon-remove:before {\n
Login.c(67): content: "\\e014";\n
Login.c(67): }\n
Login.c(67): .glyphicon-zoom-in:before {\n
Login.c(67): content: "\\e015";\n
Login.c(67): }\n
Login.c(67): .glyphicon-zoom-out:before {\n
Login.c(67): content: "\\e016";\n
Login.c(67): }\n
Login.c(67): .glyphicon-off:before {\n
Login.c(67): content: "\\e017";\n
Login.c(67): }\n
Login.c(67): .glyphicon-signal:before {\n
Login.c(67): content: "\\e018";\n
Login.c(67): }\n
Login.c(67): .glyphicon-cog:before {\n
Login.c(67): content: "\\e019";\n
Login.c(67): }\n
Login.c(67): .glyphicon-trash:before {\n
Login.c(67): content: "\\e020";\n
Login.c(67): }\n
Login.c(67): .glyphicon-home:before {\n
Login.c(67): content: "\\e021";\n
Login.c(67): }\n
Login.c(67): .glyphicon-file:before {\n
Login.c(67): content: "\\e022";\n
Login.c(67): }\n
Login.c(67): .glyphicon-time:before {\n
Login.c(67): content: "\\e023";\n
Login.c(67): }\n
Login.c(67): .glyphicon-road:before {\n
Login.c(67): content: "\\e024";\n
Login.c(67): }\n
Login.c(67): .glyphicon-download-alt:before {\n
Login.c(67): content: "\\e025";\n
Login.c(67): }\n
Login.c(67): .glyphicon-download:before {\n
Login.c(67): content: "\\e026";\n
Login.c(67): }\n
Login.c(67): .glyphicon-upload:before {\n
Login.c(67): content: "\\e027";\n
Login.c(67): }\n
Login.c(67): .glyphicon-inbox:before {\n
Login.c(67): content: "\\e028";\n
Login.c(67): }\n
Login.c(67): .glyphicon-play-circle:before {\n
Login.c(67): content: "\\e029";\n
Login.c(67): }\n
Login.c(67): .glyphicon-repeat:before {\n
Login.c(67): content: "\\e030";\n
Login.c(67): }\n
Login.c(67): .glyphicon-refresh:before {\n
Login.c(67): content: "\\e031";\n
Login.c(67): }\n
Login.c(67): .glyphicon-list-alt:before {\n
Login.c(67): content: "\\e032";\n
Login.c(67): }\n
Login.c(67): .glyphicon-lock:before {\n
Login.c(67): content: "\\e033";\n
Login.c(67): }\n
Login.c(67): .glyphicon-flag:before {\n
Login.c(67): content: "\\e034";\n
Login.c(67): }\n
Login.c(67): .glyphicon-headphones:before {\n
Login.c(67): content: "\\e035";\n
Login.c(67): }\n
Login.c(67): .glyphicon-volume-off:before {\n
Login.c(67): content: "\\e036";\n
Login.c(67): }\n
Login.c(67): .glyphicon-volume-down:before {\n
Login.c(67): content: "\\e037";\n
Login.c(67): }\n
Login.c(67): .glyphicon-volume-up:before {\n
Login.c(67): content: "\\e038";\n
Login.c(67): }\n
Login.c(67): .glyphicon-qrcode:before {\n
Login.c(67): content: "\\e039";\n
Login.c(67): }\n
Login.c(67): .glyphicon-barcode:before {\n
Login.c(67): content: "\\e040";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tag:before {\n
Login.c(67): content: "\\e041";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tags:before {\n
Login.c(67): content: "\\e042";\n
Login.c(67): }\n
Login.c(67): .glyphicon-book:before {\n
Login.c(67): content: "\\e043";\n
Login.c(67): }\n
Login.c(67): .glyphicon-bookmark:before {\n
Login.c(67): content: "\\e044";\n
Login.c(67): }\n
Login.c(67): .glyphicon-print:before {\n
Login.c(67): content: "\\e045";\n
Login.c(67): }\n
Login.c(67): .glyphicon-camera:before {\n
Login.c(67): content: "\\e046";\n
Login.c(67): }\n
Login.c(67): .glyphicon-font:before {\n
Login.c(67): content: "\\e047";\n
Login.c(67): }\n
Login.c(67): .glyphicon-bold:before {\n
Login.c(67): content: "\\e048";\n
Login.c(67): }\n
Login.c(67): .glyphicon-italic:before {\n
Login.c(67): content: "\\e049";\n
Login.c(67): }\n
Login.c(67): .glyphicon-text-height:before {\n
Login.c(67): content: "\\e050";\n
Login.c(67): }\n
Login.c(67): .glyphicon-text-width:before {\n
Login.c(67): content: "\\e051";\n
Login.c(67): }\n
Login.c(67): .glyphicon-align-left:before {\n
Login.c(67): content: "\\e052";\n
Login.c(67): }\n
Login.c(67): .glyphicon-align-center:before {\n
Login.c(67): content: "\\e053";\n
Login.c(67): }\n
Login.c(67): .glyphicon-align-right:before {\n
Login.c(67): content: "\\e054";\n
Login.c(67): }\n
Login.c(67): .glyphicon-align-justify:before {\n
Login.c(67): content: "\\e055";\n
Login.c(67): }\n
Login.c(67): .glyphicon-list:before {\n
Login.c(67): content: "\\e056";\n
Login.c(67): }\n
Login.c(67): .glyphicon-indent-left:before {\n
Login.c(67): content: "\\e057";\n
Login.c(67): }\n
Login.c(67): .glyphicon-indent-right:before {\n
Login.c(67): content: "\\e058";\n
Login.c(67): }\n
Login.c(67): .glyphicon-facetime-video:before {\n
Login.c(67): content: "\\e059";\n
Login.c(67): }\n
Login.c(67): .glyphicon-picture:before {\n
Login.c(67): content: "\\e060";\n
Login.c(67): }\n
Login.c(67): .glyphicon-map-marker:before {\n
Login.c(67): content: "\\e062";\n
Login.c(67): }\n
Login.c(67): .glyphicon-adjust:before {\n
Login.c(67): content: "\\e063";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tint:before {\n
Login.c(67): content: "\\e064";\n
Login.c(67): }\n
Login.c(67): .glyphicon-edit:before {\n
Login.c(67): content: "\\e065";\n
Login.c(67): }\n
Login.c(67): .glyphicon-share:before {\n
Login.c(67): content: "\\e066";\n
Login.c(67): }\n
Login.c(67): .glyphicon-check:before {\n
Login.c(67): content: "\\e067";\n
Login.c(67): }\n
Login.c(67): .glyphicon-move:before {\n
Login.c(67): content: "\\e068";\n
Login.c(67): }\n
Login.c(67): .glyphicon-step-backward:before {\n
Login.c(67): content: "\\e069";\n
Login.c(67): }\n
Login.c(67): .glyphicon-fast-backward:before {\n
Login.c(67): content: "\\e070";\n
Login.c(67): }\n
Login.c(67): .glyphicon-backward:before {\n
Login.c(67): content: "\\e071";\n
Login.c(67): }\n
Login.c(67): .glyphicon-play:before {\n
Login.c(67): content: "\\e072";\n
Login.c(67): }\n
Login.c(67): .glyphicon-pause:before {\n
Login.c(67): content: "\\e073";\n
Login.c(67): }\n
Login.c(67): .glyphicon-stop:before {\n
Login.c(67): content: "\\e074";\n
Login.c(67): }\n
Login.c(67): .glyphicon-forward:before {\n
Login.c(67): content: "\\e075";\n
Login.c(67): }\n
Login.c(67): .glyphicon-fast-forward:before {\n
Login.c(67): content: "\\e076";\n
Login.c(67): }\n
Login.c(67): .glyphicon-step-forward:before {\n
Login.c(67): content: "\\e077";\n
Login.c(67): }\n
Login.c(67): .glyphicon-eject:before {\n
Login.c(67): content: "\\e078";\n
Login.c(67): }\n
Login.c(67): .glyphicon-chevron-left:before {\n
Login.c(67): content: "\\e079";\n
Login.c(67): }\n
Login.c(67): .glyphicon-chevron-right:before {\n
Login.c(67): content: "\\e080";\n
Login.c(67): }\n
Login.c(67): .glyphicon-plus-sign:before {\n
Login.c(67): content: "\\e081";\n
Login.c(67): }\n
Login.c(67): .glyphicon-minus-sign:before {\n
Login.c(67): content: "\\e082";\n
Login.c(67): }\n
Login.c(67): .glyphicon-remove-sign:before {\n
Login.c(67): content: "\\e083";\n
Login.c(67): }\n
Login.c(67): .glyphicon-ok-sign:before {\n
Login.c(67): content: "\\e084";\n
Login.c(67): }\n
Login.c(67): .glyphicon-question-sign:before {\n
Login.c(67): content: "\\e085";\n
Login.c(67): }\n
Login.c(67): .glyphicon-info-sign:before {\n
Login.c(67): content: "\\e086";\n
Login.c(67): }\n
Login.c(67): .glyphicon-screenshot:before {\n
Login.c(67): content: "\\e087";\n
Login.c(67): }\n
Login.c(67): .glyphicon-remove-circle:before {\n
Login.c(67): content: "\\e088";\n
Login.c(67): }\n
Login.c(67): .glyphicon-ok-circle:before {\n
Login.c(67): content: "\\e089";\n
Login.c(67): }\n
Login.c(67): .glyphicon-ban-circle:before {\n
Login.c(67): content: "\\e090";\n
Login.c(67): }\n
Login.c(67): .glyphicon-arrow-left:before {\n
Login.c(67): content: "\\e091";\n
Login.c(67): }\n
Login.c(67): .glyphicon-arrow-right:before {\n
Login.c(67): content: "\\e092";\n
Login.c(67): }\n
Login.c(67): .glyphicon-arrow-up:before {\n
Login.c(67): content: "\\e093";\n
Login.c(67): }\n
Login.c(67): .glyphicon-arrow-down:before {\n
Login.c(67): content: "\\e094";\n
Login.c(67): }\n
Login.c(67): .glyphicon-share-alt:before {\n
Login.c(67): content: "\\e095";\n
Login.c(67): }\n
Login.c(67): .glyphicon-resize-full:before {\n
Login.c(67): content: "\\e096";\n
Login.c(67): }\n
Login.c(67): .glyphicon-resize-small:before {\n
Login.c(67): content: "\\e097";\n
Login.c(67): }\n
Login.c(67): .glyphicon-exclamation-sign:before {\n
Login.c(67): content: "\\e101";\n
Login.c(67): }\n
Login.c(67): .glyphicon-gift:before {\n
Login.c(67): content: "\\e102";\n
Login.c(67): }\n
Login.c(67): .glyphicon-leaf:before {\n
Login.c(67): content: "\\e103";\n
Login.c(67): }\n
Login.c(67): .glyphicon-fire:before {\n
Login.c(67): content: "\\e104";\n
Login.c(67): }\n
Login.c(67): .glyphicon-eye-open:before {\n
Login.c(67): content: "\\e105";\n
Login.c(67): }\n
Login.c(67): .glyphicon-eye-close:before {\n
Login.c(67): content: "\\e106";\n
Login.c(67): }\n
Login.c(67): .glyphicon-warning-sign:before {\n
Login.c(67): content: "\\e107";\n
Login.c(67): }\n
Login.c(67): .glyphicon-plane:before {\n
Login.c(67): content: "\\e108";\n
Login.c(67): }\n
Login.c(67): .glyphicon-calendar:before {\n
Login.c(67): content: "\\e109";\n
Login.c(67): }\n
Login.c(67): .glyphicon-random:before {\n
Login.c(67): content: "\\e110";\n
Login.c(67): }\n
Login.c(67): .glyphicon-comment:before {\n
Login.c(67): content: "\\e111";\n
Login.c(67): }\n
Login.c(67): .glyphicon-magnet:before {\n
Login.c(67): content: "\\e112";\n
Login.c(67): }\n
Login.c(67): .glyphicon-chevron-up:before {\n
Login.c(67): content: "\\e113";\n
Login.c(67): }\n
Login.c(67): .glyphicon-chevron-down:before {\n
Login.c(67): content: "\\e114";\n
Login.c(67): }\n
Login.c(67): .glyphicon-retweet:before {\n
Login.c(67): content: "\\e115";\n
Login.c(67): }\n
Login.c(67): .glyphicon-shopping-cart:before {\n
Login.c(67): content: "\\e116";\n
Login.c(67): }\n
Login.c(67): .glyphicon-folder-close:before {\n
Login.c(67): content: "\\e117";\n
Login.c(67): }\n
Login.c(67): .glyphicon-folder-open:before {\n
Login.c(67): content: "\\e118";\n
Login.c(67): }\n
Login.c(67): .glyphicon-resize-vertical:before {\n
Login.c(67): content: "\\e119";\n
Login.c(67): }\n
Login.c(67): .glyphicon-resize-horizontal:before {\n
Login.c(67): content: "\\e120";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hdd:before {\n
Login.c(67): content: "\\e121";\n
Login.c(67): }\n
Login.c(67): .glyphicon-bullhorn:before {\n
Login.c(67): content: "\\e122";\n
Login.c(67): }\n
Login.c(67): .glyphicon-bell:before {\n
Login.c(67): content: "\\e123";\n
Login.c(67): }\n
Login.c(67): .glyphicon-certificate:before {\n
Login.c(67): content: "\\e124";\n
Login.c(67): }\n
Login.c(67): .glyphicon-thumbs-up:before {\n
Login.c(67): content: "\\e125";\n
Login.c(67): }\n
Login.c(67): .glyphicon-thumbs-down:before {\n
Login.c(67): content: "\\e126";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hand-right:before {\n
Login.c(67): content: "\\e127";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hand-left:before {\n
Login.c(67): content: "\\e128";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hand-up:before {\n
Login.c(67): content: "\\e129";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hand-down:before {\n
Login.c(67): content: "\\e130";\n
Login.c(67): }\n
Login.c(67): .glyphicon-circle-arrow-right:before {\n
Login.c(67): content: "\\e131";\n
Login.c(67): }\n
Login.c(67): .glyphicon-circle-arrow-left:before {\n
Login.c(67): content: "\\e132";\n
Login.c(67): }\n
Login.c(67): .glyphicon-circle-arrow-up:before {\n
Login.c(67): content: "\\e133";\n
Login.c(67): }\n
Login.c(67): .glyphicon-circle-arrow-down:before {\n
Login.c(67): content: "\\e134";\n
Login.c(67): }\n
Login.c(67): .glyphicon-globe:before {\n
Login.c(67): content: "\\e135";\n
Login.c(67): }\n
Login.c(67): .glyphicon-wrench:before {\n
Login.c(67): content: "\\e136";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tasks:before {\n
Login.c(67): content: "\\e137";\n
Login.c(67): }\n
Login.c(67): .glyphicon-filter:before {\n
Login.c(67): content: "\\e138";\n
Login.c(67): }\n
Login.c(67): .glyphicon-briefcase:before {\n
Login.c(67): content: "\\e139";\n
Login.c(67): }\n
Login.c(67): .glyphicon-fullscreen:before {\n
Login.c(67): content: "\\e140";\n
Login.c(67): }\n
Login.c(67): .glyphicon-dashboard:before {\n
Login.c(67): content: "\\e141";\n
Login.c(67): }\n
Login.c(67): .glyphicon-paperclip:before {\n
Login.c(67): content: "\\e142";\n
Login.c(67): }\n
Login.c(67): .glyphicon-heart-empty:before {\n
Login.c(67): content: "\\e143";\n
Login.c(67): }\n
Login.c(67): .glyphicon-link:before {\n
Login.c(67): content: "\\e144";\n
Login.c(67): }\n
Login.c(67): .glyphicon-phone:before {\n
Login.c(67): content: "\\e145";\n
Login.c(67): }\n
Login.c(67): .glyphicon-pushpin:before {\n
Login.c(67): content: "\\e146";\n
Login.c(67): }\n
Login.c(67): .glyphicon-usd:before {\n
Login.c(67): content: "\\e148";\n
Login.c(67): }\n
Login.c(67): .glyphicon-gbp:before {\n
Login.c(67): content: "\\e149";\n
Login.c(67): }\n
Login.c(67): .glyphicon
Login.c(67): t=470ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): -sort:before {\n
Login.c(67): content: "\\e150";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-alphabet:before {\n
Login.c(67): content: "\\e151";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-alphabet-alt:before {\n
Login.c(67): content: "\\e152";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-order:before {\n
Login.c(67): content: "\\e153";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-order-alt:before {\n
Login.c(67): content: "\\e154";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-attributes:before {\n
Login.c(67): content: "\\e155";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sort-by-attributes-alt:before {\n
Login.c(67): content: "\\e156";\n
Login.c(67): }\n
Login.c(67): .glyphicon-unchecked:before {\n
Login.c(67): content: "\\e157";\n
Login.c(67): }\n
Login.c(67): .glyphicon-expand:before {\n
Login.c(67): content: "\\e158";\n
Login.c(67): }\n
Login.c(67): .glyphicon-collapse-down:before {\n
Login.c(67): content: "\\e159";\n
Login.c(67): }\n
Login.c(67): .glyphicon-collapse-up:before {\n
Login.c(67): content: "\\e160";\n
Login.c(67): }\n
Login.c(67): .glyphicon-log-in:before {\n
Login.c(67): content: "\\e161";\n
Login.c(67): }\n
Login.c(67): .glyphicon-flash:before {\n
Login.c(67): content: "\\e162";\n
Login.c(67): }\n
Login.c(67): .glyphicon-log-out:before {\n
Login.c(67): content: "\\e163";\n
Login.c(67): }\n
Login.c(67): .glyphicon-new-window:before {\n
Login.c(67): content: "\\e164";\n
Login.c(67): }\n
Login.c(67): .glyphicon-record:before {\n
Login.c(67): content: "\\e165";\n
Login.c(67): }\n
Login.c(67): .glyphicon-save:before {\n
Login.c(67): content: "\\e166";\n
Login.c(67): }\n
Login.c(67): .glyphicon-open:before {\n
Login.c(67): content: "\\e167";\n
Login.c(67): }\n
Login.c(67): .glyphicon-saved:before {\n
Login.c(67): content: "\\e168";\n
Login.c(67): }\n
Login.c(67): .glyphicon-import:before {\n
Login.c(67): content: "\\e169";\n
Login.c(67): }\n
Login.c(67): .glyphicon-export:before {\n
Login.c(67): content: "\\e170";\n
Login.c(67): }\n
Login.c(67): .glyphicon-send:before {\n
Login.c(67): content: "\\e171";\n
Login.c(67): }\n
Login.c(67): .glyphicon-floppy-disk:before {\n
Login.c(67): content: "\\e172";\n
Login.c(67): }\n
Login.c(67): .glyphicon-floppy-saved:before {\n
Login.c(67): content: "\\e173";\n
Login.c(67): }\n
Login.c(67): .glyphicon-floppy-remove:before {\n
Login.c(67): content: "\\e174";\n
Login.c(67): }\n
Login.c(67): .glyphicon-floppy-save:before {\n
Login.c(67): content: "\\e175";\n
Login.c(67): }\n
Login.c(67): .glyphicon-floppy-open:before {\n
Login.c(67): content: "\\e176";\n
Login.c(67): }\n
Login.c(67): .glyphicon-credit-card:before {\n
Login.c(67): content: "\\e177";\n
Login.c(67): }\n
Login.c(67): .glyphicon-transfer:before {\n
Login.c(67): content: "\\e178";\n
Login.c(67): }\n
Login.c(67): .glyphicon-cutlery:before {\n
Login.c(67): content: "\\e179";\n
Login.c(67): }\n
Login.c(67): .glyphicon-header:before {\n
Login.c(67): content: "\\e180";\n
Login.c(67): }\n
Login.c(67): .glyphicon-compressed:before {\n
Login.c(67): content: "\\e181";\n
Login.c(67): }\n
Login.c(67): .glyphicon-earphone:before {\n
Login.c(67): content: "\\e182";\n
Login.c(67): }\n
Login.c(67): .glyphicon-phone-alt:before {\n
Login.c(67): content: "\\e183";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tower:before {\n
Login.c(67): content: "\\e184";\n
Login.c(67): }\n
Login.c(67): .glyphicon-stats:before {\n
Login.c(67): content: "\\e185";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sd-video:before {\n
Login.c(67): content: "\\e186";\n
Login.c(67): }\n
Login.c(67): .glyphicon-hd-video:before {\n
Login.c(67): content: "\\e187";\n
Login.c(67): }\n
Login.c(67): .glyphicon-subtitles:before {\n
Login.c(67): content: "\\e188";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sound-stereo:before {\n
Login.c(67): content: "\\e189";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sound-dolby:before {\n
Login.c(67): content: "\\e190";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sound-5-1:before {\n
Login.c(67): content: "\\e191";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sound-6-1:before {\n
Login.c(67): content: "\\e192";\n
Login.c(67): }\n
Login.c(67): .glyphicon-sound-7-1:before {\n
Login.c(67): content: "\\e193";\n
Login.c(67): }\n
Login.c(67): .glyphicon-copyright-mark:before {\n
Login.c(67): content: "\\e194";\n
Login.c(67): }\n
Login.c(67): .glyphicon-registration-mark:before {\n
Login.c(67): content: "\\e195";\n
Login.c(67): }\n
Login.c(67): .glyphicon-cloud-download:before {\n
Login.c(67): content: "\\e197";\n
Login.c(67): }\n
Login.c(67): .glyphicon-cloud-upload:before {\n
Login.c(67): content: "\\e198";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tree-conifer:before {\n
Login.c(67): content: "\\e199";\n
Login.c(67): }\n
Login.c(67): .glyphicon-tree-deciduous:before {\n
Login.c(67): content: "\\e200";\n
Login.c(67): }\n
Login.c(67): * {\n
Login.c(67): -webkit-box-sizing: border-box;\n
Login.c(67): -moz-box-sizing: border-box;\n
Login.c(67): box-sizing: border-box;\n
Login.c(67): }\n
Login.c(67): *:before,\n
Login.c(67): *:after {\n
Login.c(67): -webkit-box-sizing: border-box;\n
Login.c(67): -moz-box-sizing: border-box;\n
Login.c(67): box-sizing: border-box;\n
Login.c(67): }\n
Login.c(67): html {\n
Login.c(67): font-size: 10px;\n
Login.c(67): \n
Login.c(67): -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n
Login.c(67): }\n
Login.c(67): body {\n
Login.c(67): font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n
Login.c(67): font-size: 14px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #333;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): input,\n
Login.c(67): button,\n
Login.c(67): select,\n
Login.c(67): textarea {\n
Login.c(67): font-family: inherit;\n
Login.c(67): font-size: inherit;\n
Login.c(67): line-height: inherit;\n
Login.c(67): }\n
Login.c(67): a {\n
Login.c(67): color: #428bca;\n
Login.c(67): text-decoration: none;\n
Login.c(67): }\n
Login.c(67): a:hover,\n
Login.c(67): a:focus {\n
Login.c(67): color: #2a6496;\n
Login.c(67): text-decoration: underline;\n
Login.c(67): }\n
Login.c(67): a:focus {\n
Login.c(67): outline: thin dotted;\n
Login.c(67): outline: 5px auto -webkit-focus-ring-color;\n
Login.c(67): outline-offset: -2px;\n
Login.c(67): }\n
Login.c(67): figure {\n
Login.c(67): margin: 0;\n
Login.c(67): }\n
Login.c(67): img {\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .img-responsive,\n
Login.c(67): .thumbnail > img,\n
Login.c(67): .thumbnail a > img,\n
Login.c(67): .carousel-inner > .item > img,\n
Login.c(67): .carousel-inner > .item > a > img {\n
Login.c(67): display: block;\n
Login.c(67): width: 100% \\9;\n
Login.c(67): max-width: 100%;\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): .img-rounded {\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .img-thumbnail {\n
Login.c(67): display: inline-block;\n
Login.c(67): width: 100% \\9;\n
Login.c(67): max-width: 100%;\n
Login.c(67): height: auto;\n
Login.c(67): padding: 4px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-transition: all .2s ease-in-out;\n
Login.c(67): -o-transition: all .2s ease-in-out;\n
Login.c(67): transition: all .2s ease-in-out;\n
Login.c(67): }\n
Login.c(67): .img-circle {\n
Login.c(67): border-radius: 50%;\n
Login.c(67): }\n
Login.c(67): hr {\n
Login.c(67): margin-top: 20px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): border: 0;\n
Login.c(67): border-top: 1px solid #eee;\n
Login.c(67): }\n
Login.c(67): .sr-only {\n
Login.c(67): position: absolute;\n
Login.c(67): width: 1px;\n
Login.c(67): height: 1px;\n
Login.c(67): padding: 0;\n
Login.c(67): margin: -1px;\n
Login.c(67): overflow: hidden;\n
Login.c(67): clip: rect(0, 0, 0, 0);\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .sr-only-focusable:active,\n
Login.c(67): .sr-only-focusable:focus {\n
Login.c(67): position: static;\n
Login.c(67): width: auto;\n
Login.c(67): height: auto;\n
Login.c(67): margin: 0;\n
Login.c(67): overflow: visible;\n
Login.c(67): clip: auto;\n
Login.c(67): }\n
Login.c(67): h1,\n
Login.c(67): h2,\n
Login.c(67): h3,\n
Login.c(67): h4,\n
Login.c(67): h5,\n
Login.c(67): h6,\n
Login.c(67): .h1,\n
Login.c(67): .h2,\n
Login.c(67): .h3,\n
Login.c(67): .h4,\n
Login.c(67): .h5,\n
Login.c(67): .h6 {\n
Login.c(67): font-family: inherit;\n
Login.c(67): font-weight: 500;\n
Login.c(67): line-height: 1.1;\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): h1 small,\n
Login.c(67): h2 small,\n
Login.c(67): h3 small,\n
Login.c(67): h4 small,\n
Login.c(67): h5 small,\n
Login.c(67): h6 small,\n
Login.c(67): .h1 small,\n
Login.c(67): .h2 small,\n
Login.c(67): .h3 small,\n
Login.c(67): .h4 small,\n
Login.c(67): .h5 small,\n
Login.c(67): .h6 small,\n
Login.c(67): h1 .small,\n
Login.c(67): h2 .small,\n
Login.c(67): h3 .small,\n
Login.c(67): h4 .small,\n
Login.c(67): h5 .small,\n
Login.c(67): h6 .small,\n
Login.c(67): .h1 .small,\n
Login.c(67): .h2 .small,\n
Login.c(67): .h3 .small,\n
Login.c(67): .h4 .small,\n
Login.c(67): .h5 .small,\n
Login.c(67): .h6 .small {\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 1;\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): h1,\n
Login.c(67): .h1,\n
Login.c(67): h2,\n
Login.c(67): .h2,\n
Login.c(67): h3,\n
Login.c(67): .h3 {\n
Login.c(67): margin-top: 20px;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): h1 small,\n
Login.c(67): .h1 small,\n
Login.c(67): h2 small,\n
Login.c(67): .h2 small,\n
Login.c(67): h3 small,\n
Login.c(67): .h3 small,\n
Login.c(67): h1 .small,\n
Login.c(67): .h1 .small,\n
Login.c(67): h2 .small,\n
Login.c(67): .h2 .small,\n
Login.c(67): h3 .small,\n
Login.c(67): .h3 .small {\n
Login.c(67): font-size: 65%;\n
Login.c(67): }\n
Login.c(67): h4,\n
Login.c(67): .h4,\n
Login.c(67): h5,\n
Login.c(67): .h5,\n
Login.c(67): h6,\n
Login.c(67): .h6 {\n
Login.c(67): margin-top: 10px;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): h4 small,\n
Login.c(67): .h4 small,\n
Login.c(67): h5 small,\n
Login.c(67): .h5 small,\n
Login.c(67): h6 small,\n
Login.c(67): .h6 small,\n
Login.c(67): h4 .small,\n
Login.c(67): .h4 .small,\n
Login.c(67): h5 .small,\n
Login.c(67): .h5 .small,\n
Login.c(67): h6 .small,\n
Login.c(67): .h6 .small {\n
Login.c(67): font-size: 75%;\n
Login.c(67): }\n
Login.c(67): h1,\n
Login.c(67): .h1 {\n
Login.c(67): font-size: 36px;\n
Login.c(67): }\n
Login.c(67): h2,\n
Login.c(67): .h2 {\n
Login.c(67): font-size: 30px;\n
Login.c(67): }\n
Login.c(67): h3,\n
Login.c(67): .h3 {\n
Login.c(67): font-size: 24px;\n
Login.c(67): }\n
Login.c(67): h4,\n
Login.c(67): .h4 {\n
Login.c(67): font-size: 18px;\n
Login.c(67): }\n
Login.c(67): h5,\n
Login.c(67): .h5 {\n
Login.c(67): font-size: 14px;\n
Login.c(67): }\n
Login.c(67): h6,\n
Login.c(67): .h6 {\n
Login.c(67): font-size: 12px;\n
Login.c(67): }\n
Login.c(67): p {\n
Login.c(67): margin: 0 0 10px;\n
Login.c(67): }\n
Login.c(67): .lead {\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): font-size: 16px;\n
Login.c(67): font-weight: 300;\n
Login.c(67): line-height: 1.4;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .lead {\n
Login.c(67): font-size: 21px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): small,\n
Login.c(67): .small {\n
Login.c(67): font-size: 85%;\n
Login.c(67): }\n
Login.c(67): cite {\n
Login.c(67): font-style: normal;\n
Login.c(67): }\n
Login.c(67): mark,\n
Login.c(67): .mark {\n
Login.c(67): padding: .2em;\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): }\n
Login.c(67): .text-left {\n
Login.c(67): text-align: left;\n
Login.c(67): }\n
Login.c(67): .text-right {\n
Login.c(67): text-align: right;\n
Login.c(67): }\n
Login.c(67): .text-center {\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .text-justify {\n
Login.c(67): text-align: justify;\n
Login.c(67): }\n
Login.c(67): .text-nowrap {\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .text-lowercase {\n
Login.c(67): text-transform: lowercase;\n
Login.c(67): }\n
Login.c(67): .text-uppercase {\n
Login.c(67): text-transform: uppercase;\n
Login.c(67): }\n
Login.c(67): .text-capitalize {\n
Login.c(67): text-transform: capitalize;\n
Login.c(67): }\n
Login.c(67): .text-muted {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .text-primary {\n
Login.c(67): color: #428bca;\n
Login.c(67): }\n
Login.c(67): a.text-primary:hover {\n
Login.c(67): color: #3071a9;\n
Login.c(67): }\n
Login.c(67): .text-success {\n
Login.c(67): color: #3c763d;\n
Login.c(67): }\n
Login.c(67): a.text-success:hover {\n
Login.c(67): color: #2b542c;\n
Login.c(67): }\n
Login.c(67): .text-info {\n
Login.c(67): color: #31708f;\n
Login.c(67): }\n
Login.c(67): a.text-info:hover {\n
Login.c(67): color: #245269;\n
Login.c(67): }\n
Login.c(67): .text-warning {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): a.text-warning:hover {\n
Login.c(67): color: #66512c;\n
Login.c(67): }\n
Login.c(67): .text-danger {\n
Login.c(67): color: #a94442;\n
Login.c(67): }\n
Login.c(67): a.text-danger:hover {\n
Login.c(67): color: #843534;\n
Login.c(67): }\n
Login.c(67): .bg-primary {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): }\n
Login.c(67): a.bg-primary:hover {\n
Login.c(67): background-color: #3071a9;\n
Login.c(67): }\n
Login.c(67): .bg-success {\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): }\n
Login.c(67): a.bg-success:hover {\n
Login.c(67): background-color: #c1e2b3;\n
Login.c(67): }\n
Login.c(67): .bg-info {\n
Login.c(67): background-color: #d9edf7;\n
Login.c(67): }\n
Login.c(67): a.bg-info:hover {\n
Login.c(67): background-color: #afd9ee;\n
Login.c(67): }\n
Login.c(67): .bg-warning {\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): }\n
Login.c(67): a.bg-warning:hover {\n
Login.c(67): background-color: #f7ecb5;\n
Login.c(67): }\n
Login.c(67): .bg-danger {\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): }\n
Login.c(67): a.bg-danger:hover {\n
Login.c(67): background-color: #e4b9b9;\n
Login.c(67): }\n
Login.c(67): .page-header {\n
Login.c(67): padding-bottom: 9px;\n
Login.c(67): margin: 40px 0 20px;\n
Login.c(67): border-bottom: 1px solid #eee;\n
Login.c(67): }\n
Login.c(67): ul,\n
Login.c(67): ol {\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): ul ul,\n
Login.c(67): ol ul,\n
Login.c(67): ul ol,\n
Login.c(67): ol ol {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .list-unstyled {\n
Login.c(67): padding-left: 0;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .list-inline {\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin-left: -5px;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .list-inline > li {\n
Login.c(67): display: inline-block;\n
Login.c(67): padding-right: 5px;\n
Login.c(67): padding-left: 5px;\n
Login.c(67): }\n
Login.c(67): dl {\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): }\n
Login.c(67): dt,\n
Login.c(67): dd {\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): }\n
Login.c(67): dt {\n
Login.c(67): font-weight: bold;\n
Login.c(67): }\n
Login.c(67): dd {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .dl-horizontal dt {\n
Login.c(67): float: left;\n
Login.c(67): width: 160px;\n
Login.c(67): overflow: hidden;\n
Login.c(67): clear: left;\n
Login.c(67): text-align: right;\n
Login.c(67): text-overflow: ellipsis;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .dl-horizontal dd {\n
Login.c(67): margin-left: 180px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): abbr[title],\n
Login.c(67): abbr[data-original-title] {\n
Login.c(67): cursor: help;\n
Login.c(67): border-bottom: 1px dotted #777;\n
Login.c(67): }\n
Login.c(67): .initialism {\n
Login.c(67): font-size: 90%;\n
Login.c(67): text-transform: uppercase;\n
Login.c(67): }\n
Login.c(67): blockquote {\n
Login.c(67): padding: 10px 20px;\n
Login.c(67): margin: 0 0 20px;\n
Login.c(67): font-size: 17.5px;\n
Login.c(67): border-left: 5px solid #eee;\n
Login.c(67): }\n
Login.c(67): blockquote p:last-child,\n
Login.c(67): blockquote ul:last-child,\n
Login.c(67): blockquote ol:last-child {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): blockquote footer,\n
Login.c(67): blockquote small,\n
Login.c(67): blockquote .small {\n
Login.c(67): display: block;\n
Login.c(67): font-size: 80%;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): blockquote footer:before,\n
Login.c(67): blockquote small:before,\n
Login.c(67): blockquote .small:before {\n
Login.c(67): content: '\\2014 \\00A0';\n
Login.c(67): }\n
Login.c(67): .blockquote-reverse,\n
Login.c(67): blockquote.pull-right {\n
Login.c(67): padding-right: 15px;\n
Login.c(67): padding-left: 0;\n
Login.c(67): text-align: right;\n
Login.c(67): border-right: 5px solid #eee;\n
Login.c(67): border-left: 0;\n
Login.c(67): }\n
Login.c(67): .blockquote-reverse footer:before,\n
Login.c(67): blockquote.pull-right footer:before,\n
Login.c(67): .blockquote-reverse small:before,\n
Login.c(67): blockquote.pull-right small:before,\n
Login.c(67): .blockquote-reverse .small:before,\n
Login.c(67): blockquote.pull-right .small:before {\n
Login.c(67): content: '';\n
Login.c(67): }\n
Login.c(67): .blockquote-reverse footer:after,\n
Login.c(67): blockquote.pull-right footer:after,\n
Login.c(67): .blockquote-reverse small:after,\n
Login.c(67): blockquote.pull-right small:after,\n
Login.c(67): .blockquote-reverse .small:after,\n
Login.c(67): blockquote.pull-right .small:after {\n
Login.c(67): content: '\\00A0 \\2014';\n
Login.c(67): }\n
Login.c(67): blockquote:before,\n
Login.c(67): blockquote:after {\n
Login.c(67): content: "";\n
Login.c(67): }\n
Login.c(67): address {\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): font-style: normal;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): }\n
Login.c(67): code,\n
Login.c(67): kbd,\n
Login.c(67): pre,\n
Login.c(67): samp {\n
Login.c(67): font-family: Menlo, Monaco, Consolas, "Courier New",
monospace;\n
Login.c(67): }\n
Login.c(67): code {\n
Login.c(67): padding: 2px 4px;\n
Login.c(67): font-size: 90%;\n
Login.c(67): color: #c7254e;\n
Login.c(67): background-color: #f9f2f4;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): kbd {\n
Login.c(67): padding: 2px 4px;\n
Login.c(67): font-size: 90%;\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #333;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n
Login.c(67): box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n
Login.c(67): }\n
Login.c(67): kbd kbd {\n
Login.c(67): padding: 0;\n
Login.c(67): font-size: 100%;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): pre {\n
Login.c(67): display: block;\n
Login.c(67): padding: 9.5px;\n
Login.c(67): margin: 0 0 10px;\n
Login.c(67): font-size: 13px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #333;\n
Login.c(67): word-break: break-all;\n
Login.c(67): word-wrap: break-word;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border: 1px solid #ccc;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): pre code {\n
Login.c(67): padding: 0;\n
Login.c(67): font-size: inherit;\n
Login.c(67): color: inherit;\n
Login.c(67): white-space: pre-wrap;\n
Login.c(67): background-color: transparent;\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .pre-scrollable {\n
Login.c(67): max-height: 340px;\n
Login.c(67): overflow-y: scroll;\n
Login.c(67): }\n
Login.c(67): .container {\n
Login.c(67): padding-right: 15px;\n
Login.c(67): padding-left: 15px;\n
Login.c(67): margin-right: auto;\n
Login.c(67): margin-left: auto;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .container {\n
Login.c(67): width: 750px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) {\n
Login.c(67): .container {\n
Login.c(67): width: 970px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .container {\n
Login.c(67): width: 1170px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .container-fluid {\n
Login.c(67): padding-right: 15px;\n
Login.c(67): padding-left: 15px;\n
Login.c(67): margin-right: auto;\n
Login.c(67): margin-left: auto;\n
Login.c(67): }\n
Login.c(67): .row {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): margin-left: -15px;\n
Login.c(67): }\n
Login.c(67): .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-
2, .col-md-2, .col-lg-2, .c
Login.c(67): ol-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4,
.col-md-4, .col-lg-4, .col
Login.c(67): -xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6,
.col-md-6, .col-lg-6, .col-x
Login.c(67): s-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-
md-8, .col-lg-8, .col-xs-
Login.c(67): 9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-
md-10, .col-lg-10, .col-x
Login.c(67): s-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-
12, .col-md-12, .col-lg-12 {
Login.c(67): \n
Login.c(67): position: relative;\n
Login.c(67): min-height: 1px;\n
Login.c(67): padding-right: 15px;\n
Login.c(67): padding-left: 15px;\n
Login.c(67): }\n
Login.c(67): .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-
6, .col-xs-7, .col-xs-8, .c
Login.c(67): ol-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .col-xs-12 {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .col-xs-11 {\n
Login.c(67): width: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-10 {\n
Login.c(67): width: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-9 {\n
Login.c(67): width: 75%;\n
Login.c(67): }\n
Login.c(67): .col-xs-8 {\n
Login.c(67): width: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-7 {\n
Login.c(67): width: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-6 {\n
Login.c(67): width: 50%;\n
Login.c(67): }\n
Login.c(67): .col-xs-5 {\n
Login.c(67): width: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-4 {\n
Login.c(67): width: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-3 {\n
Login.c(67): width: 25%;\n
Login.c(67): }\n
Login.c(67): .col-xs-2 {\n
Login.c(67): width: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-1 {\n
Login.c(67): width: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-12 {\n
Login.c(67): right: 100%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-11 {\n
Login.c(67): right: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-10 {\n
Login.c(67): right: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-9 {\n
Login.c(67): right: 75%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-8 {\n
Login.c(67): right: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-7 {\n
Login.c(67): right: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-6 {\n
Login.c(67): right: 50%;
Login.c(67): t=502ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \n
Login.c(67): }\n
Login.c(67): .col-xs-pull-5 {\n
Login.c(67): right: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-4 {\n
Login.c(67): right: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-3 {\n
Login.c(67): right: 25%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-2 {\n
Login.c(67): right: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-1 {\n
Login.c(67): right: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-pull-0 {\n
Login.c(67): right: auto;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-12 {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-11 {\n
Login.c(67): left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-10 {\n
Login.c(67): left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-9 {\n
Login.c(67): left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-8 {\n
Login.c(67): left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-7 {\n
Login.c(67): left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-6 {\n
Login.c(67): left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-5 {\n
Login.c(67): left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-4 {\n
Login.c(67): left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-3 {\n
Login.c(67): left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-2 {\n
Login.c(67): left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-1 {\n
Login.c(67): left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-push-0 {\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-12 {\n
Login.c(67): margin-left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-11 {\n
Login.c(67): margin-left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-10 {\n
Login.c(67): margin-left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-9 {\n
Login.c(67): margin-left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-8 {\n
Login.c(67): margin-left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-7 {\n
Login.c(67): margin-left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-6 {\n
Login.c(67): margin-left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-5 {\n
Login.c(67): margin-left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-4 {\n
Login.c(67): margin-left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-3 {\n
Login.c(67): margin-left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-2 {\n
Login.c(67): margin-left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-1 {\n
Login.c(67): margin-left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-xs-offset-0 {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-
6, .col-sm-7, .col-sm-8,
Login.c(67): .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .col-sm-12 {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .col-sm-11 {\n
Login.c(67): width: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-10 {\n
Login.c(67): width: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-9 {\n
Login.c(67): width: 75%;\n
Login.c(67): }\n
Login.c(67): .col-sm-8 {\n
Login.c(67): width: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-7 {\n
Login.c(67): width: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-6 {\n
Login.c(67): width: 50%;\n
Login.c(67): }\n
Login.c(67): .col-sm-5 {\n
Login.c(67): width: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-4 {\n
Login.c(67): width: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-3 {\n
Login.c(67): width: 25%;\n
Login.c(67): }\n
Login.c(67): .col-sm-2 {\n
Login.c(67): width: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-1 {\n
Login.c(67): width: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-12 {\n
Login.c(67): right: 100%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-11 {\n
Login.c(67): right: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-10 {\n
Login.c(67): right: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-9 {\n
Login.c(67): right: 75%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-8 {\n
Login.c(67): right: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-7 {\n
Login.c(67): right: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-6 {\n
Login.c(67): right: 50%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-5 {\n
Login.c(67): right: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-4 {\n
Login.c(67): right: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-3 {\n
Login.c(67): right: 25%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-2 {\n
Login.c(67): right: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-1 {\n
Login.c(67): right: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-pull-0 {\n
Login.c(67): right: auto;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-12 {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-11 {\n
Login.c(67): left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-10 {\n
Login.c(67): left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-9 {\n
Login.c(67): left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-8 {\n
Login.c(67): left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-7 {\n
Login.c(67): left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-6 {\n
Login.c(67): left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-5 {\n
Login.c(67): left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-4 {\n
Login.c(67): left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-3 {\n
Login.c(67): left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-2 {\n
Login.c(67): left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-1 {\n
Login.c(67): left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-push-0 {\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-12 {\n
Login.c(67): margin-left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-11 {\n
Login.c(67): margin-left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-10 {\n
Login.c(67): margin-left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-9 {\n
Login.c(67): margin-left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-8 {\n
Login.c(67): margin-left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-7 {\n
Login.c(67): margin-left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-6 {\n
Login.c(67): margin-left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-5 {\n
Login.c(67): margin-left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-4 {\n
Login.c(67): margin-left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-3 {\n
Login.c(67): margin-left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-2 {\n
Login.c(67): margin-left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-1 {\n
Login.c(67): margin-left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-sm-offset-0 {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) {\n
Login.c(67): .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-
6, .col-md-7, .col-md-8,
Login.c(67): .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .col-md-12 {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .col-md-11 {\n
Login.c(67): width: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-10 {\n
Login.c(67): width: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-9 {\n
Login.c(67): width: 75%;\n
Login.c(67): }\n
Login.c(67): .col-md-8 {\n
Login.c(67): width: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-7 {\n
Login.c(67): width: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-6 {\n
Login.c(67): width: 50%;\n
Login.c(67): }\n
Login.c(67): .col-md-5 {\n
Login.c(67): width: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-4 {\n
Login.c(67): width: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-3 {\n
Login.c(67): width: 25%;\n
Login.c(67): }\n
Login.c(67): .col-md-2 {\n
Login.c(67): width: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-1 {\n
Login.c(67): width: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-12 {\n
Login.c(67): right: 100%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-11 {\n
Login.c(67): right: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-10 {\n
Login.c(67): right: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-9 {\n
Login.c(67): right: 75%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-8 {\n
Login.c(67): right: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-7 {\n
Login.c(67): right: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-6 {\n
Login.c(67): right: 50%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-5 {\n
Login.c(67): right: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-4 {\n
Login.c(67): right: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-3 {\n
Login.c(67): right: 25%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-2 {\n
Login.c(67): right: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-1 {\n
Login.c(67): right: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-pull-0 {\n
Login.c(67): right: auto;\n
Login.c(67): }\n
Login.c(67): .col-md-push-12 {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-11 {\n
Login.c(67): left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-10 {\n
Login.c(67): left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-9 {\n
Login.c(67): left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-8 {\n
Login.c(67): left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-7 {\n
Login.c(67): left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-6 {\n
Login.c(67): left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-5 {\n
Login.c(67): left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-4 {\n
Login.c(67): left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-3 {\n
Login.c(67): left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-2 {\n
Login.c(67): left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-1 {\n
Login.c(67): left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-push-0 {\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-12 {\n
Login.c(67): margin-left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-11 {\n
Login.c(67): margin-left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-10 {\n
Login.c(67): margin-left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-9 {\n
Login.c(67): margin-left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-8 {\n
Login.c(67): margin-left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-7 {\n
Login.c(67): margin-left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-6 {\n
Login.c(67): margin-left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-5 {\n
Login.c(67): margin-left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-4 {\n
Login.c(67): margin-left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-3 {\n
Login.c(67): margin-left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-2 {\n
Login.c(67): margin-left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-1 {\n
Login.c(67): margin-left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-md-offset-0 {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-
6, .col-lg-7, .col-lg-8,
Login.c(67): .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .col-lg-12 {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .col-lg-11 {\n
Login.c(67): width: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-10 {\n
Login.c(67): width: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-9 {\n
Login.c(67): width: 75%;\n
Login.c(67): }\n
Login.c(67): .col-lg-8 {\n
Login.c(67): width: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-7 {\n
Login.c(67): width: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-6 {\n
Login.c(67): width: 50%;\n
Login.c(67): }\n
Login.c(67): .col-lg-5 {\n
Login.c(67): width: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-4 {\n
Login.c(67): width: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-3 {\n
Login.c(67): width: 25%;\n
Login.c(67): }\n
Login.c(67): .col-lg-2 {\n
Login.c(67): width: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-1 {\n
Login.c(67): width: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-12 {\n
Login.c(67): right: 100%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-11 {\n
Login.c(67): right: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-10 {\n
Login.c(67): right: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-9 {\n
Login.c(67): right: 75%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-8 {\n
Login.c(67): right: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-7 {\n
Login.c(67): right: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-6 {\n
Login.c(67): right: 50%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-5 {\n
Login.c(67): right: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-4 {\n
Login.c(67): right: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-3 {\n
Login.c(67): right: 25%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-2 {\n
Login.c(67): right: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-1 {\n
Login.c(67): right: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-pull-0 {\n
Login.c(67): right: auto;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-12 {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-11 {\n
Login.c(67): left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-10 {\n
Login.c(67): left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-9 {\n
Login.c(67): left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-8 {\n
Login.c(67): left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-7 {\n
Login.c(67): left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-6 {\n
Login.c(67): left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-5 {\n
Login.c(67): left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-4 {\n
Login.c(67): left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-3 {\n
Login.c(67): left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-2 {\n
Login.c(67): left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-1 {\n
Login.c(67): left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-push-0 {\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-12 {\n
Login.c(67): margin-left: 100%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-11 {\n
Login.c(67): margin-left: 91.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-10 {\n
Login.c(67): margin-left: 83.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-9 {\n
Login.c(67): margin-left: 75%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-8 {\n
Login.c(67): margin-left: 66.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-7 {\n
Login.c(67): margin-left: 58.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-6 {\n
Login.c(67): margin-left: 50%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-5 {\n
Login.c(67): margin-left: 41.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-4 {\n
Login.c(67): margin-left: 33.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-3 {\n
Login.c(67): margin-left: 25%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-2 {\n
Login.c(67): margin-left: 16.66666667%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-1 {\n
Login.c(67): margin-left: 8.33333333%;\n
Login.c(67): }\n
Login.c(67): .col-lg-offset-0 {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): table {\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): th {\n
Login.c(67): text-align: left;\n
Login.c(67): }\n
Login.c(67): .table {\n
Login.c(67): width: 100%;\n
Login.c(67): max-width: 100%;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > th,\n
Login.c(67): .table > tbody > tr > th,\n
Login.c(67): .table > tfoot > tr > th,\n
Login.c(67): .table > thead > tr > td,\n
Login.c(67): .table > tbody > tr > td,\n
Login.c(67): .table > tfoot > tr > td {\n
Login.c(67): padding: 8px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): vertical-align: top;\n
Login.c(67): border-top: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > th {\n
Login.c(67): vertical-align: bottom;\n
Login.c(67): border-bottom: 2px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table > caption + thead > tr:first-child > th,\n
Login.c(67): .table > colgroup + thead > tr:first-child > th,\n
Login.c(67): .table > thead:first-child > tr:first-child > th,\n
Login.c(67): .table > caption + thead > tr:first-child > td,\n
Login.c(67): .table > colgroup + thead > tr:first-child > td,\n
Login.c(67): .table > thead:first-child > tr:first-child > td {\n
Login.c(67): border-top: 0;\n
Login.c(67): }\n
Login.c(67): .table > tbody + tbody {\n
Login.c(67): border-top: 2px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table .table {\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .table-condensed > thead > tr > th,\n
Login.c(67): .table-condensed > tbody > tr > th,\n
Login.c(67): .table-condensed > tfoot > tr > th,\n
Login.c(67): .table-condensed > thead > tr > td,\n
Login.c(67): .table-condensed > tbody > tr > td,\n
Login.c(67): .table-condensed > tfoot > tr > td {\n
Login.c(67): padding: 5px;\n
Login.c(67): }\n
Login.c(67): .table-bordered {\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table-bordered > thead > tr > th,\n
Login.c(67): .table-bordered > tbody > tr > th,\n
Login.c(67): .table-bordered > tfoot > tr > th,\n
Login.c(67): .table-bordered > thead > tr > td,\n
Login.c(67): .table-bordered > tbody > tr > td,\n
Login.c(67): .table-bordered > tfoot > tr > td {\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table-bordered > thead > tr > th,\n
Login.c(67): .table-bordered > thead > tr > td {\n
Login.c(67): border-bottom-width: 2px;\n
Login.c(67): }\n
Login.c(67): .table-striped > tbody > tr:nth-child(odd) > td,\n
Login.c(67): .table-striped > tbody > tr:nth-child(odd) > th {\n
Login.c(67): background-color: #f9f9f9;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > th {\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): }\n
Login.c(67): table col[class*="col-"] {\n
Login.c(67): position: static;\n
Login.c(67): display: table-column;\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): table td[class*="col-"],\n
Login.c(67): table th[class*="col-"] {\n
Login.c(67): position: static;\n
Login.c(67): display: table-cell;\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > td.active,\n
Login.c(67): .table > tbody > tr > td.active,\n
Login.c(67): .table > tfoot > tr > td.active,\n
Login.c(67): .table > thead > tr > th.active,\n
Login.c(67): .table > tbody > tr > th.active,\n
Login.c(67): .table > tfoot > tr > th.active,\n
Login.c(67): .table > thead > tr.active > td,\n
Login.c(67): .table > tbody > tr.active > td,\n
Login.c(67): .table > tfoot > tr.active > td,\n
Login.c(67): .table > thead > tr.active > th,\n
Login.c(67): .table > tbody > tr.active > th,\n
Login.c(67): .table > tfoot > tr.active > th {\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr > td.active:hover,\n
Login.c(67): .table-hover > tbody > tr > th.active:hover,\n
Login.c(67): .table-hover > tbody > tr.active:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > .active,\n
Login.c(67): .table-hover > tbody > tr.active:hover > th {\n
Login.c(67): background-color: #e8e8e8;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > td.success,\n
Login.c(67): .table > tbody > tr > td.success,\n
Login.c(67): .table > tfoot > tr > td.success,\n
Login.c(67): .table > thead > tr > th.success,\n
Login.c(67): .table > tbody > tr > th.success,\n
Login.c(67): .table > tfoot > tr > th.success,\n
Login.c(67): .table > thead > tr.success > td,\n
Login.c(67): .table > tbody > tr.success > td,\n
Login.c(67): .table > tfoot > tr.success > td,\n
Login.c(67): .table > thead > tr.success > th,\n
Login.c(67): .table > tbody > tr.success > th,\n
Login.c(67): .table > tfoot > tr.success > th {\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr > td.success:hover,\n
Login.c(67): .table-hover > tbody > tr > th.success:hover,\n
Login.c(67): .table-hover > tbody > tr.success:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > .success,\n
Login.c(67): .table-hover > tbody > tr.success:hover > th {\n
Login.c(67): background-color: #d0e9c6;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > td.info,\n
Login.c(67): .table > tbody > tr > td.info,\n
Login.c(67): .table > tfoot > tr > td.
Login.c(67): t=532ms: 7620-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): info,\n
Login.c(67): .table > thead > tr > th.info,\n
Login.c(67): .table > tbody > tr > th.info,\n
Login.c(67): .table > tfoot > tr > th.info,\n
Login.c(67): .table > thead > tr.info > td,\n
Login.c(67): .table > tbody > tr.info > td,\n
Login.c(67): .table > tfoot > tr.info > td,\n
Login.c(67): .table > thead > tr.info > th,\n
Login.c(67): .table > tbody > tr.info > th,\n
Login.c(67): .table > tfoot > tr.info > th {\n
Login.c(67): background-color: #d9edf7;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr > td.info:hover,\n
Login.c(67): .table-hover > tbody > tr > th.info:hover,\n
Login.c(67): .table-hover > tbody > tr.info:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > .info,\n
Login.c(67): .table-hover > tbody > tr.info:hover > th {\n
Login.c(67): background-color: #c4e3f3;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > td.warning,\n
Login.c(67): .table > tbody > tr > td.warning,\n
Login.c(67): .table > tfoot > tr > td.warning,\n
Login.c(67): .table > thead > tr > th.warning,\n
Login.c(67): .table > tbody > tr > th.warning,\n
Login.c(67): .table > tfoot > tr > th.warning,\n
Login.c(67): .table > thead > tr.warning > td,\n
Login.c(67): .table > tbody > tr.warning > td,\n
Login.c(67): .table > tfoot > tr.warning > td,\n
Login.c(67): .table > thead > tr.warning > th,\n
Login.c(67): .table > tbody > tr.warning > th,\n
Login.c(67): .table > tfoot > tr.warning > th {\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr > td.warning:hover,\n
Login.c(67): .table-hover > tbody > tr > th.warning:hover,\n
Login.c(67): .table-hover > tbody > tr.warning:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > .warning,\n
Login.c(67): .table-hover > tbody > tr.warning:hover > th {\n
Login.c(67): background-color: #faf2cc;\n
Login.c(67): }\n
Login.c(67): .table > thead > tr > td.danger,\n
Login.c(67): .table > tbody > tr > td.danger,\n
Login.c(67): .table > tfoot > tr > td.danger,\n
Login.c(67): .table > thead > tr > th.danger,\n
Login.c(67): .table > tbody > tr > th.danger,\n
Login.c(67): .table > tfoot > tr > th.danger,\n
Login.c(67): .table > thead > tr.danger > td,\n
Login.c(67): .table > tbody > tr.danger > td,\n
Login.c(67): .table > tfoot > tr.danger > td,\n
Login.c(67): .table > thead > tr.danger > th,\n
Login.c(67): .table > tbody > tr.danger > th,\n
Login.c(67): .table > tfoot > tr.danger > th {\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): }\n
Login.c(67): .table-hover > tbody > tr > td.danger:hover,\n
Login.c(67): .table-hover > tbody > tr > th.danger:hover,\n
Login.c(67): .table-hover > tbody > tr.danger:hover > td,\n
Login.c(67): .table-hover > tbody > tr:hover > .danger,\n
Login.c(67): .table-hover > tbody > tr.danger:hover > th {\n
Login.c(67): background-color: #ebcccc;\n
Login.c(67): }\n
Login.c(67): @media screen and (max-width: 767px) {\n
Login.c(67): .table-responsive {\n
Login.c(67): width: 100%;\n
Login.c(67): margin-bottom: 15px;\n
Login.c(67): overflow-x: auto;\n
Login.c(67): overflow-y: hidden;\n
Login.c(67): -webkit-overflow-scrolling: touch;\n
Login.c(67): -ms-overflow-style: -ms-autohiding-scrollbar;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table > thead > tr > th,\n
Login.c(67): .table-responsive > .table > tbody > tr > th,\n
Login.c(67): .table-responsive > .table > tfoot > tr > th,\n
Login.c(67): .table-responsive > .table > thead > tr > td,\n
Login.c(67): .table-responsive > .table > tbody > tr > td,\n
Login.c(67): .table-responsive > .table > tfoot > tr > td {\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table-bordered {\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table-bordered > thead > tr > th:first-
child,\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr > th:first-
child,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr > th:first-
child,\n
Login.c(67): .table-responsive > .table-bordered > thead > tr > td:first-
child,\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr > td:first-
child,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr > td:first-
child {\n
Login.c(67): border-left: 0;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table-bordered > thead > tr > th:last-
child,\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr > th:last-
child,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr > th:last-
child,\n
Login.c(67): .table-responsive > .table-bordered > thead > tr > td:last-
child,\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr > td:last-
child,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr > td:last-child
{\n
Login.c(67): border-right: 0;\n
Login.c(67): }\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr:last-child >
th,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr:last-child >
th,\n
Login.c(67): .table-responsive > .table-bordered > tbody > tr:last-child >
td,\n
Login.c(67): .table-responsive > .table-bordered > tfoot > tr:last-child > td
{\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): fieldset {\n
Login.c(67): min-width: 0;\n
Login.c(67): padding: 0;\n
Login.c(67): margin: 0;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): legend {\n
Login.c(67): display: block;\n
Login.c(67): width: 100%;\n
Login.c(67): padding: 0;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): font-size: 21px;\n
Login.c(67): line-height: inherit;\n
Login.c(67): color: #333;\n
Login.c(67): border: 0;\n
Login.c(67): border-bottom: 1px solid #e5e5e5;\n
Login.c(67): }\n
Login.c(67): label {\n
Login.c(67): display: inline-block;\n
Login.c(67): max-width: 100%;\n
Login.c(67): margin-bottom: 5px;\n
Login.c(67): font-weight: bold;\n
Login.c(67): }\n
Login.c(67): input[type="search"] {\n
Login.c(67): -webkit-box-sizing: border-box;\n
Login.c(67): -moz-box-sizing: border-box;\n
Login.c(67): box-sizing: border-box;\n
Login.c(67): }\n
Login.c(67): input[type="radio"],\n
Login.c(67): input[type="checkbox"] {\n
Login.c(67): margin: 4px 0 0;\n
Login.c(67): margin-top: 1px \\9;\n
Login.c(67): line-height: normal;\n
Login.c(67): }\n
Login.c(67): input[type="file"] {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): input[type="range"] {\n
Login.c(67): display: block;\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): select[multiple],\n
Login.c(67): select[size] {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): input[type="file"]:focus,\n
Login.c(67): input[type="radio"]:focus,\n
Login.c(67): input[type="checkbox"]:focus {\n
Login.c(67): outline: thin dotted;\n
Login.c(67): outline: 5px auto -webkit-focus-ring-color;\n
Login.c(67): outline-offset: -2px;\n
Login.c(67): }\n
Login.c(67): output {\n
Login.c(67): display: block;\n
Login.c(67): padding-top: 7px;\n
Login.c(67): font-size: 14px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #555;\n
Login.c(67): }\n
Login.c(67): .form-control {\n
Login.c(67): display: block;\n
Login.c(67): width: 100%;\n
Login.c(67): height: 34px;\n
Login.c(67): padding: 6px 12px;\n
Login.c(67): font-size: 14px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #555;\n
Login.c(67): background-color: #fff;\n
Login.c(67): background-image: none;\n
Login.c(67): border: 1px solid #ccc;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): -webkit-transition: border-color ease-in-out .15s, -webkit-box-
shadow ease-in-out .15s;\n
Login.c(67): -o-transition: border-color ease-in-out .15s, box-shadow
ease-in-out .15s;\n
Login.c(67): transition: border-color ease-in-out .15s, box-shadow
ease-in-out .15s;\n
Login.c(67): }\n
Login.c(67): .form-control:focus {\n
Login.c(67): border-color: #66afe9;\n
Login.c(67): outline: 0;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px
rgba(102, 175, 233, .6);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px
rgba(102, 175, 233, .6);\n
Login.c(67): }\n
Login.c(67): .form-control::-moz-placeholder {\n
Login.c(67): color: #777;\n
Login.c(67): opacity: 1;\n
Login.c(67): }\n
Login.c(67): .form-control:-ms-input-placeholder {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .form-control::-webkit-input-placeholder {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .form-control[disabled],\n
Login.c(67): .form-control[readonly],\n
Login.c(67): fieldset[disabled] .form-control {\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): background-color: #eee;\n
Login.c(67): opacity: 1;\n
Login.c(67): }\n
Login.c(67): textarea.form-control {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): input[type="search"] {\n
Login.c(67): -webkit-appearance: none;\n
Login.c(67): }\n
Login.c(67): input[type="date"],\n
Login.c(67): input[type="time"],\n
Login.c(67): input[type="datetime-local"],\n
Login.c(67): input[type="month"] {\n
Login.c(67): line-height: 34px;\n
Login.c(67): line-height: 1.42857143 \\0;\n
Login.c(67): }\n
Login.c(67): input[type="date"].input-sm,\n
Login.c(67): input[type="time"].input-sm,\n
Login.c(67): input[type="datetime-local"].input-sm,\n
Login.c(67): input[type="month"].input-sm {\n
Login.c(67): line-height: 30px;\n
Login.c(67): }\n
Login.c(67): input[type="date"].input-lg,\n
Login.c(67): input[type="time"].input-lg,\n
Login.c(67): input[type="datetime-local"].input-lg,\n
Login.c(67): input[type="month"].input-lg {\n
Login.c(67): line-height: 46px;\n
Login.c(67): }\n
Login.c(67): .form-group {\n
Login.c(67): margin-bottom: 15px;\n
Login.c(67): }\n
Login.c(67): .radio,\n
Login.c(67): .checkbox {\n
Login.c(67): position: relative;\n
Login.c(67): display: block;\n
Login.c(67): min-height: 20px;\n
Login.c(67): margin-top: 10px;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): .radio label,\n
Login.c(67): .checkbox label {\n
Login.c(67): padding-left: 20px;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): font-weight: normal;\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): .radio input[type="radio"],\n
Login.c(67): .radio-inline input[type="radio"],\n
Login.c(67): .checkbox input[type="checkbox"],\n
Login.c(67): .checkbox-inline input[type="checkbox"] {\n
Login.c(67): position: absolute;\n
Login.c(67): margin-top: 4px \\9;\n
Login.c(67): margin-left: -20px;\n
Login.c(67): }\n
Login.c(67): .radio + .radio,\n
Login.c(67): .checkbox + .checkbox {\n
Login.c(67): margin-top: -5px;\n
Login.c(67): }\n
Login.c(67): .radio-inline,\n
Login.c(67): .checkbox-inline {\n
Login.c(67): display: inline-block;\n
Login.c(67): padding-left: 20px;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): font-weight: normal;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): .radio-inline + .radio-inline,\n
Login.c(67): .checkbox-inline + .checkbox-inline {\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-left: 10px;\n
Login.c(67): }\n
Login.c(67): input[type="radio"][disabled],\n
Login.c(67): input[type="checkbox"][disabled],\n
Login.c(67): input[type="radio"].disabled,\n
Login.c(67): input[type="checkbox"].disabled,\n
Login.c(67): fieldset[disabled] input[type="radio"],\n
Login.c(67): fieldset[disabled] input[type="
Login.c(67): t=544ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=544ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=544ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=544ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=544ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=545ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=546ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=547ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 200\r\n
Login.c(67): t=547ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 24\r\n
Login.c(67): t=547ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): e\r\n
Login.c(67): t=547ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): \r\n
Login.c(67): 0\r\n
Login.c(67): \r\n
Login.c(67): t=547ms: 11186-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): t=548ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): checkbox"] {\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): }\n
Login.c(67): .radio-inline.disabled,\n
Login.c(67): .checkbox-inline.disabled,\n
Login.c(67): fieldset[disabled] .radio-inline,\n
Login.c(67): fieldset[disabled] .checkbox-inline {\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): }\n
Login.c(67): .radio.disabled label,\n
Login.c(67): .checkbox.disabled label,\n
Login.c(67): fieldset[disabled] .radio label,\n
Login.c(67): fieldset[disabled] .checkbox label {\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): }\n
Login.c(67): .form-control-static {\n
Login.c(67): padding-top: 7px;\n
Login.c(67): padding-bottom: 7px;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .form-control-static.input-lg,\n
Login.c(67): .form-control-static.input-sm {\n
Login.c(67): padding-right: 0;\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): .input-sm,\n
Login.c(67): .form-horizontal .form-group-sm .form-control {\n
Login.c(67): height: 30px;\n
Login.c(67): padding: 5px 10px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.5;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): select.input-sm {\n
Login.c(67): height: 30px;\n
Login.c(67): line-height: 30px;\n
Login.c(67): }\n
Login.c(67): textarea.input-sm,\n
Login.c(67): select[multiple].input-sm {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): .input-lg,\n
Login.c(67): .form-horizontal .form-group-lg .form-control {\n
Login.c(67): height: 46px;\n
Login.c(67): padding: 10px 16px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): line-height: 1.33;\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): select.input-lg {\n
Login.c(67): height: 46px;\n
Login.c(67): line-height: 46px;\n
Login.c(67): }\n
Login.c(67): textarea.input-lg,\n
Login.c(67): select[multiple].input-lg {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): .has-feedback {\n
Login.c(67): position: relative;\n
Login.c(67): }\n
Login.c(67): .has-feedback .form-control {\n
Login.c(67): padding-right: 42.5px;\n
Login.c(67): }\n
Login.c(67): .form-control-feedback {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 25px;\n
Login.c(67): right: 0;\n
Login.c(67): z-index: 2;\n
Login.c(67): display: block;\n
Login.c(67): width: 34px;\n
Login.c(67): height: 34px;\n
Login.c(67): line-height: 34px;\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .input-lg + .form-control-feedback {\n
Login.c(67): width: 46px;\n
Login.c(67): height: 46px;\n
Login.c(67): line-height: 46px;\n
Login.c(67): }\n
Login.c(67): .input-sm + .form-control-feedback {\n
Login.c(67): width: 30px;\n
Login.c(67): height: 30px;\n
Login.c(67): line-height: 30px;\n
Login.c(67): }\n
Login.c(67): .has-success .help-block,\n
Login.c(67): .has-success .control-label,\n
Login.c(67): .has-success .radio,\n
Login.c(67): .has-success .checkbox,\n
Login.c(67): .has-success .radio-inline,\n
Login.c(67): .has-success .checkbox-inline {\n
Login.c(67): color: #3c763d;\n
Login.c(67): }\n
Login.c(67): .has-success .form-control {\n
Login.c(67): border-color: #3c763d;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): }\n
Login.c(67): .has-success .form-control:focus {\n
Login.c(67): border-color: #2b542c;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#67b168;\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#67b168;\n
Login.c(67): }\n
Login.c(67): .has-success .input-group-addon {\n
Login.c(67): color: #3c763d;\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): border-color: #3c763d;\n
Login.c(67): }\n
Login.c(67): .has-success .form-control-feedback {\n
Login.c(67): color: #3c763d;\n
Login.c(67): }\n
Login.c(67): .has-warning .help-block,\n
Login.c(67): .has-warning .control-label,\n
Login.c(67): .has-warning .radio,\n
Login.c(67): .has-warning .checkbox,\n
Login.c(67): .has-warning .radio-inline,\n
Login.c(67): .has-warning .checkbox-inline {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): .has-warning .form-control {\n
Login.c(67): border-color: #8a6d3b;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): }\n
Login.c(67): .has-warning .form-control:focus {\n
Login.c(67): border-color: #66512c;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#c0a16b;\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#c0a16b;\n
Login.c(67): }\n
Login.c(67): .has-warning .input-group-addon {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): border-color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): .has-warning .form-control-feedback {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): .has-error .help-block,\n
Login.c(67): .has-error .control-label,\n
Login.c(67): .has-error .radio,\n
Login.c(67): .has-error .checkbox,\n
Login.c(67): .has-error .radio-inline,\n
Login.c(67): .has-error .checkbox-inline {\n
Login.c(67): color: #a94442;\n
Login.c(67): }\n
Login.c(67): .has-error .form-control {\n
Login.c(67): border-color: #a94442;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n
Login.c(67): }\n
Login.c(67): .has-error .form-control:focus {\n
Login.c(67): border-color: #843534;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#ce8483;\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px
#ce8483;\n
Login.c(67): }\n
Login.c(67): .has-error .input-group-addon {\n
Login.c(67): color: #a94442;\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): border-color: #a94442;\n
Login.c(67): }\n
Login.c(67): .has-error .form-control-feedback {\n
Login.c(67): color: #a94442;\n
Login.c(67): }\n
Login.c(67): .has-feedback label.sr-only ~ .form-control-feedback {\n
Login.c(67): top: 0;\n
Login.c(67): }\n
Login.c(67): .help-block {\n
Login.c(67): display: block;\n
Login.c(67): margin-top: 5px;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): color: #737373;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .form-inline .form-group {\n
Login.c(67): display: inline-block;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .form-inline .form-control {\n
Login.c(67): display: inline-block;\n
Login.c(67): width: auto;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .form-inline .input-group {\n
Login.c(67): display: inline-table;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .form-inline .input-group .input-group-addon,\n
Login.c(67): .form-inline .input-group .input-group-btn,\n
Login.c(67): .form-inline .input-group .form-control {\n
Login.c(67): width: auto;\n
Login.c(67): }\n
Login.c(67): .form-inline .input-group > .form-control {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .form-inline .control-label {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .form-inline .radio,\n
Login.c(67): .form-inline .checkbox {\n
Login.c(67): display: inline-block;\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .form-inline .radio label,\n
Login.c(67): .form-inline .checkbox label {\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): .form-inline .radio input[type="radio"],\n
Login.c(67): .form-inline .checkbox input[type="checkbox"] {\n
Login.c(67): position: relative;\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .form-inline .has-feedback .form-control-feedback {\n
Login.c(67): top: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .form-horizontal .radio,\n
Login.c(67): .form-horizontal .checkbox,\n
Login.c(67): .form-horizontal .radio-inline,\n
Login.c(67): .form-horizontal .checkbox-inline {\n
Login.c(67): padding-top: 7px;\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .form-horizontal .radio,\n
Login.c(67): .form-horizontal .checkbox {\n
Login.c(67): min-height: 27px;\n
Login.c(67): }\n
Login.c(67): .form-horizontal .form-group {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): margin-left: -15px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .form-horizontal .control-label {\n
Login.c(67): padding-top: 7px;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): text-align: right;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .form-horizontal .has-feedback .form-control-feedback {\n
Login.c(67): top: 0;\n
Login.c(67): right: 15px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .form-horizontal .form-group-lg .control-label {\n
Login.c(67): padding-top: 14.3px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .form-horizontal .form-group-sm .control-label {\n
Login.c(67): padding-top: 6px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .btn {\n
Login.c(67): display: inline-block;\n
Login.c(67): padding: 6px 12px;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): font-size: 14px;\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): text-align: center;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): cursor: pointer;\n
Login.c(67): -webkit-user-select: none;\n
Login.c(67): -moz-user-select: none;\n
Login.c(67): -ms-user-select: none;\n
Login.c(67): user-select: none;\n
Login.c(67): background-image: none;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .btn:focus,\n
Login.c(67): .btn:active:focus,\n
Login.c(67): .btn.active:focus {\n
Login.c(67): outline: thin dotted;\n
Login.c(67): outline: 5px auto -webkit-focus-ring-color;\n
Login.c(67): outline-offset: -2px;\n
Login.c(67): }\n
Login.c(67): .btn:hover,\n
Login.c(67): .btn:focus {\n
Login.c(67): color: #333;\n
Login.c(67): text-decoration: none;\n
Login.c(67): }\n
Login.c(67): .btn:active,\n
Login.c(67): .btn.active {\n
Login.c(67): background-image: none;\n
Login.c(67): outline: 0;\n
Login.c(67): -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n
Login.c(67): box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n
Login.c(67): }\n
Login.c(67): .btn.disabled,\n
Login.c(67): .btn[disabled],\n
Login.c(67): fieldset[disabled] .btn {\n
Login.c(67): pointer-events: none;\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): filter: alpha(opacity=65);\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): opacity: .65;\n
Login.c(67): }\n
Login.c(67): .btn-default {\n
Login.c(67): color: #333;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border-color: #ccc;\n
Login.c(67): }\n
Login.c(67): .btn-default:hover,\n
Login.c(67): .btn-default:focus,\n
Login.c(67): .btn-default:active,\n
Login.c(67): .btn-default.active,\n
Login.c(67): .open > .dropdown-toggle.btn-default {\n
Login.c(67): color: #333;\n
Login.c(67): background-color: #e6e6e6;\n
Login.c(67): border-color: #adadad;\n
Login.c(67): }\n
Login.c(67): .btn-default:active,\n
Login.c(67): .btn-default.active,\n
Login.c(67): .open > .dropdown-toggle.btn-default {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-default.disabled,\n
Login.c(67): .btn-default[disabled],\n
Login.c(67): fieldset[disabled] .btn-default,\n
Login.c(67): .btn-default.disabled:hover,\n
Login.c(67): .btn-default[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-default:hover,\n
Login.c(67): .btn-default.disabled:focus,\n
Login.c(67): .btn-default[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-default:focus,\n
Login.c(67): .btn-default.disabled:active,\n
Login.c(67): .btn-default[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-default:active,\n
Login.c(67): .btn-default.disabled.active,\n
Login.c(67): .btn-default[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-default.active {\n
Login.c(67): background-color: #fff;\n
Login.c(67): border-color: #ccc;\n
Login.c(67): }\n
Login.c(67): .btn-default .badge {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #333;\n
Login.c(67): }\n
Login.c(67): .btn-primary {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): border-color: #357ebd;\n
Login.c(67): }\n
Login.c(67): .btn-primary:hover,\n
Login.c(67): .btn-primary:focus,\n
Login.c(67): .btn-primary:active,\n
Login.c(67): .btn-primary.active,\n
Login.c(67): .open > .dropdown-toggle.btn-primary {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #3071a9;\n
Login.c(67): border-color: #285e8e;\n
Login.c(67): }\n
Login.c(67): .btn-primary:active,\n
Login.c(67): .btn-primary.active,\n
Login.c(67): .open > .dropdown-toggle.btn-primary {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-primary.disabled,\n
Login.c(67): .btn-primary[disabled],\n
Login.c(67): fieldset[disabled] .btn-primary,\n
Login.c(67): .btn-primary.disabled:hover,\n
Login.c(67): .btn-primary[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-primary:hover,\n
Login.c(67): .btn-primary.disabled:focus,\n
Login.c(67): .btn-primary[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-primary:focus,\n
Login.c(67): .btn-primary.disabled:active,\n
Login.c(67): .btn-primary[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-primary:active,\n
Login.c(67): .btn-primary.disabled.active,\n
Login.c(67): .btn-primary[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-primary.active {\n
Login.c(67): background-color: #428bca;\n
Login.c(67): border-color: #357ebd;\n
Login.c(67): }\n
Login.c(67): .btn-primary .badge {\n
Login.c(67): color: #428bca;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .btn-success {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #5cb85c;\n
Login.c(67): border-color: #4cae4c;\n
Login.c(67): }\n
Login.c(67): .btn-success:hover,\n
Login.c(67): .btn-success:focus,\n
Login.c(67): .btn-success:active,\n
Login.c(67): .btn-success.active,\n
Login.c(67): .open > .dropdown-toggle.btn-success {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #449d44;\n
Login.c(67): border-color: #398439;\n
Login.c(67): }\n
Login.c(67): .btn-success:active,\n
Login.c(67): .btn-success.active,\n
Login.c(67): .open > .dropdown-toggle.btn-success {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-success.disabled,\n
Login.c(67): .btn-success[disabled],\n
Login.c(67): fieldset[disabled] .btn-success,\n
Login.c(67): .btn-success.disabled:hover,\n
Login.c(67): .btn-success[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-success:hover,\n
Login.c(67): .btn-success.disabled:focus,\n
Login.c(67): .btn-success[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-success:focus,\n
Login.c(67): .btn-success.disabled:active,\n
Login.c(67): .btn-success[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-success:active,\n
Login.c(67): .btn-success.disabled.active,\n
Login.c(67): .btn-success[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-success.active {\n
Login.c(67): background-color: #5cb85c;\n
Login.c(67): border-color: #4cae4c;\n
Login.c(67): }\n
Login.c(67): .btn-success .badge {\n
Login.c(67): color: #5cb85c;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .btn-info {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #5bc0de;\n
Login.c(67): border-color: #46b8da;\n
Login.c(67): }\n
Login.c(67): .btn-info:hover,\n
Login.c(67): .btn-info:focus,\n
Login.c(67): .btn-info:active,\n
Login.c(67): .btn-info.active,\n
Login.c(67): .open > .dropdown-toggle.btn-info {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #31b0d5;\n
Login.c(67): border-color: #269abc;\n
Login.c(67): }\n
Login.c(67): .btn-info:active,\n
Login.c(67): .btn-info.active,\n
Login.c(67): .open > .dropdown-toggle.btn-info {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-info.disabled,\n
Login.c(67): .btn-info[disabled],\n
Login.c(67): fieldset[disabled] .btn-info,\n
Login.c(67): .btn-info.disabled:hover,\n
Login.c(67): .btn-info[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-info:hover,\n
Login.c(67): .btn-info.disabled:focus,\n
Login.c(67): .btn-info[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-info:focus,\n
Login.c(67): .btn-info.disabled:active,\n
Login.c(67): .btn-info[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-info:active,\n
Login.c(67): .btn-info.disabled.active,\n
Login.c(67): .btn-info[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-info.active {\n
Login.c(67): background-color: #5bc0de;\n
Login.c(67): border-color: #46b8da;\n
Login.c(67): }\n
Login.c(67): .btn-info .badge {\n
Login.c(67): color: #5bc0de;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .btn-warning {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #f0ad4e;\n
Login.c(67): border-color: #eea236;\n
Login.c(67): }\n
Login.c(67): .btn-warning:hover,\n
Login.c(67): .btn-warning:focus,\n
Login.c(67): .btn-warning:active,\n
Login.c(67): .btn-warning.active,\n
Login.c(67): .open > .dropdown-toggle.btn-warning {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #ec971f;\n
Login.c(67): border-color: #d58512;\n
Login.c(67): }\n
Login.c(67): .btn-warning:active,\n
Login.c(67): .btn-warning.active,\n
Login.c(67): .open > .dropdown-toggle.btn-warning {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-warning.disabled,\n
Login.c(67): .btn-warning[disabled],\n
Login.c(67): fieldset[disabled] .btn-warning,\n
Login.c(67): .btn-warning.disabled:hover,\n
Login.c(67): .btn-warning[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-warning:hover,\n
Login.c(67): .btn-warning.disabled:focus,\n
Login.c(67): .btn-warning[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-warning:focus,\n
Login.c(67): .btn-warning.disabled:active,\n
Login.c(67): .btn-warning[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-warning:active,\n
Login.c(67): .btn-warning.disabled.active,\n
Login.c(67): .btn-warning[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-warning.active {\n
Login.c(67): background-color: #f0ad4e;\n
Login.c(67): border-color: #eea236;\n
Login.c(67): }\n
Login.c(67): .btn-warning .badge {\n
Login.c(67): color: #f0ad4e;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .btn-danger {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #d9534f;\n
Login.c(67): border-color: #d43f3a;\n
Login.c(67): }\n
Login.c(67): .btn-danger:hover,\n
Login.c(67): .btn-danger:focus,\n
Login.c(67): .btn-danger:active,\n
Login.c(67): .btn-danger.active,\n
Login.c(67): .open > .dropdown-toggle.btn-danger {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #c9302c;\n
Login.c(67): border-color: #ac2925;\n
Login.c(67): }\n
Login.c(67): .btn-danger:active,\n
Login.c(67): .btn-danger.active,\n
Login.c(67): .open > .dropdown-toggle.btn-danger {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): .btn-danger.disabled,\n
Login.c(67): .btn-danger[disabled],\n
Login.c(67): fieldset[disabled] .btn-danger,\n
Login.c(67): .btn-danger.disabled:hover,\n
Login.c(67): .btn-danger[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-danger:hover,\n
Login.c(67): .btn-danger.disabled:focus,\n
Login.c(67): .btn-danger[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-dan
Login.c(67): t=576ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): ger:focus,\n
Login.c(67): .btn-danger.disabled:active,\n
Login.c(67): .btn-danger[disabled]:active,\n
Login.c(67): fieldset[disabled] .btn-danger:active,\n
Login.c(67): .btn-danger.disabled.active,\n
Login.c(67): .btn-danger[disabled].active,\n
Login.c(67): fieldset[disabled] .btn-danger.active {\n
Login.c(67): background-color: #d9534f;\n
Login.c(67): border-color: #d43f3a;\n
Login.c(67): }\n
Login.c(67): .btn-danger .badge {\n
Login.c(67): color: #d9534f;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .btn-link {\n
Login.c(67): font-weight: normal;\n
Login.c(67): color: #428bca;\n
Login.c(67): cursor: pointer;\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-link,\n
Login.c(67): .btn-link:active,\n
Login.c(67): .btn-link[disabled],\n
Login.c(67): fieldset[disabled] .btn-link {\n
Login.c(67): background-color: transparent;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .btn-link,\n
Login.c(67): .btn-link:hover,\n
Login.c(67): .btn-link:focus,\n
Login.c(67): .btn-link:active {\n
Login.c(67): border-color: transparent;\n
Login.c(67): }\n
Login.c(67): .btn-link:hover,\n
Login.c(67): .btn-link:focus {\n
Login.c(67): color: #2a6496;\n
Login.c(67): text-decoration: underline;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .btn-link[disabled]:hover,\n
Login.c(67): fieldset[disabled] .btn-link:hover,\n
Login.c(67): .btn-link[disabled]:focus,\n
Login.c(67): fieldset[disabled] .btn-link:focus {\n
Login.c(67): color: #777;\n
Login.c(67): text-decoration: none;\n
Login.c(67): }\n
Login.c(67): .btn-lg,\n
Login.c(67): .btn-group-lg > .btn {\n
Login.c(67): padding: 10px 16px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): line-height: 1.33;\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .btn-sm,\n
Login.c(67): .btn-group-sm > .btn {\n
Login.c(67): padding: 5px 10px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.5;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .btn-xs,\n
Login.c(67): .btn-group-xs > .btn {\n
Login.c(67): padding: 1px 5px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.5;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .btn-block {\n
Login.c(67): display: block;\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .btn-block + .btn-block {\n
Login.c(67): margin-top: 5px;\n
Login.c(67): }\n
Login.c(67): input[type="submit"].btn-block,\n
Login.c(67): input[type="reset"].btn-block,\n
Login.c(67): input[type="button"].btn-block {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .fade {\n
Login.c(67): opacity: 0;\n
Login.c(67): -webkit-transition: opacity .15s linear;\n
Login.c(67): -o-transition: opacity .15s linear;\n
Login.c(67): transition: opacity .15s linear;\n
Login.c(67): }\n
Login.c(67): .fade.in {\n
Login.c(67): opacity: 1;\n
Login.c(67): }\n
Login.c(67): .collapse {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): .collapse.in {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): tr.collapse.in {\n
Login.c(67): display: table-row;\n
Login.c(67): }\n
Login.c(67): tbody.collapse.in {\n
Login.c(67): display: table-row-group;\n
Login.c(67): }\n
Login.c(67): .collapsing {\n
Login.c(67): position: relative;\n
Login.c(67): height: 0;\n
Login.c(67): overflow: hidden;\n
Login.c(67): -webkit-transition: height .35s ease;\n
Login.c(67): -o-transition: height .35s ease;\n
Login.c(67): transition: height .35s ease;\n
Login.c(67): }\n
Login.c(67): .caret {\n
Login.c(67): display: inline-block;\n
Login.c(67): width: 0;\n
Login.c(67): height: 0;\n
Login.c(67): margin-left: 2px;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): border-top: 4px solid;\n
Login.c(67): border-right: 4px solid transparent;\n
Login.c(67): border-left: 4px solid transparent;\n
Login.c(67): }\n
Login.c(67): .dropdown {\n
Login.c(67): position: relative;\n
Login.c(67): }\n
Login.c(67): .dropdown-toggle:focus {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 100%;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 1000;\n
Login.c(67): display: none;\n
Login.c(67): float: left;\n
Login.c(67): min-width: 160px;\n
Login.c(67): padding: 5px 0;\n
Login.c(67): margin: 2px 0 0;\n
Login.c(67): font-size: 14px;\n
Login.c(67): text-align: left;\n
Login.c(67): list-style: none;\n
Login.c(67): background-color: #fff;\n
Login.c(67): -webkit-background-clip: padding-box;\n
Login.c(67): background-clip: padding-box;\n
Login.c(67): border: 1px solid #ccc;\n
Login.c(67): border: 1px solid rgba(0, 0, 0, .15);\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n
Login.c(67): box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n
Login.c(67): }\n
Login.c(67): .dropdown-menu.pull-right {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu .divider {\n
Login.c(67): height: 1px;\n
Login.c(67): margin: 9px 0;\n
Login.c(67): overflow: hidden;\n
Login.c(67): background-color: #e5e5e5;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu > li > a {\n
Login.c(67): display: block;\n
Login.c(67): padding: 3px 20px;\n
Login.c(67): clear: both;\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #333;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu > li > a:hover,\n
Login.c(67): .dropdown-menu > li > a:focus {\n
Login.c(67): color: #262626;\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu > .active > a,\n
Login.c(67): .dropdown-menu > .active > a:hover,\n
Login.c(67): .dropdown-menu > .active > a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu > .disabled > a,\n
Login.c(67): .dropdown-menu > .disabled > a:hover,\n
Login.c(67): .dropdown-menu > .disabled > a:focus {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu > .disabled > a:hover,\n
Login.c(67): .dropdown-menu > .disabled > a:focus {\n
Login.c(67): text-decoration: none;\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): background-color: transparent;\n
Login.c(67): background-image: none;\n
Login.c(67): filter: progid:DXImageTransform.Microsoft.gradient(enabled =
false);\n
Login.c(67): }\n
Login.c(67): .open > .dropdown-menu {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .open > a {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu-right {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .dropdown-menu-left {\n
Login.c(67): right: auto;\n
Login.c(67): left: 0;\n
Login.c(67): }\n
Login.c(67): .dropdown-header {\n
Login.c(67): display: block;\n
Login.c(67): padding: 3px 20px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #777;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .dropdown-backdrop {\n
Login.c(67): position: fixed;\n
Login.c(67): top: 0;\n
Login.c(67): right: 0;\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 990;\n
Login.c(67): }\n
Login.c(67): .pull-right > .dropdown-menu {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .dropup .caret,\n
Login.c(67): .navbar-fixed-bottom .dropdown .caret {\n
Login.c(67): content: "";\n
Login.c(67): border-top: 0;\n
Login.c(67): border-bottom: 4px solid;\n
Login.c(67): }\n
Login.c(67): .dropup .dropdown-menu,\n
Login.c(67): .navbar-fixed-bottom .dropdown .dropdown-menu {\n
Login.c(67): top: auto;\n
Login.c(67): bottom: 100%;\n
Login.c(67): margin-bottom: 1px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-right .dropdown-menu {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): .navbar-right .dropdown-menu-left {\n
Login.c(67): right: auto;\n
Login.c(67): left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .btn-group,\n
Login.c(67): .btn-group-vertical {\n
Login.c(67): position: relative;\n
Login.c(67): display: inline-block;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn,\n
Login.c(67): .btn-group-vertical > .btn {\n
Login.c(67): position: relative;\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:hover,\n
Login.c(67): .btn-group-vertical > .btn:hover,\n
Login.c(67): .btn-group > .btn:focus,\n
Login.c(67): .btn-group-vertical > .btn:focus,\n
Login.c(67): .btn-group > .btn:active,\n
Login.c(67): .btn-group-vertical > .btn:active,\n
Login.c(67): .btn-group > .btn.active,\n
Login.c(67): .btn-group-vertical > .btn.active {\n
Login.c(67): z-index: 2;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:focus,\n
Login.c(67): .btn-group-vertical > .btn:focus {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group .btn + .btn,\n
Login.c(67): .btn-group .btn + .btn-group,\n
Login.c(67): .btn-group .btn-group + .btn,\n
Login.c(67): .btn-group .btn-group + .btn-group {\n
Login.c(67): margin-left: -1px;\n
Login.c(67): }\n
Login.c(67): .btn-toolbar {\n
Login.c(67): margin-left: -5px;\n
Login.c(67): }\n
Login.c(67): .btn-toolbar .btn-group,\n
Login.c(67): .btn-toolbar .input-group {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .btn-toolbar > .btn,\n
Login.c(67): .btn-toolbar > .btn-group,\n
Login.c(67): .btn-toolbar > .input-group {\n
Login.c(67): margin-left: 5px;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:not(:first-child):not(:last-
child):not(.dropdown-toggle) {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:first-child {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:first-child:not(:last-child):not(.dropdown-
toggle) {\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn:last-child:not(:first-child),\n
Login.c(67): .btn-group > .dropdown-toggle:not(:first-child) {\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn-group {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn
{\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn-group:first-child > .btn:last-child,\n
Login.c(67): .btn-group > .btn-group:first-child > .dropdown-toggle {\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn-group:last-child > .btn:first-child {\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group .dropdown-toggle:active,\n
Login.c(67): .btn-group.open .dropdown-toggle {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn + .dropdown-toggle {\n
Login.c(67): padding-right: 8px;\n
Login.c(67): padding-left: 8px;\n
Login.c(67): }\n
Login.c(67): .btn-group > .btn-lg + .dropdown-toggle {\n
Login.c(67): padding-right: 12px;\n
Login.c(67): padding-left: 12px;\n
Login.c(67): }\n
Login.c(67): .btn-group.open .dropdown-toggle {\n
Login.c(67): -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n
Login.c(67): box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n
Login.c(67): }\n
Login.c(67): .btn-group.open .dropdown-toggle.btn-link {\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .btn .caret {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .btn-lg .caret {\n
Login.c(67): border-width: 5px 5px 0;\n
Login.c(67): border-bottom-width: 0;\n
Login.c(67): }\n
Login.c(67): .dropup .btn-lg .caret {\n
Login.c(67): border-width: 0 5px 5px;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn,\n
Login.c(67): .btn-group-vertical > .btn-group,\n
Login.c(67): .btn-group-vertical > .btn-group > .btn {\n
Login.c(67): display: block;\n
Login.c(67): float: none;\n
Login.c(67): width: 100%;\n
Login.c(67): max-width: 100%;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn-group > .btn {\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn + .btn,\n
Login.c(67): .btn-group-vertical > .btn + .btn-group,\n
Login.c(67): .btn-group-vertical > .btn-group + .btn,\n
Login.c(67): .btn-group-vertical > .btn-group + .btn-group {\n
Login.c(67): margin-top: -1px;\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn:first-child:not(:last-child) {\n
Login.c(67): border-top-right-radius: 4px;\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn:last-child:not(:first-child) {\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): border-bottom-left-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn-group:not(:first-child):not(:last-
child) > .btn {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn-group:first-child:not(:last-child) >
.btn:last-child,\n
Login.c(67): .btn-group-vertical > .btn-group:first-child:not(:last-child) >
.dropdown-toggle {\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-vertical > .btn-group:last-child:not(:first-child) >
.btn:first-child {\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .btn-group-justified {\n
Login.c(67): display: table;\n
Login.c(67): width: 100%;\n
Login.c(67): table-layout: fixed;\n
Login.c(67): border-collapse: separate;\n
Login.c(67): }\n
Login.c(67): .btn-group-justified > .btn,\n
Login.c(67): .btn-group-justified > .btn-group {\n
Login.c(67): display: table-cell;\n
Login.c(67): float: none;\n
Login.c(67): width: 1%;\n
Login.c(67): }\n
Login.c(67): .btn-group-justified > .btn-group .btn {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .btn-group-justified > .btn-group .dropdown-menu {\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): [data-toggle="buttons"] > .btn > input[type="radio"],\n
Login.c(67): [data-toggle="buttons"] > .btn > input[type="checkbox"] {\n
Login.c(67): position: absolute;\n
Login.c(67): z-index: -1;\n
Login.c(67): filter: alpha(opacity=0);\n
Login.c(67): opacity: 0;\n
Login.c(67): }\n
Login.c(67): .input-group {\n
Login.c(67): position: relative;\n
Login.c(67): display: table;\n
Login.c(67): border-collapse: separate;\n
Login.c(67): }\n
Login.c(67): .input-group[class*="col-"] {\n
Login.c(67): float: none;\n
Login.c(67): padding-right: 0;\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): .input-group .form-control {\n
Login.c(67): position: relative;\n
Login.c(67): z-index: 2;\n
Login.c(67): float: left;\n
Login.c(67): width: 100%;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .input-group-lg > .form-control,\n
Login.c(67): .input-group-lg > .input-group-addon,\n
Login.c(67): .input-group-lg > .input-group-btn > .btn {\n
Login.c(67): height: 46px;\n
Login.c(67): padding: 10px 16px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): line-height: 1.33;\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): select.input-group-lg > .form-control,\n
Login.c(67): select.input-group-lg > .input-group-addon,\n
Login.c(67): select.input-group-lg > .input-group-btn > .btn {\n
Login.c(67): height: 46px;\n
Login.c(67): line-height: 46px;\n
Login.c(67): }\n
Login.c(67): textarea.input-group-lg > .form-control,\n
Login.c(67): textarea.input-group-lg > .input-group-addon,\n
Login.c(67): textarea.input-group-lg > .input-group-btn > .btn,\n
Login.c(67): select[multiple].input-group-lg > .form-control,\n
Login.c(67): select[multiple].input-group-lg > .input-group-addon,\n
Login.c(67): select[multiple].input-group-lg > .input-group-btn > .btn {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): .input-group-sm > .form-control,\n
Login.c(67): .input-group-sm > .input-group-addon,\n
Login.c(67): .input-group-sm > .input-group-btn > .btn {\n
Login.c(67): height: 30px;\n
Login.c(67): padding: 5px 10px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.5;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): select.input-group-sm > .form-control,\n
Login.c(67): select.input-group-sm > .input-group-addon,\n
Login.c(67): select.input-group-sm > .input-group-btn > .btn {\n
Login.c(67): height: 30px;\n
Login.c(67): line-height: 30px;\n
Login.c(67): }\n
Login.c(67): textarea.input-group-sm > .form-control,\n
Login.c(67): textarea.input-group-sm > .input-group-addon,\n
Login.c(67): textarea.input-group-sm > .input-group-btn > .btn,\n
Login.c(67): select[multiple].input-group-sm > .form-control,\n
Login.c(67): select[multiple].input-group-sm > .input-group-addon,\n
Login.c(67): select[multiple].input-group-sm > .input-group-btn > .btn {\n
Login.c(67): height: auto;\n
Login.c(67): }\n
Login.c(67): .input-group-addon,\n
Login.c(67): .input-group-btn,\n
Login.c(67): .input-group .form-control {\n
Login.c(67): display: table-cell;\n
Login.c(67): }\n
Login.c(67): .input-group-addon:not(:first-child):not(:last-child),\n
Login.c(67): .input-group-btn:not(:first-child):not(:last-child),\n
Login.c(67): .input-group .form-control:not(:first-child):not(:last-child) {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .input-group-addon,\n
Login.c(67): .input-group-btn {\n
Login.c(67): width: 1%;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .input-group-addon {\n
Login.c(67): padding: 6px 12px;\n
Login.c(67): font-size: 14px;\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 1;\n
Login.c(67): color: #555;\n
Login.c(67): text-align: center;\n
Login.c(67): background-color: #eee;\n
Login.c(67): border: 1px solid #ccc;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .input-group-addon.input-sm {\n
Login.c(67): padding: 5px 10px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .input-group-addon.input-lg {\n
Login.c(67): padding: 10px 16px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .input-group-addon input[type="radio"],\n
Login.c(67): .input-group-addon input[type="checkbox"] {\n
Login.c(67): margin-top: 0;\n
Login.c(67): }\n
Login.c(67): .input-group .form-control:first-child,\n
Login.c(67): .input-group-addon:first-child,\n
Login.c(67): .input-group-btn:first-child > .btn,\n
Login.c(67): .input-group-btn:first-child > .btn-group > .btn,\n
Login.c(67): .input-group-btn:first-child > .dropdown-toggle,\n
Login.c(67): .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-
toggle),\n
Login.c(67): .input-group-btn:last-child > .btn-group:not(:last-child) > .btn
{\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .input-group-addon:first-child {\n
Login.c(67): border-right: 0;\n
Login.c(67): }\n
Login.c(67): .input-group .form-control:last-child,\n
Login.c(67): .input-group-addon:last-child,\n
Login.c(67): .input-group-btn:last-child > .btn,\n
Login.c(67): .input-g
Login.c(67): t=598ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): roup-btn:last-child > .btn-group > .btn,\n
Login.c(67): .input-group-btn:last-child > .dropdown-toggle,\n
Login.c(67): .input-group-btn:first-child > .btn:not(:first-child),\n
Login.c(67): .input-group-btn:first-child > .btn-group:not(:first-child) > .btn
{\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .input-group-addon:last-child {\n
Login.c(67): border-left: 0;\n
Login.c(67): }\n
Login.c(67): .input-group-btn {\n
Login.c(67): position: relative;\n
Login.c(67): font-size: 0;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): }\n
Login.c(67): .input-group-btn > .btn {\n
Login.c(67): position: relative;\n
Login.c(67): }\n
Login.c(67): .input-group-btn > .btn + .btn {\n
Login.c(67): margin-left: -1px;\n
Login.c(67): }\n
Login.c(67): .input-group-btn > .btn:hover,\n
Login.c(67): .input-group-btn > .btn:focus,\n
Login.c(67): .input-group-btn > .btn:active {\n
Login.c(67): z-index: 2;\n
Login.c(67): }\n
Login.c(67): .input-group-btn:first-child > .btn,\n
Login.c(67): .input-group-btn:first-child > .btn-group {\n
Login.c(67): margin-right: -1px;\n
Login.c(67): }\n
Login.c(67): .input-group-btn:last-child > .btn,\n
Login.c(67): .input-group-btn:last-child > .btn-group {\n
Login.c(67): margin-left: -1px;\n
Login.c(67): }\n
Login.c(67): .nav {\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .nav > li {\n
Login.c(67): position: relative;\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .nav > li > a {\n
Login.c(67): position: relative;\n
Login.c(67): display: block;\n
Login.c(67): padding: 10px 15px;\n
Login.c(67): }\n
Login.c(67): .nav > li > a:hover,\n
Login.c(67): .nav > li > a:focus {\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): .nav > li.disabled > a {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .nav > li.disabled > a:hover,\n
Login.c(67): .nav > li.disabled > a:focus {\n
Login.c(67): color: #777;\n
Login.c(67): text-decoration: none;\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .nav .open > a,\n
Login.c(67): .nav .open > a:hover,\n
Login.c(67): .nav .open > a:focus {\n
Login.c(67): background-color: #eee;\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .nav .nav-divider {\n
Login.c(67): height: 1px;\n
Login.c(67): margin: 9px 0;\n
Login.c(67): overflow: hidden;\n
Login.c(67): background-color: #e5e5e5;\n
Login.c(67): }\n
Login.c(67): .nav > li > a > img {\n
Login.c(67): max-width: none;\n
Login.c(67): }\n
Login.c(67): .nav-tabs {\n
Login.c(67): border-bottom: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .nav-tabs > li {\n
Login.c(67): float: left;\n
Login.c(67): margin-bottom: -1px;\n
Login.c(67): }\n
Login.c(67): .nav-tabs > li > a {\n
Login.c(67): margin-right: 2px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): border-radius: 4px 4px 0 0;\n
Login.c(67): }\n
Login.c(67): .nav-tabs > li > a:hover {\n
Login.c(67): border-color: #eee #eee #ddd;\n
Login.c(67): }\n
Login.c(67): .nav-tabs > li.active > a,\n
Login.c(67): .nav-tabs > li.active > a:hover,\n
Login.c(67): .nav-tabs > li.active > a:focus {\n
Login.c(67): color: #555;\n
Login.c(67): cursor: default;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): border-bottom-color: transparent;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified {\n
Login.c(67): width: 100%;\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > li {\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > li > a {\n
Login.c(67): margin-bottom: 5px;\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > .dropdown .dropdown-menu {\n
Login.c(67): top: auto;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .nav-tabs.nav-justified > li {\n
Login.c(67): display: table-cell;\n
Login.c(67): width: 1%;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > li > a {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > li > a {\n
Login.c(67): margin-right: 0;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > .active > a,\n
Login.c(67): .nav-tabs.nav-justified > .active > a:hover,\n
Login.c(67): .nav-tabs.nav-justified > .active > a:focus {\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .nav-tabs.nav-justified > li > a {\n
Login.c(67): border-bottom: 1px solid #ddd;\n
Login.c(67): border-radius: 4px 4px 0 0;\n
Login.c(67): }\n
Login.c(67): .nav-tabs.nav-justified > .active > a,\n
Login.c(67): .nav-tabs.nav-justified > .active > a:hover,\n
Login.c(67): .nav-tabs.nav-justified > .active > a:focus {\n
Login.c(67): border-bottom-color: #fff;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .nav-pills > li {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .nav-pills > li > a {\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .nav-pills > li + li {\n
Login.c(67): margin-left: 2px;\n
Login.c(67): }\n
Login.c(67): .nav-pills > li.active > a,\n
Login.c(67): .nav-pills > li.active > a:hover,\n
Login.c(67): .nav-pills > li.active > a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .nav-stacked > li {\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): .nav-stacked > li + li {\n
Login.c(67): margin-top: 2px;\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .nav-justified {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .nav-justified > li {\n
Login.c(67): float: none;\n
Login.c(67): }\n
Login.c(67): .nav-justified > li > a {\n
Login.c(67): margin-bottom: 5px;\n
Login.c(67): text-align: center;\n
Login.c(67): }\n
Login.c(67): .nav-justified > .dropdown .dropdown-menu {\n
Login.c(67): top: auto;\n
Login.c(67): left: auto;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .nav-justified > li {\n
Login.c(67): display: table-cell;\n
Login.c(67): width: 1%;\n
Login.c(67): }\n
Login.c(67): .nav-justified > li > a {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .nav-tabs-justified {\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .nav-tabs-justified > li > a {\n
Login.c(67): margin-right: 0;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .nav-tabs-justified > .active > a,\n
Login.c(67): .nav-tabs-justified > .active > a:hover,\n
Login.c(67): .nav-tabs-justified > .active > a:focus {\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .nav-tabs-justified > li > a {\n
Login.c(67): border-bottom: 1px solid #ddd;\n
Login.c(67): border-radius: 4px 4px 0 0;\n
Login.c(67): }\n
Login.c(67): .nav-tabs-justified > .active > a,\n
Login.c(67): .nav-tabs-justified > .active > a:hover,\n
Login.c(67): .nav-tabs-justified > .active > a:focus {\n
Login.c(67): border-bottom-color: #fff;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .tab-content > .tab-pane {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): .tab-content > .active {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .nav-tabs .dropdown-menu {\n
Login.c(67): margin-top: -1px;\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .navbar {\n
Login.c(67): position: relative;\n
Login.c(67): min-height: 50px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar {\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-header {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-collapse {\n
Login.c(67): padding-right: 15px;\n
Login.c(67): padding-left: 15px;\n
Login.c(67): overflow-x: visible;\n
Login.c(67): -webkit-overflow-scrolling: touch;\n
Login.c(67): border-top: 1px solid transparent;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n
Login.c(67): box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n
Login.c(67): }\n
Login.c(67): .navbar-collapse.in {\n
Login.c(67): overflow-y: auto;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-collapse {\n
Login.c(67): width: auto;\n
Login.c(67): border-top: 0;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .navbar-collapse.collapse {\n
Login.c(67): display: block !important;\n
Login.c(67): height: auto !important;\n
Login.c(67): padding-bottom: 0;\n
Login.c(67): overflow: visible !important;\n
Login.c(67): }\n
Login.c(67): .navbar-collapse.in {\n
Login.c(67): overflow-y: visible;\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-top .navbar-collapse,\n
Login.c(67): .navbar-static-top .navbar-collapse,\n
Login.c(67): .navbar-fixed-bottom .navbar-collapse {\n
Login.c(67): padding-right: 0;\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-top .navbar-collapse,\n
Login.c(67): .navbar-fixed-bottom .navbar-collapse {\n
Login.c(67): max-height: 340px;\n
Login.c(67): }\n
Login.c(67): @media (max-width: 480px) and (orientation: landscape) {\n
Login.c(67): .navbar-fixed-top .navbar-collapse,\n
Login.c(67): .navbar-fixed-bottom .navbar-collapse {\n
Login.c(67): max-height: 200px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .container > .navbar-header,\n
Login.c(67): .container-fluid > .navbar-header,\n
Login.c(67): .container > .navbar-collapse,\n
Login.c(67): .container-fluid > .navbar-collapse {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): margin-left: -15px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .container > .navbar-header,\n
Login.c(67): .container-fluid > .navbar-header,\n
Login.c(67): .container > .navbar-collapse,\n
Login.c(67): .container-fluid > .navbar-collapse {\n
Login.c(67): margin-right: 0;\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-static-top {\n
Login.c(67): z-index: 1000;\n
Login.c(67): border-width: 0 0 1px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-static-top {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-top,\n
Login.c(67): .navbar-fixed-bottom {\n
Login.c(67): position: fixed;\n
Login.c(67): right: 0;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 1030;\n
Login.c(67): -webkit-transform: translate3d(0, 0, 0);\n
Login.c(67): -o-transform: translate3d(0, 0, 0);\n
Login.c(67): transform: translate3d(0, 0, 0);\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-fixed-top,\n
Login.c(67): .navbar-fixed-bottom {\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-top {\n
Login.c(67): top: 0;\n
Login.c(67): border-width: 0 0 1px;\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-bottom {\n
Login.c(67): bottom: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): border-width: 1px 0 0;\n
Login.c(67): }\n
Login.c(67): .navbar-brand {\n
Login.c(67): float: left;\n
Login.c(67): height: 50px;\n
Login.c(67): padding: 15px 15px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): line-height: 20px;\n
Login.c(67): }\n
Login.c(67): .navbar-brand:hover,\n
Login.c(67): .navbar-brand:focus {\n
Login.c(67): text-decoration: none;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar > .container .navbar-brand,\n
Login.c(67): .navbar > .container-fluid .navbar-brand {\n
Login.c(67): margin-left: -15px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-toggle {\n
Login.c(67): position: relative;\n
Login.c(67): float: right;\n
Login.c(67): padding: 9px 10px;\n
Login.c(67): margin-top: 8px;\n
Login.c(67): margin-right: 15px;\n
Login.c(67): margin-bottom: 8px;\n
Login.c(67): background-color: transparent;\n
Login.c(67): background-image: none;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .navbar-toggle:focus {\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-toggle .icon-bar {\n
Login.c(67): display: block;\n
Login.c(67): width: 22px;\n
Login.c(67): height: 2px;\n
Login.c(67): border-radius: 1px;\n
Login.c(67): }\n
Login.c(67): .navbar-toggle .icon-bar + .icon-bar {\n
Login.c(67): margin-top: 4px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-toggle {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-nav {\n
Login.c(67): margin: 7.5px -15px;\n
Login.c(67): }\n
Login.c(67): .navbar-nav > li > a {\n
Login.c(67): padding-top: 10px;\n
Login.c(67): padding-bottom: 10px;\n
Login.c(67): line-height: 20px;\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .navbar-nav .open .dropdown-menu {\n
Login.c(67): position: static;\n
Login.c(67): float: none;\n
Login.c(67): width: auto;\n
Login.c(67): margin-top: 0;\n
Login.c(67): background-color: transparent;\n
Login.c(67): border: 0;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .navbar-nav .open .dropdown-menu > li > a,\n
Login.c(67): .navbar-nav .open .dropdown-menu .dropdown-header {\n
Login.c(67): padding: 5px 15px 5px 25px;\n
Login.c(67): }\n
Login.c(67): .navbar-nav .open .dropdown-menu > li > a {\n
Login.c(67): line-height: 20px;\n
Login.c(67): }\n
Login.c(67): .navbar-nav .open .dropdown-menu > li > a:hover,\n
Login.c(67): .navbar-nav .open .dropdown-menu > li > a:focus {\n
Login.c(67): background-image: none;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-nav {\n
Login.c(67): float: left;\n
Login.c(67): margin: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-nav > li {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .navbar-nav > li > a {\n
Login.c(67): padding-top: 15px;\n
Login.c(67): padding-bottom: 15px;\n
Login.c(67): }\n
Login.c(67): .navbar-nav.navbar-right:last-child {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-left {\n
Login.c(67): float: left !important;\n
Login.c(67): }\n
Login.c(67): .navbar-right {\n
Login.c(67): float: right !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-form {\n
Login.c(67): padding: 10px 15px;\n
Login.c(67): margin-top: 8px;\n
Login.c(67): margin-right: -15px;\n
Login.c(67): margin-bottom: 8px;\n
Login.c(67): margin-left: -15px;\n
Login.c(67): border-top: 1px solid transparent;\n
Login.c(67): border-bottom: 1px solid transparent;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px
0 rgba(255, 255, 255, .
Login.c(67): 1);\n
Login.c(67): box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px
0 rgba(255, 255, 255, .
Login.c(67): 1);\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-form .form-group {\n
Login.c(67): display: inline-block;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .navbar-form .form-control {\n
Login.c(67): display: inline-block;\n
Login.c(67): width: auto;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .navbar-form .input-group {\n
Login.c(67): display: inline-table;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .navbar-form .input-group .input-group-addon,\n
Login.c(67): .navbar-form .input-group .input-group-btn,\n
Login.c(67): .navbar-form .input-group .form-control {\n
Login.c(67): width: auto;\n
Login.c(67): }\n
Login.c(67): .navbar-form .input-group > .form-control {\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .navbar-form .control-label {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .navbar-form .radio,\n
Login.c(67): .navbar-form .checkbox {\n
Login.c(67): display: inline-block;\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): vertical-align: middle;\n
Login.c(67): }\n
Login.c(67): .navbar-form .radio label,\n
Login.c(67): .navbar-form .checkbox label {\n
Login.c(67): padding-left: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-form .radio input[type="radio"],\n
Login.c(67): .navbar-form .checkbox input[type="checkbox"] {\n
Login.c(67): position: relative;\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-form .has-feedback .form-control-feedback {\n
Login.c(67): top: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .navbar-form .form-group {\n
Login.c(67): margin-bottom: 5px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-form {\n
Login.c(67): width: auto;\n
Login.c(67): padding-top: 0;\n
Login.c(67): padding-bottom: 0;\n
Login.c(67): margin-right: 0;\n
Login.c(67): margin-left: 0;\n
Login.c(67): border: 0;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .navbar-form.navbar-right:last-child {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-nav > li > .dropdown-menu {\n
Login.c(67): margin-top: 0;\n
Login.c(67): border-top-left-radius: 0;\n
Login.c(67): border-top-right-radius: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n
Login.c(67): border-bottom-right-radius: 0;\n
Login.c(67): border-bottom-left-radius: 0;\n
Login.c(67): }\n
Login.c(67): .navbar-btn {\n
Login.c(67): margin-top: 8px;\n
Login.c(67): margin-bottom: 8px;\n
Login.c(67): }\n
Login.c(67): .navbar-btn.btn-sm {\n
Login.c(67): margin-top: 10px;\n
Login.c(67): margin-bottom: 10px;\n
Login.c(67): }\n
Login.c(67): .navbar-btn.btn-xs {\n
Login.c(67): margin-top: 14px;\n
Login.c(67): margin-bottom: 14px;\n
Login.c(67): }\n
Login.c(67): .navbar-text {\n
Login.c(67): margin-top: 15px;\n
Login.c(67): margin-bottom: 15px;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .navbar-text {\n
Login.c(67): float: left;\n
Login.c(67): margin-right: 15px;\n
Login.c(67): margin-left: 15px;\n
Login.c(67): }\n
Login.c(67): .navbar-text.navbar-right:last-child {\n
Login.c(67): margin-right: 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-default {\n
Login.c(67): background-color: #f8f8f8;\n
Login.c(67): border-color: #e7e7e7;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-brand {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-brand:hover,\n
Login.c(67): .navbar-default .navbar-brand:focus {\n
Login.c(67): color: #5e5e5e;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-text {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav > li > a {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav > li > a:hover,\n
Login.c(67): .navbar-default .navbar-nav > li > a:focus {\n
Login.c(67): color: #333;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav > .active > a,\n
Login.c(67): .navbar-default .navbar-nav > .active > a:hover,\n
Login.c(67): .navbar-default .navbar-nav > .active > a:focus {\n
Login.c(67): color: #555;\n
Login.c(67): background-color: #e7e7e7;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav > .disabled > a,\n
Login.c(67): .navbar-default .navbar-nav > .disabled > a:hover,\n
Login.c(67): .navbar-default .navb
Login.c(67): t=622ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): ar-nav > .disabled > a:focus {\n
Login.c(67): color: #ccc;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-toggle {\n
Login.c(67): border-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-toggle:hover,\n
Login.c(67): .navbar-default .navbar-toggle:focus {\n
Login.c(67): background-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-toggle .icon-bar {\n
Login.c(67): background-color: #888;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-collapse,\n
Login.c(67): .navbar-default .navbar-form {\n
Login.c(67): border-color: #e7e7e7;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav > .open > a,\n
Login.c(67): .navbar-default .navbar-nav > .open > a:hover,\n
Login.c(67): .navbar-default .navbar-nav > .open > a:focus {\n
Login.c(67): color: #555;\n
Login.c(67): background-color: #e7e7e7;\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > li >
a:hover,\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus
{\n
Login.c(67): color: #333;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .active >
a,\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .active >
a:hover,\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .active >
a:focus {\n
Login.c(67): color: #555;\n
Login.c(67): background-color: #e7e7e7;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .disabled >
a,\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .disabled >
a:hover,\n
Login.c(67): .navbar-default .navbar-nav .open .dropdown-menu > .disabled >
a:focus {\n
Login.c(67): color: #ccc;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-link {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .navbar-link:hover {\n
Login.c(67): color: #333;\n
Login.c(67): }\n
Login.c(67): .navbar-default .btn-link {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-default .btn-link:hover,\n
Login.c(67): .navbar-default .btn-link:focus {\n
Login.c(67): color: #333;\n
Login.c(67): }\n
Login.c(67): .navbar-default .btn-link[disabled]:hover,\n
Login.c(67): fieldset[disabled] .navbar-default .btn-link:hover,\n
Login.c(67): .navbar-default .btn-link[disabled]:focus,\n
Login.c(67): fieldset[disabled] .navbar-default .btn-link:focus {\n
Login.c(67): color: #ccc;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse {\n
Login.c(67): background-color: #222;\n
Login.c(67): border-color: #080808;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-brand {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-brand:hover,\n
Login.c(67): .navbar-inverse .navbar-brand:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-text {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav > li > a {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav > li > a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav > li > a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav > .active > a,\n
Login.c(67): .navbar-inverse .navbar-nav > .active > a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav > .active > a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #080808;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav > .disabled > a,\n
Login.c(67): .navbar-inverse .navbar-nav > .disabled > a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav > .disabled > a:focus {\n
Login.c(67): color: #444;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-toggle {\n
Login.c(67): border-color: #333;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-toggle:hover,\n
Login.c(67): .navbar-inverse .navbar-toggle:focus {\n
Login.c(67): background-color: #333;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-toggle .icon-bar {\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-collapse,\n
Login.c(67): .navbar-inverse .navbar-form {\n
Login.c(67): border-color: #101010;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav > .open > a,\n
Login.c(67): .navbar-inverse .navbar-nav > .open > a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav > .open > a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #080808;\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-
header {\n
Login.c(67): border-color: #080808;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n
Login.c(67): background-color: #080808;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > li >
a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus
{\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .active >
a,\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .active >
a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .active >
a:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #080808;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled >
a,\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled >
a:hover,\n
Login.c(67): .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled >
a:focus {\n
Login.c(67): color: #444;\n
Login.c(67): background-color: transparent;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-link {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .navbar-link:hover {\n
Login.c(67): color: #fff;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .btn-link {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .btn-link:hover,\n
Login.c(67): .navbar-inverse .btn-link:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): }\n
Login.c(67): .navbar-inverse .btn-link[disabled]:hover,\n
Login.c(67): fieldset[disabled] .navbar-inverse .btn-link:hover,\n
Login.c(67): .navbar-inverse .btn-link[disabled]:focus,\n
Login.c(67): fieldset[disabled] .navbar-inverse .btn-link:focus {\n
Login.c(67): color: #444;\n
Login.c(67): }\n
Login.c(67): .breadcrumb {\n
Login.c(67): padding: 8px 15px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): list-style: none;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .breadcrumb > li {\n
Login.c(67): display: inline-block;\n
Login.c(67): }\n
Login.c(67): .breadcrumb > li + li:before {\n
Login.c(67): padding: 0 5px;\n
Login.c(67): color: #ccc;\n
Login.c(67): content: "/\\00a0";\n
Login.c(67): }\n
Login.c(67): .breadcrumb > .active {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .pagination {\n
Login.c(67): display: inline-block;\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin: 20px 0;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .pagination > li {\n
Login.c(67): display: inline;\n
Login.c(67): }\n
Login.c(67): .pagination > li > a,\n
Login.c(67): .pagination > li > span {\n
Login.c(67): position: relative;\n
Login.c(67): float: left;\n
Login.c(67): padding: 6px 12px;\n
Login.c(67): margin-left: -1px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): color: #428bca;\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .pagination > li:first-child > a,\n
Login.c(67): .pagination > li:first-child > span {\n
Login.c(67): margin-left: 0;\n
Login.c(67): border-top-left-radius: 4px;\n
Login.c(67): border-bottom-left-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .pagination > li:last-child > a,\n
Login.c(67): .pagination > li:last-child > span {\n
Login.c(67): border-top-right-radius: 4px;\n
Login.c(67): border-bottom-right-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .pagination > li > a:hover,\n
Login.c(67): .pagination > li > span:hover,\n
Login.c(67): .pagination > li > a:focus,\n
Login.c(67): .pagination > li > span:focus {\n
Login.c(67): color: #2a6496;\n
Login.c(67): background-color: #eee;\n
Login.c(67): border-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .pagination > .active > a,\n
Login.c(67): .pagination > .active > span,\n
Login.c(67): .pagination > .active > a:hover,\n
Login.c(67): .pagination > .active > span:hover,\n
Login.c(67): .pagination > .active > a:focus,\n
Login.c(67): .pagination > .active > span:focus {\n
Login.c(67): z-index: 2;\n
Login.c(67): color: #fff;\n
Login.c(67): cursor: default;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .pagination > .disabled > span,\n
Login.c(67): .pagination > .disabled > span:hover,\n
Login.c(67): .pagination > .disabled > span:focus,\n
Login.c(67): .pagination > .disabled > a,\n
Login.c(67): .pagination > .disabled > a:hover,\n
Login.c(67): .pagination > .disabled > a:focus {\n
Login.c(67): color: #777;\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .pagination-lg > li > a,\n
Login.c(67): .pagination-lg > li > span {\n
Login.c(67): padding: 10px 16px;\n
Login.c(67): font-size: 18px;\n
Login.c(67): }\n
Login.c(67): .pagination-lg > li:first-child > a,\n
Login.c(67): .pagination-lg > li:first-child > span {\n
Login.c(67): border-top-left-radius: 6px;\n
Login.c(67): border-bottom-left-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .pagination-lg > li:last-child > a,\n
Login.c(67): .pagination-lg > li:last-child > span {\n
Login.c(67): border-top-right-radius: 6px;\n
Login.c(67): border-bottom-right-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .pagination-sm > li > a,\n
Login.c(67): .pagination-sm > li > span {\n
Login.c(67): padding: 5px 10px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): }\n
Login.c(67): .pagination-sm > li:first-child > a,\n
Login.c(67): .pagination-sm > li:first-child > span {\n
Login.c(67): border-top-left-radius: 3px;\n
Login.c(67): border-bottom-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .pagination-sm > li:last-child > a,\n
Login.c(67): .pagination-sm > li:last-child > span {\n
Login.c(67): border-top-right-radius: 3px;\n
Login.c(67): border-bottom-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .pager {\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin: 20px 0;\n
Login.c(67): text-align: center;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .pager li {\n
Login.c(67): display: inline;\n
Login.c(67): }\n
Login.c(67): .pager li > a,\n
Login.c(67): .pager li > span {\n
Login.c(67): display: inline-block;\n
Login.c(67): padding: 5px 14px;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): border-radius: 15px;\n
Login.c(67): }\n
Login.c(67): .pager li > a:hover,\n
Login.c(67): .pager li > a:focus {\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): .pager .next > a,\n
Login.c(67): .pager .next > span {\n
Login.c(67): float: right;\n
Login.c(67): }\n
Login.c(67): .pager .previous > a,\n
Login.c(67): .pager .previous > span {\n
Login.c(67): float: left;\n
Login.c(67): }\n
Login.c(67): .pager .disabled > a,\n
Login.c(67): .pager .disabled > a:hover,\n
Login.c(67): .pager .disabled > a:focus,\n
Login.c(67): .pager .disabled > span {\n
Login.c(67): color: #777;\n
Login.c(67): cursor: not-allowed;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .label {\n
Login.c(67): display: inline;\n
Login.c(67): padding: .2em .6em .3em;\n
Login.c(67): font-size: 75%;\n
Login.c(67): font-weight: bold;\n
Login.c(67): line-height: 1;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): vertical-align: baseline;\n
Login.c(67): border-radius: .25em;\n
Login.c(67): }\n
Login.c(67): a.label:hover,\n
Login.c(67): a.label:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): text-decoration: none;\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): .label:empty {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): .btn .label {\n
Login.c(67): position: relative;\n
Login.c(67): top: -1px;\n
Login.c(67): }\n
Login.c(67): .label-default {\n
Login.c(67): background-color: #777;\n
Login.c(67): }\n
Login.c(67): .label-default[href]:hover,\n
Login.c(67): .label-default[href]:focus {\n
Login.c(67): background-color: #5e5e5e;\n
Login.c(67): }\n
Login.c(67): .label-primary {\n
Login.c(67): background-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .label-primary[href]:hover,\n
Login.c(67): .label-primary[href]:focus {\n
Login.c(67): background-color: #3071a9;\n
Login.c(67): }\n
Login.c(67): .label-success {\n
Login.c(67): background-color: #5cb85c;\n
Login.c(67): }\n
Login.c(67): .label-success[href]:hover,\n
Login.c(67): .label-success[href]:focus {\n
Login.c(67): background-color: #449d44;\n
Login.c(67): }\n
Login.c(67): .label-info {\n
Login.c(67): background-color: #5bc0de;\n
Login.c(67): }\n
Login.c(67): .label-info[href]:hover,\n
Login.c(67): .label-info[href]:focus {\n
Login.c(67): background-color: #31b0d5;\n
Login.c(67): }\n
Login.c(67): .label-warning {\n
Login.c(67): background-color: #f0ad4e;\n
Login.c(67): }\n
Login.c(67): .label-warning[href]:hover,\n
Login.c(67): .label-warning[href]:focus {\n
Login.c(67): background-color: #ec971f;\n
Login.c(67): }\n
Login.c(67): .label-danger {\n
Login.c(67): background-color: #d9534f;\n
Login.c(67): }\n
Login.c(67): .label-danger[href]:hover,\n
Login.c(67): .label-danger[href]:focus {\n
Login.c(67): background-color: #c9302c;\n
Login.c(67): }\n
Login.c(67): .badge {\n
Login.c(67): display: inline-block;\n
Login.c(67): min-width: 10px;\n
Login.c(67): padding: 3px 7px;\n
Login.c(67): font-size: 12px;\n
Login.c(67): font-weight: bold;\n
Login.c(67): line-height: 1;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): white-space: nowrap;\n
Login.c(67): vertical-align: baseline;\n
Login.c(67): background-color: #777;\n
Login.c(67): border-radius: 10px;\n
Login.c(67): }\n
Login.c(67): .badge:empty {\n
Login.c(67): display: none;\n
Login.c(67): }\n
Login.c(67): .btn .badge {\n
Login.c(67): position: relative;\n
Login.c(67): top: -1px;\n
Login.c(67): }\n
Login.c(67): .btn-xs .badge {\n
Login.c(67): top: 0;\n
Login.c(67): padding: 1px 5px;\n
Login.c(67): }\n
Login.c(67): a.badge:hover,\n
Login.c(67): a.badge:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): text-decoration: none;\n
Login.c(67): cursor: pointer;\n
Login.c(67): }\n
Login.c(67): a.list-group-item.active > .badge,\n
Login.c(67): .nav-pills > .active > a > .badge {\n
Login.c(67): color: #428bca;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .nav-pills > li > a > .badge {\n
Login.c(67): margin-left: 3px;\n
Login.c(67): }\n
Login.c(67): .jumbotron {\n
Login.c(67): padding: 30px;\n
Login.c(67): margin-bottom: 30px;\n
Login.c(67): color: inherit;\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): .jumbotron h1,\n
Login.c(67): .jumbotron .h1 {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .jumbotron p {\n
Login.c(67): margin-bottom: 15px;\n
Login.c(67): font-size: 21px;\n
Login.c(67): font-weight: 200;\n
Login.c(67): }\n
Login.c(67): .jumbotron > hr {\n
Login.c(67): border-top-color: #d5d5d5;\n
Login.c(67): }\n
Login.c(67): .container .jumbotron {\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .jumbotron .container {\n
Login.c(67): max-width: 100%;\n
Login.c(67): }\n
Login.c(67): @media screen and (min-width: 768px) {\n
Login.c(67): .jumbotron {\n
Login.c(67): padding-top: 48px;\n
Login.c(67): padding-bottom: 48px;\n
Login.c(67): }\n
Login.c(67): .container .jumbotron {\n
Login.c(67): padding-right: 60px;\n
Login.c(67): padding-left: 60px;\n
Login.c(67): }\n
Login.c(67): .jumbotron h1,\n
Login.c(67): .jumbotron .h1 {\n
Login.c(67): font-size: 63px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .thumbnail {\n
Login.c(67): display: block;\n
Login.c(67): padding: 4px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-transition: all .2s ease-in-out;\n
Login.c(67): -o-transition: all .2s ease-in-out;\n
Login.c(67): transition: all .2s ease-in-out;\n
Login.c(67): }\n
Login.c(67): .thumbnail > img,\n
Login.c(67): .thumbnail a > img {\n
Login.c(67): margin-right: auto;\n
Login.c(67): margin-left: auto;\n
Login.c(67): }\n
Login.c(67): a.thumbnail:hover,\n
Login.c(67): a.thumbnail:focus,\n
Login.c(67): a.thumbnail.active {\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .thumbnail .caption {\n
Login.c(67): padding: 9px;\n
Login.c(67): color: #333;\n
Login.c(67): }\n
Login.c(67): .alert {\n
Login.c(67): padding: 15px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .alert h4 {\n
Login.c(67): margin-top: 0;\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .alert .alert-link {\n
Login.c(67): font-weight: bold;\n
Login.c(67): }\n
Login.c(67): .alert > p,\n
Login.c(67): .alert > ul {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .alert > p + p {\n
Login.c(67): margin-top: 5px;\n
Login.c(67): }\n
Login.c(67): .alert-dismissable,\n
Login.c(67): .alert-dismissible {\n
Login.c(67): padding-right: 35px;\n
Login.c(67): }\n
Login.c(67): .alert-dismissable .close,\n
Login.c(67): .alert-dismissible .close {\n
Login.c(67): position: relative;\n
Login.c(67): top: -2px;\n
Login.c(67): right: -21px;\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .alert-success {\n
Login.c(67): color: #3c763d;\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): border-color: #d6e9c6;\n
Login.c(67): }\n
Login.c(67): .alert-success hr {\n
Login.c(67): border-top-color: #c9e2b3;\n
Login.c(67): }\n
Login.c(67): .alert-success .alert-link {\n
Login.c(67): color: #2b542c;\n
Login.c(67): }\n
Login.c(67): .alert-info {\n
Login.c(67): color: #31708f;\n
Login.c(67): background-color: #d9edf7;\n
Login.c(67): border-color: #bce8f1;\n
Login.c(67): }\n
Login.c(67): .alert-info hr {\n
Login.c(67): border-top-color: #a6e1ec;\n
Login.c(67): }\n
Login.c(67): .alert-info .alert-link {\n
Login.c(67): color: #245269;\n
Login.c(67): }\n
Login.c(67): .alert-warning {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): border-color: #faebcc;\n
Login.c(67): }\n
Login.c(67): .alert-warning hr {\n
Login.c(67): border-top-color: #f7e1b5;\n
Login.c(67): }\n
Login.c(67): .alert-warning .alert-link {\n
Login.c(67): color: #66512c;\n
Login.c(67): }\n
Login.c(67): .alert-danger {\n
Login.c(67): color: #a94442;\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): border-color: #ebccd1;\n
Login.c(67): }\n
Login.c(67): .alert-danger hr {\n
Login.c(67): border-top-color: #e4b9c0;\n
Login.c(67): }\n
Login.c(67): .alert-danger .alert-link {\n
Login.c(67): color: #843534;\n
Login.c(67): }\n
Login.c(67): @-webkit-keyframes progress-bar-stripes {\n
Login.c(67): from {\n
Login.c(67): background-position: 40px 0;\n
Login.c(67): }\n
Login.c(67): to {\n
Login.c(67):
Login.c(67): t=646ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): background-position: 0 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @-o-keyframes progress-bar-stripes {\n
Login.c(67): from {\n
Login.c(67): background-position: 40px 0;\n
Login.c(67): }\n
Login.c(67): to {\n
Login.c(67): background-position: 0 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @keyframes progress-bar-stripes {\n
Login.c(67): from {\n
Login.c(67): background-position: 40px 0;\n
Login.c(67): }\n
Login.c(67): to {\n
Login.c(67): background-position: 0 0;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .progress {\n
Login.c(67): height: 20px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): overflow: hidden;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n
Login.c(67): box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n
Login.c(67): }\n
Login.c(67): .progress-bar {\n
Login.c(67): float: left;\n
Login.c(67): width: 0;\n
Login.c(67): height: 100%;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 20px;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n
Login.c(67): box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n
Login.c(67): -webkit-transition: width .6s ease;\n
Login.c(67): -o-transition: width .6s ease;\n
Login.c(67): transition: width .6s ease;\n
Login.c(67): }\n
Login.c(67): .progress-striped .progress-bar,\n
Login.c(67): .progress-bar-striped {\n
Login.c(67): background-image: -webkit-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: -o-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): -webkit-background-size: 40px 40px;\n
Login.c(67): background-size: 40px 40px;\n
Login.c(67): }\n
Login.c(67): .progress.active .progress-bar,\n
Login.c(67): .progress-bar.active {\n
Login.c(67): -webkit-animation: progress-bar-stripes 2s linear infinite;\n
Login.c(67): -o-animation: progress-bar-stripes 2s linear infinite;\n
Login.c(67): animation: progress-bar-stripes 2s linear infinite;\n
Login.c(67): }\n
Login.c(67): .progress-bar[aria-valuenow="1"],\n
Login.c(67): .progress-bar[aria-valuenow="2"] {\n
Login.c(67): min-width: 30px;\n
Login.c(67): }\n
Login.c(67): .progress-bar[aria-valuenow="0"] {\n
Login.c(67): min-width: 30px;\n
Login.c(67): color: #777;\n
Login.c(67): background-color: transparent;\n
Login.c(67): background-image: none;\n
Login.c(67): -webkit-box-shadow: none;\n
Login.c(67): box-shadow: none;\n
Login.c(67): }\n
Login.c(67): .progress-bar-success {\n
Login.c(67): background-color: #5cb85c;\n
Login.c(67): }\n
Login.c(67): .progress-striped .progress-bar-success {\n
Login.c(67): background-image: -webkit-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: -o-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): }\n
Login.c(67): .progress-bar-info {\n
Login.c(67): background-color: #5bc0de;\n
Login.c(67): }\n
Login.c(67): .progress-striped .progress-bar-info {\n
Login.c(67): background-image: -webkit-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: -o-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): }\n
Login.c(67): .progress-bar-warning {\n
Login.c(67): background-color: #f0ad4e;\n
Login.c(67): }\n
Login.c(67): .progress-striped .progress-bar-warning {\n
Login.c(67): background-image: -webkit-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: -o-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): }\n
Login.c(67): .progress-bar-danger {\n
Login.c(67): background-color: #d9534f;\n
Login.c(67): }\n
Login.c(67): .progress-striped .progress-bar-danger {\n
Login.c(67): background-image: -webkit-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: -o-linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): background-image: linear-gradient(45deg, rgba(255, 255,
255, .15) 25%, transpare
Login.c(67): nt 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255,
255, 255, .15) 75%, trans
Login.c(67): parent 75%, transparent);\n
Login.c(67): }\n
Login.c(67): .media,\n
Login.c(67): .media-body {\n
Login.c(67): overflow: hidden;\n
Login.c(67): zoom: 1;\n
Login.c(67): }\n
Login.c(67): .media,\n
Login.c(67): .media .media {\n
Login.c(67): margin-top: 15px;\n
Login.c(67): }\n
Login.c(67): .media:first-child {\n
Login.c(67): margin-top: 0;\n
Login.c(67): }\n
Login.c(67): .media-object {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .media-heading {\n
Login.c(67): margin: 0 0 5px;\n
Login.c(67): }\n
Login.c(67): .media > .pull-left {\n
Login.c(67): margin-right: 10px;\n
Login.c(67): }\n
Login.c(67): .media > .pull-right {\n
Login.c(67): margin-left: 10px;\n
Login.c(67): }\n
Login.c(67): .media-list {\n
Login.c(67): padding-left: 0;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .list-group {\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): }\n
Login.c(67): .list-group-item {\n
Login.c(67): position: relative;\n
Login.c(67): display: block;\n
Login.c(67): padding: 10px 15px;\n
Login.c(67): margin-bottom: -1px;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .list-group-item:first-child {\n
Login.c(67): border-top-left-radius: 4px;\n
Login.c(67): border-top-right-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .list-group-item:last-child {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): border-bottom-right-radius: 4px;\n
Login.c(67): border-bottom-left-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .list-group-item > .badge {\n
Login.c(67): float: right;\n
Login.c(67): }\n
Login.c(67): .list-group-item > .badge + .badge {\n
Login.c(67): margin-right: 5px;\n
Login.c(67): }\n
Login.c(67): a.list-group-item {\n
Login.c(67): color: #555;\n
Login.c(67): }\n
Login.c(67): a.list-group-item .list-group-item-heading {\n
Login.c(67): color: #333;\n
Login.c(67): }\n
Login.c(67): a.list-group-item:hover,\n
Login.c(67): a.list-group-item:focus {\n
Login.c(67): color: #555;\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): }\n
Login.c(67): .list-group-item.disabled,\n
Login.c(67): .list-group-item.disabled:hover,\n
Login.c(67): .list-group-item.disabled:focus {\n
Login.c(67): color: #777;\n
Login.c(67): background-color: #eee;\n
Login.c(67): }\n
Login.c(67): .list-group-item.disabled .list-group-item-heading,\n
Login.c(67): .list-group-item.disabled:hover .list-group-item-heading,\n
Login.c(67): .list-group-item.disabled:focus .list-group-item-heading {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .list-group-item.disabled .list-group-item-text,\n
Login.c(67): .list-group-item.disabled:hover .list-group-item-text,\n
Login.c(67): .list-group-item.disabled:focus .list-group-item-text {\n
Login.c(67): color: #777;\n
Login.c(67): }\n
Login.c(67): .list-group-item.active,\n
Login.c(67): .list-group-item.active:hover,\n
Login.c(67): .list-group-item.active:focus {\n
Login.c(67): z-index: 2;\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .list-group-item.active .list-group-item-heading,\n
Login.c(67): .list-group-item.active:hover .list-group-item-heading,\n
Login.c(67): .list-group-item.active:focus .list-group-item-heading,\n
Login.c(67): .list-group-item.active .list-group-item-heading > small,\n
Login.c(67): .list-group-item.active:hover .list-group-item-heading > small,\n
Login.c(67): .list-group-item.active:focus .list-group-item-heading > small,\n
Login.c(67): .list-group-item.active .list-group-item-heading > .small,\n
Login.c(67): .list-group-item.active:hover .list-group-item-heading > .small,\n
Login.c(67): .list-group-item.active:focus .list-group-item-heading > .small
{\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .list-group-item.active .list-group-item-text,\n
Login.c(67): .list-group-item.active:hover .list-group-item-text,\n
Login.c(67): .list-group-item.active:focus .list-group-item-text {\n
Login.c(67): color: #e1edf7;\n
Login.c(67): }\n
Login.c(67): .list-group-item-success {\n
Login.c(67): color: #3c763d;\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-success {\n
Login.c(67): color: #3c763d;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-success .list-group-item-heading {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-success:hover,\n
Login.c(67): a.list-group-item-success:focus {\n
Login.c(67): color: #3c763d;\n
Login.c(67): background-color: #d0e9c6;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-success.active,\n
Login.c(67): a.list-group-item-success.active:hover,\n
Login.c(67): a.list-group-item-success.active:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #3c763d;\n
Login.c(67): border-color: #3c763d;\n
Login.c(67): }\n
Login.c(67): .list-group-item-info {\n
Login.c(67): color: #31708f;\n
Login.c(67): background-color: #d9edf7;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-info {\n
Login.c(67): color: #31708f;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-info .list-group-item-heading {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-info:hover,\n
Login.c(67): a.list-group-item-info:focus {\n
Login.c(67): color: #31708f;\n
Login.c(67): background-color: #c4e3f3;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-info.active,\n
Login.c(67): a.list-group-item-info.active:hover,\n
Login.c(67): a.list-group-item-info.active:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #31708f;\n
Login.c(67): border-color: #31708f;\n
Login.c(67): }\n
Login.c(67): .list-group-item-warning {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-warning {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-warning .list-group-item-heading {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-warning:hover,\n
Login.c(67): a.list-group-item-warning:focus {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): background-color: #faf2cc;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-warning.active,\n
Login.c(67): a.list-group-item-warning.active:hover,\n
Login.c(67): a.list-group-item-warning.active:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #8a6d3b;\n
Login.c(67): border-color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): .list-group-item-danger {\n
Login.c(67): color: #a94442;\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-danger {\n
Login.c(67): color: #a94442;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-danger .list-group-item-heading {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-danger:hover,\n
Login.c(67): a.list-group-item-danger:focus {\n
Login.c(67): color: #a94442;\n
Login.c(67): background-color: #ebcccc;\n
Login.c(67): }\n
Login.c(67): a.list-group-item-danger.active,\n
Login.c(67): a.list-group-item-danger.active:hover,\n
Login.c(67): a.list-group-item-danger.active:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #a94442;\n
Login.c(67): border-color: #a94442;\n
Login.c(67): }\n
Login.c(67): .list-group-item-heading {\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 5px;\n
Login.c(67): }\n
Login.c(67): .list-group-item-text {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): line-height: 1.3;\n
Login.c(67): }\n
Login.c(67): .panel {\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): background-color: #fff;\n
Login.c(67): border: 1px solid transparent;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n
Login.c(67): box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n
Login.c(67): }\n
Login.c(67): .panel-body {\n
Login.c(67): padding: 15px;\n
Login.c(67): }\n
Login.c(67): .panel-heading {\n
Login.c(67): padding: 10px 15px;\n
Login.c(67): border-bottom: 1px solid transparent;\n
Login.c(67): border-top-left-radius: 3px;\n
Login.c(67): border-top-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel-heading > .dropdown .dropdown-toggle {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .panel-title {\n
Login.c(67): margin-top: 0;\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): font-size: 16px;\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .panel-title > a {\n
Login.c(67): color: inherit;\n
Login.c(67): }\n
Login.c(67): .panel-footer {\n
Login.c(67): padding: 10px 15px;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border-top: 1px solid #ddd;\n
Login.c(67): border-bottom-right-radius: 3px;\n
Login.c(67): border-bottom-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .list-group {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .list-group .list-group-item {\n
Login.c(67): border-width: 1px 0;\n
Login.c(67): border-radius: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .list-group:first-child .list-group-item:first-child {\n
Login.c(67): border-top: 0;\n
Login.c(67): border-top-left-radius: 3px;\n
Login.c(67): border-top-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .list-group:last-child .list-group-item:last-child {\n
Login.c(67): border-bottom: 0;\n
Login.c(67): border-bottom-right-radius: 3px;\n
Login.c(67): border-bottom-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel-heading + .list-group .list-group-item:first-child {\n
Login.c(67): border-top-width: 0;\n
Login.c(67): }\n
Login.c(67): .list-group + .panel-footer {\n
Login.c(67): border-top-width: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table,\n
Login.c(67): .panel > .table-responsive > .table,\n
Login.c(67): .panel > .panel-collapse > .table {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table:first-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child {\n
Login.c(67): border-top-left-radius: 3px;\n
Login.c(67): border-top-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .table:first-child > thead:first-child > tr:first-child
td:first-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
thead:first-child > tr:first
Login.c(67): -child td:first-child,\n
Login.c(67): .panel > .table:first-child > tbody:first-child > tr:first-child
td:first-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
tbody:first-child > tr:first
Login.c(67): -child td:first-child,\n
Login.c(67): .panel > .table:first-child > thead:first-child > tr:first-child
th:first-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
thead:first-child > tr:first
Login.c(67): -child th:first-child,\n
Login.c(67): .panel > .table:first-child > tbody:first-child > tr:first-child
th:first-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
tbody:first-child > tr:first
Login.c(67): -child th:first-child {\n
Login.c(67): border-top-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .table:first-child > thead:first-child > tr:first-child
td:last-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
thead:first-child > tr:first
Login.c(67): -child td:last-child,\n
Login.c(67): .panel > .tab
Login.c(67): t=669ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): le:first-child > tbody:first-child > tr:first-child td:last-
child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
tbody:first-child > tr:first
Login.c(67): -child td:last-child,\n
Login.c(67): .panel > .table:first-child > thead:first-child > tr:first-child
th:last-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
thead:first-child > tr:first
Login.c(67): -child th:last-child,\n
Login.c(67): .panel > .table:first-child > tbody:first-child > tr:first-child
th:last-child,\n
Login.c(67): .panel > .table-responsive:first-child > .table:first-child >
tbody:first-child > tr:first
Login.c(67): -child th:last-child {\n
Login.c(67): border-top-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .table:last-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child {\n
Login.c(67): border-bottom-right-radius: 3px;\n
Login.c(67): border-bottom-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .table:last-child > tbody:last-child > tr:last-child
td:first-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tbody:last-child > tr:last-chi
Login.c(67): ld td:first-child,\n
Login.c(67): .panel > .table:last-child > tfoot:last-child > tr:last-child
td:first-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tfoot:last-child > tr:last-chi
Login.c(67): ld td:first-child,\n
Login.c(67): .panel > .table:last-child > tbody:last-child > tr:last-child
th:first-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tbody:last-child > tr:last-chi
Login.c(67): ld th:first-child,\n
Login.c(67): .panel > .table:last-child > tfoot:last-child > tr:last-child
th:first-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tfoot:last-child > tr:last-chi
Login.c(67): ld th:first-child {\n
Login.c(67): border-bottom-left-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .table:last-child > tbody:last-child > tr:last-child
td:last-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tbody:last-child > tr:last-chi
Login.c(67): ld td:last-child,\n
Login.c(67): .panel > .table:last-child > tfoot:last-child > tr:last-child
td:last-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tfoot:last-child > tr:last-chi
Login.c(67): ld td:last-child,\n
Login.c(67): .panel > .table:last-child > tbody:last-child > tr:last-child
th:last-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tbody:last-child > tr:last-chi
Login.c(67): ld th:last-child,\n
Login.c(67): .panel > .table:last-child > tfoot:last-child > tr:last-child
th:last-child,\n
Login.c(67): .panel > .table-responsive:last-child > .table:last-child >
tfoot:last-child > tr:last-chi
Login.c(67): ld th:last-child {\n
Login.c(67): border-bottom-right-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .panel > .panel-body + .table,\n
Login.c(67): .panel > .panel-body + .table-responsive {\n
Login.c(67): border-top: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .panel > .table > tbody:first-child > tr:first-child th,\n
Login.c(67): .panel > .table > tbody:first-child > tr:first-child td {\n
Login.c(67): border-top: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-bordered,\n
Login.c(67): .panel > .table-responsive > .table-bordered {\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-bordered > thead > tr > th:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr >
th:first-child,\n
Login.c(67): .panel > .table-bordered > tbody > tr > th:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr >
th:first-child,\n
Login.c(67): .panel > .table-bordered > tfoot > tr > th:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr >
th:first-child,\n
Login.c(67): .panel > .table-bordered > thead > tr > td:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr >
td:first-child,\n
Login.c(67): .panel > .table-bordered > tbody > tr > td:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr >
td:first-child,\n
Login.c(67): .panel > .table-bordered > tfoot > tr > td:first-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr >
td:first-child {\n
Login.c(67): border-left: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-bordered > thead > tr > th:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr >
th:last-child,\n
Login.c(67): .panel > .table-bordered > tbody > tr > th:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr >
th:last-child,\n
Login.c(67): .panel > .table-bordered > tfoot > tr > th:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr >
th:last-child,\n
Login.c(67): .panel > .table-bordered > thead > tr > td:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr >
td:last-child,\n
Login.c(67): .panel > .table-bordered > tbody > tr > td:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr >
td:last-child,\n
Login.c(67): .panel > .table-bordered > tfoot > tr > td:last-child,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr >
td:last-child {\n
Login.c(67): border-right: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-bordered > thead > tr:first-child > td,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr:first-
child > td,\n
Login.c(67): .panel > .table-bordered > tbody > tr:first-child > td,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr:first-
child > td,\n
Login.c(67): .panel > .table-bordered > thead > tr:first-child > th,\n
Login.c(67): .panel > .table-responsive > .table-bordered > thead > tr:first-
child > th,\n
Login.c(67): .panel > .table-bordered > tbody > tr:first-child > th,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr:first-
child > th {\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-bordered > tbody > tr:last-child > td,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr:last-
child > td,\n
Login.c(67): .panel > .table-bordered > tfoot > tr:last-child > td,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr:last-
child > td,\n
Login.c(67): .panel > .table-bordered > tbody > tr:last-child > th,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tbody > tr:last-
child > th,\n
Login.c(67): .panel > .table-bordered > tfoot > tr:last-child > th,\n
Login.c(67): .panel > .table-responsive > .table-bordered > tfoot > tr:last-
child > th {\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .panel > .table-responsive {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .panel-group {\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel + .panel {\n
Login.c(67): margin-top: 5px;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel-heading {\n
Login.c(67): border-bottom: 0;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel-heading + .panel-collapse > .panel-body {\n
Login.c(67): border-top: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel-footer {\n
Login.c(67): border-top: 0;\n
Login.c(67): }\n
Login.c(67): .panel-group .panel-footer + .panel-collapse .panel-body {\n
Login.c(67): border-bottom: 1px solid #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-default {\n
Login.c(67): border-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-default > .panel-heading {\n
Login.c(67): color: #333;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-default > .panel-heading + .panel-collapse > .panel-body
{\n
Login.c(67): border-top-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-default > .panel-heading .badge {\n
Login.c(67): color: #f5f5f5;\n
Login.c(67): background-color: #333;\n
Login.c(67): }\n
Login.c(67): .panel-default > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #ddd;\n
Login.c(67): }\n
Login.c(67): .panel-primary {\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .panel-primary > .panel-heading {\n
Login.c(67): color: #fff;\n
Login.c(67): background-color: #428bca;\n
Login.c(67): border-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .panel-primary > .panel-heading + .panel-collapse > .panel-body
{\n
Login.c(67): border-top-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .panel-primary > .panel-heading .badge {\n
Login.c(67): color: #428bca;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .panel-primary > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #428bca;\n
Login.c(67): }\n
Login.c(67): .panel-success {\n
Login.c(67): border-color: #d6e9c6;\n
Login.c(67): }\n
Login.c(67): .panel-success > .panel-heading {\n
Login.c(67): color: #3c763d;\n
Login.c(67): background-color: #dff0d8;\n
Login.c(67): border-color: #d6e9c6;\n
Login.c(67): }\n
Login.c(67): .panel-success > .panel-heading + .panel-collapse > .panel-body
{\n
Login.c(67): border-top-color: #d6e9c6;\n
Login.c(67): }\n
Login.c(67): .panel-success > .panel-heading .badge {\n
Login.c(67): color: #dff0d8;\n
Login.c(67): background-color: #3c763d;\n
Login.c(67): }\n
Login.c(67): .panel-success > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #d6e9c6;\n
Login.c(67): }\n
Login.c(67): .panel-info {\n
Login.c(67): border-color: #bce8f1;\n
Login.c(67): }\n
Login.c(67): .panel-info > .panel-heading {\n
Login.c(67): color: #31708f;\n
Login.c(67): background-color: #d9edf7;\n
Login.c(67): border-color: #bce8f1;\n
Login.c(67): }\n
Login.c(67): .panel-info > .panel-heading + .panel-collapse > .panel-body {\n
Login.c(67): border-top-color: #bce8f1;\n
Login.c(67): }\n
Login.c(67): .panel-info > .panel-heading .badge {\n
Login.c(67): color: #d9edf7;\n
Login.c(67): background-color: #31708f;\n
Login.c(67): }\n
Login.c(67): .panel-info > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #bce8f1;\n
Login.c(67): }\n
Login.c(67): .panel-warning {\n
Login.c(67): border-color: #faebcc;\n
Login.c(67): }\n
Login.c(67): .panel-warning > .panel-heading {\n
Login.c(67): color: #8a6d3b;\n
Login.c(67): background-color: #fcf8e3;\n
Login.c(67): border-color: #faebcc;\n
Login.c(67): }\n
Login.c(67): .panel-warning > .panel-heading + .panel-collapse > .panel-body
{\n
Login.c(67): border-top-color: #faebcc;\n
Login.c(67): }\n
Login.c(67): .panel-warning > .panel-heading .badge {\n
Login.c(67): color: #fcf8e3;\n
Login.c(67): background-color: #8a6d3b;\n
Login.c(67): }\n
Login.c(67): .panel-warning > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #faebcc;\n
Login.c(67): }\n
Login.c(67): .panel-danger {\n
Login.c(67): border-color: #ebccd1;\n
Login.c(67): }\n
Login.c(67): .panel-danger > .panel-heading {\n
Login.c(67): color: #a94442;\n
Login.c(67): background-color: #f2dede;\n
Login.c(67): border-color: #ebccd1;\n
Login.c(67): }\n
Login.c(67): .panel-danger > .panel-heading + .panel-collapse > .panel-body {\n
Login.c(67): border-top-color: #ebccd1;\n
Login.c(67): }\n
Login.c(67): .panel-danger > .panel-heading .badge {\n
Login.c(67): color: #f2dede;\n
Login.c(67): background-color: #a94442;\n
Login.c(67): }\n
Login.c(67): .panel-danger > .panel-footer + .panel-collapse > .panel-body {\n
Login.c(67): border-bottom-color: #ebccd1;\n
Login.c(67): }\n
Login.c(67): .embed-responsive {\n
Login.c(67): position: relative;\n
Login.c(67): display: block;\n
Login.c(67): height: 0;\n
Login.c(67): padding: 0;\n
Login.c(67): overflow: hidden;\n
Login.c(67): }\n
Login.c(67): .embed-responsive .embed-responsive-item,\n
Login.c(67): .embed-responsive iframe,\n
Login.c(67): .embed-responsive embed,\n
Login.c(67): .embed-responsive object {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 0;\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 0;\n
Login.c(67): width: 100%;\n
Login.c(67): height: 100%;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .embed-responsive.embed-responsive-16by9 {\n
Login.c(67): padding-bottom: 56.25%;\n
Login.c(67): }\n
Login.c(67): .embed-responsive.embed-responsive-4by3 {\n
Login.c(67): padding-bottom: 75%;\n
Login.c(67): }\n
Login.c(67): .well {\n
Login.c(67): min-height: 20px;\n
Login.c(67): padding: 19px;\n
Login.c(67): margin-bottom: 20px;\n
Login.c(67): background-color: #f5f5f5;\n
Login.c(67): border: 1px solid #e3e3e3;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n
Login.c(67): box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n
Login.c(67): }\n
Login.c(67): .well blockquote {\n
Login.c(67): border-color: #ddd;\n
Login.c(67): border-color: rgba(0, 0, 0, .15);\n
Login.c(67): }\n
Login.c(67): .well-lg {\n
Login.c(67): padding: 24px;\n
Login.c(67): border-radius: 6px;\n
Login.c(67): }\n
Login.c(67): .well-sm {\n
Login.c(67): padding: 9px;\n
Login.c(67): border-radius: 3px;\n
Login.c(67): }\n
Login.c(67): .close {\n
Login.c(67): float: right;\n
Login.c(67): font-size: 21px;\n
Login.c(67): font-weight: bold;\n
Login.c(67): line-height: 1;\n
Login.c(67): color: #000;\n
Login.c(67): text-shadow: 0 1px 0 #fff;\n
Login.c(67): filter: alpha(opacity=20);\n
Login.c(67): opacity: .2;\n
Login.c(67): }\n
Login.c(67): .close:hover,\n
Login.c(67): .close:focus {\n
Login.c(67): color: #000;\n
Login.c(67): text-decoration: none;\n
Login.c(67): cursor: pointer;\n
Login.c(67): filter: alpha(opacity=50);\n
Login.c(67): opacity: .5;\n
Login.c(67): }\n
Login.c(67): button.close {\n
Login.c(67): -webkit-appearance: none;\n
Login.c(67): padding: 0;\n
Login.c(67): cursor: pointer;\n
Login.c(67): background: transparent;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .modal-open {\n
Login.c(67): overflow: hidden;\n
Login.c(67): }\n
Login.c(67): .modal {\n
Login.c(67): position: fixed;\n
Login.c(67): top: 0;\n
Login.c(67): right: 0;\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 1050;\n
Login.c(67): display: none;\n
Login.c(67): overflow: hidden;\n
Login.c(67): -webkit-overflow-scrolling: touch;\n
Login.c(67): outline: 0;\n
Login.c(67): }\n
Login.c(67): .modal.fade .modal-dialog {\n
Login.c(67): -webkit-transition: -webkit-transform .3s ease-out;\n
Login.c(67): -o-transition: -o-transform .3s ease-out;\n
Login.c(67): transition: transform .3s ease-out;\n
Login.c(67): -webkit-transform: translate3d(0, -25%, 0);\n
Login.c(67): -o-transform: translate3d(0, -25%, 0);\n
Login.c(67): transform: translate3d(0, -25%, 0);\n
Login.c(67): }\n
Login.c(67): .modal.in .modal-dialog {\n
Login.c(67): -webkit-transform: translate3d(0, 0, 0);\n
Login.c(67): -o-transform: translate3d(0, 0, 0);\n
Login.c(67): transform: translate3d(0, 0, 0);\n
Login.c(67): }\n
Login.c(67): .modal-open .modal {\n
Login.c(67): overflow-x: hidden;\n
Login.c(67): overflow-y: auto;\n
Login.c(67): }\n
Login.c(67): .modal-dialog {\n
Login.c(67): position: relative;\n
Login.c(67): width: auto;\n
Login.c(67): margin: 10px;\n
Login.c(67): }\n
Login.c(67): .modal-content {\n
Login.c(67): position: relative;\n
Login.c(67): background-color: #fff;\n
Login.c(67): -webkit-background-clip: padding-box;\n
Login.c(67): background-clip: padding-box;\n
Login.c(67): border: 1px solid #999;\n
Login.c(67): border: 1px solid rgba(0, 0, 0, .2);\n
Login.c(67): border-radius: 6px;\n
Login.c(67): outline: 0;\n
Login.c(67): -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n
Login.c(67): box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n
Login.c(67): }\n
Login.c(67): .modal-backdrop {\n
Login.c(67): position: fixed;\n
Login.c(67): top: 0;\n
Login.c(67): right: 0;\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 1040;\n
Login.c(67): background-color: #000;\n
Login.c(67): }\n
Login.c(67): .modal-backdrop.fade {\n
Login.c(67): filter: alpha(opacity=0);\n
Login.c(67): opacity: 0;\n
Login.c(67): }\n
Login.c(67): .modal-backdrop.in {\n
Login.c(67): filter: alpha(opacity=50);\n
Login.c(67): opacity: .5;\n
Login.c(67): }\n
Login.c(67): .modal-header {\n
Login.c(67): min-height: 16.42857143px;\n
Login.c(67): padding: 15px;\n
Login.c(67): border-bottom: 1px solid #e5e5e5;\n
Login.c(67): }\n
Login.c(67): .modal-header .close {\n
Login.c(67): margin-top: -2px;\n
Login.c(67): }\n
Login.c(67): .modal-title {\n
Login.c(67): margin: 0;\n
Login.c(67): line-height: 1.42857143;\n
Login.c(67): }\n
Login.c(67): .modal-body {\n
Login.c(67): position: relative;\n
Login.c(67): padding: 15px;\n
Login.c(67): }\n
Login.c(67): .modal-footer {\n
Login.c(67): padding: 15px;\n
Login.c(67): text-align: right;\n
Login.c(67): border-top: 1px solid #e5e5e5;\n
Login.c(67): }\n
Login.c(67): .modal-footer .btn + .btn {\n
Login.c(67): margin-bottom: 0;\n
Login.c(67): margin-left: 5px;\n
Login.c(67): }\n
Login.c(67): .modal-footer .btn-group .btn + .btn {\n
Login.c(67): margin-left: -1px;\n
Login.c(67): }\n
Login.c(67): .modal-footer .btn-block + .btn-block {\n
Login.c(67): margin-left: 0;\n
Login.c(67): }\n
Login.c(67): .modal-scrollbar-measure {\n
Login.c(67): position: absolute;\n
Login.c(67): top: -9999px;\n
Login.c(67): width: 50px;\n
Login.c(67): height: 50px;\n
Login.c(67): overflow: scroll;\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) {\n
Login.c(67): .modal-dialog {\n
Login.c(67): width: 600px;\n
Login.c(67): margin: 30px auto;\n
Login.c(67): }\n
Login.c(67): .modal-content {\n
Login.c(67): -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n
Login.c(67): box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n
Login.c(67): }\n
Login.c(67): .modal-sm {\n
Login.c(67): width: 300px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) {\n
Login.c(67): .modal-lg {\n
Login.c(67): width: 900px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .tooltip {\n
Login.c(67): position: absolute;\n
Login.c(67): z-index: 1070;\n
Login.c(67): display:
Login.c(67): t=687ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): block;\n
Login.c(67): font-size: 12px;\n
Login.c(67): line-height: 1.4;\n
Login.c(67): visibility: visible;\n
Login.c(67): filter: alpha(opacity=0);\n
Login.c(67): opacity: 0;\n
Login.c(67): }\n
Login.c(67): .tooltip.in {\n
Login.c(67): filter: alpha(opacity=90);\n
Login.c(67): opacity: .9;\n
Login.c(67): }\n
Login.c(67): .tooltip.top {\n
Login.c(67): padding: 5px 0;\n
Login.c(67): margin-top: -3px;\n
Login.c(67): }\n
Login.c(67): .tooltip.right {\n
Login.c(67): padding: 0 5px;\n
Login.c(67): margin-left: 3px;\n
Login.c(67): }\n
Login.c(67): .tooltip.bottom {\n
Login.c(67): padding: 5px 0;\n
Login.c(67): margin-top: 3px;\n
Login.c(67): }\n
Login.c(67): .tooltip.left {\n
Login.c(67): padding: 0 5px;\n
Login.c(67): margin-left: -3px;\n
Login.c(67): }\n
Login.c(67): .tooltip-inner {\n
Login.c(67): max-width: 200px;\n
Login.c(67): padding: 3px 8px;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): text-decoration: none;\n
Login.c(67): background-color: #000;\n
Login.c(67): border-radius: 4px;\n
Login.c(67): }\n
Login.c(67): .tooltip-arrow {\n
Login.c(67): position: absolute;\n
Login.c(67): width: 0;\n
Login.c(67): height: 0;\n
Login.c(67): border-color: transparent;\n
Login.c(67): border-style: solid;\n
Login.c(67): }\n
Login.c(67): .tooltip.top .tooltip-arrow {\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 50%;\n
Login.c(67): margin-left: -5px;\n
Login.c(67): border-width: 5px 5px 0;\n
Login.c(67): border-top-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.top-left .tooltip-arrow {\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 5px;\n
Login.c(67): border-width: 5px 5px 0;\n
Login.c(67): border-top-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.top-right .tooltip-arrow {\n
Login.c(67): right: 5px;\n
Login.c(67): bottom: 0;\n
Login.c(67): border-width: 5px 5px 0;\n
Login.c(67): border-top-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.right .tooltip-arrow {\n
Login.c(67): top: 50%;\n
Login.c(67): left: 0;\n
Login.c(67): margin-top: -5px;\n
Login.c(67): border-width: 5px 5px 5px 0;\n
Login.c(67): border-right-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.left .tooltip-arrow {\n
Login.c(67): top: 50%;\n
Login.c(67): right: 0;\n
Login.c(67): margin-top: -5px;\n
Login.c(67): border-width: 5px 0 5px 5px;\n
Login.c(67): border-left-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.bottom .tooltip-arrow {\n
Login.c(67): top: 0;\n
Login.c(67): left: 50%;\n
Login.c(67): margin-left: -5px;\n
Login.c(67): border-width: 0 5px 5px;\n
Login.c(67): border-bottom-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.bottom-left .tooltip-arrow {\n
Login.c(67): top: 0;\n
Login.c(67): left: 5px;\n
Login.c(67): border-width: 0 5px 5px;\n
Login.c(67): border-bottom-color: #000;\n
Login.c(67): }\n
Login.c(67): .tooltip.bottom-right .tooltip-arrow {\n
Login.c(67): top: 0;\n
Login.c(67): right: 5px;\n
Login.c(67): border-width: 0 5px 5px;\n
Login.c(67): border-bottom-color: #000;\n
Login.c(67): }\n
Login.c(67): .popover {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 0;\n
Login.c(67): left: 0;\n
Login.c(67): z-index: 1060;\n
Login.c(67): display: none;\n
Login.c(67): max-width: 276px;\n
Login.c(67): padding: 1px;\n
Login.c(67): text-align: left;\n
Login.c(67): white-space: normal;\n
Login.c(67): background-color: #fff;\n
Login.c(67): -webkit-background-clip: padding-box;\n
Login.c(67): background-clip: padding-box;\n
Login.c(67): border: 1px solid #ccc;\n
Login.c(67): border: 1px solid rgba(0, 0, 0, .2);\n
Login.c(67): border-radius: 6px;\n
Login.c(67): -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n
Login.c(67): box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n
Login.c(67): }\n
Login.c(67): .popover.top {\n
Login.c(67): margin-top: -10px;\n
Login.c(67): }\n
Login.c(67): .popover.right {\n
Login.c(67): margin-left: 10px;\n
Login.c(67): }\n
Login.c(67): .popover.bottom {\n
Login.c(67): margin-top: 10px;\n
Login.c(67): }\n
Login.c(67): .popover.left {\n
Login.c(67): margin-left: -10px;\n
Login.c(67): }\n
Login.c(67): .popover-title {\n
Login.c(67): padding: 8px 14px;\n
Login.c(67): margin: 0;\n
Login.c(67): font-size: 14px;\n
Login.c(67): font-weight: normal;\n
Login.c(67): line-height: 18px;\n
Login.c(67): background-color: #f7f7f7;\n
Login.c(67): border-bottom: 1px solid #ebebeb;\n
Login.c(67): border-radius: 5px 5px 0 0;\n
Login.c(67): }\n
Login.c(67): .popover-content {\n
Login.c(67): padding: 9px 14px;\n
Login.c(67): }\n
Login.c(67): .popover > .arrow,\n
Login.c(67): .popover > .arrow:after {\n
Login.c(67): position: absolute;\n
Login.c(67): display: block;\n
Login.c(67): width: 0;\n
Login.c(67): height: 0;\n
Login.c(67): border-color: transparent;\n
Login.c(67): border-style: solid;\n
Login.c(67): }\n
Login.c(67): .popover > .arrow {\n
Login.c(67): border-width: 11px;\n
Login.c(67): }\n
Login.c(67): .popover > .arrow:after {\n
Login.c(67): content: "";\n
Login.c(67): border-width: 10px;\n
Login.c(67): }\n
Login.c(67): .popover.top > .arrow {\n
Login.c(67): bottom: -11px;\n
Login.c(67): left: 50%;\n
Login.c(67): margin-left: -11px;\n
Login.c(67): border-top-color: #999;\n
Login.c(67): border-top-color: rgba(0, 0, 0, .25);\n
Login.c(67): border-bottom-width: 0;\n
Login.c(67): }\n
Login.c(67): .popover.top > .arrow:after {\n
Login.c(67): bottom: 1px;\n
Login.c(67): margin-left: -10px;\n
Login.c(67): content: " ";\n
Login.c(67): border-top-color: #fff;\n
Login.c(67): border-bottom-width: 0;\n
Login.c(67): }\n
Login.c(67): .popover.right > .arrow {\n
Login.c(67): top: 50%;\n
Login.c(67): left: -11px;\n
Login.c(67): margin-top: -11px;\n
Login.c(67): border-right-color: #999;\n
Login.c(67): border-right-color: rgba(0, 0, 0, .25);\n
Login.c(67): border-left-width: 0;\n
Login.c(67): }\n
Login.c(67): .popover.right > .arrow:after {\n
Login.c(67): bottom: -10px;\n
Login.c(67): left: 1px;\n
Login.c(67): content: " ";\n
Login.c(67): border-right-color: #fff;\n
Login.c(67): border-left-width: 0;\n
Login.c(67): }\n
Login.c(67): .popover.bottom > .arrow {\n
Login.c(67): top: -11px;\n
Login.c(67): left: 50%;\n
Login.c(67): margin-left: -11px;\n
Login.c(67): border-top-width: 0;\n
Login.c(67): border-bottom-color: #999;\n
Login.c(67): border-bottom-color: rgba(0, 0, 0, .25);\n
Login.c(67): }\n
Login.c(67): .popover.bottom > .arrow:after {\n
Login.c(67): top: 1px;\n
Login.c(67): margin-left: -10px;\n
Login.c(67): content: " ";\n
Login.c(67): border-top-width: 0;\n
Login.c(67): border-bottom-color: #fff;\n
Login.c(67): }\n
Login.c(67): .popover.left > .arrow {\n
Login.c(67): top: 50%;\n
Login.c(67): right: -11px;\n
Login.c(67): margin-top: -11px;\n
Login.c(67): border-right-width: 0;\n
Login.c(67): border-left-color: #999;\n
Login.c(67): border-left-color: rgba(0, 0, 0, .25);\n
Login.c(67): }\n
Login.c(67): .popover.left > .arrow:after {\n
Login.c(67): right: 1px;\n
Login.c(67): bottom: -10px;\n
Login.c(67): content: " ";\n
Login.c(67): border-right-width: 0;\n
Login.c(67): border-left-color: #fff;\n
Login.c(67): }\n
Login.c(67): .carousel {\n
Login.c(67): position: relative;\n
Login.c(67): }\n
Login.c(67): .carousel-inner {\n
Login.c(67): position: relative;\n
Login.c(67): width: 100%;\n
Login.c(67): overflow: hidden;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .item {\n
Login.c(67): position: relative;\n
Login.c(67): display: none;\n
Login.c(67): -webkit-transition: .6s ease-in-out left;\n
Login.c(67): -o-transition: .6s ease-in-out left;\n
Login.c(67): transition: .6s ease-in-out left;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .item > img,\n
Login.c(67): .carousel-inner > .item > a > img {\n
Login.c(67): line-height: 1;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .active,\n
Login.c(67): .carousel-inner > .next,\n
Login.c(67): .carousel-inner > .prev {\n
Login.c(67): display: block;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .active {\n
Login.c(67): left: 0;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .next,\n
Login.c(67): .carousel-inner > .prev {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 0;\n
Login.c(67): width: 100%;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .next {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .prev {\n
Login.c(67): left: -100%;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .next.left,\n
Login.c(67): .carousel-inner > .prev.right {\n
Login.c(67): left: 0;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .active.left {\n
Login.c(67): left: -100%;\n
Login.c(67): }\n
Login.c(67): .carousel-inner > .active.right {\n
Login.c(67): left: 100%;\n
Login.c(67): }\n
Login.c(67): .carousel-control {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 0;\n
Login.c(67): bottom: 0;\n
Login.c(67): left: 0;\n
Login.c(67): width: 15%;\n
Login.c(67): font-size: 20px;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n
Login.c(67): filter: alpha(opacity=50);\n
Login.c(67): opacity: .5;\n
Login.c(67): }\n
Login.c(67): .carousel-control.left {\n
Login.c(67): background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .
5) 0%, rgba(0, 0, 0, .000
Login.c(67): 1) 100%);\n
Login.c(67): background-image: -o-linear-gradient(left, rgba(0, 0, 0, .
5) 0%, rgba(0, 0, 0, .000
Login.c(67): 1) 100%);\n
Login.c(67): background-image: -webkit-gradient(linear, left top, right top,
from(rgba(0, 0, 0, .5)),
Login.c(67): to(rgba(0, 0, 0, .0001)));\n
Login.c(67): background-image: linear-gradient(to right, rgba(0, 0,
0, .5) 0%, rgba(0, 0, 0,
Login.c(67): .0001) 100%);\n
Login.c(67): filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorst
Login.c(67): r='#00000000', GradientType=1);\n
Login.c(67): background-repeat: repeat-x;\n
Login.c(67): }\n
Login.c(67): .carousel-control.right {\n
Login.c(67): right: 0;\n
Login.c(67): left: auto;\n
Login.c(67): background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .
0001) 0%, rgba(0, 0, 0, .
Login.c(67): 5) 100%);\n
Login.c(67): background-image: -o-linear-gradient(left, rgba(0, 0, 0, .
0001) 0%, rgba(0, 0, 0, .
Login.c(67): 5) 100%);\n
Login.c(67): background-image: -webkit-gradient(linear, left top, right top,
from(rgba(0, 0, 0, .0001
Login.c(67): )), to(rgba(0, 0, 0, .5)));\n
Login.c(67): background-image: linear-gradient(to right, rgba(0, 0,
0, .0001) 0%, rgba(0, 0,
Login.c(67): 0, .5) 100%);\n
Login.c(67): filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorst
Login.c(67): r='#80000000', GradientType=1);\n
Login.c(67): background-repeat: repeat-x;\n
Login.c(67): }\n
Login.c(67): .carousel-control:hover,\n
Login.c(67): .carousel-control:focus {\n
Login.c(67): color: #fff;\n
Login.c(67): text-decoration: none;\n
Login.c(67): filter: alpha(opacity=90);\n
Login.c(67): outline: 0;\n
Login.c(67): opacity: .9;\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-prev,\n
Login.c(67): .carousel-control .icon-next,\n
Login.c(67): .carousel-control .glyphicon-chevron-left,\n
Login.c(67): .carousel-control .glyphicon-chevron-right {\n
Login.c(67): position: absolute;\n
Login.c(67): top: 50%;\n
Login.c(67): z-index: 5;\n
Login.c(67): display: inline-block;\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-prev,\n
Login.c(67): .carousel-control .glyphicon-chevron-left {\n
Login.c(67): left: 50%;\n
Login.c(67): margin-left: -10px;\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-next,\n
Login.c(67): .carousel-control .glyphicon-chevron-right {\n
Login.c(67): right: 50%;\n
Login.c(67): margin-right: -10px;\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-prev,\n
Login.c(67): .carousel-control .icon-next {\n
Login.c(67): width: 20px;\n
Login.c(67): height: 20px;\n
Login.c(67): margin-top: -10px;\n
Login.c(67): font-family: serif;\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-prev:before {\n
Login.c(67): content: '\\2039';\n
Login.c(67): }\n
Login.c(67): .carousel-control .icon-next:before {\n
Login.c(67): content: '\\203a';\n
Login.c(67): }\n
Login.c(67): .carousel-indicators {\n
Login.c(67): position: absolute;\n
Login.c(67): bottom: 10px;\n
Login.c(67): left: 50%;\n
Login.c(67): z-index: 15;\n
Login.c(67): width: 60%;\n
Login.c(67): padding-left: 0;\n
Login.c(67): margin-left: -30%;\n
Login.c(67): text-align: center;\n
Login.c(67): list-style: none;\n
Login.c(67): }\n
Login.c(67): .carousel-indicators li {\n
Login.c(67): display: inline-block;\n
Login.c(67): width: 10px;\n
Login.c(67): height: 10px;\n
Login.c(67): margin: 1px;\n
Login.c(67): text-indent: -999px;\n
Login.c(67): cursor: pointer;\n
Login.c(67): background-color: #000 \\9;\n
Login.c(67): background-color: rgba(0, 0, 0, 0);\n
Login.c(67): border: 1px solid #fff;\n
Login.c(67): border-radius: 10px;\n
Login.c(67): }\n
Login.c(67): .carousel-indicators .active {\n
Login.c(67): width: 12px;\n
Login.c(67): height: 12px;\n
Login.c(67): margin: 0;\n
Login.c(67): background-color: #fff;\n
Login.c(67): }\n
Login.c(67): .carousel-caption {\n
Login.c(67): position: absolute;\n
Login.c(67): right: 15%;\n
Login.c(67): bottom: 20px;\n
Login.c(67): left: 15%;\n
Login.c(67): z-index: 10;\n
Login.c(67): padding-top: 20px;\n
Login.c(67): padding-bottom: 20px;\n
Login.c(67): color: #fff;\n
Login.c(67): text-align: center;\n
Login.c(67): text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n
Login.c(67): }\n
Login.c(67): .carousel-caption .btn {\n
Login.c(67): text-shadow: none;\n
Login.c(67): }\n
Login.c(67): @media screen and (min-width: 768px) {\n
Login.c(67): .carousel-control .glyphicon-chevron-left,\n
Login.c(67): .carousel-control .glyphicon-chevron-right,\n
Login.c(67): .carousel-control .icon-prev,\n
Login.c(67): .carousel-control .icon-next {\n
Login.c(67): width: 30px;\n
Login.c(67): height: 30px;\n
Login.c(67): margin-top: -15px;\n
Login.c(67): font-size: 30px;\n
Login.c(67): }\n
Login.c(67): .carousel-control .glyphicon-chevron-left,\n
Login.c(67): .carousel-control .icon-prev {\n
Login.c(67): margin-left: -15px;\n
Login.c(67): }\n
Login.c(67): .carousel-control .glyphicon-chevron-right,\n
Login.c(67): .carousel-control .icon-next {\n
Login.c(67): margin-right: -15px;\n
Login.c(67): }\n
Login.c(67): .carousel-caption {\n
Login.c(67): right: 20%;\n
Login.c(67): left: 20%;\n
Login.c(67): padding-bottom: 30px;\n
Login.c(67): }\n
Login.c(67): .carousel-indicators {\n
Login.c(67): bottom: 20px;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .clearfix:before,\n
Login.c(67): .clearfix:after,\n
Login.c(67): .dl-horizontal dd:before,\n
Login.c(67): .dl-horizontal dd:after,\n
Login.c(67): .container:before,\n
Login.c(67): .container:after,\n
Login.c(67): .container-fluid:before,\n
Login.c(67): .container-fluid:after,\n
Login.c(67): .row:before,\n
Login.c(67): .row:after,\n
Login.c(67): .form-horizontal .form-group:before,\n
Login.c(67): .form-horizontal .form-group:after,\n
Login.c(67): .btn-toolbar:before,\n
Login.c(67): .btn-toolbar:after,\n
Login.c(67): .btn-group-vertical > .btn-group:before,\n
Login.c(67): .btn-group-vertical > .btn-group:after,\n
Login.c(67): .nav:before,\n
Login.c(67): .nav:after,\n
Login.c(67): .navbar:before,\n
Login.c(67): .navbar:after,\n
Login.c(67): .navbar-header:before,\n
Login.c(67): .navbar-header:after,\n
Login.c(67): .navbar-collapse:before,\n
Login.c(67): .navbar-collapse:after,\n
Login.c(67): .pager:before,\n
Login.c(67): .pager:after,\n
Login.c(67): .panel-body:before,\n
Login.c(67): .panel-body:after,\n
Login.c(67): .modal-footer:before,\n
Login.c(67): .modal-footer:after {\n
Login.c(67): display: table;\n
Login.c(67): content: " ";\n
Login.c(67): }\n
Login.c(67): .clearfix:after,\n
Login.c(67): .dl-horizontal dd:after,\n
Login.c(67): .container:after,\n
Login.c(67): .container-fluid:after,\n
Login.c(67): .row:after,\n
Login.c(67): .form-horizontal .form-group:after,\n
Login.c(67): .btn-toolbar:after,\n
Login.c(67): .btn-group-vertical > .btn-group:after,\n
Login.c(67): .nav:after,\n
Login.c(67): .navbar:after,\n
Login.c(67): .navbar-header:after,\n
Login.c(67): .navbar-collapse:after,\n
Login.c(67): .pager:after,\n
Login.c(67): .panel-body:after,\n
Login.c(67): .modal-footer:after {\n
Login.c(67): clear: both;\n
Login.c(67): }\n
Login.c(67): .center-block {\n
Login.c(67): display: block;\n
Login.c(67): margin-right: auto;\n
Login.c(67): margin-left: auto;\n
Login.c(67): }\n
Login.c(67): .pull-right {\n
Login.c(67): float: right !important;\n
Login.c(67): }\n
Login.c(67): .pull-left {\n
Login.c(67): float: left !important;\n
Login.c(67): }\n
Login.c(67): .hide {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): .show {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): .invisible {\n
Login.c(67): visibility: hidden;\n
Login.c(67): }\n
Login.c(67): .text-hide {\n
Login.c(67): font: 0/0 a;\n
Login.c(67): color: transparent;\n
Login.c(67): text-shadow: none;\n
Login.c(67): background-color: transparent;\n
Login.c(67): border: 0;\n
Login.c(67): }\n
Login.c(67): .hidden {\n
Login.c(67): display: none !important;\n
Login.c(67): visibility: hidden !important;\n
Login.c(67): }\n
Login.c(67): .affix {\n
Login.c(67): position: fixed;\n
Login.c(67): -webkit-transform: translate3d(0, 0, 0);\n
Login.c(67): -o-transform: translate3d(0, 0, 0);\n
Login.c(67): transform: translate3d(0, 0, 0);\n
Login.c(67): }\n
Login.c(67): @-ms-viewport {\n
Login.c(67): width: device-width;\n
Login.c(67): }\n
Login.c(67): .visible-xs,\n
Login.c(67): .visible-sm,\n
Login.c(67): .visible-md,\n
Login.c(67): .visible-lg {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): .visible-xs-block,\n
Login.c(67): .visible-xs-inline,\n
Login.c(67): .visible-xs-inline-block,\n
Login.c(67): .visible-sm-block,\n
Login.c(67): .visible-sm-inline,\n
Login.c(67): .visible-sm-inline-block,\n
Login.c(67): .visible-md-block,\n
Login.c(67): .visible-md-inline,\n
Login.c(67): .visible-md-inline-block,\n
Login.c(67): .visible-lg-block,\n
Login.c(67): .visible-lg-inline,\n
Login.c(67): .visible-lg-inline-block {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .visible-xs {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): table.visible-xs {\n
Login.c(67): display: table;\n
Login.c(67): }\n
Login.c(67): tr.visible-xs {\n
Login.c(67): display: table-row !important;\n
Login.c(67): }\n
Login.c(67): th.visible-xs,\n
Login.c(67): td.visible-xs {\n
Login.c(67): display: table-cell !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .visible-xs-block {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .visible-xs-inline {\n
Login.c(67): display: inline !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .visible-xs-inline-block {\n
Login.c(67): display: inline-block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) and (max-width: 991px) {\n
Login.c(67): .visible-sm {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): table.visible-sm {\n
Login.c(67): display: table;\n
Login.c(67): }\n
Login.c(67): tr.visible-sm {\n
Login.c(67): display: table-row !important;\n
Login.c(67): }\n
Login.c(67): th.visible-sm,\n
Login.c(67): td.visible-sm {\n
Login.c(67): display: table-cell !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) and (max-width: 991px) {\n
Login.c(67): .visible-sm-block {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) and (max-width: 991px) {\n
Login.c(67): .visible-sm-inline {\n
Login.c(67): display: inline !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) and (max-width: 991px) {\n
Login.c(67): .visible-sm-inline-block {\n
Login.c(67): display: inline-block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) and (max-width: 1199px) {\n
Login.c(67): .visible-md {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): table.visible-md {\n
Login.c(67): display: table;\n
Login.c(67): }\n
Login.c(67): tr.visible-md {\n
Login.c(67): display: table-row !important;\n
Login.c(67): }\n
Login.c(67): th.visible-md,\n
Login.c(67): td.visible-md {\n
Login.c(67): display: table-cell !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) and (max-wid
Login.c(67): t=711ms: 2046-byte DECODED response body for
"http://v5devtom.ep.com/uaa/bootstrap.css" (RelFrameId=, Internal ID=10)
Login.c(67): th: 1199px) {\n
Login.c(67): .visible-md-block {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) and (max-width: 1199px) {\n
Login.c(67): .visible-md-inline {\n
Login.c(67): display: inline !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) and (max-width: 1199px) {\n
Login.c(67): .visible-md-inline-block {\n
Login.c(67): display: inline-block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .visible-lg {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): table.visible-lg {\n
Login.c(67): display: table;\n
Login.c(67): }\n
Login.c(67): tr.visible-lg {\n
Login.c(67): display: table-row !important;\n
Login.c(67): }\n
Login.c(67): th.visible-lg,\n
Login.c(67): td.visible-lg {\n
Login.c(67): display: table-cell !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .visible-lg-block {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .visible-lg-inline {\n
Login.c(67): display: inline !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .visible-lg-inline-block {\n
Login.c(67): display: inline-block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (max-width: 767px) {\n
Login.c(67): .hidden-xs {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 768px) and (max-width: 991px) {\n
Login.c(67): .hidden-sm {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 992px) and (max-width: 1199px) {\n
Login.c(67): .hidden-md {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media (min-width: 1200px) {\n
Login.c(67): .hidden-lg {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .visible-print {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): .visible-print {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): table.visible-print {\n
Login.c(67): display: table;\n
Login.c(67): }\n
Login.c(67): tr.visible-print {\n
Login.c(67): display: table-row !important;\n
Login.c(67): }\n
Login.c(67): th.visible-print,\n
Login.c(67): td.visible-print {\n
Login.c(67): display: table-cell !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .visible-print-block {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): .visible-print-block {\n
Login.c(67): display: block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .visible-print-inline {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): .visible-print-inline {\n
Login.c(67): display: inline !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): .visible-print-inline-block {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): .visible-print-inline-block {\n
Login.c(67): display: inline-block !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): @media print {\n
Login.c(67): .hidden-print {\n
Login.c(67): display: none !important;\n
Login.c(67): }\n
Login.c(67): }\n
Login.c(67): /*# sourceMappingURL=bootstrap.css.map */\n
Login.c(67): web_url("authorize") was successful, 21881 body bytes, 955 header
bytes, 352 chunking overhead bytes [MsgId: MMSG-26385]
Login.c(76): web_set_sockets_option started [MsgId: MMSG-26355]
Login.c(76): web_set_sockets_option was successful [MsgId: MMSG-26392]
Login.c(81): web_reg_save_param_regexp started [MsgId: MMSG-26355]
Login.c(81): Registering web_reg_save_param_regexp was successful [MsgId:
MMSG-26390]
Login.c(90): web_submit_form("login.do") started [MsgId: MMSG-26355]
Login.c(90): Submitting form to "http://v5devtom.ep.com/uaa/login.do", Target
Frame="" [MsgId: MMSG-27978]
Login.c(90): t=1463ms: 367-byte response headers for
"http://v5devtom.ep.com/uaa/login.do" (RelFrameId=1, Internal ID=12)
Login.c(90): HTTP/1.1 302 Found\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Set-Cookie: JSESSIONID=F05355E4E1D5F7120B089AFD4801744C;
Path=/uaa/; HttpOnly\r\n
Login.c(90): Location: http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&red
Login.c(90): irect_uri=http%3A%2F%2Fv5devtom.ep.com%2Fv5%2Fui
%2Foauth2callback.html&scope=password.writ
Login.c(90): e\r\n
Login.c(90): Content-Length: 0\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): Redirecting "http://v5devtom.ep.com/uaa/login.do" (redirection depth
is 0) [MsgId: MMSG-26694]
Login.c(90): To location "http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&redirect_uri=http%3A%2F%2Fv5devtom.ep.com
%2Fv5%2Fui%2Foauth2callback.html&scope=password.write" [MsgId: MMSG-26693]
Login.c(90): t=1485ms: 918-byte response headers for
"http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&redirect_uri=http%3A%2F%2Fv5devtom.ep.com
%2Fv5%2Fui%2Foauth2callback.html&scope=password.write" (RelFrameId=1, Internal
ID=13)
Login.c(90): HTTP/1.1 302 Found\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Pragma: no-cache\r\n
Login.c(90): Expires: Thu, 01 Jan 1970 00:00:00 GMT\r\n
Login.c(90): Cache-Control: no-cache\r\n
Login.c(90): Cache-Control: no-store\r\n
Login.c(90): Location:
http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1Ni
Login.c(90):
J9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0
YS0wNTM
Login.c(90):
4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllbnRfaW
QiOiJhc
Login.c(90):
HAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQx
IiwidXN
Login.c(90):
lcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwND
A1MDQsI
Login.c(90):
mV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4i
LCJhdWQ
Login.c(90):
iOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc&token_type=bearer&
expires
Login.c(90): _in=599&jti=2b70137a-52ec-41a1-b9b0-de8a7fa1c1e6\r\n
Login.c(90): Content-Language: en-US\r\n
Login.c(90): Content-Length: 0\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): Redirecting "http://v5devtom.ep.com/uaa/oauth/authorize?
response_type=token&client_id=app&redirect_uri=http%3A%2F%2Fv5devtom.ep.com
%2Fv5%2Fui%2Foauth2callback.html&scope=password.write" (redirection depth is 1)
[MsgId: MMSG-26694]
Login.c(90): To location
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26693]
Login.c(90): Notify: Saving Parameter "TOKEN =
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLC
JzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZ
C53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUz
OC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHV
zZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cH
M6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao
15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc".
Login.c(90): t=1488ms: 281-byte response headers for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"1403-1418683843000"\r\n
Login.c(90): Last-Modified: Mon, 15 Dec 2014 22:50:43 GMT\r\n
Login.c(90): Content-Type: text/html\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=1489ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): a\r\n
Login.c(90): t=1489ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): \r\n
Login.c(90): 189\r\n
Login.c(90): t=1489ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=1489ms: 403-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): t=1489ms: 1403-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" (RelFrameId=1, Internal ID=14)
Login.c(90): <!doctype html>\n
Login.c(90): <html lang="en" ng-app="login" ng-controller="CallbackCtrl">\n
Login.c(90): <head>\n
Login.c(90): <meta charset="utf-8">\n
Login.c(90): <title>Receiving authentication</title>\n
Login.c(90): </head>\n
Login.c(90): <body>\n
Login.c(90): <p>Finishing authentication...</p>\n
Login.c(90): \n
Login.c(90): \t<script src="vendor/jquery/dist/jquery.js"></script>\n
Login.c(90): <script src="vendor/angular/angular.js"></script>\n
Login.c(90): <script src="vendor/angular-ui-router/release/angular-ui-
router.js"></script>\n
Login.c(90): <script src="vendor/angular-data/dist/angular-
data.js"></script>\n
Login.c(90): <script src="vendor/angular-cache/dist/angular-
cache.js"></script>\n
Login.c(90): <script src="vendor/angular-translate/angular-
translate.js"></script>\n
Login.c(90): <script src="vendor/angular-translate-loader-static-
files/angular-translate-loader-sta
Login.c(90): tic-files.js"></script>\n
Login.c(90): <script src="vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js"></script>\n
Login.c(90): <script src="vendor/angular-validation/angular-
validation.js"></script>\n
Login.c(90): <script src="vendor/angular-validation/angular-validation-
rule.js"></script>\n
Login.c(90): <script src="vendor/ngstorage/ngStorage.min.js"></script>\n
Login.c(90): <script src="vendor/angular-oauth/angularOauth.js"></script>\n
Login.c(90): <script src="vendor/oauth-ng/dist/oauth-ng.js"></script>\n
Login.c(90): <!-- js -->\n
Login.c(90): <script src="global-templates.js"></script>\n
Login.c(90): <script src="ep-global-components.js"></script>\n
Login.c(90): <script src="login-templates.js"></script>\n
Login.c(90): <script src="config.js"></script>\n
Login.c(90): <script src="login.js"></script>\n
Login.c(90): </body>\n
Login.c(90): </html>
Login.c(90): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
router/release/angular-ui-router.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
data/dist/angular-data.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
cache/dist/angular-cache.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
translate/angular-translate.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-translate-
loader-static-files/angular-translate-loader-static-files.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
bootstrap/ui-bootstrap-tpls-0.11.2.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation-rule.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
oauth/angularOauth.js" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Login.c(90): Found resource "http://v5devtom.ep.com/v5/ui/vendor/oauth-
ng/dist/oauth-ng.js" in HTML
"http://v5devtom.ep.com/v5/ui/oauth2callback.html#access_token=eyJhbGciOiJIUzI1NiJ9
.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLCJzdWIiOiI0NzY5MWU0YS
0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZC53cml0ZSJdLCJjbGllb
nRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUzOC00OGZmLTkyMjAtZjA3
YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHVzZXIuZnJvbS52cG8uY2Y
iLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OD
Q0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao15FWcZ0UYyp7Gs_f_57s
u1MgqioJaC7usc&token_type=bearer&expires_in=599&jti=2b70137a-52ec-41a1-b9b0-
de8a7fa1c1e6" [MsgId: MMSG-26659]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/global-templates.js" is in the
cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/ep-global-components.js" is in
the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/login-templates.js" is in the
cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/config.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(90): Resource "http://v5devtom.ep.com/v5/ui/login.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(90): t=1494ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"247351-1416253797000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:57 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 247351\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=1497ms: 1460-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): /*!\n
Login.c(90): * jQuery JavaScript Library v2.1.1\n
Login.c(90): * http://jquery.com/\n
Login.c(90): *\n
Login.c(90): * Includes Sizzle.js\n
Login.c(90): * http://sizzlejs.com/\n
Login.c(90): *\n
Login.c(90): * Copyright 2005, 2014 jQuery Foundation, Inc. and other
contributors\n
Login.c(90): * Released under the MIT license\n
Login.c(90): * http://jquery.org/license\n
Login.c(90): *\n
Login.c(90): * Date: 2014-05-01T17:11Z\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): (function( global, factory ) {\n
Login.c(90): \n
Login.c(90): \tif ( typeof module === "object" && typeof module.exports ===
"object" ) {\n
Login.c(90): \t\t// For CommonJS and CommonJS-like environments where a proper
window is present,\n
Login.c(90): \t\t// execute the factory and get jQuery\n
Login.c(90): \t\t// For environments that do not inherently posses a window
with a document\n
Login.c(90): \t\t// (such as Node.js), expose a jQuery-making factory as
module.exports\n
Login.c(90): \t\t// This accentuates the need for the creation of a real
window\n
Login.c(90): \t\t// e.g. var jQuery = require("jquery")(window);\n
Login.c(90): \t\t// See ticket #14549 for more info\n
Login.c(90): \t\tmodule.exports = global.document ?\n
Login.c(90): \t\t\tfactory( global, true ) :\n
Login.c(90): \t\t\tfunction( w ) {\n
Login.c(90): \t\t\t\tif ( !w.document ) {\n
Login.c(90): \t\t\t\t\tthrow new Error( "jQuery requires a window with a
document" );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn factory( w );\n
Login.c(90): \t\t\t};\n
Login.c(90): \t} else {\n
Login.c(90): \t\tfactory( global );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): // Pass this if window is not defined yet\n
Login.c(90): }(typeof window !== "undefined" ? window : this, function( window,
noGlobal ) {\n
Login.c(90): \n
Login.c(90): // Can't do this because several apps including ASP.NET trace\n
Login.c(90): // the stack via arguments.caller.callee and Firefox dies if\n
Login.c(90): // you try to trace through "use strict" call chains. (#13335)\n
Login.c(90): // Support: Firefox 18+\n
Login.c(90): //\n
Login.c(90): \n
Login.c(90): var arr = [];\n
Login.c(90): \n
Login.c(90): var slice = arr.slice;\n
Login.c(90): \n
Login.c(90): var concat = arr.co
Login.c(90): t=1500ms: 8760-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ncat;\n
Login.c(90): \n
Login.c(90): var push = arr.push;\n
Login.c(90): \n
Login.c(90): var indexOf = arr.indexOf;\n
Login.c(90): \n
Login.c(90): var class2type = {};\n
Login.c(90): \n
Login.c(90): var toString = class2type.toString;\n
Login.c(90): \n
Login.c(90): var hasOwn = class2type.hasOwnProperty;\n
Login.c(90): \n
Login.c(90): var support = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \t// Use the correct document accordingly with window argument
(sandbox)\n
Login.c(90): \tdocument = window.document,\n
Login.c(90): \n
Login.c(90): \tversion = "2.1.1",\n
Login.c(90): \n
Login.c(90): \t// Define a local copy of jQuery\n
Login.c(90): \tjQuery = function( selector, context ) {\n
Login.c(90): \t\t// The jQuery object is actually just the init constructor
'enhanced'\n
Login.c(90): \t\t// Need init if jQuery is called (just allow error to be
thrown if not included)\n
Login.c(90): \t\treturn new jQuery.fn.init( selector, context );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Support: Android<4.1\n
Login.c(90): \t// Make sure we trim BOM and NBSP\n
Login.c(90): \trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n
Login.c(90): \n
Login.c(90): \t// Matches dashed string for camelizing\n
Login.c(90): \trmsPrefix = /^-ms-/,\n
Login.c(90): \trdashAlpha = /-([\\da-z])/gi,\n
Login.c(90): \n
Login.c(90): \t// Used by jQuery.camelCase as callback to replace()\n
Login.c(90): \tfcamelCase = function( all, letter ) {\n
Login.c(90): \t\treturn letter.toUpperCase();\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): jQuery.fn = jQuery.prototype = {\n
Login.c(90): \t// The current version of jQuery being used\n
Login.c(90): \tjquery: version,\n
Login.c(90): \n
Login.c(90): \tconstructor: jQuery,\n
Login.c(90): \n
Login.c(90): \t// Start with an empty selector\n
Login.c(90): \tselector: "",\n
Login.c(90): \n
Login.c(90): \t// The default length of a jQuery object is 0\n
Login.c(90): \tlength: 0,\n
Login.c(90): \n
Login.c(90): \ttoArray: function() {\n
Login.c(90): \t\treturn slice.call( this );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Get the Nth element in the matched element set OR\n
Login.c(90): \t// Get the whole matched element set as a clean array\n
Login.c(90): \tget: function( num ) {\n
Login.c(90): \t\treturn num != null ?\n
Login.c(90): \n
Login.c(90): \t\t\t// Return just the one element from the set\n
Login.c(90): \t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n
Login.c(90): \n
Login.c(90): \t\t\t// Return all the elements in a clean array\n
Login.c(90): \t\t\tslice.call( this );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Take an array of elements and push it onto the stack\n
Login.c(90): \t// (returning the new matched element set)\n
Login.c(90): \tpushStack: function( elems ) {\n
Login.c(90): \n
Login.c(90): \t\t// Build a new jQuery matched element set\n
Login.c(90): \t\tvar ret = jQuery.merge( this.constructor(), elems );\n
Login.c(90): \n
Login.c(90): \t\t// Add the old object onto the stack (as a reference)\n
Login.c(90): \t\tret.prevObject = this;\n
Login.c(90): \t\tret.context = this.context;\n
Login.c(90): \n
Login.c(90): \t\t// Return the newly-formed element set\n
Login.c(90): \t\treturn ret;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Execute a callback for every element in the matched set.\n
Login.c(90): \t// (You can seed the arguments with an array of args, but this
is\n
Login.c(90): \t// only used internally.)\n
Login.c(90): \teach: function( callback, args ) {\n
Login.c(90): \t\treturn jQuery.each( this, callback, args );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tmap: function( callback ) {\n
Login.c(90): \t\treturn this.pushStack( jQuery.map(this, function( elem, i )
{\n
Login.c(90): \t\t\treturn callback.call( elem, i, elem );\n
Login.c(90): \t\t}));\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tslice: function() {\n
Login.c(90): \t\treturn this.pushStack( slice.apply( this, arguments ) );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tfirst: function() {\n
Login.c(90): \t\treturn this.eq( 0 );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tlast: function() {\n
Login.c(90): \t\treturn this.eq( -1 );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \teq: function( i ) {\n
Login.c(90): \t\tvar len = this.length,\n
Login.c(90): \t\t\tj = +i + ( i < 0 ? len : 0 );\n
Login.c(90): \t\treturn this.pushStack( j >= 0 && j < len ? [ this[j] ] :
[] );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tend: function() {\n
Login.c(90): \t\treturn this.prevObject || this.constructor(null);\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// For internal use only.\n
Login.c(90): \t// Behaves like an Array's method, not like a jQuery method.\n
Login.c(90): \tpush: push,\n
Login.c(90): \tsort: arr.sort,\n
Login.c(90): \tsplice: arr.splice\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.extend = jQuery.fn.extend = function() {\n
Login.c(90): \tvar options, name, src, copy, copyIsArray, clone,\n
Login.c(90): \t\ttarget = arguments[0] || {},\n
Login.c(90): \t\ti = 1,\n
Login.c(90): \t\tlength = arguments.length,\n
Login.c(90): \t\tdeep = false;\n
Login.c(90): \n
Login.c(90): \t// Handle a deep copy situation\n
Login.c(90): \tif ( typeof target === "boolean" ) {\n
Login.c(90): \t\tdeep = target;\n
Login.c(90): \n
Login.c(90): \t\t// skip the boolean and the target\n
Login.c(90): \t\ttarget = arguments[ i ] || {};\n
Login.c(90): \t\ti++;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Handle case when target is a string or something (possible in
deep copy)\n
Login.c(90): \tif ( typeof target !== "object" && !jQuery.isFunction(target) )
{\n
Login.c(90): \t\ttarget = {};\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// extend jQuery itself if only one argument is passed\n
Login.c(90): \tif ( i === length ) {\n
Login.c(90): \t\ttarget = this;\n
Login.c(90): \t\ti--;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t// Only deal with non-null/undefined values\n
Login.c(90): \t\tif ( (options = arguments[ i ]) != null ) {\n
Login.c(90): \t\t\t// Extend the base object\n
Login.c(90): \t\t\tfor ( name in options ) {\n
Login.c(90): \t\t\t\tsrc = target[ name ];\n
Login.c(90): \t\t\t\tcopy = options[ name ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Prevent never-ending loop\n
Login.c(90): \t\t\t\tif ( target === copy ) {\n
Login.c(90): \t\t\t\t\tcontinue;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Recurse if we're merging plain objects or arrays\n
Login.c(90): \t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) ||
(copyIsArray = jQuery.isArray
Login.c(90): (copy)) ) ) {\n
Login.c(90): \t\t\t\t\tif ( copyIsArray ) {\n
Login.c(90): \t\t\t\t\t\tcopyIsArray = false;\n
Login.c(90): \t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Never move original objects, clone them\n
Login.c(90): \t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Don't bring in undefined values\n
Login.c(90): \t\t\t\t} else if ( copy !== undefined ) {\n
Login.c(90): \t\t\t\t\ttarget[ name ] = copy;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Return the modified object\n
Login.c(90): \treturn target;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \t// Unique for each copy of jQuery on the page\n
Login.c(90): \texpando: "jQuery" + ( version + Math.random() ).replace( /\\D/g,
"" ),\n
Login.c(90): \n
Login.c(90): \t// Assume jQuery is ready without the ready module\n
Login.c(90): \tisReady: true,\n
Login.c(90): \n
Login.c(90): \terror: function( msg ) {\n
Login.c(90): \t\tthrow new Error( msg );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tnoop: function() {},\n
Login.c(90): \n
Login.c(90): \t// See test/unit/core.js for details concerning isFunction.\n
Login.c(90): \t// Since version 1.3, DOM methods and functions like alert\n
Login.c(90): \t// aren't supported. They return false on IE (#2968).\n
Login.c(90): \tisFunction: function( obj ) {\n
Login.c(90): \t\treturn jQuery.type(obj) === "function";\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tisArray: Array.isArray,\n
Login.c(90): \n
Login.c(90): \tisWindow: function( obj ) {\n
Login.c(90): \t\treturn obj != null && obj === obj.window;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tisNumeric: function( obj ) {\n
Login.c(90): \t\t// parseFloat NaNs numeric-cast false positives (null|true|
false|"")\n
Login.c(90): \t\t// ...but misinterprets leading-number strings, particularly
hex literals ("0x...")\n
Login.c(90): \t\t// subtraction forces infinities to NaN\n
Login.c(90): \t\treturn !jQuery.isArray( obj ) && obj - parseFloat( obj ) >=
0;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tisPlainObject: function( obj ) {\n
Login.c(90): \t\t// Not plain objects:\n
Login.c(90): \t\t// - Any object or value whose internal [[Class]] property is
not "[object Object]"\n
Login.c(90): \t\t// - DOM nodes\n
Login.c(90): \t\t// - window\n
Login.c(90): \t\tif ( jQuery.type( obj ) !== "object" || obj.nodeType ||
jQuery.isWindow( obj ) ) {\n
Login.c(90): \t\t\treturn false;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( obj.constructor &&\n
Login.c(90): \t\t\t\t!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" )
) {\n
Login.c(90): \t\t\treturn false;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// If the function hasn't returned already, we're confident
that\n
Login.c(90): \t\t// |obj| is a plain object, created by {} or constructed with
new Object\n
Login.c(90): \t\treturn true;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tisEmptyObject: function( obj ) {\n
Login.c(90): \t\tvar name;\n
Login.c(90): \t\tfor ( name in obj ) {\n
Login.c(90): \t\t\treturn false;\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn true;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \ttype: function( obj ) {\n
Login.c(90): \t\tif ( obj == null ) {\n
Login.c(90): \t\t\treturn obj + "";\n
Login.c(90): \t\t}\n
Login.c(90): \t\t// Support: Android < 4.0, iOS < 6 (functionish RegExp)\n
Login.c(90): \t\treturn typeof obj === "object" || typeof obj ===
"function" ?\n
Login.c(90): \t\t\tclass2type[ toString.call(obj) ] || "object" :\n
Login.c(90): \t\t\ttypeof obj;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Evaluates a script in a global context\n
Login.c(90): \tglobalEval: function( code ) {\n
Login.c(90): \t\tvar script,\n
Login.c(90): \t\t\tindirect = eval;\n
Login.c(90): \n
Login.c(90): \t\tcode = jQuery.trim( code );\n
Login.c(90): \n
Login.c(90): \t\tif ( code ) {\n
Login.c(90): \t\t\t// If the code includes a valid, prologue position\n
Login.c(90): \t\t\t// strict mode pragma, execute code by injecting a\n
Login.c(90): \t\t\t// script tag into the document.\n
Login.c(90): \t\t\tif ( code.indexOf("use strict") === 1 ) {\n
Login.c(90): \t\t\t\tscript = document.createElement("script");\n
Login.c(90): \t\t\t\tscript.text = code;\n
Login.c(90):
\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t// Otherwise, avoid the DOM node creation, insertion\n
Login.c(90): \t\t\t// and removal by using an indirect global eval\n
Login.c(90): \t\t\t\tindirect( code );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Convert dashed to camelCase; used by the css and data
modules\n
Login.c(90): \t// Microsoft forgot to hump their vendor prefix (#9572)\n
Login.c(90): \tcamelCase: function( string ) {\n
Login.c(90): \t\treturn string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha,
fcamelCase );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tnodeName: function( elem, name ) {\n
Login.c(90): \t\treturn elem.nodeName && elem.nodeName.toLowerCase() ===
name.toLowerCase();\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// args is for internal usage only\n
Login.c(90): \teach: function( obj, callback, args ) {\n
Login.c(90): \t\tvar value,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tlength = obj.length,\n
Login.c(90): \t\t\tisArray = isArraylike( obj );\n
Login.c(90): \n
Login.c(90): \t\tif ( args ) {\n
Login.c(90): \t\t\tif ( isArray ) {\n
Login.c(90): \t\t\t\tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( value === false ) {\n
Login.c(90): \t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tfor ( i in obj ) {\n
Login.c(90): \t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( value === false ) {\n
Login.c(90): \t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t// A special, fast, case for the most common use of each\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tif ( isArray ) {\n
Login.c(90): \t\t\t\tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( value === false ) {\n
Login.c(90): \t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tfor ( i in obj ) {\n
Login.c(90): \t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( value === false ) {\n
Login.c(90): \t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn obj;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Support: Android<4.1\n
Login.c(90): \ttrim: function( text ) {\n
Login.c(90): \t\treturn text == null ?\n
Login.c(90): \t\t\t"" :\n
Login.c(90): \t\t\t( text + "" ).replace( rtrim, "" );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// results is for internal usage only\n
Login.c(90): \tmakeArray: function( arr, results ) {\n
Login.c(90): \t\tvar ret = results || [];\n
Login.c(90): \n
Login.c(90): \t\tif ( arr != null ) {\n
Login.c(90): \t\t\tif ( isArraylike( Object(arr) ) ) {\n
Login.c(90): \t\t\t\tjQuery.merge( ret,\n
Login.c(90): \t\t\t\t\ttypeof arr === "string" ?\n
Login.c(90): \t\t\t\t\t[ arr ] : arr\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tpush.call( ret, arr );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn ret;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tinArray: function( elem, arr, i ) {\n
Login.c(90): \t\treturn arr == null ? -1 : indexOf.call( arr, elem, i
Login.c(90): t=1516ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tmerge: function( first, second ) {\n
Login.c(90): \t\tvar len = +second.length,\n
Login.c(90): \t\t\tj = 0,\n
Login.c(90): \t\t\ti = first.length;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; j < len; j++ ) {\n
Login.c(90): \t\t\tfirst[ i++ ] = second[ j ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tfirst.length = i;\n
Login.c(90): \n
Login.c(90): \t\treturn first;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tgrep: function( elems, callback, invert ) {\n
Login.c(90): \t\tvar callbackInverse,\n
Login.c(90): \t\t\tmatches = [],\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tlength = elems.length,\n
Login.c(90): \t\t\tcallbackExpect = !invert;\n
Login.c(90): \n
Login.c(90): \t\t// Go through the array, only saving the items\n
Login.c(90): \t\t// that pass the validator function\n
Login.c(90): \t\tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t\tcallbackInverse = !callback( elems[ i ], i );\n
Login.c(90): \t\t\tif ( callbackInverse !== callbackExpect ) {\n
Login.c(90): \t\t\t\tmatches.push( elems[ i ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn matches;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// arg is for internal usage only\n
Login.c(90): \tmap: function( elems, callback, arg ) {\n
Login.c(90): \t\tvar value,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tlength = elems.length,\n
Login.c(90): \t\t\tisArray = isArraylike( elems ),\n
Login.c(90): \t\t\tret = [];\n
Login.c(90): \n
Login.c(90): \t\t// Go through the array, translating each of the items to
their new values\n
Login.c(90): \t\tif ( isArray ) {\n
Login.c(90): \t\t\tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t\t\tvalue = callback( elems[ i ], i, arg );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( value != null ) {\n
Login.c(90): \t\t\t\t\tret.push( value );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Go through every key on the object,\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tfor ( i in elems ) {\n
Login.c(90): \t\t\t\tvalue = callback( elems[ i ], i, arg );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( value != null ) {\n
Login.c(90): \t\t\t\t\tret.push( value );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Flatten any nested arrays\n
Login.c(90): \t\treturn concat.apply( [], ret );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// A global GUID counter for objects\n
Login.c(90): \tguid: 1,\n
Login.c(90): \n
Login.c(90): \t// Bind a function to a context, optionally partially applying
any\n
Login.c(90): \t// arguments.\n
Login.c(90): \tproxy: function( fn, context ) {\n
Login.c(90): \t\tvar tmp, args, proxy;\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof context === "string" ) {\n
Login.c(90): \t\t\ttmp = fn[ context ];\n
Login.c(90): \t\t\tcontext = fn;\n
Login.c(90): \t\t\tfn = tmp;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Quick check to determine if target is callable, in the
spec\n
Login.c(90): \t\t// this throws a TypeError, but we will just return
undefined.\n
Login.c(90): \t\tif ( !jQuery.isFunction( fn ) ) {\n
Login.c(90): \t\t\treturn undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Simulated bind\n
Login.c(90): \t\targs = slice.call( arguments, 2 );\n
Login.c(90): \t\tproxy = function() {\n
Login.c(90): \t\t\treturn fn.apply( context || this,
args.concat( slice.call( arguments ) ) );\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t\t// Set the guid of unique handler to the same of original
handler, so it can be remove
Login.c(90): d\n
Login.c(90): \t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n
Login.c(90): \n
Login.c(90): \t\treturn proxy;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tnow: Date.now,\n
Login.c(90): \n
Login.c(90): \t// jQuery.support is not used in Core but other projects attach
their\n
Login.c(90): \t// properties to it so it needs to exist.\n
Login.c(90): \tsupport: support\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Populate the class2type map\n
Login.c(90): jQuery.each("Boolean Number String Function Array Date RegExp
Object Error".split(" "), fu
Login.c(90): nction(i, name) {\n
Login.c(90): \tclass2type[ "[object " + name + "]" ] = name.toLowerCase();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function isArraylike( obj ) {\n
Login.c(90): \tvar length = obj.length,\n
Login.c(90): \t\ttype = jQuery.type( obj );\n
Login.c(90): \n
Login.c(90): \tif ( type === "function" || jQuery.isWindow( obj ) ) {\n
Login.c(90): \t\treturn false;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( obj.nodeType === 1 && length ) {\n
Login.c(90): \t\treturn true;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn type === "array" || length === 0 ||\n
Login.c(90): \t\ttypeof length === "number" && length > 0 && ( length - 1 ) in
obj;\n
Login.c(90): }\n
Login.c(90): var Sizzle =\n
Login.c(90): /*!\n
Login.c(90): * Sizzle CSS Selector Engine v1.10.19\n
Login.c(90): * http://sizzlejs.com/\n
Login.c(90): *\n
Login.c(90): * Copyright 2013 jQuery Foundation, Inc. and other contributors\n
Login.c(90): * Released under the MIT license\n
Login.c(90): * http://jquery.org/license\n
Login.c(90): *\n
Login.c(90): * Date: 2014-04-18\n
Login.c(90): */\n
Login.c(90): (function( window ) {\n
Login.c(90): \n
Login.c(90): var i,\n
Login.c(90): \tsupport,\n
Login.c(90): \tExpr,\n
Login.c(90): \tgetText,\n
Login.c(90): \tisXML,\n
Login.c(90): \ttokenize,\n
Login.c(90): \tcompile,\n
Login.c(90): \tselect,\n
Login.c(90): \toutermostContext,\n
Login.c(90): \tsortInput,\n
Login.c(90): \thasDuplicate,\n
Login.c(90): \n
Login.c(90): \t// Local document vars\n
Login.c(90): \tsetDocument,\n
Login.c(90): \tdocument,\n
Login.c(90): \tdocElem,\n
Login.c(90): \tdocumentIsHTML,\n
Login.c(90): \trbuggyQSA,\n
Login.c(90): \trbuggyMatches,\n
Login.c(90): \tmatches,\n
Login.c(90): \tcontains,\n
Login.c(90): \n
Login.c(90): \t// Instance-specific data\n
Login.c(90): \texpando = "sizzle" + -(new Date()),\n
Login.c(90): \tpreferredDoc = window.document,\n
Login.c(90): \tdirruns = 0,\n
Login.c(90): \tdone = 0,\n
Login.c(90): \tclassCache = createCache(),\n
Login.c(90): \ttokenCache = createCache(),\n
Login.c(90): \tcompilerCache = createCache(),\n
Login.c(90): \tsortOrder = function( a, b ) {\n
Login.c(90): \t\tif ( a === b ) {\n
Login.c(90): \t\t\thasDuplicate = true;\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn 0;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// General-purpose constants\n
Login.c(90): \tstrundefined = typeof undefined,\n
Login.c(90): \tMAX_NEGATIVE = 1 << 31,\n
Login.c(90): \n
Login.c(90): \t// Instance methods\n
Login.c(90): \thasOwn = ({}).hasOwnProperty,\n
Login.c(90): \tarr = [],\n
Login.c(90): \tpop = arr.pop,\n
Login.c(90): \tpush_native = arr.push,\n
Login.c(90): \tpush = arr.push,\n
Login.c(90): \tslice = arr.slice,\n
Login.c(90): \t// Use a stripped-down indexOf if we can't use a native one\n
Login.c(90): \tindexOf = arr.indexOf || function( elem ) {\n
Login.c(90): \t\tvar i = 0,\n
Login.c(90): \t\t\tlen = this.length;\n
Login.c(90): \t\tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\t\tif ( this[i] === elem ) {\n
Login.c(90): \t\t\t\treturn i;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn -1;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tbooleans = "checked|selected|async|autofocus|autoplay|controls|
defer|disabled|hidden|ism
Login.c(90): ap|loop|multiple|open|readonly|required|scoped",\n
Login.c(90): \n
Login.c(90): \t// Regular expressions\n
Login.c(90): \n
Login.c(90): \t// Whitespace characters http://www.w3.org/TR/css3-
selectors/#whitespace\n
Login.c(90): \twhitespace = "[\\\\x20\\\\t\\\\r\\\\n\\\\f]",\n
Login.c(90): \t// http://www.w3.org/TR/css3-syntax/#characters\n
Login.c(90): \tcharacterEncoding = "(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])
+",\n
Login.c(90): \n
Login.c(90): \t// Loosely modeled on CSS identifier characters\n
Login.c(90): \t// An unquoted value should be a CSS identifier
http://www.w3.org/TR/css3-selectors/#att
Login.c(90): ribute-selectors\n
Login.c(90): \t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-
def-identifier\n
Login.c(90): \tidentifier = characterEncoding.replace( "w", "w#" ),\n
Login.c(90): \n
Login.c(90): \t// Attribute selectors:
http://www.w3.org/TR/selectors/#attribute-selectors\n
Login.c(90): \tattributes = "\\\\[" + whitespace + "*(" + characterEncoding +
")(?:" + whitespace +\n
Login.c(90): \t\t// Operator (capture 2)\n
Login.c(90): \t\t"*([*^$|!~]?=)" + whitespace +\n
Login.c(90): \t\t// "Attribute values must be CSS identifiers [capture 5] or
strings [capture 3 or capt
Login.c(90): ure 4]"\n
Login.c(90): \t\t"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\"((?:\\\\\\\\.|
[^\\\\\\\\\\"])*)\\"|(" + identi
Login.c(90): fier + "))|)" + whitespace +\n
Login.c(90): \t\t"*\\\\]",\n
Login.c(90): \n
Login.c(90): \tpseudos = ":(" + characterEncoding + ")(?:\\\\((" +\n
Login.c(90): \t\t// To reduce the number of selectors needing tokenize in the
preFilter, prefer argumen
Login.c(90): ts:\n
Login.c(90): \t\t// 1. quoted (capture 3; capture 4 or capture 5)\n
Login.c(90): \t\t"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\"((?:\\\\\\\\.|
[^\\\\\\\\\\"])*)\\")|" +\n
Login.c(90): \t\t// 2. simple (capture 6)\n
Login.c(90): \t\t"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|" + attributes + ")*)|" +\n
Login.c(90): \t\t// 3. anything else (capture 2)\n
Login.c(90): \t\t".*" +\n
Login.c(90): \t\t")\\\\)|)",\n
Login.c(90): \n
Login.c(90): \t// Leading and non-escaped trailing whitespace, capturing some
non-whitespace characters
Login.c(90): preceding the latter\n
Login.c(90): \trtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\\\\\])
(?:\\\\\\\\.)*)" + whitespac
Login.c(90): e + "+$", "g" ),\n
Login.c(90): \n
Login.c(90): \trcomma = new RegExp( "^" + whitespace + "*," + whitespace +
"*" ),\n
Login.c(90): \trcombinators = new RegExp( "^" + whitespace + "*([>+~]|" +
whitespace + ")" + whitespace
Login.c(90): + "*" ),\n
Login.c(90): \n
Login.c(90): \trattributeQuotes = new RegExp( "=" + whitespace +
"*([^\\\\]'\\"]*?)" + whitespace + "*\\
Login.c(90): \\]", "g" ),\n
Login.c(90): \n
Login.c(90): \trpseudo = new RegExp( pseudos ),\n
Login.c(90): \tridentifier = new RegExp( "^" + identifier + "$" ),\n
Login.c(90): \n
Login.c(90): \tmatchExpr = {\n
Login.c(90): \t\t"ID": new RegExp( "^#(" + characterEncoding + ")" ),\n
Login.c(90): \t\t"CLASS": new RegExp( "^\\\\.(" + characterEncoding + ")" ),\n
Login.c(90): \t\t"TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*"
) + ")" ),\n
Login.c(90): \t\t"ATTR": new RegExp( "^" + attributes ),\n
Login.c(90): \t\t"PSEUDO": new RegExp( "^" + pseudos ),\n
Login.c(90): \t\t"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|
of-type)(?:\\\\(" + whit
Login.c(90): espace +\n
Login.c(90): \t\t\t"*(even|odd|(([+-]|)(\\\\d*)n|)" + whitespace + "*(?:
([+-]|)" + whitespace +\n
Login.c(90): \t\t\t"*(\\\\d+)|))" + whitespace + "*\\\\)|)", "i" ),\n
Login.c(90): \t\t"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),\n
Login.c(90): \t\t// For use in libraries implementing .is()\n
Login.c(90): \t\t// We use this for POS matching in `select`\n
Login.c(90): \t\t"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|
odd|eq|gt|lt|nth|first|l
Login.c(90): ast)(?:\\\\(" +\n
Login.c(90): \t\t\twhitespace + "*((?:-\\\\d)?\\\\d*)" + whitespace + "*\\\\)|)
(?=[^-]|$)", "i" )\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \trinputs = /^(?:input|select|textarea|button)$/i,\n
Login.c(90): \trheader = /^h\\d$/i,\n
Login.c(90): \n
Login.c(90): \trnative = /^[^{]+\\{\\s*\\[native \\w/,\n
Login.c(90): \n
Login.c(90): \t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n
Login.c(90): \trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n
Login.c(90): \n
Login.c(90): \trsibling = /[+~]/,\n
Login.c(90): \trescape = /'|\\\\/g,\n
Login.c(90): \n
Login.c(90): \t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-
characters\n
Login.c(90): \trunescape = new RegExp( "\\\\\\\\([\\\\da-f]{1,6}" + whitespace
+ "?|(" + whitespace + "
Login.c(90): )|.)", "ig" ),\n
Login.c(90): \tfunescape = function( _, escaped, escapedWhitespace ) {\n
Login.c(90): \t\tvar high = "0x" + escaped - 0x10000;\n
Login.c(90): \t\t// NaN means non-codepoint\n
Login.c(90): \t\t// Support: Firefox<24\n
Login.c(90): \t\t// Workaround erroneous numeric interpretation of +"0x"\n
Login.c(90): \t\treturn high !== high || escapedWhitespace ?\n
Login.c(90): \t\t\tescaped :\n
Login.c(90): \t\t\thigh < 0 ?\n
Login.c(90): \t\t\t\t// BMP codepoint\n
Login.c(90): \t\t\t\tString.fromCharCode( high + 0x10000 ) :\n
Login.c(90): \t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n
Login.c(90): \t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF |
0xDC00 );\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): // Optimize for push.apply( _, NodeList )\n
Login.c(90): try {\n
Login.c(90): \tpush.apply(\n
Login.c(90): \t\t(arr = slice.call( preferredDoc.childNodes )),\n
Login.c(90): \t\tpreferredDoc.childNodes\n
Login.c(90): \t);\n
Login.c(90): \t// Support: Android<4.0\n
Login.c(90): \t// Detect silently failing push.apply\n
Login.c(90): \tarr[ preferredDoc.childNodes.length ].nodeType;\n
Login.c(90): } catch ( e ) {\n
Login.c(90): \tpush = { apply: arr.length ?\n
Login.c(90): \n
Login.c(90): \t\t// Leverage slice if possible\n
Login.c(90): \t\tfunction( target, els ) {\n
Login.c(90): \t\t\tpush_native.apply( target, slice.call(els) );\n
Login.c(90): \t\t} :\n
Login.c(90): \n
Login.c(90): \t\t// Support: IE<9\n
Login.c(90): \t\t// Otherwise append directly\n
Login.c(90): \t\tfunction( target, els ) {\n
Login.c(90): \t\t\tvar j = target.length,\n
Login.c(90): \t\t\t\ti = 0;\n
Login.c(90): \t\t\t// Can't trust NodeList.length\n
Login.c(90): \t\t\twhile ( (target[j++] = els[i++]) ) {}\n
Login.c(90): \t\t\ttarget.length = j - 1;\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function Sizzle( selector, context, results, seed ) {\n
Login.c(90): \tvar match, elem, m, nodeType,\n
Login.c(90): \t\t// QSA vars\n
Login.c(90): \t\ti, groups, old, nid, newContext, newSelector;\n
Login.c(90): \n
Login.c(90): \tif ( ( context ? context.ownerDocument || context : preferredDoc
) !== document ) {\n
Login.c(90): \t\tsetDocument( context );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tcontext = context || document;\n
Login.c(90): \tresults = results || [];\n
Login.c(90): \n
Login.c(90): \tif ( !selector || typeof selector !== "string" ) {\n
Login.c(90): \t\treturn results;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {\n
Login.c(90): \t\treturn [];\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( documentIsHTML && !seed ) {\n
Login.c(90): \n
Login.c(90): \t\t// Shortcuts\n
Login.c(90): \t\tif ( (match = rquickExpr.exec( selector )) ) {\n
Login.c(90): \t\t\t// Speed-up: Sizzle("#ID")\n
Login.c(90): \t\t\tif ( (m = match[1]) ) {\n
Login.c(90): \t\t\t\tif ( nodeType === 9 ) {\n
Login.c(90): \t\t\t\t\telem = context.getElementById( m );\n
Login.c(90): \t\t\t\t\t// Check parentNode to catch when Blackberry 4.6
returns\n
Login.c(90): \t\t\t\t\t// nodes that are no longer in the document (jQuery
#6963)\n
Login.c(90): \t\t\t\t\tif ( elem && elem.parentNode ) {\n
Login.c(90): \t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return
items\n
Login.c(90): \t\t\t\t\t\t// by name instead of ID\n
Login.c(90): \t\t\t\t\t\tif ( elem.id === m ) {\n
Login.c(90): \t\t\t\t\t\t\tresults.push( elem );\n
Login.c(90): \t\t\t\t\t\t\treturn results;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\treturn results;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t// Context is not a document\n
Login.c(90): \t\t\t\t\tif ( context.ownerDocument && (elem =
context.ownerDocument.getElementById( m ))
Login.c(90): &&\n
Login.c(90): \t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n
Login.c(90): \t\t\t\t\t\tresults.push( elem );\n
Login.c(90): \t\t\t\t\t\treturn results;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Speed-up: Sizzle("TAG")\n
Login.c(90): \t\t\t} else if ( match[2] ) {\n
Login.c(90): \t\t\t\tpush.apply( results,
context.getElementsByTagName( selector ) );\n
Login.c(90): \t\t\t\treturn results;\n
Login.c(90): \n
Login.c(90): \t\t\t// Speed-up: Sizzle(".CLASS")\n
Login.c(90): \t\t\t} else if ( (m = match[3]) && support.getElementsByClassName
&& context.getElementsB
Login.c(90): yClassName ) {\n
Login.c(90): \t\t\t\tpush.apply( results,
context.getElementsByClassName( m ) );\n
Login.c(90): \t\t\t\treturn results;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// QSA path\n
Login.c(90): \t\tif ( support.qsa && (!rbuggyQSA || !
rbuggyQSA.test( selector )) ) {\n
Login.c(90): \t\t\tnid = old = expando;\n
Login.c(90): \t\t\tnewContext = context;\n
Login.c(90): \t\t\tnewSelector = nodeType === 9 && selector;\n
Login.c(90): \n
Login.c(90): \t\t\t// qSA works strangely on Element-rooted queries\n
Login.c(90): \t\t\t// We can work around this by specifying an extra ID on the
root\n
Login.c(90): \t\t\t// and working up from there (Thanks to Andrew Dupont for
the technique)\n
Login.c(90): \t\t\t// IE 8 doesn't work on object elements\n
Login.c(90): \t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !==
"object" ) {\n
Login.c(90): \t\t\t\tgroups = tokenize( selector );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( (old = context.getAttribute("id")) ) {\n
Login.c(90): \t\t\t\t\tnid = old.replace( rescape, "\\\\$&" );\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tcontext.setAttribute( "id", nid );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tnid = "[id='" + nid + "'] ";\n
Login.c(90): \n
Login.c(90): \t\t\t\ti = groups.length;\n
Login.c(90): \t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tnewContext = rsibling.test( selector ) &&
testContext( context.parentNode ) || con
Login.c(90): text;\n
Login.c(90): \t\t\t\tnewSelector = groups.join(",");\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( newSelector ) {\n
Login.c(90): \t\t\t\ttry {\n
Login.c(90): \t\t\t\t\tpush.apply( results,\n
Login.c(90): \t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n
Login.c(90): \t\t\t\t\t);\n
Login.c(90): \t\t\t\t\treturn results;\n
Login.c(90): \t\t\t\t} catch(qsaError) {\n
Login.c(90): \t\t\t\t} finally {\n
Login.c(90): \t\t\t\t\tif ( !old ) {\n
Login.c(90): \t\t\t\t\t\tcontext.removeAttribute("id");\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// All others\n
Login.c(90): \treturn select( selector.replace( rtrim, "$1" ), context,
results, seed );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Create key-value caches of limited size\n
Login.c(90): * @returns {Function(string, Object)} Returns the Object data
after storing it on itself
Login.c(90): with\n
Login.c(90): *\tproperty name the (space-suffixed) string and (if the cache is
larger than Expr.cacheL
Login.c(90): ength)\n
Login.c(90): *\tdeleting the oldest entry\n
Login.c(90): */\n
Login.c(90): function createCache() {\n
Login.c(90): \tvar keys = [];\n
Login.c(90): \n
Login.c(90): \tfunction cache( key, value ) {\n
Login.c(90): \t\t// Use (key + " ") to avoid collision with native prototype
properties (see Issue #157
Login.c(90): )\n
Login.c(90): \t\tif ( keys.push( key + " " ) > Expr.cacheLength ) {\n
Login.c(90): \t\t\t// Only keep the most recent entries\n
Login.c(90): \t\t\tdelete cache[ keys.shift() ];\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn (cache[ key + " " ] = value);\n
Login.c(90): \t}\n
Login.c(90): \treturn cache;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Mark a function for special use by Sizzle\n
Login.c(90): * @param {Function} fn The function to mark\n
Login.c(90): */\n
Login.c(90): funct
Login.c(90): t=1535ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ion markFunction( fn ) {\n
Login.c(90): \tfn[ expando ] = true;\n
Login.c(90): \treturn fn;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Support testing using an element\n
Login.c(90): * @param {Function} fn Passed the created div and expects a
boolean result\n
Login.c(90): */\n
Login.c(90): function assert( fn ) {\n
Login.c(90): \tvar div = document.createElement("div");\n
Login.c(90): \n
Login.c(90): \ttry {\n
Login.c(90): \t\treturn !!fn( div );\n
Login.c(90): \t} catch (e) {\n
Login.c(90): \t\treturn false;\n
Login.c(90): \t} finally {\n
Login.c(90): \t\t// Remove from its parent by default\n
Login.c(90): \t\tif ( div.parentNode ) {\n
Login.c(90): \t\t\tdiv.parentNode.removeChild( div );\n
Login.c(90): \t\t}\n
Login.c(90): \t\t// release memory in IE\n
Login.c(90): \t\tdiv = null;\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Adds the same handler for all of the specified attrs\n
Login.c(90): * @param {String} attrs Pipe-separated list of attributes\n
Login.c(90): * @param {Function} handler The method that will be applied\n
Login.c(90): */\n
Login.c(90): function addHandle( attrs, handler ) {\n
Login.c(90): \tvar arr = attrs.split("|"),\n
Login.c(90): \t\ti = attrs.length;\n
Login.c(90): \n
Login.c(90): \twhile ( i-- ) {\n
Login.c(90): \t\tExpr.attrHandle[ arr[i] ] = handler;\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks document order of two siblings\n
Login.c(90): * @param {Element} a\n
Login.c(90): * @param {Element} b\n
Login.c(90): * @returns {Number} Returns less than 0 if a precedes b, greater
than 0 if a follows b\n
Login.c(90): */\n
Login.c(90): function siblingCheck( a, b ) {\n
Login.c(90): \tvar cur = b && a,\n
Login.c(90): \t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n
Login.c(90): \t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n
Login.c(90): \t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n
Login.c(90): \n
Login.c(90): \t// Use IE sourceIndex if available on both nodes\n
Login.c(90): \tif ( diff ) {\n
Login.c(90): \t\treturn diff;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Check if b follows a\n
Login.c(90): \tif ( cur ) {\n
Login.c(90): \t\twhile ( (cur = cur.nextSibling) ) {\n
Login.c(90): \t\t\tif ( cur === b ) {\n
Login.c(90): \t\t\t\treturn -1;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn a ? 1 : -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function to use in pseudos for input types\n
Login.c(90): * @param {String} type\n
Login.c(90): */\n
Login.c(90): function createInputPseudo( type ) {\n
Login.c(90): \treturn function( elem ) {\n
Login.c(90): \t\tvar name = elem.nodeName.toLowerCase();\n
Login.c(90): \t\treturn name === "input" && elem.type === type;\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function to use in pseudos for buttons\n
Login.c(90): * @param {String} type\n
Login.c(90): */\n
Login.c(90): function createButtonPseudo( type ) {\n
Login.c(90): \treturn function( elem ) {\n
Login.c(90): \t\tvar name = elem.nodeName.toLowerCase();\n
Login.c(90): \t\treturn (name === "input" || name === "button") && elem.type
=== type;\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function to use in pseudos for positionals\n
Login.c(90): * @param {Function} fn\n
Login.c(90): */\n
Login.c(90): function createPositionalPseudo( fn ) {\n
Login.c(90): \treturn markFunction(function( argument ) {\n
Login.c(90): \t\targument = +argument;\n
Login.c(90): \t\treturn markFunction(function( seed, matches ) {\n
Login.c(90): \t\t\tvar j,\n
Login.c(90): \t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n
Login.c(90): \t\t\t\ti = matchIndexes.length;\n
Login.c(90): \n
Login.c(90): \t\t\t// Match elements found at the specified indexes\n
Login.c(90): \t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n
Login.c(90): \t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks a node for validity as a Sizzle context\n
Login.c(90): * @param {Element|Object=} context\n
Login.c(90): * @returns {Element|Object|Boolean} The input node if acceptable,
otherwise a falsy value
Login.c(90): \n
Login.c(90): */\n
Login.c(90): function testContext( context ) {\n
Login.c(90): \treturn context && typeof context.getElementsByTagName !==
strundefined && context;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Expose support vars for convenience\n
Login.c(90): support = Sizzle.support = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Detects XML nodes\n
Login.c(90): * @param {Element|Object} elem An element or a document\n
Login.c(90): * @returns {Boolean} True iff elem is a non-HTML XML node\n
Login.c(90): */\n
Login.c(90): isXML = Sizzle.isXML = function( elem ) {\n
Login.c(90): \t// documentElement is verified for cases where it doesn't yet
exist\n
Login.c(90): \t// (such as loading iframes in IE - #4833)\n
Login.c(90): \tvar documentElement = elem && (elem.ownerDocument ||
elem).documentElement;\n
Login.c(90): \treturn documentElement ? documentElement.nodeName !== "HTML" :
false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Sets document-related variables once based on the current
document\n
Login.c(90): * @param {Element|Object} [doc] An element or document object to
use to set the document\n
Login.c(90): * @returns {Object} Returns the current document\n
Login.c(90): */\n
Login.c(90): setDocument = Sizzle.setDocument = function( node ) {\n
Login.c(90): \tvar hasCompare,\n
Login.c(90): \t\tdoc = node ? node.ownerDocument || node : preferredDoc,\n
Login.c(90): \t\tparent = doc.defaultView;\n
Login.c(90): \n
Login.c(90): \t// If no document and documentElement is available, return\n
Login.c(90): \tif ( doc === document || doc.nodeType !== 9 || !
doc.documentElement ) {\n
Login.c(90): \t\treturn document;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Set our document\n
Login.c(90): \tdocument = doc;\n
Login.c(90): \tdocElem = doc.documentElement;\n
Login.c(90): \n
Login.c(90): \t// Support tests\n
Login.c(90): \tdocumentIsHTML = !isXML( doc );\n
Login.c(90): \n
Login.c(90): \t// Support: IE>8\n
Login.c(90): \t// If iframe document is assigned to "document" variable and if
iframe has been reloaded
Login.c(90): ,\n
Login.c(90): \t// IE will throw "permission denied" error when accessing
"document" variable, see jQuer
Login.c(90): y #13936\n
Login.c(90): \t// IE6-8 do not support the defaultView property so parent will
be undefined\n
Login.c(90): \tif ( parent && parent !== parent.top ) {\n
Login.c(90): \t\t// IE11 does not have attachEvent, so all must suffer\n
Login.c(90): \t\tif ( parent.addEventListener ) {\n
Login.c(90): \t\t\tparent.addEventListener( "unload", function() {\n
Login.c(90): \t\t\t\tsetDocument();\n
Login.c(90): \t\t\t}, false );\n
Login.c(90): \t\t} else if ( parent.attachEvent ) {\n
Login.c(90): \t\t\tparent.attachEvent( "onunload", function() {\n
Login.c(90): \t\t\t\tsetDocument();\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t/* Attributes\n
Login.c(90):
\t---------------------------------------------------------------------- */\n
Login.c(90): \n
Login.c(90): \t// Support: IE<8\n
Login.c(90): \t// Verify that getAttribute really returns attributes and not
properties (excepting IE8
Login.c(90): booleans)\n
Login.c(90): \tsupport.attributes = assert(function( div ) {\n
Login.c(90): \t\tdiv.className = "i";\n
Login.c(90): \t\treturn !div.getAttribute("className");\n
Login.c(90): \t});\n
Login.c(90): \n
Login.c(90): \t/* getElement(s)By*\n
Login.c(90):
\t---------------------------------------------------------------------- */\n
Login.c(90): \n
Login.c(90): \t// Check if getElementsByTagName("*") returns only elements\n
Login.c(90): \tsupport.getElementsByTagName = assert(function( div ) {\n
Login.c(90): \t\tdiv.appendChild( doc.createComment("") );\n
Login.c(90): \t\treturn !div.getElementsByTagName("*").length;\n
Login.c(90): \t});\n
Login.c(90): \n
Login.c(90): \t// Check if getElementsByClassName can be trusted\n
Login.c(90): \tsupport.getElementsByClassName =
rnative.test( doc.getElementsByClassName ) && assert(fu
Login.c(90): nction( div ) {\n
Login.c(90): \t\tdiv.innerHTML = "<div class='a'></div><div class='a
i'></div>";\n
Login.c(90): \n
Login.c(90): \t\t// Support: Safari<4\n
Login.c(90): \t\t// Catch class over-caching\n
Login.c(90): \t\tdiv.firstChild.className = "i";\n
Login.c(90): \t\t// Support: Opera<10\n
Login.c(90): \t\t// Catch gEBCN failure to find non-leading classes\n
Login.c(90): \t\treturn div.getElementsByClassName("i").length === 2;\n
Login.c(90): \t});\n
Login.c(90): \n
Login.c(90): \t// Support: IE<10\n
Login.c(90): \t// Check if getElementById returns elements by name\n
Login.c(90): \t// The broken getElementById methods don't pick up
programatically-set names,\n
Login.c(90): \t// so use a roundabout getElementsByName test\n
Login.c(90): \tsupport.getById = assert(function( div ) {\n
Login.c(90): \t\tdocElem.appendChild( div ).id = expando;\n
Login.c(90): \t\treturn !doc.getElementsByName || !
doc.getElementsByName( expando ).length;\n
Login.c(90): \t});\n
Login.c(90): \n
Login.c(90): \t// ID find and filter\n
Login.c(90): \tif ( support.getById ) {\n
Login.c(90): \t\tExpr.find["ID"] = function( id, context ) {\n
Login.c(90): \t\t\tif ( typeof context.getElementById !== strundefined &&
documentIsHTML ) {\n
Login.c(90): \t\t\t\tvar m = context.getElementById( id );\n
Login.c(90): \t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n
Login.c(90): \t\t\t\t// nodes that are no longer in the document #6963\n
Login.c(90): \t\t\t\treturn m && m.parentNode ? [ m ] : [];\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): \t\tExpr.filter["ID"] = function( id ) {\n
Login.c(90): \t\t\tvar attrId = id.replace( runescape, funescape );\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\treturn elem.getAttribute("id") === attrId;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t};\n
Login.c(90): \t} else {\n
Login.c(90): \t\t// Support: IE6/7\n
Login.c(90): \t\t// getElementById is not reliable as a find shortcut\n
Login.c(90): \t\tdelete Expr.find["ID"];\n
Login.c(90): \n
Login.c(90): \t\tExpr.filter["ID"] = function( id ) {\n
Login.c(90): \t\t\tvar attrId = id.replace( runescape, funescape );\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\tvar node = typeof elem.getAttributeNode !== strundefined
&& elem.getAttributeNode(
Login.c(90): "id");\n
Login.c(90): \t\t\t\treturn node && node.value === attrId;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t};\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Tag\n
Login.c(90): \tExpr.find["TAG"] = support.getElementsByTagName ?\n
Login.c(90): \t\tfunction( tag, context ) {\n
Login.c(90): \t\t\tif ( typeof context.getElementsByTagName !== strundefined )
{\n
Login.c(90): \t\t\t\treturn context.getElementsByTagName( tag );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} :\n
Login.c(90): \t\tfunction( tag, context ) {\n
Login.c(90): \t\t\tvar elem,\n
Login.c(90): \t\t\t\ttmp = [],\n
Login.c(90): \t\t\t\ti = 0,\n
Login.c(90): \t\t\t\tresults = context.getElementsByTagName( tag );\n
Login.c(90): \n
Login.c(90): \t\t\t// Filter out possible comments\n
Login.c(90): \t\t\tif ( tag === "*" ) {\n
Login.c(90): \t\t\t\twhile ( (elem = results[i++]) ) {\n
Login.c(90): \t\t\t\t\tif ( elem.nodeType === 1 ) {\n
Login.c(90): \t\t\t\t\t\ttmp.push( elem );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn tmp;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn results;\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t// Class\n
Login.c(90): \tExpr.find["CLASS"] = support.getElementsByClassName && function(
className, context ) {\n
Login.c(90): \t\tif ( typeof context.getElementsByClassName !== strundefined &&
documentIsHTML ) {\n
Login.c(90): \t\t\treturn context.getElementsByClassName( className );\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \t/* QSA/matchesSelector\n
Login.c(90):
\t---------------------------------------------------------------------- */\n
Login.c(90): \n
Login.c(90): \t// QSA and matchesSelector support\n
Login.c(90): \n
Login.c(90): \t// matchesSelector(:active) reports false when true (IE9/Opera
11.5)\n
Login.c(90): \trbuggyMatches = [];\n
Login.c(90): \n
Login.c(90): \t// qSa(:focus) reports false when true (Chrome 21)\n
Login.c(90): \t// We allow this because of a bug in IE8/9 that throws an
error\n
Login.c(90): \t// whenever `document.activeElement` is accessed on an iframe\n
Login.c(90): \t// So, we allow :focus to pass through QSA all the time to avoid
the IE error\n
Login.c(90): \t// See http://bugs.jquery.com/ticket/13378\n
Login.c(90): \trbuggyQSA = [];\n
Login.c(90): \n
Login.c(90): \tif ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {\n
Login.c(90): \t\t// Build QSA regex\n
Login.c(90): \t\t// Regex strategy adopted from Diego Perini\n
Login.c(90): \t\tassert(function( div ) {\n
Login.c(90): \t\t\t// Select is set to empty string on purpose\n
Login.c(90): \t\t\t// This is to test IE's treatment of not explicitly\n
Login.c(90): \t\t\t// setting a boolean content attribute,\n
Login.c(90): \t\t\t// since its presence should be enough\n
Login.c(90): \t\t\t// http://bugs.jquery.com/ticket/12359\n
Login.c(90): \t\t\tdiv.innerHTML = "<select msallowclip=''><option
selected=''></option></select>";\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: IE8, Opera 11-12.16\n
Login.c(90): \t\t\t// Nothing should be selected when empty strings follow ^=
or $= or *=\n
Login.c(90): \t\t\t// The test attribute must be unknown in Opera but "safe"
for WinRT\n
Login.c(90): \t\t\t// http://msdn.microsoft.com/en-
us/library/ie/hh465388.aspx#attribute_section\n
Login.c(90): \t\t\tif ( div.querySelectorAll("[msallowclip^='']").length ) {\n
Login.c(90): \t\t\t\trbuggyQSA.push( "[*^$]=" + whitespace +
"*(?:''|\\"\\")" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: IE8\n
Login.c(90): \t\t\t// Boolean attributes and "value" are not treated
correctly\n
Login.c(90): \t\t\tif ( !div.querySelectorAll("[selected]").length ) {\n
Login.c(90): \t\t\t\trbuggyQSA.push( "\\\\[" + whitespace + "*(?:value|" +
booleans + ")" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Webkit/Opera - :checked should return selected option
elements\n
Login.c(90): \t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-
20110929/#checked\n
Login.c(90): \t\t\t// IE8 throws error here and will not see later tests\n
Login.c(90): \t\t\tif ( !div.querySelectorAll(":checked").length ) {\n
Login.c(90): \t\t\t\trbuggyQSA.push(":checked");\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t\tassert(function( div ) {\n
Login.c(90): \t\t\t// Support: Windows 8 Native Apps\n
Login.c(90): \t\t\t// The type and name attributes are restricted during
.innerHTML assignment\n
Login.c(90): \t\t\tvar input = doc.createElement("input");\n
Login.c(90): \t\t\tinput.setAttribute( "type", "hidden" );\n
Login.c(90): \t\t\tdiv.appendChild( input ).setAttribute( "name", "D" );\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: IE8\n
Login.c(90): \t\t\t// Enforce case-sensitivity of name attribute\n
Login.c(90): \t\t\tif ( div.querySelectorAll("[name=d]").length ) {\n
Login.c(90): \t\t\t\trbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden
elements are still enable
Login.c(90): d)\n
Login.c(90): \t\t\t// IE8 throws error here and will not see later tests\n
Login.c(90): \t\t\tif ( !div.querySelectorAll(":enabled").length ) {\n
Login.c(90): \t\t\t\trbuggyQSA.push( ":enabled", ":disabled" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Opera 10-11 does not throw on post-comma invalid
pseudos\n
Login.c(90): \t\t\tdiv.querySelectorAll("*,:x");\n
Login.c(90): \t\t\trbuggyQSA.push(",.*:");\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( (support.matchesSelector = rnative.test( (matches =
docElem.matches ||\n
Login.c(90): \t\tdocElem.webkitMatchesSelector ||\n
Login.c(90): \t\tdocElem.mozMatchesSelector ||\n
Login.c(90): \t\tdocElem.oMatchesSelector ||\n
Login.c(90): \t\tdocElem.msMatchesSelector) )) ) {\n
Login.c(90): \n
Login.c(90): \t\tassert(function( div ) {\n
Login.c(90): \t\t\t// Check to see if it's possible to do matchesSelector\n
Login.c(90): \t\t\t// on a disconnected node (IE 9)\n
Login.c(90): \t\t\tsupport.disconnectedMatch = matches.call( div, "div" );\n
Login.c(90): \n
Login.c(90): \t\t\t// This should fail with an exception\n
Login.c(90): \t\t\t// Gecko does not error, returns false instead\n
Login.c(90): \t\t\tmatches.call( div, "[s!='']:x" );\n
Login.c(90): \t\t\trbuggyMatches.push( "!=", pseudos );\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \trbuggyQSA = rbuggyQSA.length && new
RegExp( rbuggyQSA.join("|") );\n
Login.c(90): \trbuggyMatches = rbuggyMatches.length && new
RegExp( rbuggyMatches.join("|") );\n
Login.c(90): \n
Login.c(90): \t/* Contains\n
Login.c(90):
\t---------------------------------------------------------------------- */\n
Login.c(90): \thasCompare = rnative.test( docElem.compareDocumentPosition );\n
Login.c(90): \n
Login.c(90): \t// Element contains another\n
Login.c(90): \t// Purposefully does not implement inclusive descendent\n
Login.c(90): \t// As in, an element does not contain itself\n
Login.c(90): \tcontains = hasCompare || rnative.test( docElem.contains ) ?\n
Login.c(90): \t\tfunction( a, b ) {\n
Login.c(90): \t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n
Login.c(90): \t\t\t\tbup = b && b.parentNode;\n
Login.c(90): \t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n
Login.c(90): \t\t\t\tadown.contains ?\n
Login.c(90): \t\t\t\t\tadown.contains( bup ) :\n
Login.c(90): \t\t\t\t\ta.compareDocumentPosition &&
a.compareDocumentPosition( bup ) & 16\n
Login.c(90): \t\t\t));\n
Login.c(90): \t\t} :\n
Login.c(90): \t\tfunction( a, b ) {\n
Login.c(90): \t\t\tif ( b ) {\n
Login.c(90): \t\t\t\twhile ( (b = b.parentNode) ) {\n
Login.c(90): \t\t\t\t\tif ( b === a ) {\n
Login.c(90): \t\t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn false;\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t/* Sorting\n
Login.c(90):
\t---------------------------------------------------------------------- */\n
Login.c(90): \n
Login.c(90): \t// Document order sorting\n
Login.c(90): \tsortOrder = hasCompare ?\n
Login.c(90): \tfunction( a, b ) {\n
Login.c(90): \n
Login.c(90): \t\t// Flag for duplicate removal\n
Login.c(90): \t\tif ( a === b ) {\n
Login.c(90): \t\t\thasDuplicate = true;\n
Login.c(90): \t\t\treturn 0
Login.c(90): t=1553ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Sort on method existence if only one input has
compareDocumentPosition\n
Login.c(90): \t\tvar compare = !a.compareDocumentPosition - !
b.compareDocumentPosition;\n
Login.c(90): \t\tif ( compare ) {\n
Login.c(90): \t\t\treturn compare;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Calculate position if both inputs belong to the same
document\n
Login.c(90): \t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument ||
b ) ?\n
Login.c(90): \t\t\ta.compareDocumentPosition( b ) :\n
Login.c(90): \n
Login.c(90): \t\t\t// Otherwise we know they are disconnected\n
Login.c(90): \t\t\t1;\n
Login.c(90): \n
Login.c(90): \t\t// Disconnected nodes\n
Login.c(90): \t\tif ( compare & 1 ||\n
Login.c(90): \t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) ===
compare) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Choose the first element that is related to our preferred
document\n
Login.c(90): \t\t\tif ( a === doc || a.ownerDocument === preferredDoc &&
contains(preferredDoc, a) ) {\n
Login.c(90): \t\t\t\treturn -1;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tif ( b === doc || b.ownerDocument === preferredDoc &&
contains(preferredDoc, b) ) {\n
Login.c(90): \t\t\t\treturn 1;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Maintain original order\n
Login.c(90): \t\t\treturn sortInput ?\n
Login.c(90): \t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput,
b ) ) :\n
Login.c(90): \t\t\t\t0;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn compare & 4 ? -1 : 1;\n
Login.c(90): \t} :\n
Login.c(90): \tfunction( a, b ) {\n
Login.c(90): \t\t// Exit early if the nodes are identical\n
Login.c(90): \t\tif ( a === b ) {\n
Login.c(90): \t\t\thasDuplicate = true;\n
Login.c(90): \t\t\treturn 0;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar cur,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\taup = a.parentNode,\n
Login.c(90): \t\t\tbup = b.parentNode,\n
Login.c(90): \t\t\tap = [ a ],\n
Login.c(90): \t\t\tbp = [ b ];\n
Login.c(90): \n
Login.c(90): \t\t// Parentless nodes are either documents or disconnected\n
Login.c(90): \t\tif ( !aup || !bup ) {\n
Login.c(90): \t\t\treturn a === doc ? -1 :\n
Login.c(90): \t\t\t\tb === doc ? 1 :\n
Login.c(90): \t\t\t\taup ? -1 :\n
Login.c(90): \t\t\t\tbup ? 1 :\n
Login.c(90): \t\t\t\tsortInput ?\n
Login.c(90): \t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput,
b ) ) :\n
Login.c(90): \t\t\t\t0;\n
Login.c(90): \n
Login.c(90): \t\t// If the nodes are siblings, we can do a quick check\n
Login.c(90): \t\t} else if ( aup === bup ) {\n
Login.c(90): \t\t\treturn siblingCheck( a, b );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Otherwise we need full lists of their ancestors for
comparison\n
Login.c(90): \t\tcur = a;\n
Login.c(90): \t\twhile ( (cur = cur.parentNode) ) {\n
Login.c(90): \t\t\tap.unshift( cur );\n
Login.c(90): \t\t}\n
Login.c(90): \t\tcur = b;\n
Login.c(90): \t\twhile ( (cur = cur.parentNode) ) {\n
Login.c(90): \t\t\tbp.unshift( cur );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Walk down the tree looking for a discrepancy\n
Login.c(90): \t\twhile ( ap[i] === bp[i] ) {\n
Login.c(90): \t\t\ti++;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn i ?\n
Login.c(90): \t\t\t// Do a sibling check if the nodes have a common ancestor\n
Login.c(90): \t\t\tsiblingCheck( ap[i], bp[i] ) :\n
Login.c(90): \n
Login.c(90): \t\t\t// Otherwise nodes in our document sort first\n
Login.c(90): \t\t\tap[i] === preferredDoc ? -1 :\n
Login.c(90): \t\t\tbp[i] === preferredDoc ? 1 :\n
Login.c(90): \t\t\t0;\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \treturn doc;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Sizzle.matches = function( expr, elements ) {\n
Login.c(90): \treturn Sizzle( expr, null, null, elements );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Sizzle.matchesSelector = function( elem, expr ) {\n
Login.c(90): \t// Set document vars if needed\n
Login.c(90): \tif ( ( elem.ownerDocument || elem ) !== document ) {\n
Login.c(90): \t\tsetDocument( elem );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Make sure that attribute selectors are quoted\n
Login.c(90): \texpr = expr.replace( rattributeQuotes, "='$1']" );\n
Login.c(90): \n
Login.c(90): \tif ( support.matchesSelector && documentIsHTML &&\n
Login.c(90): \t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n
Login.c(90): \t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n
Login.c(90): \n
Login.c(90): \t\ttry {\n
Login.c(90): \t\t\tvar ret = matches.call( elem, expr );\n
Login.c(90): \n
Login.c(90): \t\t\t// IE 9's matchesSelector returns false on disconnected
nodes\n
Login.c(90): \t\t\tif ( ret || support.disconnectedMatch ||\n
Login.c(90): \t\t\t\t\t// As well, disconnected nodes are said to be in a
document\n
Login.c(90): \t\t\t\t\t// fragment in IE 9\n
Login.c(90): \t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n
Login.c(90): \t\t\t\treturn ret;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} catch(e) {}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Sizzle.contains = function( context, elem ) {\n
Login.c(90): \t// Set document vars if needed\n
Login.c(90): \tif ( ( context.ownerDocument || context ) !== document ) {\n
Login.c(90): \t\tsetDocument( context );\n
Login.c(90): \t}\n
Login.c(90): \treturn contains( context, elem );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Sizzle.attr = function( elem, name ) {\n
Login.c(90): \t// Set document vars if needed\n
Login.c(90): \tif ( ( elem.ownerDocument || elem ) !== document ) {\n
Login.c(90): \t\tsetDocument( elem );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n
Login.c(90): \t\t// Don't get fooled by Object.prototype properties (jQuery
#13807)\n
Login.c(90): \t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() )
?\n
Login.c(90): \t\t\tfn( elem, name, !documentIsHTML ) :\n
Login.c(90): \t\t\tundefined;\n
Login.c(90): \n
Login.c(90): \treturn val !== undefined ?\n
Login.c(90): \t\tval :\n
Login.c(90): \t\tsupport.attributes || !documentIsHTML ?\n
Login.c(90): \t\t\telem.getAttribute( name ) :\n
Login.c(90): \t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n
Login.c(90): \t\t\t\tval.value :\n
Login.c(90): \t\t\t\tnull;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Sizzle.error = function( msg ) {\n
Login.c(90): \tthrow new Error( "Syntax error, unrecognized expression: " + msg
);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Document sorting and removing duplicates\n
Login.c(90): * @param {ArrayLike} results\n
Login.c(90): */\n
Login.c(90): Sizzle.uniqueSort = function( results ) {\n
Login.c(90): \tvar elem,\n
Login.c(90): \t\tduplicates = [],\n
Login.c(90): \t\tj = 0,\n
Login.c(90): \t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t// Unless we *know* we can detect duplicates, assume their
presence\n
Login.c(90): \thasDuplicate = !support.detectDuplicates;\n
Login.c(90): \tsortInput = !support.sortStable && results.slice( 0 );\n
Login.c(90): \tresults.sort( sortOrder );\n
Login.c(90): \n
Login.c(90): \tif ( hasDuplicate ) {\n
Login.c(90): \t\twhile ( (elem = results[i++]) ) {\n
Login.c(90): \t\t\tif ( elem === results[ i ] ) {\n
Login.c(90): \t\t\t\tj = duplicates.push( i );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\twhile ( j-- ) {\n
Login.c(90): \t\t\tresults.splice( duplicates[ j ], 1 );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Clear input after sorting to release objects\n
Login.c(90): \t// See https://github.com/jquery/sizzle/pull/225\n
Login.c(90): \tsortInput = null;\n
Login.c(90): \n
Login.c(90): \treturn results;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Utility function for retrieving the text value of an array of
DOM nodes\n
Login.c(90): * @param {Array|Element} elem\n
Login.c(90): */\n
Login.c(90): getText = Sizzle.getText = function( elem ) {\n
Login.c(90): \tvar node,\n
Login.c(90): \t\tret = "",\n
Login.c(90): \t\ti = 0,\n
Login.c(90): \t\tnodeType = elem.nodeType;\n
Login.c(90): \n
Login.c(90): \tif ( !nodeType ) {\n
Login.c(90): \t\t// If no nodeType, this is expected to be an array\n
Login.c(90): \t\twhile ( (node = elem[i++]) ) {\n
Login.c(90): \t\t\t// Do not traverse comment nodes\n
Login.c(90): \t\t\tret += getText( node );\n
Login.c(90): \t\t}\n
Login.c(90): \t} else if ( nodeType === 1 || nodeType === 9 || nodeType ===
11 ) {\n
Login.c(90): \t\t// Use textContent for elements\n
Login.c(90): \t\t// innerText usage removed for consistency of new lines
(jQuery #11153)\n
Login.c(90): \t\tif ( typeof elem.textContent === "string" ) {\n
Login.c(90): \t\t\treturn elem.textContent;\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// Traverse its children\n
Login.c(90): \t\t\tfor ( elem = elem.firstChild; elem; elem =
elem.nextSibling ) {\n
Login.c(90): \t\t\t\tret += getText( elem );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t} else if ( nodeType === 3 || nodeType === 4 ) {\n
Login.c(90): \t\treturn elem.nodeValue;\n
Login.c(90): \t}\n
Login.c(90): \t// Do not include comment or processing instruction nodes\n
Login.c(90): \n
Login.c(90): \treturn ret;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Expr = Sizzle.selectors = {\n
Login.c(90): \n
Login.c(90): \t// Can be adjusted by the user\n
Login.c(90): \tcacheLength: 50,\n
Login.c(90): \n
Login.c(90): \tcreatePseudo: markFunction,\n
Login.c(90): \n
Login.c(90): \tmatch: matchExpr,\n
Login.c(90): \n
Login.c(90): \tattrHandle: {},\n
Login.c(90): \n
Login.c(90): \tfind: {},\n
Login.c(90): \n
Login.c(90): \trelative: {\n
Login.c(90): \t\t">": { dir: "parentNode", first: true },\n
Login.c(90): \t\t" ": { dir: "parentNode" },\n
Login.c(90): \t\t"+": { dir: "previousSibling", first: true },\n
Login.c(90): \t\t"~": { dir: "previousSibling" }\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tpreFilter: {\n
Login.c(90): \t\t"ATTR": function( match ) {\n
Login.c(90): \t\t\tmatch[1] = match[1].replace( runescape, funescape );\n
Login.c(90): \n
Login.c(90): \t\t\t// Move the given value to match[3] whether quoted or
unquoted\n
Login.c(90): \t\t\tmatch[3] = ( match[3] || match[4] || match[5] ||
"" ).replace( runescape, funescape
Login.c(90): );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( match[2] === "~=" ) {\n
Login.c(90): \t\t\t\tmatch[3] = " " + match[3] + " ";\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn match.slice( 0, 4 );\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"CHILD": function( match ) {\n
Login.c(90): \t\t\t/* matches from matchExpr["CHILD"]\n
Login.c(90): \t\t\t\t1 type (only|nth|...)\n
Login.c(90): \t\t\t\t2 what (child|of-type)\n
Login.c(90): \t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n
Login.c(90): \t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n
Login.c(90): \t\t\t\t5 sign of xn-component\n
Login.c(90): \t\t\t\t6 x of xn-component\n
Login.c(90): \t\t\t\t7 sign of y-component\n
Login.c(90): \t\t\t\t8 y of y-component\n
Login.c(90): \t\t\t*/\n
Login.c(90): \t\t\tmatch[1] = match[1].toLowerCase();\n
Login.c(90): \n
Login.c(90): \t\t\tif ( match[1].slice( 0, 3 ) === "nth" ) {\n
Login.c(90): \t\t\t\t// nth-* requires argument\n
Login.c(90): \t\t\t\tif ( !match[3] ) {\n
Login.c(90): \t\t\t\t\tSizzle.error( match[0] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n
Login.c(90): \t\t\t\t// remember that false/true cast respectively to 0/1\n
Login.c(90): \t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 *
( match[3] === "even" ||
Login.c(90): match[3] === "odd" ) );\n
Login.c(90): \t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] ===
"odd" );\n
Login.c(90): \n
Login.c(90): \t\t\t// other types prohibit arguments\n
Login.c(90): \t\t\t} else if ( match[3] ) {\n
Login.c(90): \t\t\t\tSizzle.error( match[0] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn match;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"PSEUDO": function( match ) {\n
Login.c(90): \t\t\tvar excess,\n
Login.c(90): \t\t\t\tunquoted = !match[6] && match[2];\n
Login.c(90): \n
Login.c(90): \t\t\tif ( matchExpr["CHILD"].test( match[0] ) ) {\n
Login.c(90): \t\t\t\treturn null;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Accept quoted arguments as-is\n
Login.c(90): \t\t\tif ( match[3] ) {\n
Login.c(90): \t\t\t\tmatch[2] = match[4] || match[5] || "";\n
Login.c(90): \n
Login.c(90): \t\t\t// Strip excess characters from unquoted arguments\n
Login.c(90): \t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n
Login.c(90): \t\t\t\t// Get excess from tokenize (recursively)\n
Login.c(90): \t\t\t\t(excess = tokenize( unquoted, true )) &&\n
Login.c(90): \t\t\t\t// advance to the next closing parenthesis\n
Login.c(90): \t\t\t\t(excess = unquoted.indexOf( ")", unquoted.length -
excess ) - unquoted.length) ) {
Login.c(90): \n
Login.c(90): \n
Login.c(90): \t\t\t\t// excess is a negative index\n
Login.c(90): \t\t\t\tmatch[0] = match[0].slice( 0, excess );\n
Login.c(90): \t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Return only captures needed by the pseudo filter method
(type and argument)\n
Login.c(90): \t\t\treturn match.slice( 0, 3 );\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tfilter: {\n
Login.c(90): \n
Login.c(90): \t\t"TAG": function( nodeNameSelector ) {\n
Login.c(90): \t\t\tvar nodeName = nodeNameSelector.replace( runescape,
funescape ).toLowerCase();\n
Login.c(90): \t\t\treturn nodeNameSelector === "*" ?\n
Login.c(90): \t\t\t\tfunction() { return true; } :\n
Login.c(90): \t\t\t\tfunction( elem ) {\n
Login.c(90): \t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() ===
nodeName;\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"CLASS": function( className ) {\n
Login.c(90): \t\t\tvar pattern = classCache[ className + " " ];\n
Login.c(90): \n
Login.c(90): \t\t\treturn pattern ||\n
Login.c(90): \t\t\t\t(pattern = new RegExp( "(^|" + whitespace + ")" +
className + "(" + whitespace + "
Login.c(90): |$)" )) &&\n
Login.c(90): \t\t\t\tclassCache( className, function( elem ) {\n
Login.c(90): \t\t\t\t\treturn pattern.test( typeof elem.className === "string"
&& elem.className || typ
Login.c(90): eof elem.getAttribute !== strundefined &&
elem.getAttribute("class") || "" );\n
Login.c(90): \t\t\t\t});\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"ATTR": function( name, operator, check ) {\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\tvar result = Sizzle.attr( elem, name );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( result == null ) {\n
Login.c(90): \t\t\t\t\treturn operator === "!=";\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tif ( !operator ) {\n
Login.c(90): \t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\tresult += "";\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn operator === "=" ? result === check :\n
Login.c(90): \t\t\t\t\toperator === "!=" ? result !== check :\n
Login.c(90): \t\t\t\t\toperator === "^=" ? check && result.indexOf( check ) ===
0 :\n
Login.c(90): \t\t\t\t\toperator === "*=" ? check && result.indexOf( check ) >
-1 :\n
Login.c(90): \t\t\t\t\toperator === "$=" ? check && result.slice( -check.length
) === check :\n
Login.c(90): \t\t\t\t\toperator === "~=" ? ( " " + result + "
" ).indexOf( check ) > -1 :\n
Login.c(90): \t\t\t\t\toperator === "|=" ? result === check || result.slice( 0,
check.length + 1 ) ===
Login.c(90): check + "-" :\n
Login.c(90): \t\t\t\t\tfalse;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"CHILD": function( type, what, argument, first, last ) {\n
Login.c(90): \t\t\tvar simple = type.slice( 0, 3 ) !== "nth",\n
Login.c(90): \t\t\t\tforward = type.slice( -4 ) !== "last",\n
Login.c(90): \t\t\t\tofType = what === "of-type";\n
Login.c(90): \n
Login.c(90): \t\t\treturn first === 1 && last === 0 ?\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Shortcut for :nth-*(n)\n
Login.c(90): \t\t\t\tfunction( elem ) {\n
Login.c(90): \t\t\t\t\treturn !!elem.parentNode;\n
Login.c(90): \t\t\t\t} :\n
Login.c(90): \n
Login.c(90): \t\t\t\tfunction( elem, context, xml ) {\n
Login.c(90): \t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n
Login.c(90): \t\t\t\t\t\tdir = simple !== forward ? "nextSibling" :
"previousSibling",\n
Login.c(90): \t\t\t\t\t\tparent = elem.parentNode,\n
Login.c(90): \t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n
Login.c(90): \t\t\t\t\t\tuseCache = !xml && !ofType;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( parent ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n
Login.c(90): \t\t\t\t\t\tif ( simple ) {\n
Login.c(90): \t\t\t\t\t\t\twhile ( dir ) {\n
Login.c(90): \t\t\t\t\t\t\t\tnode = elem;\n
Login.c(90): \t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() ===
name : node.nodeType === 1
Login.c(90): ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't
yet done so)\n
Login.c(90): \t\t\t\t\t\t\t\tstart = dir = type === "only" && !start &&
"nextSibling";\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\tstart = [ forward ? parent.firstChild :
parent.lastChild ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on
`parent`\n
Login.c(90): \t\t\t\t\t\tif ( forward && useCache ) {\n
Login.c(90): \t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n
Login.c(90): \t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ]
= {});\n
Login.c(90): \t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n
Login.c(90): \t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n
Login.c(90): \t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n
Login.c(90): \t\t\t\t\t\t\tnode = nodeIndex &&
parent.childNodes[ nodeIndex ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ]
||\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n
Login.c(90): \t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and
break\n
Login.c(90): \t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node ===
elem ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex,
diff ];\n
Login.c(90): \t\t\t\t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Use previously-cached element index if available\n
Login.c(90): \t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] ||
(elem[ expando ] = {}))[
Login.c(90): type ]) && cache[0] === dirruns ) {\n
Login.c(90): \t\t\t\t\t\t\tdiff = cache[1];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or
:nth(-last)?-of-type(...)\n
Login.c(90): \t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from
the start\n
Login.c(90): \t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ]
||\n
Login.c(90): \t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() ===
name : node.nodeType === 1
Login.c(90): ) && ++diff ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n
Login.c(90): \t\t\t\t\t\t\t\t\tif ( useCache ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))
[ type ] = [ dirruns, diff
Login.c(90): ];\n
Login.c(90): t=1572ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): \t\t\t\t\t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t\t\tif ( node === elem ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Incorporate the offset, then check against cycle
size\n
Login.c(90): \t\t\t\t\t\tdiff -= last;\n
Login.c(90): \t\t\t\t\t\treturn diff === first || ( diff % first === 0 &&
diff / first >= 0 );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"PSEUDO": function( pseudo, argument ) {\n
Login.c(90): \t\t\t// pseudo-class names are case-insensitive\n
Login.c(90): \t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n
Login.c(90): \t\t\t// Prioritize by case sensitivity in case custom pseudos are
added with uppercase le
Login.c(90): tters\n
Login.c(90): \t\t\t// Remember that setFilters inherits from pseudos\n
Login.c(90): \t\t\tvar args,\n
Login.c(90): \t\t\t\tfn = Expr.pseudos[ pseudo ] ||
Expr.setFilters[ pseudo.toLowerCase() ] ||\n
Login.c(90): \t\t\t\t\tSizzle.error( "unsupported pseudo: " + pseudo );\n
Login.c(90): \n
Login.c(90): \t\t\t// The user may use createPseudo to indicate that\n
Login.c(90): \t\t\t// arguments are needed to create the filter function\n
Login.c(90): \t\t\t// just as Sizzle does\n
Login.c(90): \t\t\tif ( fn[ expando ] ) {\n
Login.c(90): \t\t\t\treturn fn( argument );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// But maintain support for old signatures\n
Login.c(90): \t\t\tif ( fn.length > 1 ) {\n
Login.c(90): \t\t\t\targs = [ pseudo, pseudo, "", argument ];\n
Login.c(90): \t\t\t\treturn
Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n
Login.c(90): \t\t\t\t\tmarkFunction(function( seed, matches ) {\n
Login.c(90): \t\t\t\t\t\tvar idx,\n
Login.c(90): \t\t\t\t\t\t\tmatched = fn( seed, argument ),\n
Login.c(90): \t\t\t\t\t\t\ti = matched.length;\n
Login.c(90): \t\t\t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\t\t\tidx = indexOf.call( seed, matched[i] );\n
Login.c(90): \t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}) :\n
Login.c(90): \t\t\t\t\tfunction( elem ) {\n
Login.c(90): \t\t\t\t\t\treturn fn( elem, 0, args );\n
Login.c(90): \t\t\t\t\t};\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn fn;\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tpseudos: {\n
Login.c(90): \t\t// Potentially complex pseudos\n
Login.c(90): \t\t"not": markFunction(function( selector ) {\n
Login.c(90): \t\t\t// Trim the selector passed to compile\n
Login.c(90): \t\t\t// to avoid treating leading and trailing\n
Login.c(90): \t\t\t// spaces as combinators\n
Login.c(90): \t\t\tvar input = [],\n
Login.c(90): \t\t\t\tresults = [],\n
Login.c(90): \t\t\t\tmatcher = compile( selector.replace( rtrim, "$1" ) );\n
Login.c(90): \n
Login.c(90): \t\t\treturn matcher[ expando ] ?\n
Login.c(90): \t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n
Login.c(90): \t\t\t\t\tvar elem,\n
Login.c(90): \t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n
Login.c(90): \t\t\t\t\t\ti = seed.length;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Match elements unmatched by `matcher`\n
Login.c(90): \t\t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n
Login.c(90): \t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}) :\n
Login.c(90): \t\t\t\tfunction( elem, context, xml ) {\n
Login.c(90): \t\t\t\t\tinput[0] = elem;\n
Login.c(90): \t\t\t\t\tmatcher( input, null, xml, results );\n
Login.c(90): \t\t\t\t\treturn !results.pop();\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"has": markFunction(function( selector ) {\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\treturn Sizzle( selector, elem ).length > 0;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"contains": markFunction(function( text ) {\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\treturn ( elem.textContent || elem.innerText ||
getText( elem ) ).indexOf( text ) >
Login.c(90): -1;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t// "Whether an element is represented by a :lang() selector\n
Login.c(90): \t\t// is based solely on the element's language value\n
Login.c(90): \t\t// being equal to the identifier C,\n
Login.c(90): \t\t// or beginning with the identifier C immediately followed by
"-".\n
Login.c(90): \t\t// The matching of C against the element's language value is
performed case-insensitiv
Login.c(90): ely.\n
Login.c(90): \t\t// The identifier C does not have to be a valid language
name."\n
Login.c(90): \t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n
Login.c(90): \t\t"lang": markFunction( function( lang ) {\n
Login.c(90): \t\t\t// lang value must be a valid identifier\n
Login.c(90): \t\t\tif ( !ridentifier.test(lang || "") ) {\n
Login.c(90): \t\t\t\tSizzle.error( "unsupported lang: " + lang );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n
Login.c(90): \t\t\treturn function( elem ) {\n
Login.c(90): \t\t\t\tvar elemLang;\n
Login.c(90): \t\t\t\tdo {\n
Login.c(90): \t\t\t\t\tif ( (elemLang = documentIsHTML ?\n
Login.c(90): \t\t\t\t\t\telem.lang :\n
Login.c(90): \t\t\t\t\t\telem.getAttribute("xml:lang") ||
elem.getAttribute("lang")) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\telemLang = elemLang.toLowerCase();\n
Login.c(90): \t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang +
"-" ) === 0;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType ===
1 );\n
Login.c(90): \t\t\t\treturn false;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t// Miscellaneous\n
Login.c(90): \t\t"target": function( elem ) {\n
Login.c(90): \t\t\tvar hash = window.location && window.location.hash;\n
Login.c(90): \t\t\treturn hash && hash.slice( 1 ) === elem.id;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"root": function( elem ) {\n
Login.c(90): \t\t\treturn elem === docElem;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"focus": function( elem ) {\n
Login.c(90): \t\t\treturn elem === document.activeElement && (!
document.hasFocus || document.hasFocus()
Login.c(90): ) && !!(elem.type || elem.href || ~elem.tabIndex);\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// Boolean properties\n
Login.c(90): \t\t"enabled": function( elem ) {\n
Login.c(90): \t\t\treturn elem.disabled === false;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"disabled": function( elem ) {\n
Login.c(90): \t\t\treturn elem.disabled === true;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"checked": function( elem ) {\n
Login.c(90): \t\t\t// In CSS3, :checked should return both checked and selected
elements\n
Login.c(90): \t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-
20110929/#checked\n
Login.c(90): \t\t\tvar nodeName = elem.nodeName.toLowerCase();\n
Login.c(90): \t\t\treturn (nodeName === "input" && !!elem.checked) || (nodeName
=== "option" && !!elem.
Login.c(90): selected);\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"selected": function( elem ) {\n
Login.c(90): \t\t\t// Accessing this property makes selected-by-default\n
Login.c(90): \t\t\t// options in Safari work properly\n
Login.c(90): \t\t\tif ( elem.parentNode ) {\n
Login.c(90): \t\t\t\telem.parentNode.selectedIndex;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn elem.selected === true;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// Contents\n
Login.c(90): \t\t"empty": function( elem ) {\n
Login.c(90): \t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n
Login.c(90): \t\t\t// :empty is negated by element (1) or content nodes (text:
3; cdata: 4; entity ref:
Login.c(90): 5),\n
Login.c(90): \t\t\t// but not by others (comment: 8; processing instruction:
7; etc.)\n
Login.c(90): \t\t\t// nodeType < 6 works because attributes (2) do not appear
as children\n
Login.c(90): \t\t\tfor ( elem = elem.firstChild; elem; elem =
elem.nextSibling ) {\n
Login.c(90): \t\t\t\tif ( elem.nodeType < 6 ) {\n
Login.c(90): \t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn true;\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"parent": function( elem ) {\n
Login.c(90): \t\t\treturn !Expr.pseudos["empty"]( elem );\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// Element/input types\n
Login.c(90): \t\t"header": function( elem ) {\n
Login.c(90): \t\t\treturn rheader.test( elem.nodeName );\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"input": function( elem ) {\n
Login.c(90): \t\t\treturn rinputs.test( elem.nodeName );\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"button": function( elem ) {\n
Login.c(90): \t\t\tvar name = elem.nodeName.toLowerCase();\n
Login.c(90): \t\t\treturn name === "input" && elem.type === "button" || name
=== "button";\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t"text": function( elem ) {\n
Login.c(90): \t\t\tvar attr;\n
Login.c(90): \t\t\treturn elem.nodeName.toLowerCase() === "input" &&\n
Login.c(90): \t\t\t\telem.type === "text" &&\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Support: IE<8\n
Login.c(90): \t\t\t\t// New HTML5 attribute values (e.g., "search") appear with
elem.type === "text"\n
Login.c(90): \t\t\t\t( (attr = elem.getAttribute("type")) == null ||
attr.toLowerCase() === "text" );\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// Position-in-collection\n
Login.c(90): \t\t"first": createPositionalPseudo(function() {\n
Login.c(90): \t\t\treturn [ 0 ];\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"last": createPositionalPseudo(function( matchIndexes,
length ) {\n
Login.c(90): \t\t\treturn [ length - 1 ];\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"eq": createPositionalPseudo(function( matchIndexes, length,
argument ) {\n
Login.c(90): \t\t\treturn [ argument < 0 ? argument + length : argument ];\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"even": createPositionalPseudo(function( matchIndexes,
length ) {\n
Login.c(90): \t\t\tvar i = 0;\n
Login.c(90): \t\t\tfor ( ; i < length; i += 2 ) {\n
Login.c(90): \t\t\t\tmatchIndexes.push( i );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn matchIndexes;\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"odd": createPositionalPseudo(function( matchIndexes, length )
{\n
Login.c(90): \t\t\tvar i = 1;\n
Login.c(90): \t\t\tfor ( ; i < length; i += 2 ) {\n
Login.c(90): \t\t\t\tmatchIndexes.push( i );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn matchIndexes;\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"lt": createPositionalPseudo(function( matchIndexes, length,
argument ) {\n
Login.c(90): \t\t\tvar i = argument < 0 ? argument + length : argument;\n
Login.c(90): \t\t\tfor ( ; --i >= 0; ) {\n
Login.c(90): \t\t\t\tmatchIndexes.push( i );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn matchIndexes;\n
Login.c(90): \t\t}),\n
Login.c(90): \n
Login.c(90): \t\t"gt": createPositionalPseudo(function( matchIndexes, length,
argument ) {\n
Login.c(90): \t\t\tvar i = argument < 0 ? argument + length : argument;\n
Login.c(90): \t\t\tfor ( ; ++i < length; ) {\n
Login.c(90): \t\t\t\tmatchIndexes.push( i );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn matchIndexes;\n
Login.c(90): \t\t})\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Expr.pseudos["nth"] = Expr.pseudos["eq"];\n
Login.c(90): \n
Login.c(90): // Add button/input type pseudos\n
Login.c(90): for ( i in { radio: true, checkbox: true, file: true, password:
true, image: true } ) {\n
Login.c(90): \tExpr.pseudos[ i ] = createInputPseudo( i );\n
Login.c(90): }\n
Login.c(90): for ( i in { submit: true, reset: true } ) {\n
Login.c(90): \tExpr.pseudos[ i ] = createButtonPseudo( i );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Easy API for creating new setFilters\n
Login.c(90): function setFilters() {}\n
Login.c(90): setFilters.prototype = Expr.filters = Expr.pseudos;\n
Login.c(90): Expr.setFilters = new setFilters();\n
Login.c(90): \n
Login.c(90): tokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n
Login.c(90): \tvar matched, match, tokens, type,\n
Login.c(90): \t\tsoFar, groups, preFilters,\n
Login.c(90): \t\tcached = tokenCache[ selector + " " ];\n
Login.c(90): \n
Login.c(90): \tif ( cached ) {\n
Login.c(90): \t\treturn parseOnly ? 0 : cached.slice( 0 );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tsoFar = selector;\n
Login.c(90): \tgroups = [];\n
Login.c(90): \tpreFilters = Expr.preFilter;\n
Login.c(90): \n
Login.c(90): \twhile ( soFar ) {\n
Login.c(90): \n
Login.c(90): \t\t// Comma and first run\n
Login.c(90): \t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n
Login.c(90): \t\t\tif ( match ) {\n
Login.c(90): \t\t\t\t// Don't consume trailing commas as valid\n
Login.c(90): \t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tgroups.push( (tokens = []) );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tmatched = false;\n
Login.c(90): \n
Login.c(90): \t\t// Combinators\n
Login.c(90): \t\tif ( (match = rcombinators.exec( soFar )) ) {\n
Login.c(90): \t\t\tmatched = match.shift();\n
Login.c(90): \t\t\ttokens.push({\n
Login.c(90): \t\t\t\tvalue: matched,\n
Login.c(90): \t\t\t\t// Cast descendant combinators to space\n
Login.c(90): \t\t\t\ttype: match[0].replace( rtrim, " " )\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t\tsoFar = soFar.slice( matched.length );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Filters\n
Login.c(90): \t\tfor ( type in Expr.filter ) {\n
Login.c(90): \t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!
preFilters[ type ] ||\n
Login.c(90): \t\t\t\t(match = preFilters[ type ]( match ))) ) {\n
Login.c(90): \t\t\t\tmatched = match.shift();\n
Login.c(90): \t\t\t\ttokens.push({\n
Login.c(90): \t\t\t\t\tvalue: matched,\n
Login.c(90): \t\t\t\t\ttype: type,\n
Login.c(90): \t\t\t\t\tmatches: match\n
Login.c(90): \t\t\t\t});\n
Login.c(90): \t\t\t\tsoFar = soFar.slice( matched.length );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( !matched ) {\n
Login.c(90): \t\t\tbreak;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Return the length of the invalid excess\n
Login.c(90): \t// if we're just parsing\n
Login.c(90): \t// Otherwise, throw an error or return tokens\n
Login.c(90): \treturn parseOnly ?\n
Login.c(90): \t\tsoFar.length :\n
Login.c(90): \t\tsoFar ?\n
Login.c(90): \t\t\tSizzle.error( selector ) :\n
Login.c(90): \t\t\t// Cache the tokens\n
Login.c(90): \t\t\ttokenCache( selector, groups ).slice( 0 );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function toSelector( tokens ) {\n
Login.c(90): \tvar i = 0,\n
Login.c(90): \t\tlen = tokens.length,\n
Login.c(90): \t\tselector = "";\n
Login.c(90): \tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\tselector += tokens[i].value;\n
Login.c(90): \t}\n
Login.c(90): \treturn selector;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addCombinator( matcher, combinator, base ) {\n
Login.c(90): \tvar dir = combinator.dir,\n
Login.c(90): \t\tcheckNonElements = base && dir === "parentNode",\n
Login.c(90): \t\tdoneName = done++;\n
Login.c(90): \n
Login.c(90): \treturn combinator.first ?\n
Login.c(90): \t\t// Check against closest ancestor/preceding element\n
Login.c(90): \t\tfunction( elem, context, xml ) {\n
Login.c(90): \t\t\twhile ( (elem = elem[ dir ]) ) {\n
Login.c(90): \t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n
Login.c(90): \t\t\t\t\treturn matcher( elem, context, xml );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} :\n
Login.c(90): \n
Login.c(90): \t\t// Check against all ancestor/preceding elements\n
Login.c(90): \t\tfunction( elem, context, xml ) {\n
Login.c(90): \t\t\tvar oldCache, outerCache,\n
Login.c(90): \t\t\t\tnewCache = [ dirruns, doneName ];\n
Login.c(90): \n
Login.c(90): \t\t\t// We can't set arbitrary data on XML nodes, so they don't
benefit from dir caching\n
Login.c(90): \t\t\tif ( xml ) {\n
Login.c(90): \t\t\t\twhile ( (elem = elem[ dir ]) ) {\n
Login.c(90): \t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n
Login.c(90): \t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n
Login.c(90): \t\t\t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\twhile ( (elem = elem[ dir ]) ) {\n
Login.c(90): \t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n
Login.c(90): \t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] =
{});\n
Login.c(90): \t\t\t\t\t\tif ( (oldCache = outerCache[ dir ]) &&\n
Login.c(90): \t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] ===
doneName ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t// Assign to newCache so results back-propagate to
previous elements\n
Login.c(90): \t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n
Login.c(90): \t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t// Reuse newcache so results back-propagate to
previous elements\n
Login.c(90): \t\t\t\t\t\t\touterCache[ dir ] = newCache;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t// A match means we're done; a fail means we have to
keep checking\n
Login.c(90): \t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml ))
) {\n
Login.c(90): \t\t\t\t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function elementMatcher( matchers ) {\n
Login.c(90): \treturn matchers.length > 1 ?\n
Login.c(90): \t\tfunction( elem, context, xml ) {\n
Login.c(90): \t\t\tvar i = matchers.length;\n
Login.c(90): \t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n
Login.c(90): \t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn true;\n
Login.c(90): \t\t} :\n
Login.c(90): \t\tmatchers[0];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function multipleContexts( selector, contexts, results ) {\n
Login.c(90): \tvar i = 0,\n
Login.c(90): \t\tlen = contexts.length;\n
Login.c(90): \tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\tSizzle( selector, contexts[i], results );\n
Login.c(90): \t}\n
Login.c(90): \treturn results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function condense( unmatched, map, filter, context, xml ) {\n
Login.c(90): \tvar elem,\n
Login.c(90): \t\tnewUnmatched = [],\n
Login.c(90): \t\ti = 0,\n
Login.c(90): \t\tlen = unmatched.length,\n
Login.c(90): \t\tmapped = map != null;\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\tif ( (elem = unmatched[i]) ) {\n
Login.c(90): \t\t\tif ( !filter || filter( elem, context, xml ) ) {\n
Login.c(90): \t\t\t\tnewUnmatched.push( elem );\n
Login.c(90): \t\t\t\tif ( mapped ) {\n
Login.c(90): \t\t\t\t\tmap.push( i );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn newUnmatched;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setMatcher( preFilter, selector, matcher, postFilter,
postFinder, postSelector )
Login.c(90): {\n
Login.c(90): \tif ( postFilter && !postFilter[ expando ] ) {\n
Login.c(90): \t\tpostFilter = setMatcher( postFilter );\n
Login.c(90): \t}\n
Login.c(90): \tif ( postFinder && !postFinder[ expando ] ) {\n
Login.c(90): \t\tpostFinder = setMatcher( postFinder, postSelector );\n
Login.c(90): \t}\n
Login.c(90): \treturn markFunction(function( seed, results, context, xml ) {\n
Login.c(90): \t\tvar temp, i, elem,\n
Login.c(90): \t\t\tpreMap = [],\n
Login.c(90): \t\t\tpostMap = [],\n
Login.c(90): \t\t\tpreexisting = results.length,\n
Login.c(90): \n
Login.c(90): \t\t\t// Get initial elements from seed or context\n
Login.c(90): \t\t\telems = seed || multipleContexts( selector || "*",
context.nodeType ? [ context ] :
Login.c(90): context, [] ),\n
Login.c(90): \n
Login.c(90): \t\t\t// Prefilter to get matcher input,
Login.c(90): t=1591ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): preserving a map for seed-results synchronization\n
Login.c(90): \t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n
Login.c(90): \t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n
Login.c(90): \t\t\t\telems,\n
Login.c(90): \n
Login.c(90): \t\t\tmatcherOut = matcher ?\n
Login.c(90): \t\t\t\t// If we have a postFinder, or filtered seed, or non-seed
postFilter or preexistin
Login.c(90): g results,\n
Login.c(90): \t\t\t\tpostFinder || ( seed ? preFilter : preexisting ||
postFilter ) ?\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// ...intermediate processing is necessary\n
Login.c(90): \t\t\t\t\t[] :\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// ...otherwise use results directly\n
Login.c(90): \t\t\t\t\tresults :\n
Login.c(90): \t\t\t\tmatcherIn;\n
Login.c(90): \n
Login.c(90): \t\t// Find primary matches\n
Login.c(90): \t\tif ( matcher ) {\n
Login.c(90): \t\t\tmatcher( matcherIn, matcherOut, context, xml );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Apply postFilter\n
Login.c(90): \t\tif ( postFilter ) {\n
Login.c(90): \t\t\ttemp = condense( matcherOut, postMap );\n
Login.c(90): \t\t\tpostFilter( temp, [], context, xml );\n
Login.c(90): \n
Login.c(90): \t\t\t// Un-match failing elements by moving them back to
matcherIn\n
Login.c(90): \t\t\ti = temp.length;\n
Login.c(90): \t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\tif ( (elem = temp[i]) ) {\n
Login.c(90): \t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] =
elem);\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( seed ) {\n
Login.c(90): \t\t\tif ( postFinder || preFilter ) {\n
Login.c(90): \t\t\t\tif ( postFinder ) {\n
Login.c(90): \t\t\t\t\t// Get the final matcherOut by condensing this
intermediate into postFinder cont
Login.c(90): exts\n
Login.c(90): \t\t\t\t\ttemp = [];\n
Login.c(90): \t\t\t\t\ti = matcherOut.length;\n
Login.c(90): \t\t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n
Login.c(90): \t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final
match\n
Login.c(90): \t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Move matched elements from seed to results to keep them
synchronized\n
Login.c(90): \t\t\t\ti = matcherOut.length;\n
Login.c(90): \t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\tif ( (elem = matcherOut[i]) &&\n
Login.c(90): \t\t\t\t\t\t(temp = postFinder ? indexOf.call( seed, elem ) :
preMap[i]) > -1 ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Add elements to results, through postFinder if defined\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tmatcherOut = condense(\n
Login.c(90): \t\t\t\tmatcherOut === results ?\n
Login.c(90): \t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n
Login.c(90): \t\t\t\t\tmatcherOut\n
Login.c(90): \t\t\t);\n
Login.c(90): \t\t\tif ( postFinder ) {\n
Login.c(90): \t\t\t\tpostFinder( null, results, matcherOut, xml );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tpush.apply( results, matcherOut );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matcherFromTokens( tokens ) {\n
Login.c(90): \tvar checkContext, matcher, j,\n
Login.c(90): \t\tlen = tokens.length,\n
Login.c(90): \t\tleadingRelative = Expr.relative[ tokens[0].type ],\n
Login.c(90): \t\timplicitRelative = leadingRelative || Expr.relative[" "],\n
Login.c(90): \t\ti = leadingRelative ? 1 : 0,\n
Login.c(90): \n
Login.c(90): \t\t// The foundational matcher ensures that elements are
reachable from top-level context
Login.c(90): (s)\n
Login.c(90): \t\tmatchContext = addCombinator( function( elem ) {\n
Login.c(90): \t\t\treturn elem === checkContext;\n
Login.c(90): \t\t}, implicitRelative, true ),\n
Login.c(90): \t\tmatchAnyContext = addCombinator( function( elem ) {\n
Login.c(90): \t\t\treturn indexOf.call( checkContext, elem ) > -1;\n
Login.c(90): \t\t}, implicitRelative, true ),\n
Login.c(90): \t\tmatchers = [ function( elem, context, xml ) {\n
Login.c(90): \t\t\treturn ( !leadingRelative && ( xml || context !==
outermostContext ) ) || (\n
Login.c(90): \t\t\t\t(checkContext = context).nodeType ?\n
Login.c(90): \t\t\t\t\tmatchContext( elem, context, xml ) :\n
Login.c(90): \t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n
Login.c(90): \t\t} ];\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n
Login.c(90): \t\t\tmatchers = [ addCombinator(elementMatcher( matchers ),
matcher) ];\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null,
tokens[i].matches );\n
Login.c(90): \n
Login.c(90): \t\t\t// Return special upon seeing a positional matcher\n
Login.c(90): \t\t\tif ( matcher[ expando ] ) {\n
Login.c(90): \t\t\t\t// Find the next relative operator (if any) for proper
handling\n
Login.c(90): \t\t\t\tj = ++i;\n
Login.c(90): \t\t\t\tfor ( ; j < len; j++ ) {\n
Login.c(90): \t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n
Login.c(90): \t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn setMatcher(\n
Login.c(90): \t\t\t\t\ti > 1 && elementMatcher( matchers ),\n
Login.c(90): \t\t\t\t\ti > 1 && toSelector(\n
Login.c(90): \t\t\t\t\t\t// If the preceding token was a descendant combinator,
insert an implicit any-
Login.c(90): element `*`\n
Login.c(90): \t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2
].type === " " ? "*" :
Login.c(90): "" })\n
Login.c(90): \t\t\t\t\t).replace( rtrim, "$1" ),\n
Login.c(90): \t\t\t\t\tmatcher,\n
Login.c(90): \t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n
Login.c(90): \t\t\t\t\tj < len && matcherFromTokens( (tokens =
tokens.slice( j )) ),\n
Login.c(90): \t\t\t\t\tj < len && toSelector( tokens )\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tmatchers.push( matcher );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn elementMatcher( matchers );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matcherFromGroupMatchers( elementMatchers, setMatchers )
{\n
Login.c(90): \tvar bySet = setMatchers.length > 0,\n
Login.c(90): \t\tbyElement = elementMatchers.length > 0,\n
Login.c(90): \t\tsuperMatcher = function( seed, context, xml, results,
outermost ) {\n
Login.c(90): \t\t\tvar elem, j, matcher,\n
Login.c(90): \t\t\t\tmatchedCount = 0,\n
Login.c(90): \t\t\t\ti = "0",\n
Login.c(90): \t\t\t\tunmatched = seed && [],\n
Login.c(90): \t\t\t\tsetMatched = [],\n
Login.c(90): \t\t\t\tcontextBackup = outermostContext,\n
Login.c(90): \t\t\t\t// We must always have either seed elements or outermost
context\n
Login.c(90): \t\t\t\telems = seed || byElement && Expr.find["TAG"]( "*",
outermost ),\n
Login.c(90): \t\t\t\t// Use integer dirruns iff this is the outermost matcher\n
Login.c(90): \t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 :
Math.random() || 0.1),\n
Login.c(90): \t\t\t\tlen = elems.length;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( outermost ) {\n
Login.c(90): \t\t\t\toutermostContext = context !== document && context;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Add elements passing elementMatchers directly to
results\n
Login.c(90): \t\t\t// Keep `i` a string if there are no elements so
`matchedCount` will be "00" below\n
Login.c(90): \t\t\t// Support: IE<9, Safari\n
Login.c(90): \t\t\t// Tolerate NodeList properties (IE: "length"; Safari:
<number>) matching elements b
Login.c(90): y id\n
Login.c(90): \t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n
Login.c(90): \t\t\t\tif ( byElement && elem ) {\n
Login.c(90): \t\t\t\t\tj = 0;\n
Login.c(90): \t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n
Login.c(90): \t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n
Login.c(90): \t\t\t\t\t\t\tresults.push( elem );\n
Login.c(90): \t\t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tif ( outermost ) {\n
Login.c(90): \t\t\t\t\t\tdirruns = dirrunsUnique;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Track unmatched elements for set filters\n
Login.c(90): \t\t\t\tif ( bySet ) {\n
Login.c(90): \t\t\t\t\t// They will have gone through all possible matchers\n
Login.c(90): \t\t\t\t\tif ( (elem = !matcher && elem) ) {\n
Login.c(90): \t\t\t\t\t\tmatchedCount--;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Lengthen the array for every element, matched or
not\n
Login.c(90): \t\t\t\t\tif ( seed ) {\n
Login.c(90): \t\t\t\t\t\tunmatched.push( elem );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Apply set filters to unmatched elements\n
Login.c(90): \t\t\tmatchedCount += i;\n
Login.c(90): \t\t\tif ( bySet && i !== matchedCount ) {\n
Login.c(90): \t\t\t\tj = 0;\n
Login.c(90): \t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n
Login.c(90): \t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( seed ) {\n
Login.c(90): \t\t\t\t\t// Reintegrate element matches to eliminate the need for
sorting\n
Login.c(90): \t\t\t\t\tif ( matchedCount > 0 ) {\n
Login.c(90): \t\t\t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n
Login.c(90): \t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Discard index placeholder values to get only actual
matches\n
Login.c(90): \t\t\t\t\tsetMatched = condense( setMatched );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Add matches to results\n
Login.c(90): \t\t\t\tpush.apply( results, setMatched );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Seedless set matches succeeding multiple successful
matchers stipulate sorting\n
Login.c(90): \t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n
Login.c(90): \t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tSizzle.uniqueSort( results );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Override manipulation of globals by nested matchers\n
Login.c(90): \t\t\tif ( outermost ) {\n
Login.c(90): \t\t\t\tdirruns = dirrunsUnique;\n
Login.c(90): \t\t\t\toutermostContext = contextBackup;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn unmatched;\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \treturn bySet ?\n
Login.c(90): \t\tmarkFunction( superMatcher ) :\n
Login.c(90): \t\tsuperMatcher;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): compile = Sizzle.compile = function( selector, match /* Internal
Use Only */ ) {\n
Login.c(90): \tvar i,\n
Login.c(90): \t\tsetMatchers = [],\n
Login.c(90): \t\telementMatchers = [],\n
Login.c(90): \t\tcached = compilerCache[ selector + " " ];\n
Login.c(90): \n
Login.c(90): \tif ( !cached ) {\n
Login.c(90): \t\t// Generate a function of recursive functions that can be used
to check each element\n
Login.c(90): \t\tif ( !match ) {\n
Login.c(90): \t\t\tmatch = tokenize( selector );\n
Login.c(90): \t\t}\n
Login.c(90): \t\ti = match.length;\n
Login.c(90): \t\twhile ( i-- ) {\n
Login.c(90): \t\t\tcached = matcherFromTokens( match[i] );\n
Login.c(90): \t\t\tif ( cached[ expando ] ) {\n
Login.c(90): \t\t\t\tsetMatchers.push( cached );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\telementMatchers.push( cached );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Cache the compiled function\n
Login.c(90): \t\tcached = compilerCache( selector,
matcherFromGroupMatchers( elementMatchers, setMatche
Login.c(90): rs ) );\n
Login.c(90): \n
Login.c(90): \t\t// Save selector and tokenization\n
Login.c(90): \t\tcached.selector = selector;\n
Login.c(90): \t}\n
Login.c(90): \treturn cached;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A low-level selection function that works with Sizzle's
compiled\n
Login.c(90): * selector functions\n
Login.c(90): * @param {String|Function} selector A selector or a pre-
compiled\n
Login.c(90): * selector function built with Sizzle.compile\n
Login.c(90): * @param {Element} context\n
Login.c(90): * @param {Array} [results]\n
Login.c(90): * @param {Array} [seed] A set of elements to match against\n
Login.c(90): */\n
Login.c(90): select = Sizzle.select = function( selector, context, results,
seed ) {\n
Login.c(90): \tvar i, tokens, token, type, find,\n
Login.c(90): \t\tcompiled = typeof selector === "function" && selector,\n
Login.c(90): \t\tmatch = !seed && tokenize( (selector = compiled.selector ||
selector) );\n
Login.c(90): \n
Login.c(90): \tresults = results || [];\n
Login.c(90): \n
Login.c(90): \t// Try to minimize operations if there is no seed and only one
group\n
Login.c(90): \tif ( match.length === 1 ) {\n
Login.c(90): \n
Login.c(90): \t\t// Take a shortcut and set the context if the root selector is
an ID\n
Login.c(90): \t\ttokens = match[0] = match[0].slice( 0 );\n
Login.c(90): \t\tif ( tokens.length > 2 && (token = tokens[0]).type === "ID"
&&\n
Login.c(90): \t\t\t\tsupport.getById && context.nodeType === 9 &&
documentIsHTML &&\n
Login.c(90): \t\t\t\tExpr.relative[ tokens[1].type ] ) {\n
Login.c(90): \n
Login.c(90): \t\t\tcontext = ( Expr.find["ID"]
( token.matches[0].replace(runescape, funescape), context
Login.c(90): ) || [] )[0];\n
Login.c(90): \t\t\tif ( !context ) {\n
Login.c(90): \t\t\t\treturn results;\n
Login.c(90): \n
Login.c(90): \t\t\t// Precompiled matchers will still verify ancestry, so step
up a level\n
Login.c(90): \t\t\t} else if ( compiled ) {\n
Login.c(90): \t\t\t\tcontext = context.parentNode;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tselector = selector.slice( tokens.shift().value.length );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Fetch a seed set for right-to-left matching\n
Login.c(90): \t\ti = matchExpr["needsContext"].test( selector ) ? 0 :
tokens.length;\n
Login.c(90): \t\twhile ( i-- ) {\n
Login.c(90): \t\t\ttoken = tokens[i];\n
Login.c(90): \n
Login.c(90): \t\t\t// Abort if we hit a combinator\n
Login.c(90): \t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n
Login.c(90): \t\t\t\tbreak;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tif ( (find = Expr.find[ type ]) ) {\n
Login.c(90): \t\t\t\t// Search, expanding context for leading sibling
combinators\n
Login.c(90): \t\t\t\tif ( (seed = find(\n
Login.c(90): \t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n
Login.c(90): \t\t\t\t\trsibling.test( tokens[0].type ) &&
testContext( context.parentNode ) || context\n
Login.c(90): \t\t\t\t)) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// If seed is empty or no tokens remain, we can return
early\n
Login.c(90): \t\t\t\t\ttokens.splice( i, 1 );\n
Login.c(90): \t\t\t\t\tselector = seed.length && toSelector( tokens );\n
Login.c(90): \t\t\t\t\tif ( !selector ) {\n
Login.c(90): \t\t\t\t\t\tpush.apply( results, seed );\n
Login.c(90): \t\t\t\t\t\treturn results;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Compile and execute a filtering function if one is not
provided\n
Login.c(90): \t// Provide `match` to avoid retokenization if we modified the
selector above\n
Login.c(90): \t( compiled || compile( selector, match ) )(\n
Login.c(90): \t\tseed,\n
Login.c(90): \t\tcontext,\n
Login.c(90): \t\t!documentIsHTML,\n
Login.c(90): \t\tresults,\n
Login.c(90): \t\trsibling.test( selector ) && testContext( context.parentNode )
|| context\n
Login.c(90): \t);\n
Login.c(90): \treturn results;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // One-time assignments\n
Login.c(90): \n
Login.c(90): // Sort stability\n
Login.c(90): support.sortStable = expando.split("").sort( sortOrder ).join("")
=== expando;\n
Login.c(90): \n
Login.c(90): // Support: Chrome<14\n
Login.c(90): // Always assume duplicates if they aren't passed to the
comparison function\n
Login.c(90): support.detectDuplicates = !!hasDuplicate;\n
Login.c(90): \n
Login.c(90): // Initialize against the default document\n
Login.c(90): setDocument();\n
Login.c(90): \n
Login.c(90): // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in
Chrome 27)\n
Login.c(90): // Detached nodes confoundingly follow *each other*\n
Login.c(90): support.sortDetached = assert(function( div1 ) {\n
Login.c(90): \t// Should return 1, but returns 4 (following)\n
Login.c(90): \treturn
div1.compareDocumentPosition( document.createElement("div") ) & 1;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Support: IE<8\n
Login.c(90): // Prevent attribute/property "interpolation"\n
Login.c(90): // http://msdn.microsoft.com/en-
us/library/ms536429%28VS.85%29.aspx\n
Login.c(90): if ( !assert(function( div ) {\n
Login.c(90): \tdiv.innerHTML = "<a href='#'></a>";\n
Login.c(90): \treturn div.firstChild.getAttribute("href") === "#" ;\n
Login.c(90): }) ) {\n
Login.c(90): \taddHandle( "type|href|height|width", function( elem, name, isXML
) {\n
Login.c(90): \t\tif ( !isXML ) {\n
Login.c(90): \t\t\treturn elem.getAttribute( name, name.toLowerCase() ===
"type" ? 1 : 2 );\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Support: IE<9\n
Login.c(90): // Use defaultValue in place of getAttribute("value")\n
Login.c(90): if ( !support.attributes || !assert(function( div ) {\n
Login.c(90): \tdiv.innerHTML = "<input/>";\n
Login.c(90): \tdiv.firstChild.setAttribute( "value", "" );\n
Login.c(90): \treturn div.firstChild.getAttribute( "value" ) === "";\n
Login.c(90): }) ) {\n
Login.c(90): \taddHandle( "value", function( elem, name, isXML ) {\n
Login.c(90): \t\tif ( !isXML && elem.nodeName.toLowerCase() === "input" ) {\n
Login.c(90): \t\t\treturn elem.defaultValue;\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Support: IE<9\n
Login.c(90): // Use getAttributeNode to fetch booleans when getAttribute lies\n
Login.c(90): if ( !assert(function( div ) {\n
Login.c(90): \treturn div.getAttribute("disabled") == null;\n
Login.c(90): }) ) {\n
Login.c(90): \taddHandle( booleans, function( elem, name, isXML ) {\n
Login.c(90): \t\tvar val;\n
Login.c(90): \t\tif ( !isXML ) {\n
Login.c(90): \t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n
Login.c(90): \t\t\t\t\t(val = elem.getAttributeNode( name )) &&
val.specified ?\n
Login.c(90): \t\t\t\t\tval.value :\n
Login.c(90): \t\t\t\tnull;\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return Sizzle;\n
Login.c(90): \n
Login.c(90): })( window );\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.find = Sizzle;\n
Login.c(90): jQuery.expr = Sizzle.selectors;\n
Login.c(90): jQuery.expr[":"] = jQuery.expr.pseudos;\n
Login.c(90): jQuery.unique = Sizzle.uniqueSort;\n
Login.c(90): jQuery.text = Sizzle.getText;\n
Login.c(90): jQuery.isXMLDoc = Sizzle.isXML;\n
Login.c(90): jQuery.contains = Sizzle.contains;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var rneedsContext = jQuery.expr.match.needsContext;\n
Login.c(90): \n
Login.c(90): var rsingleTag = (/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): v
Login.c(90): t=1610ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ar risSimple = /^.[^:#\\[\\.,]*$/;\n
Login.c(90): \n
Login.c(90): // Implement the identical functionality for filter and not\n
Login.c(90): function winnow( elements, qualifier, not ) {\n
Login.c(90): \tif ( jQuery.isFunction( qualifier ) ) {\n
Login.c(90): \t\treturn jQuery.grep( elements, function( elem, i ) {\n
Login.c(90): \t\t\t/* jshint -W018 */\n
Login.c(90): \t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( qualifier.nodeType ) {\n
Login.c(90): \t\treturn jQuery.grep( elements, function( elem ) {\n
Login.c(90): \t\t\treturn ( elem === qualifier ) !== not;\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( typeof qualifier === "string" ) {\n
Login.c(90): \t\tif ( risSimple.test( qualifier ) ) {\n
Login.c(90): \t\t\treturn jQuery.filter( qualifier, elements, not );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tqualifier = jQuery.filter( qualifier, elements );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn jQuery.grep( elements, function( elem ) {\n
Login.c(90): \t\treturn ( indexOf.call( qualifier, elem ) >= 0 ) !== not;\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.filter = function( expr, elems, not ) {\n
Login.c(90): \tvar elem = elems[ 0 ];\n
Login.c(90): \n
Login.c(90): \tif ( not ) {\n
Login.c(90): \t\texpr = ":not(" + expr + ")";\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn elems.length === 1 && elem.nodeType === 1 ?\n
Login.c(90): \t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n
Login.c(90): \t\tjQuery.find.matches( expr, jQuery.grep( elems,
function( elem ) {\n
Login.c(90): \t\t\treturn elem.nodeType === 1;\n
Login.c(90): \t\t}));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tfind: function( selector ) {\n
Login.c(90): \t\tvar i,\n
Login.c(90): \t\t\tlen = this.length,\n
Login.c(90): \t\t\tret = [],\n
Login.c(90): \t\t\tself = this;\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof selector !== "string" ) {\n
Login.c(90): \t\t\treturn this.pushStack( jQuery( selector ).filter(function()
{\n
Login.c(90): \t\t\t\tfor ( i = 0; i < len; i++ ) {\n
Login.c(90): \t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n
Login.c(90): \t\t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}) );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tfor ( i = 0; i < len; i++ ) {\n
Login.c(90): \t\t\tjQuery.find( selector, self[ i ], ret );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Needed because $( selector, context ) becomes $
( context ).find( selector )\n
Login.c(90): \t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) :
ret );\n
Login.c(90): \t\tret.selector = this.selector ? this.selector + " " +
selector : selector;\n
Login.c(90): \t\treturn ret;\n
Login.c(90): \t},\n
Login.c(90): \tfilter: function( selector ) {\n
Login.c(90): \t\treturn this.pushStack( winnow(this, selector || [],
false) );\n
Login.c(90): \t},\n
Login.c(90): \tnot: function( selector ) {\n
Login.c(90): \t\treturn this.pushStack( winnow(this, selector || [], true) );\n
Login.c(90): \t},\n
Login.c(90): \tis: function( selector ) {\n
Login.c(90): \t\treturn !!winnow(\n
Login.c(90): \t\t\tthis,\n
Login.c(90): \n
Login.c(90): \t\t\t// If this is a positional/relative selector, check
membership in the returned set\n
Login.c(90): \t\t\t// so $("p:first").is("p:last") won't return true for a doc
with two "p".\n
Login.c(90): \t\t\ttypeof selector === "string" && rneedsContext.test( selector
) ?\n
Login.c(90): \t\t\t\tjQuery( selector ) :\n
Login.c(90): \t\t\t\tselector || [],\n
Login.c(90): \t\t\tfalse\n
Login.c(90): \t\t).length;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Initialize a jQuery object\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // A central reference to the root jQuery(document)\n
Login.c(90): var rootjQuery,\n
Login.c(90): \n
Login.c(90): \t// A simple way to check for HTML strings\n
Login.c(90): \t// Prioritize #id over <tag> to avoid XSS via location.hash
(#9521)\n
Login.c(90): \t// Strict HTML recognition (#11290: must start with <)\n
Login.c(90): \trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n
Login.c(90): \n
Login.c(90): \tinit = jQuery.fn.init = function( selector, context ) {\n
Login.c(90): \t\tvar match, elem;\n
Login.c(90): \n
Login.c(90): \t\t// HANDLE: $(""), $(null), $(undefined), $(false)\n
Login.c(90): \t\tif ( !selector ) {\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Handle HTML strings\n
Login.c(90): \t\tif ( typeof selector === "string" ) {\n
Login.c(90): \t\t\tif ( selector[0] === "<" && selector[ selector.length - 1 ]
=== ">" && selector.leng
Login.c(90): th >= 3 ) {\n
Login.c(90): \t\t\t\t// Assume that strings that start and end with <> are HTML
and skip the regex chec
Login.c(90): k\n
Login.c(90): \t\t\t\tmatch = [ null, selector, null ];\n
Login.c(90): \n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tmatch = rquickExpr.exec( selector );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Match html or make sure no context is specified for #id\n
Login.c(90): \t\t\tif ( match && (match[1] || !context) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// HANDLE: $(html) -> $(array)\n
Login.c(90): \t\t\t\tif ( match[1] ) {\n
Login.c(90): \t\t\t\t\tcontext = context instanceof jQuery ? context[0] :
context;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// scripts is true for back-compat\n
Login.c(90): \t\t\t\t\t// Intentionally let the error be thrown if parseHTML is
not present\n
Login.c(90): \t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n
Login.c(90): \t\t\t\t\t\tmatch[1],\n
Login.c(90): \t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument ||
context : document,\n
Login.c(90): \t\t\t\t\t\ttrue\n
Login.c(90): \t\t\t\t\t) );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// HANDLE: $(html, props)\n
Login.c(90): \t\t\t\t\tif ( rsingleTag.test( match[1] ) &&
jQuery.isPlainObject( context ) ) {\n
Login.c(90): \t\t\t\t\t\tfor ( match in context ) {\n
Login.c(90): \t\t\t\t\t\t\t// Properties of context are called as methods if
possible\n
Login.c(90): \t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n
Login.c(90): \t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t// ...and otherwise set as attributes\n
Login.c(90): \t\t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// HANDLE: $(#id)\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\telem = document.getElementById( match[2] );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Check parentNode to catch when Blackberry 4.6
returns\n
Login.c(90): \t\t\t\t\t// nodes that are no longer in the document #6963\n
Login.c(90): \t\t\t\t\tif ( elem && elem.parentNode ) {\n
Login.c(90): \t\t\t\t\t\t// Inject the element directly into the jQuery
object\n
Login.c(90): \t\t\t\t\t\tthis.length = 1;\n
Login.c(90): \t\t\t\t\t\tthis[0] = elem;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tthis.context = document;\n
Login.c(90): \t\t\t\t\tthis.selector = selector;\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// HANDLE: $(expr, $(...))\n
Login.c(90): \t\t\t} else if ( !context || context.jquery ) {\n
Login.c(90): \t\t\t\treturn ( context || rootjQuery ).find( selector );\n
Login.c(90): \n
Login.c(90): \t\t\t// HANDLE: $(expr, context)\n
Login.c(90): \t\t\t// (which is just equivalent to: $(context).find(expr)\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\treturn this.constructor( context ).find( selector );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t// HANDLE: $(DOMElement)\n
Login.c(90): \t\t} else if ( selector.nodeType ) {\n
Login.c(90): \t\t\tthis.context = this[0] = selector;\n
Login.c(90): \t\t\tthis.length = 1;\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \n
Login.c(90): \t\t// HANDLE: $(function)\n
Login.c(90): \t\t// Shortcut for document ready\n
Login.c(90): \t\t} else if ( jQuery.isFunction( selector ) ) {\n
Login.c(90): \t\t\treturn typeof rootjQuery.ready !== "undefined" ?\n
Login.c(90): \t\t\t\trootjQuery.ready( selector ) :\n
Login.c(90): \t\t\t\t// Execute immediately if ready is not present\n
Login.c(90): \t\t\t\tselector( jQuery );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( selector.selector !== undefined ) {\n
Login.c(90): \t\t\tthis.selector = selector.selector;\n
Login.c(90): \t\t\tthis.context = selector.context;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn jQuery.makeArray( selector, this );\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): // Give the init function the jQuery prototype for later
instantiation\n
Login.c(90): init.prototype = jQuery.fn;\n
Login.c(90): \n
Login.c(90): // Initialize central reference\n
Login.c(90): rootjQuery = jQuery( document );\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n
Login.c(90): \t// methods guaranteed to produce a unique set when starting from
a unique set\n
Login.c(90): \tguaranteedUnique = {\n
Login.c(90): \t\tchildren: true,\n
Login.c(90): \t\tcontents: true,\n
Login.c(90): \t\tnext: true,\n
Login.c(90): \t\tprev: true\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tdir: function( elem, dir, until ) {\n
Login.c(90): \t\tvar matched = [],\n
Login.c(90): \t\t\ttruncate = until !== undefined;\n
Login.c(90): \n
Login.c(90): \t\twhile ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {\n
Login.c(90): \t\t\tif ( elem.nodeType === 1 ) {\n
Login.c(90): \t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n
Login.c(90): \t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tmatched.push( elem );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn matched;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tsibling: function( n, elem ) {\n
Login.c(90): \t\tvar matched = [];\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; n; n = n.nextSibling ) {\n
Login.c(90): \t\t\tif ( n.nodeType === 1 && n !== elem ) {\n
Login.c(90): \t\t\t\tmatched.push( n );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn matched;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \thas: function( target ) {\n
Login.c(90): \t\tvar targets = jQuery( target, this ),\n
Login.c(90): \t\t\tl = targets.length;\n
Login.c(90): \n
Login.c(90): \t\treturn this.filter(function() {\n
Login.c(90): \t\t\tvar i = 0;\n
Login.c(90): \t\t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n
Login.c(90): \t\t\t\t\treturn true;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tclosest: function( selectors, context ) {\n
Login.c(90): \t\tvar cur,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tl = this.length,\n
Login.c(90): \t\t\tmatched = [],\n
Login.c(90): \t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !
== "string" ?\n
Login.c(90): \t\t\t\tjQuery( selectors, context || this.context ) :\n
Login.c(90): \t\t\t\t0;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\tfor ( cur = this[i]; cur && cur !== context; cur =
cur.parentNode ) {\n
Login.c(90): \t\t\t\t// Always skip document fragments\n
Login.c(90): \t\t\t\tif ( cur.nodeType < 11 && (pos ?\n
Login.c(90): \t\t\t\t\tpos.index(cur) > -1 :\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Don't pass non-elements to Sizzle\n
Login.c(90): \t\t\t\t\tcur.nodeType === 1 &&\n
Login.c(90): \t\t\t\t\t\tjQuery.find.matchesSelector(cur, selectors)) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tmatched.push( cur );\n
Login.c(90): \t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.pushStack( matched.length > 1 ?
jQuery.unique( matched ) : matched );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Determine the position of an element within\n
Login.c(90): \t// the matched set of elements\n
Login.c(90): \tindex: function( elem ) {\n
Login.c(90): \n
Login.c(90): \t\t// No argument, return index in parent\n
Login.c(90): \t\tif ( !elem ) {\n
Login.c(90): \t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ?
this.first().prevAll().length : -1;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// index in selector\n
Login.c(90): \t\tif ( typeof elem === "string" ) {\n
Login.c(90): \t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Locate the position of the desired element\n
Login.c(90): \t\treturn indexOf.call( this,\n
Login.c(90): \n
Login.c(90): \t\t\t// If it receives a jQuery object, the first element is
used\n
Login.c(90): \t\t\telem.jquery ? elem[ 0 ] : elem\n
Login.c(90): \t\t);\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tadd: function( selector, context ) {\n
Login.c(90): \t\treturn this.pushStack(\n
Login.c(90): \t\t\tjQuery.unique(\n
Login.c(90): \t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n
Login.c(90): \t\t\t)\n
Login.c(90): \t\t);\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \taddBack: function( selector ) {\n
Login.c(90): \t\treturn this.add( selector == null ?\n
Login.c(90): \t\t\tthis.prevObject : this.prevObject.filter(selector)\n
Login.c(90): \t\t);\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function sibling( cur, dir ) {\n
Login.c(90): \twhile ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}\n
Login.c(90): \treturn cur;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.each({\n
Login.c(90): \tparent: function( elem ) {\n
Login.c(90): \t\tvar parent = elem.parentNode;\n
Login.c(90): \t\treturn parent && parent.nodeType !== 11 ? parent : null;\n
Login.c(90): \t},\n
Login.c(90): \tparents: function( elem ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "parentNode" );\n
Login.c(90): \t},\n
Login.c(90): \tparentsUntil: function( elem, i, until ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "parentNode", until );\n
Login.c(90): \t},\n
Login.c(90): \tnext: function( elem ) {\n
Login.c(90): \t\treturn sibling( elem, "nextSibling" );\n
Login.c(90): \t},\n
Login.c(90): \tprev: function( elem ) {\n
Login.c(90): \t\treturn sibling( elem, "previousSibling" );\n
Login.c(90): \t},\n
Login.c(90): \tnextAll: function( elem ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "nextSibling" );\n
Login.c(90): \t},\n
Login.c(90): \tprevAll: function( elem ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "previousSibling" );\n
Login.c(90): \t},\n
Login.c(90): \tnextUntil: function( elem, i, until ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "nextSibling", until );\n
Login.c(90): \t},\n
Login.c(90): \tprevUntil: function( elem, i, until ) {\n
Login.c(90): \t\treturn jQuery.dir( elem, "previousSibling", until );\n
Login.c(90): \t},\n
Login.c(90): \tsiblings: function( elem ) {\n
Login.c(90): \t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild,
elem );\n
Login.c(90): \t},\n
Login.c(90): \tchildren: function( elem ) {\n
Login.c(90): \t\treturn jQuery.sibling( elem.firstChild );\n
Login.c(90): \t},\n
Login.c(90): \tcontents: function( elem ) {\n
Login.c(90): \t\treturn elem.contentDocument || jQuery.merge( [],
elem.childNodes );\n
Login.c(90): \t}\n
Login.c(90): }, function( name, fn ) {\n
Login.c(90): \tjQuery.fn[ name ] = function( until, selector ) {\n
Login.c(90): \t\tvar matched = jQuery.map( this, fn, until );\n
Login.c(90): \n
Login.c(90): \t\tif ( name.slice( -5 ) !== "Until" ) {\n
Login.c(90): \t\t\tselector = until;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( selector && typeof selector === "string" ) {\n
Login.c(90): \t\t\tmatched = jQuery.filter( selector, matched );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( this.length > 1 ) {\n
Login.c(90): \t\t\t// Remove duplicates\n
Login.c(90): \t\t\tif ( !guaranteedUnique[ name ] ) {\n
Login.c(90): \t\t\t\tjQuery.unique( matched );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Reverse order for parents* and prev-derivatives\n
Login.c(90): \t\t\tif ( rparentsprev.test( name ) ) {\n
Login.c(90): \t\t\t\tmatched.reverse();\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.pushStack( matched );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): var rnotwhite = (/\\S+/g);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // String to Object options format cache\n
Login.c(90): var optionsCache = {};\n
Login.c(90): \n
Login.c(90): // Convert String-formatted options into Object-formatted ones and
store in cache\n
Login.c(90): function createOptions( options ) {\n
Login.c(90): \tvar object = optionsCache[ options ] = {};\n
Login.c(90): \tjQuery.each( options.match( rnotwhite ) || [], function( _, flag
) {\n
Login.c(90): \t\tobject[ flag ] = true;\n
Login.c(90): \t});\n
Login.c(90): \treturn object;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * Create a callback list using the following parameters:\n
Login.c(90): *\n
Login.c(90): *\toptions: an optional list of space-separated options that will
change how\n
Login.c(90): *\t\t\tthe callback list behaves or a more traditional option
object\n
Login.c(90): *\n
Login.c(90): * By default a callback list will act like an event callback list
and can be\n
Login.c(90): * "fired" multiple times.\n
Login.c(90): *\n
Login.c(90): * Possible options:\n
Login.c(90): *\n
Login.c(90): *\tonce:\t\t\twill ensure the callback list can only be fired
once (like a Deferred)\n
Login.c(90): *\n
Login.c(90): *\tmemory:\t\t\twill keep track of previous values and will call
any callback added\n
Login.c(90): *\t\t\t\t\tafter the list has been fired right away with the
latest "memorized"\n
Login.c(90): *\t\t\t\t\tvalues (like a Deferred)\n
Login.c(90): *\n
Login.c(90): *\tunique:\t\t\twill ensure a callback can only be added once (no
duplicate in the list)\n
Login.c(90): *\n
Login.c(90): *\tstopOnFalse:\tinterrupt callings when a callback returns
false\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): jQuery.Callbacks = function( options ) {\n
Login.c(90): \n
Login.c(90): \t// Convert options from String-formatted to Object-formatted if
needed\n
Login.c(90): \t// (we check in cache first)\n
Login.c(90): \toptions = typeof options === "string" ?\n
Login.c(90): \t\t( optionsCache[ options ] || createOptions( options ) ) :\n
Login.c(90): \t\tjQuery.extend( {}, options );\n
Login.c(90): \n
Login.c(90): \tvar // Last fire value (for non-forgettable lists)\n
Login.c(90): \t\tmemory,\n
Login.c(90): \t\t// Flag to know if list was already fired\n
Login.c(90): \t\tfired,\n
Login.c(90): \t\t// Flag to know if list is currently firing\n
Login.c(90): \t\tfiring,\n
Login.c(90): \t\t// First callback to fire (used internally by add and
fireWith)\n
Login.c(90): \t\tfiringStart,\n
Login.c(90): \t\t// End of the loop when firing\n
Login.c(90): \t\tfiringLength,\n
Login.c(90): \t\t// Index of currently firing callback (modified by remove if
needed)\n
Login.c(90): \t\tfiringIndex,\n
Login.c(90): \t\t// Actual callback list\n
Login.c(90): \t\tlist = [],\n
Login.c(90): \t\t// Stack of fire calls for repeatable lists\n
Login.c(90): \t\tstack = !options.once && [],\n
Login.c(90): \t\t// Fire callbacks\n
Login.c(90): \t\tfire = function( data ) {\n
Login.c(90): \t\t\tmemory = options.memory && data;\n
Login.c(90): \t\t\tfired = true;\n
Login.c(90): \t\t\tfiringIndex = firingStart || 0;\n
Login.c(90): \t\t\tfiringStart = 0;\n
Login.c(90): \t\t\tfiringLength = list.length;\n
Login.c(90): \t\t\tfiring = true;\n
Login.c(90): \t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ )
{\n
Login.c(90): \t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) ===
false && options.stopOn
Login.c(90): False ) {\n
Login.c(90): \t\t\t\t\t
Login.c(90): t=1631ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): memory = false; // To prevent further calls using add\n
Login.c(90): \t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tfiring = false;\n
Login.c(90): \t\t\tif ( list ) {\n
Login.c(90): \t\t\t\tif ( stack ) {\n
Login.c(90): \t\t\t\t\tif ( stack.length ) {\n
Login.c(90): \t\t\t\t\t\tfire( stack.shift() );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t} else if ( memory ) {\n
Login.c(90): \t\t\t\t\tlist = [];\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tself.disable();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t},\n
Login.c(90): \t\t// Actual Callbacks object\n
Login.c(90): \t\tself = {\n
Login.c(90): \t\t\t// Add a callback or a collection of callbacks to the list\n
Login.c(90): \t\t\tadd: function() {\n
Login.c(90): \t\t\t\tif ( list ) {\n
Login.c(90): \t\t\t\t\t// First, we save the current length\n
Login.c(90): \t\t\t\t\tvar start = list.length;\n
Login.c(90): \t\t\t\t\t(function add( args ) {\n
Login.c(90): \t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n
Login.c(90): \t\t\t\t\t\t\tvar type = jQuery.type( arg );\n
Login.c(90): \t\t\t\t\t\t\tif ( type === "function" ) {\n
Login.c(90): \t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tlist.push( arg );\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t} else if ( arg && arg.length && type !== "string" )
{\n
Login.c(90): \t\t\t\t\t\t\t\t// Inspect recursively\n
Login.c(90): \t\t\t\t\t\t\t\tadd( arg );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t});\n
Login.c(90): \t\t\t\t\t})( arguments );\n
Login.c(90): \t\t\t\t\t// Do we need to add the callbacks to the\n
Login.c(90): \t\t\t\t\t// current firing batch?\n
Login.c(90): \t\t\t\t\tif ( firing ) {\n
Login.c(90): \t\t\t\t\t\tfiringLength = list.length;\n
Login.c(90): \t\t\t\t\t// With memory, if we're not firing then\n
Login.c(90): \t\t\t\t\t// we should call right away\n
Login.c(90): \t\t\t\t\t} else if ( memory ) {\n
Login.c(90): \t\t\t\t\t\tfiringStart = start;\n
Login.c(90): \t\t\t\t\t\tfire( memory );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Remove a callback from the list\n
Login.c(90): \t\t\tremove: function() {\n
Login.c(90): \t\t\t\tif ( list ) {\n
Login.c(90): \t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n
Login.c(90): \t\t\t\t\t\tvar index;\n
Login.c(90): \t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) )
> -1 ) {\n
Login.c(90): \t\t\t\t\t\t\tlist.splice( index, 1 );\n
Login.c(90): \t\t\t\t\t\t\t// Handle firing indexes\n
Login.c(90): \t\t\t\t\t\t\tif ( firing ) {\n
Login.c(90): \t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tfiringLength--;\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tfiringIndex--;\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t});\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Check if a given callback is in the list.\n
Login.c(90): \t\t\t// If no argument is given, return whether or not list has
callbacks attached.\n
Login.c(90): \t\t\thas: function( fn ) {\n
Login.c(90): \t\t\t\treturn fn ? jQuery.inArray( fn, list ) > -1 : !!( list &&
list.length );\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Remove all callbacks from the list\n
Login.c(90): \t\t\tempty: function() {\n
Login.c(90): \t\t\t\tlist = [];\n
Login.c(90): \t\t\t\tfiringLength = 0;\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Have the list do nothing anymore\n
Login.c(90): \t\t\tdisable: function() {\n
Login.c(90): \t\t\t\tlist = stack = memory = undefined;\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Is it disabled?\n
Login.c(90): \t\t\tdisabled: function() {\n
Login.c(90): \t\t\t\treturn !list;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Lock the list in its current state\n
Login.c(90): \t\t\tlock: function() {\n
Login.c(90): \t\t\t\tstack = undefined;\n
Login.c(90): \t\t\t\tif ( !memory ) {\n
Login.c(90): \t\t\t\t\tself.disable();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Is it locked?\n
Login.c(90): \t\t\tlocked: function() {\n
Login.c(90): \t\t\t\treturn !stack;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Call all callbacks with the given context and arguments\n
Login.c(90): \t\t\tfireWith: function( context, args ) {\n
Login.c(90): \t\t\t\tif ( list && ( !fired || stack ) ) {\n
Login.c(90): \t\t\t\t\targs = args || [];\n
Login.c(90): \t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n
Login.c(90): \t\t\t\t\tif ( firing ) {\n
Login.c(90): \t\t\t\t\t\tstack.push( args );\n
Login.c(90): \t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\tfire( args );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// Call all the callbacks with the given arguments\n
Login.c(90): \t\t\tfire: function() {\n
Login.c(90): \t\t\t\tself.fireWith( this, arguments );\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\t// To know if the callbacks have already been called at
least once\n
Login.c(90): \t\t\tfired: function() {\n
Login.c(90): \t\t\t\treturn !!fired;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \treturn self;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \n
Login.c(90): \tDeferred: function( func ) {\n
Login.c(90): \t\tvar tuples = [\n
Login.c(90): \t\t\t\t// action, add listener, listener list, final state\n
Login.c(90): \t\t\t\t[ "resolve", "done", jQuery.Callbacks("once memory"),
"resolved" ],\n
Login.c(90): \t\t\t\t[ "reject", "fail", jQuery.Callbacks("once memory"),
"rejected" ],\n
Login.c(90): \t\t\t\t[ "notify", "progress", jQuery.Callbacks("memory") ]\n
Login.c(90): \t\t\t],\n
Login.c(90): \t\t\tstate = "pending",\n
Login.c(90): \t\t\tpromise = {\n
Login.c(90): \t\t\t\tstate: function() {\n
Login.c(90): \t\t\t\t\treturn state;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \t\t\t\talways: function() {\n
Login.c(90): \t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n
Login.c(90): \t\t\t\t\tvar fns = arguments;\n
Login.c(90): \t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n
Login.c(90): \t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n
Login.c(90): \t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) &&
fns[ i ];\n
Login.c(90): \t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding
actions to newDefer\n
Login.c(90): \t\t\t\t\t\t\tdeferred[ tuple[1] ](function() {\n
Login.c(90): \t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this,
arguments );\n
Login.c(90): \t\t\t\t\t\t\t\tif ( returned &&
jQuery.isFunction( returned.promise ) ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\treturned.promise()\n
Login.c(90): \t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n
Login.c(90): \t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n
Login.c(90): \t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n
Login.c(90): \t\t\t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + "With" ]( this ===
promise ? newDefer.promise() :
Login.c(90): this, fn ? [ returned ] : arguments );\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t});\n
Login.c(90): \t\t\t\t\t\t});\n
Login.c(90): \t\t\t\t\t\tfns = null;\n
Login.c(90): \t\t\t\t\t}).promise();\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \t\t\t\t// Get a promise for this deferred\n
Login.c(90): \t\t\t\t// If obj is provided, the promise aspect is added to the
object\n
Login.c(90): \t\t\t\tpromise: function( obj ) {\n
Login.c(90): \t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) :
promise;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tdeferred = {};\n
Login.c(90): \n
Login.c(90): \t\t// Keep pipe for back-compat\n
Login.c(90): \t\tpromise.pipe = promise.then;\n
Login.c(90): \n
Login.c(90): \t\t// Add list-specific methods\n
Login.c(90): \t\tjQuery.each( tuples, function( i, tuple ) {\n
Login.c(90): \t\t\tvar list = tuple[ 2 ],\n
Login.c(90): \t\t\t\tstateString = tuple[ 3 ];\n
Login.c(90): \n
Login.c(90): \t\t\t// promise[ done | fail | progress ] = list.add\n
Login.c(90): \t\t\tpromise[ tuple[1] ] = list.add;\n
Login.c(90): \n
Login.c(90): \t\t\t// Handle state\n
Login.c(90): \t\t\tif ( stateString ) {\n
Login.c(90): \t\t\t\tlist.add(function() {\n
Login.c(90): \t\t\t\t\t// state = [ resolved | rejected ]\n
Login.c(90): \t\t\t\t\tstate = stateString;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// [ reject_list | resolve_list ].disable;
progress_list.lock\n
Login.c(90): \t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ]
[ 2 ].lock );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// deferred[ resolve | reject | notify ]\n
Login.c(90): \t\t\tdeferred[ tuple[0] ] = function() {\n
Login.c(90): \t\t\t\tdeferred[ tuple[0] + "With" ]( this === deferred ? promise
: this, arguments );\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t\tdeferred[ tuple[0] + "With" ] = list.fireWith;\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t\t// Make the deferred a promise\n
Login.c(90): \t\tpromise.promise( deferred );\n
Login.c(90): \n
Login.c(90): \t\t// Call given func if any\n
Login.c(90): \t\tif ( func ) {\n
Login.c(90): \t\t\tfunc.call( deferred, deferred );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// All done!\n
Login.c(90): \t\treturn deferred;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Deferred helper\n
Login.c(90): \twhen: function( subordinate /* , ..., subordinateN */ ) {\n
Login.c(90): \t\tvar i = 0,\n
Login.c(90): \t\t\tresolveValues = slice.call( arguments ),\n
Login.c(90): \t\t\tlength = resolveValues.length,\n
Login.c(90): \n
Login.c(90): \t\t\t// the count of uncompleted subordinates\n
Login.c(90): \t\t\tremaining = length !== 1 || ( subordinate &&
jQuery.isFunction( subordinate.promise
Login.c(90): ) ) ? length : 0,\n
Login.c(90): \n
Login.c(90): \t\t\t// the master Deferred. If resolveValues consist of only a
single Deferred, just use
Login.c(90): that.\n
Login.c(90): \t\t\tdeferred = remaining === 1 ? subordinate :
jQuery.Deferred(),\n
Login.c(90): \n
Login.c(90): \t\t\t// Update function for both resolve and progress values\n
Login.c(90): \t\t\tupdateFunc = function( i, contexts, values ) {\n
Login.c(90): \t\t\t\treturn function( value ) {\n
Login.c(90): \t\t\t\t\tcontexts[ i ] = this;\n
Login.c(90): \t\t\t\t\tvalues[ i ] = arguments.length > 1 ?
slice.call( arguments ) : value;\n
Login.c(90): \t\t\t\t\tif ( values === progressValues ) {\n
Login.c(90): \t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n
Login.c(90): \t\t\t\t\t} else if ( !( --remaining ) ) {\n
Login.c(90): \t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\tprogressValues, progressContexts, resolveContexts;\n
Login.c(90): \n
Login.c(90): \t\t// add listeners to Deferred subordinates; treat others as
resolved\n
Login.c(90): \t\tif ( length > 1 ) {\n
Login.c(90): \t\t\tprogressValues = new Array( length );\n
Login.c(90): \t\t\tprogressContexts = new Array( length );\n
Login.c(90): \t\t\tresolveContexts = new Array( length );\n
Login.c(90): \t\t\tfor ( ; i < length; i++ ) {\n
Login.c(90): \t\t\t\tif ( resolveValues[ i ] &&
jQuery.isFunction( resolveValues[ i ].promise ) ) {\n
Login.c(90): \t\t\t\t\tresolveValues[ i ].promise()\n
Login.c(90): \t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues )
)\n
Login.c(90): \t\t\t\t\t\t.fail( deferred.reject )\n
Login.c(90): \t\t\t\t\t\t.progress( updateFunc( i, progressContexts,
progressValues ) );\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t--remaining;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// if we're not waiting on anything, resolve the master\n
Login.c(90): \t\tif ( !remaining ) {\n
Login.c(90): \t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn deferred.promise();\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // The deferred used on DOM ready\n
Login.c(90): var readyList;\n
Login.c(90): \n
Login.c(90): jQuery.fn.ready = function( fn ) {\n
Login.c(90): \t// Add the callback\n
Login.c(90): \tjQuery.ready.promise().done( fn );\n
Login.c(90): \n
Login.c(90): \treturn this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \t// Is the DOM ready to be used? Set to true once it occurs.\n
Login.c(90): \tisReady: false,\n
Login.c(90): \n
Login.c(90): \t// A counter to track how many items to wait for before\n
Login.c(90): \t// the ready event fires. See #6781\n
Login.c(90): \treadyWait: 1,\n
Login.c(90): \n
Login.c(90): \t// Hold (or release) the ready event\n
Login.c(90): \tholdReady: function( hold ) {\n
Login.c(90): \t\tif ( hold ) {\n
Login.c(90): \t\t\tjQuery.readyWait++;\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tjQuery.ready( true );\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Handle when the DOM is ready\n
Login.c(90): \tready: function( wait ) {\n
Login.c(90): \n
Login.c(90): \t\t// Abort if there are pending holds or we're already ready\n
Login.c(90): \t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Remember that the DOM is ready\n
Login.c(90): \t\tjQuery.isReady = true;\n
Login.c(90): \n
Login.c(90): \t\t// If a normal DOM Ready event fired, decrement, and wait if
need be\n
Login.c(90): \t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// If there are functions bound, to execute\n
Login.c(90): \t\treadyList.resolveWith( document, [ jQuery ] );\n
Login.c(90): \n
Login.c(90): \t\t// Trigger any bound ready events\n
Login.c(90): \t\tif ( jQuery.fn.triggerHandler ) {\n
Login.c(90): \t\t\tjQuery( document ).triggerHandler( "ready" );\n
Login.c(90): \t\t\tjQuery( document ).off( "ready" );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * The ready event handler and self cleanup method\n
Login.c(90): */\n
Login.c(90): function completed() {\n
Login.c(90): \tdocument.removeEventListener( "DOMContentLoaded", completed,
false );\n
Login.c(90): \twindow.removeEventListener( "load", completed, false );\n
Login.c(90): \tjQuery.ready();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.ready.promise = function( obj ) {\n
Login.c(90): \tif ( !readyList ) {\n
Login.c(90): \n
Login.c(90): \t\treadyList = jQuery.Deferred();\n
Login.c(90): \n
Login.c(90): \t\t// Catch cases where $(document).ready() is called after the
browser event has already
Login.c(90): occurred.\n
Login.c(90): \t\t// we once tried to use readyState "interactive" here, but it
caused issues like the o
Login.c(90): ne\n
Login.c(90): \t\t// discovered by ChrisS here:
http://bugs.jquery.com/ticket/12282#comment:15\n
Login.c(90): \t\tif ( document.readyState === "complete" ) {\n
Login.c(90): \t\t\t// Handle it asynchronously to allow scripts the opportunity
to delay ready\n
Login.c(90): \t\t\tsetTimeout( jQuery.ready );\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \n
Login.c(90): \t\t\t// Use the handy event callback\n
Login.c(90): \t\t\tdocument.addEventListener( "DOMContentLoaded", completed,
false );\n
Login.c(90): \n
Login.c(90): \t\t\t// A fallback to window.onload, that will always work\n
Login.c(90): \t\t\twindow.addEventListener( "load", completed, false );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \treturn readyList.promise( obj );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Kick off the DOM ready check even if the user does not\n
Login.c(90): jQuery.ready.promise();\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Multifunctional method to get and set values of a collection\n
Login.c(90): // The value/s can optionally be executed if it's a function\n
Login.c(90): var access = jQuery.access = function( elems, fn, key, value,
chainable, emptyGet, raw ) {
Login.c(90): \n
Login.c(90): \tvar i = 0,\n
Login.c(90): \t\tlen = elems.length,\n
Login.c(90): \t\tbulk = key == null;\n
Login.c(90): \n
Login.c(90): \t// Sets many values\n
Login.c(90): \tif ( jQuery.type( key ) === "object" ) {\n
Login.c(90): \t\tchainable = true;\n
Login.c(90): \t\tfor ( i in key ) {\n
Login.c(90): \t\t\tjQuery.access( elems, fn, i, key[i], true, emptyGet,
raw );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t// Sets one value\n
Login.c(90): \t} else if ( value !== undefined ) {\n
Login.c(90): \t\tchainable = true;\n
Login.c(90): \n
Login.c(90): \t\tif ( !jQuery.isFunction( value ) ) {\n
Login.c(90): \t\t\traw = true;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( bulk ) {\n
Login.c(90): \t\t\t// Bulk operations run against the entire set\n
Login.c(90): \t\t\tif ( raw ) {\n
Login.c(90): \t\t\t\tfn.call( elems, value );\n
Login.c(90): \t\t\t\tfn = null;\n
Login.c(90): \n
Login.c(90): \t\t\t// ...except when executing function values\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tbulk = fn;\n
Login.c(90): \t\t\t\tfn = function( elem, key, value ) {\n
Login.c(90): \t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( fn ) {\n
Login.c(90): \t\t\tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\t\t\tfn( elems[i], key, raw ? value : value.call( elems[i], i,
fn( elems[i], key ) ) );
Login.c(90): \n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn chainable ?\n
Login.c(90): \t\telems :\n
Login.c(90): \n
Login.c(90): \t\t// Gets\n
Login.c(90): \t\tbulk ?\n
Login.c(90): \t\t\tfn.call( elems ) :\n
Login.c(90): \t\t\tlen ? fn( elems[0], key ) : emptyGet;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Determines whether an object can have data\n
Login.c(90): */\n
Login.c(90): jQuery.acceptData = function( owner ) {\n
Login.c(90): \t// Accepts only:\n
Login.c(90): \t// - Node\n
Login.c(90): \t// - Node.ELEMENT_NODE\n
Login.c(90): \t// - Node.DOCUMENT_NODE\n
Login.c(90): \t// - Object\n
Login.c(90): \t// - Any\n
Login.c(90): \t/* jshint -W018 */\n
Login.c(90): \treturn owner.nodeType === 1 || owner.nodeType === 9 || !
( +owner.nodeType );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function Data() {\n
Login.c(90): \t// Support: Android < 4,\n
Login.c(90): \t// Old WebKit does not have Object.preventExtensions/freeze
method,\n
Login.c(90): \t// return new empty object instead with no [[set]] accessor\n
Login.c(90): \tObject.defineProperty( this.cache = {}, 0, {\n
Login.c(90): \t\tget: function() {\n
Login.c(90): \t\t\treturn {};\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): \n
Login.c(90): \tthis.expando = jQuery.expando + Math.random();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Data.uid = 1;\n
Login.c(90): Data.accepts = jQuery.acceptData;\n
Login.c(90): \n
Login.c(90): Data.prototype = {\n
Login.c(90): \tkey: function( owner ) {\n
Login.c(90): \t\t// We can accept data for non-element nodes in modern
browsers,\n
Login.c(90): \t\t// but we should not, see #8335.\n
Login.c(90): \t\t// Always return the key for a frozen object.\n
Login.c(90): \t\tif ( !Data.accepts( owner ) ) {\n
Login.c(90): \t\t\treturn 0;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar descriptor = {},\n
Login.c(90): \t\t\t// Check if the owner object already has a cache key\n
Login.c(90): \t\t\tunlock = owner[ this.expando ];\n
Login.c(90): \n
Login.c(90): \t\t// If not, create one\n
Login.c(90): \t\tif ( !unlock ) {\n
Login.c(90): \t\t\tunlock = Data.uid++;\n
Login.c(90): \n
Login.c(90): \t\t\t// Secure it in a non-enumerable, non-writable property\n
Login.c(90): \t\t\ttry {\n
Login.c(90): \t\t\t\tdescriptor[ this.expando ] = { value: unlock };\n
Login.c(90): \t\t\t\tObject.defineProperties( owner, descriptor );\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: Android < 4\n
Login.c(90): \t\t\t// Fallback to a less secure definition\n
Login.c(90): \t\t\t} catch ( e ) {\n
Login.c(90): \t\t\t\tdescriptor[ this.expando ]
Login.c(90): t=1656ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): = unlock;\n
Login.c(90): \t\t\t\tjQuery.extend( owner, descriptor );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Ensure the cache object\n
Login.c(90): \t\tif ( !this.cache[ unlock ] ) {\n
Login.c(90): \t\t\tthis.cache[ unlock ] = {};\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn unlock;\n
Login.c(90): \t},\n
Login.c(90): \tset: function( owner, data, value ) {\n
Login.c(90): \t\tvar prop,\n
Login.c(90): \t\t\t// There may be an unlock assigned to this node,\n
Login.c(90): \t\t\t// if there is no entry for this "owner", create one
inline\n
Login.c(90): \t\t\t// and set the unlock as though an owner entry had always
existed\n
Login.c(90): \t\t\tunlock = this.key( owner ),\n
Login.c(90): \t\t\tcache = this.cache[ unlock ];\n
Login.c(90): \n
Login.c(90): \t\t// Handle: [ owner, key, value ] args\n
Login.c(90): \t\tif ( typeof data === "string" ) {\n
Login.c(90): \t\t\tcache[ data ] = value;\n
Login.c(90): \n
Login.c(90): \t\t// Handle: [ owner, { properties } ] args\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// Fresh assignments by object are shallow copied\n
Login.c(90): \t\t\tif ( jQuery.isEmptyObject( cache ) ) {\n
Login.c(90): \t\t\t\tjQuery.extend( this.cache[ unlock ], data );\n
Login.c(90): \t\t\t// Otherwise, copy the properties one-by-one to the cache
object\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tfor ( prop in data ) {\n
Login.c(90): \t\t\t\t\tcache[ prop ] = data[ prop ];\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn cache;\n
Login.c(90): \t},\n
Login.c(90): \tget: function( owner, key ) {\n
Login.c(90): \t\t// Either a valid cache is found, or will be created.\n
Login.c(90): \t\t// New caches will be created and the unlock returned,\n
Login.c(90): \t\t// allowing direct access to the newly created\n
Login.c(90): \t\t// empty data object. A valid owner object must be provided.\n
Login.c(90): \t\tvar cache = this.cache[ this.key( owner ) ];\n
Login.c(90): \n
Login.c(90): \t\treturn key === undefined ?\n
Login.c(90): \t\t\tcache : cache[ key ];\n
Login.c(90): \t},\n
Login.c(90): \taccess: function( owner, key, value ) {\n
Login.c(90): \t\tvar stored;\n
Login.c(90): \t\t// In cases where either:\n
Login.c(90): \t\t//\n
Login.c(90): \t\t// 1. No key was specified\n
Login.c(90): \t\t// 2. A string key was specified, but no value provided\n
Login.c(90): \t\t//\n
Login.c(90): \t\t// Take the "read" path and allow the get method to
determine\n
Login.c(90): \t\t// which value to return, respectively either:\n
Login.c(90): \t\t//\n
Login.c(90): \t\t// 1. The entire cache object\n
Login.c(90): \t\t// 2. The data stored at the key\n
Login.c(90): \t\t//\n
Login.c(90): \t\tif ( key === undefined ||\n
Login.c(90): \t\t\t\t((key && typeof key === "string") && value ===
undefined) ) {\n
Login.c(90): \n
Login.c(90): \t\t\tstored = this.get( owner, key );\n
Login.c(90): \n
Login.c(90): \t\t\treturn stored !== undefined ?\n
Login.c(90): \t\t\t\tstored : this.get( owner, jQuery.camelCase(key) );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// [*]When the key is not a string, or both a key and value\n
Login.c(90): \t\t// are specified, set or extend (existing objects) with
either:\n
Login.c(90): \t\t//\n
Login.c(90): \t\t// 1. An object of properties\n
Login.c(90): \t\t// 2. A key and value\n
Login.c(90): \t\t//\n
Login.c(90): \t\tthis.set( owner, key, value );\n
Login.c(90): \n
Login.c(90): \t\t// Since the "set" path can have two possible entry points\n
Login.c(90): \t\t// return the expected data based on which path was taken[*]\n
Login.c(90): \t\treturn value !== undefined ? value : key;\n
Login.c(90): \t},\n
Login.c(90): \tremove: function( owner, key ) {\n
Login.c(90): \t\tvar i, name, camel,\n
Login.c(90): \t\t\tunlock = this.key( owner ),\n
Login.c(90): \t\t\tcache = this.cache[ unlock ];\n
Login.c(90): \n
Login.c(90): \t\tif ( key === undefined ) {\n
Login.c(90): \t\t\tthis.cache[ unlock ] = {};\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// Support array or space separated string of keys\n
Login.c(90): \t\t\tif ( jQuery.isArray( key ) ) {\n
Login.c(90): \t\t\t\t// If "name" is an array of keys...\n
Login.c(90): \t\t\t\t// When data is initially created, via ("key", "val")
signature,\n
Login.c(90): \t\t\t\t// keys will be converted to camelCase.\n
Login.c(90): \t\t\t\t// Since there is no way to tell _how_ a key was added,
remove\n
Login.c(90): \t\t\t\t// both plain key and camelCase key. #12786\n
Login.c(90): \t\t\t\t// This will only penalize the array argument path.\n
Login.c(90): \t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tcamel = jQuery.camelCase( key );\n
Login.c(90): \t\t\t\t// Try the string as a key before any manipulation\n
Login.c(90): \t\t\t\tif ( key in cache ) {\n
Login.c(90): \t\t\t\t\tname = [ key, camel ];\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t// If a key with the spaces exists, use it.\n
Login.c(90): \t\t\t\t\t// Otherwise, create an array by matching non-
whitespace\n
Login.c(90): \t\t\t\t\tname = camel;\n
Login.c(90): \t\t\t\t\tname = name in cache ?\n
Login.c(90): \t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\ti = name.length;\n
Login.c(90): \t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\tdelete cache[ name[ i ] ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \thasData: function( owner ) {\n
Login.c(90): \t\treturn !jQuery.isEmptyObject(\n
Login.c(90): \t\t\tthis.cache[ owner[ this.expando ] ] || {}\n
Login.c(90): \t\t);\n
Login.c(90): \t},\n
Login.c(90): \tdiscard: function( owner ) {\n
Login.c(90): \t\tif ( owner[ this.expando ] ) {\n
Login.c(90): \t\t\tdelete this.cache[ owner[ this.expando ] ];\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): var data_priv = new Data();\n
Login.c(90): \n
Login.c(90): var data_user = new Data();\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): \tImplementation Summary\n
Login.c(90): \n
Login.c(90): \t1. Enforce API surface and semantic compatibility with 1.9.x
branch\n
Login.c(90): \t2. Improve the module's maintainability by reducing the
storage\n
Login.c(90): \t\tpaths to a single mechanism.\n
Login.c(90): \t3. Use the same single mechanism to support "private" and "user"
data.\n
Login.c(90): \t4. _Never_ expose "private" data to user code (TODO: Drop _data,
_removeData)\n
Login.c(90): \t5. Avoid exposing implementation details on user objects (eg.
expando properties)\n
Login.c(90): \t6. Provide a clear path for implementation upgrade to WeakMap in
2014\n
Login.c(90): */\n
Login.c(90): var rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n
Login.c(90): \trmultiDash = /([A-Z])/g;\n
Login.c(90): \n
Login.c(90): function dataAttr( elem, key, data ) {\n
Login.c(90): \tvar name;\n
Login.c(90): \n
Login.c(90): \t// If nothing was found internally, try to fetch any\n
Login.c(90): \t// data from the HTML5 data-* attribute\n
Login.c(90): \tif ( data === undefined && elem.nodeType === 1 ) {\n
Login.c(90): \t\tname = "data-" + key.replace( rmultiDash, "-
$1" ).toLowerCase();\n
Login.c(90): \t\tdata = elem.getAttribute( name );\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof data === "string" ) {\n
Login.c(90): \t\t\ttry {\n
Login.c(90): \t\t\t\tdata = data === "true" ? true :\n
Login.c(90): \t\t\t\t\tdata === "false" ? false :\n
Login.c(90): \t\t\t\t\tdata === "null" ? null :\n
Login.c(90): \t\t\t\t\t// Only convert to a number if it doesn't change the
string\n
Login.c(90): \t\t\t\t\t+data + "" === data ? +data :\n
Login.c(90): \t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n
Login.c(90): \t\t\t\t\tdata;\n
Login.c(90): \t\t\t} catch( e ) {}\n
Login.c(90): \n
Login.c(90): \t\t\t// Make sure we set the data so it isn't changed later\n
Login.c(90): \t\t\tdata_user.set( elem, key, data );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tdata = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \treturn data;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \thasData: function( elem ) {\n
Login.c(90): \t\treturn data_user.hasData( elem ) ||
data_priv.hasData( elem );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdata: function( elem, name, data ) {\n
Login.c(90): \t\treturn data_user.access( elem, name, data );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveData: function( elem, name ) {\n
Login.c(90): \t\tdata_user.remove( elem, name );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// TODO: Now that all calls to _data and _removeData have been
replaced\n
Login.c(90): \t// with direct calls to data_priv methods, these can be
deprecated.\n
Login.c(90): \t_data: function( elem, name, data ) {\n
Login.c(90): \t\treturn data_priv.access( elem, name, data );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t_removeData: function( elem, name ) {\n
Login.c(90): \t\tdata_priv.remove( elem, name );\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tdata: function( key, value ) {\n
Login.c(90): \t\tvar i, name, data,\n
Login.c(90): \t\t\telem = this[ 0 ],\n
Login.c(90): \t\t\tattrs = elem && elem.attributes;\n
Login.c(90): \n
Login.c(90): \t\t// Gets all values\n
Login.c(90): \t\tif ( key === undefined ) {\n
Login.c(90): \t\t\tif ( this.length ) {\n
Login.c(90): \t\t\t\tdata = data_user.get( elem );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( elem.nodeType === 1 && !data_priv.get( elem,
"hasDataAttrs" ) ) {\n
Login.c(90): \t\t\t\t\ti = attrs.length;\n
Login.c(90): \t\t\t\t\twhile ( i-- ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Support: IE11+\n
Login.c(90): \t\t\t\t\t\t// The attrs elements can be null (#14894)\n
Login.c(90): \t\t\t\t\t\tif ( attrs[ i ] ) {\n
Login.c(90): \t\t\t\t\t\t\tname = attrs[ i ].name;\n
Login.c(90): \t\t\t\t\t\t\tif ( name.indexOf( "data-" ) === 0 ) {\n
Login.c(90): \t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice(5) );\n
Login.c(90): \t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tdata_priv.set( elem, "hasDataAttrs", true );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn data;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Sets multiple values\n
Login.c(90): \t\tif ( typeof key === "object" ) {\n
Login.c(90): \t\t\treturn this.each(function() {\n
Login.c(90): \t\t\t\tdata_user.set( this, key );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn access( this, function( value ) {\n
Login.c(90): \t\t\tvar data,\n
Login.c(90): \t\t\t\tcamelKey = jQuery.camelCase( key );\n
Login.c(90): \n
Login.c(90): \t\t\t// The calling jQuery object (element matches) is not
empty\n
Login.c(90): \t\t\t// (and therefore has an element appears at this[ 0 ]) and
the\n
Login.c(90): \t\t\t// `value` parameter was not undefined. An empty jQuery
object\n
Login.c(90): \t\t\t// will result in `undefined` for elem = this[ 0 ] which
will\n
Login.c(90): \t\t\t// throw an exception if an attempt to read a data cache is
made.\n
Login.c(90): \t\t\tif ( elem && value === undefined ) {\n
Login.c(90): \t\t\t\t// Attempt to get data from the cache\n
Login.c(90): \t\t\t\t// with the key as-is\n
Login.c(90): \t\t\t\tdata = data_user.get( elem, key );\n
Login.c(90): \t\t\t\tif ( data !== undefined ) {\n
Login.c(90): \t\t\t\t\treturn data;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Attempt to get data from the cache\n
Login.c(90): \t\t\t\t// with the key camelized\n
Login.c(90): \t\t\t\tdata = data_user.get( elem, camelKey );\n
Login.c(90): \t\t\t\tif ( data !== undefined ) {\n
Login.c(90): \t\t\t\t\treturn data;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Attempt to "discover" the data in\n
Login.c(90): \t\t\t\t// HTML5 custom data-* attrs\n
Login.c(90): \t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n
Login.c(90): \t\t\t\tif ( data !== undefined ) {\n
Login.c(90): \t\t\t\t\treturn data;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// We tried really hard, but the data doesn't exist.\n
Login.c(90): \t\t\t\treturn;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Set the data...\n
Login.c(90): \t\t\tthis.each(function() {\n
Login.c(90): \t\t\t\t// First, attempt to store a copy or reference of any\n
Login.c(90): \t\t\t\t// data that might've been store with a camelCased key.\n
Login.c(90): \t\t\t\tvar data = data_user.get( this, camelKey );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// For HTML5 data-* attribute interop, we have to\n
Login.c(90): \t\t\t\t// store property names with dashes in a camelCase form.\n
Login.c(90): \t\t\t\t// This might not apply to all properties...*\n
Login.c(90): \t\t\t\tdata_user.set( this, camelKey, value );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// *... In the case of properties that might _actually_\n
Login.c(90): \t\t\t\t// have dashes, we need to also store a copy of that\n
Login.c(90): \t\t\t\t// unchanged property.\n
Login.c(90): \t\t\t\tif ( key.indexOf("-") !== -1 && data !== undefined ) {\n
Login.c(90): \t\t\t\t\tdata_user.set( this, key, value );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}, null, value, arguments.length > 1, null, true );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveData: function( key ) {\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tdata_user.remove( this, key );\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tqueue: function( elem, type, data ) {\n
Login.c(90): \t\tvar queue;\n
Login.c(90): \n
Login.c(90): \t\tif ( elem ) {\n
Login.c(90): \t\t\ttype = ( type || "fx" ) + "queue";\n
Login.c(90): \t\t\tqueue = data_priv.get( elem, type );\n
Login.c(90): \n
Login.c(90): \t\t\t// Speed up dequeue by getting out quickly if this is just a
lookup\n
Login.c(90): \t\t\tif ( data ) {\n
Login.c(90): \t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n
Login.c(90): \t\t\t\t\tqueue = data_priv.access( elem, type,
jQuery.makeArray(data) );\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tqueue.push( data );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn queue || [];\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdequeue: function( elem, type ) {\n
Login.c(90): \t\ttype = type || "fx";\n
Login.c(90): \n
Login.c(90): \t\tvar queue = jQuery.queue( elem, type ),\n
Login.c(90): \t\t\tstartLength = queue.length,\n
Login.c(90): \t\t\tfn = queue.shift(),\n
Login.c(90): \t\t\thooks = jQuery._queueHooks( elem, type ),\n
Login.c(90): \t\t\tnext = function() {\n
Login.c(90): \t\t\t\tjQuery.dequeue( elem, type );\n
Login.c(90): \t\t\t};\n
Login.c(90): \n
Login.c(90): \t\t// If the fx queue is dequeued, always remove the progress
sentinel\n
Login.c(90): \t\tif ( fn === "inprogress" ) {\n
Login.c(90): \t\t\tfn = queue.shift();\n
Login.c(90): \t\t\tstartLength--;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( fn ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Add a progress sentinel to prevent the fx queue from
being\n
Login.c(90): \t\t\t// automatically dequeued\n
Login.c(90): \t\t\tif ( type === "fx" ) {\n
Login.c(90): \t\t\t\tqueue.unshift( "inprogress" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// clear up the last queue stop function\n
Login.c(90): \t\t\tdelete hooks.stop;\n
Login.c(90): \t\t\tfn.call( elem, next, hooks );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( !startLength && hooks ) {\n
Login.c(90): \t\t\thooks.empty.fire();\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// not intended for public consumption - generates a queueHooks
object, or returns the c
Login.c(90): urrent one\n
Login.c(90): \t_queueHooks: function( elem, type ) {\n
Login.c(90): \t\tvar key = type + "queueHooks";\n
Login.c(90): \t\treturn data_priv.get( elem, key ) || data_priv.access( elem,
key, {\n
Login.c(90): \t\t\tempty: jQuery.Callbacks("once memory").add(function() {\n
Login.c(90): \t\t\t\tdata_priv.remove( elem, [ type + "queue", key ] );\n
Login.c(90): \t\t\t})\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tqueue: function( type, data ) {\n
Login.c(90): \t\tvar setter = 2;\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof type !== "string" ) {\n
Login.c(90): \t\t\tdata = type;\n
Login.c(90): \t\t\ttype = "fx";\n
Login.c(90): \t\t\tsetter--;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( arguments.length < setter ) {\n
Login.c(90): \t\t\treturn jQuery.queue( this[0], type );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn data === undefined ?\n
Login.c(90): \t\t\tthis :\n
Login.c(90): \t\t\tthis.each(function() {\n
Login.c(90): \t\t\t\tvar queue = jQuery.queue( this, type, data );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// ensure a hooks for this queue\n
Login.c(90): \t\t\t\tjQuery._queueHooks( this, type );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( type === "fx" && queue[0] !== "inprogress" ) {\n
Login.c(90): \t\t\t\t\tjQuery.dequeue( this, type );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t});\n
Login.c(90): \t},\n
Login.c(90): \tdequeue: function( type ) {\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tjQuery.dequeue( this, type );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \tclearQueue: function( type ) {\n
Login.c(90): \t\treturn this.queue( type || "fx", [] );\n
Login.c(90): \t},\n
Login.c(90): \t// Get a promise resolved when queues of a certain type\n
Login.c(90): \t// are emptied (fx is the type by default)\n
Login.c(90): \tpromise: function( type, obj ) {\n
Login.c(90): \t\tvar tmp,\n
Login.c(90): \t\t\tcount = 1,\n
Login.c(90): \t\t\tdefer = jQuery.Deferred(),\n
Login.c(90): \t\t\telements = this,\n
Login.c(90): \t\t\ti = this.length,\n
Login.c(90): \t\t\tresolve = function() {\n
Login.c(90): \t\t\t\tif ( !( --count ) ) {\n
Login.c(90): \t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t};\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof type !== "string" ) {\n
Login.c(90): \t\t\tobj = type;\n
Login.c(90): \t\t\ttype = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \t\ttype = type || "fx";\n
Login.c(90): \n
Login.c(90): \t\twhile ( i-- ) {\n
Login.c(90): \t\t\ttmp = data_priv.get( elements[ i ], type + "queueHooks" );\n
Login.c(90): \t\t\tif ( tmp && tmp.empty ) {\n
Login.c(90): \t\t\t\tcount++;\n
Login.c(90): \t\t\t\ttmp.empty.add( resolve );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\tresolve();\n
Login.c(90): \t\treturn defer.promise( obj );\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): var pnum = (/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/).source;\n
Login.c(90): \n
Login.c(90): var cssExpand = [ "Top", "Right", "Bottom", "Left" ];\n
Login.c(90): \n
Login.c(90): var isHidden = function( elem, el ) {\n
Login.c(90): \t\t// isHidden might be called from jQuery#filter function;\n
Login.c(90): \t\t// in that case, element will be second argument\n
Login.c(90): \t\telem = el || elem;\n
Login.c(90): \t\treturn jQuery.css( elem, "display" ) === "none" || !
jQuery.contains( elem.ownerDocumen
Login.c(90): t, elem );\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): var rcheckableType = (/^(?:checkbox|radio)$/i);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): \tvar fragment = document.createDocumentFragment(),\n
Login.c(90): \t\tdiv =
fragment.appendChild( document.createElement( "div" ) ),\n
Login.c(90): \t\tinput = document.createElement( "input" );\n
Login.c(90): \n
Login.c(90): \t// #11217 - WebKit loses check when the name is after the
checked attribute\n
Login.c(90): \t// Support: Windows Web Apps (WWA)\n
Login.c(90): \t// `name` and `type` need .setAttribute for WWA\n
Login.c(90): \tinput.setAttribute( "type", "radio" );\n
Login.c(90): \tinput.setAttrib
Login.c(90): t=1676ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ute( "checked", "checked" );\n
Login.c(90): \tinput.setAttribute( "name", "t" );\n
Login.c(90): \n
Login.c(90): \tdiv.appendChild( input );\n
Login.c(90): \n
Login.c(90): \t// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3\n
Login.c(90): \t// old WebKit doesn't clone checked state correctly in
fragments\n
Login.c(90): \tsupport.checkClone =
div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n
Login.c(90): \n
Login.c(90): \t// Make sure textarea (and checkbox) defaultValue is properly
cloned\n
Login.c(90): \t// Support: IE9-IE11+\n
Login.c(90): \tdiv.innerHTML = "<textarea>x</textarea>";\n
Login.c(90): \tsupport.noCloneChecked = !!
div.cloneNode( true ).lastChild.defaultValue;\n
Login.c(90): })();\n
Login.c(90): var strundefined = typeof undefined;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): support.focusinBubbles = "onfocusin" in window;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \trkeyEvent = /^key/,\n
Login.c(90): \trmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,\n
Login.c(90): \trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n
Login.c(90): \trtypenamespace = /^([^.]*)(?:\\.(.+)|)$/;\n
Login.c(90): \n
Login.c(90): function returnTrue() {\n
Login.c(90): \treturn true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function returnFalse() {\n
Login.c(90): \treturn false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function safeActiveElement() {\n
Login.c(90): \ttry {\n
Login.c(90): \t\treturn document.activeElement;\n
Login.c(90): \t} catch ( err ) { }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * Helper functions for managing events -- not part of the public
interface.\n
Login.c(90): * Props to Dean Edwards' addEvent library for many of the
ideas.\n
Login.c(90): */\n
Login.c(90): jQuery.event = {\n
Login.c(90): \n
Login.c(90): \tglobal: {},\n
Login.c(90): \n
Login.c(90): \tadd: function( elem, types, handler, data, selector ) {\n
Login.c(90): \n
Login.c(90): \t\tvar handleObjIn, eventHandle, tmp,\n
Login.c(90): \t\t\tevents, t, handleObj,\n
Login.c(90): \t\t\tspecial, handlers, type, namespaces, origType,\n
Login.c(90): \t\t\telemData = data_priv.get( elem );\n
Login.c(90): \n
Login.c(90): \t\t// Don't attach events to noData or text/comment nodes (but
allow plain objects)\n
Login.c(90): \t\tif ( !elemData ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Caller can pass in an object of custom data in lieu of the
handler\n
Login.c(90): \t\tif ( handler.handler ) {\n
Login.c(90): \t\t\thandleObjIn = handler;\n
Login.c(90): \t\t\thandler = handleObjIn.handler;\n
Login.c(90): \t\t\tselector = handleObjIn.selector;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Make sure that the handler has a unique ID, used to
find/remove it later\n
Login.c(90): \t\tif ( !handler.guid ) {\n
Login.c(90): \t\t\thandler.guid = jQuery.guid++;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Init the element's event structure and main handler, if
this is the first\n
Login.c(90): \t\tif ( !(events = elemData.events) ) {\n
Login.c(90): \t\t\tevents = elemData.events = {};\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( !(eventHandle = elemData.handle) ) {\n
Login.c(90): \t\t\teventHandle = elemData.handle = function( e ) {\n
Login.c(90): \t\t\t\t// Discard the second event of a jQuery.event.trigger()
and\n
Login.c(90): \t\t\t\t// when an event is called after a page has unloaded\n
Login.c(90): \t\t\t\treturn typeof jQuery !== strundefined &&
jQuery.event.triggered !== e.type ?\n
Login.c(90): \t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) :
undefined;\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Handle multiple events separated by a space\n
Login.c(90): \t\ttypes = ( types || "" ).match( rnotwhite ) || [ "" ];\n
Login.c(90): \t\tt = types.length;\n
Login.c(90): \t\twhile ( t-- ) {\n
Login.c(90): \t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n
Login.c(90): \t\t\ttype = origType = tmp[1];\n
Login.c(90): \t\t\tnamespaces = ( tmp[2] || "" ).split( "." ).sort();\n
Login.c(90): \n
Login.c(90): \t\t\t// There *must* be a type, no attaching namespace-only
handlers\n
Login.c(90): \t\t\tif ( !type ) {\n
Login.c(90): \t\t\t\tcontinue;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// If event changes its type, use the special event handlers
for the changed type\n
Login.c(90): \t\t\tspecial = jQuery.event.special[ type ] || {};\n
Login.c(90): \n
Login.c(90): \t\t\t// If selector defined, determine special event api type,
otherwise given type\n
Login.c(90): \t\t\ttype = ( selector ? special.delegateType :
special.bindType ) || type;\n
Login.c(90): \n
Login.c(90): \t\t\t// Update special based on newly reset type\n
Login.c(90): \t\t\tspecial = jQuery.event.special[ type ] || {};\n
Login.c(90): \n
Login.c(90): \t\t\t// handleObj is passed to all event handlers\n
Login.c(90): \t\t\thandleObj = jQuery.extend({\n
Login.c(90): \t\t\t\ttype: type,\n
Login.c(90): \t\t\t\torigType: origType,\n
Login.c(90): \t\t\t\tdata: data,\n
Login.c(90): \t\t\t\thandler: handler,\n
Login.c(90): \t\t\t\tguid: handler.guid,\n
Login.c(90): \t\t\t\tselector: selector,\n
Login.c(90): \t\t\t\tneedsContext: selector &&
jQuery.expr.match.needsContext.test( selector ),\n
Login.c(90): \t\t\t\tnamespace: namespaces.join(".")\n
Login.c(90): \t\t\t}, handleObjIn );\n
Login.c(90): \n
Login.c(90): \t\t\t// Init the event handler queue if we're the first\n
Login.c(90): \t\t\tif ( !(handlers = events[ type ]) ) {\n
Login.c(90): \t\t\t\thandlers = events[ type ] = [];\n
Login.c(90): \t\t\t\thandlers.delegateCount = 0;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Only use addEventListener if the special events handler
returns false\n
Login.c(90): \t\t\t\tif ( !special.setup || special.setup.call( elem, data,
namespaces, eventHandle ) =
Login.c(90): == false ) {\n
Login.c(90): \t\t\t\t\tif ( elem.addEventListener ) {\n
Login.c(90): \t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( special.add ) {\n
Login.c(90): \t\t\t\tspecial.add.call( elem, handleObj );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( !handleObj.handler.guid ) {\n
Login.c(90): \t\t\t\t\thandleObj.handler.guid = handler.guid;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Add to the element's handler list, delegates in front\n
Login.c(90): \t\t\tif ( selector ) {\n
Login.c(90): \t\t\t\thandlers.splice( handlers.delegateCount++, 0,
handleObj );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\thandlers.push( handleObj );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Keep track of which events have ever been used, for event
optimization\n
Login.c(90): \t\t\tjQuery.event.global[ type ] = true;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Detach an event or set of events from an element\n
Login.c(90): \tremove: function( elem, types, handler, selector, mappedTypes )
{\n
Login.c(90): \n
Login.c(90): \t\tvar j, origCount, tmp,\n
Login.c(90): \t\t\tevents, t, handleObj,\n
Login.c(90): \t\t\tspecial, handlers, type, namespaces, origType,\n
Login.c(90): \t\t\telemData = data_priv.hasData( elem ) &&
data_priv.get( elem );\n
Login.c(90): \n
Login.c(90): \t\tif ( !elemData || !(events = elemData.events) ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Once for each type.namespace in types; type may be
omitted\n
Login.c(90): \t\ttypes = ( types || "" ).match( rnotwhite ) || [ "" ];\n
Login.c(90): \t\tt = types.length;\n
Login.c(90): \t\twhile ( t-- ) {\n
Login.c(90): \t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n
Login.c(90): \t\t\ttype = origType = tmp[1];\n
Login.c(90): \t\t\tnamespaces = ( tmp[2] || "" ).split( "." ).sort();\n
Login.c(90): \n
Login.c(90): \t\t\t// Unbind all events (on this namespace, if provided) for
the element\n
Login.c(90): \t\t\tif ( !type ) {\n
Login.c(90): \t\t\t\tfor ( type in events ) {\n
Login.c(90): \t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler,
selector, true );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tcontinue;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tspecial = jQuery.event.special[ type ] || {};\n
Login.c(90): \t\t\ttype = ( selector ? special.delegateType :
special.bindType ) || type;\n
Login.c(90): \t\t\thandlers = events[ type ] || [];\n
Login.c(90): \t\t\ttmp = tmp[2] && new RegExp( "(^|\\\\.)" +
namespaces.join("\\\\.(?:.*\\\\.|)") + "(\\
Login.c(90): \\.|$)" );\n
Login.c(90): \n
Login.c(90): \t\t\t// Remove matching events\n
Login.c(90): \t\t\torigCount = j = handlers.length;\n
Login.c(90): \t\t\twhile ( j-- ) {\n
Login.c(90): \t\t\t\thandleObj = handlers[ j ];\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( ( mappedTypes || origType === handleObj.origType )
&&\n
Login.c(90): \t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n
Login.c(90): \t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n
Login.c(90): \t\t\t\t\t( !selector || selector === handleObj.selector ||
selector === "**" && handleObj
Login.c(90): .selector ) ) {\n
Login.c(90): \t\t\t\t\thandlers.splice( j, 1 );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( handleObj.selector ) {\n
Login.c(90): \t\t\t\t\t\thandlers.delegateCount--;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tif ( special.remove ) {\n
Login.c(90): \t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Remove generic event handler if we removed something and
no more handlers exist\n
Login.c(90): \t\t\t// (avoids potential for endless recursion during removal of
special event handlers)
Login.c(90): \n
Login.c(90): \t\t\tif ( origCount && !handlers.length ) {\n
Login.c(90): \t\t\t\tif ( !special.teardown || special.teardown.call( elem,
namespaces, elemData.handle
Login.c(90): ) === false ) {\n
Login.c(90): \t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\tdelete events[ type ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Remove the expando if it's no longer used\n
Login.c(90): \t\tif ( jQuery.isEmptyObject( events ) ) {\n
Login.c(90): \t\t\tdelete elemData.handle;\n
Login.c(90): \t\t\tdata_priv.remove( elem, "events" );\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \ttrigger: function( event, data, elem, onlyHandlers ) {\n
Login.c(90): \n
Login.c(90): \t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n
Login.c(90): \t\t\teventPath = [ elem || document ],\n
Login.c(90): \t\t\ttype = hasOwn.call( event, "type" ) ? event.type : event,\n
Login.c(90): \t\t\tnamespaces = hasOwn.call( event, "namespace" ) ?
event.namespace.split(".") : [];\n
Login.c(90): \n
Login.c(90): \t\tcur = tmp = elem = elem || document;\n
Login.c(90): \n
Login.c(90): \t\t// Don't do events on text and comment nodes\n
Login.c(90): \t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// focus/blur morphs to focusin/out; ensure we're not firing
them right now\n
Login.c(90): \t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( type.indexOf(".") >= 0 ) {\n
Login.c(90): \t\t\t// Namespaced trigger; create a regexp to match event type
in handle()\n
Login.c(90): \t\t\tnamespaces = type.split(".");\n
Login.c(90): \t\t\ttype = namespaces.shift();\n
Login.c(90): \t\t\tnamespaces.sort();\n
Login.c(90): \t\t}\n
Login.c(90): \t\tontype = type.indexOf(":") < 0 && "on" + type;\n
Login.c(90): \n
Login.c(90): \t\t// Caller can pass in a jQuery.Event object, Object, or just
an event type string\n
Login.c(90): \t\tevent = event[ jQuery.expando ] ?\n
Login.c(90): \t\t\tevent :\n
Login.c(90): \t\t\tnew jQuery.Event( type, typeof event === "object" &&
event );\n
Login.c(90): \n
Login.c(90): \t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery
(always true)\n
Login.c(90): \t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n
Login.c(90): \t\tevent.namespace = namespaces.join(".");\n
Login.c(90): \t\tevent.namespace_re = event.namespace ?\n
Login.c(90): \t\t\tnew RegExp( "(^|\\\\.)" + namespaces.join("\\\\.
(?:.*\\\\.|)") + "(\\\\.|$)" ) :\n
Login.c(90): \t\t\tnull;\n
Login.c(90): \n
Login.c(90): \t\t// Clean up the event in case it is being reused\n
Login.c(90): \t\tevent.result = undefined;\n
Login.c(90): \t\tif ( !event.target ) {\n
Login.c(90): \t\t\tevent.target = elem;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Clone any incoming data and prepend the event, creating the
handler arg list\n
Login.c(90): \t\tdata = data == null ?\n
Login.c(90): \t\t\t[ event ] :\n
Login.c(90): \t\t\tjQuery.makeArray( data, [ event ] );\n
Login.c(90): \n
Login.c(90): \t\t// Allow special events to draw outside the lines\n
Login.c(90): \t\tspecial = jQuery.event.special[ type ] || {};\n
Login.c(90): \t\tif ( !onlyHandlers && special.trigger &&
special.trigger.apply( elem, data ) === false
Login.c(90): ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Determine event propagation path in advance, per W3C events
spec (#9951)\n
Login.c(90): \t\t// Bubble up to document, then to window; watch for a global
ownerDocument var (#9724)
Login.c(90): \n
Login.c(90): \t\tif ( !onlyHandlers && !special.noBubble && !
jQuery.isWindow( elem ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\tbubbleType = special.delegateType || type;\n
Login.c(90): \t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n
Login.c(90): \t\t\t\tcur = cur.parentNode;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tfor ( ; cur; cur = cur.parentNode ) {\n
Login.c(90): \t\t\t\teventPath.push( cur );\n
Login.c(90): \t\t\t\ttmp = cur;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Only add window if we got to document (e.g., not plain
obj or detached DOM)\n
Login.c(90): \t\t\tif ( tmp === (elem.ownerDocument || document) ) {\n
Login.c(90): \t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow ||
window );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Fire handlers on the event path\n
Login.c(90): \t\ti = 0;\n
Login.c(90): \t\twhile ( (cur = eventPath[i++]) && !
event.isPropagationStopped() ) {\n
Login.c(90): \n
Login.c(90): \t\t\tevent.type = i > 1 ?\n
Login.c(90): \t\t\t\tbubbleType :\n
Login.c(90): \t\t\t\tspecial.bindType || type;\n
Login.c(90): \n
Login.c(90): \t\t\t// jQuery handler\n
Login.c(90): \t\t\thandle = ( data_priv.get( cur, "events" ) || {} )
[ event.type ] && data_priv.get( cu
Login.c(90): r, "handle" );\n
Login.c(90): \t\t\tif ( handle ) {\n
Login.c(90): \t\t\t\thandle.apply( cur, data );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Native handler\n
Login.c(90): \t\t\thandle = ontype && cur[ ontype ];\n
Login.c(90): \t\t\tif ( handle && handle.apply && jQuery.acceptData( cur ) )
{\n
Login.c(90): \t\t\t\tevent.result = handle.apply( cur, data );\n
Login.c(90): \t\t\t\tif ( event.result === false ) {\n
Login.c(90): \t\t\t\t\tevent.preventDefault();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\tevent.type = type;\n
Login.c(90): \n
Login.c(90): \t\t// If nobody prevented the default action, do it now\n
Login.c(90): \t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n
Login.c(90): \n
Login.c(90): \t\t\tif ( (!special._default ||
special._default.apply( eventPath.pop(), data ) === false
Login.c(90): ) &&\n
Login.c(90): \t\t\t\tjQuery.acceptData( elem ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Call a native DOM method on the target with the same
name name as the event.\n
Login.c(90): \t\t\t\t// Don't do default actions on window, that's where global
variables be (#6170)\n
Login.c(90): \t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !
jQuery.isWindow( elem ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Don't re-trigger an onFOO event when we call its
FOO() method\n
Login.c(90): \t\t\t\t\ttmp = elem[ ontype ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( tmp ) {\n
Login.c(90): \t\t\t\t\t\telem[ ontype ] = null;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Prevent re-triggering of the same event, since we
already bubbled it above\n
Login.c(90): \t\t\t\t\tjQuery.event.triggered = type;\n
Login.c(90): \t\t\t\t\telem[ type ]();\n
Login.c(90): \t\t\t\t\tjQuery.event.triggered = undefined;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( tmp ) {\n
Login.c(90): \t\t\t\t\t\telem[ ontype ] = tmp;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn event.result;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdispatch: function( event ) {\n
Login.c(90): \n
Login.c(90): \t\t// Make a writable jQuery.Event from the native event object\n
Login.c(90): \t\tevent = jQuery.event.fix( event );\n
Login.c(90): \n
Login.c(90): \t\tvar i, j, ret, matched, handleObj,\n
Login.c(90): \t\t\thandlerQueue = [],\n
Login.c(90): \t\t\targs = slice.call( arguments ),\n
Login.c(90): \t\t\thandlers = ( data_priv.get( this, "events" ) || {} )
[ event.type ] || [],\n
Login.c(90): \t\t\tspecial = jQuery.event.special[ event.type ] || {};\n
Login.c(90): \n
Login.c(90): \t\t// Use the fix-ed jQuery.Event rather than the (read-only)
native event\n
Login.c(90): \t\targs[0] = event;\n
Login.c(90): \t\tevent.delegateTarget = this;\n
Login.c(90): \n
Login.c(90): \t\t// Call the preDispatch hook for the mapped type, and let it
bail if desired\n
Login.c(90): \t\tif ( special.preDispatch && special.preDispatch.call( this,
event ) === false ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Determine handlers\n
Login.c(90): \t\thandlerQueue = jQuery.event.handlers.call( this, event,
handlers );\n
Login.c(90): \n
Login.c(90): \t\t// Run delegates first; they may want to stop propagation
beneath us\n
Login.c(90): \t\ti = 0;\n
Login.c(90): \t\twhile ( (matched = handlerQueue[ i++ ]) && !
event.isPropagationStopped() ) {\n
Login.c(90): \t\t\tevent.currentTarget = matched.elem;\n
Login.c(90): \n
Login.c(90): \t\t\tj = 0;\n
Login.c(90): \t\t\twhile ( (handleObj = matched.handlers[ j++ ]) && !
event.isImmediatePropagationStoppe
Login.c(90): d() ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Triggered event must either 1) have no namespace, or\n
Login.c(90): \t\t\t\t// 2) have namespace(s) a subset or equal to those in the
bound event (both can ha
Login.c(90): ve no namespace).\n
Login.c(90): \t\t\t\tif ( !event.namespace_re ||
event.namespace_re.test( handleObj.namespace ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tevent.handleObj = handleObj;\n
Login.c(90): \t\t\t\t\tevent.data = handleObj.data;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] ||
{}).handle || handleObj.h
Login.c(90): andler )\n
Login.c(90): \t\t\t\t\t\t\t.apply( matched.elem, args );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( ret !== undefin
Login.c(90): t=1693ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"38672-1416253774000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:34 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=1693ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): a\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1694ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 16d\r\n
Login.c(90): t=1695ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=1696ms: 6519-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): t=1696ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): /*!\n
Login.c(90): * angular-translate - v2.4.0 - 2014-09-22\n
Login.c(90): * http://github.com/PascalPrecht/angular-translate\n
Login.c(90): * Copyright (c) 2014 ; Licensed MIT\n
Login.c(90): */\n
Login.c(90): angular.module('pascalprecht.translate', ['ng']).run([\n
Login.c(90): '$translate',\n
Login.c(90): function ($translate) {\n
Login.c(90): var key = $translate.storageKey(), storage =
$translate.storage();\n
Login.c(90): if (storage) {\n
Login.c(90): if (!storage.get(key)) {\n
Login.c(90): if (angular.isString($translate.preferredLanguage())) {\n
Login.c(90): $translate.use($translate.preferredLanguage());\n
Login.c(90): } else {\n
Login.c(90): storage.set(key, $translate.use());\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): $translate.use(storage.get(key));\n
Login.c(90): }\n
Login.c(90): } else if (angular.isString($translate.preferredLanguage()))
{\n
Login.c(90): $translate.use($translate.preferredLanguage());\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): angular.module('pascalprecht.translate').provider('$translate',
[\n
Login.c(90): '$STORAGE_KEY',\n
Login.c(90): function ($STORAGE_KEY) {\n
Login.c(90): var $translationTable = {}, $preferredLanguage,
$availableLanguageKeys = [], $language
Login.c(90): KeyAliases, $fallbackLanguage, $fallbackWasString, $uses,
$nextLang, $storageFactory, $sto
Login.c(90): rageKey = $STORAGE_KEY, $storagePrefix,
$missingTranslationHandlerFactory, $interpolationF
Login.c(90): actory, $interpolatorFactories = [],
$interpolationSanitizationStrategy = false, $loaderFa
Login.c(90): ctory, $cloakClassName = 'translate-cloak', $loaderOptions,
$notFoundIndicatorLeft, $notFo
Login.c(90): undIndicatorRight, $postCompilingEnabled = false,
NESTED_OBJECT_DELIMITER = '.', loaderCac
Login.c(90): he;\n
Login.c(90): var version = '2.4.0';\n
Login.c(90): var getLocale = function () {\n
Login.c(90): var nav = window.navigator;\n
Login.c(90): return ((angular.isArray(nav.languages) ? nav.languages[0] :
nav.language || nav.bro
Login.c(90): wserLanguage || nav.systemLanguage || nav.userLanguage) ||
'').split('-').join('_');\n
Login.c(90): };\n
Login.c(90): var indexOf = function (array, searchElement) {\n
Login.c(90): for (var i = 0, len = array.length; i < len; i++) {\n
Login.c(90): if (array[i] === searchElement) {\n
Login.c(90): return i;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return -1;\n
Login.c(90): };\n
Login.c(90): var trim = function () {\n
Login.c(90): return this.replace(/^\\s+|\\s+$/g, '');\n
Login.c(90): };\n
Login.c(90): var negotiateLocale = function (preferred) {\n
Login.c(90): var avail = [], locale = angular.lowercase(preferred), i =
0, n = $availableLanguage
Login.c(90): Keys.length;\n
Login.c(90): for (; i < n; i++) {\n
Login.c(90):
avail.push(angular.lowercase($availableLanguageKeys[i]));\n
Login.c(90): }\n
Login.c(90): if (indexOf(avail, locale) > -1) {\n
Login.c(90): return preferred;\n
Login.c(90): }\n
Login.c(90): if ($languageKeyAliases) {\n
Login.c(90): var alias;\n
Login.c(90): for (var langKeyAlias in $languageKeyAliases) {\n
Login.c(90): var hasWildcardKey = false;\n
Login.c(90): var hasExactKey =
Object.prototype.hasOwnProperty.call($languageKeyAliases, lang
Login.c(90): KeyAlias) && angular.lowercase(langKeyAlias) ===
angular.lowercase(preferred);\n
Login.c(90): if (langKeyAlias.slice(-1) === '*') {\n
Login.c(90): hasWildcardKey = langKeyAlias.slice(0, -1) ===
preferred.slice(0, langKeyAlias
Login.c(90): .length - 1);\n
Login.c(90): }\n
Login.c(90): if (hasExactKey || hasWildcardKey) {\n
Login.c(90): alias = $languageKeyAliases[langKeyAlias];\n
Login.c(90): if (indexOf(avail, angular.lowercase(alias)) > -1) {\n
Login.c(90): return alias;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): var parts = preferred.split('_');\n
Login.c(90): if (parts.length > 1 && indexOf(avail,
angular.lowercase(parts[0])) > -1) {\n
Login.c(90): return parts[0];\n
Login.c(90): }\n
Login.c(90): return preferred;\n
Login.c(90): };\n
Login.c(90): var translations = function (langKey, translationTable) {\n
Login.c(90): if (!langKey && !translationTable) {\n
Login.c(90): return $translationTable;\n
Login.c(90): }\n
Login.c(90): if (langKey && !translationTable) {\n
Login.c(90): if (angular.isString(langKey)) {\n
Login.c(90): return $translationTable[langKey];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (!angular.isObject($translationTable[langKey])) {\n
Login.c(90): $translationTable[langKey] = {};\n
Login.c(90): }\n
Login.c(90): angular.extend($translationTable[langKey],
flatObject(translationTable));\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.translations = translations;\n
Login.c(90): this.cloakClassName = function (name) {\n
Login.c(90): if (!name) {\n
Login.c(90): return $cloakClassName;\n
Login.c(90): }\n
Login.c(90): $cloakClassName = name;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): var flatObject = function (data, path, result, prevKey) {\n
Login.c(90): var key, keyWithPath, keyWithShortPath, val;\n
Login.c(90): if (!path) {\n
Login.c(90): path = [];\n
Login.c(90): }\n
Login.c(90): if (!result) {\n
Login.c(90): result = {};\n
Login.c(90): }\n
Login.c(90): for (key in data) {\n
Login.c(90): if (!Object.prototype.hasOwnProperty.call(data, key)) {\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): val = data[key];\n
Login.c(90): if (angular.isObject(val)) {\n
Login.c(90): flatObject(val, path.concat(key), result, key);\n
Login.c(90): } else {\n
Login.c(90): keyWithPath = path.length ? '' +
path.join(NESTED_OBJECT_DELIMITER) + NESTED_OBJ
Login.c(90): ECT_DELIMITER + key : key;\n
Login.c(90): if (path.length && key === prevKey) {\n
Login.c(90): keyWithShortPath = '' +
path.join(NESTED_OBJECT_DELIMITER);\n
Login.c(90): result[keyWithShortPath] = '@:' + keyWithPath;\n
Login.c(90): }\n
Login.c(90): result[keyWithPath] = val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): this.addInterpolation = function (factory) {\n
Login.c(90): $interpolatorFactories.push(factory);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.useMessageFormatInterpolation = function () {\n
Login.c(90): return
this.useInterpolation('$translateMessageFormatInterpolation');\n
Login.c(90): };\n
Login.c(90): this.useInterpolation = function (factory) {\n
Login.c(90): $interpolationFactory = factory;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.useSanitizeValueStrategy = function (value) {\n
Login.c(90): $interpolationSanitizationStrategy = value;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.preferredLanguage = function (langKey) {\n
Login.c(90): setupPreferredLanguage(langKey);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): var setupPreferredLanguage = function (langKey) {\n
Login.c(90): if (langKey) {\n
Login.c(90): $preferredLanguage = langKey;\n
Login.c(90): }\n
Login.c(90): return $preferredLanguage;\n
Login.c(90): };\n
Login.c(90): this.translationNotFoundIndicator = function (indicator) {\n
Login.c(90): this.translationNotFoundIndicatorLeft(indicator);\n
Login.c(90): this.translationNotFoundIndicatorRight(indicator);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.translationNotFoundIndicatorLeft = function (indicator)
{\n
Login.c(90): if (!indicator) {\n
Login.c(90): return $notFoundIndicatorLeft;\n
Login.c(90): }\n
Login.c(90): $notFoundIndicatorLeft = indicator;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.translationNotFoundIndicatorRight = function (indicator)
{\n
Login.c(90): if (!indicator) {\n
Login.c(90): return $notFoundIndicatorRight;\n
Login.c(90): }\n
Login.c(90): $notFoundIndicatorRight = indicator;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.fallbackLanguage = function (langKey) {\n
Login.c(90): fallbackStack(langKey);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): var fallbackStack = function (langKey) {\n
Login.c(90): if (langKey) {\n
Login.c(90): if (angular.isString(langKey)) {\n
Login.c(90): $fallbackWasString = true;\n
Login.c(90): $fallbackLanguage = [langKey];\n
Login.c(90): } else if (angular.isArray(langKey)) {\n
Login.c(90): $fallbackWasString = false;\n
Login.c(90): $fallbackLanguage = langKey;\n
Login.c(90): }\n
Login.c(90): if (angular.isString($preferredLanguage) &&
indexOf($fallbackLanguage, $preferredL
Login.c(90): anguage) < 0) {\n
Login.c(90): $fallbackLanguage.push($preferredLanguage);\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): if ($fallbackWasString) {\n
Login.c(90): return $fallbackLanguage[0];\n
Login.c(90): } else {\n
Login.c(90): return $fallbackLanguage;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): this.use = function (langKey) {\n
Login.c(90): if (langKey) {\n
Login.c(90): if (!$translationTable[langKey] && !$loaderFactory) {\n
Login.c(90): throw new Error('$translateProvider couldn\\'t find
translationTable for langKey
Login.c(90): : \\'' + langKey + '\\'');\n
Login.c(90): }\n
Login.c(90): $uses = langKey;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): return $uses;\n
Login.c(90): };\n
Login.c(90): var storageKey = function (key) {\n
Login.c(90): if (!key) {\n
Login.c(90): if ($storagePrefix) {\n
Login.c(90): return $storagePrefix + $storageKey;\n
Login.c(90): }\n
Login.c(90): return $storageKey;\n
Login.c(90): }\n
Login.c(90): $storageKey = key;\n
Login.c(90): };\n
Login.c(90): this.storageKey = storageKey;\n
Login.c(90): this.useUrlLoader = function (url) {\n
Login.c(90): return this.useLoader('$translateUrlLoader', { url:
url });\n
Login.c(90): };\n
Login.c(90): this.useStaticFilesLoader = function (options) {\n
Login.c(90): return this.useLoader('$translateStaticFilesLoader',
options);\n
Login.c(90): };\n
Login.c(90): this.useLoader = function (loaderFactory, options) {\n
Login.c(90): $loaderFactory = loaderFactory;\n
Login.c(90): $loaderOptions = options || {};\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.useLocalStorage = function () {\n
Login.c(90): return this.useStorage('$translateLocalStorage');\n
Login.c(90): };\n
Login.c(90): this.useCookieStorage = function () {\n
Login.c(90): return this.useStorage('$translateCookieStorage');\n
Login.c(90): };\n
Login.c(90): this.useStorage = function (storageFactory) {\n
Login.c(90): $storageFactory = storageFactory;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.storagePrefix = function (prefix) {\n
Login.c(90): if (!prefix) {\n
Login.c(90): return prefix;\n
Login.c(90): }\n
Login.c(90): $storagePrefix = prefix;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.useMissingTranslationHandlerLog = function () {\n
Login.c(90): return
this.useMissingTranslationHandler('$translateMissingTranslationHandlerLog');\n
Login.c(90): };\n
Login.c(90): this.useMissingTranslationHandler = function (factory) {\n
Login.c(90): $missingTranslationHandlerFactory = factory;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.usePostCompiling = function (value) {\n
Login.c(90): $postCompilingEnabled = !!value;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.determinePreferredLanguage = function (fn) {\n
Login.c(90): var locale = fn && angular.isFunction(fn) ? fn() :
getLocale();\n
Login.c(90): if (!$availableLanguageKeys.length) {\n
Login.c(90): $preferredLanguage = locale;\n
Login.c(90): } else {\n
Login.c(90): $preferredLanguage = negotiateLocale(locale);\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.registerAvailableLanguageKeys = function (languageKeys,
aliases) {\n
Login.c(90): if (languageKeys) {\n
Login.c(90): $availableLanguageKeys = languageKeys;\n
Login.c(90): if (aliases) {\n
Login.c(90): $languageKeyAliases = aliases;\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): return $availableLanguageKeys;\n
Login.c(90): };\n
Login.c(90): this.useLoaderCache = function (cache) {\n
Login.c(90): if (cache === false) {\n
Login.c(90): loaderCache = undefined;\n
Login.c(90): } else if (cache === true) {\n
Login.c(90): loaderCache = true;\n
Login.c(90): } else if (typeof cache === 'undefined') {\n
Login.c(90): loaderCache = '$translationCache';\n
Login.c(90): } else if (cache) {\n
Login.c(90): loaderCache = cache;\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): this.$get = [\n
Login.c(90): '$log',\n
Login.c(90): '$injector',\n
Login.c(90): '$rootScope',\n
Login.c(90): '$q',\n
Login.c(90): function ($log, $injector, $rootScope, $q) {\n
Login.c(90): var Storage, defaultInterpolator =
$injector.get($interpolationFactory || '$transl
Login.c(90): ateDefaultInterpolation'), pendingLoader = false,
interpolatorHashMap = {}, langPromises =
Login.c(90): {}, fallbackIndex, startFallbackIteration;\n
Login.c(90): var $translate = function (translationId,
interpolateParams, interpolationId) {\n
Login.c(90): if (angular.isArray(translationId)) {\n
Login.c(90): var translateAll = function (translationIds) {\n
Login.c(90): var results = {};\n
Login.c(90): var promises = [];\n
Login.c(90): var translate = function (translationId) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): var regardless = function (value) {\n
Login.c(90): results[translationId] = value;\n
Login.c(90): deferred.resolve([\n
Login.c(90): translationId,\n
Login.c(90): value\n
Login.c(90): ]);\n
Login.c(90): };\n
Login.c(90): $translate(translationId, interpolateParams,
interpolationId).then(regardl
Login.c(90): ess, regardless);\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): for (var i = 0, c = translationIds.length; i < c; i+
+) {\n
Login.c(90): promises.push(translate(translationIds[i]));\n
Login.c(90): }\n
Login.c(90): return $q.all(promises).then(function () {\n
Login.c(90): return results;\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): return translateAll(translationId);\n
Login.c(90): }\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): if (translationId) {\n
Login.c(90): translationId = trim.apply(translationId);\n
Login.c(90): }\n
Login.c(90): var promiseToWaitFor = function () {\n
Login.c(90): var promise = $preferredLanguage ?
langPromises[$preferredLanguage] : langPr
Login.c(90): omises[$uses];\n
Login.c(90): fallbackIndex = 0;\n
Login.c(90): if ($storageFactory && !promise) {\n
Login.c(90): var langKey = Storage.get($storageKey);\n
Login.c(90): promise = langPromises[langKey];\n
Login.c(90): if ($fallbackLanguage && $fallbackLanguage.length)
{\n
Login.c(90): var index = indexOf($fallbackLanguage,
langKey);\n
Login.c(90): fallbackIndex = index === 0 ? 1 : 0;\n
Login.c(90): if (indexOf($fallbackLanguage,
$preferredLanguage) < 0) {\n
Login.c(90): $fallbackLanguage.push($preferredLanguage);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return promise;\n
Login.c(90): }();\n
Login.c(90): if (!promiseToWaitFor) {\n
Login.c(90): determineTranslation(translationId, interpolateParams,
interpolationId).then(d
Login.c(90): eferred.resolve, de
Login.c(90): t=1711ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): ferred.reject);\n
Login.c(90): } else {\n
Login.c(90): promiseToWaitFor.then(function () {\n
Login.c(90): determineTranslation(translationId,
interpolateParams, interpolationId).then
Login.c(90): (deferred.resolve, deferred.reject);\n
Login.c(90): }, deferred.reject);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): var applyNotFoundIndicators = function (translationId) {\n
Login.c(90): if ($notFoundIndicatorLeft) {\n
Login.c(90): translationId = [\n
Login.c(90): $notFoundIndicatorLeft,\n
Login.c(90): translationId\n
Login.c(90): ].join(' ');\n
Login.c(90): }\n
Login.c(90): if ($notFoundIndicatorRight) {\n
Login.c(90): translationId = [\n
Login.c(90): translationId,\n
Login.c(90): $notFoundIndicatorRight\n
Login.c(90): ].join(' ');\n
Login.c(90): }\n
Login.c(90): return translationId;\n
Login.c(90): };\n
Login.c(90): var useLanguage = function (key) {\n
Login.c(90): $uses = key;\n
Login.c(90): $rootScope.$emit('$translateChangeSuccess', { language:
key });\n
Login.c(90): if ($storageFactory) {\n
Login.c(90): Storage.set($translate.storageKey(), $uses);\n
Login.c(90): }\n
Login.c(90): defaultInterpolator.setLocale($uses);\n
Login.c(90): angular.forEach(interpolatorHashMap, function
(interpolator, id) {\n
Login.c(90): interpolatorHashMap[id].setLocale($uses);\n
Login.c(90): });\n
Login.c(90): $rootScope.$emit('$translateChangeEnd', { language:
key });\n
Login.c(90): };\n
Login.c(90): var loadAsync = function (key) {\n
Login.c(90): if (!key) {\n
Login.c(90): throw 'No language key specified for loading.';\n
Login.c(90): }\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): $rootScope.$emit('$translateLoadingStart', { language:
key });\n
Login.c(90): pendingLoader = true;\n
Login.c(90): var cache = loaderCache;\n
Login.c(90): if (typeof cache === 'string') {\n
Login.c(90): cache = $injector.get(cache);\n
Login.c(90): }\n
Login.c(90): $injector.get($loaderFactory)
(angular.extend($loaderOptions, {\n
Login.c(90): key: key,\n
Login.c(90): $http: angular.extend({}, $loaderOptions.$http,
{ cache: cache })\n
Login.c(90): })).then(function (data) {\n
Login.c(90): var translationTable = {};\n
Login.c(90): $rootScope.$emit('$translateLoadingSuccess',
{ language: key });\n
Login.c(90): if (angular.isArray(data)) {\n
Login.c(90): angular.forEach(data, function (table) {\n
Login.c(90): angular.extend(translationTable,
flatObject(table));\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): angular.extend(translationTable,
flatObject(data));\n
Login.c(90): }\n
Login.c(90): pendingLoader = false;\n
Login.c(90): deferred.resolve({\n
Login.c(90): key: key,\n
Login.c(90): table: translationTable\n
Login.c(90): });\n
Login.c(90): $rootScope.$emit('$translateLoadingEnd', { language:
key });\n
Login.c(90): }, function (key) {\n
Login.c(90): $rootScope.$emit('$translateLoadingError', { language:
key });\n
Login.c(90): deferred.reject(key);\n
Login.c(90): $rootScope.$emit('$translateLoadingEnd', { language:
key });\n
Login.c(90): });\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): if ($storageFactory) {\n
Login.c(90): Storage = $injector.get($storageFactory);\n
Login.c(90): if (!Storage.get || !Storage.set) {\n
Login.c(90): throw new Error('Couldn\\'t use storage \\'' +
$storageFactory + '\\', missing
Login.c(90): get() or set() method!');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if
(angular.isFunction(defaultInterpolator.useSanitizeValueStrategy)) {\n
Login.c(90):
defaultInterpolator.useSanitizeValueStrategy($interpolationSanitizationStrategy)
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): if ($interpolatorFactories.length) {\n
Login.c(90): angular.forEach($interpolatorFactories, function
(interpolatorFactory) {\n
Login.c(90): var interpolator =
$injector.get(interpolatorFactory);\n
Login.c(90): interpolator.setLocale($preferredLanguage || $uses);\n
Login.c(90): if
(angular.isFunction(interpolator.useSanitizeValueStrategy)) {\n
Login.c(90):
interpolator.useSanitizeValueStrategy($interpolationSanitizationStrategy);\n
Login.c(90): }\n
Login.c(90):
interpolatorHashMap[interpolator.getInterpolationIdentifier()] = interpolator;
Login.c(90): \n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): var getTranslationTable = function (langKey) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): if
(Object.prototype.hasOwnProperty.call($translationTable, langKey)) {\n
Login.c(90): deferred.resolve($translationTable[langKey]);\n
Login.c(90): } else if (langPromises[langKey]) {\n
Login.c(90): langPromises[langKey].then(function (data) {\n
Login.c(90): translations(data.key, data.table);\n
Login.c(90): deferred.resolve(data.table);\n
Login.c(90): }, deferred.reject);\n
Login.c(90): } else {\n
Login.c(90): deferred.reject();\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): var getFallbackTranslation = function (langKey,
translationId, interpolateParams,
Login.c(90): Interpolator) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): getTranslationTable(langKey).then(function
(translationTable) {\n
Login.c(90): if
(Object.prototype.hasOwnProperty.call(translationTable, translationId)) {\n
Login.c(90): Interpolator.setLocale(langKey);\n
Login.c(90):
deferred.resolve(Interpolator.interpolate(translationTable[translationId], i
Login.c(90): nterpolateParams));\n
Login.c(90): Interpolator.setLocale($uses);\n
Login.c(90): } else {\n
Login.c(90): deferred.reject();\n
Login.c(90): }\n
Login.c(90): }, deferred.reject);\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): var getFallbackTranslationInstant = function (langKey,
translationId, interpolateP
Login.c(90): arams, Interpolator) {\n
Login.c(90): var result, translationTable =
$translationTable[langKey];\n
Login.c(90): if
(Object.prototype.hasOwnProperty.call(translationTable, translationId)) {\n
Login.c(90): Interpolator.setLocale(langKey);\n
Login.c(90): result =
Interpolator.interpolate(translationTable[translationId], interpolate
Login.c(90): Params);\n
Login.c(90): Interpolator.setLocale($uses);\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): var translateByHandler = function (translationId) {\n
Login.c(90): if ($missingTranslationHandlerFactory) {\n
Login.c(90): var resultString =
$injector.get($missingTranslationHandlerFactory)(translatio
Login.c(90): nId, $uses);\n
Login.c(90): if (resultString !== undefined) {\n
Login.c(90): return resultString;\n
Login.c(90): } else {\n
Login.c(90): return translationId;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return translationId;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): var resolveForFallbackLanguage = function
(fallbackLanguageIndex, translationId, i
Login.c(90): nterpolateParams, Interpolator) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): if (fallbackLanguageIndex < $fallbackLanguage.length)
{\n
Login.c(90): var langKey =
$fallbackLanguage[fallbackLanguageIndex];\n
Login.c(90): getFallbackTranslation(langKey, translationId,
interpolateParams, Interpolator
Login.c(90): ).then(deferred.resolve, function () {\n
Login.c(90): resolveForFallbackLanguage(fallbackLanguageIndex +
1, translationId, interpo
Login.c(90): lateParams, Interpolator).then(deferred.resolve);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(translateByHandler(translationId));\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): var resolveForFallbackLanguageInstant = function
(fallbackLanguageIndex, translati
Login.c(90): onId, interpolateParams, Interpolator) {\n
Login.c(90): var result;\n
Login.c(90): if (fallbackLanguageIndex < $fallbackLanguage.length)
{\n
Login.c(90): var langKey =
$fallbackLanguage[fallbackLanguageIndex];\n
Login.c(90): result = getFallbackTranslationInstant(langKey,
translationId, interpolatePara
Login.c(90): ms, Interpolator);\n
Login.c(90): if (!result) {\n
Login.c(90): result =
resolveForFallbackLanguageInstant(fallbackLanguageIndex + 1, transl
Login.c(90): ationId, interpolateParams, Interpolator);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): var fallbackTranslation = function (translationId,
interpolateParams, Interpolator
Login.c(90): ) {\n
Login.c(90): return resolveForFallbackLanguage(startFallbackIteration
> 0 ? startFallbackIter
Login.c(90): ation : fallbackIndex, translationId, interpolateParams,
Interpolator);\n
Login.c(90): };\n
Login.c(90): var fallbackTranslationInstant = function (translationId,
interpolateParams, Inter
Login.c(90): polator) {\n
Login.c(90): return
resolveForFallbackLanguageInstant(startFallbackIteration > 0 ? startFallb
Login.c(90): ackIteration : fallbackIndex, translationId, interpolateParams,
Interpolator);\n
Login.c(90): };\n
Login.c(90): var determineTranslation = function (translationId,
interpolateParams, interpolati
Login.c(90): onId) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): var table = $uses ? $translationTable[$uses] :
$translationTable, Interpolator =
Login.c(90): interpolationId ? interpolatorHashMap[interpolationId] :
defaultInterpolator;\n
Login.c(90): if (table && Object.prototype.hasOwnProperty.call(table,
translationId)) {\n
Login.c(90): var translation = table[translationId];\n
Login.c(90): if (translation.substr(0, 2) === '@:') {\n
Login.c(90): $translate(translation.substr(2), interpolateParams,
interpolationId).then(d
Login.c(90): eferred.resolve, deferred.reject);\n
Login.c(90): } else {\n
Login.c(90):
deferred.resolve(Interpolator.interpolate(translation, interpolateParams));\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var missingTranslationHandlerTranslation;\n
Login.c(90): if ($missingTranslationHandlerFactory && !
pendingLoader) {\n
Login.c(90): missingTranslationHandlerTranslation =
translateByHandler(translationId);\n
Login.c(90): }\n
Login.c(90): if ($uses && $fallbackLanguage &&
$fallbackLanguage.length) {\n
Login.c(90): fallbackTranslation(translationId,
interpolateParams, Interpolator).then(fun
Login.c(90): ction (translation) {\n
Login.c(90): deferred.resolve(translation);\n
Login.c(90): }, function (_translationId) {\n
Login.c(90):
deferred.reject(applyNotFoundIndicators(_translationId));\n
Login.c(90): });\n
Login.c(90): } else if ($missingTranslationHandlerFactory && !
pendingLoader && missingTrans
Login.c(90): lationHandlerTranslation) {\n
Login.c(90):
deferred.resolve(missingTranslationHandlerTranslation);\n
Login.c(90): } else {\n
Login.c(90):
deferred.reject(applyNotFoundIndicators(translationId));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): var determineTranslationInstant = function (translationId,
interpolateParams, inte
Login.c(90): rpolationId) {\n
Login.c(90): var result, table = $uses ? $translationTable[$uses] :
$translationTable, Interp
Login.c(90): olator = interpolationId ? interpolatorHashMap[interpolationId] :
defaultInterpolator;\n
Login.c(90): if (table && Object.prototype.hasOwnProperty.call(table,
translationId)) {\n
Login.c(90): var translation = table[translationId];\n
Login.c(90): if (translation.substr(0, 2) === '@:') {\n
Login.c(90): result =
determineTranslationInstant(translation.substr(2), interpolateParam
Login.c(90): s, interpolationId);\n
Login.c(90): } else {\n
Login.c(90): result = Interpolator.interpolate(translation,
interpolateParams);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var missingTranslationHandlerTranslation;\n
Login.c(90): if ($missingTranslationHandlerFactory && !
pendingLoader) {\n
Login.c(90): missingTranslationHandlerTranslation =
translateByHandler(translationId);\n
Login.c(90): }\n
Login.c(90): if ($uses && $fallbackLanguage &&
$fallbackLanguage.length) {\n
Login.c(90): fallbackIndex = 0;\n
Login.c(90): result = fallbackTranslationInstant(translationId,
interpolateParams, Interp
Login.c(90): olator);\n
Login.c(90): } else if ($missingTranslationHandlerFactory && !
pendingLoader && missingTrans
Login.c(90): lationHandlerTranslation) {\n
Login.c(90): result = missingTranslationHandlerTranslation;\n
Login.c(90): } else {\n
Login.c(90): result = applyNotFoundIndicators(translationId);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): $translate.preferredLanguage = function (langKey) {\n
Login.c(90): if (langKey) {\n
Login.c(90): setupPreferredLanguage(langKey);\n
Login.c(90): }\n
Login.c(90): return $preferredLanguage;\n
Login.c(90): };\n
Login.c(90): $translate.cloakClassName = function () {\n
Login.c(90): return $cloakClassName;\n
Login.c(90): };\n
Login.c(90): $translate.fallbackLanguage = function (langKey) {\n
Login.c(90): if (langKey !== undefined && langKey !== null) {\n
Login.c(90): fallbackStack(langKey);\n
Login.c(90): if ($loaderFactory) {\n
Login.c(90): if ($fallbackLanguage && $fallbackLanguage.length)
{\n
Login.c(90): for (var i = 0, len = $fallbackLanguage.length; i
< len; i++) {\n
Login.c(90): if (!langPromises[$fallbackLanguage[i]]) {\n
Login.c(90): langPromises[$fallbackLanguage[i]] =
loadAsync($fallbackLanguage[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): $translate.use($translate.use());\n
Login.c(90): }\n
Login.c(90): if ($fallbackWasString) {\n
Login.c(90): return $fallbackLanguage[0];\n
Login.c(90): } else {\n
Login.c(90): return $fallbackLanguage;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): $translate.useFallbackLanguage = function (langKey) {\n
Login.c(90): if (langKey !== undefined && langKey !== null) {\n
Login.c(90): if (!langKey) {\n
Login.c(90): startFallbackIteration = 0;\n
Login.c(90): } e
Login.c(90): t=1724ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): lse {\n
Login.c(90): var langKeyPosition = indexOf($fallbackLanguage,
langKey);\n
Login.c(90): if (langKeyPosition > -1) {\n
Login.c(90): startFallbackIteration = langKeyPosition;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): $translate.proposedLanguage = function () {\n
Login.c(90): return $nextLang;\n
Login.c(90): };\n
Login.c(90): $translate.storage = function () {\n
Login.c(90): return Storage;\n
Login.c(90): };\n
Login.c(90): $translate.use = function (key) {\n
Login.c(90): if (!key) {\n
Login.c(90): return $uses;\n
Login.c(90): }\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): $rootScope.$emit('$translateChangeStart', { language:
key });\n
Login.c(90): var aliasedKey = negotiateLocale(key);\n
Login.c(90): if (aliasedKey) {\n
Login.c(90): key = aliasedKey;\n
Login.c(90): }\n
Login.c(90): if (!$translationTable[key] && $loaderFactory && !
langPromises[key]) {\n
Login.c(90): $nextLang = key;\n
Login.c(90): langPromises[key] = loadAsync(key).then(function
(translation) {\n
Login.c(90): translations(translation.key, translation.table);\n
Login.c(90): deferred.resolve(translation.key);\n
Login.c(90): useLanguage(translation.key);\n
Login.c(90): if ($nextLang === key) {\n
Login.c(90): $nextLang = undefined;\n
Login.c(90): }\n
Login.c(90): }, function (key) {\n
Login.c(90): if ($nextLang === key) {\n
Login.c(90): $nextLang = undefined;\n
Login.c(90): }\n
Login.c(90): $rootScope.$emit('$translateChangeError',
{ language: key });\n
Login.c(90): deferred.reject(key);\n
Login.c(90): $rootScope.$emit('$translateChangeEnd', { language:
key });\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(key);\n
Login.c(90): useLanguage(key);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): $translate.storageKey = function () {\n
Login.c(90): return storageKey();\n
Login.c(90): };\n
Login.c(90): $translate.isPostCompilingEnabled = function () {\n
Login.c(90): return $postCompilingEnabled;\n
Login.c(90): };\n
Login.c(90): $translate.refresh = function (langKey) {\n
Login.c(90): if (!$loaderFactory) {\n
Login.c(90): throw new Error('Couldn\\'t refresh translation table,
no loader registered!')
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): function resolve() {\n
Login.c(90): deferred.resolve();\n
Login.c(90): $rootScope.$emit('$translateRefreshEnd', { language:
langKey });\n
Login.c(90): }\n
Login.c(90): function reject() {\n
Login.c(90): deferred.reject();\n
Login.c(90): $rootScope.$emit('$translateRefreshEnd', { language:
langKey });\n
Login.c(90): }\n
Login.c(90): $rootScope.$emit('$translateRefreshStart', { language:
langKey });\n
Login.c(90): if (!langKey) {\n
Login.c(90): var tables = [], loadingKeys = {};\n
Login.c(90): if ($fallbackLanguage && $fallbackLanguage.length) {\n
Login.c(90): for (var i = 0, len = $fallbackLanguage.length; i <
len; i++) {\n
Login.c(90): tables.push(loadAsync($fallbackLanguage[i]));\n
Login.c(90): loadingKeys[$fallbackLanguage[i]] = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if ($uses && !loadingKeys[$uses]) {\n
Login.c(90): tables.push(loadAsync($uses));\n
Login.c(90): }\n
Login.c(90): $q.all(tables).then(function (tableData) {\n
Login.c(90): angular.forEach(tableData, function (data) {\n
Login.c(90): if ($translationTable[data.key]) {\n
Login.c(90): delete $translationTable[data.key];\n
Login.c(90): }\n
Login.c(90): translations(data.key, data.table);\n
Login.c(90): });\n
Login.c(90): if ($uses) {\n
Login.c(90): useLanguage($uses);\n
Login.c(90): }\n
Login.c(90): resolve();\n
Login.c(90): });\n
Login.c(90): } else if ($translationTable[langKey]) {\n
Login.c(90): loadAsync(langKey).then(function (data) {\n
Login.c(90): translations(data.key, data.table);\n
Login.c(90): if (langKey === $uses) {\n
Login.c(90): useLanguage($uses);\n
Login.c(90): }\n
Login.c(90): resolve();\n
Login.c(90): }, reject);\n
Login.c(90): } else {\n
Login.c(90): reject();\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): $translate.instant = function (translationId,
interpolateParams, interpolationId)
Login.c(90): {\n
Login.c(90): if (translationId === null ||
angular.isUndefined(translationId)) {\n
Login.c(90): return translationId;\n
Login.c(90): }\n
Login.c(90): if (angular.isArray(translationId)) {\n
Login.c(90): var results = {};\n
Login.c(90): for (var i = 0, c = translationId.length; i < c; i++)
{\n
Login.c(90): results[translationId[i]] =
$translate.instant(translationId[i], interpolate
Login.c(90): Params, interpolationId);\n
Login.c(90): }\n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): if (angular.isString(translationId) &&
translationId.length < 1) {\n
Login.c(90): return translationId;\n
Login.c(90): }\n
Login.c(90): if (translationId) {\n
Login.c(90): translationId = trim.apply(translationId);\n
Login.c(90): }\n
Login.c(90): var result, possibleLangKeys = [];\n
Login.c(90): if ($preferredLanguage) {\n
Login.c(90): possibleLangKeys.push($preferredLanguage);\n
Login.c(90): }\n
Login.c(90): if ($uses) {\n
Login.c(90): possibleLangKeys.push($uses);\n
Login.c(90): }\n
Login.c(90): if ($fallbackLanguage && $fallbackLanguage.length) {\n
Login.c(90): possibleLangKeys =
possibleLangKeys.concat($fallbackLanguage);\n
Login.c(90): }\n
Login.c(90): for (var j = 0, d = possibleLangKeys.length; j < d; j++)
{\n
Login.c(90): var possibleLangKey = possibleLangKeys[j];\n
Login.c(90): if ($translationTable[possibleLangKey]) {\n
Login.c(90): if (typeof $translationTable[possibleLangKey]
[translationId] !== 'undefined'
Login.c(90): ) {\n
Login.c(90): result =
determineTranslationInstant(translationId, interpolateParams, int
Login.c(90): erpolationId);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (typeof result !== 'undefined') {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (!result && result !== '') {\n
Login.c(90): result =
defaultInterpolator.interpolate(translationId, interpolateParams);\n
Login.c(90): if ($missingTranslationHandlerFactory && !
pendingLoader) {\n
Login.c(90): result = translateByHandler(translationId);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): $translate.versionInfo = function () {\n
Login.c(90): return version;\n
Login.c(90): };\n
Login.c(90): $translate.loaderCache = function () {\n
Login.c(90): return loaderCache;\n
Login.c(90): };\n
Login.c(90): if ($loaderFactory) {\n
Login.c(90): if (angular.equals($translationTable, {})) {\n
Login.c(90): $translate.use($translate.use());\n
Login.c(90): }\n
Login.c(90): if ($fallbackLanguage && $fallbackLanguage.length) {\n
Login.c(90): var processAsyncResult = function (translation) {\n
Login.c(90): translations(translation.key, translation.table);\n
Login.c(90): };\n
Login.c(90): for (var i = 0, len = $fallbackLanguage.length; i <
len; i++) {\n
Login.c(90): langPromises[$fallbackLanguage[i]] =
loadAsync($fallbackLanguage[i]).then(pr
Login.c(90): ocessAsyncResult);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return $translate;\n
Login.c(90): }\n
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90):
angular.module('pascalprecht.translate').factory('$translateDefaultInterpolation',
[\n
Login.c(90): '$interpolate',\n
Login.c(90): function ($interpolate) {\n
Login.c(90): var $translateInterpolator = {}, $locale, $identifier =
'default', $sanitizeValueStrat
Login.c(90): egy = null, sanitizeValueStrategies = {\n
Login.c(90): escaped: function (params) {\n
Login.c(90): var result = {};\n
Login.c(90): for (var key in params) {\n
Login.c(90): if (Object.prototype.hasOwnProperty.call(params, key))
{\n
Login.c(90): result[key] =
angular.element('<div></div>').text(params[key]).html();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): var sanitizeParams = function (params) {\n
Login.c(90): var result;\n
Login.c(90): if
(angular.isFunction(sanitizeValueStrategies[$sanitizeValueStrategy])) {\n
Login.c(90): result = sanitizeValueStrategies[$sanitizeValueStrategy]
(params);\n
Login.c(90): } else {\n
Login.c(90): result = params;\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): $translateInterpolator.setLocale = function (locale) {\n
Login.c(90): $locale = locale;\n
Login.c(90): };\n
Login.c(90): $translateInterpolator.getInterpolationIdentifier = function
() {\n
Login.c(90): return $identifier;\n
Login.c(90): };\n
Login.c(90): $translateInterpolator.useSanitizeValueStrategy = function
(value) {\n
Login.c(90): $sanitizeValueStrategy = value;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): $translateInterpolator.interpolate = function (string,
interpolateParams) {\n
Login.c(90): if ($sanitizeValueStrategy) {\n
Login.c(90): interpolateParams = sanitizeParams(interpolateParams);\n
Login.c(90): }\n
Login.c(90): return $interpolate(string)(interpolateParams || {});\n
Login.c(90): };\n
Login.c(90): return $translateInterpolator;\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): angular.module('pascalprecht.translate').constant('$STORAGE_KEY',
'NG_TRANSLATE_LANG_KEY')
Login.c(90): ;\n
Login.c(90): angular.module('pascalprecht.translate').directive('translate',
[\n
Login.c(90): '$translate',\n
Login.c(90): '$q',\n
Login.c(90): '$interpolate',\n
Login.c(90): '$compile',\n
Login.c(90): '$parse',\n
Login.c(90): '$rootScope',\n
Login.c(90): function ($translate, $q, $interpolate, $compile, $parse,
$rootScope) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'AE',\n
Login.c(90): scope: true,\n
Login.c(90): compile: function (tElement, tAttr) {\n
Login.c(90): var translateValuesExist = tAttr.translateValues ?
tAttr.translateValues : undefin
Login.c(90): ed;\n
Login.c(90): var translateInterpolation =
tAttr.translateInterpolation ? tAttr.translateInterpo
Login.c(90): lation : undefined;\n
Login.c(90): var translateValueExist =
tElement[0].outerHTML.match(/translate-value-+/i);\n
Login.c(90): var interpolateRegExp = '^(.*)(' +
$interpolate.startSymbol() + '.*' + $interpolat
Login.c(90): e.endSymbol() + ')(.*)';\n
Login.c(90): return function linkFn(scope, iElement, iAttr) {\n
Login.c(90): scope.interpolateParams = {};\n
Login.c(90): scope.preText = '';\n
Login.c(90): scope.postText = '';\n
Login.c(90): iAttr.$observe('translate', function (translationId) {\n
Login.c(90): if (angular.equals(translationId, '') || !
angular.isDefined(translationId)) {\n
Login.c(90): var interpolateMatches =
iElement.text().match(interpolateRegExp);\n
Login.c(90): if (angular.isArray(interpolateMatches)) {\n
Login.c(90): scope.preText = interpolateMatches[1];\n
Login.c(90): scope.postText = interpolateMatches[3];\n
Login.c(90): scope.translationId =
$interpolate(interpolateMatches[2])(scope.$parent);\n
Login.c(90): } else {\n
Login.c(90): scope.translationId =
iElement.text().replace(/^\\s+|\\s+$/g, '');\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): scope.translationId = translationId;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): iAttr.$observe('translateDefault', function (value) {\n
Login.c(90): scope.defaultText = value;\n
Login.c(90): });\n
Login.c(90): if (translateValuesExist) {\n
Login.c(90): iAttr.$observe('translateValues', function
(interpolateParams) {\n
Login.c(90): if (interpolateParams) {\n
Login.c(90): scope.$parent.$watch(function () {\n
Login.c(90): angular.extend(scope.interpolateParams,
$parse(interpolateParams)(scope.
Login.c(90): $parent));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): if (translateValueExist) {\n
Login.c(90): var fn = function (attrName) {\n
Login.c(90): iAttr.$observe(attrName, function (value) {\n
Login.c(90):
scope.interpolateParams[angular.lowercase(attrName.substr(14, 1)) + attrNa
Login.c(90): me.substr(15)] = value;\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): for (var attr in iAttr) {\n
Login.c(90): if (Object.prototype.hasOwnProperty.call(iAttr,
attr) && attr.substr(0, 14)
Login.c(90): === 'translateValue' && attr !== 'translateValues') {\n
Login.c(90): fn(attr);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): var applyElementContent = function (value, scope,
successful) {\n
Login.c(90): if (!successful && typeof scope.defaultText !==
'undefined') {\n
Login.c(90): value = scope.defaultText;\n
Login.c(90): }\n
Login.c(90): iElement.html(scope.preText + value +
scope.postText);\n
Login.c(90): var globallyEnabled =
$translate.isPostCompilingEnabled();\n
Login.c(90): var locallyDefined = typeof tAttr.translateCompile !==
'undefined';\n
Login.c(90): var locallyEnabled = locallyDefined &&
tAttr.translateCompile !== 'false';\n
Login.c(90): if (globallyEnabled && !locallyDefined ||
locallyEnabled) {\n
Login.c(90): $compile(iElement.contents())(scope);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): var updateTranslationFn = function () {\n
Login.c(90): if (!translateValuesExist && !translateValueExist)
{\n
Login.c(90): return function () {\n
Login.c(90): var unwatch = scope.$watch('translationId',
function (value) {\n
Login.c(90): if (scope.translationId && value) {\n
Login.c(90): $translate(value, {},
translateInterpolation).then(function (trans
Login.c(90): lation) {\n
Login.c(90): applyElementContent(translation, scope,
true);\n
Login.c(90): unwatch();\n
Login.c(90): }, function (translationId) {\n
Login.c(90): applyElementContent(translationId,
scope, false);\n
Login.c(90): unwatch();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }, true);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return function () {\n
Login.c(90): var updateTranslations = function () {\n
Login.c(90): if (scope.translationId &&
Login.c(90): t=1737ms: 1808-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate/angular-translate.js"
(RelFrameId=, Internal ID=20)
Login.c(90): scope.interpolateParams) {\n
Login.c(90): $translate(scope.translationId,
scope.interpolateParams, translateIn
Login.c(90): terpolation).then(function (translation) {\n
Login.c(90): applyElementContent(translation, scope,
true);\n
Login.c(90): }, function (translationId) {\n
Login.c(90): applyElementContent(translationId, scope,
false);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): scope.$watch('interpolateParams',
updateTranslations, true);\n
Login.c(90): scope.$watch('translationId',
updateTranslations);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }();\n
Login.c(90): var unbind = $rootScope.$on('$translateChangeSuccess',
updateTranslationFn);\n
Login.c(90): updateTranslationFn();\n
Login.c(90): scope.$on('$destroy', unbind);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90):
angular.module('pascalprecht.translate').directive('translateCloak', [\n
Login.c(90): '$rootScope',\n
Login.c(90): '$translate',\n
Login.c(90): function ($rootScope, $translate) {\n
Login.c(90): return {\n
Login.c(90): compile: function (tElement) {\n
Login.c(90): var removeListener = $rootScope.$on('$translateChangeEnd',
function () {\n
Login.c(90): tElement.removeClass($translate.cloakClassName());\n
Login.c(90): removeListener();\n
Login.c(90): removeListener = null;\n
Login.c(90): });\n
Login.c(90): tElement.addClass($translate.cloakClassName());\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): angular.module('pascalprecht.translate').filter('translate', [\n
Login.c(90): '$parse',\n
Login.c(90): '$translate',\n
Login.c(90): function ($parse, $translate) {\n
Login.c(90): var translateFilter = function (translationId,
interpolateParams, interpolation) {\n
Login.c(90): if (!angular.isObject(interpolateParams)) {\n
Login.c(90): interpolateParams = $parse(interpolateParams)(this);\n
Login.c(90): }\n
Login.c(90): return $translate.instant(translationId, interpolateParams,
interpolation);\n
Login.c(90): };\n
Login.c(90): translateFilter.$stateful = true;\n
Login.c(90): return translateFilter;\n
Login.c(90): }\n
Login.c(90): ]);
Login.c(90): t=1740ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ed ) {\n
Login.c(90): \t\t\t\t\t\tif ( (event.result = ret) === false ) {\n
Login.c(90): \t\t\t\t\t\t\tevent.preventDefault();\n
Login.c(90): \t\t\t\t\t\t\tevent.stopPropagation();\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Call the postDispatch hook for the mapped type\n
Login.c(90): \t\tif ( special.postDispatch ) {\n
Login.c(90): \t\t\tspecial.postDispatch.call( this, event );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn event.result;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \thandlers: function( event, handlers ) {\n
Login.c(90): \t\tvar i, matches, sel, handleObj,\n
Login.c(90): \t\t\thandlerQueue = [],\n
Login.c(90): \t\t\tdelegateCount = handlers.delegateCount,\n
Login.c(90): \t\t\tcur = event.target;\n
Login.c(90): \n
Login.c(90): \t\t// Find delegate handlers\n
Login.c(90): \t\t// Black-hole SVG <use> instance trees (#13180)\n
Login.c(90): \t\t// Avoid non-left-click bubbling in Firefox (#3861)\n
Login.c(90): \t\tif ( delegateCount && cur.nodeType && (!event.button ||
event.type !== "click") ) {\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Don't process clicks on disabled elements (#6911,
#8165, #11382, #11764)\n
Login.c(90): \t\t\t\tif ( cur.disabled !== true || event.type !== "click" ) {\n
Login.c(90): \t\t\t\t\tmatches = [];\n
Login.c(90): \t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n
Login.c(90): \t\t\t\t\t\thandleObj = handlers[ i ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Don't conflict with Object.prototype properties
(#13203)\n
Login.c(90): \t\t\t\t\t\tsel = handleObj.selector + " ";\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n
Login.c(90): \t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n
Login.c(90): \t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n
Login.c(90): \t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\tif ( matches[ sel ] ) {\n
Login.c(90): \t\t\t\t\t\t\tmatches.push( handleObj );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tif ( matches.length ) {\n
Login.c(90): \t\t\t\t\t\thandlerQueue.push({ elem: cur, handlers: matches });\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Add the remaining (directly-bound) handlers\n
Login.c(90): \t\tif ( delegateCount < handlers.length ) {\n
Login.c(90): \t\t\thandlerQueue.push({ elem: this, handlers:
handlers.slice( delegateCount ) });\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn handlerQueue;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Includes some event props shared by KeyEvent and MouseEvent\n
Login.c(90): \tprops: "altKey bubbles cancelable ctrlKey currentTarget
eventPhase metaKey relatedTarget
Login.c(90): shiftKey target timeStamp view which".split(" "),\n
Login.c(90): \n
Login.c(90): \tfixHooks: {},\n
Login.c(90): \n
Login.c(90): \tkeyHooks: {\n
Login.c(90): \t\tprops: "char charCode key keyCode".split(" "),\n
Login.c(90): \t\tfilter: function( event, original ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Add which for key events\n
Login.c(90): \t\t\tif ( event.which == null ) {\n
Login.c(90): \t\t\t\tevent.which = original.charCode != null ?
original.charCode : original.keyCode;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn event;\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tmouseHooks: {\n
Login.c(90): \t\tprops: "button buttons clientX clientY offsetX offsetY pageX
pageY screenX screenY toE
Login.c(90): lement".split(" "),\n
Login.c(90): \t\tfilter: function( event, original ) {\n
Login.c(90): \t\t\tvar eventDoc, doc, body,\n
Login.c(90): \t\t\t\tbutton = original.button;\n
Login.c(90): \n
Login.c(90): \t\t\t// Calculate pageX/Y if missing and clientX/Y available\n
Login.c(90): \t\t\tif ( event.pageX == null && original.clientX != null ) {\n
Login.c(90): \t\t\t\teventDoc = event.target.ownerDocument || document;\n
Login.c(90): \t\t\t\tdoc = eventDoc.documentElement;\n
Login.c(90): \t\t\t\tbody = eventDoc.body;\n
Login.c(90): \n
Login.c(90): \t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft
|| body && body.scrollLef
Login.c(90): t || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0
);\n
Login.c(90): \t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop
|| body && body.scrollTop
Login.c(90): || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0
);\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Add which for click: 1 === left; 2 === middle; 3 ===
right\n
Login.c(90): \t\t\t// Note: button is not normalized, so don't use it\n
Login.c(90): \t\t\tif ( !event.which && button !== undefined ) {\n
Login.c(90): \t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 :
( button & 4 ? 2 : 0 ) ) );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn event;\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tfix: function( event ) {\n
Login.c(90): \t\tif ( event[ jQuery.expando ] ) {\n
Login.c(90): \t\t\treturn event;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Create a writable copy of the event object and normalize
some properties\n
Login.c(90): \t\tvar i, prop, copy,\n
Login.c(90): \t\t\ttype = event.type,\n
Login.c(90): \t\t\toriginalEvent = event,\n
Login.c(90): \t\t\tfixHook = this.fixHooks[ type ];\n
Login.c(90): \n
Login.c(90): \t\tif ( !fixHook ) {\n
Login.c(90): \t\t\tthis.fixHooks[ type ] = fixHook =\n
Login.c(90): \t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n
Login.c(90): \t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n
Login.c(90): \t\t\t\t{};\n
Login.c(90): \t\t}\n
Login.c(90): \t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) :
this.props;\n
Login.c(90): \n
Login.c(90): \t\tevent = new jQuery.Event( originalEvent );\n
Login.c(90): \n
Login.c(90): \t\ti = copy.length;\n
Login.c(90): \t\twhile ( i-- ) {\n
Login.c(90): \t\t\tprop = copy[ i ];\n
Login.c(90): \t\t\tevent[ prop ] = originalEvent[ prop ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Support: Cordova 2.5 (WebKit) (#13255)\n
Login.c(90): \t\t// All events should have a target; Cordova deviceready
doesn't\n
Login.c(90): \t\tif ( !event.target ) {\n
Login.c(90): \t\t\tevent.target = document;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Support: Safari 6.0+, Chrome < 28\n
Login.c(90): \t\t// Target should not be a text node (#504, #13143)\n
Login.c(90): \t\tif ( event.target.nodeType === 3 ) {\n
Login.c(90): \t\t\tevent.target = event.target.parentNode;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn fixHook.filter ? fixHook.filter( event, originalEvent )
: event;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tspecial: {\n
Login.c(90): \t\tload: {\n
Login.c(90): \t\t\t// Prevent triggered image.load events from bubbling to
window.load\n
Login.c(90): \t\t\tnoBubble: true\n
Login.c(90): \t\t},\n
Login.c(90): \t\tfocus: {\n
Login.c(90): \t\t\t// Fire native event if possible so blur/focus sequence is
correct\n
Login.c(90): \t\t\ttrigger: function() {\n
Login.c(90): \t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n
Login.c(90): \t\t\t\t\tthis.focus();\n
Login.c(90): \t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tdelegateType: "focusin"\n
Login.c(90): \t\t},\n
Login.c(90): \t\tblur: {\n
Login.c(90): \t\t\ttrigger: function() {\n
Login.c(90): \t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n
Login.c(90): \t\t\t\t\tthis.blur();\n
Login.c(90): \t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tdelegateType: "focusout"\n
Login.c(90): \t\t},\n
Login.c(90): \t\tclick: {\n
Login.c(90): \t\t\t// For checkbox, fire native event so checked state will be
right\n
Login.c(90): \t\t\ttrigger: function() {\n
Login.c(90): \t\t\t\tif ( this.type === "checkbox" && this.click &&
jQuery.nodeName( this, "input" ) )
Login.c(90): {\n
Login.c(90): \t\t\t\t\tthis.click();\n
Login.c(90): \t\t\t\t\treturn false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t// For cross-browser consistency, don't fire native .click()
on links\n
Login.c(90): \t\t\t_default: function( event ) {\n
Login.c(90): \t\t\t\treturn jQuery.nodeName( event.target, "a" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\tbeforeunload: {\n
Login.c(90): \t\t\tpostDispatch: function( event ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Support: Firefox 20+\n
Login.c(90): \t\t\t\t// Firefox doesn't alert if the returnValue field is not
set.\n
Login.c(90): \t\t\t\tif ( event.result !== undefined && event.originalEvent )
{\n
Login.c(90): \t\t\t\t\tevent.originalEvent.returnValue = event.result;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tsimulate: function( type, elem, event, bubble ) {\n
Login.c(90): \t\t// Piggyback on a donor event to simulate a different one.\n
Login.c(90): \t\t// Fake originalEvent to avoid donor's stopPropagation, but if
the\n
Login.c(90): \t\t// simulated event prevents default then we do the same on the
donor.\n
Login.c(90): \t\tvar e = jQuery.extend(\n
Login.c(90): \t\t\tnew jQuery.Event(),\n
Login.c(90): \t\t\tevent,\n
Login.c(90): \t\t\t{\n
Login.c(90): \t\t\t\ttype: type,\n
Login.c(90): \t\t\t\tisSimulated: true,\n
Login.c(90): \t\t\t\toriginalEvent: {}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t);\n
Login.c(90): \t\tif ( bubble ) {\n
Login.c(90): \t\t\tjQuery.event.trigger( e, null, elem );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tjQuery.event.dispatch.call( elem, e );\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( e.isDefaultPrevented() ) {\n
Login.c(90): \t\t\tevent.preventDefault();\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.removeEvent = function( elem, type, handle ) {\n
Login.c(90): \tif ( elem.removeEventListener ) {\n
Login.c(90): \t\telem.removeEventListener( type, handle, false );\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.Event = function( src, props ) {\n
Login.c(90): \t// Allow instantiation without the 'new' keyword\n
Login.c(90): \tif ( !(this instanceof jQuery.Event) ) {\n
Login.c(90): \t\treturn new jQuery.Event( src, props );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Event object\n
Login.c(90): \tif ( src && src.type ) {\n
Login.c(90): \t\tthis.originalEvent = src;\n
Login.c(90): \t\tthis.type = src.type;\n
Login.c(90): \n
Login.c(90): \t\t// Events bubbling up the document may have been marked as
prevented\n
Login.c(90): \t\t// by a handler lower down the tree; reflect the correct
value.\n
Login.c(90): \t\tthis.isDefaultPrevented = src.defaultPrevented ||\n
Login.c(90): \t\t\t\tsrc.defaultPrevented === undefined &&\n
Login.c(90): \t\t\t\t// Support: Android < 4.0\n
Login.c(90): \t\t\t\tsrc.returnValue === false ?\n
Login.c(90): \t\t\treturnTrue :\n
Login.c(90): \t\t\treturnFalse;\n
Login.c(90): \n
Login.c(90): \t// Event type\n
Login.c(90): \t} else {\n
Login.c(90): \t\tthis.type = src;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Put explicitly provided properties onto the event object\n
Login.c(90): \tif ( props ) {\n
Login.c(90): \t\tjQuery.extend( this, props );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Create a timestamp if incoming event doesn't have one\n
Login.c(90): \tthis.timeStamp = src && src.timeStamp || jQuery.now();\n
Login.c(90): \n
Login.c(90): \t// Mark it as fixed\n
Login.c(90): \tthis[ jQuery.expando ] = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // jQuery.Event is based on DOM3 Events as specified by the
ECMAScript Language Binding\n
Login.c(90): // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-
script-binding.html\n
Login.c(90): jQuery.Event.prototype = {\n
Login.c(90): \tisDefaultPrevented: returnFalse,\n
Login.c(90): \tisPropagationStopped: returnFalse,\n
Login.c(90): \tisImmediatePropagationStopped: returnFalse,\n
Login.c(90): \n
Login.c(90): \tpreventDefault: function() {\n
Login.c(90): \t\tvar e = this.originalEvent;\n
Login.c(90): \n
Login.c(90): \t\tthis.isDefaultPrevented = returnTrue;\n
Login.c(90): \n
Login.c(90): \t\tif ( e && e.preventDefault ) {\n
Login.c(90): \t\t\te.preventDefault();\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \tstopPropagation: function() {\n
Login.c(90): \t\tvar e = this.originalEvent;\n
Login.c(90): \n
Login.c(90): \t\tthis.isPropagationStopped = returnTrue;\n
Login.c(90): \n
Login.c(90): \t\tif ( e && e.stopPropagation ) {\n
Login.c(90): \t\t\te.stopPropagation();\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \tstopImmediatePropagation: function() {\n
Login.c(90): \t\tvar e = this.originalEvent;\n
Login.c(90): \n
Login.c(90): \t\tthis.isImmediatePropagationStopped = returnTrue;\n
Login.c(90): \n
Login.c(90): \t\tif ( e && e.stopImmediatePropagation ) {\n
Login.c(90): \t\t\te.stopImmediatePropagation();\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tthis.stopPropagation();\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Create mouseenter/leave events using mouseover/out and event-
time checks\n
Login.c(90): // Support: Chrome 15+\n
Login.c(90): jQuery.each({\n
Login.c(90): \tmouseenter: "mouseover",\n
Login.c(90): \tmouseleave: "mouseout",\n
Login.c(90): \tpointerenter: "pointerover",\n
Login.c(90): \tpointerleave: "pointerout"\n
Login.c(90): }, function( orig, fix ) {\n
Login.c(90): \tjQuery.event.special[ orig ] = {\n
Login.c(90): \t\tdelegateType: fix,\n
Login.c(90): \t\tbindType: fix,\n
Login.c(90): \n
Login.c(90): \t\thandle: function( event ) {\n
Login.c(90): \t\t\tvar ret,\n
Login.c(90): \t\t\t\ttarget = this,\n
Login.c(90): \t\t\t\trelated = event.relatedTarget,\n
Login.c(90): \t\t\t\thandleObj = event.handleObj;\n
Login.c(90): \n
Login.c(90): \t\t\t// For mousenter/leave call the handler if related is
outside the target.\n
Login.c(90): \t\t\t// NB: No relatedTarget if the mouse left/entered the
browser window\n
Login.c(90): \t\t\tif ( !related || (related !== target && !
jQuery.contains( target, related )) ) {\n
Login.c(90): \t\t\t\tevent.type = handleObj.origType;\n
Login.c(90): \t\t\t\tret = handleObj.handler.apply( this, arguments );\n
Login.c(90): \t\t\t\tevent.type = fix;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn ret;\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Create "bubbling" focus and blur events\n
Login.c(90): // Support: Firefox, Chrome, Safari\n
Login.c(90): if ( !support.focusinBubbles ) {\n
Login.c(90): \tjQuery.each({ focus: "focusin", blur: "focusout" },
function( orig, fix ) {\n
Login.c(90): \n
Login.c(90): \t\t// Attach a single capturing handler on the document while
someone wants focusin/focus
Login.c(90): out\n
Login.c(90): \t\tvar handler = function( event ) {\n
Login.c(90): \t\t\t\tjQuery.event.simulate( fix, event.target,
jQuery.event.fix( event ), true );\n
Login.c(90): \t\t\t};\n
Login.c(90): \n
Login.c(90): \t\tjQuery.event.special[ fix ] = {\n
Login.c(90): \t\t\tsetup: function() {\n
Login.c(90): \t\t\t\tvar doc = this.ownerDocument || this,\n
Login.c(90): \t\t\t\t\tattaches = data_priv.access( doc, fix );\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( !attaches ) {\n
Login.c(90): \t\t\t\t\tdoc.addEventListener( orig, handler, true );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tdata_priv.access( doc, fix, ( attaches || 0 ) + 1 );\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tteardown: function() {\n
Login.c(90): \t\t\t\tvar doc = this.ownerDocument || this,\n
Login.c(90): \t\t\t\t\tattaches = data_priv.access( doc, fix ) - 1;\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( !attaches ) {\n
Login.c(90): \t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n
Login.c(90): \t\t\t\t\tdata_priv.remove( doc, fix );\n
Login.c(90): \n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tdata_priv.access( doc, fix, attaches );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \n
Login.c(90): \ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n
Login.c(90): \t\tvar origFn, type;\n
Login.c(90): \n
Login.c(90): \t\t// Types can be a map of types/handlers\n
Login.c(90): \t\tif ( typeof types === "object" ) {\n
Login.c(90): \t\t\t// ( types-Object, selector, data )\n
Login.c(90): \t\t\tif ( typeof selector !== "string" ) {\n
Login.c(90): \t\t\t\t// ( types-Object, data )\n
Login.c(90): \t\t\t\tdata = data || selector;\n
Login.c(90): \t\t\t\tselector = undefined;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tfor ( type in types ) {\n
Login.c(90): \t\t\t\tthis.on( type, selector, data, types[ type ], one );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( data == null && fn == null ) {\n
Login.c(90): \t\t\t// ( types, fn )\n
Login.c(90): \t\t\tfn = selector;\n
Login.c(90): \t\t\tdata = selector = undefined;\n
Login.c(90): \t\t} else if ( fn == null ) {\n
Login.c(90): \t\t\tif ( typeof selector === "string" ) {\n
Login.c(90): \t\t\t\t// ( types, selector, fn )\n
Login.c(90): \t\t\t\tfn = data;\n
Login.c(90): \t\t\t\tdata = undefined;\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\t// ( types, data, fn )\n
Login.c(90): \t\t\t\tfn = data;\n
Login.c(90): \t\t\t\tdata = selector;\n
Login.c(90): \t\t\t\tselector = undefined;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( fn === false ) {\n
Login.c(90): \t\t\tfn = returnFalse;\n
Login.c(90): \t\t} else if ( !fn ) {\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( one === 1 ) {\n
Login.c(90): \t\t\torigFn = fn;\n
Login.c(90): \t\t\tfn = function( event ) {\n
Login.c(90): \t\t\t\t// Can use an empty set, since event contains the info\n
Login.c(90): \t\t\t\tjQuery().off( event );\n
Login.c(90): \t\t\t\treturn origFn.apply( this, arguments );\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t\t// Use same guid so caller can remove using origFn\n
Login.c(90): \t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn this.each( function() {\n
Login.c(90): \t\t\tjQuery.event.add( this, types, fn, data, selector );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \tone: function( types, selector, data, fn ) {\n
Login.c(90): \t\treturn this.on( types, selector, data, fn, 1 );\n
Login.c(90): \t},\n
Login.c(90): \toff: function( types, selector, fn ) {\n
Login.c(90): \t\tvar handleObj, type;\n
Login.c(90): \t\tif ( types && types.preventDefault && types.handleObj ) {\n
Login.c(90): \t\t\t// ( event ) dispatched jQuery.Event\n
Login.c(90): \t\t\thandleObj = types.handleObj;\n
Login.c(90): \t\t\tjQuery( types.delegateTarget ).off(\n
Login.c(90): \t\t\t\thandleObj.namespace ? handleObj.origType + "." +
handleObj.namespace : handleObj.o
Login.c(90): rigType,\n
Login.c(90): \t\t\t\thandleObj.selector,\n
Login.c(90): \t\t\t\thandleObj.handler\n
Login.c(90): \t\t\t);\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( typeof types === "object" ) {\n
Login.c(90): \t\t\t// ( types-object [, selector] )\n
Login.c(90): \t\t\tfor ( type in types ) {\n
Login.c(90): \t\t\t\tthis.off( type, selector, types[ type ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn this;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( selector === false || typeof selector === "function" )
{\n
Login.c(90): \t\t\t// ( types [, fn] )\n
Login.c(90): \t\t\tfn = selector;\n
Login.c(90): \t\t\tselector = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( fn === false ) {\n
Login.c(90): \t\t\tfn = returnFalse;\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tjQuery.event.remove( this, types, fn, selector );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \ttrigger: function( type, data ) {\n
Login.c(90): \t\treturn this.each(f
Login.c(90): t=1761ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): unction() {\n
Login.c(90): \t\t\tjQuery.event.trigger( type, data, this );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \ttriggerHandler: function( type, data ) {\n
Login.c(90): \t\tvar elem = this[0];\n
Login.c(90): \t\tif ( elem ) {\n
Login.c(90): \t\t\treturn jQuery.event.trigger( type, data, elem, true );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)
(([\\w:]+)[^>]*)\\/>/gi,
Login.c(90): \n
Login.c(90): \trtagName = /<([\\w:]+)/,\n
Login.c(90): \trhtml = /<|&#?\\w+;/,\n
Login.c(90): \trnoInnerhtml = /<(?:script|style|link)/i,\n
Login.c(90): \t// checked="checked" or checked\n
Login.c(90): \trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n
Login.c(90): \trscriptType = /^$|\\/(?:java|ecma)script/i,\n
Login.c(90): \trscriptTypeMasked = /^true\\/(.*)/,\n
Login.c(90): \trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|
(?:\\]\\]|--)>\\s*$/g,\n
Login.c(90): \n
Login.c(90): \t// We have to close these tags to support XHTML (#13200)\n
Login.c(90): \twrapMap = {\n
Login.c(90): \n
Login.c(90): \t\t// Support: IE 9\n
Login.c(90): \t\toption: [ 1, "<select multiple='multiple'>", "</select>" ],\n
Login.c(90): \n
Login.c(90): \t\tthead: [ 1, "<table>", "</table>" ],\n
Login.c(90): \t\tcol: [ 2, "<table><colgroup>", "</colgroup></table>" ],\n
Login.c(90): \t\ttr: [ 2, "<table><tbody>", "</tbody></table>" ],\n
Login.c(90): \t\ttd: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],\n
Login.c(90): \n
Login.c(90): \t\t_default: [ 0, "", "" ]\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): // Support: IE 9\n
Login.c(90): wrapMap.optgroup = wrapMap.option;\n
Login.c(90): \n
Login.c(90): wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption
= wrapMap.thead;\n
Login.c(90): wrapMap.th = wrapMap.td;\n
Login.c(90): \n
Login.c(90): // Support: 1.x compatibility\n
Login.c(90): // Manipulating tables requires a tbody\n
Login.c(90): function manipulationTarget( elem, content ) {\n
Login.c(90): \treturn jQuery.nodeName( elem, "table" ) &&\n
Login.c(90): \t\tjQuery.nodeName( content.nodeType !== 11 ? content :
content.firstChild, "tr" ) ?\n
Login.c(90): \n
Login.c(90): \t\telem.getElementsByTagName("tbody")[0] ||\n
Login.c(90):
\t\t\telem.appendChild( elem.ownerDocument.createElement("tbody") ) :\n
Login.c(90): \t\telem;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Replace/restore the type attribute of script elements for safe
DOM manipulation\n
Login.c(90): function disableScript( elem ) {\n
Login.c(90): \telem.type = (elem.getAttribute("type") !== null) + "/" +
elem.type;\n
Login.c(90): \treturn elem;\n
Login.c(90): }\n
Login.c(90): function restoreScript( elem ) {\n
Login.c(90): \tvar match = rscriptTypeMasked.exec( elem.type );\n
Login.c(90): \n
Login.c(90): \tif ( match ) {\n
Login.c(90): \t\telem.type = match[ 1 ];\n
Login.c(90): \t} else {\n
Login.c(90): \t\telem.removeAttribute("type");\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn elem;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Mark scripts as having already been evaluated\n
Login.c(90): function setGlobalEval( elems, refElements ) {\n
Login.c(90): \tvar i = 0,\n
Login.c(90): \t\tl = elems.length;\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\tdata_priv.set(\n
Login.c(90): \t\t\telems[ i ], "globalEval", !refElements ||
data_priv.get( refElements[ i ], "globalEv
Login.c(90): al" )\n
Login.c(90): \t\t);\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneCopyEvent( src, dest ) {\n
Login.c(90): \tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur,
events;\n
Login.c(90): \n
Login.c(90): \tif ( dest.nodeType !== 1 ) {\n
Login.c(90): \t\treturn;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// 1. Copy private data: events, handlers, etc.\n
Login.c(90): \tif ( data_priv.hasData( src ) ) {\n
Login.c(90): \t\tpdataOld = data_priv.access( src );\n
Login.c(90): \t\tpdataCur = data_priv.set( dest, pdataOld );\n
Login.c(90): \t\tevents = pdataOld.events;\n
Login.c(90): \n
Login.c(90): \t\tif ( events ) {\n
Login.c(90): \t\t\tdelete pdataCur.handle;\n
Login.c(90): \t\t\tpdataCur.events = {};\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( type in events ) {\n
Login.c(90): \t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n
Login.c(90): \t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// 2. Copy user data\n
Login.c(90): \tif ( data_user.hasData( src ) ) {\n
Login.c(90): \t\tudataOld = data_user.access( src );\n
Login.c(90): \t\tudataCur = jQuery.extend( {}, udataOld );\n
Login.c(90): \n
Login.c(90): \t\tdata_user.set( dest, udataCur );\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getAll( context, tag ) {\n
Login.c(90): \tvar ret = context.getElementsByTagName ?
context.getElementsByTagName( tag || "*" ) :\n
Login.c(90): \t\t\tcontext.querySelectorAll ? context.querySelectorAll( tag ||
"*" ) :\n
Login.c(90): \t\t\t[];\n
Login.c(90): \n
Login.c(90): \treturn tag === undefined || tag && jQuery.nodeName( context, tag
) ?\n
Login.c(90): \t\tjQuery.merge( [ context ], ret ) :\n
Login.c(90): \t\tret;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Support: IE >= 9\n
Login.c(90): function fixInput( src, dest ) {\n
Login.c(90): \tvar nodeName = dest.nodeName.toLowerCase();\n
Login.c(90): \n
Login.c(90): \t// Fails to persist the checked state of a cloned checkbox or
radio button.\n
Login.c(90): \tif ( nodeName === "input" && rcheckableType.test( src.type ) )
{\n
Login.c(90): \t\tdest.checked = src.checked;\n
Login.c(90): \n
Login.c(90): \t// Fails to return the selected option to the default selected
state when cloning option
Login.c(90): s\n
Login.c(90): \t} else if ( nodeName === "input" || nodeName === "textarea" )
{\n
Login.c(90): \t\tdest.defaultValue = src.defaultValue;\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n
Login.c(90): \t\tvar i, l, srcElements, destElements,\n
Login.c(90): \t\t\tclone = elem.cloneNode( true ),\n
Login.c(90): \t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n
Login.c(90): \n
Login.c(90): \t\t// Support: IE >= 9\n
Login.c(90): \t\t// Fix Cloning issues\n
Login.c(90): \t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 ||
elem.nodeType === 11 ) &&\n
Login.c(90): \t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// We eschew Sizzle here for performance reasons:
http://jsperf.com/getall-vs-sizzle
Login.c(90): /2\n
Login.c(90): \t\t\tdestElements = getAll( clone );\n
Login.c(90): \t\t\tsrcElements = getAll( elem );\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n
Login.c(90): \t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Copy the events from the original to the clone\n
Login.c(90): \t\tif ( dataAndEvents ) {\n
Login.c(90): \t\t\tif ( deepDataAndEvents ) {\n
Login.c(90): \t\t\t\tsrcElements = srcElements || getAll( elem );\n
Login.c(90): \t\t\t\tdestElements = destElements || getAll( clone );\n
Login.c(90): \n
Login.c(90): \t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n
Login.c(90): \t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tcloneCopyEvent( elem, clone );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Preserve script evaluation history\n
Login.c(90): \t\tdestElements = getAll( clone, "script" );\n
Login.c(90): \t\tif ( destElements.length > 0 ) {\n
Login.c(90): \t\t\tsetGlobalEval( destElements, !inPage && getAll( elem,
"script" ) );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Return the cloned set\n
Login.c(90): \t\treturn clone;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tbuildFragment: function( elems, context, scripts, selection )
{\n
Login.c(90): \t\tvar elem, tmp, tag, wrap, contains, j,\n
Login.c(90): \t\t\tfragment = context.createDocumentFragment(),\n
Login.c(90): \t\t\tnodes = [],\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tl = elems.length;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\telem = elems[ i ];\n
Login.c(90): \n
Login.c(90): \t\t\tif ( elem || elem === 0 ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Add nodes directly\n
Login.c(90): \t\t\t\tif ( jQuery.type( elem ) === "object" ) {\n
Login.c(90): \t\t\t\t\t// Support: QtWebKit\n
Login.c(90): \t\t\t\t\t// jQuery.merge because push.apply(_, arraylike)
throws\n
Login.c(90): \t\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] :
elem );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Convert non-html into a text node\n
Login.c(90): \t\t\t\t} else if ( !rhtml.test( elem ) ) {\n
Login.c(90): \t\t\t\t\tnodes.push( context.createTextNode( elem ) );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Convert html into DOM nodes\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\ttmp = tmp ||
fragment.appendChild( context.createElement("div") );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Deserialize a standard representation\n
Login.c(90): \t\t\t\t\ttag = ( rtagName.exec( elem ) || [ "", "" ] )
[ 1 ].toLowerCase();\n
Login.c(90): \t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n
Login.c(90): \t\t\t\t\ttmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag,
"<$1></$2>" ) + wrap[ 2 ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Descend through wrappers to the right content\n
Login.c(90): \t\t\t\t\tj = wrap[ 0 ];\n
Login.c(90): \t\t\t\t\twhile ( j-- ) {\n
Login.c(90): \t\t\t\t\t\ttmp = tmp.lastChild;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Support: QtWebKit\n
Login.c(90): \t\t\t\t\t// jQuery.merge because push.apply(_, arraylike)
throws\n
Login.c(90): \t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Remember the top-level container\n
Login.c(90): \t\t\t\t\ttmp = fragment.firstChild;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Fixes #12346\n
Login.c(90): \t\t\t\t\t// Support: Webkit, IE\n
Login.c(90): \t\t\t\t\ttmp.textContent = "";\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Remove wrapper from fragment\n
Login.c(90): \t\tfragment.textContent = "";\n
Login.c(90): \n
Login.c(90): \t\ti = 0;\n
Login.c(90): \t\twhile ( (elem = nodes[ i++ ]) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// #4087 - If origin and destination elements are the same,
and this is\n
Login.c(90): \t\t\t// that element, do not do anything\n
Login.c(90): \t\t\tif ( selection && jQuery.inArray( elem, selection ) !== -1 )
{\n
Login.c(90): \t\t\t\tcontinue;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n
Login.c(90): \n
Login.c(90): \t\t\t// Append to fragment\n
Login.c(90): \t\t\ttmp = getAll( fragment.appendChild( elem ), "script" );\n
Login.c(90): \n
Login.c(90): \t\t\t// Preserve script evaluation history\n
Login.c(90): \t\t\tif ( contains ) {\n
Login.c(90): \t\t\t\tsetGlobalEval( tmp );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Capture executables\n
Login.c(90): \t\t\tif ( scripts ) {\n
Login.c(90): \t\t\t\tj = 0;\n
Login.c(90): \t\t\t\twhile ( (elem = tmp[ j++ ]) ) {\n
Login.c(90): \t\t\t\t\tif ( rscriptType.test( elem.type || "" ) ) {\n
Login.c(90): \t\t\t\t\t\tscripts.push( elem );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn fragment;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tcleanData: function( elems ) {\n
Login.c(90): \t\tvar data, elem, type, key,\n
Login.c(90): \t\t\tspecial = jQuery.event.special,\n
Login.c(90): \t\t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; (elem = elems[ i ]) !== undefined; i++ ) {\n
Login.c(90): \t\t\tif ( jQuery.acceptData( elem ) ) {\n
Login.c(90): \t\t\t\tkey = elem[ data_priv.expando ];\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( key && (data = data_priv.cache[ key ]) ) {\n
Login.c(90): \t\t\t\t\tif ( data.events ) {\n
Login.c(90): \t\t\t\t\t\tfor ( type in data.events ) {\n
Login.c(90): \t\t\t\t\t\t\tif ( special[ type ] ) {\n
Login.c(90): \t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's
overhead\n
Login.c(90): \t\t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tif ( data_priv.cache[ key ] ) {\n
Login.c(90): \t\t\t\t\t\t// Discard any remaining `private` data\n
Login.c(90): \t\t\t\t\t\tdelete data_priv.cache[ key ];\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\t// Discard any remaining `user` data\n
Login.c(90): \t\t\tdelete data_user.cache[ elem[ data_user.expando ] ];\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \ttext: function( value ) {\n
Login.c(90): \t\treturn access( this, function( value ) {\n
Login.c(90): \t\t\treturn value === undefined ?\n
Login.c(90): \t\t\t\tjQuery.text( this ) :\n
Login.c(90): \t\t\t\tthis.empty().each(function() {\n
Login.c(90): \t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ||
this.nodeType === 9 ) {\n
Login.c(90): \t\t\t\t\t\tthis.textContent = value;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t});\n
Login.c(90): \t\t}, null, value, arguments.length );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tappend: function() {\n
Login.c(90): \t\treturn this.domManip( arguments, function( elem ) {\n
Login.c(90): \t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ||
this.nodeType === 9 ) {\n
Login.c(90): \t\t\t\tvar target = manipulationTarget( this, elem );\n
Login.c(90): \t\t\t\ttarget.appendChild( elem );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tprepend: function() {\n
Login.c(90): \t\treturn this.domManip( arguments, function( elem ) {\n
Login.c(90): \t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ||
this.nodeType === 9 ) {\n
Login.c(90): \t\t\t\tvar target = manipulationTarget( this, elem );\n
Login.c(90): \t\t\t\ttarget.insertBefore( elem, target.firstChild );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tbefore: function() {\n
Login.c(90): \t\treturn this.domManip( arguments, function( elem ) {\n
Login.c(90): \t\t\tif ( this.parentNode ) {\n
Login.c(90): \t\t\t\tthis.parentNode.insertBefore( elem, this );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tafter: function() {\n
Login.c(90): \t\treturn this.domManip( arguments, function( elem ) {\n
Login.c(90): \t\t\tif ( this.parentNode ) {\n
Login.c(90): \t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremove: function( selector, keepData /* Internal Use Only */ )
{\n
Login.c(90): \t\tvar elem,\n
Login.c(90): \t\t\telems = selector ? jQuery.filter( selector, this ) : this,\n
Login.c(90): \t\t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n
Login.c(90): \t\t\tif ( !keepData && elem.nodeType === 1 ) {\n
Login.c(90): \t\t\t\tjQuery.cleanData( getAll( elem ) );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( elem.parentNode ) {\n
Login.c(90): \t\t\t\tif ( keepData && jQuery.contains( elem.ownerDocument, elem
) ) {\n
Login.c(90): \t\t\t\t\tsetGlobalEval( getAll( elem, "script" ) );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\telem.parentNode.removeChild( elem );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tempty: function() {\n
Login.c(90): \t\tvar elem,\n
Login.c(90): \t\t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; (elem = this[i]) != null; i++ ) {\n
Login.c(90): \t\t\tif ( elem.nodeType === 1 ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Prevent memory leaks\n
Login.c(90): \t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Remove any remaining nodes\n
Login.c(90): \t\t\t\telem.textContent = "";\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tclone: function( dataAndEvents, deepDataAndEvents ) {\n
Login.c(90): \t\tdataAndEvents = dataAndEvents == null ? false :
dataAndEvents;\n
Login.c(90): \t\tdeepDataAndEvents = deepDataAndEvents == null ?
dataAndEvents : deepDataAndEvents;\n
Login.c(90): \n
Login.c(90): \t\tret
Login.c(90): t=1778ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): urn this.map(function() {\n
Login.c(90): \t\t\treturn jQuery.clone( this, dataAndEvents,
deepDataAndEvents );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \thtml: function( value ) {\n
Login.c(90): \t\treturn access( this, function( value ) {\n
Login.c(90): \t\t\tvar elem = this[ 0 ] || {},\n
Login.c(90): \t\t\t\ti = 0,\n
Login.c(90): \t\t\t\tl = this.length;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n
Login.c(90): \t\t\t\treturn elem.innerHTML;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// See if we can take a shortcut and just use innerHTML\n
Login.c(90): \t\t\tif ( typeof value === "string" && !
rnoInnerhtml.test( value ) &&\n
Login.c(90): \t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )
[ 1 ].toLowerCase() ] ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\tvalue = value.replace( rxhtmlTag, "<$1></$2>" );\n
Login.c(90): \n
Login.c(90): \t\t\t\ttry {\n
Login.c(90): \t\t\t\t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\t\t\t\telem = this[ i ] || {};\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n
Login.c(90): \t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n
Login.c(90): \t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n
Login.c(90): \t\t\t\t\t\t\telem.innerHTML = value;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\telem = 0;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If using innerHTML throws an exception, use the
fallback method\n
Login.c(90): \t\t\t\t} catch( e ) {}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( elem ) {\n
Login.c(90): \t\t\t\tthis.empty().append( value );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}, null, value, arguments.length );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \treplaceWith: function() {\n
Login.c(90): \t\tvar arg = arguments[ 0 ];\n
Login.c(90): \n
Login.c(90): \t\t// Make the changes, replacing each context element with the
new content\n
Login.c(90): \t\tthis.domManip( arguments, function( elem ) {\n
Login.c(90): \t\t\targ = this.parentNode;\n
Login.c(90): \n
Login.c(90): \t\t\tjQuery.cleanData( getAll( this ) );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( arg ) {\n
Login.c(90): \t\t\t\targ.replaceChild( elem, this );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t\t// Force removal if there was no new content (e.g., from empty
arguments)\n
Login.c(90): \t\treturn arg && (arg.length || arg.nodeType) ? this :
this.remove();\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdetach: function( selector ) {\n
Login.c(90): \t\treturn this.remove( selector, true );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdomManip: function( args, callback ) {\n
Login.c(90): \n
Login.c(90): \t\t// Flatten any nested arrays\n
Login.c(90): \t\targs = concat.apply( [], args );\n
Login.c(90): \n
Login.c(90): \t\tvar fragment, first, scripts, hasScripts, node, doc,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tl = this.length,\n
Login.c(90): \t\t\tset = this,\n
Login.c(90): \t\t\tiNoClone = l - 1,\n
Login.c(90): \t\t\tvalue = args[ 0 ],\n
Login.c(90): \t\t\tisFunction = jQuery.isFunction( value );\n
Login.c(90): \n
Login.c(90): \t\t// We can't cloneNode fragments that contain checked, in
WebKit\n
Login.c(90): \t\tif ( isFunction ||\n
Login.c(90): \t\t\t\t( l > 1 && typeof value === "string" &&\n
Login.c(90): \t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n
Login.c(90): \t\t\treturn this.each(function( index ) {\n
Login.c(90): \t\t\t\tvar self = set.eq( index );\n
Login.c(90): \t\t\t\tif ( isFunction ) {\n
Login.c(90): \t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tself.domManip( args, callback );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( l ) {\n
Login.c(90): \t\t\tfragment = jQuery.buildFragment( args,
this[ 0 ].ownerDocument, false, this );\n
Login.c(90): \t\t\tfirst = fragment.firstChild;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( fragment.childNodes.length === 1 ) {\n
Login.c(90): \t\t\t\tfragment = first;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( first ) {\n
Login.c(90): \t\t\t\tscripts = jQuery.map( getAll( fragment, "script" ),
disableScript );\n
Login.c(90): \t\t\t\thasScripts = scripts.length;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Use the original fragment for the last item instead of
the first because it can
Login.c(90): end up\n
Login.c(90): \t\t\t\t// being emptied incorrectly in certain situations
(#8070).\n
Login.c(90): \t\t\t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\t\t\tnode = fragment;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tif ( i !== iNoClone ) {\n
Login.c(90): \t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Keep references to cloned scripts for later
restoration\n
Login.c(90): \t\t\t\t\t\tif ( hasScripts ) {\n
Login.c(90): \t\t\t\t\t\t\t// Support: QtWebKit\n
Login.c(90): \t\t\t\t\t\t\t// jQuery.merge because push.apply(_, arraylike)
throws\n
Login.c(90): \t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, "script" ) );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\tcallback.call( this[ i ], node, i );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( hasScripts ) {\n
Login.c(90): \t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Reenable scripts\n
Login.c(90): \t\t\t\t\tjQuery.map( scripts, restoreScript );\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Evaluate executable scripts on first document
insertion\n
Login.c(90): \t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n
Login.c(90): \t\t\t\t\t\tnode = scripts[ i ];\n
Login.c(90): \t\t\t\t\t\tif ( rscriptType.test( node.type || "" ) &&\n
Login.c(90): \t\t\t\t\t\t\t!data_priv.access( node, "globalEval" ) &&
jQuery.contains( doc, node ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\tif ( node.src ) {\n
Login.c(90): \t\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts
if not present\n
Login.c(90): \t\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t} else {\n
Login.c(90):
\t\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript,
"" ) );\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.each({\n
Login.c(90): \tappendTo: "append",\n
Login.c(90): \tprependTo: "prepend",\n
Login.c(90): \tinsertBefore: "before",\n
Login.c(90): \tinsertAfter: "after",\n
Login.c(90): \treplaceAll: "replaceWith"\n
Login.c(90): }, function( name, original ) {\n
Login.c(90): \tjQuery.fn[ name ] = function( selector ) {\n
Login.c(90): \t\tvar elems,\n
Login.c(90): \t\t\tret = [],\n
Login.c(90): \t\t\tinsert = jQuery( selector ),\n
Login.c(90): \t\t\tlast = insert.length - 1,\n
Login.c(90): \t\t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; i <= last; i++ ) {\n
Login.c(90): \t\t\telems = i === last ? this : this.clone( true );\n
Login.c(90): \t\t\tjQuery( insert[ i ] )[ original ]( elems );\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: QtWebKit\n
Login.c(90): \t\t\t// .get() because push.apply(_, arraylike) throws\n
Login.c(90): \t\t\tpush.apply( ret, elems.get() );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.pushStack( ret );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var iframe,\n
Login.c(90): \telemdisplay = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Retrieve the actual display of a element\n
Login.c(90): * @param {String} name nodeName of the element\n
Login.c(90): * @param {Object} doc Document object\n
Login.c(90): */\n
Login.c(90): // Called only from within defaultDisplay\n
Login.c(90): function actualDisplay( name, doc ) {\n
Login.c(90): \tvar style,\n
Login.c(90): \t\telem =
jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n
Login.c(90): \n
Login.c(90): \t\t// getDefaultComputedStyle might be reliably used only on
attached element\n
Login.c(90): \t\tdisplay = window.getDefaultComputedStyle && ( style =
window.getDefaultComputedStyle(
Login.c(90): elem[ 0 ] ) ) ?\n
Login.c(90): \n
Login.c(90): \t\t\t// Use of this method is a temporary fix (more like
optmization) until something bet
Login.c(90): ter comes along,\n
Login.c(90): \t\t\t// since it was removed from specification and supported
only in FF\n
Login.c(90): \t\t\tstyle.display : jQuery.css( elem[ 0 ], "display" );\n
Login.c(90): \n
Login.c(90): \t// We don't have any data stored on the element,\n
Login.c(90): \t// so use "detach" method as fast way to get rid of the
element\n
Login.c(90): \telem.detach();\n
Login.c(90): \n
Login.c(90): \treturn display;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Try to determine the default display value of an element\n
Login.c(90): * @param {String} nodeName\n
Login.c(90): */\n
Login.c(90): function defaultDisplay( nodeName ) {\n
Login.c(90): \tvar doc = document,\n
Login.c(90): \t\tdisplay = elemdisplay[ nodeName ];\n
Login.c(90): \n
Login.c(90): \tif ( !display ) {\n
Login.c(90): \t\tdisplay = actualDisplay( nodeName, doc );\n
Login.c(90): \n
Login.c(90): \t\t// If the simple way fails, read from inside an iframe\n
Login.c(90): \t\tif ( display === "none" || !display ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Use the already-created iframe if possible\n
Login.c(90): \t\t\tiframe = (iframe || jQuery( "<iframe frameborder='0'
width='0' height='0'/>" )).appe
Login.c(90): ndTo( doc.documentElement );\n
Login.c(90): \n
Login.c(90): \t\t\t// Always write a new HTML skeleton so Webkit and Firefox
don't choke on reuse\n
Login.c(90): \t\t\tdoc = iframe[ 0 ].contentDocument;\n
Login.c(90): \n
Login.c(90): \t\t\t// Support: IE\n
Login.c(90): \t\t\tdoc.write();\n
Login.c(90): \t\t\tdoc.close();\n
Login.c(90): \n
Login.c(90): \t\t\tdisplay = actualDisplay( nodeName, doc );\n
Login.c(90): \t\t\tiframe.detach();\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Store the correct default display\n
Login.c(90): \t\telemdisplay[ nodeName ] = display;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn display;\n
Login.c(90): }\n
Login.c(90): var rmargin = (/^margin/);\n
Login.c(90): \n
Login.c(90): var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$",
"i" );\n
Login.c(90): \n
Login.c(90): var getStyles = function( elem ) {\n
Login.c(90): \t\treturn elem.ownerDocument.defaultView.getComputedStyle( elem,
null );\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function curCSS( elem, name, computed ) {\n
Login.c(90): \tvar width, minWidth, maxWidth, ret,\n
Login.c(90): \t\tstyle = elem.style;\n
Login.c(90): \n
Login.c(90): \tcomputed = computed || getStyles( elem );\n
Login.c(90): \n
Login.c(90): \t// Support: IE9\n
Login.c(90): \t// getPropertyValue is only needed for .css('filter') in IE9,
see #12537\n
Login.c(90): \tif ( computed ) {\n
Login.c(90): \t\tret = computed.getPropertyValue( name ) || computed[ name ];\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( computed ) {\n
Login.c(90): \n
Login.c(90): \t\tif ( ret === "" && !jQuery.contains( elem.ownerDocument,
elem ) ) {\n
Login.c(90): \t\t\tret = jQuery.style( elem, name );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Support: iOS < 6\n
Login.c(90): \t\t// A tribute to the "awesome hack by Dean Edwards"\n
Login.c(90): \t\t// iOS < 6 (at least) returns percentage for a larger set of
values, but width seems t
Login.c(90): o be reliably pixels\n
Login.c(90): \t\t// this is against the CSSOM draft spec:
http://dev.w3.org/csswg/cssom/#resolved-value
Login.c(90): s\n
Login.c(90): \t\tif ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Remember the original values\n
Login.c(90): \t\t\twidth = style.width;\n
Login.c(90): \t\t\tminWidth = style.minWidth;\n
Login.c(90): \t\t\tmaxWidth = style.maxWidth;\n
Login.c(90): \n
Login.c(90): \t\t\t// Put in the new values to get a computed value out\n
Login.c(90): \t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n
Login.c(90): \t\t\tret = computed.width;\n
Login.c(90): \n
Login.c(90): \t\t\t// Revert the changed values\n
Login.c(90): \t\t\tstyle.width = width;\n
Login.c(90): \t\t\tstyle.minWidth = minWidth;\n
Login.c(90): \t\t\tstyle.maxWidth = maxWidth;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn ret !== undefined ?\n
Login.c(90): \t\t// Support: IE\n
Login.c(90): \t\t// IE returns zIndex value as an integer.\n
Login.c(90): \t\tret + "" :\n
Login.c(90): \t\tret;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function addGetHookIf( conditionFn, hookFn ) {\n
Login.c(90): \t// Define the hook, we'll check on the first run if it's really
needed.\n
Login.c(90): \treturn {\n
Login.c(90): \t\tget: function() {\n
Login.c(90): \t\t\tif ( conditionFn() ) {\n
Login.c(90): \t\t\t\t// Hook not needed (or it's not possible to use it due to
missing dependency),\n
Login.c(90): \t\t\t\t// remove it.\n
Login.c(90): \t\t\t\t// Since there are no other hooks for marginRight, remove
the whole object.\n
Login.c(90): \t\t\t\tdelete this.get;\n
Login.c(90): \t\t\t\treturn;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Hook needed; redefine it so that the support test is not
executed again.\n
Login.c(90): \n
Login.c(90): \t\t\treturn (this.get = hookFn).apply( this, arguments );\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): \tvar pixelPositionVal, boxSizingReliableVal,\n
Login.c(90): \t\tdocElem = document.documentElement,\n
Login.c(90): \t\tcontainer = document.createElement( "div" ),\n
Login.c(90): \t\tdiv = document.createElement( "div" );\n
Login.c(90): \n
Login.c(90): \tif ( !div.style ) {\n
Login.c(90): \t\treturn;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tdiv.style.backgroundClip = "content-box";\n
Login.c(90): \tdiv.cloneNode( true ).style.backgroundClip = "";\n
Login.c(90): \tsupport.clearCloneStyle = div.style.backgroundClip === "content-
box";\n
Login.c(90): \n
Login.c(90): \tcontainer.style.cssText =
"border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;"
Login.c(90): +\n
Login.c(90): \t\t"position:absolute";\n
Login.c(90): \tcontainer.appendChild( div );\n
Login.c(90): \n
Login.c(90): \t// Executing both pixelPosition & boxSizingReliable tests
require only one layout\n
Login.c(90): \t// so they're executed at the same time to save the second
computation.\n
Login.c(90): \tfunction computePixelPositionAndBoxSizingReliable() {\n
Login.c(90): \t\tdiv.style.cssText =\n
Login.c(90): \t\t\t// Support: Firefox<29, Android 2.3\n
Login.c(90): \t\t\t// Vendor-prefix box-sizing\n
Login.c(90): \t\t\t"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;"
+\n
Login.c(90): \t\t\t"box-sizing:border-box;display:block;margin-top:1%;top:1%;"
+\n
Login.c(90): \t\t\t"border:1px;padding:1px;width:4px;position:absolute";\n
Login.c(90): \t\tdiv.innerHTML = "";\n
Login.c(90): \t\tdocElem.appendChild( container );\n
Login.c(90): \n
Login.c(90): \t\tvar divStyle = window.getComputedStyle( div, null );\n
Login.c(90): \t\tpixelPositionVal = divStyle.top !== "1%";\n
Login.c(90): \t\tboxSizingReliableVal = divStyle.width === "4px";\n
Login.c(90): \n
Login.c(90): \t\tdocElem.removeChild( container );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Support: node.js jsdom\n
Login.c(90): \t// Don't assume that getComputedStyle is a property of the
global object\n
Login.c(90): \tif ( window.getComputedStyle ) {\n
Login.c(90): \t\tjQuery.extend( support, {\n
Login.c(90): \t\t\tpixelPosition: function() {\n
Login.c(90): \t\t\t\t// This test is executed only once but we still do
memoizing\n
Login.c(90): \t\t\t\t// since we can use the boxSizingReliable pre-computing.\n
Login.c(90): \t\t\t\t// No need to check if the test was already performed,
though.\n
Login.c(90): \t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n
Login.c(90): \t\t\t\treturn pixelPositionVal;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tboxSizingReliable: function() {\n
Login.c(90): \t\t\t\tif ( boxSizingReliableVal == null ) {\n
Login.c(90): \t\t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn boxSizingReliableVal;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\treliableMarginRight: function() {\n
Login.c(90): \t\t\t\t// Support: Android 2.3\n
Login.c(90): \t\t\t\t// Check if div with explicit width and no margin-right
incorrectly\n
Login.c(90): \t\t\t\t// gets computed margin-right based on width of container.
(#3333)\n
Login.c(90): \t\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value
for margin-right\n
Login.c(90): \t\t\t\t// This support function is only executed once so no
memoizing is needed.\n
Login.c(90): \t\t\t\tvar ret,\n
Login.c(90): \t\t\t\t\tmarginDiv =
div.appendChild( document.createElement( "div" ) );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Reset CSS: box-sizing; display; margin; border;
padding\n
Login.c(90): \t\t\t\tmarginDiv.style.cssText = div.style.cssText =\n
Login.c(90): \t\t\t\t\t// Support: Firefox<29, Android 2.3\n
Login.c(90): \t\t\t\t\t// Vendor-prefix box-sizing\n
Login.c(90): \t\t\t\t\t"-webkit-box-sizing:content-box;-moz-box-sizing:content-
box;" +\n
Login.c(90): \t\t\t\t\t"box-sizing:content-
box;display:block;margin:0;border:0;padding:0";\n
Login.c(90): \t\t\t\tmarginDiv.style.marginRight = marginDiv.style.width =
"0";\n
Login.c(90): \t\t\t\tdiv.style.width = "1px";\n
Login.c(90): \t\t\t\tdocElem.appendChild( container );\n
Login.c(90): \n
Login.c(90): \t\t\t\tret = !parseFloat( window.getComputedStyle( marginDiv,
null ).marginRight );\n
Login.c(90): \n
Login.c(90): \t\t\t\tdocElem.removeChild( container );\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn ret;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // A method for quickly swapping in/out CSS properties to get
correct calculations.\n
Login.c(90): jQuery.swap = function( elem, options, callback, args ) {\n
Login.c(90): \tvar ret, name,\n
Login.c(90): \t\told = {};\n
Login.c(90): \n
Login.c(90): \t// Remember the old values, and insert the new ones\n
Login.c(90): \tfor ( name in options ) {\n
Login.c(90): \t\told[ name ] = elem.style[ name ];\n
Login.c(90): \t\telem.style[ name ] = options[ name ];\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tret = callback.apply( elem, args || [] );\n
Login.c(90): \n
Login.c(90): \t// Revert the old values\n
Login.c(90): \tfor ( name in options ) {\n
Login.c(90): \t\telem.style[ name ] = old[ name ];\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn ret;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \t// swappable if display is none or starts with table except
"table", "table-cell", or "t
Login.c(90): able-caption"\n
Login.c(90): \t// see here for display values:
https://developer.mozilla.org/en-US/docs/CSS/display\n
Login.c(90): \trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n
Login.c(90): \trnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),\n
Login.c(90): \trrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),\n
Login.c(90): \n
Login.c(90): \tcssShow = { position: "absolute", visibility: "hidden", display:
"block" },\n
Login.c(90): \tcssNormalTransform = {\n
Login.c(90): \t\tletterSpacing: "0",\n
Login.c(90): \t\tfo
Login.c(90): t=1797ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): ntWeight: "400"\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tcssPrefixes = [ "Webkit", "O", "Moz", "ms" ];\n
Login.c(90): \n
Login.c(90): // return a css property mapped to a potentially vendor prefixed
property\n
Login.c(90): function vendorPropName( style, name ) {\n
Login.c(90): \n
Login.c(90): \t// shortcut for names that are not vendor prefixed\n
Login.c(90): \tif ( name in style ) {\n
Login.c(90): \t\treturn name;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// check for vendor prefixed names\n
Login.c(90): \tvar capName = name[0].toUpperCase() + name.slice(1),\n
Login.c(90): \t\torigName = name,\n
Login.c(90): \t\ti = cssPrefixes.length;\n
Login.c(90): \n
Login.c(90): \twhile ( i-- ) {\n
Login.c(90): \t\tname = cssPrefixes[ i ] + capName;\n
Login.c(90): \t\tif ( name in style ) {\n
Login.c(90): \t\t\treturn name;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn origName;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setPositiveNumber( elem, value, subtract ) {\n
Login.c(90): \tvar matches = rnumsplit.exec( value );\n
Login.c(90): \treturn matches ?\n
Login.c(90): \t\t// Guard against undefined "subtract", e.g., when used as in
cssHooks\n
Login.c(90): \t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2
] || "px" ) :\n
Login.c(90): \t\tvalue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function augmentWidthOrHeight( elem, name, extra, isBorderBox,
styles ) {\n
Login.c(90): \tvar i = extra === ( isBorderBox ? "border" : "content" ) ?\n
Login.c(90): \t\t// If we already have the right measurement, avoid
augmentation\n
Login.c(90): \t\t4 :\n
Login.c(90): \t\t// Otherwise initialize for horizontal or vertical
properties\n
Login.c(90): \t\tname === "width" ? 1 : 0,\n
Login.c(90): \n
Login.c(90): \t\tval = 0;\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < 4; i += 2 ) {\n
Login.c(90): \t\t// both box models exclude margin, so add it if we want it\n
Login.c(90): \t\tif ( extra === "margin" ) {\n
Login.c(90): \t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true,
styles );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( isBorderBox ) {\n
Login.c(90): \t\t\t// border-box includes padding, so remove it if we want
content\n
Login.c(90): \t\t\tif ( extra === "content" ) {\n
Login.c(90): \t\t\t\tval -= jQuery.css( elem, "padding" + cssExpand[ i ], true,
styles );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// at this point, extra isn't border nor margin, so remove
border\n
Login.c(90): \t\t\tif ( extra !== "margin" ) {\n
Login.c(90): \t\t\t\tval -= jQuery.css( elem, "border" + cssExpand[ i ] +
"Width", true, styles );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// at this point, extra isn't content, so add padding\n
Login.c(90): \t\t\tval += jQuery.css( elem, "padding" + cssExpand[ i ], true,
styles );\n
Login.c(90): \n
Login.c(90): \t\t\t// at this point, extra isn't content nor padding, so add
border\n
Login.c(90): \t\t\tif ( extra !== "padding" ) {\n
Login.c(90): \t\t\t\tval += jQuery.css( elem, "border" + cssExpand[ i ] +
"Width", true, styles );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getWidthOrHeight( elem, name, extra ) {\n
Login.c(90): \n
Login.c(90): \t// Start with offset property, which is equivalent to the
border-box value\n
Login.c(90): \tvar valueIsBorderBox = true,\n
Login.c(90): \t\tval = name === "width" ? elem.offsetWidth :
elem.offsetHeight,\n
Login.c(90): \t\tstyles = getStyles( elem ),\n
Login.c(90): \t\tisBorderBox = jQuery.css( elem, "boxSizing", false, styles )
=== "border-box";\n
Login.c(90): \n
Login.c(90): \t// some non-html elements return undefined for offsetWidth, so
check for null/undefined\n
Login.c(90): \t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n
Login.c(90): \t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?
id=491668\n
Login.c(90): \tif ( val <= 0 || val == null ) {\n
Login.c(90): \t\t// Fall back to computed then uncomputed css if necessary\n
Login.c(90): \t\tval = curCSS( elem, name, styles );\n
Login.c(90): \t\tif ( val < 0 || val == null ) {\n
Login.c(90): \t\t\tval = elem.style[ name ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Computed unit is not pixels. Stop here and return.\n
Login.c(90): \t\tif ( rnumnonpx.test(val) ) {\n
Login.c(90): \t\t\treturn val;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// we need the check for style in case a browser which returns
unreliable values\n
Login.c(90): \t\t// for getComputedStyle silently falls back to the reliable
elem.style\n
Login.c(90): \t\tvalueIsBorderBox = isBorderBox &&\n
Login.c(90): \t\t\t( support.boxSizingReliable() || val ===
elem.style[ name ] );\n
Login.c(90): \n
Login.c(90): \t\t// Normalize "", auto, and prepare for extra\n
Login.c(90): \t\tval = parseFloat( val ) || 0;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// use the active box-sizing model to add/subtract irrelevant
styles\n
Login.c(90): \treturn ( val +\n
Login.c(90): \t\taugmentWidthOrHeight(\n
Login.c(90): \t\t\telem,\n
Login.c(90): \t\t\tname,\n
Login.c(90): \t\t\textra || ( isBorderBox ? "border" : "content" ),\n
Login.c(90): \t\t\tvalueIsBorderBox,\n
Login.c(90): \t\t\tstyles\n
Login.c(90): \t\t)\n
Login.c(90): \t) + "px";\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function showHide( elements, show ) {\n
Login.c(90): \tvar display, elem, hidden,\n
Login.c(90): \t\tvalues = [],\n
Login.c(90): \t\tindex = 0,\n
Login.c(90): \t\tlength = elements.length;\n
Login.c(90): \n
Login.c(90): \tfor ( ; index < length; index++ ) {\n
Login.c(90): \t\telem = elements[ index ];\n
Login.c(90): \t\tif ( !elem.style ) {\n
Login.c(90): \t\t\tcontinue;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvalues[ index ] = data_priv.get( elem, "olddisplay" );\n
Login.c(90): \t\tdisplay = elem.style.display;\n
Login.c(90): \t\tif ( show ) {\n
Login.c(90): \t\t\t// Reset the inline display of this element to learn if it
is\n
Login.c(90): \t\t\t// being hidden by cascaded rules or not\n
Login.c(90): \t\t\tif ( !values[ index ] && display === "none" ) {\n
Login.c(90): \t\t\t\telem.style.display = "";\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Set elements which have been overridden with display:
none\n
Login.c(90): \t\t\t// in a stylesheet to whatever the default browser style
is\n
Login.c(90): \t\t\t// for such an element\n
Login.c(90): \t\t\tif ( elem.style.display === "" && isHidden( elem ) ) {\n
Login.c(90): \t\t\t\tvalues[ index ] = data_priv.access( elem, "olddisplay",
defaultDisplay(elem.nodeNa
Login.c(90): me) );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\thidden = isHidden( elem );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( display !== "none" || !hidden ) {\n
Login.c(90): \t\t\t\tdata_priv.set( elem, "olddisplay", hidden ? display :
jQuery.css( elem, "display"
Login.c(90): ) );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Set the display of most of the elements in a second loop\n
Login.c(90): \t// to avoid the constant reflow\n
Login.c(90): \tfor ( index = 0; index < length; index++ ) {\n
Login.c(90): \t\telem = elements[ index ];\n
Login.c(90): \t\tif ( !elem.style ) {\n
Login.c(90): \t\t\tcontinue;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( !show || elem.style.display === "none" ||
elem.style.display === "" ) {\n
Login.c(90): \t\t\telem.style.display = show ? values[ index ] || "" :
"none";\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn elements;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \t// Add in style property hooks for overriding the default\n
Login.c(90): \t// behavior of getting and setting a style property\n
Login.c(90): \tcssHooks: {\n
Login.c(90): \t\topacity: {\n
Login.c(90): \t\t\tget: function( elem, computed ) {\n
Login.c(90): \t\t\t\tif ( computed ) {\n
Login.c(90): \t\t\t\t\t// We should always get a number back from opacity\n
Login.c(90): \t\t\t\t\tvar ret = curCSS( elem, "opacity" );\n
Login.c(90): \t\t\t\t\treturn ret === "" ? "1" : ret;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Don't automatically add "px" to these possibly-unitless
properties\n
Login.c(90): \tcssNumber: {\n
Login.c(90): \t\t"columnCount": true,\n
Login.c(90): \t\t"fillOpacity": true,\n
Login.c(90): \t\t"flexGrow": true,\n
Login.c(90): \t\t"flexShrink": true,\n
Login.c(90): \t\t"fontWeight": true,\n
Login.c(90): \t\t"lineHeight": true,\n
Login.c(90): \t\t"opacity": true,\n
Login.c(90): \t\t"order": true,\n
Login.c(90): \t\t"orphans": true,\n
Login.c(90): \t\t"widows": true,\n
Login.c(90): \t\t"zIndex": true,\n
Login.c(90): \t\t"zoom": true\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Add in properties whose names you wish to fix before\n
Login.c(90): \t// setting or getting the value\n
Login.c(90): \tcssProps: {\n
Login.c(90): \t\t// normalize float css property\n
Login.c(90): \t\t"float": "cssFloat"\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Get and set the style property on a DOM Node\n
Login.c(90): \tstyle: function( elem, name, value, extra ) {\n
Login.c(90): \t\t// Don't set styles on text and comment nodes\n
Login.c(90): \t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !
elem.style ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Make sure that we're working with the right name\n
Login.c(90): \t\tvar ret, type, hooks,\n
Login.c(90): \t\t\torigName = jQuery.camelCase( name ),\n
Login.c(90): \t\t\tstyle = elem.style;\n
Login.c(90): \n
Login.c(90): \t\tname = jQuery.cssProps[ origName ] ||
( jQuery.cssProps[ origName ] = vendorPropName(
Login.c(90): style, origName ) );\n
Login.c(90): \n
Login.c(90): \t\t// gets hook for the prefixed version\n
Login.c(90): \t\t// followed by the unprefixed version\n
Login.c(90): \t\thooks = jQuery.cssHooks[ name ] ||
jQuery.cssHooks[ origName ];\n
Login.c(90): \n
Login.c(90): \t\t// Check if we're setting a value\n
Login.c(90): \t\tif ( value !== undefined ) {\n
Login.c(90): \t\t\ttype = typeof value;\n
Login.c(90): \n
Login.c(90): \t\t\t// convert relative number strings (+= or -=) to relative
numbers. #7345\n
Login.c(90): \t\t\tif ( type === "string" && (ret = rrelNum.exec( value )) )
{\n
Login.c(90): \t\t\t\tvalue = ( ret[1] + 1 ) * ret[2] +
parseFloat( jQuery.css( elem, name ) );\n
Login.c(90): \t\t\t\t// Fixes bug #9237\n
Login.c(90): \t\t\t\ttype = "number";\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Make sure that null and NaN values aren't set. See:
#7116\n
Login.c(90): \t\t\tif ( value == null || value !== value ) {\n
Login.c(90): \t\t\t\treturn;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// If a number was passed in, add 'px' to the (except for
certain CSS properties)\n
Login.c(90): \t\t\tif ( type === "number" && !jQuery.cssNumber[ origName ] )
{\n
Login.c(90): \t\t\t\tvalue += "px";\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Fixes #8908, it can be done more correctly by specifying
setters in cssHooks,\n
Login.c(90): \t\t\t// but it would mean to define eight (for every problematic
property) identical func
Login.c(90): tions\n
Login.c(90): \t\t\tif ( !support.clearCloneStyle && value === "" &&
name.indexOf( "background" ) === 0
Login.c(90): ) {\n
Login.c(90): \t\t\t\tstyle[ name ] = "inherit";\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// If a hook was provided, use that value, otherwise just
set the specified value\n
Login.c(90): \t\t\tif ( !hooks || !("set" in hooks) || (value =
hooks.set( elem, value, extra )) !== un
Login.c(90): defined ) {\n
Login.c(90): \t\t\t\tstyle[ name ] = value;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// If a hook was provided get the non-computed value from
there\n
Login.c(90): \t\t\tif ( hooks && "get" in hooks && (ret = hooks.get( elem,
false, extra )) !== undefine
Login.c(90): d ) {\n
Login.c(90): \t\t\t\treturn ret;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Otherwise just get the value from the style object\n
Login.c(90): \t\t\treturn style[ name ];\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tcss: function( elem, name, extra, styles ) {\n
Login.c(90): \t\tvar val, num, hooks,\n
Login.c(90): \t\t\torigName = jQuery.camelCase( name );\n
Login.c(90): \n
Login.c(90): \t\t// Make sure that we're working with the right name\n
Login.c(90): \t\tname = jQuery.cssProps[ origName ] ||
( jQuery.cssProps[ origName ] = vendorPropName(
Login.c(90): elem.style, origName ) );\n
Login.c(90): \n
Login.c(90): \t\t// gets hook for the prefixed version\n
Login.c(90): \t\t// followed by the unprefixed version\n
Login.c(90): \t\thooks = jQuery.cssHooks[ name ] ||
jQuery.cssHooks[ origName ];\n
Login.c(90): \n
Login.c(90): \t\t// If a hook was provided get the computed value from there\n
Login.c(90): \t\tif ( hooks && "get" in hooks ) {\n
Login.c(90): \t\t\tval = hooks.get( elem, true, extra );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Otherwise, if a way to get the computed value exists, use
that\n
Login.c(90): \t\tif ( val === undefined ) {\n
Login.c(90): \t\t\tval = curCSS( elem, name, styles );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t//convert "normal" to computed value\n
Login.c(90): \t\tif ( val === "normal" && name in cssNormalTransform ) {\n
Login.c(90): \t\t\tval = cssNormalTransform[ name ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Return, converting to number if forced or a qualifier was
provided and val looks nu
Login.c(90): meric\n
Login.c(90): \t\tif ( extra === "" || extra ) {\n
Login.c(90): \t\t\tnum = parseFloat( val );\n
Login.c(90): \t\t\treturn extra === true || jQuery.isNumeric( num ) ? num ||
0 : val;\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn val;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.each([ "height", "width" ], function( i, name ) {\n
Login.c(90): \tjQuery.cssHooks[ name ] = {\n
Login.c(90): \t\tget: function( elem, computed, extra ) {\n
Login.c(90): \t\t\tif ( computed ) {\n
Login.c(90): \t\t\t\t// certain elements can have dimension info if we
invisibly show them\n
Login.c(90): \t\t\t\t// however, it must have a current display style that
would benefit from this\n
Login.c(90): \t\t\t\treturn rdisplayswap.test( jQuery.css( elem, "display" ) )
&& elem.offsetWidth ===
Login.c(90): 0 ?\n
Login.c(90): \t\t\t\t\tjQuery.swap( elem, cssShow, function() {\n
Login.c(90): \t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n
Login.c(90): \t\t\t\t\t}) :\n
Login.c(90): \t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\tset: function( elem, value, extra ) {\n
Login.c(90): \t\t\tvar styles = extra && getStyles( elem );\n
Login.c(90): \t\t\treturn setPositiveNumber( elem, value, extra ?\n
Login.c(90): \t\t\t\taugmentWidthOrHeight(\n
Login.c(90): \t\t\t\t\telem,\n
Login.c(90): \t\t\t\t\tname,\n
Login.c(90): \t\t\t\t\textra,\n
Login.c(90): \t\t\t\t\tjQuery.css( elem, "boxSizing", false, styles ) ===
"border-box",\n
Login.c(90): \t\t\t\t\tstyles\n
Login.c(90): \t\t\t\t) : 0\n
Login.c(90): \t\t\t);\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Support: Android 2.3\n
Login.c(90): jQuery.cssHooks.marginRight =
addGetHookIf( support.reliableMarginRight,\n
Login.c(90): \tfunction( elem, computed ) {\n
Login.c(90): \t\tif ( computed ) {\n
Login.c(90): \t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value
for margin-right\n
Login.c(90): \t\t\t// Work around by temporarily setting element display to
inline-block\n
Login.c(90): \t\t\treturn jQuery.swap( elem, { "display": "inline-block" },\n
Login.c(90): \t\t\t\tcurCSS, [ elem, "marginRight" ] );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): );\n
Login.c(90): \n
Login.c(90): // These hooks are used by animate to expand properties\n
Login.c(90): jQuery.each({\n
Login.c(90): \tmargin: "",\n
Login.c(90): \tpadding: "",\n
Login.c(90): \tborder: "Width"\n
Login.c(90): }, function( prefix, suffix ) {\n
Login.c(90): \tjQuery.cssHooks[ prefix + suffix ] = {\n
Login.c(90): \t\texpand: function( value ) {\n
Login.c(90): \t\t\tvar i = 0,\n
Login.c(90): \t\t\t\texpanded = {},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// assumes a single number if not a string\n
Login.c(90): \t\t\t\tparts = typeof value === "string" ? value.split(" ") :
[ value ];\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( ; i < 4; i++ ) {\n
Login.c(90): \t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n
Login.c(90): \t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn expanded;\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \tif ( !rmargin.test( prefix ) ) {\n
Login.c(90): \t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tcss: function( name, value ) {\n
Login.c(90): \t\treturn access( this, function( elem, name, value ) {\n
Login.c(90): \t\t\tvar styles, len,\n
Login.c(90): \t\t\t\tmap = {},\n
Login.c(90): \t\t\t\ti = 0;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( jQuery.isArray( name ) ) {\n
Login.c(90): \t\t\t\tstyles = getStyles( elem );\n
Login.c(90): \t\t\t\tlen = name.length;\n
Login.c(90): \n
Login.c(90): \t\t\t\tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false,
styles );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn map;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn value !== undefined ?\n
Login.c(90): \t\t\t\tjQuery.style( elem, name, value ) :\n
Login.c(90): \t\t\t\tjQuery.css( elem, name );\n
Login.c(90): \t\t}, name, value, arguments.length > 1 );\n
Login.c(90): \t},\n
Login.c(90): \tshow: function() {\n
Login.c(90): \t\treturn showHide( this, true );\n
Login.c(90): \t},\n
Login.c(90): \thide: function() {\n
Login.c(90): \t\treturn showHide( this );\n
Login.c(90): \t},\n
Login.c(90): \ttoggle: function( state ) {\n
Login.c(90): \t\tif ( typeof state === "boolean" ) {\n
Login.c(90): \t\t\treturn state ? this.show() : this.hide();\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tif ( isHidden( this ) ) {\n
Login.c(90): \t\t\t\tjQuery( this ).show();\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tjQuery( this ).hide();\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function Tween( elem, options, prop, end, easing ) {\n
Login.c(90): \treturn new Tween.prototype.init( elem, options, prop, end,
easing );\n
Login.c(90): }\n
Login.c(90): jQuery.Tween = Tween;\n
Login.c(90): \n
Login.c(90): Tween.prototype = {\n
Login.c(90): \tconstructor: Tween,\n
Login.c(90): \tinit: function( elem, options, prop, end, easing, unit ) {\n
Login.c(90): \t\tthis.elem = elem;\n
Login.c(90): \t\tthis.prop = prop;\n
Login.c(90): \t\tthis.easing = easing || "swing";\n
Login.c(90): \t\tthis.options = options;\n
Login.c(90): \t\tthis.start = this.now = this.cur();\n
Login.c(90): \t\tthis.end = end;\n
Login.c(90): \t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? "" :
"px" );\n
Login.c(90): \t},\n
Login.c(90): \tcur: function() {\n
Login.c(90): \t\tvar hooks = Tween.propHooks[ this.prop ];\n
Login.c(90): \n
Login.c(90): \t
Login.c(90): t=1816ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): \treturn hooks && hooks.get ?\n
Login.c(90): \t\t\thooks.get( this ) :\n
Login.c(90): \t\t\tTween.propHooks._default.get( this );\n
Login.c(90): \t},\n
Login.c(90): \trun: function( percent ) {\n
Login.c(90): \t\tvar eased,\n
Login.c(90): \t\t\thooks = Tween.propHooks[ this.prop ];\n
Login.c(90): \n
Login.c(90): \t\tif ( this.options.duration ) {\n
Login.c(90): \t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n
Login.c(90): \t\t\t\tpercent, this.options.duration * percent, 0, 1,
this.options.duration\n
Login.c(90): \t\t\t);\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tthis.pos = eased = percent;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tthis.now = ( this.end - this.start ) * eased + this.start;\n
Login.c(90): \n
Login.c(90): \t\tif ( this.options.step ) {\n
Login.c(90): \t\t\tthis.options.step.call( this.elem, this.now, this );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( hooks && hooks.set ) {\n
Login.c(90): \t\t\thooks.set( this );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tTween.propHooks._default.set( this );\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn this;\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Tween.prototype.init.prototype = Tween.prototype;\n
Login.c(90): \n
Login.c(90): Tween.propHooks = {\n
Login.c(90): \t_default: {\n
Login.c(90): \t\tget: function( tween ) {\n
Login.c(90): \t\t\tvar result;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( tween.elem[ tween.prop ] != null &&\n
Login.c(90): \t\t\t\t(!tween.elem.style || tween.elem.style[ tween.prop ] ==
null) ) {\n
Login.c(90): \t\t\t\treturn tween.elem[ tween.prop ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// passing an empty string as a 3rd parameter to .css will
automatically\n
Login.c(90): \t\t\t// attempt a parseFloat and fallback to a string if the
parse fails\n
Login.c(90): \t\t\t// so, simple values such as "10px" are parsed to Float.\n
Login.c(90): \t\t\t// complex values such as "rotate(1rad)" are returned as
is.\n
Login.c(90): \t\t\tresult = jQuery.css( tween.elem, tween.prop, "" );\n
Login.c(90): \t\t\t// Empty strings, null, undefined and "auto" are converted
to 0.\n
Login.c(90): \t\t\treturn !result || result === "auto" ? 0 : result;\n
Login.c(90): \t\t},\n
Login.c(90): \t\tset: function( tween ) {\n
Login.c(90): \t\t\t// use step hook for back compat - use cssHook if its there
- use .style if its\n
Login.c(90): \t\t\t// available and use plain properties where available\n
Login.c(90): \t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n
Login.c(90): \t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n
Login.c(90): \t\t\t} else if ( tween.elem.style &&
( tween.elem.style[ jQuery.cssProps[ tween.prop ] ]
Login.c(90): != null || jQuery.cssHooks[ tween.prop ] ) ) {\n
Login.c(90): \t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now +
tween.unit );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\ttween.elem[ tween.prop ] = tween.now;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Support: IE9\n
Login.c(90): // Panic based approach to setting things on disconnected nodes\n
Login.c(90): \n
Login.c(90): Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n
Login.c(90): \tset: function( tween ) {\n
Login.c(90): \t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n
Login.c(90): \t\t\ttween.elem[ tween.prop ] = tween.now;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.easing = {\n
Login.c(90): \tlinear: function( p ) {\n
Login.c(90): \t\treturn p;\n
Login.c(90): \t},\n
Login.c(90): \tswing: function( p ) {\n
Login.c(90): \t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fx = Tween.prototype.init;\n
Login.c(90): \n
Login.c(90): // Back Compat <1.8 extension point\n
Login.c(90): jQuery.fx.step = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \tfxNow, timerId,\n
Login.c(90): \trfxtypes = /^(?:toggle|show|hide)$/,\n
Login.c(90): \trfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$",
"i" ),\n
Login.c(90): \trrun = /queueHooks$/,\n
Login.c(90): \tanimationPrefilters = [ defaultPrefilter ],\n
Login.c(90): \ttweeners = {\n
Login.c(90): \t\t"*": [ function( prop, value ) {\n
Login.c(90): \t\t\tvar tween = this.createTween( prop, value ),\n
Login.c(90): \t\t\t\ttarget = tween.cur(),\n
Login.c(90): \t\t\t\tparts = rfxnum.exec( value ),\n
Login.c(90): \t\t\t\tunit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ?
"" : "px" ),\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Starting value computation is required for potential
unit mismatches\n
Login.c(90): \t\t\t\tstart = ( jQuery.cssNumber[ prop ] || unit !== "px" &&
+target ) &&\n
Login.c(90): \t\t\t\t\trfxnum.exec( jQuery.css( tween.elem, prop ) ),\n
Login.c(90): \t\t\t\tscale = 1,\n
Login.c(90): \t\t\t\tmaxIterations = 20;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( start && start[ 3 ] !== unit ) {\n
Login.c(90): \t\t\t\t// Trust units reported by jQuery.css\n
Login.c(90): \t\t\t\tunit = unit || start[ 3 ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Make sure we update the tween properties later on\n
Login.c(90): \t\t\t\tparts = parts || [];\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Iteratively approximate from a nonzero starting point\n
Login.c(90): \t\t\t\tstart = +target || 1;\n
Login.c(90): \n
Login.c(90): \t\t\t\tdo {\n
Login.c(90): \t\t\t\t\t// If previous iteration zeroed out, double until we get
*something*\n
Login.c(90): \t\t\t\t\t// Use a string for doubling factor so we don't
accidentally see scale as unchan
Login.c(90): ged below\n
Login.c(90): \t\t\t\t\tscale = scale || ".5";\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Adjust and apply\n
Login.c(90): \t\t\t\t\tstart = start / scale;\n
Login.c(90): \t\t\t\t\tjQuery.style( tween.elem, prop, start + unit );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Update scale, tolerating zero or NaN from tween.cur()\n
Login.c(90): \t\t\t\t// And breaking the loop if scale is unchanged or perfect,
or if we've just had en
Login.c(90): ough\n
Login.c(90): \t\t\t\t} while ( scale !== (scale = tween.cur() / target) &&
scale !== 1 && --maxIteratio
Login.c(90): ns );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Update tween properties\n
Login.c(90): \t\t\tif ( parts ) {\n
Login.c(90): \t\t\t\tstart = tween.start = +start || +target || 0;\n
Login.c(90): \t\t\t\ttween.unit = unit;\n
Login.c(90): \t\t\t\t// If a +=/-= token was provided, we're doing a relative
animation\n
Login.c(90): \t\t\t\ttween.end = parts[ 1 ] ?\n
Login.c(90): \t\t\t\t\tstart + ( parts[ 1 ] + 1 ) * parts[ 2 ] :\n
Login.c(90): \t\t\t\t\t+parts[ 2 ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn tween;\n
Login.c(90): \t\t} ]\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): // Animations created synchronously will run synchronously\n
Login.c(90): function createFxNow() {\n
Login.c(90): \tsetTimeout(function() {\n
Login.c(90): \t\tfxNow = undefined;\n
Login.c(90): \t});\n
Login.c(90): \treturn ( fxNow = jQuery.now() );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Generate parameters to create a standard animation\n
Login.c(90): function genFx( type, includeWidth ) {\n
Login.c(90): \tvar which,\n
Login.c(90): \t\ti = 0,\n
Login.c(90): \t\tattrs = { height: type };\n
Login.c(90): \n
Login.c(90): \t// if we include width, step value is 1 to do all cssExpand
values,\n
Login.c(90): \t// if we don't include width, step value is 2 to skip over Left
and Right\n
Login.c(90): \tincludeWidth = includeWidth ? 1 : 0;\n
Login.c(90): \tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n
Login.c(90): \t\twhich = cssExpand[ i ];\n
Login.c(90): \t\tattrs[ "margin" + which ] = attrs[ "padding" + which ] =
type;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( includeWidth ) {\n
Login.c(90): \t\tattrs.opacity = attrs.width = type;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn attrs;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createTween( value, prop, animation ) {\n
Login.c(90): \tvar tween,\n
Login.c(90): \t\tcollection = ( tweeners[ prop ] ||
[] ).concat( tweeners[ "*" ] ),\n
Login.c(90): \t\tindex = 0,\n
Login.c(90): \t\tlength = collection.length;\n
Login.c(90): \tfor ( ; index < length; index++ ) {\n
Login.c(90): \t\tif ( (tween = collection[ index ].call( animation, prop, value
)) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// we're done with this property\n
Login.c(90): \t\t\treturn tween;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function defaultPrefilter( elem, props, opts ) {\n
Login.c(90): \t/* jshint validthis: true */\n
Login.c(90): \tvar prop, value, toggle, tween, hooks, oldfire, display,
checkDisplay,\n
Login.c(90): \t\tanim = this,\n
Login.c(90): \t\torig = {},\n
Login.c(90): \t\tstyle = elem.style,\n
Login.c(90): \t\thidden = elem.nodeType && isHidden( elem ),\n
Login.c(90): \t\tdataShow = data_priv.get( elem, "fxshow" );\n
Login.c(90): \n
Login.c(90): \t// handle queue: false promises\n
Login.c(90): \tif ( !opts.queue ) {\n
Login.c(90): \t\thooks = jQuery._queueHooks( elem, "fx" );\n
Login.c(90): \t\tif ( hooks.unqueued == null ) {\n
Login.c(90): \t\t\thooks.unqueued = 0;\n
Login.c(90): \t\t\toldfire = hooks.empty.fire;\n
Login.c(90): \t\t\thooks.empty.fire = function() {\n
Login.c(90): \t\t\t\tif ( !hooks.unqueued ) {\n
Login.c(90): \t\t\t\t\toldfire();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t}\n
Login.c(90): \t\thooks.unqueued++;\n
Login.c(90): \n
Login.c(90): \t\tanim.always(function() {\n
Login.c(90): \t\t\t// doing this makes sure that the complete handler will be
called\n
Login.c(90): \t\t\t// before this completes\n
Login.c(90): \t\t\tanim.always(function() {\n
Login.c(90): \t\t\t\thooks.unqueued--;\n
Login.c(90): \t\t\t\tif ( !jQuery.queue( elem, "fx" ).length ) {\n
Login.c(90): \t\t\t\t\thooks.empty.fire();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// height/width overflow pass\n
Login.c(90): \tif ( elem.nodeType === 1 && ( "height" in props || "width" in
props ) ) {\n
Login.c(90): \t\t// Make sure that nothing sneaks out\n
Login.c(90): \t\t// Record all 3 overflow attributes because IE9-10 do not\n
Login.c(90): \t\t// change the overflow attribute when overflowX and\n
Login.c(90): \t\t// overflowY are set to the same value\n
Login.c(90): \t\topts.overflow = [ style.overflow, style.overflowX,
style.overflowY ];\n
Login.c(90): \n
Login.c(90): \t\t// Set display property to inline-block for height/width\n
Login.c(90): \t\t// animations on inline elements that are having width/height
animated\n
Login.c(90): \t\tdisplay = jQuery.css( elem, "display" );\n
Login.c(90): \n
Login.c(90): \t\t// Test default display if display is currently "none"\n
Login.c(90): \t\tcheckDisplay = display === "none" ?\n
Login.c(90): \t\t\tdata_priv.get( elem, "olddisplay" ) ||
defaultDisplay( elem.nodeName ) : display;\n
Login.c(90): \n
Login.c(90): \t\tif ( checkDisplay === "inline" && jQuery.css( elem, "float" )
=== "none" ) {\n
Login.c(90): \t\t\tstyle.display = "inline-block";\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( opts.overflow ) {\n
Login.c(90): \t\tstyle.overflow = "hidden";\n
Login.c(90): \t\tanim.always(function() {\n
Login.c(90): \t\t\tstyle.overflow = opts.overflow[ 0 ];\n
Login.c(90): \t\t\tstyle.overflowX = opts.overflow[ 1 ];\n
Login.c(90): \t\t\tstyle.overflowY = opts.overflow[ 2 ];\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// show/hide pass\n
Login.c(90): \tfor ( prop in props ) {\n
Login.c(90): \t\tvalue = props[ prop ];\n
Login.c(90): \t\tif ( rfxtypes.exec( value ) ) {\n
Login.c(90): \t\t\tdelete props[ prop ];\n
Login.c(90): \t\t\ttoggle = toggle || value === "toggle";\n
Login.c(90): \t\t\tif ( value === ( hidden ? "hide" : "show" ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If there is dataShow left over from a stopped hide or
show and we are going to
Login.c(90): proceed with show, we should pretend to be hidden\n
Login.c(90): \t\t\t\tif ( value === "show" && dataShow && dataShow[ prop ] !==
undefined ) {\n
Login.c(90): \t\t\t\t\thidden = true;\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tcontinue;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style(
elem, prop );\n
Login.c(90): \n
Login.c(90): \t\t// Any non-fx value stops us from restoring the original
display value\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tdisplay = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( !jQuery.isEmptyObject( orig ) ) {\n
Login.c(90): \t\tif ( dataShow ) {\n
Login.c(90): \t\t\tif ( "hidden" in dataShow ) {\n
Login.c(90): \t\t\t\thidden = dataShow.hidden;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tdataShow = data_priv.access( elem, "fxshow", {} );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// store state if its toggle - enables .stop().toggle() to
"reverse"\n
Login.c(90): \t\tif ( toggle ) {\n
Login.c(90): \t\t\tdataShow.hidden = !hidden;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( hidden ) {\n
Login.c(90): \t\t\tjQuery( elem ).show();\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tanim.done(function() {\n
Login.c(90): \t\t\t\tjQuery( elem ).hide();\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \t\tanim.done(function() {\n
Login.c(90): \t\t\tvar prop;\n
Login.c(90): \n
Login.c(90): \t\t\tdata_priv.remove( elem, "fxshow" );\n
Login.c(90): \t\t\tfor ( prop in orig ) {\n
Login.c(90): \t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t\tfor ( prop in orig ) {\n
Login.c(90): \t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop,
anim );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( !( prop in dataShow ) ) {\n
Login.c(90): \t\t\t\tdataShow[ prop ] = tween.start;\n
Login.c(90): \t\t\t\tif ( hidden ) {\n
Login.c(90): \t\t\t\t\ttween.end = tween.start;\n
Login.c(90): \t\t\t\t\ttween.start = prop === "width" || prop === "height" ?
1 : 0;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t// If this is a noop like .hide().hide(), restore an overwritten
display value\n
Login.c(90): \t} else if ( (display === "none" ?
defaultDisplay( elem.nodeName ) : display) === "inline
Login.c(90): " ) {\n
Login.c(90): \t\tstyle.display = display;\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function propFilter( props, specialEasing ) {\n
Login.c(90): \tvar index, name, easing, value, hooks;\n
Login.c(90): \n
Login.c(90): \t// camelCase, specialEasing and expand cssHook pass\n
Login.c(90): \tfor ( index in props ) {\n
Login.c(90): \t\tname = jQuery.camelCase( index );\n
Login.c(90): \t\teasing = specialEasing[ name ];\n
Login.c(90): \t\tvalue = props[ index ];\n
Login.c(90): \t\tif ( jQuery.isArray( value ) ) {\n
Login.c(90): \t\t\teasing = value[ 1 ];\n
Login.c(90): \t\t\tvalue = props[ index ] = value[ 0 ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( index !== name ) {\n
Login.c(90): \t\t\tprops[ name ] = value;\n
Login.c(90): \t\t\tdelete props[ index ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\thooks = jQuery.cssHooks[ name ];\n
Login.c(90): \t\tif ( hooks && "expand" in hooks ) {\n
Login.c(90): \t\t\tvalue = hooks.expand( value );\n
Login.c(90): \t\t\tdelete props[ name ];\n
Login.c(90): \n
Login.c(90): \t\t\t// not quite $.extend, this wont overwrite keys already
present.\n
Login.c(90): \t\t\t// also - reusing 'index' from above because we have the
correct "name"\n
Login.c(90): \t\t\tfor ( index in value ) {\n
Login.c(90): \t\t\t\tif ( !( index in props ) ) {\n
Login.c(90): \t\t\t\t\tprops[ index ] = value[ index ];\n
Login.c(90): \t\t\t\t\tspecialEasing[ index ] = easing;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tspecialEasing[ name ] = easing;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function Animation( elem, properties, options ) {\n
Login.c(90): \tvar result,\n
Login.c(90): \t\tstopped,\n
Login.c(90): \t\tindex = 0,\n
Login.c(90): \t\tlength = animationPrefilters.length,\n
Login.c(90): \t\tdeferred = jQuery.Deferred().always( function() {\n
Login.c(90): \t\t\t// don't match elem in the :animated selector\n
Login.c(90): \t\t\tdelete tick.elem;\n
Login.c(90): \t\t}),\n
Login.c(90): \t\ttick = function() {\n
Login.c(90): \t\t\tif ( stopped ) {\n
Login.c(90): \t\t\t\treturn false;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tvar currentTime = fxNow || createFxNow(),\n
Login.c(90): \t\t\t\tremaining = Math.max( 0, animation.startTime +
animation.duration - currentTime ),
Login.c(90): \n
Login.c(90): \t\t\t\t// archaic crash bug won't allow us to use 1 - ( 0.5 ||
0 ) (#12497)\n
Login.c(90): \t\t\t\ttemp = remaining / animation.duration || 0,\n
Login.c(90): \t\t\t\tpercent = 1 - temp,\n
Login.c(90): \t\t\t\tindex = 0,\n
Login.c(90): \t\t\t\tlength = animation.tweens.length;\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( ; index < length ; index++ ) {\n
Login.c(90): \t\t\t\tanimation.tweens[ index ].run( percent );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tdeferred.notifyWith( elem, [ animation, percent,
remaining ]);\n
Login.c(90): \n
Login.c(90): \t\t\tif ( percent < 1 && length ) {\n
Login.c(90): \t\t\t\treturn remaining;\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n
Login.c(90): \t\t\t\treturn false;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t},\n
Login.c(90): \t\tanimation = deferred.promise({\n
Login.c(90): \t\t\telem: elem,\n
Login.c(90): \t\t\tprops: jQuery.extend( {}, properties ),\n
Login.c(90): \t\t\topts: jQuery.extend( true, { specialEasing: {} },
options ),\n
Login.c(90): \t\t\toriginalProperties: properties,\n
Login.c(90): \t\t\toriginalOptions: options,\n
Login.c(90): \t\t\tstartTime: fxNow || createFxNow(),\n
Login.c(90): \t\t\tduration: options.duration,\n
Login.c(90): \t\t\ttweens: [],\n
Login.c(90): \t\t\tcreateTween: function( prop, end ) {\n
Login.c(90): \t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop,
end,\n
Login.c(90): \t\t\t\t\t\tanimation.opts.specialEasing[ prop ] ||
animation.opts.easing );\n
Login.c(90): \t\t\t\tanimation.tweens.push( tween );\n
Login.c(90): \t\t\t\treturn tween;\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tstop: function( gotoEnd ) {\n
Login.c(90): \t\t\t\tvar index = 0,\n
Login.c(90): \t\t\t\t\t// if we are going to the end, we want to run all the
tweens\n
Login.c(90): \t\t\t\t\t// otherwise we skip this part\n
Login.c(90): \t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n
Login.c(90): \t\t\t\tif ( stopped ) {\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\tstopped = true;\n
Login.c(90): \t\t\t\tfor ( ; index < length ; index++ ) {\n
Login.c(90): \t\t\t\t\tanimation.tweens[ index ].run( 1 );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// resolve when we played the last frame\n
Login.c(90): \t\t\t\t// otherwise, reject\n
Login.c(90): \t\t\t\tif ( gotoEnd ) {\n
Login.c(90): \t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn this;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}),\n
Login.c(90): \t\tprops = animation.props;\n
Login.c(90): \n
Login.c(90): \tpropFilter( props, animation.opts.specialEasing );\n
Login.c(90): \n
Login.c(90): \tfor ( ; index < length ; index++ ) {\n
Login.c(90): \t\tresult = animationPrefilters[ index ].call( animation, elem,
props
Login.c(90): t=1841ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): , animation.opts );\n
Login.c(90): \t\tif ( result ) {\n
Login.c(90): \t\t\treturn result;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tjQuery.map( props, createTween, animation );\n
Login.c(90): \n
Login.c(90): \tif ( jQuery.isFunction( animation.opts.start ) ) {\n
Login.c(90): \t\tanimation.opts.start.call( elem, animation );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tjQuery.fx.timer(\n
Login.c(90): \t\tjQuery.extend( tick, {\n
Login.c(90): \t\t\telem: elem,\n
Login.c(90): \t\t\tanim: animation,\n
Login.c(90): \t\t\tqueue: animation.opts.queue\n
Login.c(90): \t\t})\n
Login.c(90): \t);\n
Login.c(90): \n
Login.c(90): \t// attach callbacks from options\n
Login.c(90): \treturn animation.progress( animation.opts.progress )\n
Login.c(90): \t\t.done( animation.opts.done, animation.opts.complete )\n
Login.c(90): \t\t.fail( animation.opts.fail )\n
Login.c(90): \t\t.always( animation.opts.always );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.Animation = jQuery.extend( Animation, {\n
Login.c(90): \n
Login.c(90): \ttweener: function( props, callback ) {\n
Login.c(90): \t\tif ( jQuery.isFunction( props ) ) {\n
Login.c(90): \t\t\tcallback = props;\n
Login.c(90): \t\t\tprops = [ "*" ];\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tprops = props.split(" ");\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar prop,\n
Login.c(90): \t\t\tindex = 0,\n
Login.c(90): \t\t\tlength = props.length;\n
Login.c(90): \n
Login.c(90): \t\tfor ( ; index < length ; index++ ) {\n
Login.c(90): \t\t\tprop = props[ index ];\n
Login.c(90): \t\t\ttweeners[ prop ] = tweeners[ prop ] || [];\n
Login.c(90): \t\t\ttweeners[ prop ].unshift( callback );\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tprefilter: function( callback, prepend ) {\n
Login.c(90): \t\tif ( prepend ) {\n
Login.c(90): \t\t\tanimationPrefilters.unshift( callback );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tanimationPrefilters.push( callback );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.speed = function( speed, easing, fn ) {\n
Login.c(90): \tvar opt = speed && typeof speed === "object" ?
jQuery.extend( {}, speed ) : {\n
Login.c(90): \t\tcomplete: fn || !fn && easing ||\n
Login.c(90): \t\t\tjQuery.isFunction( speed ) && speed,\n
Login.c(90): \t\tduration: speed,\n
Login.c(90): \t\teasing: fn && easing || easing && !jQuery.isFunction( easing )
&& easing\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \topt.duration = jQuery.fx.off ? 0 : typeof opt.duration ===
"number" ? opt.duration :\n
Login.c(90): \t\topt.duration in jQuery.fx.speeds ?
jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds
Login.c(90): ._default;\n
Login.c(90): \n
Login.c(90): \t// normalize opt.queue - true/undefined/null -> "fx"\n
Login.c(90): \tif ( opt.queue == null || opt.queue === true ) {\n
Login.c(90): \t\topt.queue = "fx";\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Queueing\n
Login.c(90): \topt.old = opt.complete;\n
Login.c(90): \n
Login.c(90): \topt.complete = function() {\n
Login.c(90): \t\tif ( jQuery.isFunction( opt.old ) ) {\n
Login.c(90): \t\t\topt.old.call( this );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( opt.queue ) {\n
Login.c(90): \t\t\tjQuery.dequeue( this, opt.queue );\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): \treturn opt;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tfadeTo: function( speed, to, easing, callback ) {\n
Login.c(90): \n
Login.c(90): \t\t// show any hidden elements after setting opacity to 0\n
Login.c(90): \t\treturn this.filter( isHidden ).css( "opacity", 0 ).show()\n
Login.c(90): \n
Login.c(90): \t\t\t// animate to the value specified\n
Login.c(90): \t\t\t.end().animate({ opacity: to }, speed, easing, callback );\n
Login.c(90): \t},\n
Login.c(90): \tanimate: function( prop, speed, easing, callback ) {\n
Login.c(90): \t\tvar empty = jQuery.isEmptyObject( prop ),\n
Login.c(90): \t\t\toptall = jQuery.speed( speed, easing, callback ),\n
Login.c(90): \t\t\tdoAnimation = function() {\n
Login.c(90): \t\t\t\t// Operate on a copy of prop so per-property easing won't
be lost\n
Login.c(90): \t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ),
optall );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Empty animations, or finishing resolves immediately\n
Login.c(90): \t\t\t\tif ( empty || data_priv.get( this, "finish" ) ) {\n
Login.c(90): \t\t\t\t\tanim.stop( true );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t};\n
Login.c(90): \t\t\tdoAnimation.finish = doAnimation;\n
Login.c(90): \n
Login.c(90): \t\treturn empty || optall.queue === false ?\n
Login.c(90): \t\t\tthis.each( doAnimation ) :\n
Login.c(90): \t\t\tthis.queue( optall.queue, doAnimation );\n
Login.c(90): \t},\n
Login.c(90): \tstop: function( type, clearQueue, gotoEnd ) {\n
Login.c(90): \t\tvar stopQueue = function( hooks ) {\n
Login.c(90): \t\t\tvar stop = hooks.stop;\n
Login.c(90): \t\t\tdelete hooks.stop;\n
Login.c(90): \t\t\tstop( gotoEnd );\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof type !== "string" ) {\n
Login.c(90): \t\t\tgotoEnd = clearQueue;\n
Login.c(90): \t\t\tclearQueue = type;\n
Login.c(90): \t\t\ttype = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( clearQueue && type !== false ) {\n
Login.c(90): \t\t\tthis.queue( type || "fx", [] );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tvar dequeue = true,\n
Login.c(90): \t\t\t\tindex = type != null && type + "queueHooks",\n
Login.c(90): \t\t\t\ttimers = jQuery.timers,\n
Login.c(90): \t\t\t\tdata = data_priv.get( this );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( index ) {\n
Login.c(90): \t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n
Login.c(90): \t\t\t\t\tstopQueue( data[ index ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tfor ( index in data ) {\n
Login.c(90): \t\t\t\t\tif ( data[ index ] && data[ index ].stop &&
rrun.test( index ) ) {\n
Login.c(90): \t\t\t\t\t\tstopQueue( data[ index ] );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( index = timers.length; index--; ) {\n
Login.c(90): \t\t\t\tif ( timers[ index ].elem === this && (type == null ||
timers[ index ].queue === t
Login.c(90): ype) ) {\n
Login.c(90): \t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n
Login.c(90): \t\t\t\t\tdequeue = false;\n
Login.c(90): \t\t\t\t\ttimers.splice( index, 1 );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// start the next in the queue if the last step wasn't
forced\n
Login.c(90): \t\t\t// timers currently will call their complete callbacks,
which will dequeue\n
Login.c(90): \t\t\t// but only if they were gotoEnd\n
Login.c(90): \t\t\tif ( dequeue || !gotoEnd ) {\n
Login.c(90): \t\t\t\tjQuery.dequeue( this, type );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \tfinish: function( type ) {\n
Login.c(90): \t\tif ( type !== false ) {\n
Login.c(90): \t\t\ttype = type || "fx";\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tvar index,\n
Login.c(90): \t\t\t\tdata = data_priv.get( this ),\n
Login.c(90): \t\t\t\tqueue = data[ type + "queue" ],\n
Login.c(90): \t\t\t\thooks = data[ type + "queueHooks" ],\n
Login.c(90): \t\t\t\ttimers = jQuery.timers,\n
Login.c(90): \t\t\t\tlength = queue ? queue.length : 0;\n
Login.c(90): \n
Login.c(90): \t\t\t// enable finishing flag on private data\n
Login.c(90): \t\t\tdata.finish = true;\n
Login.c(90): \n
Login.c(90): \t\t\t// empty the queue first\n
Login.c(90): \t\t\tjQuery.queue( this, type, [] );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( hooks && hooks.stop ) {\n
Login.c(90): \t\t\t\thooks.stop.call( this, true );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// look for any active animations, and finish them\n
Login.c(90): \t\t\tfor ( index = timers.length; index--; ) {\n
Login.c(90): \t\t\t\tif ( timers[ index ].elem === this &&
timers[ index ].queue === type ) {\n
Login.c(90): \t\t\t\t\ttimers[ index ].anim.stop( true );\n
Login.c(90): \t\t\t\t\ttimers.splice( index, 1 );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// look for any animations in the old queue and finish
them\n
Login.c(90): \t\t\tfor ( index = 0; index < length; index++ ) {\n
Login.c(90): \t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n
Login.c(90): \t\t\t\t\tqueue[ index ].finish.call( this );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// turn off finishing flag\n
Login.c(90): \t\t\tdelete data.finish;\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {\n
Login.c(90): \tvar cssFn = jQuery.fn[ name ];\n
Login.c(90): \tjQuery.fn[ name ] = function( speed, easing, callback ) {\n
Login.c(90): \t\treturn speed == null || typeof speed === "boolean" ?\n
Login.c(90): \t\t\tcssFn.apply( this, arguments ) :\n
Login.c(90): \t\t\tthis.animate( genFx( name, true ), speed, easing,
callback );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Generate shortcuts for custom animations\n
Login.c(90): jQuery.each({\n
Login.c(90): \tslideDown: genFx("show"),\n
Login.c(90): \tslideUp: genFx("hide"),\n
Login.c(90): \tslideToggle: genFx("toggle"),\n
Login.c(90): \tfadeIn: { opacity: "show" },\n
Login.c(90): \tfadeOut: { opacity: "hide" },\n
Login.c(90): \tfadeToggle: { opacity: "toggle" }\n
Login.c(90): }, function( name, props ) {\n
Login.c(90): \tjQuery.fn[ name ] = function( speed, easing, callback ) {\n
Login.c(90): \t\treturn this.animate( props, speed, easing, callback );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.timers = [];\n
Login.c(90): jQuery.fx.tick = function() {\n
Login.c(90): \tvar timer,\n
Login.c(90): \t\ti = 0,\n
Login.c(90): \t\ttimers = jQuery.timers;\n
Login.c(90): \n
Login.c(90): \tfxNow = jQuery.now();\n
Login.c(90): \n
Login.c(90): \tfor ( ; i < timers.length; i++ ) {\n
Login.c(90): \t\ttimer = timers[ i ];\n
Login.c(90): \t\t// Checks the timer has not already been removed\n
Login.c(90): \t\tif ( !timer() && timers[ i ] === timer ) {\n
Login.c(90): \t\t\ttimers.splice( i--, 1 );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( !timers.length ) {\n
Login.c(90): \t\tjQuery.fx.stop();\n
Login.c(90): \t}\n
Login.c(90): \tfxNow = undefined;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fx.timer = function( timer ) {\n
Login.c(90): \tjQuery.timers.push( timer );\n
Login.c(90): \tif ( timer() ) {\n
Login.c(90): \t\tjQuery.fx.start();\n
Login.c(90): \t} else {\n
Login.c(90): \t\tjQuery.timers.pop();\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fx.interval = 13;\n
Login.c(90): \n
Login.c(90): jQuery.fx.start = function() {\n
Login.c(90): \tif ( !timerId ) {\n
Login.c(90): \t\ttimerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fx.stop = function() {\n
Login.c(90): \tclearInterval( timerId );\n
Login.c(90): \ttimerId = null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fx.speeds = {\n
Login.c(90): \tslow: 600,\n
Login.c(90): \tfast: 200,\n
Login.c(90): \t// Default speed\n
Login.c(90): \t_default: 400\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Based off of the plugin by Clint Helfers, with permission.\n
Login.c(90): // http://blindsignals.com/index.php/2009/07/jquery-delay/\n
Login.c(90): jQuery.fn.delay = function( time, type ) {\n
Login.c(90): \ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n
Login.c(90): \ttype = type || "fx";\n
Login.c(90): \n
Login.c(90): \treturn this.queue( type, function( next, hooks ) {\n
Login.c(90): \t\tvar timeout = setTimeout( next, time );\n
Login.c(90): \t\thooks.stop = function() {\n
Login.c(90): \t\t\tclearTimeout( timeout );\n
Login.c(90): \t\t};\n
Login.c(90): \t});\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): \tvar input = document.createElement( "input" ),\n
Login.c(90): \t\tselect = document.createElement( "select" ),\n
Login.c(90): \t\topt =
select.appendChild( document.createElement( "option" ) );\n
Login.c(90): \n
Login.c(90): \tinput.type = "checkbox";\n
Login.c(90): \n
Login.c(90): \t// Support: iOS 5.1, Android 4.x, Android 2.3\n
Login.c(90): \t// Check the default checkbox/radio value ("" on old WebKit;
"on" elsewhere)\n
Login.c(90): \tsupport.checkOn = input.value !== "";\n
Login.c(90): \n
Login.c(90): \t// Must access the parent to make an option select properly\n
Login.c(90): \t// Support: IE9, IE10\n
Login.c(90): \tsupport.optSelected = opt.selected;\n
Login.c(90): \n
Login.c(90): \t// Make sure that the options inside disabled selects aren't
marked as disabled\n
Login.c(90): \t// (WebKit marks them as disabled)\n
Login.c(90): \tselect.disabled = true;\n
Login.c(90): \tsupport.optDisabled = !opt.disabled;\n
Login.c(90): \n
Login.c(90): \t// Check if an input maintains its value after becoming a
radio\n
Login.c(90): \t// Support: IE9, IE10\n
Login.c(90): \tinput = document.createElement( "input" );\n
Login.c(90): \tinput.value = "t";\n
Login.c(90): \tinput.type = "radio";\n
Login.c(90): \tsupport.radioValue = input.value === "t";\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var nodeHook, boolHook,\n
Login.c(90): \tattrHandle = jQuery.expr.attrHandle;\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tattr: function( name, value ) {\n
Login.c(90): \t\treturn access( this, jQuery.attr, name, value,
arguments.length > 1 );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveAttr: function( name ) {\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tjQuery.removeAttr( this, name );\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tattr: function( elem, name, value ) {\n
Login.c(90): \t\tvar hooks, ret,\n
Login.c(90): \t\t\tnType = elem.nodeType;\n
Login.c(90): \n
Login.c(90): \t\t// don't get/set attributes on text, comment and attribute
nodes\n
Login.c(90): \t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Fallback to prop when attributes are not supported\n
Login.c(90): \t\tif ( typeof elem.getAttribute === strundefined ) {\n
Login.c(90): \t\t\treturn jQuery.prop( elem, name, value );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// All attributes are lowercase\n
Login.c(90): \t\t// Grab necessary hook if one is defined\n
Login.c(90): \t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n
Login.c(90): \t\t\tname = name.toLowerCase();\n
Login.c(90): \t\t\thooks = jQuery.attrHooks[ name ] ||\n
Login.c(90): \t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook :
nodeHook );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( value !== undefined ) {\n
Login.c(90): \n
Login.c(90): \t\t\tif ( value === null ) {\n
Login.c(90): \t\t\t\tjQuery.removeAttr( elem, name );\n
Login.c(90): \n
Login.c(90): \t\t\t} else if ( hooks && "set" in hooks && (ret =
hooks.set( elem, value, name )) !== un
Login.c(90): defined ) {\n
Login.c(90): \t\t\t\treturn ret;\n
Login.c(90): \n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\telem.setAttribute( name, value + "" );\n
Login.c(90): \t\t\t\treturn value;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t} else if ( hooks && "get" in hooks && (ret = hooks.get( elem,
name )) !== null ) {\n
Login.c(90): \t\t\treturn ret;\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tret = jQuery.find.attr( elem, name );\n
Login.c(90): \n
Login.c(90): \t\t\t// Non-existent attributes return null, we normalize to
undefined\n
Login.c(90): \t\t\treturn ret == null ?\n
Login.c(90): \t\t\t\tundefined :\n
Login.c(90): \t\t\t\tret;\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveAttr: function( elem, value ) {\n
Login.c(90): \t\tvar name, propName,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tattrNames = value && value.match( rnotwhite );\n
Login.c(90): \n
Login.c(90): \t\tif ( attrNames && elem.nodeType === 1 ) {\n
Login.c(90): \t\t\twhile ( (name = attrNames[i++]) ) {\n
Login.c(90): \t\t\t\tpropName = jQuery.propFix[ name ] || name;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Boolean attributes get special treatment (#10870)\n
Login.c(90): \t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n
Login.c(90): \t\t\t\t\t// Set corresponding property to false\n
Login.c(90): \t\t\t\t\telem[ propName ] = false;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\telem.removeAttribute( name );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tattrHooks: {\n
Login.c(90): \t\ttype: {\n
Login.c(90): \t\t\tset: function( elem, value ) {\n
Login.c(90): \t\t\t\tif ( !support.radioValue && value === "radio" &&\n
Login.c(90): \t\t\t\t\tjQuery.nodeName( elem, "input" ) ) {\n
Login.c(90): \t\t\t\t\t// Setting the type on a radio button after the value
resets the value in IE6-9\n
Login.c(90): \t\t\t\t\t// Reset value to default in case type is set after
value during creation\n
Login.c(90): \t\t\t\t\tvar val = elem.value;\n
Login.c(90): \t\t\t\t\telem.setAttribute( "type", value );\n
Login.c(90): \t\t\t\t\tif ( val ) {\n
Login.c(90): \t\t\t\t\t\telem.value = val;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\treturn value;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Hooks for boolean attributes\n
Login.c(90): boolHook = {\n
Login.c(90): \tset: function( elem, value, name ) {\n
Login.c(90): \t\tif ( value === false ) {\n
Login.c(90): \t\t\t// Remove boolean attributes when set to false\n
Login.c(90): \t\t\tjQuery.removeAttr( elem, name );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\telem.setAttribute( name, name );\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn name;\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): jQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ),
function( i, name ) {\n
Login.c(90): \tvar getter = attrHandle[ name ] || jQuery.find.attr;\n
Login.c(90): \n
Login.c(90): \tattrHandle[ name ] = function( elem, name, isXML ) {\n
Login.c(90): \t\tvar ret, handle;\n
Login.c(90): \t\tif ( !isXML ) {\n
Login.c(90): \t\t\t// Avoid an infinite loop by temporarily removing this
function from the getter\n
Login.c(90): \t\t\thandle = attrHandle[ name ];\n
Login.c(90): \t\t\tattrHandle[ name ] = ret;\n
Login.c(90): \t\t\tret = getter( elem, name, isXML ) != null ?\n
Login.c(90): \t\t\t\tname.toLowerCase() :\n
Login.c(90): \t\t\t\tnull;\n
Login.c(90): \t\t\tattrHandle[ name ] = handle;\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn ret;\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var rfocusable = /^(?:input|select|textarea|button)$/i;\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tprop: function( name, value ) {\n
Login.c(90): \t\treturn access( this, jQuery.prop, name, value,
arguments.length > 1 );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveProp: function( name ) {\n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tpropFix: {\n
Login.c(90): \t\t"for": "htmlFor",\n
Login.c(90): \t\t"class": "className"\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tprop: function( elem, name, value ) {\n
Login.c(90): \t\tvar ret, hooks, notxml,\n
Login.c(90): \t\t\tnType = elem.nodeType;\n
Login.c(90): \n
Login.c(90): \t\t// don't get/set properties on text, comment and attribute
nodes\n
Login.c(90): \t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n
Login.c(90): \n
Login.c(90): \t\tif ( notxml ) {\n
Login.c(90): \t\t\t// Fix name and attach hooks\n
Login.c(90): \t\t\tname = jQuery.propFix[ name ] || name;\n
Login.c(90): \t\t\thooks = jQuery.propHooks[ name ];\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( value !== undefined ) {\n
Login.c(90): \t\t\treturn hooks && "set" i
Login.c(90): t=1863ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): n hooks && (ret = hooks.set( elem, value, name )) !==
undefined ?\n
Login.c(90): \t\t\t\tret :\n
Login.c(90): \t\t\t\t( elem[ name ] = value );\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\treturn hooks && "get" in hooks && (ret = hooks.get( elem,
name )) !== null ?\n
Login.c(90): \t\t\t\tret :\n
Login.c(90): \t\t\t\telem[ name ];\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tpropHooks: {\n
Login.c(90): \t\ttabIndex: {\n
Login.c(90): \t\t\tget: function( elem ) {\n
Login.c(90): \t\t\t\treturn elem.hasAttribute( "tabindex" ) || rfocusable.test(
elem.nodeName ) || elem
Login.c(90): .href ?\n
Login.c(90): \t\t\t\t\telem.tabIndex :\n
Login.c(90): \t\t\t\t\t-1;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Support: IE9+\n
Login.c(90): // Selectedness for an option in an optgroup can be inaccurate\n
Login.c(90): if ( !support.optSelected ) {\n
Login.c(90): \tjQuery.propHooks.selected = {\n
Login.c(90): \t\tget: function( elem ) {\n
Login.c(90): \t\t\tvar parent = elem.parentNode;\n
Login.c(90): \t\t\tif ( parent && parent.parentNode ) {\n
Login.c(90): \t\t\t\tparent.parentNode.selectedIndex;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn null;\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.each([\n
Login.c(90): \t"tabIndex",\n
Login.c(90): \t"readOnly",\n
Login.c(90): \t"maxLength",\n
Login.c(90): \t"cellSpacing",\n
Login.c(90): \t"cellPadding",\n
Login.c(90): \t"rowSpan",\n
Login.c(90): \t"colSpan",\n
Login.c(90): \t"useMap",\n
Login.c(90): \t"frameBorder",\n
Login.c(90): \t"contentEditable"\n
Login.c(90): ], function() {\n
Login.c(90): \tjQuery.propFix[ this.toLowerCase() ] = this;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var rclass = /[\\t\\r\\n\\f]/g;\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \taddClass: function( value ) {\n
Login.c(90): \t\tvar classes, elem, cur, clazz, j, finalValue,\n
Login.c(90): \t\t\tproceed = typeof value === "string" && value,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tlen = this.length;\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( value ) ) {\n
Login.c(90): \t\t\treturn this.each(function( j ) {\n
Login.c(90): \t\t\t\tjQuery( this ).addClass( value.call( this, j,
this.className ) );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( proceed ) {\n
Login.c(90): \t\t\t// The disjunction here is for better compressibility (see
removeClass)\n
Login.c(90): \t\t\tclasses = ( value || "" ).match( rnotwhite ) || [];\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\t\t\telem = this[ i ];\n
Login.c(90): \t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n
Login.c(90): \t\t\t\t\t( " " + elem.className + " " ).replace( rclass, "
" ) :\n
Login.c(90): \t\t\t\t\t" "\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( cur ) {\n
Login.c(90): \t\t\t\t\tj = 0;\n
Login.c(90): \t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n
Login.c(90): \t\t\t\t\t\tif ( cur.indexOf( " " + clazz + " " ) < 0 ) {\n
Login.c(90): \t\t\t\t\t\t\tcur += clazz + " ";\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// only assign if different to avoid unneeded
rendering.\n
Login.c(90): \t\t\t\t\tfinalValue = jQuery.trim( cur );\n
Login.c(90): \t\t\t\t\tif ( elem.className !== finalValue ) {\n
Login.c(90): \t\t\t\t\t\telem.className = finalValue;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tremoveClass: function( value ) {\n
Login.c(90): \t\tvar classes, elem, cur, clazz, j, finalValue,\n
Login.c(90): \t\t\tproceed = arguments.length === 0 || typeof value ===
"string" && value,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tlen = this.length;\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( value ) ) {\n
Login.c(90): \t\t\treturn this.each(function( j ) {\n
Login.c(90): \t\t\t\tjQuery( this ).removeClass( value.call( this, j,
this.className ) );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( proceed ) {\n
Login.c(90): \t\t\tclasses = ( value || "" ).match( rnotwhite ) || [];\n
Login.c(90): \n
Login.c(90): \t\t\tfor ( ; i < len; i++ ) {\n
Login.c(90): \t\t\t\telem = this[ i ];\n
Login.c(90): \t\t\t\t// This expression is here for better compressibility (see
addClass)\n
Login.c(90): \t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n
Login.c(90): \t\t\t\t\t( " " + elem.className + " " ).replace( rclass, "
" ) :\n
Login.c(90): \t\t\t\t\t""\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( cur ) {\n
Login.c(90): \t\t\t\t\tj = 0;\n
Login.c(90): \t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n
Login.c(90): \t\t\t\t\t\t// Remove *all* instances\n
Login.c(90): \t\t\t\t\t\twhile ( cur.indexOf( " " + clazz + " " ) >= 0 ) {\n
Login.c(90): \t\t\t\t\t\t\tcur = cur.replace( " " + clazz + " ", " " );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// only assign if different to avoid unneeded
rendering.\n
Login.c(90): \t\t\t\t\tfinalValue = value ? jQuery.trim( cur ) : "";\n
Login.c(90): \t\t\t\t\tif ( elem.className !== finalValue ) {\n
Login.c(90): \t\t\t\t\t\telem.className = finalValue;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \ttoggleClass: function( value, stateVal ) {\n
Login.c(90): \t\tvar type = typeof value;\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof stateVal === "boolean" && type === "string" ) {\n
Login.c(90): \t\t\treturn stateVal ? this.addClass( value ) : this.removeClass(
value );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( value ) ) {\n
Login.c(90): \t\t\treturn this.each(function( i ) {\n
Login.c(90): \t\t\t\tjQuery( this ).toggleClass( value.call(this, i,
this.className, stateVal), stateVa
Login.c(90): l );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tif ( type === "string" ) {\n
Login.c(90): \t\t\t\t// toggle individual class names\n
Login.c(90): \t\t\t\tvar className,\n
Login.c(90): \t\t\t\t\ti = 0,\n
Login.c(90): \t\t\t\t\tself = jQuery( this ),\n
Login.c(90): \t\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n
Login.c(90): \n
Login.c(90): \t\t\t\twhile ( (className = classNames[ i++ ]) ) {\n
Login.c(90): \t\t\t\t\t// check each className given, space separated list\n
Login.c(90): \t\t\t\t\tif ( self.hasClass( className ) ) {\n
Login.c(90): \t\t\t\t\t\tself.removeClass( className );\n
Login.c(90): \t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\tself.addClass( className );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Toggle whole class name\n
Login.c(90): \t\t\t} else if ( type === strundefined || type === "boolean" )
{\n
Login.c(90): \t\t\t\tif ( this.className ) {\n
Login.c(90): \t\t\t\t\t// store className if set\n
Login.c(90): \t\t\t\t\tdata_priv.set( this, "__className__",
this.className );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If the element has a class name or if we're passed
"false",\n
Login.c(90): \t\t\t\t// then remove the whole classname (if there was one, the
above saved it).\n
Login.c(90): \t\t\t\t// Otherwise bring back whatever was previously saved (if
anything),\n
Login.c(90): \t\t\t\t// falling back to the empty string if nothing was
stored.\n
Login.c(90): \t\t\t\tthis.className = this.className || value === false ? "" :
data_priv.get( this, "__
Login.c(90): className__" ) || "";\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \thasClass: function( selector ) {\n
Login.c(90): \t\tvar className = " " + selector + " ",\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tl = this.length;\n
Login.c(90): \t\tfor ( ; i < l; i++ ) {\n
Login.c(90): \t\t\tif ( this[i].nodeType === 1 && (" " + this[i].className + "
").replace(rclass, " ").
Login.c(90): indexOf( className ) >= 0 ) {\n
Login.c(90): \t\t\t\treturn true;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn false;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var rreturn = /\\r/g;\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tval: function( value ) {\n
Login.c(90): \t\tvar hooks, ret, isFunction,\n
Login.c(90): \t\t\telem = this[0];\n
Login.c(90): \n
Login.c(90): \t\tif ( !arguments.length ) {\n
Login.c(90): \t\t\tif ( elem ) {\n
Login.c(90): \t\t\t\thooks = jQuery.valHooks[ elem.type ] ||
jQuery.valHooks[ elem.nodeName.toLowerCase
Login.c(90): () ];\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( hooks && "get" in hooks && (ret = hooks.get( elem,
"value" )) !== undefined )
Login.c(90): {\n
Login.c(90): \t\t\t\t\treturn ret;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\tret = elem.value;\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn typeof ret === "string" ?\n
Login.c(90): \t\t\t\t\t// handle most common string cases\n
Login.c(90): \t\t\t\t\tret.replace(rreturn, "") :\n
Login.c(90): \t\t\t\t\t// handle cases where value is null/undef or number\n
Login.c(90): \t\t\t\t\tret == null ? "" : ret;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tisFunction = jQuery.isFunction( value );\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function( i ) {\n
Login.c(90): \t\t\tvar val;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( this.nodeType !== 1 ) {\n
Login.c(90): \t\t\t\treturn;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( isFunction ) {\n
Login.c(90): \t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tval = value;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Treat null/undefined as ""; convert numbers to string\n
Login.c(90): \t\t\tif ( val == null ) {\n
Login.c(90): \t\t\t\tval = "";\n
Login.c(90): \n
Login.c(90): \t\t\t} else if ( typeof val === "number" ) {\n
Login.c(90): \t\t\t\tval += "";\n
Login.c(90): \n
Login.c(90): \t\t\t} else if ( jQuery.isArray( val ) ) {\n
Login.c(90): \t\t\t\tval = jQuery.map( val, function( value ) {\n
Login.c(90): \t\t\t\t\treturn value == null ? "" : value + "";\n
Login.c(90): \t\t\t\t});\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\thooks = jQuery.valHooks[ this.type ] ||
jQuery.valHooks[ this.nodeName.toLowerCase()
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): \t\t\t// If set returns undefined, fall back to normal setting\n
Login.c(90): \t\t\tif ( !hooks || !("set" in hooks) || hooks.set( this, val,
"value" ) === undefined )
Login.c(90): {\n
Login.c(90): \t\t\t\tthis.value = val;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \tvalHooks: {\n
Login.c(90): \t\toption: {\n
Login.c(90): \t\t\tget: function( elem ) {\n
Login.c(90): \t\t\t\tvar val = jQuery.find.attr( elem, "value" );\n
Login.c(90): \t\t\t\treturn val != null ?\n
Login.c(90): \t\t\t\t\tval :\n
Login.c(90): \t\t\t\t\t// Support: IE10-11+\n
Login.c(90): \t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n
Login.c(90): \t\t\t\t\tjQuery.trim( jQuery.text( elem ) );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t},\n
Login.c(90): \t\tselect: {\n
Login.c(90): \t\t\tget: function( elem ) {\n
Login.c(90): \t\t\t\tvar value, option,\n
Login.c(90): \t\t\t\t\toptions = elem.options,\n
Login.c(90): \t\t\t\t\tindex = elem.selectedIndex,\n
Login.c(90): \t\t\t\t\tone = elem.type === "select-one" || index < 0,\n
Login.c(90): \t\t\t\t\tvalues = one ? null : [],\n
Login.c(90): \t\t\t\t\tmax = one ? index + 1 : options.length,\n
Login.c(90): \t\t\t\t\ti = index < 0 ?\n
Login.c(90): \t\t\t\t\t\tmax :\n
Login.c(90): \t\t\t\t\t\tone ? index : 0;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Loop through all the selected options\n
Login.c(90): \t\t\t\tfor ( ; i < max; i++ ) {\n
Login.c(90): \t\t\t\t\toption = options[ i ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// IE6-9 doesn't update selected after form reset
(#2551)\n
Login.c(90): \t\t\t\t\tif ( ( option.selected || i === index ) &&\n
Login.c(90): \t\t\t\t\t\t\t// Don't return options that are disabled or in a
disabled optgroup\n
Login.c(90): \t\t\t\t\t\t\t( support.optDisabled ? !option.disabled :
option.getAttribute( "disabled" )
Login.c(90): === null ) &&\n
Login.c(90): \t\t\t\t\t\t\t( !option.parentNode.disabled || !
jQuery.nodeName( option.parentNode, "optgr
Login.c(90): oup" ) ) ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Get the specific value for the option\n
Login.c(90): \t\t\t\t\t\tvalue = jQuery( option ).val();\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// We don't need an array for one selects\n
Login.c(90): \t\t\t\t\t\tif ( one ) {\n
Login.c(90): \t\t\t\t\t\t\treturn value;\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// Multi-Selects return an array\n
Login.c(90): \t\t\t\t\t\tvalues.push( value );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn values;\n
Login.c(90): \t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\tset: function( elem, value ) {\n
Login.c(90): \t\t\t\tvar optionSet, option,\n
Login.c(90): \t\t\t\t\toptions = elem.options,\n
Login.c(90): \t\t\t\t\tvalues = jQuery.makeArray( value ),\n
Login.c(90): \t\t\t\t\ti = options.length;\n
Login.c(90): \n
Login.c(90): \t\t\t\twhile ( i-- ) {\n
Login.c(90): \t\t\t\t\toption = options[ i ];\n
Login.c(90): \t\t\t\t\tif ( (option.selected = jQuery.inArray( option.value,
values ) >= 0) ) {\n
Login.c(90): \t\t\t\t\t\toptionSet = true;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// force browsers to behave consistently when non-matching
value is set\n
Login.c(90): \t\t\t\tif ( !optionSet ) {\n
Login.c(90): \t\t\t\t\telem.selectedIndex = -1;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t\treturn values;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Radios and checkboxes getter/setter\n
Login.c(90): jQuery.each([ "radio", "checkbox" ], function() {\n
Login.c(90): \tjQuery.valHooks[ this ] = {\n
Login.c(90): \t\tset: function( elem, value ) {\n
Login.c(90): \t\t\tif ( jQuery.isArray( value ) ) {\n
Login.c(90): \t\t\t\treturn ( elem.checked =
jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): \tif ( !support.checkOn ) {\n
Login.c(90): \t\tjQuery.valHooks[ this ].get = function( elem ) {\n
Login.c(90): \t\t\t// Support: Webkit\n
Login.c(90): \t\t\t// "" is returned instead of "on" if a value isn't
specified\n
Login.c(90): \t\t\treturn elem.getAttribute("value") === null ? "on" :
elem.value;\n
Login.c(90): \t\t};\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Return jQuery for attributes-only inclusion\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.each( ("blur focus focusin focusout load resize scroll
unload click dblclick " +\n
Login.c(90): \t"mousedown mouseup mousemove mouseover mouseout mouseenter
mouseleave " +\n
Login.c(90): \t"change select submit keydown keypress keyup error
contextmenu").split(" "), function( i
Login.c(90): , name ) {\n
Login.c(90): \n
Login.c(90): \t// Handle event binding\n
Login.c(90): \tjQuery.fn[ name ] = function( data, fn ) {\n
Login.c(90): \t\treturn arguments.length > 0 ?\n
Login.c(90): \t\t\tthis.on( name, null, data, fn ) :\n
Login.c(90): \t\t\tthis.trigger( name );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \thover: function( fnOver, fnOut ) {\n
Login.c(90): \t\treturn this.mouseenter( fnOver ).mouseleave( fnOut ||
fnOver );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tbind: function( types, data, fn ) {\n
Login.c(90): \t\treturn this.on( types, null, data, fn );\n
Login.c(90): \t},\n
Login.c(90): \tunbind: function( types, fn ) {\n
Login.c(90): \t\treturn this.off( types, null, fn );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tdelegate: function( selector, types, data, fn ) {\n
Login.c(90): \t\treturn this.on( types, selector, data, fn );\n
Login.c(90): \t},\n
Login.c(90): \tundelegate: function( selector, types, fn ) {\n
Login.c(90): \t\t// ( namespace ) or ( selector, types [, fn] )\n
Login.c(90): \t\treturn arguments.length === 1 ? this.off( selector, "**" ) :
this.off( types, selector
Login.c(90): || "**", fn );\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var nonce = jQuery.now();\n
Login.c(90): \n
Login.c(90): var rquery = (/\\?/);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Support: Android 2.3\n
Login.c(90): // Workaround failure to string-cast null input\n
Login.c(90): jQuery.parseJSON = function( data ) {\n
Login.c(90): \treturn JSON.parse( data + "" );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Cross-browser xml parsing\n
Login.c(90): jQuery.parseXML = function( data ) {\n
Login.c(90): \tvar xml, tmp;\n
Login.c(90): \tif ( !data || typeof data !== "string" ) {\n
Login.c(90): \t\treturn null;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Support: IE9\n
Login.c(90): \ttry {\n
Login.c(90): \t\ttmp = new DOMParser();\n
Login.c(90): \t\txml = tmp.parseFromString( data, "text/xml" );\n
Login.c(90): \t} catch ( e ) {\n
Login.c(90): \t\txml = undefined;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( !xml || xml.getElementsByTagName( "parsererror" ).length )
{\n
Login.c(90): \t\tjQuery.error( "Invalid XML: " + data );\n
Login.c(90): \t}\n
Login.c(90): \treturn xml;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \t// Document location\n
Login.c(90): \tajaxLocParts,\n
Login.c(90): \tajaxLocation,\n
Login.c(90): \n
Login.c(90): \trhash = /#.*$/,\n
Login.c(90): \trts = /([?&])_=[^&]*/,\n
Login.c(90): \trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n
Login.c(90): \t// #7653, #8125, #8152: local protocol detection\n
Login.c(90): \trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|
res|widget):$/,\n
Login.c(90): \trnoContent = /^(?:GET|HEAD)$/,\n
Login.c(90): \trprotocol = /^\\/\\//,\n
Login.c(90): \trurl = /^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::
(\\d+)|)|)/,\n
Login.c(90): \n
Login.c(90): \t/* Prefilters\n
Login.c(90): \t * 1) They are useful to introduce custom dataTypes (see
ajax/jsonp.js for an example)\n
Login.c(90): \t * 2) These are called:\n
Login.c(90): \t * - BEFORE asking for a transport\n
Login.c(90): \t * - AFTER param serialization (s.data is a string if
s.processData is true)\n
Login.c(90): \t * 3) key is the dataType\n
Login.c(90): \t * 4) the catchall symbol "*" can be used\n
Login.c(90): \t * 5) execution will start with transport dataType and THEN
continue down to "*" if need
Login.c(90): ed\n
Login.c(90): \t */\n
Login.c(90): \tprefilters = {},\n
Login.c(90): \n
Login.c(90): \t/* Transports bindings\n
Login.c(90): \t * 1) key is the dataType\n
Login.c(90): \t * 2) the catchall symbol "*" can be used\n
Login.c(90): \t * 3) selection will start with transport dataType and THEN go
to "*" if needed\n
Login.c(90): \t */\n
Login.c(90): \ttransports = {},\n
Login.c(90): \n
Login.c(90): \t// Avoid comment-prolog char sequence (#10098); must appease
lint and evade compression\n
Login.c(90): \tallTypes = "*/".concat("*");\n
Login.c(90): \n
Login.c(90): // #8138, IE may throw an exception when accessing\n
Login.c(90): // a field from window.location if document.domain has been set\n
Login.c(90): try {\n
Login.c(90): \tajaxLocation = location.href;\n
Login.c(90): } catch( e ) {\n
Login.c(90): \t// Use the href attribute of an A element\n
Login.c(90): \t// since IE will modify it given document.location\n
Login.c(90): \tajaxLocation = document.createElement( "a" );\n
Login.c(90): \tajaxLocation.href = "";\n
Login.c(90): \tajaxLocation = ajaxLocation.href;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Segment location into parts\n
Login.c(90): ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n
Login.c(90): \n
Login.c(90): // Base "constructor" for jQuery.ajaxPrefilter and
jQuery.ajaxTransport\n
Login.c(90): function addToPrefiltersOrTransports( structure ) {\n
Login.c(90): \n
Login.c(90): \t// dataTypeExpressi
Login.c(90): t=1884ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): on is optional and defaults to "*"\n
Login.c(90): \treturn function( dataTypeExpression, func ) {\n
Login.c(90): \n
Login.c(90): \t\tif ( typeof dataTypeExpression !== "string" ) {\n
Login.c(90): \t\t\tfunc = dataTypeExpression;\n
Login.c(90): \t\t\tdataTypeExpression = "*";\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar dataType,\n
Login.c(90): \t\t\ti = 0,\n
Login.c(90): \t\t\tdataTypes =
dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( func ) ) {\n
Login.c(90): \t\t\t// For each dataType in the dataTypeExpression\n
Login.c(90): \t\t\twhile ( (dataType = dataTypes[i++]) ) {\n
Login.c(90): \t\t\t\t// Prepend if requested\n
Login.c(90): \t\t\t\tif ( dataType[0] === "+" ) {\n
Login.c(90): \t\t\t\t\tdataType = dataType.slice( 1 ) || "*";\n
Login.c(90): \t\t\t\t\t(structure[ dataType ] = structure[ dataType ] ||
[]).unshift( func );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Otherwise append\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t(structure[ dataType ] = structure[ dataType ] ||
[]).push( func );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Base inspection function for prefilters and transports\n
Login.c(90): function inspectPrefiltersOrTransports( structure, options,
originalOptions, jqXHR ) {\n
Login.c(90): \n
Login.c(90): \tvar inspected = {},\n
Login.c(90): \t\tseekingTransport = ( structure === transports );\n
Login.c(90): \n
Login.c(90): \tfunction inspect( dataType ) {\n
Login.c(90): \t\tvar selected;\n
Login.c(90): \t\tinspected[ dataType ] = true;\n
Login.c(90): \t\tjQuery.each( structure[ dataType ] || [], function( _,
prefilterOrFactory ) {\n
Login.c(90): \t\t\tvar dataTypeOrTransport = prefilterOrFactory( options,
originalOptions, jqXHR );\n
Login.c(90): \t\t\tif ( typeof dataTypeOrTransport === "string" && !
seekingTransport && !inspected[ dat
Login.c(90): aTypeOrTransport ] ) {\n
Login.c(90): \t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n
Login.c(90): \t\t\t\tinspect( dataTypeOrTransport );\n
Login.c(90): \t\t\t\treturn false;\n
Login.c(90): \t\t\t} else if ( seekingTransport ) {\n
Login.c(90): \t\t\t\treturn !( selected = dataTypeOrTransport );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t\treturn selected;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] &&
inspect( "*" );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // A special extend for ajax options\n
Login.c(90): // that takes "flat" options (not to be deep extended)\n
Login.c(90): // Fixes #9887\n
Login.c(90): function ajaxExtend( target, src ) {\n
Login.c(90): \tvar key, deep,\n
Login.c(90): \t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n
Login.c(90): \n
Login.c(90): \tfor ( key in src ) {\n
Login.c(90): \t\tif ( src[ key ] !== undefined ) {\n
Login.c(90): \t\t\t( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )
[ key ] = src[ key ];\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \tif ( deep ) {\n
Login.c(90): \t\tjQuery.extend( true, target, deep );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* Handles responses to an ajax request:\n
Login.c(90): * - finds the right dataType (mediates between content-type and
expected dataType)\n
Login.c(90): * - returns the corresponding response\n
Login.c(90): */\n
Login.c(90): function ajaxHandleResponses( s, jqXHR, responses ) {\n
Login.c(90): \n
Login.c(90): \tvar ct, type, finalDataType, firstDataType,\n
Login.c(90): \t\tcontents = s.contents,\n
Login.c(90): \t\tdataTypes = s.dataTypes;\n
Login.c(90): \n
Login.c(90): \t// Remove auto dataType and get content-type in the process\n
Login.c(90): \twhile ( dataTypes[ 0 ] === "*" ) {\n
Login.c(90): \t\tdataTypes.shift();\n
Login.c(90): \t\tif ( ct === undefined ) {\n
Login.c(90): \t\t\tct = s.mimeType || jqXHR.getResponseHeader("Content-
Type");\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Check if we're dealing with a known content-type\n
Login.c(90): \tif ( ct ) {\n
Login.c(90): \t\tfor ( type in contents ) {\n
Login.c(90): \t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n
Login.c(90): \t\t\t\tdataTypes.unshift( type );\n
Login.c(90): \t\t\t\tbreak;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Check to see if we have a response for the expected
dataType\n
Login.c(90): \tif ( dataTypes[ 0 ] in responses ) {\n
Login.c(90): \t\tfinalDataType = dataTypes[ 0 ];\n
Login.c(90): \t} else {\n
Login.c(90): \t\t// Try convertible dataTypes\n
Login.c(90): \t\tfor ( type in responses ) {\n
Login.c(90): \t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + " " +
dataTypes[0] ] ) {\n
Login.c(90): \t\t\t\tfinalDataType = type;\n
Login.c(90): \t\t\t\tbreak;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tif ( !firstDataType ) {\n
Login.c(90): \t\t\t\tfirstDataType = type;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t\t// Or just use first one\n
Login.c(90): \t\tfinalDataType = finalDataType || firstDataType;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// If we found a dataType\n
Login.c(90): \t// We add the dataType to the list if needed\n
Login.c(90): \t// and return the corresponding response\n
Login.c(90): \tif ( finalDataType ) {\n
Login.c(90): \t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n
Login.c(90): \t\t\tdataTypes.unshift( finalDataType );\n
Login.c(90): \t\t}\n
Login.c(90): \t\treturn responses[ finalDataType ];\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* Chain conversions given the request and the original response\n
Login.c(90): * Also sets the responseXXX fields on the jqXHR instance\n
Login.c(90): */\n
Login.c(90): function ajaxConvert( s, response, jqXHR, isSuccess ) {\n
Login.c(90): \tvar conv2, current, conv, tmp, prev,\n
Login.c(90): \t\tconverters = {},\n
Login.c(90): \t\t// Work with a copy of dataTypes in case we need to modify it
for conversion\n
Login.c(90): \t\tdataTypes = s.dataTypes.slice();\n
Login.c(90): \n
Login.c(90): \t// Create converters map with lowercased keys\n
Login.c(90): \tif ( dataTypes[ 1 ] ) {\n
Login.c(90): \t\tfor ( conv in s.converters ) {\n
Login.c(90): \t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tcurrent = dataTypes.shift();\n
Login.c(90): \n
Login.c(90): \t// Convert to each sequential dataType\n
Login.c(90): \twhile ( current ) {\n
Login.c(90): \n
Login.c(90): \t\tif ( s.responseFields[ current ] ) {\n
Login.c(90): \t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Apply the dataFilter if provided\n
Login.c(90): \t\tif ( !prev && isSuccess && s.dataFilter ) {\n
Login.c(90): \t\t\tresponse = s.dataFilter( response, s.dataType );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tprev = current;\n
Login.c(90): \t\tcurrent = dataTypes.shift();\n
Login.c(90): \n
Login.c(90): \t\tif ( current ) {\n
Login.c(90): \n
Login.c(90): \t\t// There's only work to do if current dataType is non-auto\n
Login.c(90): \t\t\tif ( current === "*" ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\tcurrent = prev;\n
Login.c(90): \n
Login.c(90): \t\t\t// Convert response if prev dataType is non-auto and differs
from current\n
Login.c(90): \t\t\t} else if ( prev !== "*" && prev !== current ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Seek a direct converter\n
Login.c(90): \t\t\t\tconv = converters[ prev + " " + current ] ||
converters[ "* " + current ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If none found, seek a pair\n
Login.c(90): \t\t\t\tif ( !conv ) {\n
Login.c(90): \t\t\t\t\tfor ( conv2 in converters ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t// If conv2 outputs current\n
Login.c(90): \t\t\t\t\t\ttmp = conv2.split( " " );\n
Login.c(90): \t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t// If prev can be converted to accepted input\n
Login.c(90): \t\t\t\t\t\t\tconv = converters[ prev + " " + tmp[ 0 ] ] ||\n
Login.c(90): \t\t\t\t\t\t\t\tconverters[ "* " + tmp[ 0 ] ];\n
Login.c(90): \t\t\t\t\t\t\tif ( conv ) {\n
Login.c(90): \t\t\t\t\t\t\t\t// Condense equivalence converters\n
Login.c(90): \t\t\t\t\t\t\t\tif ( conv === true ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n
Login.c(90): \t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n
Login.c(90): \t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n
Login.c(90): \t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n
Login.c(90): \t\t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t\t\tbreak;\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Apply converter (if not an equivalence)\n
Login.c(90): \t\t\t\tif ( conv !== true ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Unless errors are allowed to bubble, catch and return
them\n
Login.c(90): \t\t\t\t\tif ( conv && s[ "throws" ] ) {\n
Login.c(90): \t\t\t\t\t\tresponse = conv( response );\n
Login.c(90): \t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\ttry {\n
Login.c(90): \t\t\t\t\t\t\tresponse = conv( response );\n
Login.c(90): \t\t\t\t\t\t} catch ( e ) {\n
Login.c(90): \t\t\t\t\t\t\treturn { state: "parsererror", error: conv ? e : "No
conversion from " + pre
Login.c(90): v + " to " + current };\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn { state: "success", data: response };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.extend({\n
Login.c(90): \n
Login.c(90): \t// Counter for holding the number of active queries\n
Login.c(90): \tactive: 0,\n
Login.c(90): \n
Login.c(90): \t// Last-Modified header cache for next request\n
Login.c(90): \tlastModified: {},\n
Login.c(90): \tetag: {},\n
Login.c(90): \n
Login.c(90): \tajaxSettings: {\n
Login.c(90): \t\turl: ajaxLocation,\n
Login.c(90): \t\ttype: "GET",\n
Login.c(90): \t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n
Login.c(90): \t\tglobal: true,\n
Login.c(90): \t\tprocessData: true,\n
Login.c(90): \t\tasync: true,\n
Login.c(90): \t\tcontentType: "application/x-www-form-urlencoded; charset=UTF-
8",\n
Login.c(90): \t\t/*\n
Login.c(90): \t\ttimeout: 0,\n
Login.c(90): \t\tdata: null,\n
Login.c(90): \t\tdataType: null,\n
Login.c(90): \t\tusername: null,\n
Login.c(90): \t\tpassword: null,\n
Login.c(90): \t\tcache: null,\n
Login.c(90): \t\tthrows: false,\n
Login.c(90): \t\ttraditional: false,\n
Login.c(90): \t\theaders: {},\n
Login.c(90): \t\t*/\n
Login.c(90): \n
Login.c(90): \t\taccepts: {\n
Login.c(90): \t\t\t"*": allTypes,\n
Login.c(90): \t\t\ttext: "text/plain",\n
Login.c(90): \t\t\thtml: "text/html",\n
Login.c(90): \t\t\txml: "application/xml, text/xml",\n
Login.c(90): \t\t\tjson: "application/json, text/javascript"\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\tcontents: {\n
Login.c(90): \t\t\txml: /xml/,\n
Login.c(90): \t\t\thtml: /html/,\n
Login.c(90): \t\t\tjson: /json/\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\tresponseFields: {\n
Login.c(90): \t\t\txml: "responseXML",\n
Login.c(90): \t\t\ttext: "responseText",\n
Login.c(90): \t\t\tjson: "responseJSON"\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// Data converters\n
Login.c(90): \t\t// Keys separate source (or catchall "*") and destination
types with a single space\n
Login.c(90): \t\tconverters: {\n
Login.c(90): \n
Login.c(90): \t\t\t// Convert anything to text\n
Login.c(90): \t\t\t"* text": String,\n
Login.c(90): \n
Login.c(90): \t\t\t// Text to html (true = no transformation)\n
Login.c(90): \t\t\t"text html": true,\n
Login.c(90): \n
Login.c(90): \t\t\t// Evaluate text as a json expression\n
Login.c(90): \t\t\t"text json": jQuery.parseJSON,\n
Login.c(90): \n
Login.c(90): \t\t\t// Parse text as xml\n
Login.c(90): \t\t\t"text xml": jQuery.parseXML\n
Login.c(90): \t\t},\n
Login.c(90): \n
Login.c(90): \t\t// For options that shouldn't be deep extended:\n
Login.c(90): \t\t// you can add your own custom options here if\n
Login.c(90): \t\t// and when you create one that shouldn't be\n
Login.c(90): \t\t// deep extended (see ajaxExtend)\n
Login.c(90): \t\tflatOptions: {\n
Login.c(90): \t\t\turl: true,\n
Login.c(90): \t\t\tcontext: true\n
Login.c(90): \t\t}\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \t// Creates a full fledged settings object into target\n
Login.c(90): \t// with both ajaxSettings and settings fields.\n
Login.c(90): \t// If target is omitted, writes into ajaxSettings.\n
Login.c(90): \tajaxSetup: function( target, settings ) {\n
Login.c(90): \t\treturn settings ?\n
Login.c(90): \n
Login.c(90): \t\t\t// Building a settings object\n
Login.c(90): \t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ),
settings ) :\n
Login.c(90): \n
Login.c(90): \t\t\t// Extending ajaxSettings\n
Login.c(90): \t\t\tajaxExtend( jQuery.ajaxSettings, target );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n
Login.c(90): \tajaxTransport: addToPrefiltersOrTransports( transports ),\n
Login.c(90): \n
Login.c(90): \t// Main method\n
Login.c(90): \tajax: function( url, options ) {\n
Login.c(90): \n
Login.c(90): \t\t// If url is an object, simulate pre-1.5 signature\n
Login.c(90): \t\tif ( typeof url === "object" ) {\n
Login.c(90): \t\t\toptions = url;\n
Login.c(90): \t\t\turl = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Force options to be an object\n
Login.c(90): \t\toptions = options || {};\n
Login.c(90): \n
Login.c(90): \t\tvar transport,\n
Login.c(90): \t\t\t// URL without anti-cache param\n
Login.c(90): \t\t\tcacheURL,\n
Login.c(90): \t\t\t// Response headers\n
Login.c(90): \t\t\tresponseHeadersString,\n
Login.c(90): \t\t\tresponseHeaders,\n
Login.c(90): \t\t\t// timeout handle\n
Login.c(90): \t\t\ttimeoutTimer,\n
Login.c(90): \t\t\t// Cross-domain detection vars\n
Login.c(90): \t\t\tparts,\n
Login.c(90): \t\t\t// To know if global events are to be dispatched\n
Login.c(90): \t\t\tfireGlobals,\n
Login.c(90): \t\t\t// Loop variable\n
Login.c(90): \t\t\ti,\n
Login.c(90): \t\t\t// Create the final options object\n
Login.c(90): \t\t\ts = jQuery.ajaxSetup( {}, options ),\n
Login.c(90): \t\t\t// Callbacks context\n
Login.c(90): \t\t\tcallbackContext = s.context || s,\n
Login.c(90): \t\t\t// Context for global events is callbackContext if it is a
DOM node or jQuery collec
Login.c(90): tion\n
Login.c(90): \t\t\tglobalEventContext = s.context && ( callbackContext.nodeType
|| callbackContext.jque
Login.c(90): ry ) ?\n
Login.c(90): \t\t\t\tjQuery( callbackContext ) :\n
Login.c(90): \t\t\t\tjQuery.event,\n
Login.c(90): \t\t\t// Deferreds\n
Login.c(90): \t\t\tdeferred = jQuery.Deferred(),\n
Login.c(90): \t\t\tcompleteDeferred = jQuery.Callbacks("once memory"),\n
Login.c(90): \t\t\t// Status-dependent callbacks\n
Login.c(90): \t\t\tstatusCode = s.statusCode || {},\n
Login.c(90): \t\t\t// Headers (they are sent all at once)\n
Login.c(90): \t\t\trequestHeaders = {},\n
Login.c(90): \t\t\trequestHeadersNames = {},\n
Login.c(90): \t\t\t// The jqXHR state\n
Login.c(90): \t\t\tstate = 0,\n
Login.c(90): \t\t\t// Default abort message\n
Login.c(90): \t\t\tstrAbort = "canceled",\n
Login.c(90): \t\t\t// Fake xhr\n
Login.c(90): \t\t\tjqXHR = {\n
Login.c(90): \t\t\t\treadyState: 0,\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Builds headers hashtable if needed\n
Login.c(90): \t\t\t\tgetResponseHeader: function( key ) {\n
Login.c(90): \t\t\t\t\tvar match;\n
Login.c(90): \t\t\t\t\tif ( state === 2 ) {\n
Login.c(90): \t\t\t\t\t\tif ( !responseHeaders ) {\n
Login.c(90): \t\t\t\t\t\t\tresponseHeaders = {};\n
Login.c(90): \t\t\t\t\t\t\twhile ( (match =
rheaders.exec( responseHeadersString )) ) {\n
Login.c(90): \t\t\t\t\t\t\t\tresponseHeaders[ match[1].toLowerCase() ] = match[
2 ];\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\treturn match == null ? null : match;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Raw string\n
Login.c(90): \t\t\t\tgetAllResponseHeaders: function() {\n
Login.c(90): \t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Caches the header\n
Login.c(90): \t\t\t\tsetRequestHeader: function( name, value ) {\n
Login.c(90): \t\t\t\t\tvar lname = name.toLowerCase();\n
Login.c(90): \t\t\t\t\tif ( !state ) {\n
Login.c(90): \t\t\t\t\t\tname = requestHeadersNames[ lname ] =
requestHeadersNames[ lname ] || name;\n
Login.c(90): \t\t\t\t\t\trequestHeaders[ name ] = value;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Overrides response content-type header\n
Login.c(90): \t\t\t\toverrideMimeType: function( type ) {\n
Login.c(90): \t\t\t\t\tif ( !state ) {\n
Login.c(90): \t\t\t\t\t\ts.mimeType = type;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Status-dependent callbacks\n
Login.c(90): \t\t\t\tstatusCode: function( map ) {\n
Login.c(90): \t\t\t\t\tvar code;\n
Login.c(90): \t\t\t\t\tif ( map ) {\n
Login.c(90): \t\t\t\t\t\tif ( state < 2 ) {\n
Login.c(90): \t\t\t\t\t\t\tfor ( code in map ) {\n
Login.c(90): \t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that
preserves old ones\n
Login.c(90): \t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ],
map[ code ] ];\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t// Execute the appropriate callbacks\n
Login.c(90): \t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Cancel the request\n
Login.c(90): \t\t\t\tabort: function( statusText ) {\n
Login.c(90): \t\t\t\t\tvar finalText = statusText || strAbort;\n
Login.c(90): \t\t\t\t\tif ( transport ) {\n
Login.c(90): \t\t\t\t\t\ttransport.abort( finalText );\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tdone( 0, finalText );\n
Login.c(90): \t\t\t\t\treturn this;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t};\n
Login.c(90): \n
Login.c(90): \t\t// Attach deferreds\n
Login.c(90): \t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n
Login.c(90): \t\tjqXHR.success = jqXHR.done;\n
Login.c(90): \t\tjqXHR.error = jqXHR.fail;\n
Login.c(90): \n
Login.c(90): \t\t// Remove hash character (#7531: and string promotion)\n
Login.c(90): \t\t// Add protocol if not provided (prefilters might expect it)\n
Login.c(90): \t\t// Handle falsy url in the settings object (#10093:
consistency with old signature)\n
Login.c(90): \t\t// We also use the url parameter if available\n
Login.c(90): \t\ts.url = ( ( url || s.url || ajaxLocation ) +
"" ).replace( rhash, "" )\n
Login.c(90): \t\t\t.replace( rprotocol, ajaxLocParts[ 1 ] + "//" );\n
Login.c(90): \n
Login.c(90): \t\t// Alias method option to type as per ticket #12004\n
Login.c(90): \t\ts.type = options.method || options.type || s.method ||
s.type;\n
Login.c(90): \n
Login.c(90): \t\t// Extract dataTypes list\n
Login.c(90): \t\ts.dataTypes = jQuery.trim( s.dataType ||
"*" ).toLowerCase().match( rnotwhite ) || [ "
Login.c(90): " ];\n
Login.c(90): \n
Login.c(90): \t\t// A cross-domain request is in order when we have a
protocol:host:port mismatch\n
Login.c(90): \t\tif ( s.crossDomain == null ) {\n
Login.c(90): \t\t\tparts = rurl.exec( s.url.toLowerCase() );\n
Login.c(90): \t\t\ts.crossDomain = !!( parts &&\n
Login.c(90): \t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !==
ajaxLocParts[ 2 ] ||\n
Login.c(90): \t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" :
"443" ) ) !==\n
Login.c(90): \t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:"
? "80" : "443" ) ) )\n
Login.c(90): \t\t\t);\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Convert data
Login.c(90): t=1904ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): if not already a string\n
Login.c(90): \t\tif ( s.data && s.processData && typeof s.data !== "string" )
{\n
Login.c(90): \t\t\ts.data = jQuery.param( s.data, s.traditional );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Apply prefilters\n
Login.c(90): \t\tinspectPrefiltersOrTransports( prefilters, s, options,
jqXHR );\n
Login.c(90): \n
Login.c(90): \t\t// If request was aborted inside a prefilter, stop there\n
Login.c(90): \t\tif ( state === 2 ) {\n
Login.c(90): \t\t\treturn jqXHR;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// We can fire global events as of now if asked to\n
Login.c(90): \t\tfireGlobals = s.global;\n
Login.c(90): \n
Login.c(90): \t\t// Watch for a new set of requests\n
Login.c(90): \t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n
Login.c(90): \t\t\tjQuery.event.trigger("ajaxStart");\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Uppercase the type\n
Login.c(90): \t\ts.type = s.type.toUpperCase();\n
Login.c(90): \n
Login.c(90): \t\t// Determine if request has content\n
Login.c(90): \t\ts.hasContent = !rnoContent.test( s.type );\n
Login.c(90): \n
Login.c(90): \t\t// Save the URL in case we're toying with the If-Modified-
Since\n
Login.c(90): \t\t// and/or If-None-Match header later on\n
Login.c(90): \t\tcacheURL = s.url;\n
Login.c(90): \n
Login.c(90): \t\t// More options handling for requests with no content\n
Login.c(90): \t\tif ( !s.hasContent ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// If data is available, append data to url\n
Login.c(90): \t\t\tif ( s.data ) {\n
Login.c(90): \t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" :
"?" ) + s.data );\n
Login.c(90): \t\t\t\t// #9682: remove data so that it's not used in an eventual
retry\n
Login.c(90): \t\t\t\tdelete s.data;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Add anti-cache in url if needed\n
Login.c(90): \t\t\tif ( s.cache === false ) {\n
Login.c(90): \t\t\t\ts.url = rts.test( cacheURL ) ?\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// If there is already a '_' parameter, set its value\n
Login.c(90): \t\t\t\t\tcacheURL.replace( rts, "$1_=" + nonce++ ) :\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Otherwise add one to the end\n
Login.c(90): \t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) +
"_=" + nonce++;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Set the If-Modified-Since and/or If-None-Match header, if
in ifModified mode.\n
Login.c(90): \t\tif ( s.ifModified ) {\n
Login.c(90): \t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n
Login.c(90): \t\t\t\tjqXHR.setRequestHeader( "If-Modified-Since",
jQuery.lastModified[ cacheURL ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\tif ( jQuery.etag[ cacheURL ] ) {\n
Login.c(90): \t\t\t\tjqXHR.setRequestHeader( "If-None-Match",
jQuery.etag[ cacheURL ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Set the correct header, if data is being sent\n
Login.c(90): \t\tif ( s.data && s.hasContent && s.contentType !== false ||
options.contentType ) {\n
Login.c(90): \t\t\tjqXHR.setRequestHeader( "Content-Type", s.contentType );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Set the Accepts header for the server, depending on the
dataType\n
Login.c(90): \t\tjqXHR.setRequestHeader(\n
Login.c(90): \t\t\t"Accept",\n
Login.c(90): \t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?\n
Login.c(90): \t\t\t\ts.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ?
", " + allTypes + "; q=
Login.c(90): 0.01" : "" ) :\n
Login.c(90): \t\t\t\ts.accepts[ "*" ]\n
Login.c(90): \t\t);\n
Login.c(90): \n
Login.c(90): \t\t// Check for headers option\n
Login.c(90): \t\tfor ( i in s.headers ) {\n
Login.c(90): \t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Allow custom headers/mimetypes and early abort\n
Login.c(90): \t\tif ( s.beforeSend && ( s.beforeSend.call( callbackContext,
jqXHR, s ) === false || sta
Login.c(90): te === 2 ) ) {\n
Login.c(90): \t\t\t// Abort if not done already and return\n
Login.c(90): \t\t\treturn jqXHR.abort();\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// aborting is no longer a cancellation\n
Login.c(90): \t\tstrAbort = "abort";\n
Login.c(90): \n
Login.c(90): \t\t// Install callbacks on deferreds\n
Login.c(90): \t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n
Login.c(90): \t\t\tjqXHR[ i ]( s[ i ] );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Get transport\n
Login.c(90): \t\ttransport = inspectPrefiltersOrTransports( transports, s,
options, jqXHR );\n
Login.c(90): \n
Login.c(90): \t\t// If no transport, we auto-abort\n
Login.c(90): \t\tif ( !transport ) {\n
Login.c(90): \t\t\tdone( -1, "No Transport" );\n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tjqXHR.readyState = 1;\n
Login.c(90): \n
Login.c(90): \t\t\t// Send global event\n
Login.c(90): \t\t\tif ( fireGlobals ) {\n
Login.c(90): \t\t\t\tglobalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\t// Timeout\n
Login.c(90): \t\t\tif ( s.async && s.timeout > 0 ) {\n
Login.c(90): \t\t\t\ttimeoutTimer = setTimeout(function() {\n
Login.c(90): \t\t\t\t\tjqXHR.abort("timeout");\n
Login.c(90): \t\t\t\t}, s.timeout );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\ttry {\n
Login.c(90): \t\t\t\tstate = 1;\n
Login.c(90): \t\t\t\ttransport.send( requestHeaders, done );\n
Login.c(90): \t\t\t} catch ( e ) {\n
Login.c(90): \t\t\t\t// Propagate exception as error if not done\n
Login.c(90): \t\t\t\tif ( state < 2 ) {\n
Login.c(90): \t\t\t\t\tdone( -1, e );\n
Login.c(90): \t\t\t\t// Simply rethrow otherwise\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tthrow e;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Callback for when everything is done\n
Login.c(90): \t\tfunction done( status, nativeStatusText, responses, headers )
{\n
Login.c(90): \t\t\tvar isSuccess, success, error, response, modified,\n
Login.c(90): \t\t\t\tstatusText = nativeStatusText;\n
Login.c(90): \n
Login.c(90): \t\t\t// Called once\n
Login.c(90): \t\t\tif ( state === 2 ) {\n
Login.c(90): \t\t\t\treturn;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// State is "done" now\n
Login.c(90): \t\t\tstate = 2;\n
Login.c(90): \n
Login.c(90): \t\t\t// Clear timeout if it exists\n
Login.c(90): \t\t\tif ( timeoutTimer ) {\n
Login.c(90): \t\t\t\tclearTimeout( timeoutTimer );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Dereference transport for early garbage collection\n
Login.c(90): \t\t\t// (no matter how long the jqXHR object will be used)\n
Login.c(90): \t\t\ttransport = undefined;\n
Login.c(90): \n
Login.c(90): \t\t\t// Cache response headers\n
Login.c(90): \t\t\tresponseHeadersString = headers || "";\n
Login.c(90): \n
Login.c(90): \t\t\t// Set readyState\n
Login.c(90): \t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n
Login.c(90): \n
Login.c(90): \t\t\t// Determine if successful\n
Login.c(90): \t\t\tisSuccess = status >= 200 && status < 300 || status ===
304;\n
Login.c(90): \n
Login.c(90): \t\t\t// Get response data\n
Login.c(90): \t\t\tif ( responses ) {\n
Login.c(90): \t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Convert no matter what (that way responseXXX fields are
always set)\n
Login.c(90): \t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n
Login.c(90): \n
Login.c(90): \t\t\t// If successful, handle type chaining\n
Login.c(90): \t\t\tif ( isSuccess ) {\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Set the If-Modified-Since and/or If-None-Match header,
if in ifModified mode.\n
Login.c(90): \t\t\t\tif ( s.ifModified ) {\n
Login.c(90): \t\t\t\t\tmodified = jqXHR.getResponseHeader("Last-Modified");\n
Login.c(90): \t\t\t\t\tif ( modified ) {\n
Login.c(90): \t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t\tmodified = jqXHR.getResponseHeader("etag");\n
Login.c(90): \t\t\t\t\tif ( modified ) {\n
Login.c(90): \t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// if no content\n
Login.c(90): \t\t\t\tif ( status === 204 || s.type === "HEAD" ) {\n
Login.c(90): \t\t\t\t\tstatusText = "nocontent";\n
Login.c(90): \n
Login.c(90): \t\t\t\t// if not modified\n
Login.c(90): \t\t\t\t} else if ( status === 304 ) {\n
Login.c(90): \t\t\t\t\tstatusText = "notmodified";\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If we have data, let's convert it\n
Login.c(90): \t\t\t\t} else {\n
Login.c(90): \t\t\t\t\tstatusText = response.state;\n
Login.c(90): \t\t\t\t\tsuccess = response.data;\n
Login.c(90): \t\t\t\t\terror = response.error;\n
Login.c(90): \t\t\t\t\tisSuccess = !error;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\t// We extract error from statusText\n
Login.c(90): \t\t\t\t// then normalize statusText and status for non-aborts\n
Login.c(90): \t\t\t\terror = statusText;\n
Login.c(90): \t\t\t\tif ( status || !statusText ) {\n
Login.c(90): \t\t\t\t\tstatusText = "error";\n
Login.c(90): \t\t\t\t\tif ( status < 0 ) {\n
Login.c(90): \t\t\t\t\t\tstatus = 0;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Set data for the fake xhr object\n
Login.c(90): \t\t\tjqXHR.status = status;\n
Login.c(90): \t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) +
"";\n
Login.c(90): \n
Login.c(90): \t\t\t// Success/Error\n
Login.c(90): \t\t\tif ( isSuccess ) {\n
Login.c(90): \t\t\t\tdeferred.resolveWith( callbackContext, [ success,
statusText, jqXHR ] );\n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText,
error ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Status-dependent callbacks\n
Login.c(90): \t\t\tjqXHR.statusCode( statusCode );\n
Login.c(90): \t\t\tstatusCode = undefined;\n
Login.c(90): \n
Login.c(90): \t\t\tif ( fireGlobals ) {\n
Login.c(90): \t\t\t\tglobalEventContext.trigger( isSuccess ? "ajaxSuccess" :
"ajaxError",\n
Login.c(90): \t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Complete\n
Login.c(90): \t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR,
statusText ] );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( fireGlobals ) {\n
Login.c(90): \t\t\t\tglobalEventContext.trigger( "ajaxComplete", [ jqXHR,
s ] );\n
Login.c(90): \t\t\t\t// Handle the global AJAX counter\n
Login.c(90): \t\t\t\tif ( !( --jQuery.active ) ) {\n
Login.c(90): \t\t\t\t\tjQuery.event.trigger("ajaxStop");\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn jqXHR;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tgetJSON: function( url, data, callback ) {\n
Login.c(90): \t\treturn jQuery.get( url, data, callback, "json" );\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tgetScript: function( url, callback ) {\n
Login.c(90): \t\treturn jQuery.get( url, undefined, callback, "script" );\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): jQuery.each( [ "get", "post" ], function( i, method ) {\n
Login.c(90): \tjQuery[ method ] = function( url, data, callback, type ) {\n
Login.c(90): \t\t// shift arguments if data argument was omitted\n
Login.c(90): \t\tif ( jQuery.isFunction( data ) ) {\n
Login.c(90): \t\t\ttype = type || callback;\n
Login.c(90): \t\t\tcallback = data;\n
Login.c(90): \t\t\tdata = undefined;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn jQuery.ajax({\n
Login.c(90): \t\t\turl: url,\n
Login.c(90): \t\t\ttype: method,\n
Login.c(90): \t\t\tdataType: type,\n
Login.c(90): \t\t\tdata: data,\n
Login.c(90): \t\t\tsuccess: callback\n
Login.c(90): \t\t});\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Attach a bunch of functions for handling common AJAX events\n
Login.c(90): jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete",
"ajaxError", "ajaxSuccess", "ajaxS
Login.c(90): end" ], function( i, type ) {\n
Login.c(90): \tjQuery.fn[ type ] = function( fn ) {\n
Login.c(90): \t\treturn this.on( type, fn );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery._evalUrl = function( url ) {\n
Login.c(90): \treturn jQuery.ajax({\n
Login.c(90): \t\turl: url,\n
Login.c(90): \t\ttype: "GET",\n
Login.c(90): \t\tdataType: "script",\n
Login.c(90): \t\tasync: false,\n
Login.c(90): \t\tglobal: false,\n
Login.c(90): \t\t"throws": true\n
Login.c(90): \t});\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \twrapAll: function( html ) {\n
Login.c(90): \t\tvar wrap;\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( html ) ) {\n
Login.c(90): \t\t\treturn this.each(function( i ) {\n
Login.c(90): \t\t\t\tjQuery( this ).wrapAll( html.call(this, i) );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( this[ 0 ] ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// The elements to wrap the target around\n
Login.c(90): \t\t\twrap = jQuery( html,
this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( this[ 0 ].parentNode ) {\n
Login.c(90): \t\t\t\twrap.insertBefore( this[ 0 ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\twrap.map(function() {\n
Login.c(90): \t\t\t\tvar elem = this;\n
Login.c(90): \n
Login.c(90): \t\t\t\twhile ( elem.firstElementChild ) {\n
Login.c(90): \t\t\t\t\telem = elem.firstElementChild;\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn elem;\n
Login.c(90): \t\t\t}).append( this );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this;\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \twrapInner: function( html ) {\n
Login.c(90): \t\tif ( jQuery.isFunction( html ) ) {\n
Login.c(90): \t\t\treturn this.each(function( i ) {\n
Login.c(90): \t\t\t\tjQuery( this ).wrapInner( html.call(this, i) );\n
Login.c(90): \t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function() {\n
Login.c(90): \t\t\tvar self = jQuery( this ),\n
Login.c(90): \t\t\t\tcontents = self.contents();\n
Login.c(90): \n
Login.c(90): \t\t\tif ( contents.length ) {\n
Login.c(90): \t\t\t\tcontents.wrapAll( html );\n
Login.c(90): \n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\tself.append( html );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \twrap: function( html ) {\n
Login.c(90): \t\tvar isFunction = jQuery.isFunction( html );\n
Login.c(90): \n
Login.c(90): \t\treturn this.each(function( i ) {\n
Login.c(90): \t\t\tjQuery( this ).wrapAll( isFunction ? html.call(this, i) :
html );\n
Login.c(90): \t\t});\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tunwrap: function() {\n
Login.c(90): \t\treturn this.parent().each(function() {\n
Login.c(90): \t\t\tif ( !jQuery.nodeName( this, "body" ) ) {\n
Login.c(90): \t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}).end();\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.expr.filters.hidden = function( elem ) {\n
Login.c(90): \t// Support: Opera <= 12.12\n
Login.c(90): \t// Opera reports offsetWidths and offsetHeights less than zero
on some elements\n
Login.c(90): \treturn elem.offsetWidth <= 0 && elem.offsetHeight <= 0;\n
Login.c(90): };\n
Login.c(90): jQuery.expr.filters.visible = function( elem ) {\n
Login.c(90): \treturn !jQuery.expr.filters.hidden( elem );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var r20 = /%20/g,\n
Login.c(90): \trbracket = /\\[\\]$/,\n
Login.c(90): \trCRLF = /\\r?\\n/g,\n
Login.c(90): \trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n
Login.c(90): \trsubmittable = /^(?:input|select|textarea|keygen)/i;\n
Login.c(90): \n
Login.c(90): function buildParams( prefix, obj, traditional, add ) {\n
Login.c(90): \tvar name;\n
Login.c(90): \n
Login.c(90): \tif ( jQuery.isArray( obj ) ) {\n
Login.c(90): \t\t// Serialize array item.\n
Login.c(90): \t\tjQuery.each( obj, function( i, v ) {\n
Login.c(90): \t\t\tif ( traditional || rbracket.test( prefix ) ) {\n
Login.c(90): \t\t\t\t// Treat each array item as a scalar.\n
Login.c(90): \t\t\t\tadd( prefix, v );\n
Login.c(90): \n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\t// Item is non-scalar (array or object), encode its
numeric index.\n
Login.c(90): \t\t\t\tbuildParams( prefix + "[" + ( typeof v === "object" ? i :
"" ) + "]", v, tradition
Login.c(90): al, add );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t} else if ( !traditional && jQuery.type( obj ) === "object" )
{\n
Login.c(90): \t\t// Serialize object item.\n
Login.c(90): \t\tfor ( name in obj ) {\n
Login.c(90): \t\t\tbuildParams( prefix + "[" + name + "]", obj[ name ],
traditional, add );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t} else {\n
Login.c(90): \t\t// Serialize scalar item.\n
Login.c(90): \t\tadd( prefix, obj );\n
Login.c(90): \t}\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Serialize an array of form elements or a set of\n
Login.c(90): // key/values into a query string\n
Login.c(90): jQuery.param = function( a, traditional ) {\n
Login.c(90): \tvar prefix,\n
Login.c(90): \t\ts = [],\n
Login.c(90): \t\tadd = function( key, value ) {\n
Login.c(90): \t\t\t// If value is a function, invoke it and return its value\n
Login.c(90): \t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value ==
null ? "" : value );\n
Login.c(90): \t\t\ts[ s.length ] = encodeURIComponent( key ) + "=" +
encodeURIComponent( value );\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t// Set traditional to true for jQuery <= 1.3.2 behavior.\n
Login.c(90): \tif ( traditional === undefined ) {\n
Login.c(90): \t\ttraditional = jQuery.ajaxSettings &&
jQuery.ajaxSettings.traditional;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// If an array was passed in, assume that it is an array of form
elements.\n
Login.c(90): \tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject(
a ) ) ) {\n
Login.c(90): \t\t// Serialize the form elements\n
Login.c(90): \t\tjQuery.each( a, function() {\n
Login.c(90): \t\t\tadd( this.name, this.value );\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t} else {\n
Login.c(90): \t\t// If traditional, encode the "old" way (the way 1.3.2 or
older\n
Login.c(90): \t\t// did it), otherwise encode params recursively.\n
Login.c(90): \t\tfor ( prefix in a ) {\n
Login.c(90): \t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// Return the resulting serialization\n
Login.c(90): \treturn s.join( "&" ).replace( r20, "+" );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \tserialize: function() {\n
Login.c(90): \t\treturn jQuery.param( this.serializeArray() );\n
Login.c(90): \t},\n
Login.c(90): \tserializeArray: function() {\n
Login.c(90): \t\treturn this.map(function() {\n
Login.c(90): \t\t\t// Can add propHook for "elements" to filter or add form
elements\n
Login.c(90): \t\t\tvar elements = jQuery.prop( this, "elements" );\n
Login.c(90): \t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n
Login.c(90): \t\t})\n
Login.c(90): \t\t.filter(function() {\n
Login.c(90): \t\t\tvar type = this.type;\n
Login.c(90): \n
Login.c(90): \t\t\t// Use .is( ":disabled" ) so that fieldset[disabled] works\n
Login.c(90): \t\t\treturn this.name && !jQuery( this ).is( ":disabled" ) &&\n
Login.c(90): \t\t\t\trsubmittable.test( this.nodeName ) && !
rsubmitterTypes.test( type ) &&\n
Login.c(90): \t\t\t\t( this.checked || !rcheckableType.test( type ) );\n
Login.c(90): \t\t})\n
Login.c(90): \t\t.map(function( i, elem ) {\n
Login.c(90): \t\t\tvar val = jQuery( this ).val();\n
Login.c(90): \n
Login.c(90): \t\t\treturn val == null ?\n
Login.c(90): \t\t\t\tnull :\n
Login.c(90): \t\t\t\tjQuery.isArray( val ) ?\n
Login.c(90): \t\t\t\t\tjQuery.map( val, function( val ) {\n
Login.c(90): \t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF,
"\\r\\n" ) };\n
Login.c(90): \t\t\t\t\t}) :\n
Login.c(90): \t\t\t\t\t{ name: elem.name, value: val.replace( rCRL
Login.c(90): t=1924ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): F, "\\r\\n" ) };\n
Login.c(90): \t\t}).get();\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.ajaxSettings.xhr = function() {\n
Login.c(90): \ttry {\n
Login.c(90): \t\treturn new XMLHttpRequest();\n
Login.c(90): \t} catch( e ) {}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var xhrId = 0,\n
Login.c(90): \txhrCallbacks = {},\n
Login.c(90): \txhrSuccessStatus = {\n
Login.c(90): \t\t// file protocol always yields status code 0, assume 200\n
Login.c(90): \t\t0: 200,\n
Login.c(90): \t\t// Support: IE9\n
Login.c(90): \t\t// #1450: sometimes IE returns 1223 when it should be 204\n
Login.c(90): \t\t1223: 204\n
Login.c(90): \t},\n
Login.c(90): \txhrSupported = jQuery.ajaxSettings.xhr();\n
Login.c(90): \n
Login.c(90): // Support: IE9\n
Login.c(90): // Open requests must be manually aborted on unload (#5280)\n
Login.c(90): if ( window.ActiveXObject ) {\n
Login.c(90): \tjQuery( window ).on( "unload", function() {\n
Login.c(90): \t\tfor ( var key in xhrCallbacks ) {\n
Login.c(90): \t\t\txhrCallbacks[ key ]();\n
Login.c(90): \t\t}\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): support.cors = !!xhrSupported && ( "withCredentials" in
xhrSupported );\n
Login.c(90): support.ajax = xhrSupported = !!xhrSupported;\n
Login.c(90): \n
Login.c(90): jQuery.ajaxTransport(function( options ) {\n
Login.c(90): \tvar callback;\n
Login.c(90): \n
Login.c(90): \t// Cross domain only allowed if supported through
XMLHttpRequest\n
Login.c(90): \tif ( support.cors || xhrSupported && !options.crossDomain ) {\n
Login.c(90): \t\treturn {\n
Login.c(90): \t\t\tsend: function( headers, complete ) {\n
Login.c(90): \t\t\t\tvar i,\n
Login.c(90): \t\t\t\t\txhr = options.xhr(),\n
Login.c(90): \t\t\t\t\tid = ++xhrId;\n
Login.c(90): \n
Login.c(90): \t\t\t\txhr.open( options.type, options.url, options.async,
options.username, options.pass
Login.c(90): word );\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Apply custom fields if provided\n
Login.c(90): \t\t\t\tif ( options.xhrFields ) {\n
Login.c(90): \t\t\t\t\tfor ( i in options.xhrFields ) {\n
Login.c(90): \t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Override mime type if needed\n
Login.c(90): \t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n
Login.c(90): \t\t\t\t\txhr.overrideMimeType( options.mimeType );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// X-Requested-With header\n
Login.c(90): \t\t\t\t// For cross-domain requests, seeing as conditions for a
preflight are\n
Login.c(90): \t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be
sure.\n
Login.c(90): \t\t\t\t// (it can always be set on a per-request basis or even
using ajaxSetup)\n
Login.c(90): \t\t\t\t// For same-domain requests, won't change header if
already provided.\n
Login.c(90): \t\t\t\tif ( !options.crossDomain && !headers["X-Requested-
With"] ) {\n
Login.c(90): \t\t\t\t\theaders["X-Requested-With"] = "XMLHttpRequest";\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Set headers\n
Login.c(90): \t\t\t\tfor ( i in headers ) {\n
Login.c(90): \t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Callback\n
Login.c(90): \t\t\t\tcallback = function( type ) {\n
Login.c(90): \t\t\t\t\treturn function() {\n
Login.c(90): \t\t\t\t\t\tif ( callback ) {\n
Login.c(90): \t\t\t\t\t\t\tdelete xhrCallbacks[ id ];\n
Login.c(90): \t\t\t\t\t\t\tcallback = xhr.onload = xhr.onerror = null;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t\t\tif ( type === "abort" ) {\n
Login.c(90): \t\t\t\t\t\t\t\txhr.abort();\n
Login.c(90): \t\t\t\t\t\t\t} else if ( type === "error" ) {\n
Login.c(90): \t\t\t\t\t\t\t\tcomplete(\n
Login.c(90): \t\t\t\t\t\t\t\t\t// file: protocol always yields status 0; see
#8605, #14207\n
Login.c(90): \t\t\t\t\t\t\t\t\txhr.status,\n
Login.c(90): \t\t\t\t\t\t\t\t\txhr.statusText\n
Login.c(90): \t\t\t\t\t\t\t\t);\n
Login.c(90): \t\t\t\t\t\t\t} else {\n
Login.c(90): \t\t\t\t\t\t\t\tcomplete(\n
Login.c(90): \t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n
Login.c(90): \t\t\t\t\t\t\t\t\txhr.statusText,\n
Login.c(90): \t\t\t\t\t\t\t\t\t// Support: IE9\n
Login.c(90): \t\t\t\t\t\t\t\t\t// Accessing binary-data responseText throws an
exception\n
Login.c(90): \t\t\t\t\t\t\t\t\t// (#11426)\n
Login.c(90): \t\t\t\t\t\t\t\t\ttypeof xhr.responseText === "string" ? {\n
Login.c(90): \t\t\t\t\t\t\t\t\t\ttext: xhr.responseText\n
Login.c(90): \t\t\t\t\t\t\t\t\t} : undefined,\n
Login.c(90): \t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n
Login.c(90): \t\t\t\t\t\t\t\t);\n
Login.c(90): \t\t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t};\n
Login.c(90): \t\t\t\t};\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Listen to events\n
Login.c(90): \t\t\t\txhr.onload = callback();\n
Login.c(90): \t\t\t\txhr.onerror = callback("error");\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Create the abort callback\n
Login.c(90): \t\t\t\tcallback = xhrCallbacks[ id ] = callback("abort");\n
Login.c(90): \n
Login.c(90): \t\t\t\ttry {\n
Login.c(90): \t\t\t\t\t// Do send the request (this may raise an exception)\n
Login.c(90): \t\t\t\t\txhr.send( options.hasContent && options.data ||
null );\n
Login.c(90): \t\t\t\t} catch ( e ) {\n
Login.c(90): \t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as
an error yet\n
Login.c(90): \t\t\t\t\tif ( callback ) {\n
Login.c(90): \t\t\t\t\t\tthrow e;\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t},\n
Login.c(90): \n
Login.c(90): \t\t\tabort: function() {\n
Login.c(90): \t\t\t\tif ( callback ) {\n
Login.c(90): \t\t\t\t\tcallback();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Install script dataType\n
Login.c(90): jQuery.ajaxSetup({\n
Login.c(90): \taccepts: {\n
Login.c(90): \t\tscript: "text/javascript, application/javascript,
application/ecmascript, application/
Login.c(90): x-ecmascript"\n
Login.c(90): \t},\n
Login.c(90): \tcontents: {\n
Login.c(90): \t\tscript: /(?:java|ecma)script/\n
Login.c(90): \t},\n
Login.c(90): \tconverters: {\n
Login.c(90): \t\t"text script": function( text ) {\n
Login.c(90): \t\t\tjQuery.globalEval( text );\n
Login.c(90): \t\t\treturn text;\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Handle cache's special case and crossDomain\n
Login.c(90): jQuery.ajaxPrefilter( "script", function( s ) {\n
Login.c(90): \tif ( s.cache === undefined ) {\n
Login.c(90): \t\ts.cache = false;\n
Login.c(90): \t}\n
Login.c(90): \tif ( s.crossDomain ) {\n
Login.c(90): \t\ts.type = "GET";\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Bind script tag hack transport\n
Login.c(90): jQuery.ajaxTransport( "script", function( s ) {\n
Login.c(90): \t// This transport only deals with cross domain requests\n
Login.c(90): \tif ( s.crossDomain ) {\n
Login.c(90): \t\tvar script, callback;\n
Login.c(90): \t\treturn {\n
Login.c(90): \t\t\tsend: function( _, complete ) {\n
Login.c(90): \t\t\t\tscript = jQuery("<script>").prop({\n
Login.c(90): \t\t\t\t\tasync: true,\n
Login.c(90): \t\t\t\t\tcharset: s.scriptCharset,\n
Login.c(90): \t\t\t\t\tsrc: s.url\n
Login.c(90): \t\t\t\t}).on(\n
Login.c(90): \t\t\t\t\t"load error",\n
Login.c(90): \t\t\t\t\tcallback = function( evt ) {\n
Login.c(90): \t\t\t\t\t\tscript.remove();\n
Login.c(90): \t\t\t\t\t\tcallback = null;\n
Login.c(90): \t\t\t\t\t\tif ( evt ) {\n
Login.c(90): \t\t\t\t\t\t\tcomplete( evt.type === "error" ? 404 : 200, evt.type
);\n
Login.c(90): \t\t\t\t\t\t}\n
Login.c(90): \t\t\t\t\t}\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \t\t\t\tdocument.head.appendChild( script[ 0 ] );\n
Login.c(90): \t\t\t},\n
Login.c(90): \t\t\tabort: function() {\n
Login.c(90): \t\t\t\tif ( callback ) {\n
Login.c(90): \t\t\t\t\tcallback();\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t};\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var oldCallbacks = [],\n
Login.c(90): \trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n
Login.c(90): \n
Login.c(90): // Default jsonp settings\n
Login.c(90): jQuery.ajaxSetup({\n
Login.c(90): \tjsonp: "callback",\n
Login.c(90): \tjsonpCallback: function() {\n
Login.c(90): \t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + "_" +
( nonce++ ) );\n
Login.c(90): \t\tthis[ callback ] = true;\n
Login.c(90): \t\treturn callback;\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Detect, normalize options and install callbacks for jsonp
requests\n
Login.c(90): jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings,
jqXHR ) {\n
Login.c(90): \n
Login.c(90): \tvar callbackName, overwritten, responseContainer,\n
Login.c(90): \t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n
Login.c(90): \t\t\t"url" :\n
Login.c(90): \t\t\ttypeof s.data === "string" && !( s.contentType ||
"" ).indexOf("application/x-www-fo
Login.c(90): rm-urlencoded") && rjsonp.test( s.data ) && "data"\n
Login.c(90): \t\t);\n
Login.c(90): \n
Login.c(90): \t// Handle iff the expected data type is "jsonp" or we have a
parameter to set\n
Login.c(90): \tif ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {\n
Login.c(90): \n
Login.c(90): \t\t// Get callback name, remembering preexisting value associated
with it\n
Login.c(90): \t\tcallbackName = s.jsonpCallback =
jQuery.isFunction( s.jsonpCallback ) ?\n
Login.c(90): \t\t\ts.jsonpCallback() :\n
Login.c(90): \t\t\ts.jsonpCallback;\n
Login.c(90): \n
Login.c(90): \t\t// Insert callback into url or form data\n
Login.c(90): \t\tif ( jsonProp ) {\n
Login.c(90): \t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" +
callbackName );\n
Login.c(90): \t\t} else if ( s.jsonp !== false ) {\n
Login.c(90): \t\t\ts.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp +
"=" + callbackName;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Use data converter to retrieve json after script
execution\n
Login.c(90): \t\ts.converters["script json"] = function() {\n
Login.c(90): \t\t\tif ( !responseContainer ) {\n
Login.c(90): \t\t\t\tjQuery.error( callbackName + " was not called" );\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t\treturn responseContainer[ 0 ];\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t\t// force json dataType\n
Login.c(90): \t\ts.dataTypes[ 0 ] = "json";\n
Login.c(90): \n
Login.c(90): \t\t// Install callback\n
Login.c(90): \t\toverwritten = window[ callbackName ];\n
Login.c(90): \t\twindow[ callbackName ] = function() {\n
Login.c(90): \t\t\tresponseContainer = arguments;\n
Login.c(90): \t\t};\n
Login.c(90): \n
Login.c(90): \t\t// Clean-up function (fires after converters)\n
Login.c(90): \t\tjqXHR.always(function() {\n
Login.c(90): \t\t\t// Restore preexisting value\n
Login.c(90): \t\t\twindow[ callbackName ] = overwritten;\n
Login.c(90): \n
Login.c(90): \t\t\t// Save back as free\n
Login.c(90): \t\t\tif ( s[ callbackName ] ) {\n
Login.c(90): \t\t\t\t// make sure that re-using the options doesn't screw
things around\n
Login.c(90): \t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n
Login.c(90): \n
Login.c(90): \t\t\t\t// save the callback name for future use\n
Login.c(90): \t\t\t\toldCallbacks.push( callbackName );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Call if it was a function and we have a response\n
Login.c(90): \t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) )
{\n
Login.c(90): \t\t\t\toverwritten( responseContainer[ 0 ] );\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tresponseContainer = overwritten = undefined;\n
Login.c(90): \t\t});\n
Login.c(90): \n
Login.c(90): \t\t// Delegate to script\n
Login.c(90): \t\treturn "script";\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // data: string of html\n
Login.c(90): // context (optional): If specified, the fragment will be created
in this context, default
Login.c(90): s to document\n
Login.c(90): // keepScripts (optional): If true, will include scripts passed in
the html string\n
Login.c(90): jQuery.parseHTML = function( data, context, keepScripts ) {\n
Login.c(90): \tif ( !data || typeof data !== "string" ) {\n
Login.c(90): \t\treturn null;\n
Login.c(90): \t}\n
Login.c(90): \tif ( typeof context === "boolean" ) {\n
Login.c(90): \t\tkeepScripts = context;\n
Login.c(90): \t\tcontext = false;\n
Login.c(90): \t}\n
Login.c(90): \tcontext = context || document;\n
Login.c(90): \n
Login.c(90): \tvar parsed = rsingleTag.exec( data ),\n
Login.c(90): \t\tscripts = !keepScripts && [];\n
Login.c(90): \n
Login.c(90): \t// Single tag\n
Login.c(90): \tif ( parsed ) {\n
Login.c(90): \t\treturn [ context.createElement( parsed[1] ) ];\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tparsed = jQuery.buildFragment( [ data ], context, scripts );\n
Login.c(90): \n
Login.c(90): \tif ( scripts && scripts.length ) {\n
Login.c(90): \t\tjQuery( scripts ).remove();\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn jQuery.merge( [], parsed.childNodes );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Keep a copy of the old load method\n
Login.c(90): var _load = jQuery.fn.load;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Load a url into a page\n
Login.c(90): */\n
Login.c(90): jQuery.fn.load = function( url, params, callback ) {\n
Login.c(90): \tif ( typeof url !== "string" && _load ) {\n
Login.c(90): \t\treturn _load.apply( this, arguments );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tvar selector, type, response,\n
Login.c(90): \t\tself = this,\n
Login.c(90): \t\toff = url.indexOf(" ");\n
Login.c(90): \n
Login.c(90): \tif ( off >= 0 ) {\n
Login.c(90): \t\tselector = jQuery.trim( url.slice( off ) );\n
Login.c(90): \t\turl = url.slice( 0, off );\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// If it's a function\n
Login.c(90): \tif ( jQuery.isFunction( params ) ) {\n
Login.c(90): \n
Login.c(90): \t\t// We assume that it's the callback\n
Login.c(90): \t\tcallback = params;\n
Login.c(90): \t\tparams = undefined;\n
Login.c(90): \n
Login.c(90): \t// Otherwise, build a param string\n
Login.c(90): \t} else if ( params && typeof params === "object" ) {\n
Login.c(90): \t\ttype = "POST";\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \t// If we have elements to modify, make the request\n
Login.c(90): \tif ( self.length > 0 ) {\n
Login.c(90): \t\tjQuery.ajax({\n
Login.c(90): \t\t\turl: url,\n
Login.c(90): \n
Login.c(90): \t\t\t// if "type" variable is undefined, then "GET" method will
be used\n
Login.c(90): \t\t\ttype: type,\n
Login.c(90): \t\t\tdataType: "html",\n
Login.c(90): \t\t\tdata: params\n
Login.c(90): \t\t}).done(function( responseText ) {\n
Login.c(90): \n
Login.c(90): \t\t\t// Save response for use in complete callback\n
Login.c(90): \t\t\tresponse = arguments;\n
Login.c(90): \n
Login.c(90): \t\t\tself.html( selector ?\n
Login.c(90): \n
Login.c(90): \t\t\t\t// If a selector was specified, locate the right elements
in a dummy div\n
Login.c(90): \t\t\t\t// Exclude scripts to avoid IE 'Permission Denied'
errors\n
Login.c(90):
\t\t\t\tjQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector )
:\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Otherwise use the full result\n
Login.c(90): \t\t\t\tresponseText );\n
Login.c(90): \n
Login.c(90): \t\t}).complete( callback && function( jqXHR, status ) {\n
Login.c(90): \t\t\tself.each( callback, response || [ jqXHR.responseText,
status, jqXHR ] );\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): jQuery.expr.filters.animated = function( elem ) {\n
Login.c(90): \treturn jQuery.grep(jQuery.timers, function( fn ) {\n
Login.c(90): \t\treturn elem === fn.elem;\n
Login.c(90): \t}).length;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var docElem = window.document.documentElement;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Gets a window from an element\n
Login.c(90): */\n
Login.c(90): function getWindow( elem ) {\n
Login.c(90): \treturn jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 &&
elem.defaultView;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): jQuery.offset = {\n
Login.c(90): \tsetOffset: function( elem, options, i ) {\n
Login.c(90): \t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset,
curCSSLeft, calculatePosition,
Login.c(90): \n
Login.c(90): \t\t\tposition = jQuery.css( elem, "position" ),\n
Login.c(90): \t\t\tcurElem = jQuery( elem ),\n
Login.c(90): \t\t\tprops = {};\n
Login.c(90): \n
Login.c(90): \t\t// Set position first, in-case top/left are set even on static
elem\n
Login.c(90): \t\tif ( position === "static" ) {\n
Login.c(90): \t\t\telem.style.position = "relative";\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tcurOffset = curElem.offset();\n
Login.c(90): \t\tcurCSSTop = jQuery.css( elem, "top" );\n
Login.c(90): \t\tcurCSSLeft = jQuery.css( elem, "left" );\n
Login.c(90): \t\tcalculatePosition = ( position === "absolute" || position ===
"fixed" ) &&\n
Login.c(90): \t\t\t( curCSSTop + curCSSLeft ).indexOf("auto") > -1;\n
Login.c(90): \n
Login.c(90): \t\t// Need to be able to calculate position if either top or left
is auto and position is
Login.c(90): either absolute or fixed\n
Login.c(90): \t\tif ( calculatePosition ) {\n
Login.c(90): \t\t\tcurPosition = curElem.position();\n
Login.c(90): \t\t\tcurTop = curPosition.top;\n
Login.c(90): \t\t\tcurLeft = curPosition.left;\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n
Login.c(90): \t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( jQuery.isFunction( options ) ) {\n
Login.c(90): \t\t\toptions = options.call( elem, i, curOffset );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( options.top != null ) {\n
Login.c(90): \t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n
Login.c(90): \t\t}\n
Login.c(90): \t\tif ( options.left != null ) {\n
Login.c(90): \t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tif ( "using" in options ) {\n
Login.c(90): \t\t\toptions.using.call( elem, props );\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\tcurElem.css( props );\n
Login.c(90): \t\t}\n
Login.c(90): \t}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fn.extend({\n
Login.c(90): \toffset: function( options ) {\n
Login.c(90): \t\tif ( arguments.length ) {\n
Login.c(90): \t\t\treturn options === undefined ?\n
Login.c(90): \t\t\t\tthis :\n
Login.c(90): \t\t\t\tthis.each(function( i ) {\n
Login.c(90): \t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n
Login.c(90): \t\t\t\t});\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar docElem, win,\n
Login.c(90): \t\t\telem = this[ 0 ],\n
Login.c(90): \t\t\tbox = { top: 0, left: 0 },\n
Login.c(90): \t\t\tdoc = elem && elem.ownerDocument;\n
Login.c(90): \n
Login.c(90): \t\tif ( !doc ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tdocElem = doc.documentElement;\n
Login.c(90): \n
Login.c(90): \t\t// Make sure it's not a disconnected DOM node\n
Login.c(90): \t\tif ( !jQuery.contains( docElem, elem ) ) {\n
Login.c(90): \t\t\treturn box;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// If we don't have gBCR, just use 0,0 rather than error\n
Login.c(90): \t\t// BlackBerry 5, iOS 3 (original iPhone)\n
Login.c(90): \t\tif ( typeof elem.getBoundingClientRect !== strundefined ) {\n
Login.c(90): \t\t\tbox = elem.getBoundingClientRect();\n
Login.c(90): \t\t}\n
Login.c(90): \t\twin = getWindow( doc );\n
Login.c(90): \t\treturn {\n
Login.c(90): \t\t\ttop: box.top + win.pageYOffset - docElem.clientTop,\n
Login.c(90): \t\t\tleft: box.left + win.pageXOffset - docElem.clientLeft\n
Login.c(90): \t\t};\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \tposition: function() {\n
Login.c(90): \t\tif ( !this[ 0 ] ) {\n
Login.c(90): \t\t\treturn;\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\tvar offsetParent, offset,\n
Login.c(90): \t\t\telem = this[ 0 ],\n
Login.c(90): \t\t\tparentOffset = { top: 0, left: 0 };\n
Login.c(90): \n
Login.c(90): \t\t// Fixed elements are offset from window (parentOffset =
{top:0, left: 0}, because it
Login.c(90): is its only offset parent\n
Login.c(90): \t\tif ( jQuery.css( elem, "position" ) === "fixed" ) {\n
Login.c(90): \t\t\t// We assume that getBoundingClientRect is available when
computed position is fixed
Login.c(90): \n
Login.c(90): \t\t\toffset
Login.c(90): t=1945ms: 5690-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js" (RelFrameId=, Internal
ID=15)
Login.c(90): = elem.getBoundingClientRect();\n
Login.c(90): \n
Login.c(90): \t\t} else {\n
Login.c(90): \t\t\t// Get *real* offsetParent\n
Login.c(90): \t\t\toffsetParent = this.offsetParent();\n
Login.c(90): \n
Login.c(90): \t\t\t// Get correct offsets\n
Login.c(90): \t\t\toffset = this.offset();\n
Login.c(90): \t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {\n
Login.c(90): \t\t\t\tparentOffset = offsetParent.offset();\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t// Add offsetParent borders\n
Login.c(90): \t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ],
"borderTopWidth", true );\n
Login.c(90): \t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ],
"borderLeftWidth", true );\n
Login.c(90): \t\t}\n
Login.c(90): \n
Login.c(90): \t\t// Subtract parent offsets and element margins\n
Login.c(90): \t\treturn {\n
Login.c(90): \t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem,
"marginTop", true ),\n
Login.c(90): \t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem,
"marginLeft", true )\n
Login.c(90): \t\t};\n
Login.c(90): \t},\n
Login.c(90): \n
Login.c(90): \toffsetParent: function() {\n
Login.c(90): \t\treturn this.map(function() {\n
Login.c(90): \t\t\tvar offsetParent = this.offsetParent || docElem;\n
Login.c(90): \n
Login.c(90): \t\t\twhile ( offsetParent && ( !jQuery.nodeName( offsetParent,
"html" ) && jQuery.css( of
Login.c(90): fsetParent, "position" ) === "static" ) ) {\n
Login.c(90): \t\t\t\toffsetParent = offsetParent.offsetParent;\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\treturn offsetParent || docElem;\n
Login.c(90): \t\t});\n
Login.c(90): \t}\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Create scrollLeft and scrollTop methods\n
Login.c(90): jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset"
}, function( method, pr
Login.c(90): op ) {\n
Login.c(90): \tvar top = "pageYOffset" === prop;\n
Login.c(90): \n
Login.c(90): \tjQuery.fn[ method ] = function( val ) {\n
Login.c(90): \t\treturn access( this, function( elem, method, val ) {\n
Login.c(90): \t\t\tvar win = getWindow( elem );\n
Login.c(90): \n
Login.c(90): \t\t\tif ( val === undefined ) {\n
Login.c(90): \t\t\t\treturn win ? win[ prop ] : elem[ method ];\n
Login.c(90): \t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\tif ( win ) {\n
Login.c(90): \t\t\t\twin.scrollTo(\n
Login.c(90): \t\t\t\t\t!top ? val : window.pageXOffset,\n
Login.c(90): \t\t\t\t\ttop ? val : window.pageYOffset\n
Login.c(90): \t\t\t\t);\n
Login.c(90): \n
Login.c(90): \t\t\t} else {\n
Login.c(90): \t\t\t\telem[ method ] = val;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}, method, val, arguments.length, null );\n
Login.c(90): \t};\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Add the top/left cssHooks using jQuery.fn.position\n
Login.c(90): // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n
Login.c(90): // getComputedStyle returns percent when specified for
top/left/bottom/right\n
Login.c(90): // rather than make the css module depend on the offset module, we
just check for it here\n
Login.c(90): jQuery.each( [ "top", "left" ], function( i, prop ) {\n
Login.c(90): \tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n
Login.c(90): \t\tfunction( elem, computed ) {\n
Login.c(90): \t\t\tif ( computed ) {\n
Login.c(90): \t\t\t\tcomputed = curCSS( elem, prop );\n
Login.c(90): \t\t\t\t// if curCSS returns percentage, fallback to offset\n
Login.c(90): \t\t\t\treturn rnumnonpx.test( computed ) ?\n
Login.c(90): \t\t\t\t\tjQuery( elem ).position()[ prop ] + "px" :\n
Login.c(90): \t\t\t\t\tcomputed;\n
Login.c(90): \t\t\t}\n
Login.c(90): \t\t}\n
Login.c(90): \t);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Create innerHeight, innerWidth, height, width, outerHeight and
outerWidth methods\n
Login.c(90): jQuery.each( { Height: "height", Width: "width" }, function( name,
type ) {\n
Login.c(90): \tjQuery.each( { padding: "inner" + name, content: type, "":
"outer" + name }, function( d
Login.c(90): efaultExtra, funcName ) {\n
Login.c(90): \t\t// margin is only for outerHeight, outerWidth\n
Login.c(90): \t\tjQuery.fn[ funcName ] = function( margin, value ) {\n
Login.c(90): \t\t\tvar chainable = arguments.length && ( defaultExtra || typeof
margin !== "boolean" ),
Login.c(90): \n
Login.c(90): \t\t\t\textra = defaultExtra || ( margin === true || value ===
true ? "margin" : "border"
Login.c(90): );\n
Login.c(90): \n
Login.c(90): \t\t\treturn access( this, function( elem, type, value ) {\n
Login.c(90): \t\t\t\tvar doc;\n
Login.c(90): \n
Login.c(90): \t\t\t\tif ( jQuery.isWindow( elem ) ) {\n
Login.c(90): \t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for
Mobile Safari, but there
Login.c(90): \n
Login.c(90): \t\t\t\t\t// isn't a whole lot we can do. See pull request at this
URL for discussion:\n
Login.c(90): \t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n
Login.c(90): \t\t\t\t\treturn elem.document.documentElement[ "client" +
name ];\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\t// Get document width or height\n
Login.c(90): \t\t\t\tif ( elem.nodeType === 9 ) {\n
Login.c(90): \t\t\t\t\tdoc = elem.documentElement;\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height]
or client[Width/Height],\n
Login.c(90): \t\t\t\t\t// whichever is greatest\n
Login.c(90): \t\t\t\t\treturn Math.max(\n
Login.c(90): \t\t\t\t\t\telem.body[ "scroll" + name ], doc[ "scroll" +
name ],\n
Login.c(90): \t\t\t\t\t\telem.body[ "offset" + name ], doc[ "offset" +
name ],\n
Login.c(90): \t\t\t\t\t\tdoc[ "client" + name ]\n
Login.c(90): \t\t\t\t\t);\n
Login.c(90): \t\t\t\t}\n
Login.c(90): \n
Login.c(90): \t\t\t\treturn value === undefined ?\n
Login.c(90): \t\t\t\t\t// Get width or height on the element, requesting but
not forcing parseFloat\n
Login.c(90): \t\t\t\t\tjQuery.css( elem, type, extra ) :\n
Login.c(90): \n
Login.c(90): \t\t\t\t\t// Set width or height on the element\n
Login.c(90): \t\t\t\t\tjQuery.style( elem, type, value, extra );\n
Login.c(90): \t\t\t}, type, chainable ? margin : undefined, chainable,
null );\n
Login.c(90): \t\t};\n
Login.c(90): \t});\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // The number of elements contained in the matched element set\n
Login.c(90): jQuery.fn.size = function() {\n
Login.c(90): \treturn this.length;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): jQuery.fn.andSelf = jQuery.fn.addBack;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Register as a named AMD module, since jQuery can be
concatenated with other\n
Login.c(90): // files that may use define, but not via a proper concatenation
script that\n
Login.c(90): // understands anonymous AMD modules. A named AMD is safest and
most robust\n
Login.c(90): // way to register. Lowercase jquery is used because AMD module
names are\n
Login.c(90): // derived from file names, and jQuery is normally delivered in a
lowercase\n
Login.c(90): // file name. Do this after creating the global so that if an AMD
module wants\n
Login.c(90): // to call noConflict to hide this version of jQuery, it will
work.\n
Login.c(90): \n
Login.c(90): // Note that for maximum portability, libraries that are not
jQuery should\n
Login.c(90): // declare themselves as anonymous modules, and avoid setting a
global if an\n
Login.c(90): // AMD loader is present. jQuery is a special case. For more
information, see\n
Login.c(90): // https://github.com/jrburke/requirejs/wiki/Updating-existing-
libraries#wiki-anon\n
Login.c(90): \n
Login.c(90): if ( typeof define === "function" && define.amd ) {\n
Login.c(90): \tdefine( "jquery", [], function() {\n
Login.c(90): \t\treturn jQuery;\n
Login.c(90): \t});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var\n
Login.c(90): \t// Map over jQuery in case of overwrite\n
Login.c(90): \t_jQuery = window.jQuery,\n
Login.c(90): \n
Login.c(90): \t// Map over the $ in case of overwrite\n
Login.c(90): \t_$ = window.$;\n
Login.c(90): \n
Login.c(90): jQuery.noConflict = function( deep ) {\n
Login.c(90): \tif ( window.$ === jQuery ) {\n
Login.c(90): \t\twindow.$ = _$;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \tif ( deep && window.jQuery === jQuery ) {\n
Login.c(90): \t\twindow.jQuery = _jQuery;\n
Login.c(90): \t}\n
Login.c(90): \n
Login.c(90): \treturn jQuery;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Expose jQuery and $ identifiers, even in\n
Login.c(90): // AMD (#7102#comment:10,
https://github.com/jquery/jquery/pull/557)\n
Login.c(90): // and CommonJS for browser emulators (#13566)\n
Login.c(90): if ( typeof noGlobal === strundefined ) {\n
Login.c(90): \twindow.jQuery = window.$ = jQuery;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return jQuery;\n
Login.c(90): \n
Login.c(90): }));\n
Login.c(90): t=1955ms: 293-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"918-1416253775000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:35 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=1955ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): a\r\n
Login.c(90): t=1955ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): \r\n
Login.c(90): 1c7\r\n
Login.c(90): t=1956ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=1956ms: 465-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): t=1956ms: 918-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-translate-loader-static-files/angular-
translate-loader-static-files.js" (RelFrameId=, Internal ID=21)
Login.c(90): /*!\n
Login.c(90): * angular-translate - v2.4.0 - 2014-09-22\n
Login.c(90): * http://github.com/PascalPrecht/angular-translate\n
Login.c(90): * Copyright (c) 2014 ; Licensed MIT\n
Login.c(90): */\n
Login.c(90):
angular.module('pascalprecht.translate').factory('$translateStaticFilesLoader', [\n
Login.c(90): '$q',\n
Login.c(90): '$http',\n
Login.c(90): function ($q, $http) {\n
Login.c(90): return function (options) {\n
Login.c(90): if (!options || (!angular.isString(options.prefix) || !
angular.isString(options.suff
Login.c(90): ix))) {\n
Login.c(90): throw new Error('Couldn\\'t load static files, no prefix
or suffix specified!');\n
Login.c(90): }\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): $http(angular.extend({}, options.$http, {\n
Login.c(90): url: [\n
Login.c(90): options.prefix,\n
Login.c(90): options.key,\n
Login.c(90): options.suffix\n
Login.c(90): ].join(''),\n
Login.c(90): method: 'GET',\n
Login.c(90): params: ''\n
Login.c(90): })).success(function (data) {\n
Login.c(90): deferred.resolve(data);\n
Login.c(90): }).error(function (data) {\n
Login.c(90): deferred.reject(options.key);\n
Login.c(90): });\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ]);
Login.c(90): t=1959ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"141352-1416253776000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:36 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 141352\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=1960ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): /*\n
Login.c(90): * angular-ui-bootstrap\n
Login.c(90): * http://angular-ui.github.io/bootstrap/\n
Login.c(90): \n
Login.c(90): * Version: 0.11.2 - 2014-09-26\n
Login.c(90): * License: MIT\n
Login.c(90): */\n
Login.c(90): angular.module("ui.bootstrap", ["ui.bootstrap.tpls",
"ui.bootstrap.transition","ui.bootstr
Login.c(90):
ap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml",
"ui.boo
Login.c(90):
tstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.pos
ition",
Login.c(90):
"ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstra
p.pagin
Login.c(90):
ation","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui
.bootst
Login.c(90):
rap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]
);\n
Login.c(90): angular.module("ui.bootstrap.tpls",
["template/accordion/accordion-group.html","template/a
Login.c(90):
ccordion/accordion.html","template/alert/alert.html","template/carousel/carousel.ht
ml","te
Login.c(90):
mplate/carousel/slide.html","template/datepicker/datepicker.html","template/datepic
ker/day
Login.c(90):
.html","template/datepicker/month.html","template/datepicker/popup.html","template/
datepic
Login.c(90):
ker/year.html","template/modal/backdrop.html","template/modal/window.html","templat
e/pagin
Login.c(90):
ation/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-
html-uns
Login.c(90): afe-popup.html","template/tooltip/tooltip-
popup.html","template/popover/popover.html","tem
Login.c(90):
plate/progressbar/bar.html","template/progressbar/progress.html","template/progress
bar/pro
Login.c(90):
gressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tab
s/tabse
Login.c(90):
t.html","template/timepicker/timepicker.html","template/typeahead/typeahead-
match.html","t
Login.c(90): emplate/typeahead/typeahead-popup.html"]);\n
Login.c(90): angular.module('ui.bootstrap.transition', [])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * $transition service provides a consistent interface to trigger
CSS 3 transitions and to
Login.c(90): be informed when they complete.\n
Login.c(90): * @param {DOMElement} element The DOMElement that will be
animated.\n
Login.c(90): * @param {string|object|function} trigger The thing that will
cause the transition to s
Login.c(90): tart:\n
Login.c(90): * - As a string, it represents the css class to be added to the
element.\n
Login.c(90): * - As an object, it represents a hash of style attributes to
be applied to the element
Login.c(90): .\n
Login.c(90): * - As a function, it represents a function to be called that
will cause the transition
Login.c(90): to occur.\n
Login.c(90): * @return {Promise} A promise that is resolved when the
transition finishes.\n
Login.c(90): */\n
Login.c(90): .factory('$transition', ['$q', '$timeout', '$rootScope',
function($q, $timeout, $rootScope
Login.c(90): ) {\n
Login.c(90): \n
Login.c(90): var $transition = function(element, trigger, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): var endEventName = $transition[options.animation ?
'animationEndEventName' : 'transiti
Login.c(90): onEndEventName'];\n
Login.c(90): \n
Login.c(90): var transitionEndHandler = function(event) {\n
Login.c(90): $rootScope.$apply(function() {\n
Login.c(90): element.unbind(endEventName, transitionEndHandler);\n
Login.c(90): deferred.resolve(element);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (endEventName) {\n
Login.c(90): element.bind(endEventName, transitionEndHandler);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Wrap in a timeout to allow the browser time to update the
DOM before the transition
Login.c(90): is to occur\n
Login.c(90): $timeout(function() {\n
Login.c(90): if ( angular.isString(trigger) ) {\n
Login.c(90): element.addClass(trigger);\n
Login.c(90): } else if ( angular.isFunction(trigger) ) {\n
Login.c(90): trigger(element);\n
Login.c(90): } else if ( angular.isObject(trigger) ) {\n
Login.c(90): element.css(trigger);\n
Login.c(90): }\n
Login.c(90): //If browser does not support transitions, instantly
resolve\n
Login.c(90): if ( !endEventName ) {\n
Login.c(90): deferred.resolve(element);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Add our custom cancel function to the promise that is
returned\n
Login.c(90): // We can call this if we are about to run a new transition,
which we know will preven
Login.c(90): t this transition from ending,\n
Login.c(90): // i.e. it will therefore never raise a transitionEnd event
for that transition\n
Login.c(90): deferred.promise.cancel = function() {\n
Login.c(90): if ( endEventName ) {\n
Login.c(90): element.unbind(endEventName, transitionEndHandler);\n
Login.c(90): }\n
Login.c(90): deferred.reject('Transition cancelled');\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Work out the name of the transitionEnd event\n
Login.c(90): var transElement = document.createElement('trans');\n
Login.c(90): var transitionEndEventNames = {\n
Login.c(90): 'WebkitTransition': 'webkitTransitionEnd',\n
Login.c(90): 'MozTransition': 'transitionend',\n
Login.c(90): 'OTransition': 'oTransitionEnd',\n
Login.c(90): 'transition': 'transitionend'\n
Login.c(90): };\n
Login.c(90): var animationEndEventNames = {\n
Login.c(90): 'WebkitTransition': 'webkitAnimationEnd',\n
Login.c(90): 'MozTransition': 'animationend',\n
Login.c(90): 'OTransition': 'oAnimationEnd',\n
Login.c(90): 'transition': 'animationend'\n
Login.c(90): };\n
Login.c(90): function findEndEventName(endEventNames) {\n
Login.c(90): for (var name in endEventNames){\n
Login.c(90): if (transElement.style[name] !== undefined) {\n
Login.c(90): return endEventNames[name];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): $transition.transitionEndEventName =
findEndEventName(transitionEndEventNames);\n
Login.c(90): $transition.animationEndEventName =
findEndEventName(animationEndEventNames);\n
Login.c(90): return $transition;\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.collapse',
['ui.bootstrap.transition'])\n
Login.c(90): \n
Login.c(90): .directive('collapse', ['$transition', function ($transition)
{\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): link: function (scope, element, attrs) {\n
Login.c(90): \n
Login.c(90): var initialAnimSkip = true;\n
Login.c(90): var currentTransition;\n
Login.c(90): \n
Login.c(90): function doTransition(change) {\n
Login.c(90): var newTransition = $transition(element, change);\n
Login.c(90): if (currentTransition) {\n
Login.c(90): currentTransition.cancel();\n
Login.c(90): }\n
Login.c(90): currentTransition = newTransition;\n
Login.c(90): newTransition.then(newTransitionDone,
newTransitionDone);\n
Login.c(90): return newTransition;\n
Login.c(90): \n
Login.c(90): function newTransitionDone() {\n
Login.c(90): // Make sure it's this transition, otherwise, leave it
alone.\n
Login.c(90): if (currentTransition === newTransition) {\n
Login.c(90): currentTransition = undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function expand() {\n
Login.c(90): if (initialAnimSkip) {\n
Login.c(90): initialAnimSkip = false;\n
Login.c(90): expandDone();\n
Login.c(90): } else {\n
Login.c(90):
element.removeClass('collapse').addClass('collapsing');\n
Login.c(90): doTransition({ height: element[0].scrollHeight +
'px' }).then(expandDone);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function expandDone() {\n
Login.c(90): element.removeClass('collapsing');\n
Login.c(90): element.addClass('collapse in');\n
Login.c(90): element.css({height: 'auto'});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function collapse() {\n
Login.c(90): if (initialAnimSkip) {\n
Login.c(90): initialAnimSkip = false;\n
Login.c(90): collapseDone();\n
Login.c(90): element.css({height: 0});\n
Login.c(90): } else {\n
Login.c(90): // CSS transitions don't work with height: auto, so we
have to manually change
Login.c(90): the height to a specific value\n
Login.c(90): element.css({ height: element[0].scrollHeight +
'px' });\n
Login.c(90): //trigger reflow so a browser realizes that height was
updated from auto to a
Login.c(90): specific value\n
Login.c(90): var x = element[0].offsetWidth;\n
Login.c(90): \n
Login.c(90): element.removeClass('collapse
in').addClass('collapsing');\n
Login.c(90): \n
Login.c(90): doTransition({ height: 0 }).then(collapseDone);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function collapseDone() {\n
Login.c(90): element.removeClass('collapsing');\n
Login.c(90): element.addClass('collapse');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.$watch(attrs.collapse, function (shouldCollapse) {\n
Login.c(90): if (shouldCollapse) {\n
Login.c(90): collapse();\n
Login.c(90): } else {\n
Login.c(90): expand();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.accordion',
['ui.bootstrap.collapse'])\n
Login.c(90): \n
Login.c(90): .constant('accordionConfig', {\n
Login.c(90): closeOthers: true\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('AccordionController', ['$scope', '$attrs',
'accordionConfig', function ($scop
Login.c(90): e, $attrs, accordionConfig) {\n
Login.c(90): \n
Login.c(90): // This array keeps track of the accordion groups\n
Login.c(90): this.groups = [];\n
Login.c(90): \n
Login.c(90): // Ensure that all the groups in this accordion are closed,
unless close-others explicit
Login.c(90): ly says not to\n
Login.c(90): this.closeOthers = function(openGroup) {\n
Login.c(90): var closeOthers = angular.isDefined($attrs.closeOthers) ?
$scope.$eval($attrs.closeOth
Login.c(90): ers) : accordionConfig.closeOthers;\n
Login.c(90): if ( closeOthers ) {\n
Login.c(90): angular.forEach(this.groups, function (group) {\n
Login.c(90): if ( group !== openGroup ) {\n
Login.c(90): group.isOpen = false;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // This is called from the accordion-group directive to add
itself to the accordion\n
Login.c(90): this.addGroup = function(groupScope) {\n
Login.c(90): var that = this;\n
Login.c(90): this.groups.push(groupScope);\n
Login.c(90): \n
Login.c(90): groupScope.$on('$destroy', function (event) {\n
Login.c(90): that.removeGroup(groupScope);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // This is called from the accordion-group directive when to
remove itself\n
Login.c(90): this.removeGroup = function(group) {\n
Login.c(90): var index = this.groups.indexOf(group);\n
Login.c(90): if ( index !== -1 ) {\n
Login.c(90): this.groups.splice(index, 1);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): // The accordion directive simply sets up the directive
controller\n
Login.c(90): // and adds an accordion CSS class to itself element.\n
Login.c(90): .directive('accordion', function () {\n
Login.c(90): return {\n
Login.c(90): restrict:'EA',\n
Login.c(90): controller:'AccordionController',\n
Login.c(90): tra
Login.c(90): t=1992ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): nsclude: true,\n
Login.c(90): replace: false,\n
Login.c(90): templateUrl: 'template/accordion/accordion.html'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): // The accordion-group directive indicates a block of html that
will expand and collapse i
Login.c(90): n an accordion\n
Login.c(90): .directive('accordionGroup', function() {\n
Login.c(90): return {\n
Login.c(90): require:'^accordion', // We need this directive to be
inside an accordion\n
Login.c(90): restrict:'EA',\n
Login.c(90): transclude:true, // It transcludes the contents
of the directive into the
Login.c(90): template\n
Login.c(90): replace: true, // The element containing the
directive will be replaced
Login.c(90): with the template\n
Login.c(90): templateUrl:'template/accordion/accordion-group.html',\n
Login.c(90): scope: {\n
Login.c(90): heading: '@', // Interpolate the heading
attribute onto this scope\n
Login.c(90): isOpen: '=?',\n
Login.c(90): isDisabled: '=?'\n
Login.c(90): },\n
Login.c(90): controller: function() {\n
Login.c(90): this.setHeading = function(element) {\n
Login.c(90): this.heading = element;\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): link: function(scope, element, attrs, accordionCtrl) {\n
Login.c(90): accordionCtrl.addGroup(scope);\n
Login.c(90): \n
Login.c(90): scope.$watch('isOpen', function(value) {\n
Login.c(90): if ( value ) {\n
Login.c(90): accordionCtrl.closeOthers(scope);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.toggleOpen = function() {\n
Login.c(90): if ( !scope.isDisabled ) {\n
Login.c(90): scope.isOpen = !scope.isOpen;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): // Use accordion-heading below an accordion-group to provide a
heading containing HTML\n
Login.c(90): // <accordion-group>\n
Login.c(90): // <accordion-heading>Heading containing HTML - <img
src="..."></accordion-heading>\n
Login.c(90): // </accordion-group>\n
Login.c(90): .directive('accordionHeading', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): transclude: true, // Grab the contents to be used as the
heading\n
Login.c(90): template: '', // In effect remove this element!\n
Login.c(90): replace: true,\n
Login.c(90): require: '^accordionGroup',\n
Login.c(90): link: function(scope, element, attr, accordionGroupCtrl,
transclude) {\n
Login.c(90): // Pass the heading to the accordion-group controller\n
Login.c(90): // so that it can be transcluded into the right place in the
template\n
Login.c(90): // [The second parameter to transclude causes the elements
to be cloned so that they
Login.c(90): work in ng-repeat]\n
Login.c(90): accordionGroupCtrl.setHeading(transclude(scope, function()
{}));\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): // Use in the accordion-group template to indicate where you want
the heading to be transc
Login.c(90): luded\n
Login.c(90): // You must provide the property on the accordion-group controller
that will hold the tran
Login.c(90): scluded element\n
Login.c(90): // <div class="accordion-group">\n
Login.c(90): // <div class="accordion-heading" ><a ... accordion-
transclude="heading">...</a></div>\n
Login.c(90): // ...\n
Login.c(90): // </div>\n
Login.c(90): .directive('accordionTransclude', function() {\n
Login.c(90): return {\n
Login.c(90): require: '^accordionGroup',\n
Login.c(90): link: function(scope, element, attr, controller) {\n
Login.c(90): scope.$watch(function() { return
controller[attr.accordionTransclude]; }, function(h
Login.c(90): eading) {\n
Login.c(90): if ( heading ) {\n
Login.c(90): element.html('');\n
Login.c(90): element.append(heading);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.alert', [])\n
Login.c(90): \n
Login.c(90): .controller('AlertController', ['$scope', '$attrs', function
($scope, $attrs) {\n
Login.c(90): $scope.closeable = 'close' in $attrs;\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('alert', function () {\n
Login.c(90): return {\n
Login.c(90): restrict:'EA',\n
Login.c(90): controller:'AlertController',\n
Login.c(90): templateUrl:'template/alert/alert.html',\n
Login.c(90): transclude:true,\n
Login.c(90): replace:true,\n
Login.c(90): scope: {\n
Login.c(90): type: '@',\n
Login.c(90): close: '&'\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.bindHtml', [])\n
Login.c(90): \n
Login.c(90): .directive('bindHtmlUnsafe', function () {\n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): element.addClass('ng-binding').data('$binding',
attr.bindHtmlUnsafe);\n
Login.c(90): scope.$watch(attr.bindHtmlUnsafe, function
bindHtmlUnsafeWatchAction(value) {\n
Login.c(90): element.html(value || '');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): angular.module('ui.bootstrap.buttons', [])\n
Login.c(90): \n
Login.c(90): .constant('buttonConfig', {\n
Login.c(90): activeClass: 'active',\n
Login.c(90): toggleEvent: 'click'\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('ButtonsController', ['buttonConfig',
function(buttonConfig) {\n
Login.c(90): this.activeClass = buttonConfig.activeClass || 'active';\n
Login.c(90): this.toggleEvent = buttonConfig.toggleEvent || 'click';\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('btnRadio', function () {\n
Login.c(90): return {\n
Login.c(90): require: ['btnRadio', 'ngModel'],\n
Login.c(90): controller: 'ButtonsController',\n
Login.c(90): link: function (scope, element, attrs, ctrls) {\n
Login.c(90): var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): //model -> UI\n
Login.c(90): ngModelCtrl.$render = function () {\n
Login.c(90): element.toggleClass(buttonsCtrl.activeClass,
angular.equals(ngModelCtrl.$modelValu
Login.c(90): e, scope.$eval(attrs.btnRadio)));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //ui->model\n
Login.c(90): element.bind(buttonsCtrl.toggleEvent, function () {\n
Login.c(90): var isActive =
element.hasClass(buttonsCtrl.activeClass);\n
Login.c(90): \n
Login.c(90): if (!isActive || angular.isDefined(attrs.uncheckable)) {\n
Login.c(90): scope.$apply(function () {\n
Login.c(90): ngModelCtrl.$setViewValue(isActive ? null : scope.
$eval(attrs.btnRadio));\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('btnCheckbox', function () {\n
Login.c(90): return {\n
Login.c(90): require: ['btnCheckbox', 'ngModel'],\n
Login.c(90): controller: 'ButtonsController',\n
Login.c(90): link: function (scope, element, attrs, ctrls) {\n
Login.c(90): var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): function getTrueValue() {\n
Login.c(90): return getCheckboxValue(attrs.btnCheckboxTrue, true);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getFalseValue() {\n
Login.c(90): return getCheckboxValue(attrs.btnCheckboxFalse, false);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getCheckboxValue(attributeValue, defaultValue) {\n
Login.c(90): var val = scope.$eval(attributeValue);\n
Login.c(90): return angular.isDefined(val) ? val : defaultValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //model -> UI\n
Login.c(90): ngModelCtrl.$render = function () {\n
Login.c(90): element.toggleClass(buttonsCtrl.activeClass,
angular.equals(ngModelCtrl.$modelValu
Login.c(90): e, getTrueValue()));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //ui->model\n
Login.c(90): element.bind(buttonsCtrl.toggleEvent, function () {\n
Login.c(90): scope.$apply(function () {\n
Login.c(90): ngModelCtrl.
$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseVa
Login.c(90): lue() : getTrueValue());\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.bootstrap.carousel\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * AngularJS version of an image carousel.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): angular.module('ui.bootstrap.carousel',
['ui.bootstrap.transition'])\n
Login.c(90): .controller('CarouselController', ['$scope', '$timeout',
'$transition', function ($scope,
Login.c(90): $timeout, $transition) {\n
Login.c(90): var self = this,\n
Login.c(90): slides = self.slides = $scope.slides = [],\n
Login.c(90): currentIndex = -1,\n
Login.c(90): currentTimeout, isPlaying;\n
Login.c(90): self.currentSlide = null;\n
Login.c(90): \n
Login.c(90): var destroyed = false;\n
Login.c(90): /* direction: "prev" or "next" */\n
Login.c(90): self.select = $scope.select = function(nextSlide, direction) {\n
Login.c(90): var nextIndex = slides.indexOf(nextSlide);\n
Login.c(90): //Decide direction if it's not given\n
Login.c(90): if (direction === undefined) {\n
Login.c(90): direction = nextIndex > currentIndex ? 'next' : 'prev';\n
Login.c(90): }\n
Login.c(90): if (nextSlide && nextSlide !== self.currentSlide) {\n
Login.c(90): if ($scope.$currentTransition) {\n
Login.c(90): $scope.$currentTransition.cancel();\n
Login.c(90): //Timeout so ng-class in template has time to fix classes
for finished slide\n
Login.c(90): $timeout(goNext);\n
Login.c(90): } else {\n
Login.c(90): goNext();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): function goNext() {\n
Login.c(90): // Scope has been destroyed, stop here.\n
Login.c(90): if (destroyed) { return; }\n
Login.c(90): //If we have a slide to transition from and we have a
transition type and we're allo
Login.c(90): wed, go\n
Login.c(90): if (self.currentSlide && angular.isString(direction) && !
$scope.noTransition && next
Login.c(90): Slide.$element) {\n
Login.c(90): //We shouldn't do class manip in here, but it's the same
weird thing bootstrap doe
Login.c(90): s. need to fix sometime\n
Login.c(90): nextSlide.$element.addClass(direction);\n
Login.c(90): var reflow = nextSlide.$element[0].offsetWidth; //force
reflow\n
Login.c(90): \n
Login.c(90): //Set all other slides to stop doing their stuff for the
new transition\n
Login.c(90): angular.forEach(slides, function(slide) {\n
Login.c(90): angular.extend(slide, {direction: '', entering: false,
leaving: false, active: f
Login.c(90): alse});\n
Login.c(90): });\n
Login.c(90): angular.extend(nextSlide, {direction: direction, active:
true, entering: true});\n
Login.c(90): angular.extend(self.currentSlide||{}, {direction:
direction, leaving: true});\n
Login.c(90): \n
Login.c(90): $scope.$currentTransition = $transition(nextSlide.
$element, {});\n
Login.c(90): //We have to create new pointers inside a closure since
next & current will change
Login.c(90): \n
Login.c(90): (function(next,current) {\n
Login.c(90): $scope.$currentTransition.then(\n
Login.c(90): function(){ transitionDone(next, current); },\n
Login.c(90): function(){ transitionDone(next, current); }\n
Login.c(90): );\n
Login.c(90): }(nextSlide, self.currentSlide));\n
Login.c(90): } else {\n
Login.c(90): transitionDone(nextSlide, self.currentSlide);\n
Login.c(90): }\n
Login.c(90): self.currentSlide = nextSlide;\n
Login.c(90): currentIndex = nextIndex;\n
Login.c(90): //every time you change slides, reset the timer\n
Login.c(90): restartTimer();\n
Login.c(90): }\n
Login.c(90): function transitionDone(next, current) {\n
Login.c(90): angular.extend(next, {direction: '', active: true, leaving:
false, entering: false})
Login.c(90): ;\n
Login.c(90): angular.extend(current||{}, {direction: '', active: false,
leaving: false, entering:
Login.c(90): false});\n
Login.c(90): $scope.$currentTransition = null;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): $scope.$on('$destroy', function () {\n
Login.c(90): destroyed = true;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /* Allow outside people to call indexOf on slides array */\n
Login.c(90): self.indexOfSlide = function(slide) {\n
Login.c(90): return slides.indexOf(slide);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.next = function() {\n
Login.c(90): var newIndex = (currentIndex + 1) % slides.length;\n
Login.c(90): \n
Login.c(90): //Prevent this user-triggered transition from occurring if
there is already one in pro
Login.c(90): gress\n
Login.c(90): if (!$scope.$currentTransition) {\n
Login.c(90): return self.select(slides[newIndex], 'next');\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.prev = function() {\n
Login.c(90): var newIndex = currentIndex - 1 < 0 ? slides.length - 1 :
currentIndex - 1;\n
Login.c(90): \n
Login.c(90): //Prevent this user-triggered transition from occurring if
there is already one in pro
Login.c(90): gress\n
Login.c(90): if (!$scope.$currentTransition) {\n
Login.c(90): return self.select(slides[newIndex], 'prev');\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.isActive = function(slide) {\n
Login.c(90): return self.currentSlide === slide;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$watch('interval', restartTimer);\n
Login.c(90): $scope.$on('$destroy', resetTimer);\n
Login.c(90): \n
Login.c(90): function restartTimer() {\n
Login.c(90): resetTimer();\n
Login.c(90): var interval = +$scope.interval;\n
Login.c(90): if (!isNaN(interval) && interval>=0) {\n
Login.c(90): currentTimeout = $timeout(timerFn, interval);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function resetTimer() {\n
Login.c(90): if (currentTimeout) {\n
Login.c(90): $timeout.cancel(currentTimeout);\n
Login.c(90): currentTimeout = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function timerFn() {\n
Login.c(90): if (isPlaying) {\n
Login.c(90): $scope.next();\n
Login.c(90): restartTimer();\n
Login.c(90): } else {\n
Login.c(90): $scope.pause();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $scope.play = function() {\n
Login.c(90): if (!isPlaying) {\n
Login.c(90): isPlaying = true;\n
Login.c(90): restartTimer();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): $scope.pause = function() {\n
Login.c(90): if (!$scope.noPause) {\n
Login.c(90): isPlaying = false;\n
Login.c(90): resetTimer();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): self.addSlide = function(slide, element) {\n
Login.c(90): slide.$element = element;\n
Login.c(90): slides.push(slide);\n
Login.c(90): //if this is the first slide or the slide is set to active,
select it\n
Login.c(90): if(slides.length === 1 || slide.active) {\n
Login.c(90): self.select(slides[slides.length-1]);\n
Login.c(90): if (slides.length == 1) {\n
Login.c(90): $scope.play();\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): slide.active = false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): self.removeSlide = function(slide) {\n
Login.c(90): //get the index of the slide inside the carousel\n
Login.c(90): var index = slides.indexOf(slide);\n
Login.c(90): slides.splice(index, 1);\n
Login.c(90): if (slides.length > 0 && slide.active) {\n
Login.c(90): if (index >= slides.length) {\n
Login.c(90): self.select(slides[index-1]);\n
Login.c(90): } else {\n
Login.c(90): self.select(slides[index]);\n
Login.c(90): }\n
Login.c(90): } else if (currentIndex > index) {\n
Login.c(90): currentIndex--;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.bootstrap.carousel.directive:carousel\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Carousel is the outer container for a set of image 'slides' to
showcase.\n
Login.c(90): *\n
Login.c(90): * @param {number=} interval The time, in milliseconds, that it
will take the carousel to
Login.c(90): go to the next slide.\n
Login.c(90): * @param {boolean=} noTransition Whether to disable transitions
on the carousel.\n
Login.c(90): * @param {boolean=} noPause Whether to disable pausing on the
carousel (by default, the c
Login.c(90): arousel interval pauses on hover).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ui.bootstrap">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <carousel>\n
Login.c(90): <slide>\n
Login.c(90): <img src="http://placekitten.com/150/150"
style="margin:auto;">\n
Login.c(90): <div class="carousel-caption">\n
Login.c(90): <p>Beautiful!</p>\n
Login.c(90): </div>\n
Login.c(90): </slide>\n
Login.c(90): <slide>\n
Login.c(90): <img src="http://placekitten.com/100/150"
style="margin:auto;">\n
Login.c(90): <div class="carousel-caption">\n
Login.c(90): <p>D'aww!</p>\n
Login.c(90): </div>\n
Login.c(90): </slide>\n
Login.c(90): </carousel>\n
Login.c(90): </file>\n
Login.c(90): <file na
Login.c(90): t=2026ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): me="demo.css">\n
Login.c(90): .carousel-indicators {\n
Login.c(90): top: auto;\n
Login.c(90): bottom: 15px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): .directive('carousel', [function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): transclude: true,\n
Login.c(90): replace: true,\n
Login.c(90): controller: 'CarouselController',\n
Login.c(90): require: 'carousel',\n
Login.c(90): templateUrl: 'template/carousel/carousel.html',\n
Login.c(90): scope: {\n
Login.c(90): interval: '=',\n
Login.c(90): noTransition: '=',\n
Login.c(90): noPause: '='\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.bootstrap.carousel.directive:slide\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a slide inside a {@link
ui.bootstrap.carousel.directive:carousel carousel}. Mu
Login.c(90): st be placed as a child of a carousel element.\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} active Model binding, whether or not this
slide is currently active.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ui.bootstrap">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="CarouselDemoCtrl">\n
Login.c(90): <carousel>\n
Login.c(90): <slide ng-repeat="slide in slides" active="slide.active">\n
Login.c(90): <img ng-src="{{slide.image}}" style="margin:auto;">\n
Login.c(90): <div class="carousel-caption">\n
Login.c(90): <h4>Slide {{$index}}</h4>\n
Login.c(90): <p>{{slide.text}}</p>\n
Login.c(90): </div>\n
Login.c(90): </slide>\n
Login.c(90): </carousel>\n
Login.c(90): Interval, in milliseconds: <input type="number" ng-
model="myInterval">\n
Login.c(90): <br />Enter a negative number to stop the interval.\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): function CarouselDemoCtrl($scope) {\n
Login.c(90): $scope.myInterval = 5000;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="demo.css">\n
Login.c(90): .carousel-indicators {\n
Login.c(90): top: auto;\n
Login.c(90): bottom: 15px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): .directive('slide', function() {\n
Login.c(90): return {\n
Login.c(90): require: '^carousel',\n
Login.c(90): restrict: 'EA',\n
Login.c(90): transclude: true,\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/carousel/slide.html',\n
Login.c(90): scope: {\n
Login.c(90): active: '=?'\n
Login.c(90): },\n
Login.c(90): link: function (scope, element, attrs, carouselCtrl) {\n
Login.c(90): carouselCtrl.addSlide(scope, element);\n
Login.c(90): //when the scope is destroyed then remove the slide from the
current slides array\n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): carouselCtrl.removeSlide(scope);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.$watch('active', function(active) {\n
Login.c(90): if (active) {\n
Login.c(90): carouselCtrl.select(scope);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.dateparser', [])\n
Login.c(90): \n
Login.c(90): .service('dateParser', ['$locale', 'orderByFilter',
function($locale, orderByFilter) {\n
Login.c(90): \n
Login.c(90): this.parsers = {};\n
Login.c(90): \n
Login.c(90): var formatCodeToRegex = {\n
Login.c(90): 'yyyy': {\n
Login.c(90): regex: '\\\\d{4}',\n
Login.c(90): apply: function(value) { this.year = +value; }\n
Login.c(90): },\n
Login.c(90): 'yy': {\n
Login.c(90): regex: '\\\\d{2}',\n
Login.c(90): apply: function(value) { this.year = +value + 2000; }\n
Login.c(90): },\n
Login.c(90): 'y': {\n
Login.c(90): regex: '\\\\d{1,4}',\n
Login.c(90): apply: function(value) { this.year = +value; }\n
Login.c(90): },\n
Login.c(90): 'MMMM': {\n
Login.c(90): regex: $locale.DATETIME_FORMATS.MONTH.join('|'),\n
Login.c(90): apply: function(value) { this.month =
$locale.DATETIME_FORMATS.MONTH.indexOf(value);
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): 'MMM': {\n
Login.c(90): regex: $locale.DATETIME_FORMATS.SHORTMONTH.join('|'),\n
Login.c(90): apply: function(value) { this.month =
$locale.DATETIME_FORMATS.SHORTMONTH.indexOf(va
Login.c(90): lue); }\n
Login.c(90): },\n
Login.c(90): 'MM': {\n
Login.c(90): regex: '0[1-9]|1[0-2]',\n
Login.c(90): apply: function(value) { this.month = value - 1; }\n
Login.c(90): },\n
Login.c(90): 'M': {\n
Login.c(90): regex: '[1-9]|1[0-2]',\n
Login.c(90): apply: function(value) { this.month = value - 1; }\n
Login.c(90): },\n
Login.c(90): 'dd': {\n
Login.c(90): regex: '[0-2][0-9]{1}|3[0-1]{1}',\n
Login.c(90): apply: function(value) { this.date = +value; }\n
Login.c(90): },\n
Login.c(90): 'd': {\n
Login.c(90): regex: '[1-2]?[0-9]{1}|3[0-1]{1}',\n
Login.c(90): apply: function(value) { this.date = +value; }\n
Login.c(90): },\n
Login.c(90): 'EEEE': {\n
Login.c(90): regex: $locale.DATETIME_FORMATS.DAY.join('|')\n
Login.c(90): },\n
Login.c(90): 'EEE': {\n
Login.c(90): regex: $locale.DATETIME_FORMATS.SHORTDAY.join('|')\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function createParser(format) {\n
Login.c(90): var map = [], regex = format.split('');\n
Login.c(90): \n
Login.c(90): angular.forEach(formatCodeToRegex, function(data, code) {\n
Login.c(90): var index = format.indexOf(code);\n
Login.c(90): \n
Login.c(90): if (index > -1) {\n
Login.c(90): format = format.split('');\n
Login.c(90): \n
Login.c(90): regex[index] = '(' + data.regex + ')';\n
Login.c(90): format[index] = '$'; // Custom symbol to define consumed
part of format\n
Login.c(90): for (var i = index + 1, n = index + code.length; i < n; i+
+) {\n
Login.c(90): regex[i] = '';\n
Login.c(90): format[i] = '$';\n
Login.c(90): }\n
Login.c(90): format = format.join('');\n
Login.c(90): \n
Login.c(90): map.push({ index: index, apply: data.apply });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): regex: new RegExp('^' + regex.join('') + '$'),\n
Login.c(90): map: orderByFilter(map, 'index')\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.parse = function(input, format) {\n
Login.c(90): if ( !angular.isString(input) || !format ) {\n
Login.c(90): return input;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): format = $locale.DATETIME_FORMATS[format] || format;\n
Login.c(90): \n
Login.c(90): if ( !this.parsers[format] ) {\n
Login.c(90): this.parsers[format] = createParser(format);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var parser = this.parsers[format],\n
Login.c(90): regex = parser.regex,\n
Login.c(90): map = parser.map,\n
Login.c(90): results = input.match(regex);\n
Login.c(90): \n
Login.c(90): if ( results && results.length ) {\n
Login.c(90): var fields = { year: 1900, month: 0, date: 1, hours: 0 },
dt;\n
Login.c(90): \n
Login.c(90): for( var i = 1, n = results.length; i < n; i++ ) {\n
Login.c(90): var mapper = map[i-1];\n
Login.c(90): if ( mapper.apply ) {\n
Login.c(90): mapper.apply.call(fields, results[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( isValid(fields.year, fields.month, fields.date) ) {\n
Login.c(90): dt = new Date( fields.year, fields.month, fields.date,
fields.hours);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return dt;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Check if date is valid for specific month (and year for
February).\n
Login.c(90): // Month: 0 = Jan, 1 = Feb, etc\n
Login.c(90): function isValid(year, month, date) {\n
Login.c(90): if ( month === 1 && date > 28) {\n
Login.c(90): return date === 29 && ((year % 4 === 0 && year % 100 !==
0) || year % 400 === 0);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( month === 3 || month === 5 || month === 8 || month ===
10) {\n
Login.c(90): return date < 31;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.position', [])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A set of utility methods that can be use to retrieve position
of DOM elements.\n
Login.c(90): * It is meant to be used where we need to absolute-position DOM
elements in\n
Login.c(90): * relation to other, existing elements (this is the case for
tooltips, popovers,\n
Login.c(90): * typeahead suggestions etc.).\n
Login.c(90): */\n
Login.c(90): .factory('$position', ['$document', '$window', function
($document, $window) {\n
Login.c(90): \n
Login.c(90): function getStyle(el, cssprop) {\n
Login.c(90): if (el.currentStyle) { //IE\n
Login.c(90): return el.currentStyle[cssprop];\n
Login.c(90): } else if ($window.getComputedStyle) {\n
Login.c(90): return $window.getComputedStyle(el)[cssprop];\n
Login.c(90): }\n
Login.c(90): // finally try and get inline style\n
Login.c(90): return el.style[cssprop];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks if a given element is statically positioned\n
Login.c(90): * @param element - raw DOM element\n
Login.c(90): */\n
Login.c(90): function isStaticPositioned(element) {\n
Login.c(90): return (getStyle(element, 'position') || 'static' ) ===
'static';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * returns the closest, non-statically positioned parentOffset
of a given element\n
Login.c(90): * @param element\n
Login.c(90): */\n
Login.c(90): var parentOffsetEl = function (element) {\n
Login.c(90): var docDomEl = $document[0];\n
Login.c(90): var offsetParent = element.offsetParent || docDomEl;\n
Login.c(90): while (offsetParent && offsetParent !== docDomEl &&
isStaticPositioned(offsetParent)
Login.c(90): ) {\n
Login.c(90): offsetParent = offsetParent.offsetParent;\n
Login.c(90): }\n
Login.c(90): return offsetParent || docDomEl;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * Provides read-only equivalent of jQuery's position
function:\n
Login.c(90): * http://api.jquery.com/position/\n
Login.c(90): */\n
Login.c(90): position: function (element) {\n
Login.c(90): var elBCR = this.offset(element);\n
Login.c(90): var offsetParentBCR = { top: 0, left: 0 };\n
Login.c(90): var offsetParentEl = parentOffsetEl(element[0]);\n
Login.c(90): if (offsetParentEl != $document[0]) {\n
Login.c(90): offsetParentBCR =
this.offset(angular.element(offsetParentEl));\n
Login.c(90): offsetParentBCR.top += offsetParentEl.clientTop -
offsetParentEl.scrollTop;\n
Login.c(90): offsetParentBCR.left += offsetParentEl.clientLeft -
offsetParentEl.scrollLeft;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var boundingClientRect =
element[0].getBoundingClientRect();\n
Login.c(90): return {\n
Login.c(90): width: boundingClientRect.width ||
element.prop('offsetWidth'),\n
Login.c(90): height: boundingClientRect.height ||
element.prop('offsetHeight'),\n
Login.c(90): top: elBCR.top - offsetParentBCR.top,\n
Login.c(90): left: elBCR.left - offsetParentBCR.left\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Provides read-only equivalent of jQuery's offset
function:\n
Login.c(90): * http://api.jquery.com/offset/\n
Login.c(90): */\n
Login.c(90): offset: function (element) {\n
Login.c(90): var boundingClientRect =
element[0].getBoundingClientRect();\n
Login.c(90): return {\n
Login.c(90): width: boundingClientRect.width ||
element.prop('offsetWidth'),\n
Login.c(90): height: boundingClientRect.height ||
element.prop('offsetHeight'),\n
Login.c(90): top: boundingClientRect.top + ($window.pageYOffset ||
$document[0].documentEleme
Login.c(90): nt.scrollTop),\n
Login.c(90): left: boundingClientRect.left + ($window.pageXOffset ||
$document[0].documentEle
Login.c(90): ment.scrollLeft)\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Provides coordinates for the targetEl in relation to
hostEl\n
Login.c(90): */\n
Login.c(90): positionElements: function (hostEl, targetEl, positionStr,
appendToBody) {\n
Login.c(90): \n
Login.c(90): var positionStrParts = positionStr.split('-');\n
Login.c(90): var pos0 = positionStrParts[0], pos1 = positionStrParts[1]
|| 'center';\n
Login.c(90): \n
Login.c(90): var hostElPos,\n
Login.c(90): targetElWidth,\n
Login.c(90): targetElHeight,\n
Login.c(90): targetElPos;\n
Login.c(90): \n
Login.c(90): hostElPos = appendToBody ? this.offset(hostEl) :
this.position(hostEl);\n
Login.c(90): \n
Login.c(90): targetElWidth = targetEl.prop('offsetWidth');\n
Login.c(90): targetElHeight = targetEl.prop('offsetHeight');\n
Login.c(90): \n
Login.c(90): var shiftWidth = {\n
Login.c(90): center: function () {\n
Login.c(90): return hostElPos.left + hostElPos.width / 2 -
targetElWidth / 2;\n
Login.c(90): },\n
Login.c(90): left: function () {\n
Login.c(90): return hostElPos.left;\n
Login.c(90): },\n
Login.c(90): right: function () {\n
Login.c(90): return hostElPos.left + hostElPos.width;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var shiftHeight = {\n
Login.c(90): center: function () {\n
Login.c(90): return hostElPos.top + hostElPos.height / 2 -
targetElHeight / 2;\n
Login.c(90): },\n
Login.c(90): top: function () {\n
Login.c(90): return hostElPos.top;\n
Login.c(90): },\n
Login.c(90): bottom: function () {\n
Login.c(90): return hostElPos.top + hostElPos.height;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): switch (pos0) {\n
Login.c(90): case 'right':\n
Login.c(90): targetElPos = {\n
Login.c(90): top: shiftHeight[pos1](),\n
Login.c(90): left: shiftWidth[pos0]()\n
Login.c(90): };\n
Login.c(90): break;\n
Login.c(90): case 'left':\n
Login.c(90): targetElPos = {\n
Login.c(90): top: shiftHeight[pos1](),\n
Login.c(90): left: hostElPos.left - targetElWidth\n
Login.c(90): };\n
Login.c(90): break;\n
Login.c(90): case 'bottom':\n
Login.c(90): targetElPos = {\n
Login.c(90): top: shiftHeight[pos0](),\n
Login.c(90): left: shiftWidth[pos1]()\n
Login.c(90): };\n
Login.c(90): break;\n
Login.c(90): default:\n
Login.c(90): targetElPos = {\n
Login.c(90): top: hostElPos.top - targetElHeight,\n
Login.c(90): left: shiftWidth[pos1]()\n
Login.c(90): };\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return targetElPos;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.datepicker',
['ui.bootstrap.dateparser', 'ui.bootstrap.positi
Login.c(90): on'])\n
Login.c(90): \n
Login.c(90): .constant('datepickerConfig', {\n
Login.c(90): formatDay: 'dd',\n
Login.c(90): formatMonth: 'MMMM',\n
Login.c(90): formatYear: 'yyyy',\n
Login.c(90): formatDayHeader: 'EEE',\n
Login.c(90): formatDayTitle: 'MMMM yyyy',\n
Login.c(90): formatMonthTitle: 'yyyy',\n
Login.c(90): datepickerMode: 'day',\n
Login.c(90): minMode: 'day',\n
Login.c(90): maxMode: 'year',\n
Login.c(90): showWeeks: true,\n
Login.c(90): startingDay: 0,\n
Login.c(90): yearRange: 20,\n
Login.c(90): minDate: null,\n
Login.c(90): maxDate: null\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('DatepickerController', ['$scope', '$attrs', '$parse',
'$interpolate', '$timeo
Login.c(90): ut', '$log', 'dateFilter', 'datepickerConfig', function($scope,
$attrs, $parse, $interpola
Login.c(90): te, $timeout, $log, dateFilter, datepickerConfig) {\n
Login.c(90): var self = this,\n
Login.c(90): ngModelCtrl = { $setViewValue: angular.noop }; //
nullModelCtrl;\n
Login.c(90): \n
Login.c(90): // Modes chain\n
Login.c(90): this.modes = ['day', 'month', 'year'];\n
Login.c(90): \n
Login.c(90): // Configuration attributes\n
Login.c(90): angular.forEach(['formatDay', 'formatMonth', 'formatYear',
'formatDayHeader', 'formatDay
Login.c(90): Title', 'formatMonthTitle',\n
Login.c(90): 'minMode', 'maxMode', 'showWeeks',
'startingDay', 'yearRange'], functio
Login.c(90): n( key, index ) {\n
Login.c(90): self[key] = angular.isDefined($attrs[key]) ? (index < 8 ?
$interpolate($attrs[key])($s
Login.c(90): cope.$parent) : $scope.$parent.$eval($attrs[key])) :
datepickerConfig[key];\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Watchable date attributes\n
Login.c(90): angular.forEach(['minDate', 'maxDate'], function( key ) {\n
Login.c(90): if ( $attrs[key] ) {\n
Login.c(90): $scope.$parent.$watch($parse($attrs[key]), function(value)
{\n
Login.c(90): self[key] = value ? new Date(value) : null;\n
Login.c(90): self.refreshView();\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): self[key] = datepickerConfig[key] ? new
Date(datepickerConfig[key]) : null;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $scop
Login.c(90): t=2051ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): e.datepickerMode = $scope.datepickerMode ||
datepickerConfig.datepickerMode;\n
Login.c(90): $scope.uniqueId = 'datepicker-' + $scope.$id + '-' +
Math.floor(Math.random() * 10000);\n
Login.c(90): this.activeDate = angular.isDefined($attrs.initDate) ? $scope.
$parent.$eval($attrs.initD
Login.c(90): ate) : new Date();\n
Login.c(90): \n
Login.c(90): $scope.isActive = function(dateObject) {\n
Login.c(90): if (self.compare(dateObject.date, self.activeDate) === 0) {\n
Login.c(90): $scope.activeDateId = dateObject.uid;\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.init = function( ngModelCtrl_ ) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): \n
Login.c(90): ngModelCtrl.$render = function() {\n
Login.c(90): self.render();\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.render = function() {\n
Login.c(90): if ( ngModelCtrl.$modelValue ) {\n
Login.c(90): var date = new Date( ngModelCtrl.$modelValue ),\n
Login.c(90): isValid = !isNaN(date);\n
Login.c(90): \n
Login.c(90): if ( isValid ) {\n
Login.c(90): this.activeDate = date;\n
Login.c(90): } else {\n
Login.c(90): $log.error('Datepicker directive: "ng-model" value must be
a Date object, a number
Login.c(90): of milliseconds since 01.01.1970 or a string representing an
RFC2822 or ISO 8601 date.');
Login.c(90): \n
Login.c(90): }\n
Login.c(90): ngModelCtrl.$setValidity('date', isValid);\n
Login.c(90): }\n
Login.c(90): this.refreshView();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.refreshView = function() {\n
Login.c(90): if ( this.element ) {\n
Login.c(90): this._refreshView();\n
Login.c(90): \n
Login.c(90): var date = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.
$modelValue) : null;\n
Login.c(90): ngModelCtrl.$setValidity('date-disabled', !date ||
(this.element && !this.isDisabled
Login.c(90): (date)));\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.createDateObject = function(date, format) {\n
Login.c(90): var model = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.
$modelValue) : null;\n
Login.c(90): return {\n
Login.c(90): date: date,\n
Login.c(90): label: dateFilter(date, format),\n
Login.c(90): selected: model && this.compare(date, model) === 0,\n
Login.c(90): disabled: this.isDisabled(date),\n
Login.c(90): current: this.compare(date, new Date()) === 0\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.isDisabled = function( date ) {\n
Login.c(90): return ((this.minDate && this.compare(date, this.minDate) < 0)
|| (this.maxDate && thi
Login.c(90): s.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled &&
$scope.dateDisabled({date: d
Login.c(90): ate, mode: $scope.datepickerMode})));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Split array into smaller arrays\n
Login.c(90): this.split = function(arr, size) {\n
Login.c(90): var arrays = [];\n
Login.c(90): while (arr.length > 0) {\n
Login.c(90): arrays.push(arr.splice(0, size));\n
Login.c(90): }\n
Login.c(90): return arrays;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.select = function( date ) {\n
Login.c(90): if ( $scope.datepickerMode === self.minMode ) {\n
Login.c(90): var dt = ngModelCtrl.$modelValue ? new Date( ngModelCtrl.
$modelValue ) : new Date(0,
Login.c(90): 0, 0, 0, 0, 0, 0);\n
Login.c(90): dt.setFullYear( date.getFullYear(), date.getMonth(),
date.getDate() );\n
Login.c(90): ngModelCtrl.$setViewValue( dt );\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): } else {\n
Login.c(90): self.activeDate = date;\n
Login.c(90): $scope.datepickerMode =
self.modes[ self.modes.indexOf( $scope.datepickerMode ) - 1
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.move = function( direction ) {\n
Login.c(90): var year = self.activeDate.getFullYear() + direction *
(self.step.years || 0),\n
Login.c(90): month = self.activeDate.getMonth() + direction *
(self.step.months || 0);\n
Login.c(90): self.activeDate.setFullYear(year, month, 1);\n
Login.c(90): self.refreshView();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.toggleMode = function( direction ) {\n
Login.c(90): direction = direction || 1;\n
Login.c(90): \n
Login.c(90): if (($scope.datepickerMode === self.maxMode && direction ===
1) || ($scope.datepickerM
Login.c(90): ode === self.minMode && direction === -1)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $scope.datepickerMode =
self.modes[ self.modes.indexOf( $scope.datepickerMode ) + dire
Login.c(90): ction ];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Key event mapper\n
Login.c(90): $scope.keys = { 13:'enter', 32:'space', 33:'pageup',
34:'pagedown', 35:'end', 36:'home',
Login.c(90): 37:'left', 38:'up', 39:'right', 40:'down' };\n
Login.c(90): \n
Login.c(90): var focusElement = function() {\n
Login.c(90): $timeout(function() {\n
Login.c(90): self.element[0].focus();\n
Login.c(90): }, 0 , false);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Listen for focus requests from popup directive\n
Login.c(90): $scope.$on('datepicker.focus', focusElement);\n
Login.c(90): \n
Login.c(90): $scope.keydown = function( evt ) {\n
Login.c(90): var key = $scope.keys[evt.which];\n
Login.c(90): \n
Login.c(90): if ( !key || evt.shiftKey || evt.altKey ) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): evt.preventDefault();\n
Login.c(90): evt.stopPropagation();\n
Login.c(90): \n
Login.c(90): if (key === 'enter' || key === 'space') {\n
Login.c(90): if ( self.isDisabled(self.activeDate)) {\n
Login.c(90): return; // do nothing\n
Login.c(90): }\n
Login.c(90): $scope.select(self.activeDate);\n
Login.c(90): focusElement();\n
Login.c(90): } else if (evt.ctrlKey && (key === 'up' || key === 'down'))
{\n
Login.c(90): $scope.toggleMode(key === 'up' ? 1 : -1);\n
Login.c(90): focusElement();\n
Login.c(90): } else {\n
Login.c(90): self.handleKeyDown(key, evt);\n
Login.c(90): self.refreshView();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive( 'datepicker', function () {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/datepicker/datepicker.html',\n
Login.c(90): scope: {\n
Login.c(90): datepickerMode: '=?',\n
Login.c(90): dateDisabled: '&'\n
Login.c(90): },\n
Login.c(90): require: ['datepicker', '?^ngModel'],\n
Login.c(90): controller: 'DatepickerController',\n
Login.c(90): link: function(scope, element, attrs, ctrls) {\n
Login.c(90): var datepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): if ( ngModelCtrl ) {\n
Login.c(90): datepickerCtrl.init( ngModelCtrl );\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('daypicker', ['dateFilter', function (dateFilter) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/datepicker/day.html',\n
Login.c(90): require: '^datepicker',\n
Login.c(90): link: function(scope, element, attrs, ctrl) {\n
Login.c(90): scope.showWeeks = ctrl.showWeeks;\n
Login.c(90): \n
Login.c(90): ctrl.step = { months: 1 };\n
Login.c(90): ctrl.element = element;\n
Login.c(90): \n
Login.c(90): var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31,
30, 31];\n
Login.c(90): function getDaysInMonth( year, month ) {\n
Login.c(90): return ((month === 1) && (year % 4 === 0) && ((year %
100 !== 0) || (year % 400 ==
Login.c(90): = 0))) ? 29 : DAYS_IN_MONTH[month];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getDates(startDate, n) {\n
Login.c(90): var dates = new Array(n), current = new Date(startDate), i
= 0;\n
Login.c(90): current.setHours(12); // Prevent repeated dates because of
timezone bug\n
Login.c(90): while ( i < n ) {\n
Login.c(90): dates[i++] = new Date(current);\n
Login.c(90): current.setDate( current.getDate() + 1 );\n
Login.c(90): }\n
Login.c(90): return dates;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl._refreshView = function() {\n
Login.c(90): var year = ctrl.activeDate.getFullYear(),\n
Login.c(90): month = ctrl.activeDate.getMonth(),\n
Login.c(90): firstDayOfMonth = new Date(year, month, 1),\n
Login.c(90): difference = ctrl.startingDay -
firstDayOfMonth.getDay(),\n
Login.c(90): numDisplayedFromPreviousMonth = (difference > 0) ? 7 -
difference : - difference
Login.c(90): ,\n
Login.c(90): firstDate = new Date(firstDayOfMonth);\n
Login.c(90): \n
Login.c(90): if ( numDisplayedFromPreviousMonth > 0 ) {\n
Login.c(90): firstDate.setDate( - numDisplayedFromPreviousMonth +
1 );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // 42 is the number of days on a six-month calendar\n
Login.c(90): var days = getDates(firstDate, 42);\n
Login.c(90): for (var i = 0; i < 42; i ++) {\n
Login.c(90): days[i] = angular.extend(ctrl.createDateObject(days[i],
ctrl.formatDay), {\n
Login.c(90): secondary: days[i].getMonth() !== month,\n
Login.c(90): uid: scope.uniqueId + '-' + i\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.labels = new Array(7);\n
Login.c(90): for (var j = 0; j < 7; j++) {\n
Login.c(90): scope.labels[j] = {\n
Login.c(90): abbr: dateFilter(days[j].date,
ctrl.formatDayHeader),\n
Login.c(90): full: dateFilter(days[j].date, 'EEEE')\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.title = dateFilter(ctrl.activeDate,
ctrl.formatDayTitle);\n
Login.c(90): scope.rows = ctrl.split(days, 7);\n
Login.c(90): \n
Login.c(90): if ( scope.showWeeks ) {\n
Login.c(90): scope.weekNumbers = [];\n
Login.c(90): var weekNumber = getISO8601WeekNumber( scope.rows[0]
[0].date ),\n
Login.c(90): numWeeks = scope.rows.length;\n
Login.c(90): while( scope.weekNumbers.push(weekNumber++) < numWeeks )
{}\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.compare = function(date1, date2) {\n
Login.c(90): return (new Date( date1.getFullYear(), date1.getMonth(),
date1.getDate() ) - new D
Login.c(90): ate( date2.getFullYear(), date2.getMonth(), date2.getDate() ) );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function getISO8601WeekNumber(date) {\n
Login.c(90): var checkDate = new Date(date);\n
Login.c(90): checkDate.setDate(checkDate.getDate() + 4 -
(checkDate.getDay() || 7)); // Thursda
Login.c(90): y\n
Login.c(90): var time = checkDate.getTime();\n
Login.c(90): checkDate.setMonth(0); // Compare with Jan 1\n
Login.c(90): checkDate.setDate(1);\n
Login.c(90): return Math.floor(Math.round((time - checkDate) /
86400000) / 7) + 1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl.handleKeyDown = function( key, evt ) {\n
Login.c(90): var date = ctrl.activeDate.getDate();\n
Login.c(90): \n
Login.c(90): if (key === 'left') {\n
Login.c(90): date = date - 1; // up\n
Login.c(90): } else if (key === 'up') {\n
Login.c(90): date = date - 7; // down\n
Login.c(90): } else if (key === 'right') {\n
Login.c(90): date = date + 1; // down\n
Login.c(90): } else if (key === 'down') {\n
Login.c(90): date = date + 7;\n
Login.c(90): } else if (key === 'pageup' || key === 'pagedown') {\n
Login.c(90): var month = ctrl.activeDate.getMonth() + (key ===
'pageup' ? - 1 : 1);\n
Login.c(90): ctrl.activeDate.setMonth(month, 1);\n
Login.c(90): date =
Math.min(getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.ge
Login.c(90): tMonth()), date);\n
Login.c(90): } else if (key === 'home') {\n
Login.c(90): date = 1;\n
Login.c(90): } else if (key === 'end') {\n
Login.c(90): date = getDaysInMonth(ctrl.activeDate.getFullYear(),
ctrl.activeDate.getMonth())
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): ctrl.activeDate.setDate(date);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.refreshView();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('monthpicker', ['dateFilter', function (dateFilter) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/datepicker/month.html',\n
Login.c(90): require: '^datepicker',\n
Login.c(90): link: function(scope, element, attrs, ctrl) {\n
Login.c(90): ctrl.step = { years: 1 };\n
Login.c(90): ctrl.element = element;\n
Login.c(90): \n
Login.c(90): ctrl._refreshView = function() {\n
Login.c(90): var months = new Array(12),\n
Login.c(90): year = ctrl.activeDate.getFullYear();\n
Login.c(90): \n
Login.c(90): for ( var i = 0; i < 12; i++ ) {\n
Login.c(90): months[i] = angular.extend(ctrl.createDateObject(new
Date(year, i, 1), ctrl.form
Login.c(90): atMonth), {\n
Login.c(90): uid: scope.uniqueId + '-' + i\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.title = dateFilter(ctrl.activeDate,
ctrl.formatMonthTitle);\n
Login.c(90): scope.rows = ctrl.split(months, 3);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.compare = function(date1, date2) {\n
Login.c(90): return new Date( date1.getFullYear(), date1.getMonth() ) -
new Date( date2.getFull
Login.c(90): Year(), date2.getMonth() );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.handleKeyDown = function( key, evt ) {\n
Login.c(90): var date = ctrl.activeDate.getMonth();\n
Login.c(90): \n
Login.c(90): if (key === 'left') {\n
Login.c(90): date = date - 1; // up\n
Login.c(90): } else if (key === 'up') {\n
Login.c(90): date = date - 3; // down\n
Login.c(90): } else if (key === 'right') {\n
Login.c(90): date = date + 1; // down\n
Login.c(90): } else if (key === 'down') {\n
Login.c(90): date = date + 3;\n
Login.c(90): } else if (key === 'pageup' || key === 'pagedown') {\n
Login.c(90): var year = ctrl.activeDate.getFullYear() + (key ===
'pageup' ? - 1 : 1);\n
Login.c(90): ctrl.activeDate.setFullYear(year);\n
Login.c(90): } else if (key === 'home') {\n
Login.c(90): date = 0;\n
Login.c(90): } else if (key === 'end') {\n
Login.c(90): date = 11;\n
Login.c(90): }\n
Login.c(90): ctrl.activeDate.setMonth(date);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.refreshView();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('yearpicker', ['dateFilter', function (dateFilter) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/datepicker/year.html',\n
Login.c(90): require: '^datepicker',\n
Login.c(90): link: function(scope, element, attrs, ctrl) {\n
Login.c(90): var range = ctrl.yearRange;\n
Login.c(90): \n
Login.c(90): ctrl.step = { years: range };\n
Login.c(90): ctrl.element = element;\n
Login.c(90): \n
Login.c(90): function getStartingYear( year ) {\n
Login.c(90): return parseInt((year - 1) / range, 10) * range + 1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl._refreshView = function() {\n
Login.c(90): var years = new Array(range);\n
Login.c(90): \n
Login.c(90): for ( var i = 0, start =
getStartingYear(ctrl.activeDate.getFullYear()); i < range
Login.c(90): ; i++ ) {\n
Login.c(90): years[i] = angular.extend(ctrl.createDateObject(new
Date(start + i, 0, 1), ctrl.
Login.c(90): formatYear), {\n
Login.c(90): uid: scope.uniqueId + '-' + i\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.title = [years[0].label, years[range -
1].label].join(' - ');\n
Login.c(90): scope.rows = ctrl.split(years, 5);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.compare = function(date1, date2) {\n
Login.c(90): return date1.getFullYear() - date2.getFullYear();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.handleKeyDown = function( key, evt ) {\n
Login.c(90): var date = ctrl.activeDate.getFullYear();\n
Login.c(90): \n
Login.c(90): if (key === 'left') {\n
Login.c(90): date = date - 1; // up\n
Login.c(90): } else if (key === 'up') {\n
Login.c(90): date = date - 5; // down\n
Login.c(90): } else if (key === 'right') {\n
Login.c(90): date = date + 1; // down\n
Login.c(90): } else if (key === 'down') {\n
Login.c(90): date = date + 5;\n
Login.c(90): } else if (key === 'pageup' || key === 'pagedown') {\n
Login.c(90): date += (key === 'pageup' ? - 1 : 1) *
ctrl.step.years;\n
Login.c(90): } else if (key === 'home') {\n
Login.c(90): date =
getStartingYear( ctrl.activeDate.getFullYear() );\n
Login.c(90): } else if (key === 'end') {\n
Login.c(90): t=2117ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): date = getStartingYear( ctrl.activeDate.getFullYear() )
+ range - 1;\n
Login.c(90): }\n
Login.c(90): ctrl.activeDate.setFullYear(date);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.refreshView();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .constant('datepickerPopupConfig', {\n
Login.c(90): datepickerPopup: 'yyyy-MM-dd',\n
Login.c(90): currentText: 'Today',\n
Login.c(90): clearText: 'Clear',\n
Login.c(90): closeText: 'Done',\n
Login.c(90): closeOnDateSelection: true,\n
Login.c(90): appendToBody: false,\n
Login.c(90): showButtonBar: true\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('datepickerPopup', ['$compile', '$parse', '$document',
'$position', 'dateFilter
Login.c(90): ', 'dateParser', 'datepickerPopupConfig',\n
Login.c(90): function ($compile, $parse, $document, $position, dateFilter,
dateParser, datepickerPopupC
Login.c(90): onfig) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): require: 'ngModel',\n
Login.c(90): scope: {\n
Login.c(90): isOpen: '=?',\n
Login.c(90): currentText: '@',\n
Login.c(90): clearText: '@',\n
Login.c(90): closeText: '@',\n
Login.c(90): dateDisabled: '&'\n
Login.c(90): },\n
Login.c(90): link: function(scope, element, attrs, ngModel) {\n
Login.c(90): var dateFormat,\n
Login.c(90): closeOnDateSelection =
angular.isDefined(attrs.closeOnDateSelection) ? scope.$pa
Login.c(90): rent.$eval(attrs.closeOnDateSelection) :
datepickerPopupConfig.closeOnDateSelection,\n
Login.c(90): appendToBody =
angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$
Login.c(90): eval(attrs.datepickerAppendToBody) :
datepickerPopupConfig.appendToBody;\n
Login.c(90): \n
Login.c(90): scope.showButtonBar = angular.isDefined(attrs.showButtonBar)
? scope.$parent.$eval(a
Login.c(90): ttrs.showButtonBar) : datepickerPopupConfig.showButtonBar;\n
Login.c(90): \n
Login.c(90): scope.getText = function( key ) {\n
Login.c(90): return scope[key + 'Text'] || datepickerPopupConfig[key +
'Text'];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): attrs.$observe('datepickerPopup', function(value) {\n
Login.c(90): dateFormat = value ||
datepickerPopupConfig.datepickerPopup;\n
Login.c(90): ngModel.$render();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // popup element used to display calendar\n
Login.c(90): var popupEl = angular.element('<div datepicker-popup-
wrap><div datepicker></div></di
Login.c(90): v>');\n
Login.c(90): popupEl.attr({\n
Login.c(90): 'ng-model': 'date',\n
Login.c(90): 'ng-change': 'dateSelection()'\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function cameltoDash( string ){\n
Login.c(90): return string.replace(/([A-Z])/g, function($1) { return
'-' + $1.toLowerCase(); })
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // datepicker element\n
Login.c(90): var datepickerEl = angular.element(popupEl.children()[0]);\n
Login.c(90): if ( attrs.datepickerOptions ) {\n
Login.c(90): angular.forEach(scope.$parent.
$eval(attrs.datepickerOptions), function( value, opt
Login.c(90): ion ) {\n
Login.c(90): datepickerEl.attr( cameltoDash(option), value );\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.watchData = {};\n
Login.c(90): angular.forEach(['minDate', 'maxDate', 'datepickerMode'],
function( key ) {\n
Login.c(90): if ( attrs[key] ) {\n
Login.c(90): var getAttribute = $parse(attrs[key]);\n
Login.c(90): scope.$parent.$watch(getAttribute, function(value){\n
Login.c(90): scope.watchData[key] = value;\n
Login.c(90): });\n
Login.c(90): datepickerEl.attr(cameltoDash(key), 'watchData.' +
key);\n
Login.c(90): \n
Login.c(90): // Propagate changes from datepicker to outside\n
Login.c(90): if ( key === 'datepickerMode' ) {\n
Login.c(90): var setAttribute = getAttribute.assign;\n
Login.c(90): scope.$watch('watchData.' + key, function(value,
oldvalue) {\n
Login.c(90): if ( value !== oldvalue ) {\n
Login.c(90): setAttribute(scope.$parent, value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (attrs.dateDisabled) {\n
Login.c(90): datepickerEl.attr('date-disabled', 'dateDisabled({ date:
date, mode: mode })');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function parseDate(viewValue) {\n
Login.c(90): if (!viewValue) {\n
Login.c(90): ngModel.$setValidity('date', true);\n
Login.c(90): return null;\n
Login.c(90): } else if (angular.isDate(viewValue) && !isNaN(viewValue))
{\n
Login.c(90): ngModel.$setValidity('date', true);\n
Login.c(90): return viewValue;\n
Login.c(90): } else if (angular.isString(viewValue)) {\n
Login.c(90): var date = dateParser.parse(viewValue, dateFormat) ||
new Date(viewValue);\n
Login.c(90): if (isNaN(date)) {\n
Login.c(90): ngModel.$setValidity('date', false);\n
Login.c(90): return undefined;\n
Login.c(90): } else {\n
Login.c(90): ngModel.$setValidity('date', true);\n
Login.c(90): return date;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): ngModel.$setValidity('date', false);\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): ngModel.$parsers.unshift(parseDate);\n
Login.c(90): \n
Login.c(90): // Inner change\n
Login.c(90): scope.dateSelection = function(dt) {\n
Login.c(90): if (angular.isDefined(dt)) {\n
Login.c(90): scope.date = dt;\n
Login.c(90): }\n
Login.c(90): ngModel.$setViewValue(scope.date);\n
Login.c(90): ngModel.$render();\n
Login.c(90): \n
Login.c(90): if ( closeOnDateSelection ) {\n
Login.c(90): scope.isOpen = false;\n
Login.c(90): element[0].focus();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): element.bind('input change keyup', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): scope.date = ngModel.$modelValue;\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Outter change\n
Login.c(90): ngModel.$render = function() {\n
Login.c(90): var date = ngModel.$viewValue ? dateFilter(ngModel.
$viewValue, dateFormat) : '';\n
Login.c(90): element.val(date);\n
Login.c(90): scope.date = parseDate( ngModel.$modelValue );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var documentClickBind = function(event) {\n
Login.c(90): if (scope.isOpen && event.target !== element[0]) {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): scope.isOpen = false;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var keydown = function(evt, noApply) {\n
Login.c(90): scope.keydown(evt);\n
Login.c(90): };\n
Login.c(90): element.bind('keydown', keydown);\n
Login.c(90): \n
Login.c(90): scope.keydown = function(evt) {\n
Login.c(90): if (evt.which === 27) {\n
Login.c(90): evt.preventDefault();\n
Login.c(90): evt.stopPropagation();\n
Login.c(90): scope.close();\n
Login.c(90): } else if (evt.which === 40 && !scope.isOpen) {\n
Login.c(90): scope.isOpen = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.$watch('isOpen', function(value) {\n
Login.c(90): if (value) {\n
Login.c(90): scope.$broadcast('datepicker.focus');\n
Login.c(90): scope.position = appendToBody ?
$position.offset(element) : $position.position(e
Login.c(90): lement);\n
Login.c(90): scope.position.top = scope.position.top +
element.prop('offsetHeight');\n
Login.c(90): \n
Login.c(90): $document.bind('click', documentClickBind);\n
Login.c(90): } else {\n
Login.c(90): $document.unbind('click', documentClickBind);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.select = function( date ) {\n
Login.c(90): if (date === 'today') {\n
Login.c(90): var today = new Date();\n
Login.c(90): if (angular.isDate(ngModel.$modelValue)) {\n
Login.c(90): date = new Date(ngModel.$modelValue);\n
Login.c(90): date.setFullYear(today.getFullYear(),
today.getMonth(), today.getDate());\n
Login.c(90): } else {\n
Login.c(90): date = new Date(today.setHours(0, 0, 0, 0));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): scope.dateSelection( date );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.close = function() {\n
Login.c(90): scope.isOpen = false;\n
Login.c(90): element[0].focus();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var $popup = $compile(popupEl)(scope);\n
Login.c(90): // Prevent jQuery cache memory leak (template is now
redundant after linking)\n
Login.c(90): popupEl.remove();\n
Login.c(90): \n
Login.c(90): if ( appendToBody ) {\n
Login.c(90): $document.find('body').append($popup);\n
Login.c(90): } else {\n
Login.c(90): element.after($popup);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): $popup.remove();\n
Login.c(90): element.unbind('keydown', keydown);\n
Login.c(90): $document.unbind('click', documentClickBind);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('datepickerPopupWrap', function() {\n
Login.c(90): return {\n
Login.c(90): restrict:'EA',\n
Login.c(90): replace: true,\n
Login.c(90): transclude: true,\n
Login.c(90): templateUrl: 'template/datepicker/popup.html',\n
Login.c(90): link:function (scope, element, attrs) {\n
Login.c(90): element.bind('click', function(event) {\n
Login.c(90): event.preventDefault();\n
Login.c(90): event.stopPropagation();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.dropdown', [])\n
Login.c(90): \n
Login.c(90): .constant('dropdownConfig', {\n
Login.c(90): openClass: 'open'\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .service('dropdownService', ['$document', function($document) {\n
Login.c(90): var openScope = null;\n
Login.c(90): \n
Login.c(90): this.open = function( dropdownScope ) {\n
Login.c(90): if ( !openScope ) {\n
Login.c(90): $document.bind('click', closeDropdown);\n
Login.c(90): $document.bind('keydown', escapeKeyBind);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( openScope && openScope !== dropdownScope ) {\n
Login.c(90): openScope.isOpen = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): openScope = dropdownScope;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.close = function( dropdownScope ) {\n
Login.c(90): if ( openScope === dropdownScope ) {\n
Login.c(90): openScope = null;\n
Login.c(90): $document.unbind('click', closeDropdown);\n
Login.c(90): $document.unbind('keydown', escapeKeyBind);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var closeDropdown = function( evt ) {\n
Login.c(90): var toggleElement = openScope.getToggleElement();\n
Login.c(90): if ( evt && toggleElement &&
toggleElement[0].contains(evt.target) ) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): openScope.$apply(function() {\n
Login.c(90): openScope.isOpen = false;\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var escapeKeyBind = function( evt ) {\n
Login.c(90): if ( evt.which === 27 ) {\n
Login.c(90): openScope.focusToggleElement();\n
Login.c(90): closeDropdown();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .controller('DropdownController', ['$scope', '$attrs', '$parse',
'dropdownConfig', 'dropdo
Login.c(90): wnService', '$animate', function($scope, $attrs, $parse,
dropdownConfig, dropdownService,
Login.c(90): $animate) {\n
Login.c(90): var self = this,\n
Login.c(90): scope = $scope.$new(), // create a child scope so we are not
polluting original one\n
Login.c(90): openClass = dropdownConfig.openClass,\n
Login.c(90): getIsOpen,\n
Login.c(90): setIsOpen = angular.noop,\n
Login.c(90): toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) :
angular.noop;\n
Login.c(90): \n
Login.c(90): this.init = function( element ) {\n
Login.c(90): self.$element = element;\n
Login.c(90): \n
Login.c(90): if ( $attrs.isOpen ) {\n
Login.c(90): getIsOpen = $parse($attrs.isOpen);\n
Login.c(90): setIsOpen = getIsOpen.assign;\n
Login.c(90): \n
Login.c(90): $scope.$watch(getIsOpen, function(value) {\n
Login.c(90): scope.isOpen = !!value;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.toggle = function( open ) {\n
Login.c(90): return scope.isOpen = arguments.length ? !!open : !
scope.isOpen;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Allow other directives to watch status\n
Login.c(90): this.isOpen = function() {\n
Login.c(90): return scope.isOpen;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.getToggleElement = function() {\n
Login.c(90): return self.toggleElement;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.focusToggleElement = function() {\n
Login.c(90): if ( self.toggleElement ) {\n
Login.c(90): self.toggleElement[0].focus();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.$watch('isOpen', function( isOpen, wasOpen ) {\n
Login.c(90): $animate[isOpen ? 'addClass' : 'removeClass'](self.$element,
openClass);\n
Login.c(90): \n
Login.c(90): if ( isOpen ) {\n
Login.c(90): scope.focusToggleElement();\n
Login.c(90): dropdownService.open( scope );\n
Login.c(90): } else {\n
Login.c(90): dropdownService.close( scope );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): setIsOpen($scope, isOpen);\n
Login.c(90): if (angular.isDefined(isOpen) && isOpen !== wasOpen) {\n
Login.c(90): toggleInvoker($scope, { open: !!isOpen });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $scope.$on('$locationChangeSuccess', function() {\n
Login.c(90): scope.isOpen = false;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $scope.$on('$destroy', function() {\n
Login.c(90): scope.$destroy();\n
Login.c(90): });\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('dropdown', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'CA',\n
Login.c(90): controller: 'DropdownController',\n
Login.c(90): link: function(scope, element, attrs, dropdownCtrl) {\n
Login.c(90): dropdownCtrl.init( element );\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('dropdownToggle', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'CA',\n
Login.c(90): require: '?^dropdown',\n
Login.c(90): link: function(scope, element, attrs, dropdownCtrl) {\n
Login.c(90): if ( !dropdownCtrl ) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): dropdownCtrl.toggleElement = element;\n
Login.c(90): \n
Login.c(90): var toggleDropdown = function(event) {\n
Login.c(90): event.preventDefault();\n
Login.c(90): \n
Login.c(90): if ( !element.hasClass('disabled') && !attrs.disabled )
{\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): dropdownCtrl.toggle();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): element.bind('click', toggleDropdown);\n
Login.c(90): \n
Login.c(90): // WAI-ARIA\n
Login.c(90): element.attr({ 'aria-haspopup': true, 'aria-expanded': false
});\n
Login.c(90): scope.$watch(dropdownCtrl.isOpen, function( isOpen ) {\n
Login.c(90): element.attr('aria-expanded', !!isOpen);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): element.unbind('click', toggleDropdown);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.modal',
['ui.bootstrap.transition'])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A helper, internal data structure that acts as a map but also
allows getting / removing
Login.c(90): \n
Login.c(90): * elements in the LIFO order\n
Login.c(90): */\n
Login.c(90): .factory('$$stackedMap', function () {\n
Login.c(90): return {\n
Login.c(90): createNew: function () {\n
Login.c(90): var stack = [];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): add: function (key, value) {\n
Login.c(90): stack.push({\n
Login.c(90): key: key,\n
Login.c(90): value: value\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): get: function (key) {\n
Login.c(90): for (var i = 0; i < stack.length; i++) {\n
Login.c(90): if (key == stack[i].key) {\n
Login.c(90): return stack[i];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): keys: function() {\n
Login.c(90): var keys = [];\n
Login.c(90): for (var i = 0; i < stack.length; i++) {\n
Login.c(90): keys.push(stack[i].key);\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): },\n
Login.c(90): top: function () {\n
Login.c(90): return stack[stack.length - 1];\n
Login.c(90): },\n
Login.c(90): remove: function (key) {\n
Login.c(90): var idx = -1;\n
Login.c(90): for (var i = 0; i < stack.length; i++) {\n
Login.c(90): if (key == stack[i].key) {\n
Login.c(90): idx = i;\n
Login.c(90):
Login.c(90): t=2136ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return stack.splice(idx, 1)[0];\n
Login.c(90): },\n
Login.c(90): removeTop: function () {\n
Login.c(90): return stack.splice(stack.length - 1, 1)[0];\n
Login.c(90): },\n
Login.c(90): length: function () {\n
Login.c(90): return stack.length;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A helper directive for the $modal service. It creates a
backdrop element.\n
Login.c(90): */\n
Login.c(90): .directive('modalBackdrop', ['$timeout', function ($timeout) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/modal/backdrop.html',\n
Login.c(90): link: function (scope, element, attrs) {\n
Login.c(90): scope.backdropClass = attrs.backdropClass || '';\n
Login.c(90): \n
Login.c(90): scope.animate = false;\n
Login.c(90): \n
Login.c(90): //trigger CSS transitions\n
Login.c(90): $timeout(function () {\n
Login.c(90): scope.animate = true;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('modalWindow', ['$modalStack', '$timeout', function
($modalStack, $timeout) {
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): scope: {\n
Login.c(90): index: '@',\n
Login.c(90): animate: '='\n
Login.c(90): },\n
Login.c(90): replace: true,\n
Login.c(90): transclude: true,\n
Login.c(90): templateUrl: function(tElement, tAttrs) {\n
Login.c(90): return tAttrs.templateUrl ||
'template/modal/window.html';\n
Login.c(90): },\n
Login.c(90): link: function (scope, element, attrs) {\n
Login.c(90): element.addClass(attrs.windowClass || '');\n
Login.c(90): scope.size = attrs.size;\n
Login.c(90): \n
Login.c(90): $timeout(function () {\n
Login.c(90): // trigger CSS transitions\n
Login.c(90): scope.animate = true;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Auto-focusing of a freshly-opened modal element
causes any child elements\n
Login.c(90): * with the autofocus attribute to loose focus. This is
an issue on touch\n
Login.c(90): * based devices which will show and then hide the
onscreen keyboard.\n
Login.c(90): * Attempts to refocus the autofocus element via
JavaScript will not reopen\n
Login.c(90): * the onscreen keyboard. Fixed by updated the focusing
logic to only autofocus\n
Login.c(90): * the modal element if the modal does not contain an
autofocus element.\n
Login.c(90): */\n
Login.c(90): if (!element[0].querySelectorAll('[autofocus]').length)
{\n
Login.c(90): element[0].focus();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.close = function (evt) {\n
Login.c(90): var modal = $modalStack.getTop();\n
Login.c(90): if (modal && modal.value.backdrop &&
modal.value.backdrop != 'static' && (evt.ta
Login.c(90): rget === evt.currentTarget)) {\n
Login.c(90): evt.preventDefault();\n
Login.c(90): evt.stopPropagation();\n
Login.c(90): $modalStack.dismiss(modal.key, 'backdrop click');\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('modalTransclude', function () {\n
Login.c(90): return {\n
Login.c(90): link: function($scope, $element, $attrs, controller,
$transclude) {\n
Login.c(90): $transclude($scope.$parent, function(clone) {\n
Login.c(90): $element.empty();\n
Login.c(90): $element.append(clone);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .factory('$modalStack', ['$transition', '$timeout', '$document',
'$compile', '$rootScope
Login.c(90): ', '$$stackedMap',\n
Login.c(90): function ($transition, $timeout, $document, $compile,
$rootScope, $$stackedMap) {\n
Login.c(90): \n
Login.c(90): var OPENED_MODAL_CLASS = 'modal-open';\n
Login.c(90): \n
Login.c(90): var backdropDomEl, backdropScope;\n
Login.c(90): var openedWindows = $$stackedMap.createNew();\n
Login.c(90): var $modalStack = {};\n
Login.c(90): \n
Login.c(90): function backdropIndex() {\n
Login.c(90): var topBackdropIndex = -1;\n
Login.c(90): var opened = openedWindows.keys();\n
Login.c(90): for (var i = 0; i < opened.length; i++) {\n
Login.c(90): if (openedWindows.get(opened[i]).value.backdrop) {\n
Login.c(90): topBackdropIndex = i;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return topBackdropIndex;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $rootScope.$watch(backdropIndex, function(newBackdropIndex)
{\n
Login.c(90): if (backdropScope) {\n
Login.c(90): backdropScope.index = newBackdropIndex;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function removeModalWindow(modalInstance) {\n
Login.c(90): \n
Login.c(90): var body = $document.find('body').eq(0);\n
Login.c(90): var modalWindow =
openedWindows.get(modalInstance).value;\n
Login.c(90): \n
Login.c(90): //clean up the stack\n
Login.c(90): openedWindows.remove(modalInstance);\n
Login.c(90): \n
Login.c(90): //remove window DOM element\n
Login.c(90): removeAfterAnimate(modalWindow.modalDomEl,
modalWindow.modalScope, 300, function()
Login.c(90): {\n
Login.c(90): modalWindow.modalScope.$destroy();\n
Login.c(90): body.toggleClass(OPENED_MODAL_CLASS,
openedWindows.length() > 0);\n
Login.c(90): checkRemoveBackdrop();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function checkRemoveBackdrop() {\n
Login.c(90): //remove backdrop if no longer needed\n
Login.c(90): if (backdropDomEl && backdropIndex() == -1) {\n
Login.c(90): var backdropScopeRef = backdropScope;\n
Login.c(90): removeAfterAnimate(backdropDomEl, backdropScope, 150,
function () {\n
Login.c(90): backdropScopeRef.$destroy();\n
Login.c(90): backdropScopeRef = null;\n
Login.c(90): });\n
Login.c(90): backdropDomEl = undefined;\n
Login.c(90): backdropScope = undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeAfterAnimate(domEl, scope, emulateTime, done)
{\n
Login.c(90): // Closing animation\n
Login.c(90): scope.animate = false;\n
Login.c(90): \n
Login.c(90): var transitionEndEventName =
$transition.transitionEndEventName;\n
Login.c(90): if (transitionEndEventName) {\n
Login.c(90): // transition out\n
Login.c(90): var timeout = $timeout(afterAnimating, emulateTime);\n
Login.c(90): \n
Login.c(90): domEl.bind(transitionEndEventName, function () {\n
Login.c(90): $timeout.cancel(timeout);\n
Login.c(90): afterAnimating();\n
Login.c(90): scope.$apply();\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): // Ensure this call is async\n
Login.c(90): $timeout(afterAnimating);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function afterAnimating() {\n
Login.c(90): if (afterAnimating.done) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): afterAnimating.done = true;\n
Login.c(90): \n
Login.c(90): domEl.remove();\n
Login.c(90): if (done) {\n
Login.c(90): done();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $document.bind('keydown', function (evt) {\n
Login.c(90): var modal;\n
Login.c(90): \n
Login.c(90): if (evt.which === 27) {\n
Login.c(90): modal = openedWindows.top();\n
Login.c(90): if (modal && modal.value.keyboard) {\n
Login.c(90): evt.preventDefault();\n
Login.c(90): $rootScope.$apply(function () {\n
Login.c(90): $modalStack.dismiss(modal.key, 'escape key
press');\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $modalStack.open = function (modalInstance, modal) {\n
Login.c(90): \n
Login.c(90): openedWindows.add(modalInstance, {\n
Login.c(90): deferred: modal.deferred,\n
Login.c(90): modalScope: modal.scope,\n
Login.c(90): backdrop: modal.backdrop,\n
Login.c(90): keyboard: modal.keyboard\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var body = $document.find('body').eq(0),\n
Login.c(90): currBackdropIndex = backdropIndex();\n
Login.c(90): \n
Login.c(90): if (currBackdropIndex >= 0 && !backdropDomEl) {\n
Login.c(90): backdropScope = $rootScope.$new(true);\n
Login.c(90): backdropScope.index = currBackdropIndex;\n
Login.c(90): var angularBackgroundDomEl = angular.element('<div
modal-backdrop></div>');\n
Login.c(90): angularBackgroundDomEl.attr('backdrop-class',
modal.backdropClass);\n
Login.c(90): backdropDomEl = $compile(angularBackgroundDomEl)
(backdropScope);\n
Login.c(90): body.append(backdropDomEl);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var angularDomEl = angular.element('<div modal-
window></div>');\n
Login.c(90): angularDomEl.attr({\n
Login.c(90): 'template-url': modal.windowTemplateUrl,\n
Login.c(90): 'window-class': modal.windowClass,\n
Login.c(90): 'size': modal.size,\n
Login.c(90): 'index': openedWindows.length() - 1,\n
Login.c(90): 'animate': 'animate'\n
Login.c(90): }).html(modal.content);\n
Login.c(90): \n
Login.c(90): var modalDomEl = $compile(angularDomEl)(modal.scope);\n
Login.c(90): openedWindows.top().value.modalDomEl = modalDomEl;\n
Login.c(90): body.append(modalDomEl);\n
Login.c(90): body.addClass(OPENED_MODAL_CLASS);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $modalStack.close = function (modalInstance, result) {\n
Login.c(90): var modalWindow = openedWindows.get(modalInstance);\n
Login.c(90): if (modalWindow) {\n
Login.c(90): modalWindow.value.deferred.resolve(result);\n
Login.c(90): removeModalWindow(modalInstance);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $modalStack.dismiss = function (modalInstance, reason) {\n
Login.c(90): var modalWindow = openedWindows.get(modalInstance);\n
Login.c(90): if (modalWindow) {\n
Login.c(90): modalWindow.value.deferred.reject(reason);\n
Login.c(90): removeModalWindow(modalInstance);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $modalStack.dismissAll = function (reason) {\n
Login.c(90): var topModal = this.getTop();\n
Login.c(90): while (topModal) {\n
Login.c(90): this.dismiss(topModal.key, reason);\n
Login.c(90): topModal = this.getTop();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $modalStack.getTop = function () {\n
Login.c(90): return openedWindows.top();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return $modalStack;\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .provider('$modal', function () {\n
Login.c(90): \n
Login.c(90): var $modalProvider = {\n
Login.c(90): options: {\n
Login.c(90): backdrop: true, //can be also false or 'static'\n
Login.c(90): keyboard: true\n
Login.c(90): },\n
Login.c(90): $get: ['$injector', '$rootScope', '$q', '$http',
'$templateCache', '$controller', '$
Login.c(90): modalStack',\n
Login.c(90): function ($injector, $rootScope, $q, $http,
$templateCache, $controller, $modalSta
Login.c(90): ck) {\n
Login.c(90): \n
Login.c(90): var $modal = {};\n
Login.c(90): \n
Login.c(90): function getTemplatePromise(options) {\n
Login.c(90): return options.template ?
$q.when(options.template) :\n
Login.c(90): $http.get(angular.isFunction(options.templateUrl) ?
(options.templateUrl)()
Login.c(90): : options.templateUrl,\n
Login.c(90): {cache: $templateCache}).then(function (result)
{\n
Login.c(90): return result.data;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getResolvePromises(resolves) {\n
Login.c(90): var promisesArr = [];\n
Login.c(90): angular.forEach(resolves, function (value) {\n
Login.c(90): if (angular.isFunction(value) ||
angular.isArray(value)) {\n
Login.c(90):
promisesArr.push($q.when($injector.invoke(value)));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return promisesArr;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $modal.open = function (modalOptions) {\n
Login.c(90): \n
Login.c(90): var modalResultDeferred = $q.defer();\n
Login.c(90): var modalOpenedDeferred = $q.defer();\n
Login.c(90): \n
Login.c(90): //prepare an instance of a modal to be injected into
controllers and returned
Login.c(90): to a caller\n
Login.c(90): var modalInstance = {\n
Login.c(90): result: modalResultDeferred.promise,\n
Login.c(90): opened: modalOpenedDeferred.promise,\n
Login.c(90): close: function (result) {\n
Login.c(90): $modalStack.close(modalInstance, result);\n
Login.c(90): },\n
Login.c(90): dismiss: function (reason) {\n
Login.c(90): $modalStack.dismiss(modalInstance, reason);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //merge and clean up options\n
Login.c(90): modalOptions = angular.extend({},
$modalProvider.options, modalOptions);\n
Login.c(90): modalOptions.resolve = modalOptions.resolve || {};\n
Login.c(90): \n
Login.c(90): //verify options\n
Login.c(90): if (!modalOptions.template && !
modalOptions.templateUrl) {\n
Login.c(90): throw new Error('One of template or templateUrl
options is required.');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var templateAndResolvePromise =\n
Login.c(90):
$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOpt
Login.c(90): ions.resolve)));\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): templateAndResolvePromise.then(function
resolveSuccess(tplAndVars) {\n
Login.c(90): \n
Login.c(90): var modalScope = (modalOptions.scope || $rootScope).
$new();\n
Login.c(90): modalScope.$close = modalInstance.close;\n
Login.c(90): modalScope.$dismiss = modalInstance.dismiss;\n
Login.c(90): \n
Login.c(90): var ctrlInstance, ctrlLocals = {};\n
Login.c(90): var resolveIter = 1;\n
Login.c(90): \n
Login.c(90): //controllers\n
Login.c(90): if (modalOptions.controller) {\n
Login.c(90): ctrlLocals.$scope = modalScope;\n
Login.c(90): ctrlLocals.$modalInstance = modalInstance;\n
Login.c(90): angular.forEach(modalOptions.resolve, function
(value, key) {\n
Login.c(90): ctrlLocals[key] = tplAndVars[resolveIter++];\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrlInstance =
$controller(modalOptions.controller, ctrlLocals);\n
Login.c(90): if (modalOptions.controllerAs) {\n
Login.c(90): modalScope[modalOptions.controllerAs] =
ctrlInstance;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $modalStack.open(modalInstance, {\n
Login.c(90): scope: modalScope,\n
Login.c(90): deferred: modalResultDeferred,\n
Login.c(90): content: tplAndVars[0],\n
Login.c(90): backdrop: modalOptions.backdrop,\n
Login.c(90): keyboard: modalOptions.keyboard,\n
Login.c(90): backdropClass: modalOptions.backdropClass,\n
Login.c(90): windowClass: modalOptions.windowClass,\n
Login.c(90): windowTemplateUrl:
modalOptions.windowTemplateUrl,\n
Login.c(90): size: modalOptions.size\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }, function resolveError(reason) {\n
Login.c(90): modalResultDeferred.reject(reason);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): templateAndResolvePromise.then(function () {\n
Login.c(90): modalOpenedDeferred.resolve(true);\n
Login.c(90): }, function () {\n
Login.c(90): modalOpenedDeferred.reject(false);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return modalInstance;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return $modal;\n
Login.c(90): }]\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return $modalProvider;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.pagi
Login.c(90): t=2155ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): nation', [])\n
Login.c(90): \n
Login.c(90): .controller('PaginationController', ['$scope', '$attrs', '$parse',
function ($scope, $attr
Login.c(90): s, $parse) {\n
Login.c(90): var self = this,\n
Login.c(90): ngModelCtrl = { $setViewValue: angular.noop }, //
nullModelCtrl\n
Login.c(90): setNumPages = $attrs.numPages ?
$parse($attrs.numPages).assign : angular.noop;\n
Login.c(90): \n
Login.c(90): this.init = function(ngModelCtrl_, config) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): this.config = config;\n
Login.c(90): \n
Login.c(90): ngModelCtrl.$render = function() {\n
Login.c(90): self.render();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if ($attrs.itemsPerPage) {\n
Login.c(90): $scope.$parent.$watch($parse($attrs.itemsPerPage),
function(value) {\n
Login.c(90): self.itemsPerPage = parseInt(value, 10);\n
Login.c(90): $scope.totalPages = self.calculateTotalPages();\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): this.itemsPerPage = config.itemsPerPage;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.calculateTotalPages = function() {\n
Login.c(90): var totalPages = this.itemsPerPage < 1 ? 1 :
Math.ceil($scope.totalItems / this.itemsP
Login.c(90): erPage);\n
Login.c(90): return Math.max(totalPages || 0, 1);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.render = function() {\n
Login.c(90): $scope.page = parseInt(ngModelCtrl.$viewValue, 10) || 1;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.selectPage = function(page) {\n
Login.c(90): if ( $scope.page !== page && page > 0 && page <=
$scope.totalPages) {\n
Login.c(90): ngModelCtrl.$setViewValue(page);\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.getText = function( key ) {\n
Login.c(90): return $scope[key + 'Text'] || self.config[key + 'Text'];\n
Login.c(90): };\n
Login.c(90): $scope.noPrevious = function() {\n
Login.c(90): return $scope.page === 1;\n
Login.c(90): };\n
Login.c(90): $scope.noNext = function() {\n
Login.c(90): return $scope.page === $scope.totalPages;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$watch('totalItems', function() {\n
Login.c(90): $scope.totalPages = self.calculateTotalPages();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $scope.$watch('totalPages', function(value) {\n
Login.c(90): setNumPages($scope.$parent, value); // Readonly variable\n
Login.c(90): \n
Login.c(90): if ( $scope.page > value ) {\n
Login.c(90): $scope.selectPage(value);\n
Login.c(90): } else {\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .constant('paginationConfig', {\n
Login.c(90): itemsPerPage: 10,\n
Login.c(90): boundaryLinks: false,\n
Login.c(90): directionLinks: true,\n
Login.c(90): firstText: 'First',\n
Login.c(90): previousText: 'Previous',\n
Login.c(90): nextText: 'Next',\n
Login.c(90): lastText: 'Last',\n
Login.c(90): rotate: true\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('pagination', ['$parse', 'paginationConfig',
function($parse, paginationConfig)
Login.c(90): {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): scope: {\n
Login.c(90): totalItems: '=',\n
Login.c(90): firstText: '@',\n
Login.c(90): previousText: '@',\n
Login.c(90): nextText: '@',\n
Login.c(90): lastText: '@'\n
Login.c(90): },\n
Login.c(90): require: ['pagination', '?ngModel'],\n
Login.c(90): controller: 'PaginationController',\n
Login.c(90): templateUrl: 'template/pagination/pagination.html',\n
Login.c(90): replace: true,\n
Login.c(90): link: function(scope, element, attrs, ctrls) {\n
Login.c(90): var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): if (!ngModelCtrl) {\n
Login.c(90): return; // do nothing if no ng-model\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Setup configuration parameters\n
Login.c(90): var maxSize = angular.isDefined(attrs.maxSize) ? scope.
$parent.$eval(attrs.maxSize)
Login.c(90): : paginationConfig.maxSize,\n
Login.c(90): rotate = angular.isDefined(attrs.rotate) ? scope.
$parent.$eval(attrs.rotate) : p
Login.c(90): aginationConfig.rotate;\n
Login.c(90): scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks)
? scope.$parent.$eval(a
Login.c(90): ttrs.boundaryLinks) : paginationConfig.boundaryLinks;\n
Login.c(90): scope.directionLinks =
angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval
Login.c(90): (attrs.directionLinks) : paginationConfig.directionLinks;\n
Login.c(90): \n
Login.c(90): paginationCtrl.init(ngModelCtrl, paginationConfig);\n
Login.c(90): \n
Login.c(90): if (attrs.maxSize) {\n
Login.c(90): scope.$parent.$watch($parse(attrs.maxSize),
function(value) {\n
Login.c(90): maxSize = parseInt(value, 10);\n
Login.c(90): paginationCtrl.render();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Create page object used in template\n
Login.c(90): function makePage(number, text, isActive) {\n
Login.c(90): return {\n
Login.c(90): number: number,\n
Login.c(90): text: text,\n
Login.c(90): active: isActive\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getPages(currentPage, totalPages) {\n
Login.c(90): var pages = [];\n
Login.c(90): \n
Login.c(90): // Default page limits\n
Login.c(90): var startPage = 1, endPage = totalPages;\n
Login.c(90): var isMaxSized = ( angular.isDefined(maxSize) && maxSize <
totalPages );\n
Login.c(90): \n
Login.c(90): // recompute if maxSize\n
Login.c(90): if ( isMaxSized ) {\n
Login.c(90): if ( rotate ) {\n
Login.c(90): // Current page is displayed in the middle of the
visible ones\n
Login.c(90): startPage = Math.max(currentPage -
Math.floor(maxSize/2), 1);\n
Login.c(90): endPage = startPage + maxSize - 1;\n
Login.c(90): \n
Login.c(90): // Adjust if limit is exceeded\n
Login.c(90): if (endPage > totalPages) {\n
Login.c(90): endPage = totalPages;\n
Login.c(90): startPage = endPage - maxSize + 1;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // Visible pages are paginated with maxSize\n
Login.c(90): startPage = ((Math.ceil(currentPage / maxSize) - 1) *
maxSize) + 1;\n
Login.c(90): \n
Login.c(90): // Adjust last page if limit is exceeded\n
Login.c(90): endPage = Math.min(startPage + maxSize - 1,
totalPages);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Add page number links\n
Login.c(90): for (var number = startPage; number <= endPage; number++)
{\n
Login.c(90): var page = makePage(number, number, number ===
currentPage);\n
Login.c(90): pages.push(page);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Add links to move between page sets\n
Login.c(90): if ( isMaxSized && ! rotate ) {\n
Login.c(90): if ( startPage > 1 ) {\n
Login.c(90): var previousPageSet = makePage(startPage - 1, '...',
false);\n
Login.c(90): pages.unshift(previousPageSet);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( endPage < totalPages ) {\n
Login.c(90): var nextPageSet = makePage(endPage + 1, '...',
false);\n
Login.c(90): pages.push(nextPageSet);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return pages;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var originalRender = paginationCtrl.render;\n
Login.c(90): paginationCtrl.render = function() {\n
Login.c(90): originalRender();\n
Login.c(90): if (scope.page > 0 && scope.page <= scope.totalPages) {\n
Login.c(90): scope.pages = getPages(scope.page, scope.totalPages);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .constant('pagerConfig', {\n
Login.c(90): itemsPerPage: 10,\n
Login.c(90): previousText: '\xC2\xAB Previous',\n
Login.c(90): nextText: 'Next \xC2\xBB',\n
Login.c(90): align: true\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('pager', ['pagerConfig', function(pagerConfig) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): scope: {\n
Login.c(90): totalItems: '=',\n
Login.c(90): previousText: '@',\n
Login.c(90): nextText: '@'\n
Login.c(90): },\n
Login.c(90): require: ['pager', '?ngModel'],\n
Login.c(90): controller: 'PaginationController',\n
Login.c(90): templateUrl: 'template/pagination/pager.html',\n
Login.c(90): replace: true,\n
Login.c(90): link: function(scope, element, attrs, ctrls) {\n
Login.c(90): var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): if (!ngModelCtrl) {\n
Login.c(90): return; // do nothing if no ng-model\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.align = angular.isDefined(attrs.align) ? scope.
$parent.$eval(attrs.align) : pa
Login.c(90): gerConfig.align;\n
Login.c(90): paginationCtrl.init(ngModelCtrl, pagerConfig);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * The following features are still outstanding: animation as a\n
Login.c(90): * function, placement as a function, inside, support for more
triggers than\n
Login.c(90): * just mouse enter/leave, html tooltips, and selector
delegation.\n
Login.c(90): */\n
Login.c(90): angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position',
'ui.bootstrap.bindHtml'
Login.c(90): ] )\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * The $tooltip service creates tooltip- and popover-like
directives as well as\n
Login.c(90): * houses global options for them.\n
Login.c(90): */\n
Login.c(90): .provider( '$tooltip', function () {\n
Login.c(90): // The default options tooltip and popover.\n
Login.c(90): var defaultOptions = {\n
Login.c(90): placement: 'top',\n
Login.c(90): animation: true,\n
Login.c(90): popupDelay: 0\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Default hide triggers for each show trigger\n
Login.c(90): var triggerMap = {\n
Login.c(90): 'mouseenter': 'mouseleave',\n
Login.c(90): 'click': 'click',\n
Login.c(90): 'focus': 'blur'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // The options specified to the provider globally.\n
Login.c(90): var globalOptions = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * `options({})` allows global configuration of all tooltips in
the\n
Login.c(90): * application.\n
Login.c(90): *\n
Login.c(90): * var app = angular.module( 'App', ['ui.bootstrap.tooltip'],
function( $tooltipProvid
Login.c(90): er ) {\n
Login.c(90): * // place tooltips left instead of top by default\n
Login.c(90): * $tooltipProvider.options( { placement: 'left' } );\n
Login.c(90): * });\n
Login.c(90): */\n
Login.c(90): \tthis.options = function( value ) {\n
Login.c(90): \t\tangular.extend( globalOptions, value );\n
Login.c(90): \t};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * This allows you to extend the set of trigger mappings
available. E.g.:\n
Login.c(90): *\n
Login.c(90): * $tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger'
);\n
Login.c(90): */\n
Login.c(90): this.setTriggers = function setTriggers ( triggers ) {\n
Login.c(90): angular.extend( triggerMap, triggers );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * This is a helper function for translating camel-case to
snake-case.\n
Login.c(90): */\n
Login.c(90): function snake_case(name){\n
Login.c(90): var regexp = /[A-Z]/g;\n
Login.c(90): var separator = '-';\n
Login.c(90): return name.replace(regexp, function(letter, pos) {\n
Login.c(90): return (pos ? separator : '') + letter.toLowerCase();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns the actual instance of the $tooltip service.\n
Login.c(90): * TODO support multiple triggers\n
Login.c(90): */\n
Login.c(90): this.$get = [ '$window', '$compile', '$timeout', '$parse',
'$document', '$position', '$i
Login.c(90): nterpolate', function ( $window, $compile, $timeout, $parse,
$document, $position, $interp
Login.c(90): olate ) {\n
Login.c(90): return function $tooltip ( type, prefix, defaultTriggerShow )
{\n
Login.c(90): var options = angular.extend( {}, defaultOptions,
globalOptions );\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns an object of show and hide triggers.\n
Login.c(90): *\n
Login.c(90): * If a trigger is supplied,\n
Login.c(90): * it is used to show the tooltip; otherwise, it will use
the `trigger`\n
Login.c(90): * option passed to the `$tooltipProvider.options` method;
else it will\n
Login.c(90): * default to the trigger supplied to this directive
factory.\n
Login.c(90): *\n
Login.c(90): * The hide trigger is based on the show trigger. If the
`trigger` option\n
Login.c(90): * was passed to the `$tooltipProvider.options` method, it
will use the\n
Login.c(90): * mapped trigger from `triggerMap` or the passed trigger if
the map is\n
Login.c(90): * undefined; otherwise, it uses the `triggerMap` value of
the show\n
Login.c(90): * trigger; else it will just use the show trigger.\n
Login.c(90): */\n
Login.c(90): function getTriggers ( trigger ) {\n
Login.c(90): var show = trigger || options.trigger ||
defaultTriggerShow;\n
Login.c(90): var hide = triggerMap[show] || show;\n
Login.c(90): return {\n
Login.c(90): show: show,\n
Login.c(90): hide: hide\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var directiveName = snake_case( type );\n
Login.c(90): \n
Login.c(90): var startSym = $interpolate.startSymbol();\n
Login.c(90): var endSym = $interpolate.endSymbol();\n
Login.c(90): var template =\n
Login.c(90): '<div '+ directiveName +'-popup '+\n
Login.c(90): 'title="'+startSym+'tt_title'+endSym+'" '+\n
Login.c(90): 'content="'+startSym+'tt_content'+endSym+'" '+\n
Login.c(90): 'placement="'+startSym+'tt_placement'+endSym+'" '+\n
Login.c(90): 'animation="tt_animation" '+\n
Login.c(90): 'is-open="tt_isOpen"'+\n
Login.c(90): '>'+\n
Login.c(90): '</div>';\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): scope: true,\n
Login.c(90): compile: function (tElem, tAttrs) {\n
Login.c(90): var tooltipLinker = $compile( template );\n
Login.c(90): \n
Login.c(90): return function link ( scope, element, attrs ) {\n
Login.c(90): var tooltip;\n
Login.c(90): var transitionTimeout;\n
Login.c(90): var popupTimeout;\n
Login.c(90): var appendToBody =
angular.isDefined( options.appendToBody ) ? options.appendT
Login.c(90): oBody : false;\n
Login.c(90): var triggers = getTriggers( undefined );\n
Login.c(90): var hasEnableExp =
angular.isDefined(attrs[prefix+'Enable']);\n
Login.c(90): \n
Login.c(90): var positionTooltip = function () {\n
Login.c(90): \n
Login.c(90): var ttPosition = $position.positionElements(element,
tooltip, scope.tt_place
Login.c(90): ment, appendToBody);\n
Login.c(90): ttPosition.top += 'px';\n
Login.c(90): ttPosition.left += 'px';\n
Login.c(90): \n
Login.c(90): // Now set the calculated positioning.\n
Login.c(90): tooltip.css( ttPosition );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // By default, the tooltip is not open.\n
Login.c(90): // TODO add ability to start tooltip opened\n
Login.c(90): scope.tt_isOpen = false;\n
Login.c(90): \n
Login.c(90): function toggleTooltipBind () {\n
Login.c(90): if ( ! scope.tt_isOpen ) {\n
Login.c(90): showTooltipBind();\n
Login.c(90): } else {\n
Login.c(90): hideTooltipBind();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Show the tooltip with delay if specified, otherwise
show it immediately\n
Login.c(90): function showTooltipBind() {\n
Login.c(90): if(hasEnableExp && !scope.
$eval(attrs[prefix+'Enable'])) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if ( scope.tt_popupDelay ) {\n
Login.c(90): // Do nothing if the tooltip was already scheduled
to pop-up.\n
Login.c(90): // This happens if show is triggered multiple
times before any hide is tri
Login.c(90): ggered.\n
Login.c(90): if (!popupTimeout) {\n
Login.c(90): popupTimeout = $timeout( show,
scope.tt_popupDelay, false );\n
Login.c(90): popupTimeout.then(function(reposition)
{reposition();});\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): show()();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function hideTooltipBind () {\n
Login.c(90): scope.$apply(function () {\n
Login.c(90): hide();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Show the tooltip
Login.c(90): t=2172ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): popup element.\n
Login.c(90): function show() {\n
Login.c(90): \n
Login.c(90): popupTimeout = null;\n
Login.c(90): \n
Login.c(90): // If there is a pending remove transition, we must
cancel it, lest the\n
Login.c(90): // tooltip be mysteriously removed.\n
Login.c(90): if ( transitionTimeout ) {\n
Login.c(90): $timeout.cancel( transitionTimeout );\n
Login.c(90): transitionTimeout = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Don't show empty tooltips.\n
Login.c(90): if ( ! scope.tt_content ) {\n
Login.c(90): return angular.noop;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): createTooltip();\n
Login.c(90): \n
Login.c(90): // Set the initial positioning.\n
Login.c(90): tooltip.css({ top: 0, left: 0, display:
'block' });\n
Login.c(90): \n
Login.c(90): // Now we add it to the DOM because need some info
about it. But it's not \n
Login.c(90): // visible yet anyway.\n
Login.c(90): if ( appendToBody ) {\n
Login.c(90): $document.find( 'body' ).append( tooltip );\n
Login.c(90): } else {\n
Login.c(90): element.after( tooltip );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): positionTooltip();\n
Login.c(90): \n
Login.c(90): // And show the tooltip.\n
Login.c(90): scope.tt_isOpen = true;\n
Login.c(90): scope.$digest(); // digest required as $apply is not
called\n
Login.c(90): \n
Login.c(90): // Return positioning function as promise callback
for correct\n
Login.c(90): // positioning after draw.\n
Login.c(90): return positionTooltip;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Hide the tooltip popup element.\n
Login.c(90): function hide() {\n
Login.c(90): // First things first: we don't show it anymore.\n
Login.c(90): scope.tt_isOpen = false;\n
Login.c(90): \n
Login.c(90): //if tooltip is going to be shown after delay, we
must cancel this\n
Login.c(90): $timeout.cancel( popupTimeout );\n
Login.c(90): popupTimeout = null;\n
Login.c(90): \n
Login.c(90): // And now we remove it from the DOM. However, if we
have animation, we \n
Login.c(90): // need to wait for it to expire beforehand.\n
Login.c(90): // FIXME: this is a placeholder for a port of the
transitions library.\n
Login.c(90): if ( scope.tt_animation ) {\n
Login.c(90): if (!transitionTimeout) {\n
Login.c(90): transitionTimeout = $timeout(removeTooltip,
500);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): removeTooltip();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createTooltip() {\n
Login.c(90): // There can only be one tooltip element per
directive shown at once.\n
Login.c(90): if (tooltip) {\n
Login.c(90): removeTooltip();\n
Login.c(90): }\n
Login.c(90): tooltip = tooltipLinker(scope, function () {});\n
Login.c(90): \n
Login.c(90): // Get contents rendered into the tooltip\n
Login.c(90): scope.$digest();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeTooltip() {\n
Login.c(90): transitionTimeout = null;\n
Login.c(90): if (tooltip) {\n
Login.c(90): tooltip.remove();\n
Login.c(90): tooltip = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Observe the relevant attributes.\n
Login.c(90): */\n
Login.c(90): attrs.$observe( type, function ( val ) {\n
Login.c(90): scope.tt_content = val;\n
Login.c(90): \n
Login.c(90): if (!val && scope.tt_isOpen ) {\n
Login.c(90): hide();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): attrs.$observe( prefix+'Title', function ( val ) {\n
Login.c(90): scope.tt_title = val;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): attrs.$observe( prefix+'Placement', function ( val )
{\n
Login.c(90): scope.tt_placement = angular.isDefined( val ) ?
val : options.placement;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): attrs.$observe( prefix+'PopupDelay', function ( val )
{\n
Login.c(90): var delay = parseInt( val, 10 );\n
Login.c(90): scope.tt_popupDelay = ! isNaN(delay) ? delay :
options.popupDelay;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var unregisterTriggers = function () {\n
Login.c(90): element.unbind(triggers.show, showTooltipBind);\n
Login.c(90): element.unbind(triggers.hide, hideTooltipBind);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): attrs.$observe( prefix+'Trigger', function ( val ) {\n
Login.c(90): unregisterTriggers();\n
Login.c(90): \n
Login.c(90): triggers = getTriggers( val );\n
Login.c(90): \n
Login.c(90): if ( triggers.show === triggers.hide ) {\n
Login.c(90): element.bind( triggers.show,
toggleTooltipBind );\n
Login.c(90): } else {\n
Login.c(90): element.bind( triggers.show, showTooltipBind );\n
Login.c(90): element.bind( triggers.hide, hideTooltipBind );\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var animation = scope.$eval(attrs[prefix +
'Animation']);\n
Login.c(90): scope.tt_animation = angular.isDefined(animation) ? !!
animation : options.anim
Login.c(90): ation;\n
Login.c(90): \n
Login.c(90): attrs.$observe( prefix+'AppendToBody', function
( val ) {\n
Login.c(90): appendToBody = angular.isDefined( val ) ?
$parse( val )( scope ) : appendToB
Login.c(90): ody;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // if a tooltip is attached to <body> we need to
remove it on\n
Login.c(90): // location change as its parent scope will probably
not be destroyed\n
Login.c(90): // by the change.\n
Login.c(90): if ( appendToBody ) {\n
Login.c(90): scope.$on('$locationChangeSuccess', function
closeTooltipOnLocationChangeSuc
Login.c(90): cess () {\n
Login.c(90): if ( scope.tt_isOpen ) {\n
Login.c(90): hide();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Make sure tooltip is destroyed and removed.\n
Login.c(90): scope.$on('$destroy', function onDestroyTooltip() {\n
Login.c(90): $timeout.cancel( transitionTimeout );\n
Login.c(90): $timeout.cancel( popupTimeout );\n
Login.c(90): unregisterTriggers();\n
Login.c(90): removeTooltip();\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive( 'tooltipPopup', function () {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): scope: { content: '@', placement: '@', animation: '&', isOpen:
'&' },\n
Login.c(90): templateUrl: 'template/tooltip/tooltip-popup.html'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive( 'tooltip', [ '$tooltip', function ( $tooltip ) {\n
Login.c(90): return $tooltip( 'tooltip', 'tooltip', 'mouseenter' );\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive( 'tooltipHtmlUnsafePopup', function () {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): scope: { content: '@', placement: '@', animation: '&', isOpen:
'&' },\n
Login.c(90): templateUrl: 'template/tooltip/tooltip-html-unsafe-
popup.html'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive( 'tooltipHtmlUnsafe', [ '$tooltip', function ( $tooltip
) {\n
Login.c(90): return $tooltip( 'tooltipHtmlUnsafe', 'tooltip',
'mouseenter' );\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * The following features are still outstanding: popup delay,
animation as a\n
Login.c(90): * function, placement as a function, inside, support for more
triggers than\n
Login.c(90): * just mouse enter/leave, html popovers, and selector
delegatation.\n
Login.c(90): */\n
Login.c(90): angular.module( 'ui.bootstrap.popover', [ 'ui.bootstrap.tooltip' ]
)\n
Login.c(90): \n
Login.c(90): .directive( 'popoverPopup', function () {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): scope: { title: '@', content: '@', placement: '@', animation:
'&', isOpen: '&' },\n
Login.c(90): templateUrl: 'template/popover/popover.html'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive( 'popover', [ '$tooltip', function ( $tooltip ) {\n
Login.c(90): return $tooltip( 'popover', 'popover', 'click' );\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.progressbar', [])\n
Login.c(90): \n
Login.c(90): .constant('progressConfig', {\n
Login.c(90): animate: true,\n
Login.c(90): max: 100\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('ProgressController', ['$scope', '$attrs',
'progressConfig', function($scope,
Login.c(90): $attrs, progressConfig) {\n
Login.c(90): var self = this,\n
Login.c(90): animate = angular.isDefined($attrs.animate) ? $scope.
$parent.$eval($attrs.animate)
Login.c(90): : progressConfig.animate;\n
Login.c(90): \n
Login.c(90): this.bars = [];\n
Login.c(90): $scope.max = angular.isDefined($attrs.max) ? $scope.$parent.
$eval($attrs.max) : progre
Login.c(90): ssConfig.max;\n
Login.c(90): \n
Login.c(90): this.addBar = function(bar, element) {\n
Login.c(90): if ( !animate ) {\n
Login.c(90): element.css({'transition': 'none'});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.bars.push(bar);\n
Login.c(90): \n
Login.c(90): bar.$watch('value', function( value ) {\n
Login.c(90): bar.percent = +(100 * value /
$scope.max).toFixed(2);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): bar.$on('$destroy', function() {\n
Login.c(90): element = null;\n
Login.c(90): self.removeBar(bar);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.removeBar = function(bar) {\n
Login.c(90): this.bars.splice(this.bars.indexOf(bar), 1);\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('progress', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): transclude: true,\n
Login.c(90): controller: 'ProgressController',\n
Login.c(90): require: 'progress',\n
Login.c(90): scope: {},\n
Login.c(90): templateUrl: 'template/progressbar/progress.html'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('bar', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): transclude: true,\n
Login.c(90): require: '^progress',\n
Login.c(90): scope: {\n
Login.c(90): value: '=',\n
Login.c(90): type: '@'\n
Login.c(90): },\n
Login.c(90): templateUrl: 'template/progressbar/bar.html',\n
Login.c(90): link: function(scope, element, attrs, progressCtrl) {\n
Login.c(90): progressCtrl.addBar(scope, element);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('progressbar', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): transclude: true,\n
Login.c(90): controller: 'ProgressController',\n
Login.c(90): scope: {\n
Login.c(90): value: '=',\n
Login.c(90): type: '@'\n
Login.c(90): },\n
Login.c(90): templateUrl: 'template/progressbar/progressbar.html',\n
Login.c(90): link: function(scope, element, attrs, progressCtrl) {\n
Login.c(90): progressCtrl.addBar(scope,
angular.element(element.children()[0]));\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): angular.module('ui.bootstrap.rating', [])\n
Login.c(90): \n
Login.c(90): .constant('ratingConfig', {\n
Login.c(90): max: 5,\n
Login.c(90): stateOn: null,\n
Login.c(90): stateOff: null\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('RatingController', ['$scope', '$attrs',
'ratingConfig', function($scope, $att
Login.c(90): rs, ratingConfig) {\n
Login.c(90): var ngModelCtrl = { $setViewValue: angular.noop };\n
Login.c(90): \n
Login.c(90): this.init = function(ngModelCtrl_) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): ngModelCtrl.$render = this.render;\n
Login.c(90): \n
Login.c(90): this.stateOn = angular.isDefined($attrs.stateOn) ? $scope.
$parent.$eval($attrs.stateOn
Login.c(90): ) : ratingConfig.stateOn;\n
Login.c(90): this.stateOff = angular.isDefined($attrs.stateOff) ? $scope.
$parent.$eval($attrs.state
Login.c(90): Off) : ratingConfig.stateOff;\n
Login.c(90): \n
Login.c(90): var ratingStates = angular.isDefined($attrs.ratingStates) ?
$scope.$parent.$eval($attr
Login.c(90): s.ratingStates) :\n
Login.c(90): new Array( angular.isDefined($attrs.max) ?
$scope.$parent.$eval($a
Login.c(90): ttrs.max) : ratingConfig.max );\n
Login.c(90): $scope.range = this.buildTemplateObjects(ratingStates);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.buildTemplateObjects = function(states) {\n
Login.c(90): for (var i = 0, n = states.length; i < n; i++) {\n
Login.c(90): states[i] = angular.extend({ index: i }, { stateOn:
this.stateOn, stateOff: this.sta
Login.c(90): teOff }, states[i]);\n
Login.c(90): }\n
Login.c(90): return states;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.rate = function(value) {\n
Login.c(90): if ( !$scope.readonly && value >= 0 && value <=
$scope.range.length ) {\n
Login.c(90): ngModelCtrl.$setViewValue(value);\n
Login.c(90): ngModelCtrl.$render();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.enter = function(value) {\n
Login.c(90): if ( !$scope.readonly ) {\n
Login.c(90): $scope.value = value;\n
Login.c(90): }\n
Login.c(90): $scope.onHover({value: value});\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.reset = function() {\n
Login.c(90): $scope.value = ngModelCtrl.$viewValue;\n
Login.c(90): $scope.onLeave();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.onKeydown = function(evt) {\n
Login.c(90): if (/(37|38|39|40)/.test(evt.which)) {\n
Login.c(90): evt.preventDefault();\n
Login.c(90): evt.stopPropagation();\n
Login.c(90): $scope.rate( $scope.value + (evt.which === 38 || evt.which
=== 39 ? 1 : -1) );\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.render = function() {\n
Login.c(90): $scope.value = ngModelCtrl.$viewValue;\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('rating', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): require: ['rating', 'ngModel'],\n
Login.c(90): scope: {\n
Login.c(90): readonly: '=?',\n
Login.c(90): onHover: '&',\n
Login.c(90): onLeave: '&'\n
Login.c(90): },\n
Login.c(90): controller: 'RatingController',\n
Login.c(90): templateUrl: 'template/rating/rating.html',\n
Login.c(90): replace: true,\n
Login.c(90): link: function(scope, element, attrs, ctrls) {\n
Login.c(90): var ratingCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): if ( ngModelCtrl ) {\n
Login.c(90): ratingCtrl.init( ngModelCtrl );\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.bootstrap.tabs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * AngularJS version of the tabs directive.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.tabs', [])\n
Login.c(90): \n
Login.c(90): .controller('TabsetController', ['$scope', function
TabsetCtrl($scope) {\n
Login.c(90): var ctrl = this,\n
Login.c(90): tabs = ctrl.tabs = $scope.tabs = [];\n
Login.c(90): \n
Login.c(90): ctrl.select = function(selectedTab) {\n
Login.c(90): angular.forEach(tabs, function(tab) {\n
Login.c(90): if (tab.active && tab !== selectedTab) {\n
Login.c(90): tab.active = false;\n
Login.c(90): tab.onDeselect();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): selectedTab.active = true;\n
Login.c(90): selectedTab.onSelect();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.addTab = function addTab(tab) {\n
Login.c(90): tabs.push(tab);\n
Login.c(90): // we can't run the select function on the first tab\n
Login.c(90): // since that would select it twice\n
Login.c(90): if (tabs.length === 1) {\n
Login.c(90): tab.active = true;\n
Login.c(90): } else if (tab.active) {\n
Login.c(90): ctrl.select(tab);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.removeTab = function removeTab(tab) {\n
Login.c(90): var index = tabs.indexOf(tab);\n
Login.c(90): //Select a new tab if the tab to be removed is selected\n
Login.c(90): if (tab.active && tabs.length > 1) {\n
Login.c(90): //If this is the last tab
Login.c(90): t=2192ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): , select the previous tab. else, the next tab.\n
Login.c(90): var newActiveIndex = index == tabs.length - 1 ? index - 1 :
index + 1;\n
Login.c(90): ctrl.select(tabs[newActiveIndex]);\n
Login.c(90): }\n
Login.c(90): tabs.splice(index, 1);\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.bootstrap.tabs.directive:tabset\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Tabset is the outer container for the tabs directive\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} vertical Whether or not to use vertical
styling for the tabs.\n
Login.c(90): * @param {boolean=} justified Whether or not to use justified
styling for the tabs.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ui.bootstrap">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <tabset>\n
Login.c(90): <tab heading="Tab 1"><b>First</b> Content!</tab>\n
Login.c(90): <tab heading="Tab 2"><i>Second</i> Content!</tab>\n
Login.c(90): </tabset>\n
Login.c(90): <hr />\n
Login.c(90): <tabset vertical="true">\n
Login.c(90): <tab heading="Vertical Tab 1"><b>First</b> Vertical Content!
</tab>\n
Login.c(90): <tab heading="Vertical Tab 2"><i>Second</i> Vertical
Content!</tab>\n
Login.c(90): </tabset>\n
Login.c(90): <tabset justified="true">\n
Login.c(90): <tab heading="Justified Tab 1"><b>First</b> Justified
Content!</tab>\n
Login.c(90): <tab heading="Justified Tab 2"><i>Second</i> Justified
Content!</tab>\n
Login.c(90): </tabset>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): .directive('tabset', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): transclude: true,\n
Login.c(90): replace: true,\n
Login.c(90): scope: {\n
Login.c(90): type: '@'\n
Login.c(90): },\n
Login.c(90): controller: 'TabsetController',\n
Login.c(90): templateUrl: 'template/tabs/tabset.html',\n
Login.c(90): link: function(scope, element, attrs) {\n
Login.c(90): scope.vertical = angular.isDefined(attrs.vertical) ? scope.
$parent.$eval(attrs.verti
Login.c(90): cal) : false;\n
Login.c(90): scope.justified = angular.isDefined(attrs.justified) ?
scope.$parent.$eval(attrs.jus
Login.c(90): tified) : false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.bootstrap.tabs.directive:tab\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @param {string=} heading The visible heading, or title, of the
tab. Set HTML headings w
Login.c(90): ith {@link ui.bootstrap.tabs.directive:tabHeading tabHeading}.\n
Login.c(90): * @param {string=} select An expression to evaluate when the tab
is selected.\n
Login.c(90): * @param {boolean=} active A binding, telling whether or not this
tab is selected.\n
Login.c(90): * @param {boolean=} disabled A binding, telling whether or not
this tab is disabled.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a tab with a heading and content. Must be placed within
a {@link ui.bootstrap.t
Login.c(90): abs.directive:tabset tabset}.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ui.bootstrap">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="TabsDemoCtrl">\n
Login.c(90): <button class="btn btn-small" ng-click="items[0].active =
true">\n
Login.c(90): Select item 1, using active binding\n
Login.c(90): </button>\n
Login.c(90): <button class="btn btn-small" ng-click="items[1].disabled
= !items[1].disabled">\n
Login.c(90): Enable/disable item 2, using disabled binding\n
Login.c(90): </button>\n
Login.c(90): <br />\n
Login.c(90): <tabset>\n
Login.c(90): <tab heading="Tab 1">First Tab</tab>\n
Login.c(90): <tab select="alertMe()">\n
Login.c(90): <tab-heading><i class="icon-bell"></i> Alert me!</tab-
heading>\n
Login.c(90): Second Tab, with alert callback and html heading!\n
Login.c(90): </tab>\n
Login.c(90): <tab ng-repeat="item in items"\n
Login.c(90): heading="{{item.title}}"\n
Login.c(90): disabled="item.disabled"\n
Login.c(90): active="item.active">\n
Login.c(90): {{item.content}}\n
Login.c(90): </tab>\n
Login.c(90): </tabset>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): function TabsDemoCtrl($scope) {\n
Login.c(90): $scope.items = [\n
Login.c(90): { title:"Dynamic Title 1", content:"Dynamic Item 0" },\n
Login.c(90): { title:"Dynamic Title 2", content:"Dynamic Item 1",
disabled: true }\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): $scope.alertMe = function() {\n
Login.c(90): setTimeout(function() {\n
Login.c(90): alert("You've selected the alert tab!");\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.bootstrap.tabs.directive:tabHeading\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates an HTML heading for a {@link
ui.bootstrap.tabs.directive:tab tab}. Must be plac
Login.c(90): ed as a child of a tab element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ui.bootstrap">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <tabset>\n
Login.c(90): <tab>\n
Login.c(90): <tab-heading><b>HTML</b> in my titles?!</tab-heading>\n
Login.c(90): And some content, too!\n
Login.c(90): </tab>\n
Login.c(90): <tab>\n
Login.c(90): <tab-heading><i class="icon-heart"></i> Icon heading?!?
</tab-heading>\n
Login.c(90): That's right.\n
Login.c(90): </tab>\n
Login.c(90): </tabset>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): .directive('tab', ['$parse', function($parse) {\n
Login.c(90): return {\n
Login.c(90): require: '^tabset',\n
Login.c(90): restrict: 'EA',\n
Login.c(90): replace: true,\n
Login.c(90): templateUrl: 'template/tabs/tab.html',\n
Login.c(90): transclude: true,\n
Login.c(90): scope: {\n
Login.c(90): active: '=?',\n
Login.c(90): heading: '@',\n
Login.c(90): onSelect: '&select', //This callback is called in
contentHeadingTransclude\n
Login.c(90): //once it inserts the tab's content into
the dom\n
Login.c(90): onDeselect: '&deselect'\n
Login.c(90): },\n
Login.c(90): controller: function() {\n
Login.c(90): //Empty controller so other directives can require being
'under' a tab\n
Login.c(90): },\n
Login.c(90): compile: function(elm, attrs, transclude) {\n
Login.c(90): return function postLink(scope, elm, attrs, tabsetCtrl) {\n
Login.c(90): scope.$watch('active', function(active) {\n
Login.c(90): if (active) {\n
Login.c(90): tabsetCtrl.select(scope);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.disabled = false;\n
Login.c(90): if ( attrs.disabled ) {\n
Login.c(90): scope.$parent.$watch($parse(attrs.disabled),
function(value) {\n
Login.c(90): scope.disabled = !! value;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.select = function() {\n
Login.c(90): if ( !scope.disabled ) {\n
Login.c(90): scope.active = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): tabsetCtrl.addTab(scope);\n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): tabsetCtrl.removeTab(scope);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): //We need to transclude later, once the content container
is ready.\n
Login.c(90): //when this link happens, we're inside a tab heading.\n
Login.c(90): scope.$transcludeFn = transclude;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('tabHeadingTransclude', [function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'A',\n
Login.c(90): require: '^tab',\n
Login.c(90): link: function(scope, elm, attrs, tabCtrl) {\n
Login.c(90): scope.$watch('headingElement', function
updateHeadingElement(heading) {\n
Login.c(90): if (heading) {\n
Login.c(90): elm.html('');\n
Login.c(90): elm.append(heading);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('tabContentTransclude', function() {\n
Login.c(90): return {\n
Login.c(90): restrict: 'A',\n
Login.c(90): require: '^tabset',\n
Login.c(90): link: function(scope, elm, attrs) {\n
Login.c(90): var tab = scope.$eval(attrs.tabContentTransclude);\n
Login.c(90): \n
Login.c(90): //Now our tab is ready to be transcluded: both the tab
heading area\n
Login.c(90): //and the tab content area are loaded. Transclude 'em
both.\n
Login.c(90): tab.$transcludeFn(tab.$parent, function(contents) {\n
Login.c(90): angular.forEach(contents, function(node) {\n
Login.c(90): if (isTabHeading(node)) {\n
Login.c(90): //Let tabHeadingTransclude know.\n
Login.c(90): tab.headingElement = node;\n
Login.c(90): } else {\n
Login.c(90): elm.append(node);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): function isTabHeading(node) {\n
Login.c(90): return node.tagName && (\n
Login.c(90): node.hasAttribute('tab-heading') ||\n
Login.c(90): node.hasAttribute('data-tab-heading') ||\n
Login.c(90): node.tagName.toLowerCase() === 'tab-heading' ||\n
Login.c(90): node.tagName.toLowerCase() === 'data-tab-heading'\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): ;\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.timepicker', [])\n
Login.c(90): \n
Login.c(90): .constant('timepickerConfig', {\n
Login.c(90): hourStep: 1,\n
Login.c(90): minuteStep: 1,\n
Login.c(90): showMeridian: true,\n
Login.c(90): meridians: null,\n
Login.c(90): readonlyInput: false,\n
Login.c(90): mousewheel: true\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .controller('TimepickerController', ['$scope', '$attrs', '$parse',
'$log', '$locale', 'tim
Login.c(90): epickerConfig', function($scope, $attrs, $parse, $log, $locale,
timepickerConfig) {\n
Login.c(90): var selected = new Date(),\n
Login.c(90): ngModelCtrl = { $setViewValue: angular.noop }, //
nullModelCtrl\n
Login.c(90): meridians = angular.isDefined($attrs.meridians) ? $scope.
$parent.$eval($attrs.meridi
Login.c(90): ans) : timepickerConfig.meridians ||
$locale.DATETIME_FORMATS.AMPMS;\n
Login.c(90): \n
Login.c(90): this.init = function( ngModelCtrl_, inputs ) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): ngModelCtrl.$render = this.render;\n
Login.c(90): \n
Login.c(90): var hoursInputEl = inputs.eq(0),\n
Login.c(90): minutesInputEl = inputs.eq(1);\n
Login.c(90): \n
Login.c(90): var mousewheel = angular.isDefined($attrs.mousewheel) ?
$scope.$parent.$eval($attrs.mo
Login.c(90): usewheel) : timepickerConfig.mousewheel;\n
Login.c(90): if ( mousewheel ) {\n
Login.c(90): this.setupMousewheelEvents( hoursInputEl,
minutesInputEl );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $scope.readonlyInput = angular.isDefined($attrs.readonlyInput)
? $scope.$parent.$eval(
Login.c(90): $attrs.readonlyInput) : timepickerConfig.readonlyInput;\n
Login.c(90): this.setupInputEvents( hoursInputEl, minutesInputEl );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var hourStep = timepickerConfig.hourStep;\n
Login.c(90): if ($attrs.hourStep) {\n
Login.c(90): $scope.$parent.$watch($parse($attrs.hourStep), function(value)
{\n
Login.c(90): hourStep = parseInt(value, 10);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var minuteStep = timepickerConfig.minuteStep;\n
Login.c(90): if ($attrs.minuteStep) {\n
Login.c(90): $scope.$parent.$watch($parse($attrs.minuteStep),
function(value) {\n
Login.c(90): minuteStep = parseInt(value, 10);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // 12H / 24H mode\n
Login.c(90): $scope.showMeridian = timepickerConfig.showMeridian;\n
Login.c(90): if ($attrs.showMeridian) {\n
Login.c(90): $scope.$parent.$watch($parse($attrs.showMeridian),
function(value) {\n
Login.c(90): $scope.showMeridian = !!value;\n
Login.c(90): \n
Login.c(90): if ( ngModelCtrl.$error.time ) {\n
Login.c(90): // Evaluate from template\n
Login.c(90): var hours = getHoursFromTemplate(), minutes =
getMinutesFromTemplate();\n
Login.c(90): if (angular.isDefined( hours ) &&
angular.isDefined( minutes )) {\n
Login.c(90): selected.setHours( hours );\n
Login.c(90): refresh();\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): updateTemplate();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Get $scope.hours in 24H mode if valid\n
Login.c(90): function getHoursFromTemplate ( ) {\n
Login.c(90): var hours = parseInt( $scope.hours, 10 );\n
Login.c(90): var valid = ( $scope.showMeridian ) ? (hours > 0 && hours <
13) : (hours >= 0 && hours
Login.c(90): < 24);\n
Login.c(90): if ( !valid ) {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( $scope.showMeridian ) {\n
Login.c(90): if ( hours === 12 ) {\n
Login.c(90): hours = 0;\n
Login.c(90): }\n
Login.c(90): if ( $scope.meridian === meridians[1] ) {\n
Login.c(90): hours = hours + 12;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return hours;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getMinutesFromTemplate() {\n
Login.c(90): var minutes = parseInt($scope.minutes, 10);\n
Login.c(90): return ( minutes >= 0 && minutes < 60 ) ? minutes :
undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function pad( value ) {\n
Login.c(90): return ( angular.isDefined(value) && value.toString().length <
2 ) ? '0' + value : val
Login.c(90): ue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Respond on mousewheel spin\n
Login.c(90): this.setupMousewheelEvents = function( hoursInputEl,
minutesInputEl ) {\n
Login.c(90): var isScrollingUp = function(e) {\n
Login.c(90): if (e.originalEvent) {\n
Login.c(90): e = e.originalEvent;\n
Login.c(90): }\n
Login.c(90): //pick correct delta variable depending on event\n
Login.c(90): var delta = (e.wheelDelta) ? e.wheelDelta : -e.deltaY;\n
Login.c(90): return (e.detail || delta > 0);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): hoursInputEl.bind('mousewheel wheel', function(e) {\n
Login.c(90): $scope.$apply( (isScrollingUp(e)) ?
$scope.incrementHours() : $scope.decrementHours(
Login.c(90): ) );\n
Login.c(90): e.preventDefault();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): minutesInputEl.bind('mousewheel wheel', function(e) {\n
Login.c(90): $scope.$apply( (isScrollingUp(e)) ?
$scope.incrementMinutes() : $scope.decrementMinu
Login.c(90): tes() );\n
Login.c(90): e.preventDefault();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.setupInputEvents = function( hoursInputEl, minutesInputEl )
{\n
Login.c(90): if ( $scope.readonlyInput ) {\n
Login.c(90): $scope.updateHours = angular.noop;\n
Login.c(90): $scope.updateMinutes = angular.noop;\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var invalidate = function(invalidHours, invalidMinutes) {\n
Login.c(90): ngModelCtrl.$setViewValue( null );\n
Login.c(90): ngModelCtrl.$setValidity('time', false);\n
Login.c(90): if (angular.isDefined(invalidHours)) {\n
Login.c(90): $scope.invalidHours = invalidHours;\n
Login.c(90): }\n
Login.c(90): if (angular.isDefined(invalidMinutes)) {\n
Login.c(90): $scope.invalidMinutes = invalidMinutes;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.updateHours = function() {\n
Login.c(90): var hours = getHoursFromTemplate();\n
Login.c(90): \n
Login.c(90): if ( angular.isDefined(hours) ) {\n
Login.c(90): selected.setHours( hours );\n
Login.c(90): refresh( 'h' );\n
Login.c(90): } else {\n
Login.c(90): invalidate(true);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): hoursInputEl.bind('blur', function(e) {\n
Login.c(90): if ( !$scope.invalidHours && $scope.hours < 10) {\n
Login.c(90): $scope.$apply( function() {\n
Login.c(90): $scope.hours = pad( $scope.hours );\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): $scope.updateMinutes = function() {\n
Login.c(90): var minutes = getMinutesFromTemplate();\n
Login.c(90): \n
Login.c(90): if ( angular.isDefined(minutes) ) {\n
Login.c(90): selected.setMinutes( minutes );\n
Login.c(90): refresh( 'm' );\n
Login.c(90): } else {\n
Login.c(90): invalidate(undefined, true);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): minutesInputEl.bind('blur', function(e) {\n
Login.c(90): if ( !$scope.invalidMinutes && $scope.minutes < 10 ) {\n
Login.c(90): $scope.$apply( function() {\n
Login.c(90): $scope.minutes = pad( $scope.minutes );\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.render = function() {\n
Login.c(90): var date = ngModelCtrl.$modelValue ? new Date( ngModelCtrl.
$modelValue ) : null;\n
Login.c(90): \n
Login.c(90): if (
Login.c(90): t=2210ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): isNaN(date) ) {\n
Login.c(90): ngModelCtrl.$setValidity('time', false);\n
Login.c(90): $log.error('Timepicker directive: "ng-model" value must be a
Date object, a number o
Login.c(90): f milliseconds since 01.01.1970 or a string representing an
RFC2822 or ISO 8601 date.');\n
Login.c(90): } else {\n
Login.c(90): if ( date ) {\n
Login.c(90): selected = date;\n
Login.c(90): }\n
Login.c(90): makeValid();\n
Login.c(90): updateTemplate();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Call internally when we know that model is valid.\n
Login.c(90): function refresh( keyboardChange ) {\n
Login.c(90): makeValid();\n
Login.c(90): ngModelCtrl.$setViewValue( new Date(selected) );\n
Login.c(90): updateTemplate( keyboardChange );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function makeValid() {\n
Login.c(90): ngModelCtrl.$setValidity('time', true);\n
Login.c(90): $scope.invalidHours = false;\n
Login.c(90): $scope.invalidMinutes = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function updateTemplate( keyboardChange ) {\n
Login.c(90): var hours = selected.getHours(), minutes =
selected.getMinutes();\n
Login.c(90): \n
Login.c(90): if ( $scope.showMeridian ) {\n
Login.c(90): hours = ( hours === 0 || hours === 12 ) ? 12 : hours %
12; // Convert 24 to 12 hour
Login.c(90): system\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $scope.hours = keyboardChange === 'h' ? hours : pad(hours);\n
Login.c(90): $scope.minutes = keyboardChange === 'm' ? minutes :
pad(minutes);\n
Login.c(90): $scope.meridian = selected.getHours() < 12 ? meridians[0] :
meridians[1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addMinutes( minutes ) {\n
Login.c(90): var dt = new Date( selected.getTime() + minutes * 60000 );\n
Login.c(90): selected.setHours( dt.getHours(), dt.getMinutes() );\n
Login.c(90): refresh();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $scope.incrementHours = function() {\n
Login.c(90): addMinutes( hourStep * 60 );\n
Login.c(90): };\n
Login.c(90): $scope.decrementHours = function() {\n
Login.c(90): addMinutes( - hourStep * 60 );\n
Login.c(90): };\n
Login.c(90): $scope.incrementMinutes = function() {\n
Login.c(90): addMinutes( minuteStep );\n
Login.c(90): };\n
Login.c(90): $scope.decrementMinutes = function() {\n
Login.c(90): addMinutes( - minuteStep );\n
Login.c(90): };\n
Login.c(90): $scope.toggleMeridian = function() {\n
Login.c(90): addMinutes( 12 * 60 * (( selected.getHours() < 12 ) ? 1 :
-1) );\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('timepicker', function () {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): require: ['timepicker', '?^ngModel'],\n
Login.c(90): controller:'TimepickerController',\n
Login.c(90): replace: true,\n
Login.c(90): scope: {},\n
Login.c(90): templateUrl: 'template/timepicker/timepicker.html',\n
Login.c(90): link: function(scope, element, attrs, ctrls) {\n
Login.c(90): var timepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n
Login.c(90): \n
Login.c(90): if ( ngModelCtrl ) {\n
Login.c(90): timepickerCtrl.init( ngModelCtrl,
element.find('input') );\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position',
'ui.bootstrap.bindHtml'
Login.c(90): ])\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A helper service that can parse typeahead's syntax (string
provided by users)\n
Login.c(90): * Extracted to a separate service for ease of unit testing\n
Login.c(90): */\n
Login.c(90): .factory('typeaheadParser', ['$parse', function ($parse) {\n
Login.c(90): \n
Login.c(90): //
0000011100000000000002220000000000000000333333333333333000000000
Login.c(90): 0044000\n
Login.c(90): var TYPEAHEAD_REGEXP = /^\\s*([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]
+?))?\\s+for\\s+(?:([\\$\\
Login.c(90): w][\\$\\w\\d]*))\\s+in\\s+([\\s\\S]+?)$/;\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): parse:function (input) {\n
Login.c(90): \n
Login.c(90): var match = input.match(TYPEAHEAD_REGEXP);\n
Login.c(90): if (!match) {\n
Login.c(90): throw new Error(\n
Login.c(90): 'Expected typeahead specification in form of
"_modelValue_ (as _label_)? for _it
Login.c(90): em_ in _collection_"' +\n
Login.c(90): ' but got "' + input + '".');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): itemName:match[3],\n
Login.c(90): source:$parse(match[4]),\n
Login.c(90): viewMapper:$parse(match[2] || match[1]),\n
Login.c(90): modelMapper:$parse(match[1])\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('typeahead', ['$compile', '$parse', '$q', '$timeout',
'$document', '$position
Login.c(90): ', 'typeaheadParser',\n
Login.c(90): function ($compile, $parse, $q, $timeout, $document,
$position, typeaheadParser) {\n
Login.c(90): \n
Login.c(90): var HOT_KEYS = [9, 13, 27, 38, 40];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): require:'ngModel',\n
Login.c(90): link:function (originalScope, element, attrs, modelCtrl) {\n
Login.c(90): \n
Login.c(90): //SUPPORTED ATTRIBUTES (OPTIONS)\n
Login.c(90): \n
Login.c(90): //minimal no of characters that needs to be entered before
typeahead kicks-in\n
Login.c(90): var minSearch = originalScope.
$eval(attrs.typeaheadMinLength) || 1;\n
Login.c(90): \n
Login.c(90): //minimal wait time after last character typed before
typehead kicks-in\n
Login.c(90): var waitTime = originalScope.$eval(attrs.typeaheadWaitMs) ||
0;\n
Login.c(90): \n
Login.c(90): //should it restrict model values to the ones selected from
the popup only?\n
Login.c(90): var isEditable = originalScope.
$eval(attrs.typeaheadEditable) !== false;\n
Login.c(90): \n
Login.c(90): //binding to a variable that indicates if matches are being
retrieved asynchronously
Login.c(90): \n
Login.c(90): var isLoadingSetter = $parse(attrs.typeaheadLoading).assign
|| angular.noop;\n
Login.c(90): \n
Login.c(90): //a callback executed when a match is selected\n
Login.c(90): var onSelectCallback = $parse(attrs.typeaheadOnSelect);\n
Login.c(90): \n
Login.c(90): var inputFormatter = attrs.typeaheadInputFormatter ?
$parse(attrs.typeaheadInputForm
Login.c(90): atter) : undefined;\n
Login.c(90): \n
Login.c(90): var appendToBody = attrs.typeaheadAppendToBody ?
originalScope.$eval(attrs.typeahea
Login.c(90): dAppendToBody) : false;\n
Login.c(90): \n
Login.c(90): //INTERNAL VARIABLES\n
Login.c(90): \n
Login.c(90): //model setter executed upon match selection\n
Login.c(90): var $setModelValue = $parse(attrs.ngModel).assign;\n
Login.c(90): \n
Login.c(90): //expressions used by typeahead\n
Login.c(90): var parserResult = typeaheadParser.parse(attrs.typeahead);\n
Login.c(90): \n
Login.c(90): var hasFocus;\n
Login.c(90): \n
Login.c(90): //create a child scope for the typeahead directive so we are
not polluting original
Login.c(90): scope\n
Login.c(90): //with typeahead-specific data (matches, query etc.)\n
Login.c(90): var scope = originalScope.$new();\n
Login.c(90): originalScope.$on('$destroy', function(){\n
Login.c(90): scope.$destroy();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // WAI-ARIA\n
Login.c(90): var popupId = 'typeahead-' + scope.$id + '-' +
Math.floor(Math.random() * 10000);\n
Login.c(90): element.attr({\n
Login.c(90): 'aria-autocomplete': 'list',\n
Login.c(90): 'aria-expanded': false,\n
Login.c(90): 'aria-owns': popupId\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): //pop-up element used to display matches\n
Login.c(90): var popUpEl = angular.element('<div typeahead-
popup></div>');\n
Login.c(90): popUpEl.attr({\n
Login.c(90): id: popupId,\n
Login.c(90): matches: 'matches',\n
Login.c(90): active: 'activeIdx',\n
Login.c(90): select: 'select(activeIdx)',\n
Login.c(90): query: 'query',\n
Login.c(90): position: 'position'\n
Login.c(90): });\n
Login.c(90): //custom item template\n
Login.c(90): if (angular.isDefined(attrs.typeaheadTemplateUrl)) {\n
Login.c(90): popUpEl.attr('template-url',
attrs.typeaheadTemplateUrl);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var resetMatches = function() {\n
Login.c(90): scope.matches = [];\n
Login.c(90): scope.activeIdx = -1;\n
Login.c(90): element.attr('aria-expanded', false);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var getMatchId = function(index) {\n
Login.c(90): return popupId + '-option-' + index;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Indicate that the specified match is the active (pre-
selected) item in the list o
Login.c(90): wned by this typeahead.\n
Login.c(90): // This attribute is added or removed automatically when the
`activeIdx` changes.\n
Login.c(90): scope.$watch('activeIdx', function(index) {\n
Login.c(90): if (index < 0) {\n
Login.c(90): element.removeAttr('aria-activedescendant');\n
Login.c(90): } else {\n
Login.c(90): element.attr('aria-activedescendant',
getMatchId(index));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var getMatchesAsync = function(inputValue) {\n
Login.c(90): \n
Login.c(90): var locals = {$viewValue: inputValue};\n
Login.c(90): isLoadingSetter(originalScope, true);\n
Login.c(90): $q.when(parserResult.source(originalScope,
locals)).then(function(matches) {\n
Login.c(90): \n
Login.c(90): //it might happen that several async queries were in
progress if a user were typ
Login.c(90): ing fast\n
Login.c(90): //but we are interested only in responses that
correspond to the current view va
Login.c(90): lue\n
Login.c(90): var onCurrentRequest = (inputValue === modelCtrl.
$viewValue);\n
Login.c(90): if (onCurrentRequest && hasFocus) {\n
Login.c(90): if (matches.length > 0) {\n
Login.c(90): \n
Login.c(90): scope.activeIdx = 0;\n
Login.c(90): scope.matches.length = 0;\n
Login.c(90): \n
Login.c(90): //transform labels\n
Login.c(90): for(var i=0; i<matches.length; i++) {\n
Login.c(90): locals[parserResult.itemName] = matches[i];\n
Login.c(90): scope.matches.push({\n
Login.c(90): id: getMatchId(i),\n
Login.c(90): label: parserResult.viewMapper(scope, locals),\n
Login.c(90): model: matches[i]\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.query = inputValue;\n
Login.c(90): //position pop-up with matches - we need to re-
calculate its position each t
Login.c(90): ime we are opening a window\n
Login.c(90): //with matches as a pop-up might be absolute-
positioned and position of an i
Login.c(90): nput might have changed on a page\n
Login.c(90): //due to other elements being rendered\n
Login.c(90): scope.position = appendToBody ?
$position.offset(element) : $position.positi
Login.c(90): on(element);\n
Login.c(90): scope.position.top = scope.position.top +
element.prop('offsetHeight');\n
Login.c(90): \n
Login.c(90): element.attr('aria-expanded', true);\n
Login.c(90): } else {\n
Login.c(90): resetMatches();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (onCurrentRequest) {\n
Login.c(90): isLoadingSetter(originalScope, false);\n
Login.c(90): }\n
Login.c(90): }, function(){\n
Login.c(90): resetMatches();\n
Login.c(90): isLoadingSetter(originalScope, false);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): resetMatches();\n
Login.c(90): \n
Login.c(90): //we need to propagate user's query so we can higlight
matches\n
Login.c(90): scope.query = undefined;\n
Login.c(90): \n
Login.c(90): //Declare the timeout promise var outside the function scope
so that stacked calls c
Login.c(90): an be cancelled later \n
Login.c(90): var timeoutPromise;\n
Login.c(90): \n
Login.c(90): var scheduleSearchWithTimeout = function(inputValue) {\n
Login.c(90): timeoutPromise = $timeout(function () {\n
Login.c(90): getMatchesAsync(inputValue);\n
Login.c(90): }, waitTime);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var cancelPreviousTimeout = function() {\n
Login.c(90): if (timeoutPromise) {\n
Login.c(90): $timeout.cancel(timeoutPromise);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //plug into $parsers pipeline to open a typeahead on view
changes initiated from DOM
Login.c(90): \n
Login.c(90): //$parsers kick-in on all the changes coming from the view
as well as manually trigg
Login.c(90): ered by $setViewValue\n
Login.c(90): modelCtrl.$parsers.unshift(function (inputValue) {\n
Login.c(90): \n
Login.c(90): hasFocus = true;\n
Login.c(90): \n
Login.c(90): if (inputValue && inputValue.length >= minSearch) {\n
Login.c(90): if (waitTime > 0) {\n
Login.c(90): cancelPreviousTimeout();\n
Login.c(90): scheduleSearchWithTimeout(inputValue);\n
Login.c(90): } else {\n
Login.c(90): getMatchesAsync(inputValue);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): isLoadingSetter(originalScope, false);\n
Login.c(90): cancelPreviousTimeout();\n
Login.c(90): resetMatches();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isEditable) {\n
Login.c(90): return inputValue;\n
Login.c(90): } else {\n
Login.c(90): if (!inputValue) {\n
Login.c(90): // Reset in case user had typed something
previously.\n
Login.c(90): modelCtrl.$setValidity('editable', true);\n
Login.c(90): return inputValue;\n
Login.c(90): } else {\n
Login.c(90): modelCtrl.$setValidity('editable', false);\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): modelCtrl.$formatters.push(function (modelValue) {\n
Login.c(90): \n
Login.c(90): var candidateViewValue, emptyViewValue;\n
Login.c(90): var locals = {};\n
Login.c(90): \n
Login.c(90): if (inputFormatter) {\n
Login.c(90): \n
Login.c(90): locals['$model'] = modelValue;\n
Login.c(90): return inputFormatter(originalScope, locals);\n
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): \n
Login.c(90): //it might happen that we don't have enough info to
properly render input value\n
Login.c(90): //we need to check for this situation and simply return
model value if we can't
Login.c(90): apply custom formatting\n
Login.c(90): locals[parserResult.itemName] = modelValue;\n
Login.c(90): candidateViewValue =
parserResult.viewMapper(originalScope, locals);\n
Login.c(90): locals[parserResult.itemName] = undefined;\n
Login.c(90): emptyViewValue = parserResult.viewMapper(originalScope,
locals);\n
Login.c(90): \n
Login.c(90): return candidateViewValue!== emptyViewValue ?
candidateViewValue : modelValue;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.select = function (activeIdx) {\n
Login.c(90): //called from within the $digest() cycle\n
Login.c(90): var locals = {};\n
Login.c(90): var model, item;\n
Login.c(90): \n
Login.c(90): locals[parserResult.itemName] = item =
scope.matches[activeIdx].model;\n
Login.c(90): model = parserResult.modelMapper(originalScope, locals);\n
Login.c(90): $setModelValue(originalScope, model);\n
Login.c(90): modelCtrl.$setValidity('editable', true);\n
Login.c(90): \n
Login.c(90): onSelectCallback(originalScope, {\n
Login.c(90): $item: item,\n
Login.c(90): $model: model,\n
Login.c(90): $label: parserResult.viewMapper(originalScope, locals)\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): resetMatches();\n
Login.c(90): \n
Login.c(90): //return focus to the input element if a match was
selected via a mouse click even
Login.c(90): t\n
Login.c(90): // use timeout to avoid $rootScope:inprog error\n
Login.c(90): $timeout(function() { element[0].focus(); }, 0, false);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //bind keyboard events: arrows up(38) / down(40), enter(13)
and tab(9), esc(27)\n
Login.c(90): element.bind('keydown', function (evt) {\n
Login.c(90): \n
Login.c(90): //typeahead is open and an "interesting" key was pressed\n
Login.c(90): if (scope.matches.length === 0 ||
HOT_KEYS.indexOf(evt.which) === -1) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): evt.preventDefault();\n
Login.c(90): \n
Login.c(90): if (evt.which === 40) {\n
Login.c(90): scope.activeIdx = (scope.activeIdx + 1) %
scope.matches.length;\n
Login.c(90): scope.$digest();\n
Login.c(90): \n
Login.c(90): } else if (evt.which === 38) {\n
Login.c(90): scope.act
Login.c(90): t=2231ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): iveIdx = (scope.activeIdx ? scope.activeIdx :
scope.matches.length) - 1;\n
Login.c(90): scope.$digest();\n
Login.c(90): \n
Login.c(90): } else if (evt.which === 13 || evt.which === 9) {\n
Login.c(90): scope.$apply(function () {\n
Login.c(90): scope.select(scope.activeIdx);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): } else if (evt.which === 27) {\n
Login.c(90): evt.stopPropagation();\n
Login.c(90): \n
Login.c(90): resetMatches();\n
Login.c(90): scope.$digest();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): element.bind('blur', function (evt) {\n
Login.c(90): hasFocus = false;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Keep reference to click handler to unbind it.\n
Login.c(90): var dismissClickHandler = function (evt) {\n
Login.c(90): if (element[0] !== evt.target) {\n
Login.c(90): resetMatches();\n
Login.c(90): scope.$digest();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $document.bind('click', dismissClickHandler);\n
Login.c(90): \n
Login.c(90): originalScope.$on('$destroy', function(){\n
Login.c(90): $document.unbind('click', dismissClickHandler);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var $popup = $compile(popUpEl)(scope);\n
Login.c(90): if ( appendToBody ) {\n
Login.c(90): $document.find('body').append($popup);\n
Login.c(90): } else {\n
Login.c(90): element.after($popup);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .directive('typeaheadPopup', function () {\n
Login.c(90): return {\n
Login.c(90): restrict:'EA',\n
Login.c(90): scope:{\n
Login.c(90): matches:'=',\n
Login.c(90): query:'=',\n
Login.c(90): active:'=',\n
Login.c(90): position:'=',\n
Login.c(90): select:'&'\n
Login.c(90): },\n
Login.c(90): replace:true,\n
Login.c(90): templateUrl:'template/typeahead/typeahead-popup.html',\n
Login.c(90): link:function (scope, element, attrs) {\n
Login.c(90): \n
Login.c(90): scope.templateUrl = attrs.templateUrl;\n
Login.c(90): \n
Login.c(90): scope.isOpen = function () {\n
Login.c(90): return scope.matches.length > 0;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.isActive = function (matchIdx) {\n
Login.c(90): return scope.active == matchIdx;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.selectActive = function (matchIdx) {\n
Login.c(90): scope.active = matchIdx;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.selectMatch = function (activeIdx) {\n
Login.c(90): scope.select({activeIdx:activeIdx});\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): \n
Login.c(90): .directive('typeaheadMatch', ['$http', '$templateCache',
'$compile', '$parse', function
Login.c(90): ($http, $templateCache, $compile, $parse) {\n
Login.c(90): return {\n
Login.c(90): restrict:'EA',\n
Login.c(90): scope:{\n
Login.c(90): index:'=',\n
Login.c(90): match:'=',\n
Login.c(90): query:'='\n
Login.c(90): },\n
Login.c(90): link:function (scope, element, attrs) {\n
Login.c(90): var tplUrl = $parse(attrs.templateUrl)(scope.$parent) ||
'template/typeahead/typea
Login.c(90): head-match.html';\n
Login.c(90): $http.get(tplUrl, {cache:
$templateCache}).success(function(tplContent){\n
Login.c(90): element.replaceWith($compile(tplContent.trim())
(scope));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }])\n
Login.c(90): \n
Login.c(90): .filter('typeaheadHighlight', function() {\n
Login.c(90): \n
Login.c(90): function escapeRegexp(queryToEscape) {\n
Login.c(90): return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g,
'\\\\$1');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function(matchItem, query) {\n
Login.c(90): return query ? ('' + matchItem).replace(new
RegExp(escapeRegexp(query), 'gi'), '<str
Login.c(90): ong>$&</strong>') : matchItem;\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angular.module("template/accordion/accordion-group.html",
[]).run(["$templateCache", funct
Login.c(90): ion($templateCache) {\n
Login.c(90): $templateCache.put("template/accordion/accordion-group.html",\n
Login.c(90): "<div class=\\"panel panel-default\\">\\n" +\n
Login.c(90): " <div class=\\"panel-heading\\">\\n" +\n
Login.c(90): " <h4 class=\\"panel-title\\">\\n" +\n
Login.c(90): " <a class=\\"accordion-toggle\\" ng-
click=\\"toggleOpen()\\" accordion-transclud
Login.c(90): e=\\"heading\\"><span ng-class=\\"{'text-muted':
isDisabled}\\">{{heading}}</span></a>\\n"
Login.c(90): +\n
Login.c(90): " </h4>\\n" +\n
Login.c(90): " </div>\\n" +\n
Login.c(90): " <div class=\\"panel-collapse\\" collapse=\\"!isOpen\\">\\n"
+\n
Login.c(90): "\t <div class=\\"panel-body\\" ng-transclude></div>\\n" +\n
Login.c(90): " </div>\\n" +\n
Login.c(90): "</div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/accordion/accordion.html",
[]).run(["$templateCache", function($t
Login.c(90): emplateCache) {\n
Login.c(90): $templateCache.put("template/accordion/accordion.html",\n
Login.c(90): "<div class=\\"panel-group\\" ng-transclude></div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/alert/alert.html",
[]).run(["$templateCache", function($templateC
Login.c(90): ache) {\n
Login.c(90): $templateCache.put("template/alert/alert.html",\n
Login.c(90): "<div class=\\"alert\\" ng-class=\\"['alert-' + (type ||
'warning'), closeable ? 'aler
Login.c(90): t-dismissable' : null]\\" role=\\"alert\\">\\n" +\n
Login.c(90): " <button ng-show=\\"closeable\\" type=\\"button\\"
class=\\"close\\" ng-click=\\"c
Login.c(90): lose()\\">\\n" +\n
Login.c(90): " <span aria-hidden=\\"true\\">&times;</span>\\n" +\n
Login.c(90): " <span class=\\"sr-only\\">Close</span>\\n" +\n
Login.c(90): " </button>\\n" +\n
Login.c(90): " <div ng-transclude></div>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/carousel/carousel.html",
[]).run(["$templateCache", function($tem
Login.c(90): plateCache) {\n
Login.c(90): $templateCache.put("template/carousel/carousel.html",\n
Login.c(90): "<div ng-mouseenter=\\"pause()\\" ng-mouseleave=\\"play()\\"
class=\\"carousel\\" ng-s
Login.c(90): wipe-right=\\"prev()\\" ng-swipe-left=\\"next()\\">\\n" +\n
Login.c(90): " <ol class=\\"carousel-indicators\\" ng-
show=\\"slides.length > 1\\">\\n" +\n
Login.c(90): " <li ng-repeat=\\"slide in slides track by $index\\"
ng-class=\\"{active: isAc
Login.c(90): tive(slide)}\\" ng-click=\\"select(slide)\\"></li>\\n" +\n
Login.c(90): " </ol>\\n" +\n
Login.c(90): " <div class=\\"carousel-inner\\" ng-transclude></div>\\n"
+\n
Login.c(90): " <a class=\\"left carousel-control\\" ng-
click=\\"prev()\\" ng-show=\\"slides.leng
Login.c(90): th > 1\\"><span class=\\"glyphicon glyphicon-chevron-
left\\"></span></a>\\n" +\n
Login.c(90): " <a class=\\"right carousel-control\\" ng-
click=\\"next()\\" ng-show=\\"slides.len
Login.c(90): gth > 1\\"><span class=\\"glyphicon glyphicon-chevron-
right\\"></span></a>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/carousel/slide.html",
[]).run(["$templateCache", function($templa
Login.c(90): teCache) {\n
Login.c(90): $templateCache.put("template/carousel/slide.html",\n
Login.c(90): "<div ng-class=\\"{\\n" +\n
Login.c(90): " 'active': leaving || (active && !entering),\\n" +\n
Login.c(90): " 'prev': (next || active) && direction=='prev',\\n" +\n
Login.c(90): " 'next': (next || active) && direction=='next',\\n" +\n
Login.c(90): " 'right': direction=='prev',\\n" +\n
Login.c(90): " 'left': direction=='next'\\n" +\n
Login.c(90): " }\\" class=\\"item text-center\\" ng-transclude></div>\\n"
+\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/datepicker/datepicker.html",
[]).run(["$templateCache", function(
Login.c(90): $templateCache) {\n
Login.c(90): $templateCache.put("template/datepicker/datepicker.html",\n
Login.c(90): "<div ng-switch=\\"datepickerMode\\" role=\\"application\\"
ng-keydown=\\"keydown($eve
Login.c(90): nt)\\">\\n" +\n
Login.c(90): " <daypicker ng-switch-when=\\"day\\"
tabindex=\\"0\\"></daypicker>\\n" +\n
Login.c(90): " <monthpicker ng-switch-when=\\"month\\"
tabindex=\\"0\\"></monthpicker>\\n" +\n
Login.c(90): " <yearpicker ng-switch-when=\\"year\\"
tabindex=\\"0\\"></yearpicker>\\n" +\n
Login.c(90): "</div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/datepicker/day.html",
[]).run(["$templateCache", function($templa
Login.c(90): teCache) {\n
Login.c(90): $templateCache.put("template/datepicker/day.html",\n
Login.c(90): "<table role=\\"grid\\" aria-labelledby=\\"{{uniqueId}}-
title\\" aria-activedescendant
Login.c(90): =\\"{{activeDateId}}\\">\\n" +\n
Login.c(90): " <thead>\\n" +\n
Login.c(90): " <tr>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-left\\" ng-c
Login.c(90): lick=\\"move(-1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-left\\"></i>
Login.c(90): </button></th>\\n" +\n
Login.c(90): " <th colspan=\\"{{5 + showWeeks}}\\"><button
id=\\"{{uniqueId}}-title\\" role=\\
Login.c(90): "heading\\" aria-live=\\"assertive\\" aria-atomic=\\"true\\"
type=\\"button\\" class=\\"bt
Login.c(90): n btn-default btn-sm\\" ng-click=\\"toggleMode()\\" tabindex=\\"-
1\\" style=\\"width:100%;
Login.c(90): \\"><strong>{{title}}</strong></button></th>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-right\\" ng-
Login.c(90): click=\\"move(1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-right\\"></i
Login.c(90): ></button></th>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " <tr>\\n" +\n
Login.c(90): " <th ng-show=\\"showWeeks\\" class=\\"text-
center\\"></th>\\n" +\n
Login.c(90): " <th ng-repeat=\\"label in labels track by $index\\"
class=\\"text-center\\"><sm
Login.c(90): all aria-
label=\\"{{label.full}}\\">{{label.abbr}}</small></th>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </thead>\\n" +\n
Login.c(90): " <tbody>\\n" +\n
Login.c(90): " <tr ng-repeat=\\"row in rows track by $index\\">\\n" +\n
Login.c(90): " <td ng-show=\\"showWeeks\\" class=\\"text-center
h6\\"><em>{{ weekNumbers[$inde
Login.c(90): x] }}</em></td>\\n" +\n
Login.c(90): " <td ng-repeat=\\"dt in row track by dt.date\\"
class=\\"text-center\\" role=\\"
Login.c(90): gridcell\\" id=\\"{{dt.uid}}\\" aria-disabled=\\"{{!!
dt.disabled}}\\">\\n" +\n
Login.c(90): " <button type=\\"button\\" style=\\"width:100%;\\"
class=\\"btn btn-default bt
Login.c(90): n-sm\\" ng-class=\\"{'btn-info': dt.selected, active:
isActive(dt)}\\" ng-click=\\"select(
Login.c(90): dt.date)\\" ng-disabled=\\"dt.disabled\\" tabindex=\\"-1\\"><span
ng-class=\\"{'text-muted
Login.c(90): ': dt.secondary, 'text-info':
dt.current}\\">{{dt.label}}</span></button>\\n" +\n
Login.c(90): " </td>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </tbody>\\n" +\n
Login.c(90): "</table>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/datepicker/month.html",
[]).run(["$templateCache", function($temp
Login.c(90): lateCache) {\n
Login.c(90): $templateCache.put("template/datepicker/month.html",\n
Login.c(90): "<table role=\\"grid\\" aria-labelledby=\\"{{uniqueId}}-
title\\" aria-activedescendant
Login.c(90): =\\"{{activeDateId}}\\">\\n" +\n
Login.c(90): " <thead>\\n" +\n
Login.c(90): " <tr>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-left\\" ng-c
Login.c(90): lick=\\"move(-1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-left\\"></i>
Login.c(90): </button></th>\\n" +\n
Login.c(90): " <th><button id=\\"{{uniqueId}}-title\\"
role=\\"heading\\" aria-live=\\"asserti
Login.c(90): ve\\" aria-atomic=\\"true\\" type=\\"button\\" class=\\"btn btn-
default btn-sm\\" ng-click
Login.c(90): =\\"toggleMode()\\" tabindex=\\"-1\\"
style=\\"width:100%;\\"><strong>{{title}}</strong></
Login.c(90): button></th>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-right\\" ng-
Login.c(90): click=\\"move(1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-right\\"></i
Login.c(90): ></button></th>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </thead>\\n" +\n
Login.c(90): " <tbody>\\n" +\n
Login.c(90): " <tr ng-repeat=\\"row in rows track by $index\\">\\n" +\n
Login.c(90): " <td ng-repeat=\\"dt in row track by dt.date\\"
class=\\"text-center\\" role=\\"
Login.c(90): gridcell\\" id=\\"{{dt.uid}}\\" aria-disabled=\\"{{!!
dt.disabled}}\\">\\n" +\n
Login.c(90): " <button type=\\"button\\" style=\\"width:100%;\\"
class=\\"btn btn-default\\"
Login.c(90): ng-class=\\"{'btn-info': dt.selected, active: isActive(dt)}\\"
ng-click=\\"select(dt.date
Login.c(90): )\\" ng-disabled=\\"dt.disabled\\" tabindex=\\"-1\\"><span ng-
class=\\"{'text-info': dt.cu
Login.c(90): rrent}\\">{{dt.label}}</span></button>\\n" +\n
Login.c(90): " </td>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </tbody>\\n" +\n
Login.c(90): "</table>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/datepicker/popup.html",
[]).run(["$templateCache", function($temp
Login.c(90): lateCache) {\n
Login.c(90): $templateCache.put("template/datepicker/popup.html",\n
Login.c(90): "<ul class=\\"dropdown-menu\\" ng-style=\\"{display: (isOpen
&& 'block') || 'none', to
Login.c(90): p: position.top+'px', left: position.left+'px'}\\" ng-
keydown=\\"keydown($event)\\">\\n" +
Login.c(90): \n
Login.c(90): "\t<li ng-transclude></li>\\n" +\n
Login.c(90): "\t<li ng-if=\\"showButtonBar\\" style=\\"padding:10px 9px
2px\\">\\n" +\n
Login.c(90): "\t\t<span class=\\"btn-group\\">\\n" +\n
Login.c(90): "\t\t\t<button type=\\"button\\" class=\\"btn btn-sm btn-
info\\" ng-click=\\"select('t
Login.c(90): oday')\\">{{ getText('current') }}</button>\\n" +\n
Login.c(90): "\t\t\t<button type=\\"button\\" class=\\"btn btn-sm btn-
danger\\" ng-click=\\"select(
Login.c(90): null)\\">{{ getText('clear') }}</button>\\n" +\n
Login.c(90): "\t\t</span>\\n" +\n
Login.c(90): "\t\t<button type=\\"button\\" class=\\"btn btn-sm btn-success
pull-right\\" ng-click=
Login.c(90): \\"close()\\">{{ getText('close') }}</button>\\n" +\n
Login.c(90): "\t</li>\\n" +\n
Login.c(90): "</ul>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/datepicker/year.html",
[]).run(["$templateCache", function($templ
Login.c(90): ateCache) {\n
Login.c(90): $templateCache.put("template/datepicker/year.html",\n
Login.c(90): "<table role=\\"grid\\" aria-labelledby=\\"{{uniqueId}}-
title\\" aria-activedescendant
Login.c(90): =\\"{{activeDateId}}\\">\\n" +\n
Login.c(90): " <thead>\\n" +\n
Login.c(90): " <tr>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-left\\" ng-c
Login.c(90): lick=\\"move(-1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-left\\"></i>
Login.c(90): </button></th>\\n" +\n
Login.c(90): " <th colspan=\\"3\\"><button id=\\"{{uniqueId}}-title\\"
role=\\"heading\\" aria
Login.c(90): -live=\\"assertive\\" aria-atomic=\\"true\\" type=\\"button\\"
class=\\"btn btn-default bt
Login.c(90): n-sm\\" ng-click=\\"toggleMode()\\" tabindex=\\"-1\\"
style=\\"width:100%;\\"><strong>{{ti
Login.c(90): tle}}</strong></button></th>\\n" +\n
Login.c(90): " <th><button type=\\"button\\" class=\\"btn btn-default
btn-sm pull-right\\" ng-
Login.c(90): click=\\"move(1)\\" tabindex=\\"-1\\"><i class=\\"glyphicon
glyphicon-chevron-right\\"></i
Login.c(90): ></button></th>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </thead>\\n" +\n
Login.c(90): " <tbody>\\n" +\n
Login.c(90): " <tr ng-repeat=\\"row in rows track by $index\\">\\n" +\n
Login.c(90): " <td ng-repeat=\\"dt in row track by dt.date\\"
class=\\"text-center\\" role=\\"
Login.c(90): gridcell\\" id=\\"{{dt.uid}}\\" aria-disabled=\\"{{!!
dt.disabled}}\\">\\n" +\n
Login.c(90): " <button type=\\"button\\" style=\\"width:100%;\\"
class=\\"btn btn-default\\"
Login.c(90): ng-class=\\"{'btn-info': dt.selected,
Login.c(90): t=2244ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"24147-1416253779000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:39 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=2245ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): a\r\n
Login.c(90): t=2245ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2245ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2245ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2245ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2245ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2246ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2246ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2246ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 133\r\n
Login.c(90): t=2248ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=2248ms: 3901-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): t=2249ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): (function() {\n
Login.c(90): angular.module('validation', ['validation.provider',
'validation.directive']);\n
Login.c(90): }).call(this);\n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): angular.module('validation.provider', [])\n
Login.c(90): .provider('$validation', function() {\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var $injector,\n
Login.c(90): $scope,\n
Login.c(90): $http,\n
Login.c(90): $q,\n
Login.c(90): $timeout,\n
Login.c(90): _this = this;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Setup the provider\n
Login.c(90): * @param injector\n
Login.c(90): */\n
Login.c(90): var setup = function(injector) {\n
Login.c(90): $injector = injector;\n
Login.c(90): $scope = $injector.get('$rootScope');\n
Login.c(90): $http = $injector.get('$http');\n
Login.c(90): $q = $injector.get('$q');\n
Login.c(90): $timeout = $injector.get('$timeout');\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Define validation type RegExp\n
Login.c(90): * @type {{}}\n
Login.c(90): */\n
Login.c(90): var expression = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * default error, success message\n
Login.c(90): * @type {{}}\n
Login.c(90): */\n
Login.c(90): var defaultMsg = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Allow user to set a custom Expression, do remember
set the default message
Login.c(90): using setDefaultMsg\n
Login.c(90): * @param obj\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.setExpression = function(obj) {\n
Login.c(90): angular.extend(expression, obj);\n
Login.c(90): return _this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Get the Expression\n
Login.c(90): * @param exprs\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.getExpression = function(exprs) {\n
Login.c(90): return expression[exprs];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Allow user to set default message\n
Login.c(90): * @param obj\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.setDefaultMsg = function(obj) {\n
Login.c(90): angular.extend(defaultMsg, obj);\n
Login.c(90): return _this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Get the Default Message\n
Login.c(90): * @param msg\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.getDefaultMsg = function(msg) {\n
Login.c(90): return defaultMsg[msg];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Override the errorHTML function\n
Login.c(90): * @param func\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.setErrorHTML = function(func) {\n
Login.c(90): if (func.constructor !== Function) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): _this.getErrorHTML = func;\n
Login.c(90): \n
Login.c(90): return _this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Invalid message HTML, here's the default\n
Login.c(90): * @param message\n
Login.c(90): * @returns {string}\n
Login.c(90): */\n
Login.c(90): this.getErrorHTML = function(message) {\n
Login.c(90): return '<p class="validation-invalid">' + message
+ '</p>';\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Override the successHTML function\n
Login.c(90): * @param func\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): this.setSuccessHTML = function(func) {\n
Login.c(90): if (func.constructor !== Function) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): _this.getSuccessHTML = func;\n
Login.c(90): \n
Login.c(90): return _this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Valid message HTML, here's the default\n
Login.c(90): * @param message\n
Login.c(90): * @returns {string}\n
Login.c(90): */\n
Login.c(90): this.getSuccessHTML = function(message) {\n
Login.c(90): return '<p class="validation-valid">' + message +
'</p>';\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Whether show the validation success message\n
Login.c(90): * You can easily change this to false in your
config\n
Login.c(90): * example: $validationProvider.showSuccessMessage =
false;\n
Login.c(90): * @type {boolean}\n
Login.c(90): */\n
Login.c(90): this.showSuccessMessage = true;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Whether show the validation error message\n
Login.c(90): * You can easily change this to false in your
config\n
Login.c(90): * example: $validationProvider.showErrorMessage =
false;\n
Login.c(90): * @type {boolean}\n
Login.c(90): */\n
Login.c(90): this.showErrorMessage = true;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Check form valid, return true\n
Login.c(90): * checkValid(Form): Check the specific form(Form)
valid from angular `$valid`
Login.c(90): \n
Login.c(90): * @param form\n
Login.c(90): * @returns {boolean}\n
Login.c(90): */\n
Login.c(90): this.checkValid = function(form) {\n
Login.c(90): if (form.$valid === undefined) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): return (form && form.$valid === true);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Validate the form when click submit, when
`validMethod = submit`\n
Login.c(90): * @param form\n
Login.c(90): * @returns {promise|*}\n
Login.c(90): */\n
Login.c(90): this.validate = function(form) {\n
Login.c(90): \n
Login.c(90): var deferred = $q.defer(),\n
Login.c(90): idx = 0;\n
Login.c(90): \n
Login.c(90): if (form === undefined) {\n
Login.c(90): console.error('This is not a regular Form name
scope');\n
Login.c(90): deferred.reject('This is not a regular Form
name scope');\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (form.validationId) { // single\n
Login.c(90): $scope.$broadcast(form.$name + 'submit-' +
form.validationId, idx++);\n
Login.c(90): } else if (form.constructor === Array) { //
multiple\n
Login.c(90): for (var k in form) {\n
Login.c(90): $scope.$broadcast(form[k].$name +
'submit-' + form[k].validationId
Login.c(90): , idx++);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): for (var i in form) { // whole scope\n
Login.c(90): if (form[i] &&
form[i].hasOwnProperty('$dirty')) {\n
Login.c(90): $scope.$broadcast(i + 'submit-' +
form[i].validationId, idx++)
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.promise.success = function(fn) {\n
Login.c(90): deferred.promise.then(function(value) {\n
Login.c(90): fn(value);\n
Login.c(90): });\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): deferred.promise.error = function(fn) {\n
Login.c(90): deferred.promise.then(null, function(value)
{\n
Login.c(90): fn(value);\n
Login.c(90): });\n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $timeout(function() {\n
Login.c(90): if (_this.checkValid(form)) {\n
Login.c(90): deferred.resolve('success');\n
Login.c(90): } else {\n
Login.c(90): deferred.reject('error');\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * reset the specific form\n
Login.c(90): * @param form\n
Login.c(90): */\n
Login.c(90): this.reset = function(form) {\n
Login.c(90): \n
Login.c(90): if (form === undefined) {\n
Login.c(90): console.error('This is not a regular Form name
scope');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (form.validationId) {\n
Login.c(90): $scope.$broadcast(form.$name + 'reset-' +
form.validationId);\n
Login.c(90): } else if (form.constructor === Array) {\n
Login.c(90): for (var k in form) {\n
Login.c(90): $scope.$broadcast(form[k].$name + 'reset-'
+ form[k].validationId)
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): for (var i in form) {\n
Login.c(90): if (form[i].hasOwnProperty('$dirty')) {\n
Login.c(90): $scope.$broadcast(i + 'reset-' +
form[i].validationId);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * $get\n
Login.c(90): * @returns {{setErrorHTML: *, getErrorHTML: Function,
setSuccessHTML: *, getS
Login.c(90): uccessHTML: Function, setExpression: *, getExpression: Function,
setDefaultMsg: *, getDefa
Login.c(90): ultMsg: Function, checkValid: Function, validate: Function, reset:
Function}}\n
Login.c(90): */\n
Login.c(90): this.$get = ['$injector',\n
Login.c(90): function($injector) {\n
Login.c(90): setup($injector);\n
Login.c(90): return {\n
Login.c(90): setErrorHTML: this.setErrorHTML,\n
Login.c(90): getErrorHTML: this.getErrorHTML,\n
Login.c(90): setSuccessHTML: this.setSuccessHTML,\n
Login.c(90): getSuccessHTML: this.getSuccessHTML,\n
Login.c(90): setExpression: this.setExpression,\n
Login.c(90): getExpression: this.getExpression,\n
Login.c(90): setDefaultMsg: this.setDefaultMsg,\n
Login.c(90): getDefaultMsg: this.getDefaultMsg,\n
Login.c(90): showSuccessMessage:
this.showSuccessMessage,\n
Login.c(90): showErrorMessage: this.showErrorMessage,\n
Login.c(90): checkValid: this.checkValid,\n
Login.c(90): validate: this.validate,\n
Login.c(90): reset: this.reset\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): });\n
Login.c(90): }).call(this);\n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): angular.module('validation.directive',
['validation.provider'])\n
Login.c(90): .directive('validator', ['$injector',\n
Login.c(90): function($injector) {\n
Login.c(90): \n
Login.c(90): var $validationProvider =
$injector.get('$validation'),\n
Login.c(90): $q = $injector.get('$q'),\n
Login.c(90): $timeout = $injector.get('$timeout');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Do this function if validation valid\n
Login.c(90): * @param element\n
Login.c(90): * @param validMessage\n
Login.c(90): * @param validation\n
Login.c(90): * @param callback\n
Login.c(90): * @param ctrl\n
Login.c(90): * @returns {}\n
Login.c(90): */\n
Login.c(90): var validFunc = function(element, validMessage,
validation, callback, ctrl
Login.c(90): ) {\n
Login.c(90): if ($validationProvider.showSuccessMessage)
{\n
Login.c(90):
element.next().html($validationProvider.getSuccessHTML(validMessag
Login.c(90): e || $validationProvider.getDefaultMsg(validation).success));\n
Login.c(90): } else {\n
Login.c(90): element.next().html('');\n
Login.c(90): }\n
Login.c(90): ctrl.$setValidity(ctrl.$name, true);\n
Login.c(90): if (callback) callback();\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Do this function if validation invalid\n
Login.c(90): * @param element\n
Login.c(90): * @param validMessage\n
Login.c(90): * @param validation\n
Login.c(90): * @param callback\n
Login.c(90): * @param ctrl\n
Login.c(90): * @returns {}\n
Login.c(90): */\n
Login.c(90): var invalidFunc = function(element, validMessage,
validation, callback, ct
Login.c(90): rl) {\n
Login.c(90): if ($validationProvider.showErrorMessage) {\n
Login.c(90):
element.next().html($validationProvider.getErrorHTML(validMessage
Login.c(90): || $validationProvider.getDefaultMsg(validation).error));\n
Login.c(90): } else {\n
Login.c(90): element.next().html('');\n
Login.c(90): }\n
Login.c(90): ctrl.$setValidity(ctrl.$name, false);\n
Login.c(90): if (callback) callback();\n
Login.c(90): \n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * If var is true, focus element when validate
end\n
Login.c(90): * @type {boolean}\n
Login.c(90): ***private variable\n
Login.c(90): */\n
Login.c(90): var isFocusElement = false;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Check Validation with Function or RegExp\n
Login.c(90): * @param scope\n
Login.c(90): * @param element\n
Login.c(90): * @param attrs\n
Login.c(90): * @param ctrl\n
Login.c(90): * @param validation\n
Login.c(90): * @param value\n
Login.c(90): * @returns {}\n
Login.c(90): */\n
Login.c(90): var checkValidation = function(scope, element,
attrs, ctrl, validation, va
Login.c(90): lue) {\n
Login.c(90): \n
Login.c(90): var validators = validation.slice(0),\n
Login.c(90): validator = validators[0].trim(),\n
Login.c(90): leftValidation = validators.slice(1),\n
Login.c(90): successMessage = validation +
'SuccessMessage',\n
Login.c(90): errorMessage = validation +
'ErrorMessage',\n
Login.c(90): expression =
$validationProvider.getExpression(validator),\n
Login.c(90): valid = {\n
Login.c(90): success: function() {\n
Login.c(90): validFunc(element,
attrs[successMessage], validator, scope
Login.c(90): .validCallback, ctrl);\n
Login.c(90): if (leftValidation.length) {\n
Login.c(90): checkValidation(scope,
element, attrs, ctrl, l
Login.c(90): t=2265ms: 11859-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation.js"
(RelFrameId=, Internal ID=23)
Login.c(90): eftValidation, value);\n
Login.c(90): } else {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): error: function() {\n
Login.c(90): return invalidFunc(element,
attrs[errorMessage], validator
Login.c(90): , scope.invalidCallback, ctrl);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (expression === undefined) {\n
Login.c(90): console.error('You are using undefined
validator "%s"', validator)
Login.c(90): ;\n
Login.c(90): if (leftValidation.length) {\n
Login.c(90): checkValidation(scope, element, attrs,
ctrl, leftValidation, v
Login.c(90): alue);\n
Login.c(90): } else {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // Check with Function\n
Login.c(90): if (expression.constructor === Function) {\n
Login.c(90): return
$q.all([$validationProvider.getExpression(validator)(value,
Login.c(90): scope, element, attrs)])\n
Login.c(90): .then(function(data) {\n
Login.c(90): if (data && data.length > 0 &&
data[0]) {\n
Login.c(90): return valid.success();\n
Login.c(90): } else {\n
Login.c(90): return valid.error();\n
Login.c(90): }\n
Login.c(90): }, function() {\n
Login.c(90): return valid.error();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): // Check with RegExp\n
Login.c(90): else if (expression.constructor === RegExp)
{\n
Login.c(90): return
$validationProvider.getExpression(validator).test(value) ?
Login.c(90): valid.success() : valid.error();\n
Login.c(90): } else {\n
Login.c(90): return valid.error();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * generate unique guid\n
Login.c(90): */\n
Login.c(90): var s4 = function() {\n
Login.c(90): return (((1 + Math.random()) * 0x10000) |
0).toString(16).substring(1)
Login.c(90): ;\n
Login.c(90): };\n
Login.c(90): var guid = function() {\n
Login.c(90): return (s4() + s4() + s4() + s4());\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'A',\n
Login.c(90): require: 'ngModel',\n
Login.c(90): scope: {\n
Login.c(90): model: '=ngModel',\n
Login.c(90): initialValidity: '=initialValidity',\n
Login.c(90): validCallback: '&',\n
Login.c(90): invalidCallback: '&'\n
Login.c(90): },\n
Login.c(90): link: function(scope, element, attrs, ctrl)
{\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * watch\n
Login.c(90): * @type {watch}\n
Login.c(90): *\n
Login.c(90): * Use to collect scope.$watch method\n
Login.c(90): *\n
Login.c(90): * use watch() to destroy the $watch
method\n
Login.c(90): */\n
Login.c(90): var watch = function() {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * validator\n
Login.c(90): * @type {Array}\n
Login.c(90): *\n
Login.c(90): * Convert user input String to Array\n
Login.c(90): */\n
Login.c(90): var validation =
attrs.validator.split(',');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * guid use\n
Login.c(90): */\n
Login.c(90): var uid = ctrl.validationId = guid();\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Valid/Invalid Message\n
Login.c(90): */\n
Login.c(90): element.after('<span></span>');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Set initial validity to false if no
boolean value is transmitte
Login.c(90): d\n
Login.c(90): */\n
Login.c(90): var initialValidity = false;\n
Login.c(90): if (typeof scope.initialValidity ===
'boolean') {\n
Login.c(90): initialValidity =
scope.initialValidity;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Set custom initial validity\n
Login.c(90): * Usage: <input initial-
validity="true" ... >\n
Login.c(90): */\n
Login.c(90): ctrl.$setValidity(ctrl.$name,
initialValidity);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Reset the validation for specific
form\n
Login.c(90): */\n
Login.c(90): scope.$on(ctrl.$name + 'reset-' + uid,
function() {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * clear scope.$watch here\n
Login.c(90): * when reset status\n
Login.c(90): * clear the $watch method to
prevent\n
Login.c(90): * $watch again while reset the form\n
Login.c(90): */\n
Login.c(90): watch();\n
Login.c(90): \n
Login.c(90): isFocusElement = false;\n
Login.c(90): ctrl.$setViewValue('');\n
Login.c(90): ctrl.$setPristine();\n
Login.c(90): ctrl.$setValidity(ctrl.$name,
false);\n
Login.c(90): ctrl.$render();\n
Login.c(90): element.next().html('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Check validator\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): (function() {\n
Login.c(90): /**\n
Login.c(90): * Click submit form, check the
validity when submit\n
Login.c(90): */\n
Login.c(90): scope.$on(ctrl.$name + 'submit-' +
uid, function(event, index)
Login.c(90): {\n
Login.c(90): var value = element[0].value,\n
Login.c(90): isValid = false;\n
Login.c(90): \n
Login.c(90): if (index === 0) {\n
Login.c(90): isFocusElement = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): isValid = checkValidation(scope,
element, attrs, ctrl, val
Login.c(90): idation, value);\n
Login.c(90): \n
Login.c(90): if (attrs.validMethod ===
'submit') {\n
Login.c(90): watch(); // clear previous
scope.$watch\n
Login.c(90): watch = scope.$watch('model',
function(value, oldValue
Login.c(90): ) {\n
Login.c(90): \n
Login.c(90): // don't watch when init\n
Login.c(90): if (value === oldValue)
{\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // scope.$watch will
translate '' to undefined\n
Login.c(90): // undefined/null will
pass the required submit /^
Login.c(90): .+/\n
Login.c(90): // cause some error in
this validation\n
Login.c(90): if (value === undefined ||
value === null) {\n
Login.c(90): value = '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): isValid =
checkValidation(scope, element, attrs, c
Login.c(90): trl, validation, value);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Focus first input element when
submit error #11\n
Login.c(90): if (!isFocusElement && !isValid)
{\n
Login.c(90): isFocusElement = true;\n
Login.c(90): element[0].focus();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Validate blur method\n
Login.c(90): */\n
Login.c(90): if (attrs.validMethod === 'blur') {\n
Login.c(90): element.bind('blur', function()
{\n
Login.c(90): var value =
element[0].value;\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): checkValidation(scope,
element, attrs, ctrl, valid
Login.c(90): ation, value);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Validate submit & submit-only
method\n
Login.c(90): */\n
Login.c(90): if (attrs.validMethod === 'submit' ||
attrs.validMethod === 's
Login.c(90): ubmit-only') {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Validate watch method\n
Login.c(90): * This is the default method\n
Login.c(90): */\n
Login.c(90): scope.$watch('model', function(value)
{\n
Login.c(90): /**\n
Login.c(90): * dirty, pristine, viewValue
control here\n
Login.c(90): */\n
Login.c(90): if (ctrl.$pristine && ctrl.
$viewValue) {\n
Login.c(90): // has value when initial\n
Login.c(90): ctrl.$setViewValue(ctrl.
$viewValue);\n
Login.c(90): } else if (ctrl.$pristine) {\n
Login.c(90): // Don't validate form when
the input is clean(pristin
Login.c(90): e)\n
Login.c(90): element.next().html('');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): checkValidation(scope, element,
attrs, ctrl, validation, v
Login.c(90): alue);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): $timeout(function() {\n
Login.c(90): /**\n
Login.c(90): * Don't showup the validation
Message\n
Login.c(90): */\n
Login.c(90): attrs.$observe('noValidationMessage',
function(value) {\n
Login.c(90): var el = element.next();\n
Login.c(90): if (value == 'true' || value ===
true) {\n
Login.c(90): el.css('display', 'none');\n
Login.c(90): } else if (value == 'false' ||
value === false) {\n
Login.c(90): el.css('display', 'block');\n
Login.c(90): } else {}\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ])\n
Login.c(90): \n
Login.c(90): .directive('validationSubmit', ['$injector',\n
Login.c(90): function($injector) {\n
Login.c(90): \n
Login.c(90): var $validationProvider =
$injector.get('$validation'),\n
Login.c(90): $timeout = $injector.get('$timeout'),\n
Login.c(90): $parse = $injector.get('$parse');\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): priority: 1, // execute before ng-click (0)\n
Login.c(90): require: '?ngClick',\n
Login.c(90): link: function postLink(scope, element, attrs) {\n
Login.c(90): var form = $parse(attrs.validationSubmit)
(scope);\n
Login.c(90): \n
Login.c(90): $timeout(function() {\n
Login.c(90): // Disable ng-click event propagation\n
Login.c(90): element.off('click');\n
Login.c(90): element.on('click', function(e) {\n
Login.c(90): e.preventDefault();\n
Login.c(90): \n
Login.c(90): $validationProvider.validate(form)\n
Login.c(90): .success(function() {\n
Login.c(90): $parse(attrs.ngClick)
(scope);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ])\n
Login.c(90): \n
Login.c(90): .directive('validationReset', ['$injector',\n
Login.c(90): function($injector) {\n
Login.c(90): \n
Login.c(90): var $validationProvider =
$injector.get('$validation'),\n
Login.c(90): $timeout = $injector.get('$timeout'),\n
Login.c(90): $parse = $injector.get('$parse');\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): link: function postLink(scope, element, attrs) {\n
Login.c(90): var form = $parse(attrs.validationReset)
(scope);\n
Login.c(90): \n
Login.c(90): $timeout(function() {\n
Login.c(90): element.on('click', function(e) {\n
Login.c(90): e.preventDefault();\n
Login.c(90): $validationProvider.reset(form);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): \n
Login.c(90): }).call(this);\n
Login.c(90): t=2279ms: 9802-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js" (RelFrameId=, Internal ID=22)
Login.c(90): active: isActive(dt)}\\" ng-click=\\"select(dt.date)\\" ng-
disabled=\\"dt.disabled\\" tabi
Login.c(90): ndex=\\"-1\\"><span ng-class=\\"{'text-info':
dt.current}\\">{{dt.label}}</span></button>\\
Login.c(90): n" +\n
Login.c(90): " </td>\\n" +\n
Login.c(90): " </tr>\\n" +\n
Login.c(90): " </tbody>\\n" +\n
Login.c(90): "</table>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/modal/backdrop.html",
[]).run(["$templateCache", function($templa
Login.c(90): teCache) {\n
Login.c(90): $templateCache.put("template/modal/backdrop.html",\n
Login.c(90): "<div class=\\"modal-backdrop fade {{ backdropClass }}\\"\\n"
+\n
Login.c(90): " ng-class=\\"{in: animate}\\"\\n" +\n
Login.c(90): " ng-style=\\"{'z-index': 1040 + (index && 1 || 0) +
index*10}\\"\\n" +\n
Login.c(90): "></div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/modal/window.html",
[]).run(["$templateCache", function($template
Login.c(90): Cache) {\n
Login.c(90): $templateCache.put("template/modal/window.html",\n
Login.c(90): "<div tabindex=\\"-1\\" role=\\"dialog\\" class=\\"modal
fade\\" ng-class=\\"{in: anim
Login.c(90): ate}\\" ng-style=\\"{'z-index': 1050 + index*10, display:
'block'}\\" ng-click=\\"close($e
Login.c(90): vent)\\">\\n" +\n
Login.c(90): " <div class=\\"modal-dialog\\" ng-class=\\"{'modal-sm':
size == 'sm', 'modal-lg':
Login.c(90): size == 'lg'}\\"><div class=\\"modal-content\\" modal-
transclude></div></div>\\n" +\n
Login.c(90): "</div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/pagination/pager.html",
[]).run(["$templateCache", function($temp
Login.c(90): lateCache) {\n
Login.c(90): $templateCache.put("template/pagination/pager.html",\n
Login.c(90): "<ul class=\\"pager\\">\\n" +\n
Login.c(90): " <li ng-class=\\"{disabled: noPrevious(), previous:
align}\\"><a href ng-click=\\"se
Login.c(90): lectPage(page - 1)\\">{{getText('previous')}}</a></li>\\n" +\n
Login.c(90): " <li ng-class=\\"{disabled: noNext(), next: align}\\"><a
href ng-click=\\"selectPage
Login.c(90): (page + 1)\\">{{getText('next')}}</a></li>\\n" +\n
Login.c(90): "</ul>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/pagination/pagination.html",
[]).run(["$templateCache", function(
Login.c(90): $templateCache) {\n
Login.c(90): $templateCache.put("template/pagination/pagination.html",\n
Login.c(90): "<ul class=\\"pagination\\">\\n" +\n
Login.c(90): " <li ng-if=\\"boundaryLinks\\" ng-class=\\"{disabled:
noPrevious()}\\"><a href ng-cl
Login.c(90): ick=\\"selectPage(1)\\">{{getText('first')}}</a></li>\\n" +\n
Login.c(90): " <li ng-if=\\"directionLinks\\" ng-class=\\"{disabled:
noPrevious()}\\"><a href ng-c
Login.c(90): lick=\\"selectPage(page -
1)\\">{{getText('previous')}}</a></li>\\n" +\n
Login.c(90): " <li ng-repeat=\\"page in pages track by $index\\" ng-
class=\\"{active: page.active}
Login.c(90): \\"><a href ng-
click=\\"selectPage(page.number)\\">{{page.text}}</a></li>\\n" +\n
Login.c(90): " <li ng-if=\\"directionLinks\\" ng-class=\\"{disabled:
noNext()}\\"><a href ng-click
Login.c(90): =\\"selectPage(page + 1)\\">{{getText('next')}}</a></li>\\n" +\n
Login.c(90): " <li ng-if=\\"boundaryLinks\\" ng-class=\\"{disabled:
noNext()}\\"><a href ng-click=
Login.c(90): \\"selectPage(totalPages)\\">{{getText('last')}}</a></li>\\n" +\n
Login.c(90): "</ul>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/tooltip/tooltip-html-unsafe-popup.html",
[]).run(["$templateCache
Login.c(90): ", function($templateCache) {\n
Login.c(90): $templateCache.put("template/tooltip/tooltip-html-unsafe-
popup.html",\n
Login.c(90): "<div class=\\"tooltip {{placement}}\\" ng-class=\\"{ in:
isOpen(), fade: animation()
Login.c(90): }\\">\\n" +\n
Login.c(90): " <div class=\\"tooltip-arrow\\"></div>\\n" +\n
Login.c(90): " <div class=\\"tooltip-inner\\" bind-html-
unsafe=\\"content\\"></div>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/tooltip/tooltip-popup.html",
[]).run(["$templateCache", function(
Login.c(90): $templateCache) {\n
Login.c(90): $templateCache.put("template/tooltip/tooltip-popup.html",\n
Login.c(90): "<div class=\\"tooltip {{placement}}\\" ng-class=\\"{ in:
isOpen(), fade: animation()
Login.c(90): }\\">\\n" +\n
Login.c(90): " <div class=\\"tooltip-arrow\\"></div>\\n" +\n
Login.c(90): " <div class=\\"tooltip-inner\\" ng-
bind=\\"content\\"></div>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/popover/popover.html",
[]).run(["$templateCache", function($templ
Login.c(90): ateCache) {\n
Login.c(90): $templateCache.put("template/popover/popover.html",\n
Login.c(90): "<div class=\\"popover {{placement}}\\" ng-class=\\"{ in:
isOpen(), fade: animation()
Login.c(90): }\\">\\n" +\n
Login.c(90): " <div class=\\"arrow\\"></div>\\n" +\n
Login.c(90): "\\n" +\n
Login.c(90): " <div class=\\"popover-inner\\">\\n" +\n
Login.c(90): " <h3 class=\\"popover-title\\" ng-bind=\\"title\\" ng-
show=\\"title\\"></h3>\\n"
Login.c(90): +\n
Login.c(90): " <div class=\\"popover-content\\" ng-
bind=\\"content\\"></div>\\n" +\n
Login.c(90): " </div>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/progressbar/bar.html",
[]).run(["$templateCache", function($templ
Login.c(90): ateCache) {\n
Login.c(90): $templateCache.put("template/progressbar/bar.html",\n
Login.c(90): "<div class=\\"progress-bar\\" ng-class=\\"type && 'progress-
bar-' + type\\" role=\\"p
Login.c(90): rogressbar\\" aria-valuenow=\\"{{value}}\\" aria-valuemin=\\"0\\"
aria-valuemax=\\"{{max}}
Login.c(90): \\" ng-style=\\"{width: percent + '%'}\\" aria-
valuetext=\\"{{percent | number:0}}%\\" ng-
Login.c(90): transclude></div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/progressbar/progress.html",
[]).run(["$templateCache", function($
Login.c(90): templateCache) {\n
Login.c(90): $templateCache.put("template/progressbar/progress.html",\n
Login.c(90): "<div class=\\"progress\\" ng-transclude></div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/progressbar/progressbar.html",
[]).run(["$templateCache", functio
Login.c(90): n($templateCache) {\n
Login.c(90): $templateCache.put("template/progressbar/progressbar.html",\n
Login.c(90): "<div class=\\"progress\\">\\n" +\n
Login.c(90): " <div class=\\"progress-bar\\" ng-class=\\"type &&
'progress-bar-' + type\\" role=\\
Login.c(90): "progressbar\\" aria-valuenow=\\"{{value}}\\" aria-
valuemin=\\"0\\" aria-valuemax=\\"{{max
Login.c(90): }}\\" ng-style=\\"{width: percent + '%'}\\" aria-
valuetext=\\"{{percent | number:0}}%\\" n
Login.c(90): g-transclude></div>\\n" +\n
Login.c(90): "</div>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/rating/rating.html",
[]).run(["$templateCache", function($templat
Login.c(90): eCache) {\n
Login.c(90): $templateCache.put("template/rating/rating.html",\n
Login.c(90): "<span ng-mouseleave=\\"reset()\\" ng-
keydown=\\"onKeydown($event)\\" tabindex=\\"0\\"
Login.c(90): role=\\"slider\\" aria-valuemin=\\"0\\" aria-
valuemax=\\"{{range.length}}\\" aria-valueno
Login.c(90): w=\\"{{value}}\\">\\n" +\n
Login.c(90): " <i ng-repeat=\\"r in range track by $index\\" ng-
mouseenter=\\"enter($index + 1)\\
Login.c(90): " ng-click=\\"rate($index + 1)\\" class=\\"glyphicon\\" ng-
class=\\"$index < value && (r.s
Login.c(90): tateOn || 'glyphicon-star') || (r.stateOff || 'glyphicon-star-
empty')\\">\\n" +\n
Login.c(90): " <span class=\\"sr-only\\">({{ $index < value ? '*' :
' ' }})</span>\\n" +\n
Login.c(90): " </i>\\n" +\n
Login.c(90): "</span>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/tabs/tab.html",
[]).run(["$templateCache", function($templateCach
Login.c(90): e) {\n
Login.c(90): $templateCache.put("template/tabs/tab.html",\n
Login.c(90): "<li ng-class=\\"{active: active, disabled: disabled}\\">\\n"
+\n
Login.c(90): " <a ng-click=\\"select()\\" tab-heading-
transclude>{{heading}}</a>\\n" +\n
Login.c(90): "</li>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/tabs/tabset.html",
[]).run(["$templateCache", function($templateC
Login.c(90): ache) {\n
Login.c(90): $templateCache.put("template/tabs/tabset.html",\n
Login.c(90): "<div>\\n" +\n
Login.c(90): " <ul class=\\"nav nav-{{type || 'tabs'}}\\" ng-
class=\\"{'nav-stacked': vertical, 'n
Login.c(90): av-justified': justified}\\" ng-transclude></ul>\\n" +\n
Login.c(90): " <div class=\\"tab-content\\">\\n" +\n
Login.c(90): " <div class=\\"tab-pane\\" \\n" +\n
Login.c(90): " ng-repeat=\\"tab in tabs\\" \\n" +\n
Login.c(90): " ng-class=\\"{active: tab.active}\\"\\n" +\n
Login.c(90): " tab-content-transclude=\\"tab\\">\\n" +\n
Login.c(90): " </div>\\n" +\n
Login.c(90): " </div>\\n" +\n
Login.c(90): "</div>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/timepicker/timepicker.html",
[]).run(["$templateCache", function(
Login.c(90): $templateCache) {\n
Login.c(90): $templateCache.put("template/timepicker/timepicker.html",\n
Login.c(90): "<table>\\n" +\n
Login.c(90): "\t<tbody>\\n" +\n
Login.c(90): "\t\t<tr class=\\"text-center\\">\\n" +\n
Login.c(90): "\t\t\t<td><a ng-click=\\"incrementHours()\\" class=\\"btn
btn-link\\"><span class=\\"
Login.c(90): glyphicon glyphicon-chevron-up\\"></span></a></td>\\n" +\n
Login.c(90): "\t\t\t<td>&nbsp;</td>\\n" +\n
Login.c(90): "\t\t\t<td><a ng-click=\\"incrementMinutes()\\" class=\\"btn
btn-link\\"><span class=\\
Login.c(90): "glyphicon glyphicon-chevron-up\\"></span></a></td>\\n" +\n
Login.c(90): "\t\t\t<td ng-show=\\"showMeridian\\"></td>\\n" +\n
Login.c(90): "\t\t</tr>\\n" +\n
Login.c(90): "\t\t<tr>\\n" +\n
Login.c(90): "\t\t\t<td style=\\"width:50px;\\" class=\\"form-group\\" ng-
class=\\"{'has-error': in
Login.c(90): validHours}\\">\\n" +\n
Login.c(90): "\t\t\t\t<input type=\\"text\\" ng-model=\\"hours\\" ng-
change=\\"updateHours()\\" cla
Login.c(90): ss=\\"form-control text-center\\" ng-
mousewheel=\\"incrementHours()\\" ng-readonly=\\"read
Login.c(90): onlyInput\\" maxlength=\\"2\\">\\n" +\n
Login.c(90): "\t\t\t</td>\\n" +\n
Login.c(90): "\t\t\t<td>:</td>\\n" +\n
Login.c(90): "\t\t\t<td style=\\"width:50px;\\" class=\\"form-group\\" ng-
class=\\"{'has-error': in
Login.c(90): validMinutes}\\">\\n" +\n
Login.c(90): "\t\t\t\t<input type=\\"text\\" ng-model=\\"minutes\\" ng-
change=\\"updateMinutes()\\"
Login.c(90): class=\\"form-control text-center\\" ng-
readonly=\\"readonlyInput\\" maxlength=\\"2\\">\\
Login.c(90): n" +\n
Login.c(90): "\t\t\t</td>\\n" +\n
Login.c(90): "\t\t\t<td ng-show=\\"showMeridian\\"><button
type=\\"button\\" class=\\"btn btn-defau
Login.c(90): lt text-center\\" ng-
click=\\"toggleMeridian()\\">{{meridian}}</button></td>\\n" +\n
Login.c(90): "\t\t</tr>\\n" +\n
Login.c(90): "\t\t<tr class=\\"text-center\\">\\n" +\n
Login.c(90): "\t\t\t<td><a ng-click=\\"decrementHours()\\" class=\\"btn
btn-link\\"><span class=\\"
Login.c(90): glyphicon glyphicon-chevron-down\\"></span></a></td>\\n" +\n
Login.c(90): "\t\t\t<td>&nbsp;</td>\\n" +\n
Login.c(90): "\t\t\t<td><a ng-click=\\"decrementMinutes()\\" class=\\"btn
btn-link\\"><span class=\\
Login.c(90): "glyphicon glyphicon-chevron-down\\"></span></a></td>\\n" +\n
Login.c(90): "\t\t\t<td ng-show=\\"showMeridian\\"></td>\\n" +\n
Login.c(90): "\t\t</tr>\\n" +\n
Login.c(90): "\t</tbody>\\n" +\n
Login.c(90): "</table>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/typeahead/typeahead-match.html",
[]).run(["$templateCache", funct
Login.c(90): ion($templateCache) {\n
Login.c(90): $templateCache.put("template/typeahead/typeahead-match.html",\n
Login.c(90): "<a tabindex=\\"-1\\" bind-html-unsafe=\\"match.label |
typeaheadHighlight:query\\"></
Login.c(90): a>");\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): angular.module("template/typeahead/typeahead-popup.html",
[]).run(["$templateCache", funct
Login.c(90): ion($templateCache) {\n
Login.c(90): $templateCache.put("template/typeahead/typeahead-popup.html",\n
Login.c(90): "<ul class=\\"dropdown-menu\\" ng-show=\\"isOpen()\\" ng-
style=\\"{top: position.top+'
Login.c(90): px', left: position.left+'px'}\\" style=\\"display: block;\\"
role=\\"listbox\\" aria-hidd
Login.c(90): en=\\"{{!isOpen()}}\\">\\n" +\n
Login.c(90): " <li ng-repeat=\\"match in matches track by $index\\" ng-
class=\\"{active: isActiv
Login.c(90): e($index) }\\" ng-mouseenter=\\"selectActive($index)\\" ng-
click=\\"selectMatch($index)\\"
Login.c(90): role=\\"option\\" id=\\"{{match.id}}\\">\\n" +\n
Login.c(90): " <div typeahead-match index=\\"$index\\"
match=\\"match\\" query=\\"query\\" t
Login.c(90): emplate-url=\\"templateUrl\\"></div>\\n" +\n
Login.c(90): " </li>\\n" +\n
Login.c(90): "</ul>\\n" +\n
Login.c(90): "");\n
Login.c(90): }]);\n
Login.c(90): t=2289ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"1486-1416253779000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:39 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=2290ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): a\r\n
Login.c(90): t=2290ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): \r\n
Login.c(90): 1dc\r\n
Login.c(90): t=2290ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=2290ms: 486-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): t=2290ms: 1486-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-validation/angular-validation-rule.js"
(RelFrameId=, Internal ID=24)
Login.c(90): (function() {\n
Login.c(90): angular.module('validation.rule', ['validation'])\n
Login.c(90): .config(['$validationProvider',\n
Login.c(90): function($validationProvider) {\n
Login.c(90): \n
Login.c(90): var expression = {\n
Login.c(90): required: function(value) {\n
Login.c(90): return !!value;\n
Login.c(90): },\n
Login.c(90): url: /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\
+\\$,\\w]+@)?[A-Za-z0-9.
Login.c(90): -]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~
%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@
Login.c(90): .\\w_]*)#?(?:[\\w]*))?)/,\n
Login.c(90): email: /^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]
{1,3}\\.[0-9]{1,3}\\.)|((
Login.c(90): [\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/,\n
Login.c(90): number: /^\\d+$/\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var defaultMsg = {\n
Login.c(90): required: {\n
Login.c(90): error: 'This should be Required!!',\n
Login.c(90): success: 'It\\'s Required'\n
Login.c(90): },\n
Login.c(90): url: {\n
Login.c(90): error: 'This should be Url',\n
Login.c(90): success: 'It\\'s Url'\n
Login.c(90): },\n
Login.c(90): email: {\n
Login.c(90): error: 'This should be Email',\n
Login.c(90): success: 'It\\'s Email'\n
Login.c(90): },\n
Login.c(90): number: {\n
Login.c(90): error: 'This should be Number',\n
Login.c(90): success: 'It\\'s Number'\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90):
$validationProvider.setExpression(expression).setDefaultMsg(defaultMsg);\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): \n
Login.c(90): }).call(this);\n
Login.c(90): t=2292ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"1179-1418683843000"\r\n
Login.c(90): Last-Modified: Mon, 15 Dec 2014 22:50:43 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=2293ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): a\r\n
Login.c(90): t=2293ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): \r\n
Login.c(90): 200\r\n
Login.c(90): t=2293ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): \r\n
Login.c(90): 4e\r\n
Login.c(90): t=2294ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=2294ms: 600-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): t=2294ms: 1179-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" (RelFrameId=,
Internal ID=25)
Login.c(90): /*! ngStorage 0.3.0 | Copyright (c) 2013 Gias Kay Lee | MIT
License */"use strict";!functi
Login.c(90): on(){function a(a){return["$rootScope","$window",function(b,c)
{for(var d,e,f,g=c[a]||(cons
Login.c(90): ole.warn("This browser does not support Web Storage!"),
{}),h={$default:function(a){for(var
Login.c(90): b in a)angular.isDefined(h[b])||(h[b]=a[b]);return h},
$reset:function(a){for(var b in h)"
Login.c(90): $"===b[0]||delete h[b];return h.$default(a)}},i=0;i<g.length;i++)
(f=g.key(i))&&"ngStorage-
Login.c(90):
"===f.slice(0,10)&&(h[f.slice(10)]=angular.fromJson(g.getItem(f)));return
d=angular.copy(h
Login.c(90): ),b.$watch(function(){e||(e=setTimeout(function(){if(e=null,!
angular.equals(h,d)){angular.
Login.c(90): forEach(h,function(a,b){angular.isDefined(a)&&"$"!
==b[0]&&g.setItem("ngStorage-"+b,angular
Login.c(90): .toJson(a)),delete d[b]});for(var a in
d)g.removeItem("ngStorage-"+a);d=angular.copy(h)}},
Login.c(90):
100))}),"localStorage"===a&&c.addEventListener&&c.addEventListener("storage",functi
on(a){"
Login.c(90): ngStorage-"===a.key.slice(0,10)&&(a.newValue?
h[a.key.slice(10)]=angular.fromJson(a.newValu
Login.c(90): e):delete h[a.key.slice(10)],d=angular.copy(h),b.
$apply())}),h}]}angular.module("ngStorage
Login.c(90): ",
[]).factory("$localStorage",a("localStorage")).factory("$sessionStorage",a("session
Stora
Login.c(90): ge"))}();
Login.c(90): t=2295ms: 204-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): HTTP/1.1 404 Not Found\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Content-Type: text/html;charset=utf-8\r\n
Login.c(90): Transfer-Encoding: chunked\r\n
Login.c(90): Content-Encoding: gzip\r\n
Login.c(90): Vary: Accept-Encoding\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=2295ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): a\r\n
Login.c(90): t=2295ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): \r\n
Login.c(90): 188\r\n
Login.c(90): t=2296ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): \r\n
Login.c(90): 0\r\n
Login.c(90): \r\n
Login.c(90): t=2296ms: 402-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): t=2296ms: 1027-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" (RelFrameId=,
Internal ID=26)
Login.c(90): <html><head><title>Apache Tomcat/7.0.40 - Error
report</title><style><!--H1 {font-family:T
Login.c(90): ahoma,Arial,sans-serif;color:white;background-color:#525D76;font-
size:22px;} H2 {font-fami
Login.c(90): ly:Tahoma,Arial,sans-serif;color:white;background-
color:#525D76;font-size:16px;} H3 {font-
Login.c(90): family:Tahoma,Arial,sans-serif;color:white;background-
color:#525D76;font-size:14px;} BODY
Login.c(90): {font-family:Tahoma,Arial,sans-serif;color:black;background-
color:white;} B {font-family:T
Login.c(90): ahoma,Arial,sans-serif;color:white;background-color:#525D76;} P
{font-family:Tahoma,Arial,
Login.c(90): sans-serif;background:white;color:black;font-size:12px;}A {color :
black;}A.name {color :
Login.c(90): black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP
Status 404 - /v5/ui/vendor/o
Login.c(90): auth-ng/dist/oauth-ng.js</h1><HR size="1"
noshade="noshade"><p><b>type</b> Status report</
Login.c(90): p><p><b>message</b> <u>/v5/ui/vendor/oauth-ng/dist/oauth-
ng.js</u></p><p><b>description</b
Login.c(90): > <u>The requested resource is not available.</u></p><HR size="1"
noshade="noshade"><h3>Ap
Login.c(90): ache Tomcat/7.0.40</h3></body></html>
Login.c(90): Warning -26627: HTTP Status-Code=404 (Not Found) for
"http://v5devtom.ep.com/v5/ui/vendor/oauth-ng/dist/oauth-ng.js" [MsgId:
MWAR-26627]
Login.c(90): t=2297ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"783193-1416253770000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:30 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 783193\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=2298ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): /**\n
Login.c(90): * @license AngularJS v1.2.25\n
Login.c(90): * (c) 2010-2014 Google, Inc. http://angularjs.org\n
Login.c(90): * License: MIT\n
Login.c(90): */\n
Login.c(90): (function(window, document, undefined) {'use strict';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * This object provides a utility for producing rich Error
messages within\n
Login.c(90): * Angular. It can be called as follows:\n
Login.c(90): *\n
Login.c(90): * var exampleMinErr = minErr('example');\n
Login.c(90): * throw exampleMinErr('one', 'This {0} is {1}', foo, bar);\n
Login.c(90): *\n
Login.c(90): * The above creates an instance of minErr in the example
namespace. The\n
Login.c(90): * resulting error will have a namespaced error code of
example.one. The\n
Login.c(90): * resulting error will replace {0} with the value of foo, and {1}
with the\n
Login.c(90): * value of bar. The object is not restricted in the number of
arguments it can\n
Login.c(90): * take.\n
Login.c(90): *\n
Login.c(90): * If fewer arguments are specified than necessary for
interpolation, the extra\n
Login.c(90): * interpolation markers will be preserved in the final string.\n
Login.c(90): *\n
Login.c(90): * Since data will be parsed statically during a build step, some
restrictions\n
Login.c(90): * are applied with respect to how minErr instances are created
and called.\n
Login.c(90): * Instances should have names of the form namespaceMinErr for a
minErr created\n
Login.c(90): * using minErr('namespace') . Error codes, namespaces and
template strings\n
Login.c(90): * should all be static strings, not variables or general
expressions.\n
Login.c(90): *\n
Login.c(90): * @param {string} module The namespace to use for the new minErr
instance.\n
Login.c(90): * @returns {function(code:string, template:string,
...templateArgs): Error} minErr instan
Login.c(90): ce\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function minErr(module) {\n
Login.c(90): return function () {\n
Login.c(90): var code = arguments[0],\n
Login.c(90): prefix = '[' + (module ? module + ':' : '') + code + '] ',\n
Login.c(90): template = arguments[1],\n
Login.c(90): templateArgs = arguments,\n
Login.c(90): stringify = function (obj) {\n
Login.c(90): if (typeof obj === 'function') {\n
Login.c(90): return obj.toString().replace(/ \\{[\\s\\S]*$/, '');\n
Login.c(90): } else if (typeof obj === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof obj !== 'string') {\n
Login.c(90): return JSON.stringify(obj);\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): },\n
Login.c(90): message, i;\n
Login.c(90): \n
Login.c(90): message = prefix + template.replace(/\\{\\d+\\}/g, function
(match) {\n
Login.c(90): var index = +match.slice(1, -1), arg;\n
Login.c(90): \n
Login.c(90): if (index + 2 < templateArgs.length) {\n
Login.c(90): arg = templateArgs[index + 2];\n
Login.c(90): if (typeof arg === 'function') {\n
Login.c(90): return arg.toString().replace(/ ?\\{[\\s\\S]*$/, '');\n
Login.c(90): } else if (typeof arg === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof arg !== 'string') {\n
Login.c(90): return toJson(arg);\n
Login.c(90): }\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): return match;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): message = message + '\\nhttp://errors.angularjs.org/1.2.25/'
+\n
Login.c(90): (module ? module + '/' : '') + code;\n
Login.c(90): for (i = 2; i < arguments.length; i++) {\n
Login.c(90): message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '='
+\n
Login.c(90): encodeURIComponent(stringify(arguments[i]));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return new Error(message);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* We need to tell jshint what variables are being exported */\n
Login.c(90): /* global angular: true,\n
Login.c(90): msie: true,\n
Login.c(90): jqLite: true,\n
Login.c(90): jQuery: true,\n
Login.c(90): slice: true,\n
Login.c(90): push: true,\n
Login.c(90): toString: true,\n
Login.c(90): ngMinErr: true,\n
Login.c(90): angularModule: true,\n
Login.c(90): nodeName_: true,\n
Login.c(90): uid: true,\n
Login.c(90): VALIDITY_STATE_PROPERTY: true,\n
Login.c(90): \n
Login.c(90): lowercase: true,\n
Login.c(90): uppercase: true,\n
Login.c(90): manualLowercase: true,\n
Login.c(90): manualUppercase: true,\n
Login.c(90): nodeName_: true,\n
Login.c(90): isArrayLike: true,\n
Login.c(90): forEach: true,\n
Login.c(90): sortedKeys: true,\n
Login.c(90): forEachSorted: true,\n
Login.c(90): reverseParams: true,\n
Login.c(90): nextUid: true,\n
Login.c(90): setHashKey: true,\n
Login.c(90): extend: true,\n
Login.c(90): int: true,\n
Login.c(90): inherit: true,\n
Login.c(90): noop: true,\n
Login.c(90): identity: true,\n
Login.c(90): valueFn: true,\n
Login.c(90): isUndefined: true,\n
Login.c(90): isDefined: true,\n
Login.c(90): isObject: true,\n
Login.c(90): isString: true,\n
Login.c(90): isNumber: true,\n
Login.c(90): isDate: true,\n
Login.c(90): isArray: true,\n
Login.c(90): isFunction: true,\n
Login.c(90): isRegExp: true,\n
Login.c(90): isWindow: true,\n
Login.c(90): isScope: true,\n
Login.c(90): isFile: true,\n
Login.c(90): isBlob: true,\n
Login.c(90): isBoolean: true,\n
Login.c(90): isPromiseLike: true,\n
Login.c(90): trim: true,\n
Login.c(90): isElement: true,\n
Login.c(90): makeMap: true,\n
Login.c(90): map: true,\n
Login.c(90): size: true,\n
Login.c(90): includes: true,\n
Login.c(90): indexOf: true,\n
Login.c(90): arrayRemove: true,\n
Login.c(90): isLeafNode: true,\n
Login.c(90): copy: true,\n
Login.c(90): shallowCopy: true,\n
Login.c(90): equals: true,\n
Login.c(90): csp: true,\n
Login.c(90): concat: true,\n
Login.c(90): sliceArgs: true,\n
Login.c(90): bind: true,\n
Login.c(90): toJsonReplacer: true,\n
Login.c(90): toJson: true,\n
Login.c(90): fromJson: true,\n
Login.c(90): toBoolean: true,\n
Login.c(90): startingTag: true,\n
Login.c(90): tryDecodeURIComponent: true,\n
Login.c(90): parseKeyValue: true,\n
Login.c(90): toKeyValue: true,\n
Login.c(90): encodeUriSegment: true,\n
Login.c(90): encodeUriQuery: true,\n
Login.c(90): angularInit: true,\n
Login.c(90): bootstrap: true,\n
Login.c(90): snake_case: true,\n
Login.c(90): bindJQuery: true,\n
Login.c(90): assertArg: true,\n
Login.c(90): assertArgFn: true,\n
Login.c(90): assertNotHasOwnProperty: true,\n
Login.c(90): getter: true,\n
Login.c(90): getBlockElements: true,\n
Login.c(90): hasOwnProperty: true,\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc module\n
Login.c(90): * @name ng\n
Login.c(90): * @module ng\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * # ng (core module)\n
Login.c(90): * The ng module is loaded by default when an AngularJS
application is started. The module
Login.c(90): itself\n
Login.c(90): * contains the essential components for an AngularJS application
to function. The table b
Login.c(90): elow\n
Login.c(90): * lists a high level breakdown of each of the services/factories,
filters, directives and
Login.c(90): testing\n
Login.c(90): * components available within this core module.\n
Login.c(90): *\n
Login.c(90): * <div doc-module-components="ng"></div>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): // The name of a form control's ValidityState property.\n
Login.c(90): // This is used so that it's possible for internal tests to create
mock ValidityStates.\n
Login.c(90): var VALIDITY_STATE_PROPERTY = 'validity';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.lowercase\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description Converts the specified string to lowercase.\n
Login.c(90): * @param {string} string String to be converted to lowercase.\n
Login.c(90): * @returns {string} Lowercased string.\n
Login.c(90): */\n
Login.c(90): var lowercase = function(string){return isString(string) ?
string.toLowerCase() : string;}
Login.c(90): ;\n
Login.c(90): var hasOwnProperty = Object.prototype.hasOwnProperty;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.uppercase\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description Converts the specified string to uppercase.\n
Login.c(90): * @param {string} string String to be converted to uppercase.\n
Login.c(90): * @returns {string} Uppercased string.\n
Login.c(90): */\n
Login.c(90): var uppercase = function(string){return isString(string) ?
string.toUpperCase() : string;}
Login.c(90): ;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var manualLowercase = function(s) {\n
Login.c(90): /* jshint bitwise: false */\n
Login.c(90): return isString(s)\n
Login.c(90): ? s.replace(/[A-Z]/g, function(ch) {return
String.fromCharCode(ch.charCodeAt(0) | 32
Login.c(90): );})\n
Login.c(90): : s;\n
Login.c(90): };\n
Login.c(90): var manualUppercase = function(s) {\n
Login.c(90): /* jshint bitwise: false */\n
Login.c(90): return isString(s)\n
Login.c(90): ? s.replace(/[a-z]/g, function(ch) {return
String.fromCharCode(ch.charCodeAt(0) & ~3
Login.c(90): 2);})\n
Login.c(90): : s;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // String#toLowerCase and String#toUpperCase don't produce correct
results in browsers wit
Login.c(90): h Turkish\n
Login.c(90): // locale, for this reason we need to detect this case and
redefine lowercase/uppercase me
Login.c(90): thods\n
Login.c(90): // with correct but slower alternatives.\n
Login.c(90): if ('i' !== 'I'.toLowerCase()) {\n
Login.c(90): lowercase = manualLowercase;\n
Login.c(90): uppercase = manualUppercase;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var /** holds major version number for IE or NaN for real browsers
*/\n
Login.c(90): msie,\n
Login.c(90): jqLite, // delay binding since jQuery could be
loaded after us.\n
Login.c(90): jQuery, // delay binding\n
Login.c(90): slice = [].slice,\n
Login.c(90): push = [].push,\n
Login.c(90): toString = Object.prototype.toString,\n
Login.c(90): ngMinErr = minErr('ng'),\n
Login.c(90): \n
Login.c(90): /** @name angular */\n
Login.c(90): angular = window.angular || (window.angular = {}),\n
Login.c(90): angularModule,\n
Login.c(90): nodeName_,\n
Login.c(90): uid = ['0', '0', '0'];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * IE 11 changed the format of the UserAgent string.\n
Login.c(90): * See http://msdn.microsoft.com/en-us/library/ms537503.aspx\n
Login.c(90): */\n
Login.c(90): msie = int((/msie (\\d+)/.exec(lowercase(navigator.userAgent)) ||
[])[1]);\n
Login.c(90): if (isNaN(msie)) {\n
Login.c(90): msie = int((/trident\\/.*; rv:
(\\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @private\n
Login.c(90): * @param {*} obj\n
Login.c(90): * @return {boolean} Returns true if `obj` is an array or array-
like object (NodeList, Arg
Login.c(90): uments,\n
Login.c(90): * String ...)\n
Login.c(90): */\n
Login.c(90): function isArrayLike(obj) {\n
Login.c(90): if (obj == null || isWindow(obj)) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var length = obj.length;\n
Login.c(90): \n
Login.c(90): if (obj.nodeType === 1 && length) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return isString(obj) || isArray(obj) || length === 0 ||\n
Login.c(90): typeof length === 'number' && length > 0 && (length - 1)
in obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.forEach\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Invokes the `iterator` function once for each item in `obj`
collection, which can be ei
Login.c(90): ther an\n
Login.c(90): * object or an array. The `iterator` function is invoked with
`iterator(value, key)`, whe
Login.c(90): re `value`\n
Login.c(90): * is the value of an object property or an array element and
`key` is the object property
Login.c(90): key or\n
Login.c(90): * array element index. Specifying a `context` for the function is
optional.\n
Login.c(90): *\n
Login.c(90): * It is worth noting that `.forEach` does not iterate over
inherited properties because i
Login.c(90): t filters\n
Login.c(90): * u
Login.c(90): t=2311ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): sing the `hasOwnProperty` method.\n
Login.c(90): *\n
Login.c(90): ```js\n
Login.c(90): var values = {name: 'misko', gender: 'male'};\n
Login.c(90): var log = [];\n
Login.c(90): angular.forEach(values, function(value, key) {\n
Login.c(90): this.push(key + ': ' + value);\n
Login.c(90): }, log);\n
Login.c(90): expect(log).toEqual(['name: misko', 'gender: male']);\n
Login.c(90): ```\n
Login.c(90): *\n
Login.c(90): * @param {Object|Array} obj Object to iterate over.\n
Login.c(90): * @param {Function} iterator Iterator function.\n
Login.c(90): * @param {Object=} context Object to become context (`this`) for
the iterator function.\n
Login.c(90): * @returns {Object|Array} Reference to `obj`.\n
Login.c(90): */\n
Login.c(90): function forEach(obj, iterator, context) {\n
Login.c(90): var key;\n
Login.c(90): if (obj) {\n
Login.c(90): if (isFunction(obj)) {\n
Login.c(90): for (key in obj) {\n
Login.c(90): // Need to check if hasOwnProperty exists,\n
Login.c(90): // as on IE8 the result of querySelectorAll is an object
without a hasOwnProperty
Login.c(90): function\n
Login.c(90): if (key != 'prototype' && key != 'length' && key != 'name'
&& (!obj.hasOwnProperty
Login.c(90): || obj.hasOwnProperty(key))) {\n
Login.c(90): iterator.call(context, obj[key], key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else if (isArray(obj) || isArrayLike(obj)) {\n
Login.c(90): for (key = 0; key < obj.length; key++) {\n
Login.c(90): iterator.call(context, obj[key], key);\n
Login.c(90): }\n
Login.c(90): } else if (obj.forEach && obj.forEach !== forEach) {\n
Login.c(90): obj.forEach(iterator, context);\n
Login.c(90): } else {\n
Login.c(90): for (key in obj) {\n
Login.c(90): if (obj.hasOwnProperty(key)) {\n
Login.c(90): iterator.call(context, obj[key], key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function sortedKeys(obj) {\n
Login.c(90): var keys = [];\n
Login.c(90): for (var key in obj) {\n
Login.c(90): if (obj.hasOwnProperty(key)) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keys.sort();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function forEachSorted(obj, iterator, context) {\n
Login.c(90): var keys = sortedKeys(obj);\n
Login.c(90): for ( var i = 0; i < keys.length; i++) {\n
Login.c(90): iterator.call(context, obj[keys[i]], keys[i]);\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * when using forEach the params are value, key, but it is often
useful to have key, value
Login.c(90): .\n
Login.c(90): * @param {function(string, *)} iteratorFn\n
Login.c(90): * @returns {function(*, string)}\n
Login.c(90): */\n
Login.c(90): function reverseParams(iteratorFn) {\n
Login.c(90): return function(value, key) { iteratorFn(key, value); };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * A consistent way of creating unique IDs in angular. The ID is a
sequence of alpha numer
Login.c(90): ic\n
Login.c(90): * characters such as '012ABC'. The reason why we are not using
simply a number counter is
Login.c(90): that\n
Login.c(90): * the number string gets longer over time, and it can also
overflow, where as the nextId\n
Login.c(90): * will grow much slower, it is a string, and it will never
overflow.\n
Login.c(90): *\n
Login.c(90): * @returns {string} an unique alpha-numeric string\n
Login.c(90): */\n
Login.c(90): function nextUid() {\n
Login.c(90): var index = uid.length;\n
Login.c(90): var digit;\n
Login.c(90): \n
Login.c(90): while(index) {\n
Login.c(90): index--;\n
Login.c(90): digit = uid[index].charCodeAt(0);\n
Login.c(90): if (digit == 57 /*'9'*/) {\n
Login.c(90): uid[index] = 'A';\n
Login.c(90): return uid.join('');\n
Login.c(90): }\n
Login.c(90): if (digit == 90 /*'Z'*/) {\n
Login.c(90): uid[index] = '0';\n
Login.c(90): } else {\n
Login.c(90): uid[index] = String.fromCharCode(digit + 1);\n
Login.c(90): return uid.join('');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): uid.unshift('0');\n
Login.c(90): return uid.join('');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Set or clear the hashkey for an object.\n
Login.c(90): * @param obj object\n
Login.c(90): * @param h the hashkey (!truthy to delete the hashkey)\n
Login.c(90): */\n
Login.c(90): function setHashKey(obj, h) {\n
Login.c(90): if (h) {\n
Login.c(90): obj.$$hashKey = h;\n
Login.c(90): }\n
Login.c(90): else {\n
Login.c(90): delete obj.$$hashKey;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.extend\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Extends the destination object `dst` by copying all of the
properties from the `src` ob
Login.c(90): ject(s)\n
Login.c(90): * to `dst`. You can specify multiple `src` objects.\n
Login.c(90): *\n
Login.c(90): * @param {Object} dst Destination object.\n
Login.c(90): * @param {...Object} src Source object(s).\n
Login.c(90): * @returns {Object} Reference to `dst`.\n
Login.c(90): */\n
Login.c(90): function extend(dst) {\n
Login.c(90): var h = dst.$$hashKey;\n
Login.c(90): forEach(arguments, function(obj) {\n
Login.c(90): if (obj !== dst) {\n
Login.c(90): forEach(obj, function(value, key) {\n
Login.c(90): dst[key] = value;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): setHashKey(dst,h);\n
Login.c(90): return dst;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function int(str) {\n
Login.c(90): return parseInt(str, 10);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function inherit(parent, extra) {\n
Login.c(90): return extend(new (extend(function() {}, {prototype:parent}))(),
extra);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.noop\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A function that performs no operations. This function can be
useful when writing code i
Login.c(90): n the\n
Login.c(90): * functional style.\n
Login.c(90): ```js\n
Login.c(90): function foo(callback) {\n
Login.c(90): var result = calculateResult();\n
Login.c(90): (callback || angular.noop)(result);\n
Login.c(90): }\n
Login.c(90): ```\n
Login.c(90): */\n
Login.c(90): function noop() {}\n
Login.c(90): noop.$inject = [];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.identity\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A function that returns its first argument. This function is
useful when writing code i
Login.c(90): n the\n
Login.c(90): * functional style.\n
Login.c(90): *\n
Login.c(90): ```js\n
Login.c(90): function transformer(transformationFn, value) {\n
Login.c(90): return (transformationFn || angular.identity)(value);\n
Login.c(90): };\n
Login.c(90): ```\n
Login.c(90): */\n
Login.c(90): function identity($) {return $;}\n
Login.c(90): identity.$inject = [];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function valueFn(value) {return function() {return value;};}\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isUndefined\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is undefined.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is undefined.\n
Login.c(90): */\n
Login.c(90): function isUndefined(value){return typeof value ===
'undefined';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isDefined\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is defined.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is defined.\n
Login.c(90): */\n
Login.c(90): function isDefined(value){return typeof value !== 'undefined';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isObject\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is an `Object`. Unlike `typeof` in
JavaScript, `null`s are no
Login.c(90): t\n
Login.c(90): * considered to be objects. Note that JavaScript arrays are
objects.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is an `Object` but not
`null`.\n
Login.c(90): */\n
Login.c(90): function isObject(value){return value != null && typeof value ===
'object';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isString\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is a `String`.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a `String`.\n
Login.c(90): */\n
Login.c(90): function isString(value){return typeof value === 'string';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isNumber\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is a `Number`.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a `Number`.\n
Login.c(90): */\n
Login.c(90): function isNumber(value){return typeof value === 'number';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isDate\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a value is a date.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a `Date`.\n
Login.c(90): */\n
Login.c(90): function isDate(value) {\n
Login.c(90): return toString.call(value) === '[object Date]';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isArray\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is an `Array`.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is an `Array`.\n
Login.c(90): */\n
Login.c(90): var isArray = (function() {\n
Login.c(90): if (!isFunction(Array.isArray)) {\n
Login.c(90): return function(value) {\n
Login.c(90): return toString.call(value) === '[object Array]';\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): return Array.isArray;\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isFunction\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is a `Function`.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a `Function`.\n
Login.c(90): */\n
Login.c(90): function isFunction(value){return typeof value === 'function';}\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Determines if a value is a regular expression object.\n
Login.c(90): *\n
Login.c(90): * @private\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a `RegExp`.\n
Login.c(90): */\n
Login.c(90): function isRegExp(value) {\n
Login.c(90): return toString.call(value) === '[object RegExp]';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks if `obj` is a window object.\n
Login.c(90): *\n
Login.c(90): * @private\n
Login.c(90): * @param {*} obj Object to check\n
Login.c(90): * @returns {boolean} True if `obj` is a window obj.\n
Login.c(90): */\n
Login.c(90): function isWindow(obj) {\n
Login.c(90): return obj && obj.document && obj.location && obj.alert &&
obj.setInterval;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isScope(obj) {\n
Login.c(90): return obj && obj.$evalAsync && obj.$watch;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isFile(obj) {\n
Login.c(90): return toString.call(obj) === '[object File]';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isBlob(obj) {\n
Login.c(90): return toString.call(obj) === '[object Blob]';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isBoolean(value) {\n
Login.c(90): return typeof value === 'boolean';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isPromiseLike(obj) {\n
Login.c(90): return obj && isFunction(obj.then);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var trim = (function() {\n
Login.c(90): // native trim is way faster: http://jsperf.com/angular-trim-
test\n
Login.c(90): // but IE doesn't have it... :-(\n
Login.c(90): // TODO: we should move this into IE/ES5 polyfill\n
Login.c(90): if (!String.prototype.trim) {\n
Login.c(90): return function(value) {\n
Login.c(90): return isString(value) ? value.replace(/^\\s\\s*/,
'').replace(/\\s\\s*$/, '') : val
Login.c(90): ue;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): return function(value) {\n
Login.c(90): return isString(value) ? value.trim() : value;\n
Login.c(90): };\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.isElement\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if a reference is a DOM element (or wrapped jQuery
element).\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is a DOM element (or wrapped
jQuery element).\n
Login.c(90): */\n
Login.c(90): function isElement(node) {\n
Login.c(90): return !!(node &&\n
Login.c(90): (node.nodeName // we are a direct element\n
Login.c(90): || (node.prop && node.attr && node.find))); // we have an on
and find method part of
Login.c(90): jQuery API\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @param str 'key1,key2,...'\n
Login.c(90): * @returns {object} in the form of {key1:true, key2:true, ...}\n
Login.c(90): */\n
Login.c(90): function makeMap(str) {\n
Login.c(90): var obj = {}, items = str.split(","), i;\n
Login.c(90): for ( i = 0; i < items.length; i++ )\n
Login.c(90): obj[ items[i] ] = true;\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (msie < 9) {\n
Login.c(90): nodeName_ = function(element) {\n
Login.c(90): element = element.nodeName ? element : element[0];\n
Login.c(90): return (element.scopeName && element.scopeName != 'HTML')\n
Login.c(90): ? uppercase(element.scopeName + ':' + element.nodeName) :
element.nodeName;\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): nodeName_ = function(element) {\n
Login.c(90): return element.nodeName ? element.nodeName :
element[0].nodeName;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function map(obj, iterator, context) {\n
Login.c(90): var results = [];\n
Login.c(90): forEach(obj, function(value, index, list) {\n
Login.c(90): results.push(iterator.call(context, value, index, list));\n
Login.c(90): });\n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @description\n
Login.c(90): * Determines the number of elements in an array, the number of
properties an object has,
Login.c(90): or\n
Login.c(90): * the length of a string.\n
Login.c(90): *\n
Login.c(90): * Note: This function is used to augment the Object type in
Angular expressions. See\n
Login.c(90): * {@link angular.Object} for more information about Angular
arrays.\n
Login.c(90): *\n
Login.c(90): * @param {Object|Array|string} obj Object, array, or string to
inspect.\n
Login.c(90): * @param {boolean} [ownPropsOnly=false] Count only "own"
properties in an object\n
Login.c(90): * @returns {number} The size of `obj` or `0` if `obj` is neither
an object nor an array.\n
Login.c(90): */\n
Login.c(90): function size(obj, ownPropsOnly) {\n
Login.c(90): var count = 0, key;\n
Login.c(90): \n
Login.c(90): if (isArray(obj) || isString(obj)) {\n
Login.c(90): return obj.length;\n
Login.c(90): } else if (isObject(obj)) {\n
Login.c(90): for (key in obj)\n
Login.c(90): if (!ownPropsOnly || obj.hasOwnProperty(key))\n
Login.c(90): count++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return count;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function includes(array, obj) {\n
Login.c(90): return indexOf(array, obj) != -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function indexOf(array, obj) {\n
Login.c(90): if (array.indexOf) return array.indexOf(obj);\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < array.length; i++) {\n
Login.c(90): if (obj === array[i]) return i;\n
Login.c(90): }\n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function arrayRemove(array, value) {\n
Login.c(90): var index = indexOf(array, value);\n
Login.c(90): if (index >=0)\n
Login.c(90): array.splice(index, 1);\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isLeafNode (node) {\n
Login.c(90): if (node) {\n
Login.c(90): switch (node.nodeName) {\n
Login.c(90): case "OPTION":\n
Login.c(90): case "PRE":\n
Login.c(90): case "TITLE":\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.copy\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a deep copy of `source`, which should be an object or
an array.\n
Login.c(90): *\n
Login.c(90): * * If no destination is supplied, a copy of the object or array
is created.\n
Login.c(90): * * If a destination is provided, all of its elements (for array)
or properties (for obje
Login.c(90): cts)\n
Login.c(90): * are deleted and then all elements/properties from the source
are copied to it.\n
Login.c(90): * * If `source` is not an object or array (inc. `null` and
`undefined`), `source` is retu
Login.c(90): rned.\n
Login.c(90): * * If `source` is identical to 'destination' an exception will
be thrown.\n
Login.c(90): *\n
Login.c(90): * @param {*} source The source that will be used to make a
copy.\n
Login.c(90): * Can be any type, including primitives,
`null`, and `u
Login.c(90): t=2333ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ndefined`.\n
Login.c(90): * @param {(Object|Array)=} destination Destination into which the
source is copied. If\n
Login.c(90): * provided, must be of the same type as `source`.\n
Login.c(90): * @returns {*} The copy or updated `destination`, if
`destination` was specified.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="copyExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <form novalidate class="simple-form">\n
Login.c(90): Name: <input type="text" ng-model="user.name" /><br />\n
Login.c(90): E-mail: <input type="email" ng-model="user.email" /><br />\n
Login.c(90): Gender: <input type="radio" ng-model="user.gender"
value="male" />male\n
Login.c(90): <input type="radio" ng-model="user.gender" value="female"
/>female<br />\n
Login.c(90): <button ng-click="reset()">RESET</button>\n
Login.c(90): <button ng-click="update(user)">SAVE</button>\n
Login.c(90): </form>\n
Login.c(90): <pre>form = {{user | json}}</pre>\n
Login.c(90): <pre>master = {{master | json}}</pre>\n
Login.c(90): </div>\n
Login.c(90): \n
Login.c(90): <script>\n
Login.c(90): angular.module('copyExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', function($scope)
{\n
Login.c(90): $scope.master= {};\n
Login.c(90): \n
Login.c(90): $scope.update = function(user) {\n
Login.c(90): // Example with 1 argument\n
Login.c(90): $scope.master= angular.copy(user);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.reset = function() {\n
Login.c(90): // Example with 2 arguments\n
Login.c(90): angular.copy($scope.master, $scope.user);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.reset();\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function copy(source, destination, stackSource, stackDest) {\n
Login.c(90): if (isWindow(source) || isScope(source)) {\n
Login.c(90): throw ngMinErr('cpws',\n
Login.c(90): "Can't copy! Making copies of Window or Scope instances is
not supported.");\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!destination) {\n
Login.c(90): destination = source;\n
Login.c(90): if (source) {\n
Login.c(90): if (isArray(source)) {\n
Login.c(90): destination = copy(source, [], stackSource, stackDest);\n
Login.c(90): } else if (isDate(source)) {\n
Login.c(90): destination = new Date(source.getTime());\n
Login.c(90): } else if (isRegExp(source)) {\n
Login.c(90): destination = new RegExp(source.source,
source.toString().match(/[^\\/]*$/)[0]);\n
Login.c(90): destination.lastIndex = source.lastIndex;\n
Login.c(90): } else if (isObject(source)) {\n
Login.c(90): destination = copy(source, {}, stackSource, stackDest);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (source === destination) throw ngMinErr('cpi',\n
Login.c(90): "Can't copy! Source and destination are identical.");\n
Login.c(90): \n
Login.c(90): stackSource = stackSource || [];\n
Login.c(90): stackDest = stackDest || [];\n
Login.c(90): \n
Login.c(90): if (isObject(source)) {\n
Login.c(90): var index = indexOf(stackSource, source);\n
Login.c(90): if (index !== -1) return stackDest[index];\n
Login.c(90): \n
Login.c(90): stackSource.push(source);\n
Login.c(90): stackDest.push(destination);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var result;\n
Login.c(90): if (isArray(source)) {\n
Login.c(90): destination.length = 0;\n
Login.c(90): for ( var i = 0; i < source.length; i++) {\n
Login.c(90): result = copy(source[i], null, stackSource, stackDest);\n
Login.c(90): if (isObject(source[i])) {\n
Login.c(90): stackSource.push(source[i]);\n
Login.c(90): stackDest.push(result);\n
Login.c(90): }\n
Login.c(90): destination.push(result);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var h = destination.$$hashKey;\n
Login.c(90): if (isArray(destination)) {\n
Login.c(90): destination.length = 0;\n
Login.c(90): } else {\n
Login.c(90): forEach(destination, function(value, key) {\n
Login.c(90): delete destination[key];\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): for ( var key in source) {\n
Login.c(90): result = copy(source[key], null, stackSource,
stackDest);\n
Login.c(90): if (isObject(source[key])) {\n
Login.c(90): stackSource.push(source[key]);\n
Login.c(90): stackDest.push(result);\n
Login.c(90): }\n
Login.c(90): destination[key] = result;\n
Login.c(90): }\n
Login.c(90): setHashKey(destination,h);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): return destination;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Creates a shallow copy of an object, an array or a primitive\n
Login.c(90): */\n
Login.c(90): function shallowCopy(src, dst) {\n
Login.c(90): if (isArray(src)) {\n
Login.c(90): dst = dst || [];\n
Login.c(90): \n
Login.c(90): for ( var i = 0; i < src.length; i++) {\n
Login.c(90): dst[i] = src[i];\n
Login.c(90): }\n
Login.c(90): } else if (isObject(src)) {\n
Login.c(90): dst = dst || {};\n
Login.c(90): \n
Login.c(90): for (var key in src) {\n
Login.c(90): if (hasOwnProperty.call(src, key) && !(key.charAt(0) === '$'
&& key.charAt(1) === '$
Login.c(90): ')) {\n
Login.c(90): dst[key] = src[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return dst || src;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.equals\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines if two objects or two values are equivalent.
Supports value types, regular\n
Login.c(90): * expressions, arrays and objects.\n
Login.c(90): *\n
Login.c(90): * Two objects or values are considered equivalent if at least one
of the following is tru
Login.c(90): e:\n
Login.c(90): *\n
Login.c(90): * * Both objects or values pass `===` comparison.\n
Login.c(90): * * Both objects or values are of the same type and all of their
properties are equal by\n
Login.c(90): * comparing them with `angular.equals`.\n
Login.c(90): * * Both values are NaN. (In JavaScript, NaN == NaN => false. But
we consider two NaN as
Login.c(90): equal)\n
Login.c(90): * * Both values represent the same regular expression (In
JavaScript,\n
Login.c(90): * /abc/ == /abc/ => false. But we consider two regular
expressions as equal when their
Login.c(90): textual\n
Login.c(90): * representation matches).\n
Login.c(90): *\n
Login.c(90): * During a property comparison, properties of `function` type and
properties with names\n
Login.c(90): * that begin with `$` are ignored.\n
Login.c(90): *\n
Login.c(90): * Scope and DOMWindow objects are being compared only by identify
(`===`).\n
Login.c(90): *\n
Login.c(90): * @param {*} o1 Object or value to compare.\n
Login.c(90): * @param {*} o2 Object or value to compare.\n
Login.c(90): * @returns {boolean} True if arguments are equal.\n
Login.c(90): */\n
Login.c(90): function equals(o1, o2) {\n
Login.c(90): if (o1 === o2) return true;\n
Login.c(90): if (o1 === null || o2 === null) return false;\n
Login.c(90): if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN\n
Login.c(90): var t1 = typeof o1, t2 = typeof o2, length, key, keySet;\n
Login.c(90): if (t1 == t2) {\n
Login.c(90): if (t1 == 'object') {\n
Login.c(90): if (isArray(o1)) {\n
Login.c(90): if (!isArray(o2)) return false;\n
Login.c(90): if ((length = o1.length) == o2.length) {\n
Login.c(90): for(key=0; key<length; key++) {\n
Login.c(90): if (!equals(o1[key], o2[key])) return false;\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): } else if (isDate(o1)) {\n
Login.c(90): if (!isDate(o2)) return false;\n
Login.c(90): return (isNaN(o1.getTime()) && isNaN(o2.getTime())) ||
(o1.getTime() === o2.getTim
Login.c(90): e());\n
Login.c(90): } else if (isRegExp(o1) && isRegExp(o2)) {\n
Login.c(90): return o1.toString() == o2.toString();\n
Login.c(90): } else {\n
Login.c(90): if (isScope(o1) || isScope(o2) || isWindow(o1) ||
isWindow(o2) || isArray(o2)) ret
Login.c(90): urn false;\n
Login.c(90): keySet = {};\n
Login.c(90): for(key in o1) {\n
Login.c(90): if (key.charAt(0) === '$' || isFunction(o1[key]))
continue;\n
Login.c(90): if (!equals(o1[key], o2[key])) return false;\n
Login.c(90): keySet[key] = true;\n
Login.c(90): }\n
Login.c(90): for(key in o2) {\n
Login.c(90): if (!keySet.hasOwnProperty(key) &&\n
Login.c(90): key.charAt(0) !== '$' &&\n
Login.c(90): o2[key] !== undefined &&\n
Login.c(90): !isFunction(o2[key])) return false;\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var csp = function() {\n
Login.c(90): if (isDefined(csp.isActive_)) return csp.isActive_;\n
Login.c(90): \n
Login.c(90): var active = !!(document.querySelector('[ng-csp]') ||\n
Login.c(90): document.querySelector('[data-ng-csp]'));\n
Login.c(90): \n
Login.c(90): if (!active) {\n
Login.c(90): try {\n
Login.c(90): /* jshint -W031, -W054 */\n
Login.c(90): new Function('');\n
Login.c(90): /* jshint +W031, +W054 */\n
Login.c(90): } catch (e) {\n
Login.c(90): active = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return (csp.isActive_ = active);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function concat(array1, array2, index) {\n
Login.c(90): return array1.concat(slice.call(array2, index));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function sliceArgs(args, startIndex) {\n
Login.c(90): return slice.call(args, startIndex || 0);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /* jshint -W101 */\n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.bind\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns a function which calls function `fn` bound to `self`
(`self` becomes the `this`
Login.c(90): for\n
Login.c(90): * `fn`). You can supply optional `args` that are prebound to the
function. This feature i
Login.c(90): s also\n
Login.c(90): * known as [partial application]
(http://en.wikipedia.org/wiki/Partial_application), as\n
Login.c(90): * distinguished from [function currying]
(http://en.wikipedia.org/wiki/Currying#Contrast_w
Login.c(90): ith_partial_function_application).\n
Login.c(90): *\n
Login.c(90): * @param {Object} self Context which `fn` should be evaluated
in.\n
Login.c(90): * @param {function()} fn Function to be bound.\n
Login.c(90): * @param {...*} args Optional arguments to be prebound to the
`fn` function call.\n
Login.c(90): * @returns {function()} Function that wraps the `fn` with all the
specified bindings.\n
Login.c(90): */\n
Login.c(90): /* jshint +W101 */\n
Login.c(90): function bind(self, fn) {\n
Login.c(90): var curryArgs = arguments.length > 2 ? sliceArgs(arguments, 2) :
[];\n
Login.c(90): if (isFunction(fn) && !(fn instanceof RegExp)) {\n
Login.c(90): return curryArgs.length\n
Login.c(90): ? function() {\n
Login.c(90): return arguments.length\n
Login.c(90): ? fn.apply(self,
curryArgs.concat(slice.call(arguments, 0)))\n
Login.c(90): : fn.apply(self, curryArgs);\n
Login.c(90): }\n
Login.c(90): : function() {\n
Login.c(90): return arguments.length\n
Login.c(90): ? fn.apply(self, arguments)\n
Login.c(90): : fn.call(self);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): // in IE, native methods are not functions so they cannot be
bound (note: they don't n
Login.c(90): eed to be)\n
Login.c(90): return fn;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function toJsonReplacer(key, value) {\n
Login.c(90): var val = value;\n
Login.c(90): \n
Login.c(90): if (typeof key === 'string' && key.charAt(0) === '$') {\n
Login.c(90): val = undefined;\n
Login.c(90): } else if (isWindow(value)) {\n
Login.c(90): val = '$WINDOW';\n
Login.c(90): } else if (value && document === value) {\n
Login.c(90): val = '$DOCUMENT';\n
Login.c(90): } else if (isScope(value)) {\n
Login.c(90): val = '$SCOPE';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.toJson\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Serializes input into a JSON-formatted string. Properties with
leading $ characters wil
Login.c(90): l be\n
Login.c(90): * stripped since angular uses this notation internally.\n
Login.c(90): *\n
Login.c(90): * @param {Object|Array|Date|string|number} obj Input to be
serialized into JSON.\n
Login.c(90): * @param {boolean=} pretty If set to true, the JSON output will
contain newlines and whit
Login.c(90): espace.\n
Login.c(90): * @returns {string|undefined} JSON-ified string representing
`obj`.\n
Login.c(90): */\n
Login.c(90): function toJson(obj, pretty) {\n
Login.c(90): if (typeof obj === 'undefined') return undefined;\n
Login.c(90): return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' :
null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.fromJson\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Deserializes a JSON string.\n
Login.c(90): *\n
Login.c(90): * @param {string} json JSON string to deserialize.\n
Login.c(90): * @returns {Object|Array|string|number} Deserialized thingy.\n
Login.c(90): */\n
Login.c(90): function fromJson(json) {\n
Login.c(90): return isString(json)\n
Login.c(90): ? JSON.parse(json)\n
Login.c(90): : json;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function toBoolean(value) {\n
Login.c(90): if (typeof value === 'function') {\n
Login.c(90): value = true;\n
Login.c(90): } else if (value && value.length !== 0) {\n
Login.c(90): var v = lowercase("" + value);\n
Login.c(90): value = !(v == 'f' || v == '0' || v == 'false' || v == 'no' ||
v == 'n' || v == '[]');
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): value = false;\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @returns {string} Returns the string representation of the
element.\n
Login.c(90): */\n
Login.c(90): function startingTag(element) {\n
Login.c(90): element = jqLite(element).clone();\n
Login.c(90): try {\n
Login.c(90): // turns out IE does not let you set .html() on elements
which\n
Login.c(90): // are not allowed to have children. So we just ignore it.\n
Login.c(90): element.empty();\n
Login.c(90): } catch(e) {}\n
Login.c(90): // As Per DOM Standards\n
Login.c(90): var TEXT_NODE = 3;\n
Login.c(90): var elemHtml = jqLite('<div>').append(element).html();\n
Login.c(90): try {\n
Login.c(90): return element[0].nodeType === TEXT_NODE ? lowercase(elemHtml)
:\n
Login.c(90): elemHtml.\n
Login.c(90): match(/^(<[^>]+>)/)[1].\n
Login.c(90): replace(/^<([\\w\\-]+)/, function(match, nodeName)
{ return '<' + lowercase(node
Login.c(90): Name); });\n
Login.c(90): } catch(e) {\n
Login.c(90): return lowercase(elemHtml);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /////////////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Tries to decode the URI component without throwing an
exception.\n
Login.c(90): *\n
Login.c(90): * @private\n
Login.c(90): * @param str value potential URI component to check.\n
Login.c(90): * @returns {boolean} True if `value` can be decoded\n
Login.c(90): * with the decodeURIComponent function.\n
Login.c(90): */\n
Login.c(90): function tryDecodeURIComponent(value) {\n
Login.c(90): try {\n
Login.c(90): return decodeURIComponent(value);\n
Login.c(90): } catch(e) {\n
Login.c(90): // Ignore any invalid uri component\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parses an escaped url query string into key-value pairs.\n
Login.c(90): * @returns {Object.<string,boolean|Array>}\n
Login.c(90): */\n
Login.c(90): function parseKeyValue(/**string*/keyValue) {\n
Login.c(90): var obj = {}, key_value, key;\n
Login.c(90): forEach((keyValue || "").split('&'), function(keyValue) {\n
Login.c(90): if ( keyValue ) {\n
Login.c(90): key_value = keyValue.replace(/\\+/g,'%20').split('=');\n
Login.c(90): key = tryDecodeURIComponent(key_value[0]);\n
Login.c(90): if ( isDefined(key) ) {\n
Login.c(90): var val = isDefined(key_value[1]) ?
tryDecodeURIComponent(key_value[1]) : true;\n
Login.c(90): if (!hasOwnProperty.call(obj, key)) {\n
Login.c(90): obj[key] = val;\n
Login.c(90): } else if(isArray(obj[key])) {\n
Login.c(90): obj[key].push(val);\n
Login.c(90): } else {\n
Login.c(90): obj[key] = [obj[key],val];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function toKeyValue(obj) {\n
Login.c(90): var parts = [];\n
Login.c(90): forEach(obj, function(value, key) {\n
Login.c(90): if (isArray(value)) {\n
Login.c(90): forEach(value, function(arrayValue) {\n
Login.c(90): parts.push(encodeUriQuery(key, true) +\n
Login.c(90): (arrayValue === true ? '' : '=' +
encodeUriQuery(arrayValue, true)));\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): parts.push(encodeUriQuery(
Login.c(90): t=2352ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): key, true) +\n
Login.c(90): (value === true ? '' : '=' + encodeUriQuery(value,
true)));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return parts.length ? parts.join('&') : '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * We need our custom method because encodeURIComponent is too
aggressive and doesn't foll
Login.c(90): ow\n
Login.c(90): * http://www.ietf.org/rfc/rfc3986.txt with regards to the
character set (pchar) allowed i
Login.c(90): n path\n
Login.c(90): * segments:\n
Login.c(90): * segment = *pchar\n
Login.c(90): * pchar = unreserved / pct-encoded / sub-delims /
":" / "@"\n
Login.c(90): * pct-encoded = "%" HEXDIG HEXDIG\n
Login.c(90): * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\n
Login.c(90): * sub-delims = "!" / "$" / "&" / "'" / "(" / ")"\n
Login.c(90): * / "*" / "+" / "," / ";" / "="\n
Login.c(90): */\n
Login.c(90): function encodeUriSegment(val) {\n
Login.c(90): return encodeUriQuery(val, true).\n
Login.c(90): replace(/%26/gi, '&').\n
Login.c(90): replace(/%3D/gi, '=').\n
Login.c(90): replace(/%2B/gi, '+');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * This method is intended for encoding *key* or *value* parts of
query component. We need
Login.c(90): a custom\n
Login.c(90): * method because encodeURIComponent is too aggressive and encodes
stuff that doesn't have
Login.c(90): to be\n
Login.c(90): * encoded per http://tools.ietf.org/html/rfc3986:\n
Login.c(90): * query = *( pchar / "/" / "?" )\n
Login.c(90): * pchar = unreserved / pct-encoded / sub-delims /
":" / "@"\n
Login.c(90): * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"\n
Login.c(90): * pct-encoded = "%" HEXDIG HEXDIG\n
Login.c(90): * sub-delims = "!" / "$" / "&" / "'" / "(" / ")"\n
Login.c(90): * / "*" / "+" / "," / ";" / "="\n
Login.c(90): */\n
Login.c(90): function encodeUriQuery(val, pctEncodeSpaces) {\n
Login.c(90): return encodeURIComponent(val).\n
Login.c(90): replace(/%40/gi, '@').\n
Login.c(90): replace(/%3A/gi, ':').\n
Login.c(90): replace(/%24/g, '$').\n
Login.c(90): replace(/%2C/gi, ',').\n
Login.c(90): replace(/%20/g, (pctEncodeSpaces ? '%20' : '+'));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngApp\n
Login.c(90): * @module ng\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {angular.Module} ngApp an optional application\n
Login.c(90): * {@link angular.module module} name to load.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Use this directive to **auto-bootstrap** an AngularJS
application. The `ngApp` directiv
Login.c(90): e\n
Login.c(90): * designates the **root element** of the application and is
typically placed near the roo
Login.c(90): t element\n
Login.c(90): * of the page - e.g. on the `<body>` or `<html>` tags.\n
Login.c(90): *\n
Login.c(90): * Only one AngularJS application can be auto-bootstrapped per
HTML document. The first `n
Login.c(90): gApp`\n
Login.c(90): * found in the document will be used to define the root element
to auto-bootstrap as an\n
Login.c(90): * application. To run multiple applications in an HTML document
you must manually bootstr
Login.c(90): ap them using\n
Login.c(90): * {@link angular.bootstrap} instead. AngularJS applications
cannot be nested within each
Login.c(90): other.\n
Login.c(90): *\n
Login.c(90): * You can specify an **AngularJS module** to be used as the root
module for the applicati
Login.c(90): on. This\n
Login.c(90): * module will be loaded into the {@link auto.$injector} when the
application is bootstrap
Login.c(90): ped and\n
Login.c(90): * should contain the application code needed or have dependencies
on other modules that w
Login.c(90): ill\n
Login.c(90): * contain the code. See {@link angular.module} for more
information.\n
Login.c(90): *\n
Login.c(90): * In the example below if the `ngApp` directive were not placed
on the `html` element the
Login.c(90): n the\n
Login.c(90): * document would not be compiled, the `AppController` would not
be instantiated and the `
Login.c(90): {{ a+b }}`\n
Login.c(90): * would not be resolved to `3`.\n
Login.c(90): *\n
Login.c(90): * `ngApp` is the easiest, and most common, way to bootstrap an
application.\n
Login.c(90): *\n
Login.c(90): <example module="ngAppDemo">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ngAppDemoController">\n
Login.c(90): I can add: {{a}} + {{b}} = {{ a+b }}\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('ngAppDemo',
[]).controller('ngAppDemoController', function($scope) {\n
Login.c(90): $scope.a = 1;\n
Login.c(90): $scope.b = 2;\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function angularInit(element, bootstrap) {\n
Login.c(90): var elements = [element],\n
Login.c(90): appElement,\n
Login.c(90): module,\n
Login.c(90): names = ['ng:app', 'ng-app', 'x-ng-app', 'data-ng-app'],\n
Login.c(90): NG_APP_CLASS_REGEXP = /\\sng[:\\-]app(:\\s*([\\w\\d_]
+);?)?\\s/;\n
Login.c(90): \n
Login.c(90): function append(element) {\n
Login.c(90): element && elements.push(element);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach(names, function(name) {\n
Login.c(90): names[name] = true;\n
Login.c(90): append(document.getElementById(name));\n
Login.c(90): name = name.replace(':', '\\\\:');\n
Login.c(90): if (element.querySelectorAll) {\n
Login.c(90): forEach(element.querySelectorAll('.' + name), append);\n
Login.c(90): forEach(element.querySelectorAll('.' + name + '\\\\:'),
append);\n
Login.c(90): forEach(element.querySelectorAll('[' + name + ']'),
append);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): forEach(elements, function(element) {\n
Login.c(90): if (!appElement) {\n
Login.c(90): var className = ' ' + element.className + ' ';\n
Login.c(90): var match = NG_APP_CLASS_REGEXP.exec(className);\n
Login.c(90): if (match) {\n
Login.c(90): appElement = element;\n
Login.c(90): module = (match[2] || '').replace(/\\s+/g, ',');\n
Login.c(90): } else {\n
Login.c(90): forEach(element.attributes, function(attr) {\n
Login.c(90): if (!appElement && names[attr.name]) {\n
Login.c(90): appElement = element;\n
Login.c(90): module = attr.value;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (appElement) {\n
Login.c(90): bootstrap(appElement, module ? [module] : []);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.bootstrap\n
Login.c(90): * @module ng\n
Login.c(90): * @description\n
Login.c(90): * Use this function to manually start up angular application.\n
Login.c(90): *\n
Login.c(90): * See: {@link guide/bootstrap Bootstrap}\n
Login.c(90): *\n
Login.c(90): * Note that ngScenario-based end-to-end tests cannot use this
function to bootstrap manua
Login.c(90): lly.\n
Login.c(90): * They must use {@link ng.directive:ngApp ngApp}.\n
Login.c(90): *\n
Login.c(90): * Angular will detect if it has been loaded into the browser more
than once and only allo
Login.c(90): w the\n
Login.c(90): * first loaded script to be bootstrapped and will report a
warning to the browser console
Login.c(90): for\n
Login.c(90): * each of the subsequent scripts. This prevents strange results
in applications, where ot
Login.c(90): herwise\n
Login.c(90): * multiple instances of Angular try to work on the DOM.\n
Login.c(90): *\n
Login.c(90): * <example name="multi-bootstrap" module="multi-bootstrap">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <script src="../../../angular.js"></script>\n
Login.c(90): * <div ng-controller="BrokenTable">\n
Login.c(90): * <table>\n
Login.c(90): * <tr>\n
Login.c(90): * <th ng-repeat="heading in headings">{{heading}}</th>\n
Login.c(90): * </tr>\n
Login.c(90): * <tr ng-repeat="filling in fillings">\n
Login.c(90): * <td ng-repeat="fill in filling">{{fill}}</td>\n
Login.c(90): * </tr>\n
Login.c(90): * </table>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="controller.js">\n
Login.c(90): * var app = angular.module('multi-bootstrap', [])\n
Login.c(90): *\n
Login.c(90): * .controller('BrokenTable', function($scope) {\n
Login.c(90): * $scope.headings = ['One', 'Two', 'Three'];\n
Login.c(90): * $scope.fillings = [[1, 2, 3], ['A', 'B', 'C'], [7, 8,
9]];\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * it('should only insert one table cell for each item in
$scope.fillings', function() {\n
Login.c(90): * expect(element.all(by.css('td')).count())\n
Login.c(90): * .toBe(9);\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): * @param {DOMElement} element DOM element which is the root of
angular application.\n
Login.c(90): * @param {Array<String|Function|Array>=} modules an array of
modules to load into the app
Login.c(90): lication.\n
Login.c(90): * Each item in the array should be the name of a predefined
module or a (DI annotated
Login.c(90): )\n
Login.c(90): * function that will be invoked by the injector as a run
block.\n
Login.c(90): * See: {@link angular.module modules}\n
Login.c(90): * @returns {auto.$injector} Returns the newly created injector
for this app.\n
Login.c(90): */\n
Login.c(90): function bootstrap(element, modules) {\n
Login.c(90): var doBootstrap = function() {\n
Login.c(90): element = jqLite(element);\n
Login.c(90): \n
Login.c(90): if (element.injector()) {\n
Login.c(90): var tag = (element[0] === document) ? 'document' :
startingTag(element);\n
Login.c(90): //Encode angle brackets to prevent input from being
sanitized to empty string #8683\n
Login.c(90): throw ngMinErr(\n
Login.c(90): 'btstrpd',\n
Login.c(90): "App Already Bootstrapped with this Element '{0}'",\n
Login.c(90): tag.replace(/</,'&lt;').replace(/>/,'&gt;'));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): modules = modules || [];\n
Login.c(90): modules.unshift(['$provide', function($provide) {\n
Login.c(90): $provide.value('$rootElement', element);\n
Login.c(90): }]);\n
Login.c(90): modules.unshift('ng');\n
Login.c(90): var injector = createInjector(modules);\n
Login.c(90): injector.invoke(['$rootScope', '$rootElement', '$compile',
'$injector', '$animate',\n
Login.c(90): function(scope, element, compile, injector, animate) {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): element.data('$injector', injector);\n
Login.c(90): compile(element)(scope);\n
Login.c(90): });\n
Login.c(90): }]\n
Login.c(90): );\n
Login.c(90): return injector;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var NG_DEFER_BOOTSTRAP = /^NG_DEFER_BOOTSTRAP!/;\n
Login.c(90): \n
Login.c(90): if (window && !NG_DEFER_BOOTSTRAP.test(window.name)) {\n
Login.c(90): return doBootstrap();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): window.name = window.name.replace(NG_DEFER_BOOTSTRAP, '');\n
Login.c(90): angular.resumeBootstrap = function(extraModules) {\n
Login.c(90): forEach(extraModules, function(module) {\n
Login.c(90): modules.push(module);\n
Login.c(90): });\n
Login.c(90): doBootstrap();\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var SNAKE_CASE_REGEXP = /[A-Z]/g;\n
Login.c(90): function snake_case(name, separator) {\n
Login.c(90): separator = separator || '_';\n
Login.c(90): return name.replace(SNAKE_CASE_REGEXP, function(letter, pos) {\n
Login.c(90): return (pos ? separator : '') + letter.toLowerCase();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function bindJQuery() {\n
Login.c(90): // bind to jQuery if present;\n
Login.c(90): jQuery = window.jQuery;\n
Login.c(90): // Use jQuery if it exists with proper functionality, otherwise
default to us.\n
Login.c(90): // Angular 1.2+ requires jQuery 1.7.1+ for on()/off() support.\n
Login.c(90): if (jQuery && jQuery.fn.on) {\n
Login.c(90): jqLite = jQuery;\n
Login.c(90): extend(jQuery.fn, {\n
Login.c(90): scope: JQLitePrototype.scope,\n
Login.c(90): isolateScope: JQLitePrototype.isolateScope,\n
Login.c(90): controller: JQLitePrototype.controller,\n
Login.c(90): injector: JQLitePrototype.injector,\n
Login.c(90): inheritedData: JQLitePrototype.inheritedData\n
Login.c(90): });\n
Login.c(90): // Method signature:\n
Login.c(90): // jqLitePatchJQueryRemove(name, dispatchThis,
filterElems, getterIfNoArguments)\n
Login.c(90): jqLitePatchJQueryRemove('remove', true, true, false);\n
Login.c(90): jqLitePatchJQueryRemove('empty', false, false, false);\n
Login.c(90): jqLitePatchJQueryRemove('html', false, false, true);\n
Login.c(90): } else {\n
Login.c(90): jqLite = JQLite;\n
Login.c(90): }\n
Login.c(90): angular.element = jqLite;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * throw error if the argument is falsy.\n
Login.c(90): */\n
Login.c(90): function assertArg(arg, name, reason) {\n
Login.c(90): if (!arg) {\n
Login.c(90): throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'),
(reason || "required"))
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function assertArgFn(arg, name, acceptArrayAnnotation) {\n
Login.c(90): if (acceptArrayAnnotation && isArray(arg)) {\n
Login.c(90): arg = arg[arg.length - 1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): assertArg(isFunction(arg), name, 'not a function, got ' +\n
Login.c(90): (arg && typeof arg === 'object' ? arg.constructor.name ||
'Object' : typeof arg));\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * throw error if the name given is hasOwnProperty\n
Login.c(90): * @param {String} name the name to test\n
Login.c(90): * @param {String} context the context in which the name is used,
such as module or direc
Login.c(90): tive\n
Login.c(90): */\n
Login.c(90): function assertNotHasOwnProperty(name, context) {\n
Login.c(90): if (name === 'hasOwnProperty') {\n
Login.c(90): throw ngMinErr('badname', "hasOwnProperty is not a valid {0}
name", context);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Return the value accessible from the object by path. Any
undefined traversals are ignor
Login.c(90): ed\n
Login.c(90): * @param {Object} obj starting object\n
Login.c(90): * @param {String} path path to traverse\n
Login.c(90): * @param {boolean} [bindFnToScope=true]\n
Login.c(90): * @returns {Object} value as accessible by path\n
Login.c(90): */\n
Login.c(90): //TODO(misko): this function needs to be removed\n
Login.c(90): function getter(obj, path, bindFnToScope) {\n
Login.c(90): if (!path) return obj;\n
Login.c(90): var keys = path.split('.');\n
Login.c(90): var key;\n
Login.c(90): var lastInstance = obj;\n
Login.c(90): var len = keys.length;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < len; i++) {\n
Login.c(90): key = keys[i];\n
Login.c(90): if (obj) {\n
Login.c(90): obj = (lastInstance = obj)[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (!bindFnToScope && isFunction(obj)) {\n
Login.c(90): return bind(lastInstance, obj);\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Return the DOM siblings between the first and last node in the
given array.\n
Login.c(90): * @param {Array} array like object\n
Login.c(90): * @returns {DOMElement} object containing the elements\n
Login.c(90): */\n
Login.c(90): function getBlockElements(nodes) {\n
Login.c(90): var startNode = nodes[0],\n
Login.c(90): endNode = nodes[nodes.length - 1];\n
Login.c(90): if (startNode === endNode) {\n
Login.c(90): return jqLite(startNode);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var element = startNode;\n
Login.c(90): var elements = [element];\n
Login.c(90): \n
Login.c(90): do {\n
Login.c(90): element = element.nextSibling;\n
Login.c(90): if (!element) break;\n
Login.c(90): elements.push(element);\n
Login.c(90): } while (element !== endNode);\n
Login.c(90): \n
Login.c(90): return jqLite(elements);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name angular.Module\n
Login.c(90): * @module ng\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Interface for configuring angular {@link angular.module
modules}.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function setupModuleLoader(window) {\n
Login.c(90): \n
Login.c(90): var $injectorMinErr = minErr('$injector');\n
Login.c(90): var ngMinErr = minErr('ng');\n
Login.c(90): \n
Login.c(90): function ensure(obj, name, factory) {\n
Login.c(90): return obj[name] || (obj[name] = factory());\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var angular = ensure(window, 'angular', Object);\n
Login.c(90): \n
Login.c(90): // We need to expose `angular.$$minErr` to modules such as
`ngResource` that reference i
Login.c(90): t during bootstrap\n
Login.c(90): angular.$$minErr = angular.$$minErr || minErr;\n
Login.c(90): \n
Login.c(90): return ensure(angular, 'module', function() {\n
Login.c(90): /** @type {Object.<string, angular.Module>} */\n
Login.c(90): var modules = {};\n
Login.c(90): \n
Login.c(90): t=2368ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.module\n
Login.c(90): * @module ng\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * The `angular.module` is a global place for creating,
registering and retrieving Ang
Login.c(90): ular\n
Login.c(90): * modules.\n
Login.c(90): * All modules (angular core or 3rd party) that should be
available to an application
Login.c(90): must be\n
Login.c(90): * registered using this mechanism.\n
Login.c(90): *\n
Login.c(90): * When passed two or more arguments, a new module is created.
If passed only one arg
Login.c(90): ument, an\n
Login.c(90): * existing module (the name passed as the first argument to
`module`) is retrieved.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Module\n
Login.c(90): *\n
Login.c(90): * A module is a collection of services, directives,
controllers, filters, and configu
Login.c(90): ration information.\n
Login.c(90): * `angular.module` is used to configure the {@link auto.
$injector $injector}.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Create a new module\n
Login.c(90): * var myModule = angular.module('myModule', []);\n
Login.c(90): *\n
Login.c(90): * // register a new service\n
Login.c(90): * myModule.value('appName', 'MyCoolApp');\n
Login.c(90): *\n
Login.c(90): * // configure existing services inside initialization
blocks.\n
Login.c(90): * myModule.config(['$locationProvider',
function($locationProvider) {\n
Login.c(90): * // Configure existing providers\n
Login.c(90): * $locationProvider.hashPrefix('!');\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Then you can create an injector and load your modules like
this:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var injector = angular.injector(['ng', 'myModule'])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * However it's more likely that you'll just use\n
Login.c(90): * {@link ng.directive:ngApp ngApp} or\n
Login.c(90): * {@link angular.bootstrap} to simplify this process for
you.\n
Login.c(90): *\n
Login.c(90): * @param {!string} name The name of the module to create or
retrieve.\n
Login.c(90): * @param {!Array.<string>=} requires If specified then new
module is being created. I
Login.c(90): f\n
Login.c(90): * unspecified then the module is being retrieved for
further configuration.\n
Login.c(90): * @param {Function=} configFn Optional configuration function
for the module. Same as
Login.c(90): \n
Login.c(90): * {@link angular.Module#config Module#config()}.\n
Login.c(90): * @returns {module} new module with the {@link
angular.Module} api.\n
Login.c(90): */\n
Login.c(90): return function module(name, requires, configFn) {\n
Login.c(90): var assertNotHasOwnProperty = function(name, context) {\n
Login.c(90): if (name === 'hasOwnProperty') {\n
Login.c(90): throw ngMinErr('badname', 'hasOwnProperty is not a valid
{0} name', context);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): assertNotHasOwnProperty(name, 'module');\n
Login.c(90): if (requires && modules.hasOwnProperty(name)) {\n
Login.c(90): modules[name] = null;\n
Login.c(90): }\n
Login.c(90): return ensure(modules, name, function() {\n
Login.c(90): if (!requires) {\n
Login.c(90): throw $injectorMinErr('nomod', "Module '{0}' is not
available! You either misspe
Login.c(90): lled " +\n
Login.c(90): "the module name or forgot to load it. If registering
a module ensure that yo
Login.c(90): u " +\n
Login.c(90): "specify the dependencies as the second argument.",
name);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /** @type {!Array.<Array.<*>>} */\n
Login.c(90): var invokeQueue = [];\n
Login.c(90): \n
Login.c(90): /** @type {!Array.<Function>} */\n
Login.c(90): var runBlocks = [];\n
Login.c(90): \n
Login.c(90): var config = invokeLater('$injector', 'invoke');\n
Login.c(90): \n
Login.c(90): /** @type {angular.Module} */\n
Login.c(90): var moduleInstance = {\n
Login.c(90): // Private state\n
Login.c(90): _invokeQueue: invokeQueue,\n
Login.c(90): _runBlocks: runBlocks,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name angular.Module#requires\n
Login.c(90): * @module ng\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Holds the list of modules which the injector will
load before the current mod
Login.c(90): ule is\n
Login.c(90): * loaded.\n
Login.c(90): */\n
Login.c(90): requires: requires,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name angular.Module#name\n
Login.c(90): * @module ng\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Name of the module.\n
Login.c(90): */\n
Login.c(90): name: name,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#provider\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name service name\n
Login.c(90): * @param {Function} providerType Construction function
for creating new instanc
Login.c(90): e of the\n
Login.c(90): * service.\n
Login.c(90): * @description\n
Login.c(90): * See {@link auto.$provide#provider
$provide.provider()}.\n
Login.c(90): */\n
Login.c(90): provider: invokeLater('$provide', 'provider'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#factory\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name service name\n
Login.c(90): * @param {Function} providerFunction Function for
creating new instance of the
Login.c(90): service.\n
Login.c(90): * @description\n
Login.c(90): * See {@link auto.$provide#factory
$provide.factory()}.\n
Login.c(90): */\n
Login.c(90): factory: invokeLater('$provide', 'factory'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#service\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name service name\n
Login.c(90): * @param {Function} constructor A constructor function
that will be instantiate
Login.c(90): d.\n
Login.c(90): * @description\n
Login.c(90): * See {@link auto.$provide#service
$provide.service()}.\n
Login.c(90): */\n
Login.c(90): service: invokeLater('$provide', 'service'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#value\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name service name\n
Login.c(90): * @param {*} object Service instance object.\n
Login.c(90): * @description\n
Login.c(90): * See {@link auto.$provide#value $provide.value()}.\n
Login.c(90): */\n
Login.c(90): value: invokeLater('$provide', 'value'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#constant\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name constant name\n
Login.c(90): * @param {*} object Constant value.\n
Login.c(90): * @description\n
Login.c(90): * Because the constant are fixed, they get applied
before other provide methods
Login.c(90): .\n
Login.c(90): * See {@link auto.$provide#constant
$provide.constant()}.\n
Login.c(90): */\n
Login.c(90): constant: invokeLater('$provide', 'constant',
'unshift'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#animation\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name animation name\n
Login.c(90): * @param {Function} animationFactory Factory function
for creating new instance
Login.c(90): of an\n
Login.c(90): * animation.\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * **NOTE**: animations take effect only if the
**ngAnimate** module is loaded.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Defines an animation hook that can be later used
with\n
Login.c(90): * {@link ngAnimate.$animate $animate} service and
directives that use this serv
Login.c(90): ice.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * module.animation('.animation-name',
function($inject1, $inject2) {\n
Login.c(90): * return {\n
Login.c(90): * eventName : function(element, done) {\n
Login.c(90): * //code to run the animation\n
Login.c(90): * //once complete, then run done()\n
Login.c(90): * return function cancellationFunction(element)
{\n
Login.c(90): * //code to cancel the animation\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * })\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * See {@link ngAnimate.$animateProvider#register
$animateProvider.register()} a
Login.c(90): nd\n
Login.c(90): * {@link ngAnimate ngAnimate module} for more
information.\n
Login.c(90): */\n
Login.c(90): animation: invokeLater('$animateProvider',
'register'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#filter\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string} name Filter name.\n
Login.c(90): * @param {Function} filterFactory Factory function for
creating new instance of
Login.c(90): filter.\n
Login.c(90): * @description\n
Login.c(90): * See {@link ng.$filterProvider#register
$filterProvider.register()}.\n
Login.c(90): */\n
Login.c(90): filter: invokeLater('$filterProvider', 'register'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#controller\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string|Object} name Controller name, or an
object map of controllers
Login.c(90): where the\n
Login.c(90): * keys are the names and the values are the
constructors.\n
Login.c(90): * @param {Function} constructor Controller constructor
function.\n
Login.c(90): * @description\n
Login.c(90): * See {@link ng.$controllerProvider#register
$controllerProvider.register()}.\n
Login.c(90): */\n
Login.c(90): controller: invokeLater('$controllerProvider',
'register'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#directive\n
Login.c(90): * @module ng\n
Login.c(90): * @param {string|Object} name Directive name, or an
object map of directives wh
Login.c(90): ere the\n
Login.c(90): * keys are the names and the values are the
factories.\n
Login.c(90): * @param {Function} directiveFactory Factory function
for creating new instance
Login.c(90): of\n
Login.c(90): * directives.\n
Login.c(90): * @description\n
Login.c(90): * See {@link ng.$compileProvider#directive
$compileProvider.directive()}.\n
Login.c(90): */\n
Login.c(90): directive: invokeLater('$compileProvider',
'directive'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#config\n
Login.c(90): * @module ng\n
Login.c(90): * @param {Function} configFn Execute this function on
module load. Useful for s
Login.c(90): ervice\n
Login.c(90): * configuration.\n
Login.c(90): * @description\n
Login.c(90): * Use this method to register work which needs to be
performed on module loadin
Login.c(90): g.\n
Login.c(90): * For more about how to configure services, see\n
Login.c(90): * {@link providers#providers_provider-recipe Provider
Recipe}.\n
Login.c(90): */\n
Login.c(90): config: config,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name angular.Module#run\n
Login.c(90): * @module ng\n
Login.c(90): * @param {Function} initializationFn Execute this
function after injector creat
Login.c(90): ion.\n
Login.c(90): * Useful for application initialization.\n
Login.c(90): * @description\n
Login.c(90): * Use this method to register work which should be
performed when the injector
Login.c(90): is done\n
Login.c(90): * loading all modules.\n
Login.c(90): */\n
Login.c(90): run: function(block) {\n
Login.c(90): runBlocks.push(block);\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (configFn) {\n
Login.c(90): config(configFn);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return moduleInstance;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @param {string} provider\n
Login.c(90): * @param {string} method\n
Login.c(90): * @param {String=} insertMethod\n
Login.c(90): * @returns {angular.Module}\n
Login.c(90): */\n
Login.c(90): function invokeLater(provider, method, insertMethod) {\n
Login.c(90): return function() {\n
Login.c(90): invokeQueue[insertMethod || 'push']([provider, method,
arguments]);\n
Login.c(90): return moduleInstance;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* global angularModule: true,\n
Login.c(90): version: true,\n
Login.c(90): \n
Login.c(90): $LocaleProvider,\n
Login.c(90): $CompileProvider,\n
Login.c(90): \n
Login.c(90): htmlAnchorDirective,\n
Login.c(90): inputDirective,\n
Login.c(90): inputDirective,\n
Login.c(90): formDirective,\n
Login.c(90): scriptDirective,\n
Login.c(90): selectDirective,\n
Login.c(90): styleDirective,\n
Login.c(90): optionDirective,\n
Login.c(90): ngBindDirective,\n
Login.c(90): ngBindHtmlDirective,\n
Login.c(90): ngBindTemplateDirective,\n
Login.c(90): ngClassDirective,\n
Login.c(90): ngClassEvenDirective,\n
Login.c(90): ngClassOddDirective,\n
Login.c(90): ngCspDirective,\n
Login.c(90): ngCloakDirective,\n
Login.c(90): ngControllerDirective,\n
Login.c(90): ngFormDirective,\n
Login.c(90): ngHideDirective,\n
Login.c(90): ngIfDirective,\n
Login.c(90): ngIncludeDirective,\n
Login.c(90): ngIncludeFillContentDirective,\n
Login.c(90): ngInitDirective,\n
Login.c(90): ngNonBindableDirective,\n
Login.c(90): ngPluralizeDirective,\n
Login.c(90): ngRepeatDirective,\n
Login.c(90): ngShowDirective,\n
Login.c(90): ngStyleDirective,\n
Login.c(90): ngSwitchDirective,\n
Login.c(90): ngSwitchWhenDirective,\n
Login.c(90): ngSwitchDefaultDirective,\n
Login.c(90): ngOptionsDirective,\n
Login.c(90): ngTranscludeDirective,\n
Login.c(90): ngModelDirective,\n
Login.c(90): ngListDirective,\n
Login.c(90): ngChangeDirective,\n
Login.c(90): requiredDirective,\n
Login.c(90): requiredDirective,\n
Login.c(90): ngValueDirective,\n
Login.c(90): ngAttributeAliasDirectives,\n
Login.c(90): ngEventDirectives,\n
Login.c(90): \n
Login.c(90): $AnchorScrollProvider,\n
Login.c(90): $AnimateProvider,\n
Login.c(90): $BrowserProvider,\n
Login.c(90): $CacheFactoryProvider,\n
Login.c(90): $ControllerProvider,\n
Login.c(90): $DocumentProvider,\n
Login.c(90): $ExceptionHandlerProvider,\n
Login.c(90): $FilterProvider,\n
Login.c(90): $InterpolateProvider,\n
Login.c(90): $IntervalProvider,\n
Login.c(90): $HttpProvider,\n
Login.c(90): $HttpBackendProvider,\n
Login.c(90): $LocationProvider,\n
Login.c(90): $LogProvider,\n
Login.c(90): $ParseProvider,\n
Login.c(90): $RootScopeProvider,\n
Login.c(90): $QProvider,\n
Login.c(90): $$SanitizeUriProvider,\n
Login.c(90): $SceProvider,\n
Login.c(90): $SceDelegateProvider,\n
Login.c(90): $SnifferProvider,\n
Login.c(90): $TemplateCacheProvider,\n
Login.c(90): $TimeoutProvider,\n
Login.c(90): $$RAFProvider,\n
Login.c(90): $$AsyncCallbackProvider,\n
Login.c(90): $WindowProvider\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name angular.version\n
Login.c(90): * @module ng\n
Login.c(90): * @description\n
Login.c(90): * An object that contains information about the current AngularJS
version. This object ha
Login.c(90): s the\n
Login.c(90): * following properties:\n
Login.c(90): *\n
Login.c(90): * - `ful
Login.c(90): t=2386ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): l` \xE2\x80\x93 `{string}` \xE2\x80\x93 Full version string, such
as "0.9.18".\n
Login.c(90): * - `major` \xE2\x80\x93 `{number}` \xE2\x80\x93 Major version
number, such as "0".\n
Login.c(90): * - `minor` \xE2\x80\x93 `{number}` \xE2\x80\x93 Minor version
number, such as "9".\n
Login.c(90): * - `dot` \xE2\x80\x93 `{number}` \xE2\x80\x93 Dot version
number, such as "18".\n
Login.c(90): * - `codeName` \xE2\x80\x93 `{string}` \xE2\x80\x93 Code name of
the release, such as "ji
Login.c(90): ggling-armfat".\n
Login.c(90): */\n
Login.c(90): var version = {\n
Login.c(90): full: '1.2.25', // all of these placeholder strings will be
replaced by grunt's\n
Login.c(90): major: 1, // package task\n
Login.c(90): minor: 2,\n
Login.c(90): dot: 25,\n
Login.c(90): codeName: 'hypnotic-gesticulation'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function publishExternalAPI(angular){\n
Login.c(90): extend(angular, {\n
Login.c(90): 'bootstrap': bootstrap,\n
Login.c(90): 'copy': copy,\n
Login.c(90): 'extend': extend,\n
Login.c(90): 'equals': equals,\n
Login.c(90): 'element': jqLite,\n
Login.c(90): 'forEach': forEach,\n
Login.c(90): 'injector': createInjector,\n
Login.c(90): 'noop': noop,\n
Login.c(90): 'bind': bind,\n
Login.c(90): 'toJson': toJson,\n
Login.c(90): 'fromJson': fromJson,\n
Login.c(90): 'identity': identity,\n
Login.c(90): 'isUndefined': isUndefined,\n
Login.c(90): 'isDefined': isDefined,\n
Login.c(90): 'isString': isString,\n
Login.c(90): 'isFunction': isFunction,\n
Login.c(90): 'isObject': isObject,\n
Login.c(90): 'isNumber': isNumber,\n
Login.c(90): 'isElement': isElement,\n
Login.c(90): 'isArray': isArray,\n
Login.c(90): 'version': version,\n
Login.c(90): 'isDate': isDate,\n
Login.c(90): 'lowercase': lowercase,\n
Login.c(90): 'uppercase': uppercase,\n
Login.c(90): 'callbacks': {counter: 0},\n
Login.c(90): '$$minErr': minErr,\n
Login.c(90): '$$csp': csp\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): angularModule = setupModuleLoader(window);\n
Login.c(90): try {\n
Login.c(90): angularModule('ngLocale');\n
Login.c(90): } catch (e) {\n
Login.c(90): angularModule('ngLocale', []).provider('$locale',
$LocaleProvider);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angularModule('ng', ['ngLocale'], ['$provide',\n
Login.c(90): function ngModule($provide) {\n
Login.c(90): // $$sanitizeUriProvider needs to be before $compileProvider
as it is used by it.\n
Login.c(90): $provide.provider({\n
Login.c(90): $$sanitizeUri: $$SanitizeUriProvider\n
Login.c(90): });\n
Login.c(90): $provide.provider('$compile', $CompileProvider).\n
Login.c(90): directive({\n
Login.c(90): a: htmlAnchorDirective,\n
Login.c(90): input: inputDirective,\n
Login.c(90): textarea: inputDirective,\n
Login.c(90): form: formDirective,\n
Login.c(90): script: scriptDirective,\n
Login.c(90): select: selectDirective,\n
Login.c(90): style: styleDirective,\n
Login.c(90): option: optionDirective,\n
Login.c(90): ngBind: ngBindDirective,\n
Login.c(90): ngBindHtml: ngBindHtmlDirective,\n
Login.c(90): ngBindTemplate: ngBindTemplateDirective,\n
Login.c(90): ngClass: ngClassDirective,\n
Login.c(90): ngClassEven: ngClassEvenDirective,\n
Login.c(90): ngClassOdd: ngClassOddDirective,\n
Login.c(90): ngCloak: ngCloakDirective,\n
Login.c(90): ngController: ngControllerDirective,\n
Login.c(90): ngForm: ngFormDirective,\n
Login.c(90): ngHide: ngHideDirective,\n
Login.c(90): ngIf: ngIfDirective,\n
Login.c(90): ngInclude: ngIncludeDirective,\n
Login.c(90): ngInit: ngInitDirective,\n
Login.c(90): ngNonBindable: ngNonBindableDirective,\n
Login.c(90): ngPluralize: ngPluralizeDirective,\n
Login.c(90): ngRepeat: ngRepeatDirective,\n
Login.c(90): ngShow: ngShowDirective,\n
Login.c(90): ngStyle: ngStyleDirective,\n
Login.c(90): ngSwitch: ngSwitchDirective,\n
Login.c(90): ngSwitchWhen: ngSwitchWhenDirective,\n
Login.c(90): ngSwitchDefault: ngSwitchDefaultDirective,\n
Login.c(90): ngOptions: ngOptionsDirective,\n
Login.c(90): ngTransclude: ngTranscludeDirective,\n
Login.c(90): ngModel: ngModelDirective,\n
Login.c(90): ngList: ngListDirective,\n
Login.c(90): ngChange: ngChangeDirective,\n
Login.c(90): required: requiredDirective,\n
Login.c(90): ngRequired: requiredDirective,\n
Login.c(90): ngValue: ngValueDirective\n
Login.c(90): }).\n
Login.c(90): directive({\n
Login.c(90): ngInclude: ngIncludeFillContentDirective\n
Login.c(90): }).\n
Login.c(90): directive(ngAttributeAliasDirectives).\n
Login.c(90): directive(ngEventDirectives);\n
Login.c(90): $provide.provider({\n
Login.c(90): $anchorScroll: $AnchorScrollProvider,\n
Login.c(90): $animate: $AnimateProvider,\n
Login.c(90): $browser: $BrowserProvider,\n
Login.c(90): $cacheFactory: $CacheFactoryProvider,\n
Login.c(90): $controller: $ControllerProvider,\n
Login.c(90): $document: $DocumentProvider,\n
Login.c(90): $exceptionHandler: $ExceptionHandlerProvider,\n
Login.c(90): $filter: $FilterProvider,\n
Login.c(90): $interpolate: $InterpolateProvider,\n
Login.c(90): $interval: $IntervalProvider,\n
Login.c(90): $http: $HttpProvider,\n
Login.c(90): $httpBackend: $HttpBackendProvider,\n
Login.c(90): $location: $LocationProvider,\n
Login.c(90): $log: $LogProvider,\n
Login.c(90): $parse: $ParseProvider,\n
Login.c(90): $rootScope: $RootScopeProvider,\n
Login.c(90): $q: $QProvider,\n
Login.c(90): $sce: $SceProvider,\n
Login.c(90): $sceDelegate: $SceDelegateProvider,\n
Login.c(90): $sniffer: $SnifferProvider,\n
Login.c(90): $templateCache: $TemplateCacheProvider,\n
Login.c(90): $timeout: $TimeoutProvider,\n
Login.c(90): $window: $WindowProvider,\n
Login.c(90): $$rAF: $$RAFProvider,\n
Login.c(90): $$asyncCallback : $$AsyncCallbackProvider\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* global JQLitePrototype: true,\n
Login.c(90): addEventListenerFn: true,\n
Login.c(90): removeEventListenerFn: true,\n
Login.c(90): BOOLEAN_ATTR: true\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): //////////////////////////////////\n
Login.c(90): //JQLite\n
Login.c(90): //////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name angular.element\n
Login.c(90): * @module ng\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Wraps a raw DOM element or HTML string as a [jQuery]
(http://jquery.com) element.\n
Login.c(90): *\n
Login.c(90): * If jQuery is available, `angular.element` is an alias for the\n
Login.c(90): * [jQuery](http://api.jquery.com/jQuery/) function. If jQuery is
not available, `angular.
Login.c(90): element`\n
Login.c(90): * delegates to Angular's built-in subset of jQuery, called
"jQuery lite" or "jqLite."\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-success">jqLite is a tiny, API-
compatible subset of jQuery that
Login.c(90): allows\n
Login.c(90): * Angular to manipulate the DOM in a cross-browser compatible
way. **jqLite** implements
Login.c(90): only the most\n
Login.c(90): * commonly needed functionality with the goal of having a very
small footprint.</div>\n
Login.c(90): *\n
Login.c(90): * To use jQuery, simply load it before `DOMContentLoaded` event
fired.\n
Login.c(90): *\n
Login.c(90): * <div class="alert">**Note:** all element references in Angular
are always wrapped with
Login.c(90): jQuery or\n
Login.c(90): * jqLite; they are never raw DOM references.</div>\n
Login.c(90): *\n
Login.c(90): * ## Angular's jqLite\n
Login.c(90): * jqLite provides only the following jQuery methods:\n
Login.c(90): *\n
Login.c(90): * - [`addClass()`](http://api.jquery.com/addClass/)\n
Login.c(90): * - [`after()`](http://api.jquery.com/after/)\n
Login.c(90): * - [`append()`](http://api.jquery.com/append/)\n
Login.c(90): * - [`attr()`](http://api.jquery.com/attr/)\n
Login.c(90): * - [`bind()`](http://api.jquery.com/bind/) - Does not support
namespaces, selectors or e
Login.c(90): ventData\n
Login.c(90): * - [`children()`](http://api.jquery.com/children/) - Does not
support selectors\n
Login.c(90): * - [`clone()`](http://api.jquery.com/clone/)\n
Login.c(90): * - [`contents()`](http://api.jquery.com/contents/)\n
Login.c(90): * - [`css()`](http://api.jquery.com/css/)\n
Login.c(90): * - [`data()`](http://api.jquery.com/data/)\n
Login.c(90): * - [`empty()`](http://api.jquery.com/empty/)\n
Login.c(90): * - [`eq()`](http://api.jquery.com/eq/)\n
Login.c(90): * - [`find()`](http://api.jquery.com/find/) - Limited to lookups
by tag name\n
Login.c(90): * - [`hasClass()`](http://api.jquery.com/hasClass/)\n
Login.c(90): * - [`html()`](http://api.jquery.com/html/)\n
Login.c(90): * - [`next()`](http://api.jquery.com/next/) - Does not support
selectors\n
Login.c(90): * - [`on()`](http://api.jquery.com/on/) - Does not support
namespaces, selectors or event
Login.c(90): Data\n
Login.c(90): * - [`off()`](http://api.jquery.com/off/) - Does not support
namespaces or selectors\n
Login.c(90): * - [`one()`](http://api.jquery.com/one/) - Does not support
namespaces or selectors\n
Login.c(90): * - [`parent()`](http://api.jquery.com/parent/) - Does not
support selectors\n
Login.c(90): * - [`prepend()`](http://api.jquery.com/prepend/)\n
Login.c(90): * - [`prop()`](http://api.jquery.com/prop/)\n
Login.c(90): * - [`ready()`](http://api.jquery.com/ready/)\n
Login.c(90): * - [`remove()`](http://api.jquery.com/remove/)\n
Login.c(90): * - [`removeAttr()`](http://api.jquery.com/removeAttr/)\n
Login.c(90): * - [`removeClass()`](http://api.jquery.com/removeClass/)\n
Login.c(90): * - [`removeData()`](http://api.jquery.com/removeData/)\n
Login.c(90): * - [`replaceWith()`](http://api.jquery.com/replaceWith/)\n
Login.c(90): * - [`text()`](http://api.jquery.com/text/)\n
Login.c(90): * - [`toggleClass()`](http://api.jquery.com/toggleClass/)\n
Login.c(90): * - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) -
Passes a dummy event ob
Login.c(90): ject to handlers.\n
Login.c(90): * - [`unbind()`](http://api.jquery.com/unbind/) - Does not
support namespaces\n
Login.c(90): * - [`val()`](http://api.jquery.com/val/)\n
Login.c(90): * - [`wrap()`](http://api.jquery.com/wrap/)\n
Login.c(90): *\n
Login.c(90): * ## jQuery/jqLite Extras\n
Login.c(90): * Angular also provides the following additional methods and
events to both jQuery and jq
Login.c(90): Lite:\n
Login.c(90): *\n
Login.c(90): * ### Events\n
Login.c(90): * - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM
destruction apis and fires
Login.c(90): this event\n
Login.c(90): * on all DOM nodes being removed. This can be used to clean
up any 3rd party bindings
Login.c(90): to the DOM\n
Login.c(90): * element before it is removed.\n
Login.c(90): *\n
Login.c(90): * ### Methods\n
Login.c(90): * - `controller(name)` - retrieves the controller of the current
element or its parent. B
Login.c(90): y default\n
Login.c(90): * retrieves controller associated with the `ngController`
directive. If `name` is provi
Login.c(90): ded as\n
Login.c(90): * camelCase directive name, then the controller for this
directive will be retrieved (e
Login.c(90): .g.\n
Login.c(90): * `'ngModel'`).\n
Login.c(90): * - `injector()` - retrieves the injector of the current element
or its parent.\n
Login.c(90): * - `scope()` - retrieves the {@link ng.$rootScope.Scope scope}
of the current\n
Login.c(90): * element or its parent.\n
Login.c(90): * - `isolateScope()` - retrieves an isolate {@link ng.
$rootScope.Scope scope} if one is a
Login.c(90): ttached directly to the\n
Login.c(90): * current element. This getter should be used only on elements
that contain a directive
Login.c(90): which starts a new isolate\n
Login.c(90): * scope. Calling `scope()` on this element always returns the
original non-isolate scop
Login.c(90): e.\n
Login.c(90): * - `inheritedData()` - same as `data()`, but walks up the DOM
until a value is found or
Login.c(90): the top\n
Login.c(90): * parent element is reached.\n
Login.c(90): *\n
Login.c(90): * @param {string|DOMElement} element HTML string or DOMElement to
be wrapped into jQuery.
Login.c(90): \n
Login.c(90): * @returns {Object} jQuery object.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): JQLite.expando = 'ng339';\n
Login.c(90): \n
Login.c(90): var jqCache = JQLite.cache = {},\n
Login.c(90): jqId = 1,\n
Login.c(90): addEventListenerFn = (window.document.addEventListener\n
Login.c(90): ? function(element, type, fn)
{element.addEventListener(type, fn, false);}\n
Login.c(90): : function(element, type, fn) {element.attachEvent('on' +
type, fn);}),\n
Login.c(90): removeEventListenerFn = (window.document.removeEventListener\n
Login.c(90): ? function(element, type, fn)
{element.removeEventListener(type, fn, false); }\n
Login.c(90): : function(element, type, fn) {element.detachEvent('on' +
type, fn); });\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * !!! This is an undocumented "private" function !!!\n
Login.c(90): */\n
Login.c(90): var jqData = JQLite._data = function(node) {\n
Login.c(90): //jQuery always returns an object on cache miss\n
Login.c(90): return this.cache[node[this.expando]] || {};\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function jqNextId() { return ++jqId; }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\n
Login.c(90): var MOZ_HACK_REGEXP = /^moz([A-Z])/;\n
Login.c(90): var jqLiteMinErr = minErr('jqLite');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Converts snake_case to camelCase.\n
Login.c(90): * Also there is special case for Moz prefix starting with upper
case letter.\n
Login.c(90): * @param name Name to normalize\n
Login.c(90): */\n
Login.c(90): function camelCase(name) {\n
Login.c(90): return name.\n
Login.c(90): replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter,
offset) {\n
Login.c(90): return offset ? letter.toUpperCase() : letter;\n
Login.c(90): }).\n
Login.c(90): replace(MOZ_HACK_REGEXP, 'Moz$1');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /////////////////////////////////////////////\n
Login.c(90): // jQuery mutation patch\n
Login.c(90): //\n
Login.c(90): // In conjunction with bindJQuery intercepts all jQuery's DOM
destruction apis and fires a
Login.c(90): \n
Login.c(90): // $destroy event on all DOM nodes being removed.\n
Login.c(90): //\n
Login.c(90): /////////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): function jqLitePatchJQueryRemove(name, dispatchThis, filterElems,
getterIfNoArguments) {\n
Login.c(90): var originalJqFn = jQuery.fn[name];\n
Login.c(90): originalJqFn = originalJqFn.$original || originalJqFn;\n
Login.c(90): removePatch.$original = originalJqFn;\n
Login.c(90): jQuery.fn[name] = removePatch;\n
Login.c(90): \n
Login.c(90): function removePatch(param) {\n
Login.c(90): // jshint -W040\n
Login.c(90): var list = filterElems && param ? [this.filter(param)] :
[this],\n
Login.c(90): fireEvent = dispatchThis,\n
Login.c(90): set, setIndex, setLength,\n
Login.c(90): element, childIndex, childLength, children;\n
Login.c(90): \n
Login.c(90): if (!getterIfNoArguments || param != null) {\n
Login.c(90): while(list.length) {\n
Login.c(90): set = list.shift();\n
Login.c(90): for(setIndex = 0, setLength = set.length; setIndex <
setLength; setIndex++) {\n
Login.c(90): element = jqLite(set[setIndex]);\n
Login.c(90): if (fireEvent) {\n
Login.c(90): element.triggerHandler('$destroy');\n
Login.c(90): } else {\n
Login.c(90): fireEvent = !fireEvent;\n
Login.c(90): }\n
Login.c(90): for(childIndex = 0, childLength = (children =
element.children()).length;\n
Login.c(90): childIndex < childLength;\n
Login.c(90): childIndex++) {\n
Login.c(90): list.push(jQuery(children[childIndex]));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return originalJqFn.apply(this, arguments);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var SINGLE_TAG_REGEXP = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/;\n
Login.c(90): var HTML_REGEXP = /<|&#?\\w+;/;\n
Login.c(90): var TAG_NAME_REGEXP = /<([\\w:]+)/;\n
Login.c(90): var XHTML_TAG_REGEXP = /<(?!area|br|col|embed|hr|img|input|link|
meta|param)(([\\w:]+)[^>]*
Login.c(90): )\\/>/gi;\n
Login.c(90): \n
Login.c(90): var wrapMap = {\n
Login.c(90): 'option': [1, '<select multiple="multiple">', '</select>'],\n
Login.c(90): \n
Login.c(90): 'thead':
Login.c(90): t=2406ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): [1, '<table>', '</table>'],\n
Login.c(90): 'col': [2, '<table><colgroup>', '</colgroup></table>'],\n
Login.c(90): 'tr': [2, '<table><tbody>', '</tbody></table>'],\n
Login.c(90): 'td': [3, '<table><tbody><tr>', '</tr></tbody></table>'],\n
Login.c(90): '_default': [0, "", ""]\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): wrapMap.optgroup = wrapMap.option;\n
Login.c(90): wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption
= wrapMap.thead;\n
Login.c(90): wrapMap.th = wrapMap.td;\n
Login.c(90): \n
Login.c(90): function jqLiteIsTextNode(html) {\n
Login.c(90): return !HTML_REGEXP.test(html);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteBuildFragment(html, context) {\n
Login.c(90): var elem, tmp, tag, wrap,\n
Login.c(90): fragment = context.createDocumentFragment(),\n
Login.c(90): nodes = [], i, j, jj;\n
Login.c(90): \n
Login.c(90): if (jqLiteIsTextNode(html)) {\n
Login.c(90): // Convert non-html into a text node\n
Login.c(90): nodes.push(context.createTextNode(html));\n
Login.c(90): } else {\n
Login.c(90): tmp = fragment.appendChild(context.createElement('div'));\n
Login.c(90): // Convert html into DOM nodes\n
Login.c(90): tag = (TAG_NAME_REGEXP.exec(html) || ["", ""])
[1].toLowerCase();\n
Login.c(90): wrap = wrapMap[tag] || wrapMap._default;\n
Login.c(90): tmp.innerHTML = '<div>&#160;</div>' +\n
Login.c(90): wrap[1] + html.replace(XHTML_TAG_REGEXP, "<$1></$2>") +
wrap[2];\n
Login.c(90): tmp.removeChild(tmp.firstChild);\n
Login.c(90): \n
Login.c(90): // Descend through wrappers to the right content\n
Login.c(90): i = wrap[0];\n
Login.c(90): while (i--) {\n
Login.c(90): tmp = tmp.lastChild;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (j=0, jj=tmp.childNodes.length; j<jj; ++j)
nodes.push(tmp.childNodes[j]);\n
Login.c(90): \n
Login.c(90): tmp = fragment.firstChild;\n
Login.c(90): tmp.textContent = "";\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Remove wrapper from fragment\n
Login.c(90): fragment.textContent = "";\n
Login.c(90): fragment.innerHTML = ""; // Clear inner HTML\n
Login.c(90): return nodes;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteParseHTML(html, context) {\n
Login.c(90): context = context || document;\n
Login.c(90): var parsed;\n
Login.c(90): \n
Login.c(90): if ((parsed = SINGLE_TAG_REGEXP.exec(html))) {\n
Login.c(90): return [context.createElement(parsed[1])];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return jqLiteBuildFragment(html, context);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /////////////////////////////////////////////\n
Login.c(90): function JQLite(element) {\n
Login.c(90): if (element instanceof JQLite) {\n
Login.c(90): return element;\n
Login.c(90): }\n
Login.c(90): if (isString(element)) {\n
Login.c(90): element = trim(element);\n
Login.c(90): }\n
Login.c(90): if (!(this instanceof JQLite)) {\n
Login.c(90): if (isString(element) && element.charAt(0) != '<') {\n
Login.c(90): throw jqLiteMinErr('nosel', 'Looking up elements via
selectors is not supported by j
Login.c(90): qLite! See: http://docs.angularjs.org/api/angular.element');\n
Login.c(90): }\n
Login.c(90): return new JQLite(element);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isString(element)) {\n
Login.c(90): jqLiteAddNodes(this, jqLiteParseHTML(element));\n
Login.c(90): var fragment = jqLite(document.createDocumentFragment());\n
Login.c(90): fragment.append(this);\n
Login.c(90): } else {\n
Login.c(90): jqLiteAddNodes(this, element);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteClone(element) {\n
Login.c(90): return element.cloneNode(true);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteDealoc(element){\n
Login.c(90): jqLiteRemoveData(element);\n
Login.c(90): for ( var i = 0, children = element.childNodes || []; i <
children.length; i++) {\n
Login.c(90): jqLiteDealoc(children[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteOff(element, type, fn, unsupported) {\n
Login.c(90): if (isDefined(unsupported)) throw jqLiteMinErr('offargs',
'jqLite#off() does not support
Login.c(90): the `selector` argument');\n
Login.c(90): \n
Login.c(90): var events = jqLiteExpandoStore(element, 'events'),\n
Login.c(90): handle = jqLiteExpandoStore(element, 'handle');\n
Login.c(90): \n
Login.c(90): if (!handle) return; //no listeners registered\n
Login.c(90): \n
Login.c(90): if (isUndefined(type)) {\n
Login.c(90): forEach(events, function(eventHandler, type) {\n
Login.c(90): removeEventListenerFn(element, type, eventHandler);\n
Login.c(90): delete events[type];\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): forEach(type.split(' '), function(type) {\n
Login.c(90): if (isUndefined(fn)) {\n
Login.c(90): removeEventListenerFn(element, type, events[type]);\n
Login.c(90): delete events[type];\n
Login.c(90): } else {\n
Login.c(90): arrayRemove(events[type] || [], fn);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteRemoveData(element, name) {\n
Login.c(90): var expandoId = element.ng339,\n
Login.c(90): expandoStore = jqCache[expandoId];\n
Login.c(90): \n
Login.c(90): if (expandoStore) {\n
Login.c(90): if (name) {\n
Login.c(90): delete jqCache[expandoId].data[name];\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (expandoStore.handle) {\n
Login.c(90): expandoStore.events.$destroy && expandoStore.handle({},
'$destroy');\n
Login.c(90): jqLiteOff(element);\n
Login.c(90): }\n
Login.c(90): delete jqCache[expandoId];\n
Login.c(90): element.ng339 = undefined; // don't delete DOM expandos. IE
and Chrome don't like it\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteExpandoStore(element, key, value) {\n
Login.c(90): var expandoId = element.ng339,\n
Login.c(90): expandoStore = jqCache[expandoId || -1];\n
Login.c(90): \n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): if (!expandoStore) {\n
Login.c(90): element.ng339 = expandoId = jqNextId();\n
Login.c(90): expandoStore = jqCache[expandoId] = {};\n
Login.c(90): }\n
Login.c(90): expandoStore[key] = value;\n
Login.c(90): } else {\n
Login.c(90): return expandoStore && expandoStore[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteData(element, key, value) {\n
Login.c(90): var data = jqLiteExpandoStore(element, 'data'),\n
Login.c(90): isSetter = isDefined(value),\n
Login.c(90): keyDefined = !isSetter && isDefined(key),\n
Login.c(90): isSimpleGetter = keyDefined && !isObject(key);\n
Login.c(90): \n
Login.c(90): if (!data && !isSimpleGetter) {\n
Login.c(90): jqLiteExpandoStore(element, 'data', data = {});\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isSetter) {\n
Login.c(90): data[key] = value;\n
Login.c(90): } else {\n
Login.c(90): if (keyDefined) {\n
Login.c(90): if (isSimpleGetter) {\n
Login.c(90): // don't create data in this case.\n
Login.c(90): return data && data[key];\n
Login.c(90): } else {\n
Login.c(90): extend(data, key);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return data;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteHasClass(element, selector) {\n
Login.c(90): if (!element.getAttribute) return false;\n
Login.c(90): return ((" " + (element.getAttribute('class') || '') + "
").replace(/[\\n\\t]/g, " ").\n
Login.c(90): indexOf( " " + selector + " " ) > -1);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteRemoveClass(element, cssClasses) {\n
Login.c(90): if (cssClasses && element.setAttribute) {\n
Login.c(90): forEach(cssClasses.split(' '), function(cssClass) {\n
Login.c(90): element.setAttribute('class', trim(\n
Login.c(90): (" " + (element.getAttribute('class') || '') + " ")\n
Login.c(90): .replace(/[\\n\\t]/g, " ")\n
Login.c(90): .replace(" " + trim(cssClass) + " ", " "))\n
Login.c(90): );\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteAddClass(element, cssClasses) {\n
Login.c(90): if (cssClasses && element.setAttribute) {\n
Login.c(90): var existingClasses = (' ' + (element.getAttribute('class') ||
'') + ' ')\n
Login.c(90): .replace(/[\\n\\t]/g, " ");\n
Login.c(90): \n
Login.c(90): forEach(cssClasses.split(' '), function(cssClass) {\n
Login.c(90): cssClass = trim(cssClass);\n
Login.c(90): if (existingClasses.indexOf(' ' + cssClass + ' ') === -1)
{\n
Login.c(90): existingClasses += cssClass + ' ';\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): element.setAttribute('class', trim(existingClasses));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteAddNodes(root, elements) {\n
Login.c(90): if (elements) {\n
Login.c(90): elements = (!elements.nodeName && isDefined(elements.length)
&& !isWindow(elements))\n
Login.c(90): ? elements\n
Login.c(90): : [ elements ];\n
Login.c(90): for(var i=0; i < elements.length; i++) {\n
Login.c(90): root.push(elements[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteController(element, name) {\n
Login.c(90): return jqLiteInheritedData(element, '$' + (name ||
'ngController' ) + 'Controller');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteInheritedData(element, name, value) {\n
Login.c(90): // if element is the document object work with the html element
instead\n
Login.c(90): // this makes $(document).scope() possible\n
Login.c(90): if(element.nodeType == 9) {\n
Login.c(90): element = element.documentElement;\n
Login.c(90): }\n
Login.c(90): var names = isArray(name) ? name : [name];\n
Login.c(90): \n
Login.c(90): while (element) {\n
Login.c(90): for (var i = 0, ii = names.length; i < ii; i++) {\n
Login.c(90): if ((value = jqLite.data(element, names[i])) !== undefined)
return value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // If dealing with a document fragment node with a host
element, and no parent, use th
Login.c(90): e host\n
Login.c(90): // element as the parent. This enables directives within a
Shadow DOM or polyfilled Sh
Login.c(90): adow DOM\n
Login.c(90): // to lookup parent controllers.\n
Login.c(90): element = element.parentNode || (element.nodeType === 11 &&
element.host);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function jqLiteEmpty(element) {\n
Login.c(90): for (var i = 0, childNodes = element.childNodes; i <
childNodes.length; i++) {\n
Login.c(90): jqLiteDealoc(childNodes[i]);\n
Login.c(90): }\n
Login.c(90): while (element.firstChild) {\n
Login.c(90): element.removeChild(element.firstChild);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): // Functions which are declared directly.\n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): var JQLitePrototype = JQLite.prototype = {\n
Login.c(90): ready: function(fn) {\n
Login.c(90): var fired = false;\n
Login.c(90): \n
Login.c(90): function trigger() {\n
Login.c(90): if (fired) return;\n
Login.c(90): fired = true;\n
Login.c(90): fn();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // check if document already is loaded\n
Login.c(90): if (document.readyState === 'complete'){\n
Login.c(90): setTimeout(trigger);\n
Login.c(90): } else {\n
Login.c(90): this.on('DOMContentLoaded', trigger); // works for modern
browsers and IE9\n
Login.c(90): // we can not use jqLite since we are not done loading and
jQuery could be loaded la
Login.c(90): ter.\n
Login.c(90): // jshint -W064\n
Login.c(90): JQLite(window).on('load', trigger); // fallback to
window.onload for others\n
Login.c(90): // jshint +W064\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): toString: function() {\n
Login.c(90): var value = [];\n
Login.c(90): forEach(this, function(e){ value.push('' + e);});\n
Login.c(90): return '[' + value.join(', ') + ']';\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): eq: function(index) {\n
Login.c(90): return (index >= 0) ? jqLite(this[index]) :
jqLite(this[this.length + index]);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): length: 0,\n
Login.c(90): push: push,\n
Login.c(90): sort: [].sort,\n
Login.c(90): splice: [].splice\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): // Functions iterating getter/setters.\n
Login.c(90): // these functions return self on setter and\n
Login.c(90): // value on get.\n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): var BOOLEAN_ATTR = {};\n
Login.c(90):
forEach('multiple,selected,checked,disabled,readOnly,required,open'.split(','),
function(v
Login.c(90): alue) {\n
Login.c(90): BOOLEAN_ATTR[lowercase(value)] = value;\n
Login.c(90): });\n
Login.c(90): var BOOLEAN_ELEMENTS = {};\n
Login.c(90):
forEach('input,select,option,textarea,button,form,details'.split(','),
function(value) {\n
Login.c(90): BOOLEAN_ELEMENTS[uppercase(value)] = true;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function getBooleanAttrName(element, name) {\n
Login.c(90): // check dom last since we will most likely fail on name\n
Login.c(90): var booleanAttr = BOOLEAN_ATTR[name.toLowerCase()];\n
Login.c(90): \n
Login.c(90): // booleanAttr is here twice to minimize DOM access\n
Login.c(90): return booleanAttr && BOOLEAN_ELEMENTS[element.nodeName] &&
booleanAttr;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach({\n
Login.c(90): data: jqLiteData,\n
Login.c(90): removeData: jqLiteRemoveData\n
Login.c(90): }, function(fn, name) {\n
Login.c(90): JQLite[name] = fn;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): forEach({\n
Login.c(90): data: jqLiteData,\n
Login.c(90): inheritedData: jqLiteInheritedData,\n
Login.c(90): \n
Login.c(90): scope: function(element) {\n
Login.c(90): // Can't use jqLiteData here directly so we stay compatible
with jQuery!\n
Login.c(90): return jqLite.data(element, '$scope') ||
jqLiteInheritedData(element.parentNode || ele
Login.c(90): ment, ['$isolateScope', '$scope']);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): isolateScope: function(element) {\n
Login.c(90): // Can't use jqLiteData here directly so we stay compatible
with jQuery!\n
Login.c(90): return jqLite.data(element, '$isolateScope') ||
jqLite.data(element, '$isolateScopeNoT
Login.c(90): emplate');\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): controller: jqLiteController,\n
Login.c(90): \n
Login.c(90): injector: function(element) {\n
Login.c(90): return jqLiteInheritedData(element, '$injector');\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): removeAttr: function(element,name) {\n
Login.c(90): element.removeAttribute(name);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): hasClass: jqLiteHasClass,\n
Login.c(90): \n
Login.c(90): css: function(element, name, value) {\n
Login.c(90): name = camelCase(name);\n
Login.c(90): \n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): element.style[name] = value;\n
Login.c(90): } else {\n
Login.c(90): var val;\n
Login.c(90): \n
Login.c(90): if (msie <= 8) {\n
Login.c(90): // this is some IE specific weirdness that jQuery 1.6.4
does not sure why\n
Login.c(90): val = element.currentStyle &&
element.currentStyle[name];\n
Login.c(90): if (val === '') val = 'auto';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): val = val || element.style[name];\n
Login.c(90): \n
Login.c(90): if (msie <= 8) {\n
Login.c(90): // jquery weirdness :-/\n
Login.c(90): val = (val === '') ? undefined : val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): attr: function(element, name, value){\n
Login.c(90): var lowercasedName = lowercase(name);\n
Login.c(90): if (BOOLEAN_ATTR[lowercasedName]) {\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): if (!!value) {\n
Login.c(90): element[name] = true;\n
Login.c(90): element.setAttribute(name, lowercasedName);\n
Login.c(90): } else {\n
Login.c(90): element[name] = false;\n
Login.c(90): element.removeAttribute(lowercasedName);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return (element[name] ||\n
Login.c(90): (element.attributes.getNamedItem(name)||
noop).specified)\n
Login.c(90): ? lowercasedName\n
Login.c(90): : undefined;\n
Login.c(90): }\n
Login.c(90): } else if (isDefined(value)) {\n
Login.c(90): element.setAttribute(name, value);\n
Login.c(90): } else if (element.getAttribute) {\n
Login.c(90): // the extra argument "2" is to get the right thing for
a.href in IE, see jQuery cod
Login.c(90): e\n
Login.c(90): // some elements (e.g. Document) don't have get attribute,
so return undefined\n
Login.c(90): var ret = element.getAttribute(name, 2);\n
Login.c(90): // normalize non-existing attributes to undefined (as
jQuery)\n
Login.c(90): return ret === null ? undefined : ret;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): prop: function(element, name, value) {\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): element[name] = value;\n
Login.c(90): } else {\n
Login.c(90): return element[name];\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): text: (function() {\n
Login.c(90): var NODE_TYPE_TEXT_PROPERTY = [];\n
Login.c(90): if (msie < 9) {\n
Login.c(90): NODE_TYPE_TEXT_PROPERTY[1] = 'innerText'; /** Element
**/\n
Login.c(90): NODE_TYPE_TEXT_PROPERTY[3] = 'nodeValue'; /** Text **/\n
Login.c(90): } else {\n
Login.c(90): NODE_TYPE_TEXT_PROPERTY[1] = /** Element
**/\n
Login.c(90): NODE_TYPE_TEXT_PROPERTY[3] = 'textContent'; /** Text **/\n
Login.c(90): }\n
Login.c(90): getText.$dv = '';\n
Login.c(90): r
Login.c(90): t=2424ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): eturn getText;\n
Login.c(90): \n
Login.c(90): function getText(element, value) {\n
Login.c(90): var textProp = NODE_TYPE_TEXT_PROPERTY[element.nodeType];\n
Login.c(90): if (isUndefined(value)) {\n
Login.c(90): return textProp ? element[textProp] : '';\n
Login.c(90): }\n
Login.c(90): element[textProp] = value;\n
Login.c(90): }\n
Login.c(90): })(),\n
Login.c(90): \n
Login.c(90): val: function(element, value) {\n
Login.c(90): if (isUndefined(value)) {\n
Login.c(90): if (nodeName_(element) === 'SELECT' && element.multiple) {\n
Login.c(90): var result = [];\n
Login.c(90): forEach(element.options, function (option) {\n
Login.c(90): if (option.selected) {\n
Login.c(90): result.push(option.value || option.text);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return result.length === 0 ? null : result;\n
Login.c(90): }\n
Login.c(90): return element.value;\n
Login.c(90): }\n
Login.c(90): element.value = value;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): html: function(element, value) {\n
Login.c(90): if (isUndefined(value)) {\n
Login.c(90): return element.innerHTML;\n
Login.c(90): }\n
Login.c(90): for (var i = 0, childNodes = element.childNodes; i <
childNodes.length; i++) {\n
Login.c(90): jqLiteDealoc(childNodes[i]);\n
Login.c(90): }\n
Login.c(90): element.innerHTML = value;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): empty: jqLiteEmpty\n
Login.c(90): }, function(fn, name){\n
Login.c(90): /**\n
Login.c(90): * Properties: writes return selection, reads return first
value\n
Login.c(90): */\n
Login.c(90): JQLite.prototype[name] = function(arg1, arg2) {\n
Login.c(90): var i, key;\n
Login.c(90): var nodeCount = this.length;\n
Login.c(90): \n
Login.c(90): // jqLiteHasClass has only two arguments, but is a getter-only
fn, so we need to speci
Login.c(90): al-case it\n
Login.c(90): // in a way that survives minification.\n
Login.c(90): // jqLiteEmpty takes no arguments but is a setter.\n
Login.c(90): if (fn !== jqLiteEmpty &&\n
Login.c(90): (((fn.length == 2 && (fn !== jqLiteHasClass && fn !==
jqLiteController)) ? arg1 :
Login.c(90): arg2) === undefined)) {\n
Login.c(90): if (isObject(arg1)) {\n
Login.c(90): \n
Login.c(90): // we are a write, but the object properties are the
key/values\n
Login.c(90): for (i = 0; i < nodeCount; i++) {\n
Login.c(90): if (fn === jqLiteData) {\n
Login.c(90): // data() takes the whole object in jQuery\n
Login.c(90): fn(this[i], arg1);\n
Login.c(90): } else {\n
Login.c(90): for (key in arg1) {\n
Login.c(90): fn(this[i], key, arg1[key]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // return self for chaining\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): // we are a read, so read the first child.\n
Login.c(90): // TODO: do we still need this?\n
Login.c(90): var value = fn.$dv;\n
Login.c(90): // Only if we have $dv do we iterate over all, otherwise
it is just the first elem
Login.c(90): ent.\n
Login.c(90): var jj = (value === undefined) ? Math.min(nodeCount, 1) :
nodeCount;\n
Login.c(90): for (var j = 0; j < jj; j++) {\n
Login.c(90): var nodeValue = fn(this[j], arg1, arg2);\n
Login.c(90): value = value ? value + nodeValue : nodeValue;\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // we are a write, so apply to all children\n
Login.c(90): for (i = 0; i < nodeCount; i++) {\n
Login.c(90): fn(this[i], arg1, arg2);\n
Login.c(90): }\n
Login.c(90): // return self for chaining\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): function createEventHandler(element, events) {\n
Login.c(90): var eventHandler = function (event, type) {\n
Login.c(90): if (!event.preventDefault) {\n
Login.c(90): event.preventDefault = function() {\n
Login.c(90): event.returnValue = false; //ie\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!event.stopPropagation) {\n
Login.c(90): event.stopPropagation = function() {\n
Login.c(90): event.cancelBubble = true; //ie\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!event.target) {\n
Login.c(90): event.target = event.srcElement || document;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isUndefined(event.defaultPrevented)) {\n
Login.c(90): var prevent = event.preventDefault;\n
Login.c(90): event.preventDefault = function() {\n
Login.c(90): event.defaultPrevented = true;\n
Login.c(90): prevent.call(event);\n
Login.c(90): };\n
Login.c(90): event.defaultPrevented = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): event.isDefaultPrevented = function() {\n
Login.c(90): return event.defaultPrevented || event.returnValue ===
false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Copy event handlers in case event handlers array is
modified during execution.\n
Login.c(90): var eventHandlersCopy = shallowCopy(events[type || event.type]
|| []);\n
Login.c(90): \n
Login.c(90): forEach(eventHandlersCopy, function(fn) {\n
Login.c(90): fn.call(element, event);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Remove monkey-patched methods (IE),\n
Login.c(90): // as they would cause memory leaks in IE8.\n
Login.c(90): if (msie <= 8) {\n
Login.c(90): // IE7/8 does not allow to delete property on native
object\n
Login.c(90): event.preventDefault = null;\n
Login.c(90): event.stopPropagation = null;\n
Login.c(90): event.isDefaultPrevented = null;\n
Login.c(90): } else {\n
Login.c(90): // It shouldn't affect normal browsers (native methods are
defined on prototype).\n
Login.c(90): delete event.preventDefault;\n
Login.c(90): delete event.stopPropagation;\n
Login.c(90): delete event.isDefaultPrevented;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): eventHandler.elem = element;\n
Login.c(90): return eventHandler;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): // Functions iterating traversal.\n
Login.c(90): // These functions chain results into a single\n
Login.c(90): // selector.\n
Login.c(90): //////////////////////////////////////////\n
Login.c(90): forEach({\n
Login.c(90): removeData: jqLiteRemoveData,\n
Login.c(90): \n
Login.c(90): dealoc: jqLiteDealoc,\n
Login.c(90): \n
Login.c(90): on: function onFn(element, type, fn, unsupported){\n
Login.c(90): if (isDefined(unsupported)) throw jqLiteMinErr('onargs',
'jqLite#on() does not support
Login.c(90): the `selector` or `eventData` parameters');\n
Login.c(90): \n
Login.c(90): var events = jqLiteExpandoStore(element, 'events'),\n
Login.c(90): handle = jqLiteExpandoStore(element, 'handle');\n
Login.c(90): \n
Login.c(90): if (!events) jqLiteExpandoStore(element, 'events', events =
{});\n
Login.c(90): if (!handle) jqLiteExpandoStore(element, 'handle', handle =
createEventHandler(element
Login.c(90): , events));\n
Login.c(90): \n
Login.c(90): forEach(type.split(' '), function(type){\n
Login.c(90): var eventFns = events[type];\n
Login.c(90): \n
Login.c(90): if (!eventFns) {\n
Login.c(90): if (type == 'mouseenter' || type == 'mouseleave') {\n
Login.c(90): var contains = document.body.contains ||
document.body.compareDocumentPosition ?
Login.c(90): \n
Login.c(90): function( a, b ) {\n
Login.c(90): // jshint bitwise: false\n
Login.c(90): var adown = a.nodeType === 9 ? a.documentElement :
a,\n
Login.c(90): bup = b && b.parentNode;\n
Login.c(90): return a === bup || !!( bup && bup.nodeType === 1 &&
(\n
Login.c(90): adown.contains ?\n
Login.c(90): adown.contains( bup ) :\n
Login.c(90): a.compareDocumentPosition &&
a.compareDocumentPosition( bup ) & 16\n
Login.c(90): ));\n
Login.c(90): } :\n
Login.c(90): function( a, b ) {\n
Login.c(90): if ( b ) {\n
Login.c(90): while ( (b = b.parentNode) ) {\n
Login.c(90): if ( b === a ) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): events[type] = [];\n
Login.c(90): \n
Login.c(90): // Refer to jQuery's implementation of mouseenter &
mouseleave\n
Login.c(90): // Read about mouseenter and mouseleave:\n
Login.c(90): //
http://www.quirksmode.org/js/events_mouse.html#link8\n
Login.c(90): var eventmap = { mouseleave : "mouseout", mouseenter :
"mouseover"};\n
Login.c(90): \n
Login.c(90): onFn(element, eventmap[type], function(event) {\n
Login.c(90): var target = this, related = event.relatedTarget;\n
Login.c(90): // For mousenter/leave call the handler if related is
outside the target.\n
Login.c(90): // NB: No relatedTarget if the mouse left/entered the
browser window\n
Login.c(90): if ( !related || (related !== target && !
contains(target, related)) ){\n
Login.c(90): handle(event, type);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): addEventListenerFn(element, type, handle);\n
Login.c(90): events[type] = [];\n
Login.c(90): }\n
Login.c(90): eventFns = events[type];\n
Login.c(90): }\n
Login.c(90): eventFns.push(fn);\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): off: jqLiteOff,\n
Login.c(90): \n
Login.c(90): one: function(element, type, fn) {\n
Login.c(90): element = jqLite(element);\n
Login.c(90): \n
Login.c(90): //add the listener twice so that when it is called\n
Login.c(90): //you can remove the original function and still be\n
Login.c(90): //able to call element.off(ev, fn) normally\n
Login.c(90): element.on(type, function onFn() {\n
Login.c(90): element.off(type, fn);\n
Login.c(90): element.off(type, onFn);\n
Login.c(90): });\n
Login.c(90): element.on(type, fn);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): replaceWith: function(element, replaceNode) {\n
Login.c(90): var index, parent = element.parentNode;\n
Login.c(90): jqLiteDealoc(element);\n
Login.c(90): forEach(new JQLite(replaceNode), function(node){\n
Login.c(90): if (index) {\n
Login.c(90): parent.insertBefore(node, index.nextSibling);\n
Login.c(90): } else {\n
Login.c(90): parent.replaceChild(node, element);\n
Login.c(90): }\n
Login.c(90): index = node;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): children: function(element) {\n
Login.c(90): var children = [];\n
Login.c(90): forEach(element.childNodes, function(element){\n
Login.c(90): if (element.nodeType === 1)\n
Login.c(90): children.push(element);\n
Login.c(90): });\n
Login.c(90): return children;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): contents: function(element) {\n
Login.c(90): return element.contentDocument || element.childNodes || [];\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): append: function(element, node) {\n
Login.c(90): forEach(new JQLite(node), function(child){\n
Login.c(90): if (element.nodeType === 1 || element.nodeType === 11) {\n
Login.c(90): element.appendChild(child);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): prepend: function(element, node) {\n
Login.c(90): if (element.nodeType === 1) {\n
Login.c(90): var index = element.firstChild;\n
Login.c(90): forEach(new JQLite(node), function(child){\n
Login.c(90): element.insertBefore(child, index);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): wrap: function(element, wrapNode) {\n
Login.c(90): wrapNode = jqLite(wrapNode)[0];\n
Login.c(90): var parent = element.parentNode;\n
Login.c(90): if (parent) {\n
Login.c(90): parent.replaceChild(wrapNode, element);\n
Login.c(90): }\n
Login.c(90): wrapNode.appendChild(element);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): remove: function(element) {\n
Login.c(90): jqLiteDealoc(element);\n
Login.c(90): var parent = element.parentNode;\n
Login.c(90): if (parent) parent.removeChild(element);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): after: function(element, newElement) {\n
Login.c(90): var index = element, parent = element.parentNode;\n
Login.c(90): forEach(new JQLite(newElement), function(node){\n
Login.c(90): parent.insertBefore(node, index.nextSibling);\n
Login.c(90): index = node;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): addClass: jqLiteAddClass,\n
Login.c(90): removeClass: jqLiteRemoveClass,\n
Login.c(90): \n
Login.c(90): toggleClass: function(element, selector, condition) {\n
Login.c(90): if (selector) {\n
Login.c(90): forEach(selector.split(' '), function(className){\n
Login.c(90): var classCondition = condition;\n
Login.c(90): if (isUndefined(classCondition)) {\n
Login.c(90): classCondition = !jqLiteHasClass(element, className);\n
Login.c(90): }\n
Login.c(90): (classCondition ? jqLiteAddClass : jqLiteRemoveClass)
(element, className);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): parent: function(element) {\n
Login.c(90): var parent = element.parentNode;\n
Login.c(90): return parent && parent.nodeType !== 11 ? parent : null;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): next: function(element) {\n
Login.c(90): if (element.nextElementSibling) {\n
Login.c(90): return element.nextElementSibling;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // IE8 doesn't have nextElementSibling\n
Login.c(90): var elm = element.nextSibling;\n
Login.c(90): while (elm != null && elm.nodeType !== 1) {\n
Login.c(90): elm = elm.nextSibling;\n
Login.c(90): }\n
Login.c(90): return elm;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): find: function(element, selector) {\n
Login.c(90): if (element.getElementsByTagName) {\n
Login.c(90): return element.getElementsByTagName(selector);\n
Login.c(90): } else {\n
Login.c(90): return [];\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): clone: jqLiteClone,\n
Login.c(90): \n
Login.c(90): triggerHandler: function(element, event, extraParameters) {\n
Login.c(90): \n
Login.c(90): var dummyEvent, eventFnsCopy, handlerArgs;\n
Login.c(90): var eventName = event.type || event;\n
Login.c(90): var eventFns = (jqLiteExpandoStore(element, 'events') || {})
[eventName];\n
Login.c(90): \n
Login.c(90): if (eventFns) {\n
Login.c(90): \n
Login.c(90): // Create a dummy event to pass to the handlers\n
Login.c(90): dummyEvent = {\n
Login.c(90): preventDefault: function() { this.defaultPrevented = true;
},\n
Login.c(90): isDefaultPrevented: function() { return
this.defaultPrevented === true; },\n
Login.c(90): stopPropagation: noop,\n
Login.c(90): type: eventName,\n
Login.c(90): target: element\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // If a custom event was provided then extend our dummy
event with it\n
Login.c(90): if (event.type) {\n
Login.c(90): dummyEvent = extend(dummyEvent, event);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Copy event handlers in case event handlers array is
modified during execution.\n
Login.c(90): eventFnsCopy = shallowCopy(eventFns);\n
Login.c(90): handlerArgs = extraParameters ?
[dummyEvent].concat(extraParameters) : [dummyEvent];
Login.c(90): \n
Login.c(90): \n
Login.c(90): forEach(eventFnsCopy, function(fn) {\n
Login.c(90): fn.apply(element, handlerArgs);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }, function(fn, name){\n
Login.c(90): /**\n
Login.c(90): * chaining functions\n
Login.c(90): */\n
Login.c(90): JQLite.prototype[name] = function(arg1, arg2, arg3) {\n
Login.c(90): var value;\n
Login.c(90): for(var i=0; i < this.length; i++) {\n
Login.c(90): if (isUndefined(value)) {\n
Login.c(90): value = fn(this[i], arg1, arg2, arg3);\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): // any function which returns a value needs to be
wrapped\n
Login.c(90): value = jqLite(value);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): jqLiteAddNodes(value, fn(this[i], arg1, arg2, arg3));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return isDefined(value) ? value : this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // bind legacy bind/unbind to on/off\n
Login.c(90): JQLite.prototype.bind = JQLite.prototype.on;\n
Login.c(90): JQLite.prototype.unbind = JQLite.prototype.off;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Computes a hash of an 'obj'.\n
Login.c(90): * Hash of a:\n
Login.c(90): * string is string\n
Login.c(90): * number is number as string\n
Login.c(90): * object is either result of calling $$hashKey function on the
object or uniquely genera
Login.c(90): ted id,\n
Login.c(90): * that is also assigned to the $$hashKey property of the
object.\n
Login.c(90): *\n
Login.c(90): * @param obj\n
Login.c(90): * @returns {string} hash string such that the same input will
have the same hash string.\n
Login.c(90): * The resulting string key is in 'type:hashKey' format.\n
Login.c(90): */\n
Login.c(90): function hashKey(obj, nextUidFn) {\n
Login.c(90): var objType
Login.c(90): t=2443ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): = typeof obj,\n
Login.c(90): key;\n
Login.c(90): \n
Login.c(90): if (objType == 'function' || (objType == 'object' && obj !==
null)) {\n
Login.c(90): if (typeof (key = obj.$$hashKey) == 'function') {\n
Login.c(90): // must invoke on object to keep the right this\n
Login.c(90): key = obj.$$hashKey();\n
Login.c(90): } else if (key === undefined) {\n
Login.c(90): key = obj.$$hashKey = (nextUidFn || nextUid)();\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): key = obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return objType + ':' + key;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * HashMap which can use objects as keys\n
Login.c(90): */\n
Login.c(90): function HashMap(array, isolatedUid) {\n
Login.c(90): if (isolatedUid) {\n
Login.c(90): var uid = 0;\n
Login.c(90): this.nextUid = function() {\n
Login.c(90): return ++uid;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): forEach(array, this.put, this);\n
Login.c(90): }\n
Login.c(90): HashMap.prototype = {\n
Login.c(90): /**\n
Login.c(90): * Store key value pair\n
Login.c(90): * @param key key to store can be any type\n
Login.c(90): * @param value value to store can be any type\n
Login.c(90): */\n
Login.c(90): put: function(key, value) {\n
Login.c(90): this[hashKey(key, this.nextUid)] = value;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @param key\n
Login.c(90): * @returns {Object} the value for the key\n
Login.c(90): */\n
Login.c(90): get: function(key) {\n
Login.c(90): return this[hashKey(key, this.nextUid)];\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Remove the key/value pair\n
Login.c(90): * @param key\n
Login.c(90): */\n
Login.c(90): remove: function(key) {\n
Login.c(90): var value = this[key = hashKey(key, this.nextUid)];\n
Login.c(90): delete this[key];\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @module ng\n
Login.c(90): * @name angular.injector\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates an injector function that can be used for retrieving
services as well as for\n
Login.c(90): * dependency injection (see {@link guide/di dependency
injection}).\n
Login.c(90): *\n
Login.c(90): \n
Login.c(90): * @param {Array.<string|Function>} modules A list of module
functions or their aliases. S
Login.c(90): ee\n
Login.c(90): * {@link angular.module}. The `ng` module must be
explicitly added.\n
Login.c(90): * @returns {function()} Injector function. See {@link auto.
$injector $injector}.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Typical usage\n
Login.c(90): * ```js\n
Login.c(90): * // create an injector\n
Login.c(90): * var $injector = angular.injector(['ng']);\n
Login.c(90): *\n
Login.c(90): * // use the injector to kick off your application\n
Login.c(90): * // use the type inference to auto inject arguments, or use
implicit injection\n
Login.c(90): * $injector.invoke(function($rootScope, $compile, $document){\n
Login.c(90): * $compile($document)($rootScope);\n
Login.c(90): * $rootScope.$digest();\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Sometimes you want to get access to the injector of a currently
running Angular app\n
Login.c(90): * from outside Angular. Perhaps, you want to inject and compile
some markup after the\n
Login.c(90): * application has been bootstrapped. You can do this using the
extra `injector()` added\n
Login.c(90): * to JQuery/jqLite elements. See {@link angular.element}.\n
Login.c(90): *\n
Login.c(90): * *This is fairly rare but could be the case if a third party
library is injecting the\n
Login.c(90): * markup.*\n
Login.c(90): *\n
Login.c(90): * In the following example a new block of HTML containing a `ng-
controller`\n
Login.c(90): * directive is added to the end of the document body by JQuery.
We then compile and link\n
Login.c(90): * it into the current AngularJS scope.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var $div = $('<div ng-
controller="MyCtrl">{{content.label}}</div>');\n
Login.c(90): * $(document.body).append($div);\n
Login.c(90): *\n
Login.c(90): * angular.element(document).injector().invoke(function($compile)
{\n
Login.c(90): * var scope = angular.element($div).scope();\n
Login.c(90): * $compile($div)(scope);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc module\n
Login.c(90): * @name auto\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Implicit module which gets automatically added to each {@link
auto.$injector $injector}
Login.c(90): .\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var FN_ARGS = /^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m;\n
Login.c(90): var FN_ARG_SPLIT = /,/;\n
Login.c(90): var FN_ARG = /^\\s*(_?)(\\S+?)\\1\\s*$/;\n
Login.c(90): var STRIP_COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg;\n
Login.c(90): var $injectorMinErr = minErr('$injector');\n
Login.c(90): function annotate(fn) {\n
Login.c(90): var $inject,\n
Login.c(90): fnText,\n
Login.c(90): argDecl,\n
Login.c(90): last;\n
Login.c(90): \n
Login.c(90): if (typeof fn === 'function') {\n
Login.c(90): if (!($inject = fn.$inject)) {\n
Login.c(90): $inject = [];\n
Login.c(90): if (fn.length) {\n
Login.c(90): fnText = fn.toString().replace(STRIP_COMMENTS, '');\n
Login.c(90): argDecl = fnText.match(FN_ARGS);\n
Login.c(90): forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){\n
Login.c(90): arg.replace(FN_ARG, function(all, underscore, name){\n
Login.c(90): $inject.push(name);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): fn.$inject = $inject;\n
Login.c(90): }\n
Login.c(90): } else if (isArray(fn)) {\n
Login.c(90): last = fn.length - 1;\n
Login.c(90): assertArgFn(fn[last], 'fn');\n
Login.c(90): $inject = fn.slice(0, last);\n
Login.c(90): } else {\n
Login.c(90): assertArgFn(fn, 'fn', true);\n
Login.c(90): }\n
Login.c(90): return $inject;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ///////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $injector\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * `$injector` is used to retrieve object instances as defined
by\n
Login.c(90): * {@link auto.$provide provider}, instantiate types, invoke
methods,\n
Login.c(90): * and load modules.\n
Login.c(90): *\n
Login.c(90): * The following always holds true:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var $injector = angular.injector();\n
Login.c(90): * expect($injector.get('$injector')).toBe($injector);\n
Login.c(90): * expect($injector.invoke(function($injector){\n
Login.c(90): * return $injector;\n
Login.c(90): * }).toBe($injector);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * # Injection Function Annotation\n
Login.c(90): *\n
Login.c(90): * JavaScript does not have annotations, and annotations are
needed for dependency injecti
Login.c(90): on. The\n
Login.c(90): * following are all valid ways of annotating function with
injection arguments and are eq
Login.c(90): uivalent.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // inferred (only works if code not minified/obfuscated)\n
Login.c(90): * $injector.invoke(function(serviceA){});\n
Login.c(90): *\n
Login.c(90): * // annotated\n
Login.c(90): * function explicit(serviceA) {};\n
Login.c(90): * explicit.$inject = ['serviceA'];\n
Login.c(90): * $injector.invoke(explicit);\n
Login.c(90): *\n
Login.c(90): * // inline\n
Login.c(90): * $injector.invoke(['serviceA', function(serviceA){}]);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Inference\n
Login.c(90): *\n
Login.c(90): * In JavaScript calling `toString()` on a function returns the
function definition. The d
Login.c(90): efinition\n
Login.c(90): * can then be parsed and the function arguments can be extracted.
*NOTE:* This does not w
Login.c(90): ork with\n
Login.c(90): * minification, and obfuscation tools since these tools change
the argument names.\n
Login.c(90): *\n
Login.c(90): * ## `$inject` Annotation\n
Login.c(90): * By adding an `$inject` property onto a function the injection
parameters can be specifi
Login.c(90): ed.\n
Login.c(90): *\n
Login.c(90): * ## Inline\n
Login.c(90): * As an array of injection names, where the last item in the
array is the function to cal
Login.c(90): l.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $injector#get\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Return an instance of the service.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the instance to retrieve.\n
Login.c(90): * @return {*} The instance.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $injector#invoke\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Invoke the method and supply the method arguments from the
`$injector`.\n
Login.c(90): *\n
Login.c(90): * @param {!Function} fn The function to invoke. Function
parameters are injected accordin
Login.c(90): g to the\n
Login.c(90): * {@link guide/di $inject Annotation} rules.\n
Login.c(90): * @param {Object=} self The `this` for the invoked method.\n
Login.c(90): * @param {Object=} locals Optional object. If preset then any
argument names are read fro
Login.c(90): m this\n
Login.c(90): * object first, before the `$injector` is
consulted.\n
Login.c(90): * @returns {*} the value returned by the invoked `fn` function.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $injector#has\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Allows the user to query if the particular service exists.\n
Login.c(90): *\n
Login.c(90): * @param {string} Name of the service to query.\n
Login.c(90): * @returns {boolean} returns true if injector has given
service.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $injector#instantiate\n
Login.c(90): * @description\n
Login.c(90): * Create a new instance of JS type. The method takes a
constructor function, invokes the
Login.c(90): new\n
Login.c(90): * operator, and supplies all of the arguments to the constructor
function as specified by
Login.c(90): the\n
Login.c(90): * constructor annotation.\n
Login.c(90): *\n
Login.c(90): * @param {Function} Type Annotated constructor function.\n
Login.c(90): * @param {Object=} locals Optional object. If preset then any
argument names are read fro
Login.c(90): m this\n
Login.c(90): * object first, before the `$injector` is consulted.\n
Login.c(90): * @returns {Object} new instance of `Type`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $injector#annotate\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns an array of service names which the function is
requesting for injection. This
Login.c(90): API is\n
Login.c(90): * used by the injector to determine which services need to be
injected into the function
Login.c(90): when the\n
Login.c(90): * function is invoked. There are three ways in which the function
can be annotated with t
Login.c(90): he needed\n
Login.c(90): * dependencies.\n
Login.c(90): *\n
Login.c(90): * # Argument names\n
Login.c(90): *\n
Login.c(90): * The simplest form is to extract the dependencies from the
arguments of the function. Th
Login.c(90): is is done\n
Login.c(90): * by converting the function into a string using `toString()`
method and extracting the a
Login.c(90): rgument\n
Login.c(90): * names.\n
Login.c(90): * ```js\n
Login.c(90): * // Given\n
Login.c(90): * function MyController($scope, $route) {\n
Login.c(90): * // ...\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * // Then\n
Login.c(90): * expect(injector.annotate(MyController)).toEqual(['$scope',
'$route']);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * This method does not work with code minification / obfuscation.
For this reason the fol
Login.c(90): lowing\n
Login.c(90): * annotation strategies are supported.\n
Login.c(90): *\n
Login.c(90): * # The `$inject` property\n
Login.c(90): *\n
Login.c(90): * If a function has an `$inject` property and its value is an
array of strings, then the
Login.c(90): strings\n
Login.c(90): * represent names of services to be injected into the function.\n
Login.c(90): * ```js\n
Login.c(90): * // Given\n
Login.c(90): * var MyController = function(obfuscatedScope, obfuscatedRoute)
{\n
Login.c(90): * // ...\n
Login.c(90): * }\n
Login.c(90): * // Define function dependencies\n
Login.c(90): * MyController['$inject'] = ['$scope', '$route'];\n
Login.c(90): *\n
Login.c(90): * // Then\n
Login.c(90): * expect(injector.annotate(MyController)).toEqual(['$scope',
'$route']);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * # The array notation\n
Login.c(90): *\n
Login.c(90): * It is often desirable to inline Injected functions and that's
when setting the `$inject
Login.c(90): ` property\n
Login.c(90): * is very inconvenient. In these situations using the array
notation to specify the depen
Login.c(90): dencies in\n
Login.c(90): * a way that survives minification is a better choice:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // We wish to write this (not minification / obfuscation
safe)\n
Login.c(90): * injector.invoke(function($compile, $rootScope) {\n
Login.c(90): * // ...\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // We are forced to write break inlining\n
Login.c(90): * var tmpFn = function(obfuscatedCompile, obfuscatedRootScope)
{\n
Login.c(90): * // ...\n
Login.c(90): * };\n
Login.c(90): * tmpFn.$inject = ['$compile', '$rootScope'];\n
Login.c(90): * injector.invoke(tmpFn);\n
Login.c(90): *\n
Login.c(90): * // To better support inline function the inline annotation is
supported\n
Login.c(90): * injector.invoke(['$compile', '$rootScope',
function(obfCompile, obfRootScope) {\n
Login.c(90): * // ...\n
Login.c(90): * }]);\n
Login.c(90): *\n
Login.c(90): * // Therefore\n
Login.c(90): * expect(injector.annotate(\n
Login.c(90): * ['$compile', '$rootScope', function(obfus_$compile,
obfus_$rootScope) {}])\n
Login.c(90): * ).toEqual(['$compile', '$rootScope']);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {Function|Array.<string|Function>} fn Function for which
dependent service names
Login.c(90): need to\n
Login.c(90): * be retrieved as described above.\n
Login.c(90): *\n
Login.c(90): * @returns {Array.<string>} The names of the services which the
function requires.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $provide\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * The {@link auto.$provide $provide} service has a number of
methods for registering comp
Login.c(90): onents\n
Login.c(90): * with the {@link auto.$injector $injector}. Many of these
functions are also exposed on\n
Login.c(90): * {@link angular.Module}.\n
Login.c(90): *\n
Login.c(90): * An Angular **service** is a singleton object created by a
**service factory**. These *
Login.c(90): *service\n
Login.c(90): * factories** are functions which, in turn, are created by a
**service provider**.\n
Login.c(90): * The **service providers** are constructor functions. When
instantiated they must contai
Login.c(90): n a\n
Login.c(90): * property called `$get`, which holds the **service factory**
function.\n
Login.c(90): *\n
Login.c(90): * When you request a service, the {@link auto.$injector
$injector} is responsible for fin
Login.c(90): ding the\n
Login.c(90): * correct **service provider**, instantiating it and then calling
its `$get` **service fa
Login.c(90): ctory**\n
Login.c(90): * function to get the instance of the **service**.\n
Login.c(90): *\n
Login.c(90): * Often services have no configuration options and there is no
need to add methods to the
Login.c(90): service\n
Login.c(90): * provider. The provider will be no more than a constructor
function with a `$get` prope
Login.c(90): rty. For\n
Login.c(90): * these cases the {@link auto.$provide $provide} service has
additional helper methods to
Login.c(90): register\n
Login.c(90): * services without specifying a provider.\n
Login.c(90): *\n
Login.c(90): * * {@link auto.$provide#provider provider(provider)} - registers
a **service provider**
Login.c(90): with the\n
Login.c(90): * {@link auto.$injector $injector}\n
Login.c(90): * * {@link auto.$provide#constant constant(obj)} - registers a
value/object that can be a
Login.c(90): ccessed by\n
Login.c(90): * providers and services.\n
Login.c(90): * * {@link auto.$provide#value value(obj)} - registers a
value/object that can only be ac
Login.c(90): cessed by\n
Login.c(90): * services, not providers.\n
Login.c(90): * * {@link auto.$provide#factory factory(fn)} - registers a
service **factory function**,
Login.c(90): `fn`,\n
Login.c(90): * that will be wrapped in a **service provider** object,
whose `$get` property will c
Login.c(90): ontain the\n
Login.c(90): * given factory function.\n
Login.c(90): * * {@link auto.$provide#service service(class)} - registers a
**constructor function**,
Login.c(90): `class`\n
Login.c(90): * that will be wrapped in a **service provider** object,
whose `$get` property will i
Login.c(90): nstantiate\n
Login.c(90): * a new object using the given constructor function.\n
Login.c(90): *\n
Login.c(90): * See the individual methods for more information and examples.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide
Login.c(90): t=2461ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): #provider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **provider function** with the {@link auto.$injector
$injector}. Provider fu
Login.c(90): nctions\n
Login.c(90): * are constructor functions, whose instances are responsible for
"providing" a factory fo
Login.c(90): r a\n
Login.c(90): * service.\n
Login.c(90): *\n
Login.c(90): * Service provider names start with the name of the service they
provide followed by `Pro
Login.c(90): vider`.\n
Login.c(90): * For example, the {@link ng.$log $log} service has a provider
called\n
Login.c(90): * {@link ng.$logProvider $logProvider}.\n
Login.c(90): *\n
Login.c(90): * Service provider objects can have additional methods which
allow configuration of the p
Login.c(90): rovider\n
Login.c(90): * and its service. Importantly, you can configure what kind of
service is created by the
Login.c(90): `$get`\n
Login.c(90): * method, or how that service will act. For example, the {@link
ng.$logProvider $logProvi
Login.c(90): der} has a\n
Login.c(90): * method {@link ng.$logProvider#debugEnabled debugEnabled}\n
Login.c(90): * which lets you specify whether the {@link ng.$log $log} service
will log debug messages
Login.c(90): to the\n
Login.c(90): * console or not.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the instance. NOTE: the
provider will be available und
Login.c(90): er `name +\n
Login.c(90): 'Provider'` key.\n
Login.c(90): * @param {(Object|function())} provider If the provider is:\n
Login.c(90): *\n
Login.c(90): * - `Object`: then it should have a `$get` method. The `$get`
method will be invoked us
Login.c(90): ing\n
Login.c(90): * {@link auto.$injector#invoke $injector.invoke()} when an
instance needs to be creat
Login.c(90): ed.\n
Login.c(90): * - `Constructor`: a new instance of the provider will be
created using\n
Login.c(90): * {@link auto.$injector#instantiate $injector.instantiate()},
then treated as `object
Login.c(90): `.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} registered provider instance\n
Login.c(90): \n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * The following example shows how to create a simple event
tracking service and register
Login.c(90): it using\n
Login.c(90): * {@link auto.$provide#provider $provide.provider()}.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Define the eventTracker provider\n
Login.c(90): * function EventTrackerProvider() {\n
Login.c(90): * var trackingUrl = '/track';\n
Login.c(90): *\n
Login.c(90): * // A provider method for configuring where the tracked
events should been saved\n
Login.c(90): * this.setTrackingUrl = function(url) {\n
Login.c(90): * trackingUrl = url;\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * // The service factory function\n
Login.c(90): * this.$get = ['$http', function($http) {\n
Login.c(90): * var trackedEvents = {};\n
Login.c(90): * return {\n
Login.c(90): * // Call this to track an event\n
Login.c(90): * event: function(event) {\n
Login.c(90): * var count = trackedEvents[event] || 0;\n
Login.c(90): * count += 1;\n
Login.c(90): * trackedEvents[event] = count;\n
Login.c(90): * return count;\n
Login.c(90): * },\n
Login.c(90): * // Call this to save the tracked events to the
trackingUrl\n
Login.c(90): * save: function() {\n
Login.c(90): * $http.post(trackingUrl, trackedEvents);\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): * }];\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * describe('eventTracker', function() {\n
Login.c(90): * var postSpy;\n
Login.c(90): *\n
Login.c(90): * beforeEach(module(function($provide) {\n
Login.c(90): * // Register the eventTracker provider\n
Login.c(90): * $provide.provider('eventTracker', EventTrackerProvider);\n
Login.c(90): * }));\n
Login.c(90): *\n
Login.c(90): * beforeEach(module(function(eventTrackerProvider) {\n
Login.c(90): * // Configure eventTracker provider\n
Login.c(90): * eventTrackerProvider.setTrackingUrl('/custom-track');\n
Login.c(90): * }));\n
Login.c(90): *\n
Login.c(90): * it('tracks events', inject(function(eventTracker) {\n
Login.c(90): * expect(eventTracker.event('login')).toEqual(1);\n
Login.c(90): * expect(eventTracker.event('login')).toEqual(2);\n
Login.c(90): * }));\n
Login.c(90): *\n
Login.c(90): * it('saves to the tracking url',
inject(function(eventTracker, $http) {\n
Login.c(90): * postSpy = spyOn($http, 'post');\n
Login.c(90): * eventTracker.event('login');\n
Login.c(90): * eventTracker.save();\n
Login.c(90): * expect(postSpy).toHaveBeenCalled();\n
Login.c(90): *
expect(postSpy.mostRecentCall.args[0]).not.toEqual('/track');\n
Login.c(90): * expect(postSpy.mostRecentCall.args[0]).toEqual('/custom-
track');\n
Login.c(90): * expect(postSpy.mostRecentCall.args[1]).toEqual({ 'login':
1 });\n
Login.c(90): * }));\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide#factory\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **service factory**, which will be called to return
the service instance.\n
Login.c(90): * This is short for registering a service where its provider
consists of only a `$get` pr
Login.c(90): operty,\n
Login.c(90): * which is the given service factory function.\n
Login.c(90): * You should use {@link auto.$provide#factory
$provide.factory(getFn)} if you do not need
Login.c(90): to\n
Login.c(90): * configure your service in a provider.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the instance.\n
Login.c(90): * @param {function()} $getFn The $getFn for the instance
creation. Internally this is a s
Login.c(90): hort hand\n
Login.c(90): * for `$provide.provider(name, {$get:
$getFn})`.\n
Login.c(90): * @returns {Object} registered provider instance\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here is an example of registering a service\n
Login.c(90): * ```js\n
Login.c(90): * $provide.factory('ping', ['$http', function($http) {\n
Login.c(90): * return function ping() {\n
Login.c(90): * return $http.send('/ping');\n
Login.c(90): * };\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): * You would then inject and use this service like this:\n
Login.c(90): * ```js\n
Login.c(90): * someModule.controller('Ctrl', ['ping', function(ping) {\n
Login.c(90): * ping();\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide#service\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **service constructor**, which will be invoked with
`new` to create the serv
Login.c(90): ice\n
Login.c(90): * instance.\n
Login.c(90): * This is short for registering a service where its provider's
`$get` property is the ser
Login.c(90): vice\n
Login.c(90): * constructor function that will be used to instantiate the
service instance.\n
Login.c(90): *\n
Login.c(90): * You should use {@link auto.$provide#service
$provide.service(class)} if you define your
Login.c(90): service\n
Login.c(90): * as a type/class.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the instance.\n
Login.c(90): * @param {Function} constructor A class (constructor function)
that will be instantiated.
Login.c(90): \n
Login.c(90): * @returns {Object} registered provider instance\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here is an example of registering a service using\n
Login.c(90): * {@link auto.$provide#service $provide.service(class)}.\n
Login.c(90): * ```js\n
Login.c(90): * var Ping = function($http) {\n
Login.c(90): * this.$http = $http;\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * Ping.$inject = ['$http'];\n
Login.c(90): *\n
Login.c(90): * Ping.prototype.send = function() {\n
Login.c(90): * return this.$http.get('/ping');\n
Login.c(90): * };\n
Login.c(90): * $provide.service('ping', Ping);\n
Login.c(90): * ```\n
Login.c(90): * You would then inject and use this service like this:\n
Login.c(90): * ```js\n
Login.c(90): * someModule.controller('Ctrl', ['ping', function(ping) {\n
Login.c(90): * ping.send();\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide#value\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **value service** with the {@link auto.$injector
$injector}, such as a strin
Login.c(90): g, a\n
Login.c(90): * number, an array, an object or a function. This is short for
registering a service whe
Login.c(90): re its\n
Login.c(90): * provider's `$get` property is a factory function that takes no
arguments and returns th
Login.c(90): e **value\n
Login.c(90): * service**.\n
Login.c(90): *\n
Login.c(90): * Value services are similar to constant services, except that
they cannot be injected in
Login.c(90): to a\n
Login.c(90): * module configuration function (see {@link
angular.Module#config}) but they can be overr
Login.c(90): idden by\n
Login.c(90): * an Angular\n
Login.c(90): * {@link auto.$provide#decorator decorator}.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the instance.\n
Login.c(90): * @param {*} value The value.\n
Login.c(90): * @returns {Object} registered provider instance\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here are some examples of creating value services.\n
Login.c(90): * ```js\n
Login.c(90): * $provide.value('ADMIN_USER', 'admin');\n
Login.c(90): *\n
Login.c(90): * $provide.value('RoleLookup', { admin: 0, writer: 1, reader: 2
});\n
Login.c(90): *\n
Login.c(90): * $provide.value('halfOf', function(value) {\n
Login.c(90): * return value / 2;\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide#constant\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **constant service**, such as a string, a number, an
array, an object or a f
Login.c(90): unction,\n
Login.c(90): * with the {@link auto.$injector $injector}. Unlike {@link auto.
$provide#value value} it
Login.c(90): can be\n
Login.c(90): * injected into a module configuration function (see {@link
angular.Module#config}) and i
Login.c(90): t cannot\n
Login.c(90): * be overridden by an Angular {@link auto.$provide#decorator
decorator}.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the constant.\n
Login.c(90): * @param {*} value The constant value.\n
Login.c(90): * @returns {Object} registered instance\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here a some examples of creating constants:\n
Login.c(90): * ```js\n
Login.c(90): * $provide.constant('SHARD_HEIGHT', 306);\n
Login.c(90): *\n
Login.c(90): * $provide.constant('MY_COLOURS', ['red', 'blue', 'grey']);\n
Login.c(90): *\n
Login.c(90): * $provide.constant('double', function(value) {\n
Login.c(90): * return value * 2;\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $provide#decorator\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Register a **service decorator** with the {@link auto.$injector
$injector}. A service d
Login.c(90): ecorator\n
Login.c(90): * intercepts the creation of a service, allowing it to override
or modify the behaviour o
Login.c(90): f the\n
Login.c(90): * service. The object returned by the decorator may be the
original service, or a new ser
Login.c(90): vice\n
Login.c(90): * object which replaces or wraps and delegates to the original
service.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the service to decorate.\n
Login.c(90): * @param {function()} decorator This function will be invoked
when the service needs to b
Login.c(90): e\n
Login.c(90): * instantiated and should return the decorated service
instance. The function is calle
Login.c(90): d using\n
Login.c(90): * the {@link auto.$injector#invoke injector.invoke} method and
is therefore fully inje
Login.c(90): ctable.\n
Login.c(90): * Local injection arguments:\n
Login.c(90): *\n
Login.c(90): * * `$delegate` - The original service instance, which can be
monkey patched, configur
Login.c(90): ed,\n
Login.c(90): * decorated or delegated to.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here we decorate the {@link ng.$log $log} service to convert
warnings to errors by inte
Login.c(90): rcepting\n
Login.c(90): * calls to {@link ng.$log#error $log.warn()}.\n
Login.c(90): * ```js\n
Login.c(90): * $provide.decorator('$log', ['$delegate', function($delegate)
{\n
Login.c(90): * $delegate.warn = $delegate.error;\n
Login.c(90): * return $delegate;\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function createInjector(modulesToLoad) {\n
Login.c(90): var INSTANTIATING = {},\n
Login.c(90): providerSuffix = 'Provider',\n
Login.c(90): path = [],\n
Login.c(90): loadedModules = new HashMap([], true),\n
Login.c(90): providerCache = {\n
Login.c(90): $provide: {\n
Login.c(90): provider: supportObject(provider),\n
Login.c(90): factory: supportObject(factory),\n
Login.c(90): service: supportObject(service),\n
Login.c(90): value: supportObject(value),\n
Login.c(90): constant: supportObject(constant),\n
Login.c(90): decorator: decorator\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): providerInjector = (providerCache.$injector =\n
Login.c(90): createInternalInjector(providerCache, function() {\n
Login.c(90): throw $injectorMinErr('unpr', "Unknown provider: {0}",
path.join(' <- '));\n
Login.c(90): })),\n
Login.c(90): instanceCache = {},\n
Login.c(90): instanceInjector = (instanceCache.$injector =\n
Login.c(90): createInternalInjector(instanceCache,
function(servicename) {\n
Login.c(90): var provider = providerInjector.get(servicename +
providerSuffix);\n
Login.c(90): return instanceInjector.invoke(provider.$get,
provider);\n
Login.c(90): }));\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): forEach(loadModules(modulesToLoad), function(fn)
{ instanceInjector.invoke(fn || noop);
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return instanceInjector;\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////\n
Login.c(90): // $provider\n
Login.c(90): ////////////////////////////////////\n
Login.c(90): \n
Login.c(90): function supportObject(delegate) {\n
Login.c(90): return function(key, value) {\n
Login.c(90): if (isObject(key)) {\n
Login.c(90): forEach(key, reverseParams(delegate));\n
Login.c(90): } else {\n
Login.c(90): return delegate(key, value);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function provider(name, provider_) {\n
Login.c(90): assertNotHasOwnProperty(name, 'service');\n
Login.c(90): if (isFunction(provider_) || isArray(provider_)) {\n
Login.c(90): provider_ = providerInjector.instantiate(provider_);\n
Login.c(90): }\n
Login.c(90): if (!provider_.$get) {\n
Login.c(90): throw $injectorMinErr('pget', "Provider '{0}' must define
$get factory method.", nam
Login.c(90): e);\n
Login.c(90): }\n
Login.c(90): return providerCache[name + providerSuffix] = provider_;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function factory(name, factoryFn) { return provider(name,
{ $get: factoryFn }); }\n
Login.c(90): \n
Login.c(90): function service(name, constructor) {\n
Login.c(90): return factory(name, ['$injector', function($injector) {\n
Login.c(90): return $injector.instantiate(constructor);\n
Login.c(90): }]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function value(name, val) { return factory(name,
valueFn(val)); }\n
Login.c(90): \n
Login.c(90): function constant(name, value) {\n
Login.c(90): assertNotHasOwnProperty(name, 'constant');\n
Login.c(90): providerCache[name] = value;\n
Login.c(90): instanceCache[name] = value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function decorator(serviceName, decorFn) {\n
Login.c(90): var origProvider = providerInjector.get(serviceName +
providerSuffix),\n
Login.c(90): orig$get = origProvider.$get;\n
Login.c(90): \n
Login.c(90): origProvider.$get = function() {\n
Login.c(90): var origInstance = instanceInjector.invoke(orig$get,
origProvider);\n
Login.c(90): return instanceInjector.invoke(decorFn, null, {$delegate:
origInstance});\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////\n
Login.c(90): // Module Loading\n
Login.c(90): ////////////////////////////////////\n
Login.c(90): function loadModules(modulesToLoad){\n
Login.c(90): var runBlocks = [], moduleFn, invokeQueue, i, ii;\n
Login.c(90): forEach(modulesToLoad, function(module) {\n
Login.c(90): if (loadedModules.get(module)) return;\n
Login.c(90): loadedModules.put(module, true);\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): if (isString(module)) {\n
Login.c(90): moduleFn = angularModule(module);\n
Login.c(90): runBlocks =
runBlocks.concat(loadModules(moduleFn.requires)).c
Login.c(90): t=2477ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): oncat(moduleFn._runBlocks);\n
Login.c(90): \n
Login.c(90): for(invokeQueue = moduleFn._invokeQueue, i = 0, ii =
invokeQueue.length; i < ii;
Login.c(90): i++) {\n
Login.c(90): var invokeArgs = invokeQueue[i],\n
Login.c(90): provider = providerInjector.get(invokeArgs[0]);\n
Login.c(90): \n
Login.c(90): provider[invokeArgs[1]].apply(provider,
invokeArgs[2]);\n
Login.c(90): }\n
Login.c(90): } else if (isFunction(module)) {\n
Login.c(90): runBlocks.push(providerInjector.invoke(module));\n
Login.c(90): } else if (isArray(module)) {\n
Login.c(90): runBlocks.push(providerInjector.invoke(module));\n
Login.c(90): } else {\n
Login.c(90): assertArgFn(module, 'module');\n
Login.c(90): }\n
Login.c(90): } catch (e) {\n
Login.c(90): if (isArray(module)) {\n
Login.c(90): module = module[module.length - 1];\n
Login.c(90): }\n
Login.c(90): if (e.message && e.stack && e.stack.indexOf(e.message) ==
-1) {\n
Login.c(90): // Safari & FF's stack traces don't contain
error.message content\n
Login.c(90): // unlike those of Chrome and IE\n
Login.c(90): // So if stack doesn't contain message, we create a new
string that contains bot
Login.c(90): h.\n
Login.c(90): // Since error.stack is read-only in Safari, I'm
overriding e and not e.stack he
Login.c(90): re.\n
Login.c(90): /* jshint -W022 */\n
Login.c(90): e = e.message + '\\n' + e.stack;\n
Login.c(90): }\n
Login.c(90): throw $injectorMinErr('modulerr', "Failed to instantiate
module {0} due to:\\n{1}"
Login.c(90): ,\n
Login.c(90): module, e.stack || e.message || e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return runBlocks;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////\n
Login.c(90): // internal Injector\n
Login.c(90): ////////////////////////////////////\n
Login.c(90): \n
Login.c(90): function createInternalInjector(cache, factory) {\n
Login.c(90): \n
Login.c(90): function getService(serviceName) {\n
Login.c(90): if (cache.hasOwnProperty(serviceName)) {\n
Login.c(90): if (cache[serviceName] === INSTANTIATING) {\n
Login.c(90): throw $injectorMinErr('cdep', 'Circular dependency
found: {0}',\n
Login.c(90): serviceName + ' <- ' + path.join(' <- '));\n
Login.c(90): }\n
Login.c(90): return cache[serviceName];\n
Login.c(90): } else {\n
Login.c(90): try {\n
Login.c(90): path.unshift(serviceName);\n
Login.c(90): cache[serviceName] = INSTANTIATING;\n
Login.c(90): return cache[serviceName] = factory(serviceName);\n
Login.c(90): } catch (err) {\n
Login.c(90): if (cache[serviceName] === INSTANTIATING) {\n
Login.c(90): delete cache[serviceName];\n
Login.c(90): }\n
Login.c(90): throw err;\n
Login.c(90): } finally {\n
Login.c(90): path.shift();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function invoke(fn, self, locals){\n
Login.c(90): var args = [],\n
Login.c(90): $inject = annotate(fn),\n
Login.c(90): length, i,\n
Login.c(90): key;\n
Login.c(90): \n
Login.c(90): for(i = 0, length = $inject.length; i < length; i++) {\n
Login.c(90): key = $inject[i];\n
Login.c(90): if (typeof key !== 'string') {\n
Login.c(90): throw $injectorMinErr('itkn',\n
Login.c(90): 'Incorrect injection token! Expected service
name as string, got {0}', k
Login.c(90): ey);\n
Login.c(90): }\n
Login.c(90): args.push(\n
Login.c(90): locals && locals.hasOwnProperty(key)\n
Login.c(90): ? locals[key]\n
Login.c(90): : getService(key)\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): if (isArray(fn)) {\n
Login.c(90): fn = fn[length];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // http://jsperf.com/angularjs-invoke-apply-vs-switch\n
Login.c(90): // #5388\n
Login.c(90): return fn.apply(self, args);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function instantiate(Type, locals) {\n
Login.c(90): var Constructor = function() {},\n
Login.c(90): instance, returnedValue;\n
Login.c(90): \n
Login.c(90): // Check if Type is annotated and use just the given
function at n-1 as parameter\n
Login.c(90): // e.g. someModule.factory('greeter', ['$window',
function(renamed$window) {}]);\n
Login.c(90): Constructor.prototype = (isArray(Type) ? Type[Type.length -
1] : Type).prototype;\n
Login.c(90): instance = new Constructor();\n
Login.c(90): returnedValue = invoke(Type, instance, locals);\n
Login.c(90): \n
Login.c(90): return isObject(returnedValue) ||
isFunction(returnedValue) ? returnedValue : instan
Login.c(90): ce;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): invoke: invoke,\n
Login.c(90): instantiate: instantiate,\n
Login.c(90): get: getService,\n
Login.c(90): annotate: annotate,\n
Login.c(90): has: function(name) {\n
Login.c(90): return providerCache.hasOwnProperty(name + providerSuffix)
|| cache.hasOwnProperty
Login.c(90): (name);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $anchorScroll\n
Login.c(90): * @kind function\n
Login.c(90): * @requires $window\n
Login.c(90): * @requires $location\n
Login.c(90): * @requires $rootScope\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * When called, it checks current value of `$location.hash()` and
scrolls to the related e
Login.c(90): lement,\n
Login.c(90): * according to rules specified in\n
Login.c(90): * [Html5 spec](http://dev.w3.org/html5/spec/Overview.html#the-
indicated-part-of-the-docum
Login.c(90): ent).\n
Login.c(90): *\n
Login.c(90): * It also watches the `$location.hash()` and scrolls whenever it
changes to match any anc
Login.c(90): hor.\n
Login.c(90): * This can be disabled by calling
`$anchorScrollProvider.disableAutoScrolling()`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div id="scrollArea" ng-controller="ScrollCtrl">\n
Login.c(90): <a ng-click="gotoBottom()">Go to bottom</a>\n
Login.c(90): <a id="bottom"></a> You're at the bottom!\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): function ScrollCtrl($scope, $location, $anchorScroll) {\n
Login.c(90): $scope.gotoBottom = function (){\n
Login.c(90): // set the location.hash to the id of\n
Login.c(90): // the element you wish to scroll to.\n
Login.c(90): $location.hash('bottom');\n
Login.c(90): \n
Login.c(90): // call $anchorScroll()\n
Login.c(90): $anchorScroll();\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): #scrollArea {\n
Login.c(90): height: 350px;\n
Login.c(90): overflow: auto;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): #bottom {\n
Login.c(90): display: block;\n
Login.c(90): margin-top: 2000px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $AnchorScrollProvider() {\n
Login.c(90): \n
Login.c(90): var autoScrollingEnabled = true;\n
Login.c(90): \n
Login.c(90): this.disableAutoScrolling = function() {\n
Login.c(90): autoScrollingEnabled = false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$window', '$location', '$rootScope',
function($window, $location, $rootSco
Login.c(90): pe) {\n
Login.c(90): var document = $window.document;\n
Login.c(90): \n
Login.c(90): // helper function to get first anchor from a NodeList\n
Login.c(90): // can't use filter.filter, as it accepts only instances of
Array\n
Login.c(90): // and IE can't convert NodeList to an array using [].slice\n
Login.c(90): // TODO(vojta): use filter if we change it to accept lists as
well\n
Login.c(90): function getFirstAnchor(list) {\n
Login.c(90): var result = null;\n
Login.c(90): forEach(list, function(element) {\n
Login.c(90): if (!result && lowercase(element.nodeName) === 'a') result
= element;\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function scroll() {\n
Login.c(90): var hash = $location.hash(), elm;\n
Login.c(90): \n
Login.c(90): // empty hash, scroll to the top of the page\n
Login.c(90): if (!hash) $window.scrollTo(0, 0);\n
Login.c(90): \n
Login.c(90): // element with given id\n
Login.c(90): else if ((elm = document.getElementById(hash)))
elm.scrollIntoView();\n
Login.c(90): \n
Login.c(90): // first anchor with given name :-D\n
Login.c(90): else if ((elm =
getFirstAnchor(document.getElementsByName(hash)))) elm.scrollIntoVie
Login.c(90): w();\n
Login.c(90): \n
Login.c(90): // no element and hash == 'top', scroll to the top of the
page\n
Login.c(90): else if (hash === 'top') $window.scrollTo(0, 0);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // does not scroll when user clicks on anchor link that is
currently on\n
Login.c(90): // (no url change, no $location.hash() change), browser native
does scroll\n
Login.c(90): if (autoScrollingEnabled) {\n
Login.c(90): $rootScope.$watch(function autoScrollWatch() {return
$location.hash();},\n
Login.c(90): function autoScrollWatchAction() {\n
Login.c(90): $rootScope.$evalAsync(scroll);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return scroll;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var $animateMinErr = minErr('$animate');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $animateProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Default implementation of $animate that doesn't perform any
animations, instead just\n
Login.c(90): * synchronously performs DOM\n
Login.c(90): * updates and calls done() callbacks.\n
Login.c(90): *\n
Login.c(90): * In order to enable animations the ngAnimate module has to be
loaded.\n
Login.c(90): *\n
Login.c(90): * To see the functional implementation check out
src/ngAnimate/animate.js\n
Login.c(90): */\n
Login.c(90): var $AnimateProvider = ['$provide', function($provide) {\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): this.$$selectors = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animateProvider#register\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a new injectable animation factory function. The
factory function produces
Login.c(90): the\n
Login.c(90): * animation object which contains callback functions for each
event that is expected to
Login.c(90): be\n
Login.c(90): * animated.\n
Login.c(90): *\n
Login.c(90): * * `eventFn`: `function(Element, doneFunction)` The element
to animate, the `doneFun
Login.c(90): ction`\n
Login.c(90): * must be called once the element animation is complete. If a
function is returned th
Login.c(90): en the\n
Login.c(90): * animation service will use this function to cancel the
animation whenever a cancel
Login.c(90): event is\n
Login.c(90): * triggered.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * return {\n
Login.c(90): * eventFn : function(element, done) {\n
Login.c(90): * //code to run the animation\n
Login.c(90): * //once complete, then run done()\n
Login.c(90): * return function cancellationFunction() {\n
Login.c(90): * //code to cancel the animation\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the animation.\n
Login.c(90): * @param {Function} factory The factory function that will be
executed to return the an
Login.c(90): imation\n
Login.c(90): * object.\n
Login.c(90): */\n
Login.c(90): this.register = function(name, factory) {\n
Login.c(90): var key = name + '-animation';\n
Login.c(90): if (name && name.charAt(0) != '.') throw
$animateMinErr('notcsel',\n
Login.c(90): "Expecting class selector starting with '.' got '{0}'.",
name);\n
Login.c(90): this.$$selectors[name.substr(1)] = key;\n
Login.c(90): $provide.factory(key, factory);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animateProvider#classNameFilter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets and/or returns the CSS class regular expression that is
checked when performing\n
Login.c(90): * an animation. Upon bootstrap the classNameFilter value is not
set at all and will\n
Login.c(90): * therefore enable $animate to attempt to perform an animation
on any element.\n
Login.c(90): * When setting the classNameFilter value, animations will only
be performed on elements
Login.c(90): \n
Login.c(90): * that successfully match the filter expression. This in turn
can boost performance\n
Login.c(90): * for low-powered devices as well as applications containing a
lot of structural operat
Login.c(90): ions.\n
Login.c(90): * @param {RegExp=} expression The className expression which
will be checked against al
Login.c(90): l animations\n
Login.c(90): * @return {RegExp} The current CSS className expression value.
If null then there is no
Login.c(90): expression value\n
Login.c(90): */\n
Login.c(90): this.classNameFilter = function(expression) {\n
Login.c(90): if(arguments.length === 1) {\n
Login.c(90): this.$$classNameFilter = (expression instanceof RegExp) ?
expression : null;\n
Login.c(90): }\n
Login.c(90): return this.$$classNameFilter;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$timeout', '$$asyncCallback', function($timeout, $
$asyncCallback) {\n
Login.c(90): \n
Login.c(90): function async(fn) {\n
Login.c(90): fn && $$asyncCallback(fn);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $animate\n
Login.c(90): * @description The $animate service provides rudimentary DOM
manipulation functions t
Login.c(90): o\n
Login.c(90): * insert, remove and move elements within the DOM, as well as
adding and removing cla
Login.c(90): sses.\n
Login.c(90): * This service is the core service used by the ngAnimate
$animator service which prov
Login.c(90): ides\n
Login.c(90): * high-level animation hooks for CSS and JavaScript.\n
Login.c(90): *\n
Login.c(90): * $animate is available in the AngularJS core, however, the
ngAnimate module must be
Login.c(90): included\n
Login.c(90): * to enable full out animation support. Otherwise, $animate
will only perform simple
Login.c(90): DOM\n
Login.c(90): * manipulation operations.\n
Login.c(90): *\n
Login.c(90): * To learn more about enabling animation support, click here
to visit the {@link ngAn
Login.c(90): imate\n
Login.c(90): * ngAnimate module page} as well as the {@link ngAnimate.
$animate ngAnimate $animate
Login.c(90): service\n
Login.c(90): * page}.\n
Login.c(90): */\n
Login.c(90): return {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#enter\n
Login.c(90): * @kind function\n
Login.c(90): * @description Inserts the element into the DOM either
after the `after` element or
Login.c(90): within\n
Login.c(90): * the `parent` element. Once complete, the done()
callback will be fired (if prov
Login.c(90): ided).\n
Login.c(90): * @param {DOMElement} element the element which will be
inserted into the DOM\n
Login.c(90): * @param {DOMElement} parent the parent element which will
append the element as\n
Login.c(90): * a child (if the after element is not present)\n
Login.c(90): * @param {DOMElement} after the sibling element which will
append the element\n
Login.c(90): * after itself\n
Login.c(90): * @param {Function=} done callback function that will be
called after the element h
Login.c(90): as been\n
Login.c(90): * inserted into the DOM\n
Login.c(90): */\n
Login.c(90): enter : function(element, parent, after, done) {\n
Login.c(90): if (after) {\n
Login.c(90): after.after(element);\n
Login.c(90): } else {\n
Login.c(90): if (!parent || !parent[0]) {\n
Login.c(90): parent = after.parent();\n
Login.c(90): }\n
Login.c(90): parent.append(element);\n
Login.c(90): }\n
Login.c(90): async(done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#leave\n
Login.c(90): * @kind function\n
Login.c(90): * @description Removes the element from the DOM. Once
complete, the done() callback
Login.c(90): will be\n
Login.c(90): * fired (if provided).\n
Login.c(90): * @param {DOMElement} element the element which will be
removed from the DOM\n
Login.c(90): * @param {Function=} done callback function th
Login.c(90): t=2494ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): at will be called after the element has been\n
Login.c(90): * removed from the DOM\n
Login.c(90): */\n
Login.c(90): leave : function(element, done) {\n
Login.c(90): element.remove();\n
Login.c(90): async(done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#move\n
Login.c(90): * @kind function\n
Login.c(90): * @description Moves the position of the provided element
within the DOM to be plac
Login.c(90): ed\n
Login.c(90): * either after the `after` element or inside of the
`parent` element. Once complete
Login.c(90): , the\n
Login.c(90): * done() callback will be fired (if provided).\n
Login.c(90): *\n
Login.c(90): * @param {DOMElement} element the element which will be
moved around within the\n
Login.c(90): * DOM\n
Login.c(90): * @param {DOMElement} parent the parent element where the
element will be\n
Login.c(90): * inserted into (if the after element is not present)\n
Login.c(90): * @param {DOMElement} after the sibling element where the
element will be\n
Login.c(90): * positioned next to\n
Login.c(90): * @param {Function=} done the callback function (if
provided) that will be fired af
Login.c(90): ter the\n
Login.c(90): * element has been moved to its new position\n
Login.c(90): */\n
Login.c(90): move : function(element, parent, after, done) {\n
Login.c(90): // Do not remove element before insert. Removing will
cause data associated with t
Login.c(90): he\n
Login.c(90): // element to be dropped. Insert will implicitly do the
remove.\n
Login.c(90): this.enter(element, parent, after, done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#addClass\n
Login.c(90): * @kind function\n
Login.c(90): * @description Adds the provided className CSS class value
to the provided element.
Login.c(90): Once\n
Login.c(90): * complete, the done() callback will be fired (if
provided).\n
Login.c(90): * @param {DOMElement} element the element which will have
the className value\n
Login.c(90): * added to it\n
Login.c(90): * @param {string} className the CSS class which will be
added to the element\n
Login.c(90): * @param {Function=} done the callback function (if
provided) that will be fired af
Login.c(90): ter the\n
Login.c(90): * className value has been added to the element\n
Login.c(90): */\n
Login.c(90): addClass : function(element, className, done) {\n
Login.c(90): className = isString(className) ?\n
Login.c(90): className :\n
Login.c(90): isArray(className) ? className.join(' ') :
'';\n
Login.c(90): forEach(element, function (element) {\n
Login.c(90): jqLiteAddClass(element, className);\n
Login.c(90): });\n
Login.c(90): async(done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#removeClass\n
Login.c(90): * @kind function\n
Login.c(90): * @description Removes the provided className CSS class
value from the provided ele
Login.c(90): ment.\n
Login.c(90): * Once complete, the done() callback will be fired (if
provided).\n
Login.c(90): * @param {DOMElement} element the element which will have
the className value\n
Login.c(90): * removed from it\n
Login.c(90): * @param {string} className the CSS class which will be
removed from the element\n
Login.c(90): * @param {Function=} done the callback function (if
provided) that will be fired af
Login.c(90): ter the\n
Login.c(90): * className value has been removed from the element\n
Login.c(90): */\n
Login.c(90): removeClass : function(element, className, done) {\n
Login.c(90): className = isString(className) ?\n
Login.c(90): className :\n
Login.c(90): isArray(className) ? className.join(' ') :
'';\n
Login.c(90): forEach(element, function (element) {\n
Login.c(90): jqLiteRemoveClass(element, className);\n
Login.c(90): });\n
Login.c(90): async(done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $animate#setClass\n
Login.c(90): * @kind function\n
Login.c(90): * @description Adds and/or removes the given CSS classes to
and from the element.\n
Login.c(90): * Once complete, the done() callback will be fired (if
provided).\n
Login.c(90): * @param {DOMElement} element the element which will have
its CSS classes changed\n
Login.c(90): * removed from it\n
Login.c(90): * @param {string} add the CSS classes which will be added
to the element\n
Login.c(90): * @param {string} remove the CSS class which will be
removed from the element\n
Login.c(90): * @param {Function=} done the callback function (if
provided) that will be fired af
Login.c(90): ter the\n
Login.c(90): * CSS classes have been set on the element\n
Login.c(90): */\n
Login.c(90): setClass : function(element, add, remove, done) {\n
Login.c(90): forEach(element, function (element) {\n
Login.c(90): jqLiteAddClass(element, add);\n
Login.c(90): jqLiteRemoveClass(element, remove);\n
Login.c(90): });\n
Login.c(90): async(done);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): enabled : noop\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): function $$AsyncCallbackProvider(){\n
Login.c(90): this.$get = ['$$rAF', '$timeout', function($$rAF, $timeout) {\n
Login.c(90): return $$rAF.supported\n
Login.c(90): ? function(fn) { return $$rAF(fn); }\n
Login.c(90): : function(fn) {\n
Login.c(90): return $timeout(fn, 0, false);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * ! This is a private undocumented service !\n
Login.c(90): *\n
Login.c(90): * @name $browser\n
Login.c(90): * @requires $log\n
Login.c(90): * @description\n
Login.c(90): * This object has two goals:\n
Login.c(90): *\n
Login.c(90): * - hide all the global state in the browser caused by the window
object\n
Login.c(90): * - abstract away all the browser specific features and
inconsistencies\n
Login.c(90): *\n
Login.c(90): * For tests we provide {@link ngMock.$browser mock
implementation} of the `$browser`\n
Login.c(90): * service, which can be used for convenient testing of the
application without the intera
Login.c(90): ction with\n
Login.c(90): * the real browser apis.\n
Login.c(90): */\n
Login.c(90): /**\n
Login.c(90): * @param {object} window The global window object.\n
Login.c(90): * @param {object} document jQuery wrapped document.\n
Login.c(90): * @param {function()} XHR XMLHttpRequest constructor.\n
Login.c(90): * @param {object} $log console.log or an object with the same
interface.\n
Login.c(90): * @param {object} $sniffer $sniffer service\n
Login.c(90): */\n
Login.c(90): function Browser(window, document, $log, $sniffer) {\n
Login.c(90): var self = this,\n
Login.c(90): rawDocument = document[0],\n
Login.c(90): location = window.location,\n
Login.c(90): history = window.history,\n
Login.c(90): setTimeout = window.setTimeout,\n
Login.c(90): clearTimeout = window.clearTimeout,\n
Login.c(90): pendingDeferIds = {};\n
Login.c(90): \n
Login.c(90): self.isMock = false;\n
Login.c(90): \n
Login.c(90): var outstandingRequestCount = 0;\n
Login.c(90): var outstandingRequestCallbacks = [];\n
Login.c(90): \n
Login.c(90): // TODO(vojta): remove this temporary api\n
Login.c(90): self.$$completeOutstandingRequest =
completeOutstandingRequest;\n
Login.c(90): self.$$incOutstandingRequestCount = function()
{ outstandingRequestCount++; };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Executes the `fn` function(supports currying) and decrements
the `outstandingRequestC
Login.c(90): allbacks`\n
Login.c(90): * counter. If the counter reaches 0, all the
`outstandingRequestCallbacks` are executed
Login.c(90): .\n
Login.c(90): */\n
Login.c(90): function completeOutstandingRequest(fn) {\n
Login.c(90): try {\n
Login.c(90): fn.apply(null, sliceArgs(arguments, 1));\n
Login.c(90): } finally {\n
Login.c(90): outstandingRequestCount--;\n
Login.c(90): if (outstandingRequestCount === 0) {\n
Login.c(90): while(outstandingRequestCallbacks.length) {\n
Login.c(90): try {\n
Login.c(90): outstandingRequestCallbacks.pop()();\n
Login.c(90): } catch (e) {\n
Login.c(90): $log.error(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @private\n
Login.c(90): * Note: this method is used only by scenario runner\n
Login.c(90): * TODO(vojta): prefix this method with $$ ?\n
Login.c(90): * @param {function()} callback Function that will be called
when no outstanding request
Login.c(90): \n
Login.c(90): */\n
Login.c(90): self.notifyWhenNoOutstandingRequests = function(callback) {\n
Login.c(90): // force browser to execute all pollFns - this is needed so
that cookies and other pol
Login.c(90): lers fire\n
Login.c(90): // at some deterministic time in respect to the test runner's
actions. Leaving things
Login.c(90): up to the\n
Login.c(90): // regular poller would result in flaky tests.\n
Login.c(90): forEach(pollFns, function(pollFn){ pollFn(); });\n
Login.c(90): \n
Login.c(90): if (outstandingRequestCount === 0) {\n
Login.c(90): callback();\n
Login.c(90): } else {\n
Login.c(90): outstandingRequestCallbacks.push(callback);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): // Poll Watcher API\n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): var pollFns = [],\n
Login.c(90): pollTimeout;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#addPollFn\n
Login.c(90): *\n
Login.c(90): * @param {function()} fn Poll function to add\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Adds a function to the list of functions that poller
periodically executes,\n
Login.c(90): * and starts polling if not started yet.\n
Login.c(90): *\n
Login.c(90): * @returns {function()} the added function\n
Login.c(90): */\n
Login.c(90): self.addPollFn = function(fn) {\n
Login.c(90): if (isUndefined(pollTimeout)) startPoller(100, setTimeout);\n
Login.c(90): pollFns.push(fn);\n
Login.c(90): return fn;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @param {number} interval How often should browser call poll
functions (ms)\n
Login.c(90): * @param {function()} setTimeout Reference to a real or fake
`setTimeout` function.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Configures the poller to run in the specified intervals,
using the specified\n
Login.c(90): * setTimeout fn and kicks it off.\n
Login.c(90): */\n
Login.c(90): function startPoller(interval, setTimeout) {\n
Login.c(90): (function check() {\n
Login.c(90): forEach(pollFns, function(pollFn){ pollFn(); });\n
Login.c(90): pollTimeout = setTimeout(check, interval);\n
Login.c(90): })();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): // URL API\n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): var lastBrowserUrl = location.href,\n
Login.c(90): baseElement = document.find('base'),\n
Login.c(90): newLocation = null;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#url\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * GETTER:\n
Login.c(90): * Without any argument, this method just returns current value
of location.href.\n
Login.c(90): *\n
Login.c(90): * SETTER:\n
Login.c(90): * With at least one argument, this method sets url to new
value.\n
Login.c(90): * If html5 history api supported, pushState/replaceState is
used, otherwise\n
Login.c(90): * location.href/location.replace is used.\n
Login.c(90): * Returns its own instance to allow chaining\n
Login.c(90): *\n
Login.c(90): * NOTE: this api is intended for use only by the $location
service. Please use the\n
Login.c(90): * {@link ng.$location $location service} to change url.\n
Login.c(90): *\n
Login.c(90): * @param {string} url New url (when used as setter)\n
Login.c(90): * @param {boolean=} replace Should new url replace current
history record ?\n
Login.c(90): */\n
Login.c(90): self.url = function(url, replace) {\n
Login.c(90): // Android Browser BFCache causes location, history reference
to become stale.\n
Login.c(90): if (location !== window.location) location =
window.location;\n
Login.c(90): if (history !== window.history) history = window.history;\n
Login.c(90): \n
Login.c(90): // setter\n
Login.c(90): if (url) {\n
Login.c(90): if (lastBrowserUrl == url) return;\n
Login.c(90): lastBrowserUrl = url;\n
Login.c(90): if ($sniffer.history) {\n
Login.c(90): if (replace) history.replaceState(null, '', url);\n
Login.c(90): else {\n
Login.c(90): history.pushState(null, '', url);\n
Login.c(90): // Crazy Opera Bug:
http://my.opera.com/community/forums/topic.dml?id=1185462\n
Login.c(90): baseElement.attr('href', baseElement.attr('href'));\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): newLocation = url;\n
Login.c(90): if (replace) {\n
Login.c(90): location.replace(url);\n
Login.c(90): } else {\n
Login.c(90): location.href = url;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return self;\n
Login.c(90): // getter\n
Login.c(90): } else {\n
Login.c(90): // - newLocation is a workaround for an IE7-9 issue with
location.replace and locati
Login.c(90): on.href\n
Login.c(90): // methods not updating location.href synchronously.\n
Login.c(90): // - the replacement is
Login.c(90): t=2507ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): a workaround for https://bugzilla.mozilla.org/show_bug.cgi?
id=407172\n
Login.c(90): return newLocation || location.href.replace(/%27/g,"'");\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var urlChangeListeners = [],\n
Login.c(90): urlChangeInit = false;\n
Login.c(90): \n
Login.c(90): function fireUrlChange() {\n
Login.c(90): newLocation = null;\n
Login.c(90): if (lastBrowserUrl == self.url()) return;\n
Login.c(90): \n
Login.c(90): lastBrowserUrl = self.url();\n
Login.c(90): forEach(urlChangeListeners, function(listener) {\n
Login.c(90): listener(self.url());\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#onUrlChange\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Register callback function that will be called, when url
changes.\n
Login.c(90): *\n
Login.c(90): * It's only called when the url is changed from outside of
angular:\n
Login.c(90): * - user types different url into address bar\n
Login.c(90): * - user clicks on history (forward/back) button\n
Login.c(90): * - user clicks on a link\n
Login.c(90): *\n
Login.c(90): * It's not called when url is changed by $browser.url()
method\n
Login.c(90): *\n
Login.c(90): * The listener gets called with new url as parameter.\n
Login.c(90): *\n
Login.c(90): * NOTE: this api is intended for use only by the $location
service. Please use the\n
Login.c(90): * {@link ng.$location $location service} to monitor url changes
in angular apps.\n
Login.c(90): *\n
Login.c(90): * @param {function(string)} listener Listener function to be
called when url changes.\n
Login.c(90): * @return {function(string)} Returns the registered listener fn
- handy if the fn is an
Login.c(90): onymous.\n
Login.c(90): */\n
Login.c(90): self.onUrlChange = function(callback) {\n
Login.c(90): // TODO(vojta): refactor to use node's syntax for events\n
Login.c(90): if (!urlChangeInit) {\n
Login.c(90): // We listen on both (hashchange/popstate) when available,
as some browsers (e.g. Op
Login.c(90): era)\n
Login.c(90): // don't fire popstate when user change the address bar and
don't fire hashchange wh
Login.c(90): en url\n
Login.c(90): // changed by push/replaceState\n
Login.c(90): \n
Login.c(90): // html5 history api - popstate event\n
Login.c(90): if ($sniffer.history) jqLite(window).on('popstate',
fireUrlChange);\n
Login.c(90): // hashchange event\n
Login.c(90): if ($sniffer.hashchange) jqLite(window).on('hashchange',
fireUrlChange);\n
Login.c(90): // polling\n
Login.c(90): else self.addPollFn(fireUrlChange);\n
Login.c(90): \n
Login.c(90): urlChangeInit = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): urlChangeListeners.push(callback);\n
Login.c(90): return callback;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks whether the url has changed outside of Angular.\n
Login.c(90): * Needs to be exported to be able to check for changes that
have been done in sync,\n
Login.c(90): * as hashchange/popstate events fire in async.\n
Login.c(90): */\n
Login.c(90): self.$$checkUrlChange = fireUrlChange;\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): // Misc API\n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#baseHref\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns current <base href>\n
Login.c(90): * (always relative - without domain)\n
Login.c(90): *\n
Login.c(90): * @returns {string} The current base href\n
Login.c(90): */\n
Login.c(90): self.baseHref = function() {\n
Login.c(90): var href = baseElement.attr('href');\n
Login.c(90): return href ? href.replace(/^(https?\\:)?\\/\\/[^\\/]*/, '') :
'';\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): // Cookies API\n
Login.c(90): //////////////////////////////////////////////////////////////\n
Login.c(90): var lastCookies = {};\n
Login.c(90): var lastCookieString = '';\n
Login.c(90): var cookiePath = self.baseHref();\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#cookies\n
Login.c(90): *\n
Login.c(90): * @param {string=} name Cookie name\n
Login.c(90): * @param {string=} value Cookie value\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The cookies method provides a 'private' low level access to
browser cookies.\n
Login.c(90): * It is not meant to be used directly, use the $cookie service
instead.\n
Login.c(90): *\n
Login.c(90): * The return values vary depending on the arguments that the
method was called with as
Login.c(90): follows:\n
Login.c(90): *\n
Login.c(90): * - cookies() -> hash of all cookies, this is NOT a copy of the
internal state, so do n
Login.c(90): ot modify\n
Login.c(90): * it\n
Login.c(90): * - cookies(name, value) -> set name to value, if value is
undefined delete the cookie\n
Login.c(90): * - cookies(name) -> the same as (name, undefined) == DELETES
(no one calls it right no
Login.c(90): w that\n
Login.c(90): * way)\n
Login.c(90): *\n
Login.c(90): * @returns {Object} Hash of all cookies (if called without any
parameter)\n
Login.c(90): */\n
Login.c(90): self.cookies = function(name, value) {\n
Login.c(90): /* global escape: false, unescape: false */\n
Login.c(90): var cookieLength, cookieArray, cookie, i, index;\n
Login.c(90): \n
Login.c(90): if (name) {\n
Login.c(90): if (value === undefined) {\n
Login.c(90): rawDocument.cookie = escape(name) + "=;path=" + cookiePath
+\n
Login.c(90): ";expires=Thu, 01 Jan 1970
00:00:00 GMT";\n
Login.c(90): } else {\n
Login.c(90): if (isString(value)) {\n
Login.c(90): cookieLength = (rawDocument.cookie = escape(name) + '='
+ escape(value) +\n
Login.c(90): ';path=' + cookiePath).length +
1;\n
Login.c(90): \n
Login.c(90): // per http://www.ietf.org/rfc/rfc2109.txt browser must
allow at minimum:\n
Login.c(90): // - 300 cookies\n
Login.c(90): // - 20 cookies per unique domain\n
Login.c(90): // - 4096 bytes per cookie\n
Login.c(90): if (cookieLength > 4096) {\n
Login.c(90): $log.warn("Cookie '"+ name +\n
Login.c(90): "' possibly not set or overflowed because it was too
large ("+\n
Login.c(90): cookieLength + " > 4096 bytes)!");\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (rawDocument.cookie !== lastCookieString) {\n
Login.c(90): lastCookieString = rawDocument.cookie;\n
Login.c(90): cookieArray = lastCookieString.split("; ");\n
Login.c(90): lastCookies = {};\n
Login.c(90): \n
Login.c(90): for (i = 0; i < cookieArray.length; i++) {\n
Login.c(90): cookie = cookieArray[i];\n
Login.c(90): index = cookie.indexOf('=');\n
Login.c(90): if (index > 0) { //ignore nameless cookies\n
Login.c(90): name = unescape(cookie.substring(0, index));\n
Login.c(90): // the first value that is seen for a cookie is the
most\n
Login.c(90): // specific one. values for the same cookie name
that\n
Login.c(90): // follow are for less specific paths.\n
Login.c(90): if (lastCookies[name] === undefined) {\n
Login.c(90): lastCookies[name] = unescape(cookie.substring(index
+ 1));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return lastCookies;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#defer\n
Login.c(90): * @param {function()} fn A function, who's execution should be
deferred.\n
Login.c(90): * @param {number=} [delay=0] of milliseconds to defer the
function execution.\n
Login.c(90): * @returns {*} DeferId that can be used to cancel the task via
`$browser.defer.cancel()
Login.c(90): `.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Executes a fn asynchronously via `setTimeout(fn, delay)`.\n
Login.c(90): *\n
Login.c(90): * Unlike when calling `setTimeout` directly, in test this
function is mocked and instea
Login.c(90): d of using\n
Login.c(90): * `setTimeout` in tests, the fns are queued in an array, which
can be programmatically
Login.c(90): flushed\n
Login.c(90): * via `$browser.defer.flush()`.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): self.defer = function(fn, delay) {\n
Login.c(90): var timeoutId;\n
Login.c(90): outstandingRequestCount++;\n
Login.c(90): timeoutId = setTimeout(function() {\n
Login.c(90): delete pendingDeferIds[timeoutId];\n
Login.c(90): completeOutstandingRequest(fn);\n
Login.c(90): }, delay || 0);\n
Login.c(90): pendingDeferIds[timeoutId] = true;\n
Login.c(90): return timeoutId;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @name $browser#defer.cancel\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Cancels a deferred task identified with `deferId`.\n
Login.c(90): *\n
Login.c(90): * @param {*} deferId Token returned by the `$browser.defer`
function.\n
Login.c(90): * @returns {boolean} Returns `true` if the task hasn't executed
yet and was successfull
Login.c(90): y\n
Login.c(90): * canceled.\n
Login.c(90): */\n
Login.c(90): self.defer.cancel = function(deferId) {\n
Login.c(90): if (pendingDeferIds[deferId]) {\n
Login.c(90): delete pendingDeferIds[deferId];\n
Login.c(90): clearTimeout(deferId);\n
Login.c(90): completeOutstandingRequest(noop);\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function $BrowserProvider(){\n
Login.c(90): this.$get = ['$window', '$log', '$sniffer', '$document',\n
Login.c(90): function( $window, $log, $sniffer, $document){\n
Login.c(90): return new Browser($window, $document, $log, $sniffer);\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $cacheFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Factory that constructs {@link $cacheFactory.Cache Cache}
objects and gives access to\n
Login.c(90): * them.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): *\n
Login.c(90): * var cache = $cacheFactory('cacheId');\n
Login.c(90): * expect($cacheFactory.get('cacheId')).toBe(cache);\n
Login.c(90): *
expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();\n
Login.c(90): *\n
Login.c(90): * cache.put("key", "value");\n
Login.c(90): * cache.put("another key", "another value");\n
Login.c(90): *\n
Login.c(90): * // We've specified no options on creation\n
Login.c(90): * expect(cache.info()).toEqual({id: 'cacheId', size: 2});\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId Name or id of the newly created
cache.\n
Login.c(90): * @param {object=} options Options object that specifies the
cache behavior. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` `capacity` \xE2\x80\x94 turns the cache into
LRU cache.\n
Login.c(90): *\n
Login.c(90): * @returns {object} Newly created cache object with the following
set of methods:\n
Login.c(90): *\n
Login.c(90): * - `{object}` `info()` \xE2\x80\x94 Returns id, size, and
options of cache.\n
Login.c(90): * - `{{*}}` `put({string} key, {*} value)` \xE2\x80\x94 Puts a
new key-value pair into th
Login.c(90): e cache and returns\n
Login.c(90): * it.\n
Login.c(90): * - `{{*}}` `get({string} key)` \xE2\x80\x94 Returns cached value
for `key` or undefined
Login.c(90): for cache miss.\n
Login.c(90): * - `{void}` `remove({string} key)` \xE2\x80\x94 Removes a key-
value pair from the cache.
Login.c(90): \n
Login.c(90): * - `{void}` `removeAll()` \xE2\x80\x94 Removes all cached
values.\n
Login.c(90): * - `{void}` `destroy()` \xE2\x80\x94 Removes references to this
cache from $cacheFactory
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="cacheExampleApp">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="CacheController">\n
Login.c(90): <input ng-model="newCacheKey" placeholder="Key">\n
Login.c(90): <input ng-model="newCacheValue" placeholder="Value">\n
Login.c(90): <button ng-click="put(newCacheKey,
newCacheValue)">Cache</button>\n
Login.c(90): \n
Login.c(90): <p ng-if="keys.length">Cached Values</p>\n
Login.c(90): <div ng-repeat="key in keys">\n
Login.c(90): <span ng-bind="key"></span>\n
Login.c(90): <span>: </span>\n
Login.c(90): <b ng-bind="cache.get(key)"></b>\n
Login.c(90): </div>\n
Login.c(90): \n
Login.c(90): <p>Cache Info</p>\n
Login.c(90): <div ng-repeat="(key, value) in cache.info()">\n
Login.c(90): <span ng-bind="key"></span>\n
Login.c(90): <span>: </span>\n
Login.c(90): <b ng-bind="value"></b>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('cacheExampleApp', []).\n
Login.c(90): controller('CacheController', ['$scope', '$cacheFactory',
function($scope, $cache
Login.c(90): Factory) {\n
Login.c(90): $scope.keys = [];\n
Login.c(90): $scope.cache = $cacheFactory('cacheId');\n
Login.c(90): $scope.put = function(key, value) {\n
Login.c(90): if ($scope.cache.get(key) === undefined) {\n
Login.c(90): $scope.keys.push(key);\n
Login.c(90): }\n
Login.c(90): $scope.cache.put(key, value === undefined ? null :
value);\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): p {\n
Login.c(90): margin: 10px 0 3px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $CacheFactoryProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = function() {\n
Login.c(90): var caches = {};\n
Login.c(90): \n
Login.c(90): function cacheFactory(cacheId, options) {\n
Login.c(90): if (cacheId in caches) {\n
Login.c(90): throw minErr('$cacheFactory')('iid', "CacheId '{0}' is
already taken!", cacheId);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var size = 0,\n
Login.c(90): stats = extend({}, options, {id: cacheId}),\n
Login.c(90): data = {},\n
Login.c(90): capacity = (options && options.capacity) ||
Number.MAX_VALUE,\n
Login.c(90): lruHash = {},\n
Login.c(90): freshEnd = null,\n
Login.c(90): staleEnd = null;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name $cacheFactory.Cache\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A cache object used to store and retrieve data, primarily
used by\n
Login.c(90): * {@link $http $http} and the {@link ng.directive:script
script} directive to cache
Login.c(90): \n
Login.c(90): * templates and other data.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * angular.module('superCache')\n
Login.c(90): * .factory('superCache', ['$cacheFactory',
function($cacheFactory) {\n
Login.c(90): * return $cacheFactory('super-cache');\n
Login.c(90): * }]);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Example test:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * it('should behave like a cache',
inject(function(superCache) {\n
Login.c(90): * superCache.put('key', 'value');\n
Login.c(90): * superCache.put('another key', 'another value');\n
Login.c(90): *\n
Login.c(90): * expect(superCache.info()).toEqual({\n
Login.c(90): * id: 'super-cache',\n
Login.c(90): * size: 2\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * superCache.remove('another key');\n
Login.c(90): * expect(superCache.get('another
key')).toBeUndefined();\n
Login.c(90): *\n
Login.c(90): * superCache.removeAll();\n
Login.c(90): * expect(superCache.info()).toEqual({\n
Login.c(90): * id: 'super-cache',\n
Login.c(90): * size: 0\n
Login.c(90): * });\n
Login.c(90): * }));\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): return caches[cacheId] = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#put\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Inserts a named entry into the {@link
$cacheFactory.Cache Cache} object to be\n
Login.c(90): * retrieved later, and incrementing the size of the cache
if the key was not alre
Login.c(90): ady\n
Login.c(90): * present in the cache. If behaving like an LRU cache, it
will also remove stale\n
Login.c(90): * entries from the set.\n
Login.c(90): *\n
Login.c(90): * It will not insert undefined values in
Login.c(90): t=2530ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): to the cache.\n
Login.c(90): *\n
Login.c(90): * @param {string} key the key under which the cached data
is stored.\n
Login.c(90): * @param {*} value the value to store alongside the key.
If it is undefined, the
Login.c(90): key\n
Login.c(90): * will not be stored.\n
Login.c(90): * @returns {*} the value stored.\n
Login.c(90): */\n
Login.c(90): put: function(key, value) {\n
Login.c(90): if (capacity < Number.MAX_VALUE) {\n
Login.c(90): var lruEntry = lruHash[key] || (lruHash[key] = {key:
key});\n
Login.c(90): \n
Login.c(90): refresh(lruEntry);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isUndefined(value)) return;\n
Login.c(90): if (!(key in data)) size++;\n
Login.c(90): data[key] = value;\n
Login.c(90): \n
Login.c(90): if (size > capacity) {\n
Login.c(90): this.remove(staleEnd.key);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#get\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Retrieves named data stored in the {@link
$cacheFactory.Cache Cache} object.\n
Login.c(90): *\n
Login.c(90): * @param {string} key the key of the data to be
retrieved\n
Login.c(90): * @returns {*} the value stored.\n
Login.c(90): */\n
Login.c(90): get: function(key) {\n
Login.c(90): if (capacity < Number.MAX_VALUE) {\n
Login.c(90): var lruEntry = lruHash[key];\n
Login.c(90): \n
Login.c(90): if (!lruEntry) return;\n
Login.c(90): \n
Login.c(90): refresh(lruEntry);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return data[key];\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#remove\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Removes an entry from the {@link $cacheFactory.Cache
Cache} object.\n
Login.c(90): *\n
Login.c(90): * @param {string} key the key of the entry to be
removed\n
Login.c(90): */\n
Login.c(90): remove: function(key) {\n
Login.c(90): if (capacity < Number.MAX_VALUE) {\n
Login.c(90): var lruEntry = lruHash[key];\n
Login.c(90): \n
Login.c(90): if (!lruEntry) return;\n
Login.c(90): \n
Login.c(90): if (lruEntry == freshEnd) freshEnd = lruEntry.p;\n
Login.c(90): if (lruEntry == staleEnd) staleEnd = lruEntry.n;\n
Login.c(90): link(lruEntry.n,lruEntry.p);\n
Login.c(90): \n
Login.c(90): delete lruHash[key];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): delete data[key];\n
Login.c(90): size--;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#removeAll\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Clears the cache object of any entries.\n
Login.c(90): */\n
Login.c(90): removeAll: function() {\n
Login.c(90): data = {};\n
Login.c(90): size = 0;\n
Login.c(90): lruHash = {};\n
Login.c(90): freshEnd = staleEnd = null;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#destroy\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Destroys the {@link $cacheFactory.Cache Cache} object
entirely,\n
Login.c(90): * removing it from the {@link $cacheFactory
$cacheFactory} set.\n
Login.c(90): */\n
Login.c(90): destroy: function() {\n
Login.c(90): data = null;\n
Login.c(90): stats = null;\n
Login.c(90): lruHash = null;\n
Login.c(90): delete caches[cacheId];\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory.Cache#info\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Retrieve information regarding a particular {@link
$cacheFactory.Cache Cache}.\n
Login.c(90): *\n
Login.c(90): * @returns {object} an object with the following
properties:\n
Login.c(90): * <ul>\n
Login.c(90): * <li>**id**: the id of the cache instance</li>\n
Login.c(90): * <li>**size**: the number of entries kept in the
cache instance</li>\n
Login.c(90): * <li>**...**: any additional properties from the
options object when creatin
Login.c(90): g the\n
Login.c(90): * cache.</li>\n
Login.c(90): * </ul>\n
Login.c(90): */\n
Login.c(90): info: function() {\n
Login.c(90): return extend({}, stats, {size: size});\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * makes the `entry` the freshEnd of the LRU linked list\n
Login.c(90): */\n
Login.c(90): function refresh(entry) {\n
Login.c(90): if (entry != freshEnd) {\n
Login.c(90): if (!staleEnd) {\n
Login.c(90): staleEnd = entry;\n
Login.c(90): } else if (staleEnd == entry) {\n
Login.c(90): staleEnd = entry.n;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): link(entry.n, entry.p);\n
Login.c(90): link(entry, freshEnd);\n
Login.c(90): freshEnd = entry;\n
Login.c(90): freshEnd.n = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * bidirectionally links two entries of the LRU linked
list\n
Login.c(90): */\n
Login.c(90): function link(nextEntry, prevEntry) {\n
Login.c(90): if (nextEntry != prevEntry) {\n
Login.c(90): if (nextEntry) nextEntry.p = prevEntry; //p stands for
previous, 'prev' didn't m
Login.c(90): inify\n
Login.c(90): if (prevEntry) prevEntry.n = nextEntry; //n stands for
next, 'next' didn't minif
Login.c(90): y\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory#info\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Get information about all the caches that have been created\n
Login.c(90): *\n
Login.c(90): * @returns {Object} - key-value map of `cacheId` to the result
of calling `cache#info`\n
Login.c(90): */\n
Login.c(90): cacheFactory.info = function() {\n
Login.c(90): var info = {};\n
Login.c(90): forEach(caches, function(cache, cacheId) {\n
Login.c(90): info[cacheId] = cache.info();\n
Login.c(90): });\n
Login.c(90): return info;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $cacheFactory#get\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Get access to a cache object by the `cacheId` used when it
was created.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId Name or id of a cache to access.\n
Login.c(90): * @returns {object} Cache object identified by the cacheId or
undefined if no such cach
Login.c(90): e.\n
Login.c(90): */\n
Login.c(90): cacheFactory.get = function(cacheId) {\n
Login.c(90): return caches[cacheId];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return cacheFactory;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $templateCache\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The first time a template is used, it is loaded in the template
cache for quick retriev
Login.c(90): al. You\n
Login.c(90): * can load templates directly into the cache in a `script` tag,
or by consuming the\n
Login.c(90): * `$templateCache` service directly.\n
Login.c(90): *\n
Login.c(90): * Adding via the `script` tag:\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <script type="text/ng-template" id="templateId.html">\n
Login.c(90): * <p>This is the content of the template</p>\n
Login.c(90): * </script>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * **Note:** the `script` tag containing the template does not
need to be included in the
Login.c(90): `head` of\n
Login.c(90): * the document, but it must be below the `ng-app` definition.\n
Login.c(90): *\n
Login.c(90): * Adding via the $templateCache service:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var myApp = angular.module('myApp', []);\n
Login.c(90): * myApp.run(function($templateCache) {\n
Login.c(90): * $templateCache.put('templateId.html', 'This is the content of
the template');\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * To retrieve the template later, simply use it in your HTML:\n
Login.c(90): * ```html\n
Login.c(90): * <div ng-include=" 'templateId.html' "></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * or get it via Javascript:\n
Login.c(90): * ```js\n
Login.c(90): * $templateCache.get('templateId.html')\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * See {@link ng.$cacheFactory $cacheFactory}.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function $TemplateCacheProvider() {\n
Login.c(90): this.$get = ['$cacheFactory', function($cacheFactory) {\n
Login.c(90): return $cacheFactory('templates');\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* ! VARIABLE/FUNCTION NAMING CONVENTIONS THAT APPLY TO THIS
FILE!\n
Login.c(90): *\n
Login.c(90): * DOM-related variables:\n
Login.c(90): *\n
Login.c(90): * - "node" - DOM Node\n
Login.c(90): * - "element" - DOM Element or Node\n
Login.c(90): * - "$node" or "$element" - jqLite-wrapped node or element\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Compiler related stuff:\n
Login.c(90): *\n
Login.c(90): * - "linkFn" - linking fn of a single directive\n
Login.c(90): * - "nodeLinkFn" - function that aggregates all linking fns for a
particular node\n
Login.c(90): * - "childLinkFn" - function that aggregates all linking fns for
child nodes of a partic
Login.c(90): ular node\n
Login.c(90): * - "compositeLinkFn" - function that aggregates all linking fns
for a compilation root (
Login.c(90): nodeList)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $compile\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Compiles an HTML string or DOM into a template and produces a
template function, which\n
Login.c(90): * can then be used to link {@link ng.$rootScope.Scope `scope`}
and the template together.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * The compilation is a process of walking the DOM tree and
matching DOM elements to\n
Login.c(90): * {@link ng.$compileProvider#directive directives}.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** This document is an in-depth reference of all
directive options.\n
Login.c(90): * For a gentle introduction to directives with examples of common
use cases,\n
Login.c(90): * see the {@link guide/directive directive guide}.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * ## Comprehensive Directive API\n
Login.c(90): *\n
Login.c(90): * There are many different options for a directive.\n
Login.c(90): *\n
Login.c(90): * The difference resides in the return value of the factory
function.\n
Login.c(90): * You can either return a "Directive Definition Object" (see
below) that defines the dire
Login.c(90): ctive properties,\n
Login.c(90): * or just the `postLink` function (all other properties will have
the default values).\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-success">\n
Login.c(90): * **Best Practice:** It's recommended to use the "directive
definition object" form.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * Here's an example directive declared with a Directive
Definition Object:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var myModule = angular.module(...);\n
Login.c(90): *\n
Login.c(90): * myModule.directive('directiveName', function
factory(injectables) {\n
Login.c(90): * var directiveDefinitionObject = {\n
Login.c(90): * priority: 0,\n
Login.c(90): * template: '<div></div>', // or // function(tElement,
tAttrs) { ... },\n
Login.c(90): * // or\n
Login.c(90): * // templateUrl: 'directive.html', // or //
function(tElement, tAttrs) { ... },\n
Login.c(90): * transclude: false,\n
Login.c(90): * restrict: 'A',\n
Login.c(90): * scope: false,\n
Login.c(90): * controller: function($scope, $element, $attrs,
$transclude, otherInjectables) { .
Login.c(90): .. },\n
Login.c(90): * controllerAs: 'stringAlias',\n
Login.c(90): * require: 'siblingDirectiveName', // or //
['^parentDirectiveName', '?optionalDire
Login.c(90): ctiveName', '?^optionalParent'],\n
Login.c(90): * compile: function compile(tElement, tAttrs, transclude)
{\n
Login.c(90): * return {\n
Login.c(90): * pre: function preLink(scope, iElement, iAttrs,
controller) { ... },\n
Login.c(90): * post: function postLink(scope, iElement, iAttrs,
controller) { ... }\n
Login.c(90): * }\n
Login.c(90): * // or\n
Login.c(90): * // return function postLink( ... ) { ... }\n
Login.c(90): * },\n
Login.c(90): * // or\n
Login.c(90): * // link: {\n
Login.c(90): * // pre: function preLink(scope, iElement, iAttrs,
controller) { ... },\n
Login.c(90): * // post: function postLink(scope, iElement, iAttrs,
controller) { ... }\n
Login.c(90): * // }\n
Login.c(90): * // or\n
Login.c(90): * // link: function postLink( ... ) { ... }\n
Login.c(90): * };\n
Login.c(90): * return directiveDefinitionObject;\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** Any unspecified options will use the default value.
You can see the default v
Login.c(90): alues below.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * Therefore the above can be simplified as:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var myModule = angular.module(...);\n
Login.c(90): *\n
Login.c(90): * myModule.directive('directiveName', function
factory(injectables) {\n
Login.c(90): * var directiveDefinitionObject = {\n
Login.c(90): * link: function postLink(scope, iElement, iAttrs)
{ ... }\n
Login.c(90): * };\n
Login.c(90): * return directiveDefinitionObject;\n
Login.c(90): * // or\n
Login.c(90): * // return function postLink(scope, iElement, iAttrs)
{ ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ### Directive Definition Object\n
Login.c(90): *\n
Login.c(90): * The directive definition object provides instructions to the
{@link ng.$compile\n
Login.c(90): * compiler}. The attributes are:\n
Login.c(90): *\n
Login.c(90): * #### `priority`\n
Login.c(90): * When there are multiple directives defined on a single DOM
element, sometimes it\n
Login.c(90): * is necessary to specify the order in which the directives are
applied. The `priority` i
Login.c(90): s used\n
Login.c(90): * to sort the directives before their `compile` functions get
called. Priority is defined
Login.c(90): as a\n
Login.c(90): * number. Directives with greater numerical `priority` are
compiled first. Pre-link funct
Login.c(90): ions\n
Login.c(90): * are also run in priority order, but post-link functions are run
in reverse order. The o
Login.c(90): rder\n
Login.c(90): * of directives with the same priority is undefined. The default
priority is `0`.\n
Login.c(90): *\n
Login.c(90): * #### `terminal`\n
Login.c(90): * If set to true then the current `priority` will be the last set
of directives\n
Login.c(90): * which will execute (any directives at the current priority will
still execute\n
Login.c(90): * as the order of execution on same `priority` is undefined).\n
Login.c(90): *\n
Login.c(90): * #### `scope`\n
Login.c(90): * **If set to `true`,** then a new scope will be created for this
directive. If multiple
Login.c(90): directives on the\n
Login.c(90): * same element request a new scope, only one new scope is
created. The new scope rule doe
Login.c(90): s not\n
Login.c(90): * apply for the root of the template since the root of the
template always gets a new sco
Login.c(90): pe.\n
Login.c(90): *\n
Login.c(90): * **If set to `{}` (object hash),** then a new "isolate" scope is
created. The 'isolate'
Login.c(90): scope differs from\n
Login.c(90): * normal scope in that it does not prototypically inherit from
the parent scope. This is
Login.c(90): useful\n
Login.c(90): * when creating reusable components, which should not
accidentally read or modify data in
Login.c(90): the\n
Login.c(90): * parent scope.\n
Login.c(90): *\n
Login.c(90): * The 'isolate' scope takes an object hash which defines a set of
local scope properties\n
Login.c(90): * derived from the parent scope. These local properties are
useful for aliasing values fo
Login.c(90): r\n
Login.c(90): * templates. Locals definition is a hash of local scope property
to its source:\n
Login.c(90): *\n
Login.c(90): * * `@` or `@attr` - bind a local sc
Login.c(90): t=2549ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ope property to the value of DOM attribute. The result is\n
Login.c(90): * always a string since DOM attributes are strings. If no
`attr` name is specified the
Login.c(90): n the\n
Login.c(90): * attribute name is assumed to be the same as the local name.\n
Login.c(90): * Given `<widget my-attr="hello {{name}}">` and widget
definition\n
Login.c(90): * of `scope: { localName:'@myAttr' }`, then widget scope
property `localName` will refl
Login.c(90): ect\n
Login.c(90): * the interpolated value of `hello {{name}}`. As the `name`
attribute changes so will t
Login.c(90): he\n
Login.c(90): * `localName` property on the widget scope. The `name` is read
from the parent scope (n
Login.c(90): ot\n
Login.c(90): * component scope).\n
Login.c(90): *\n
Login.c(90): * * `=` or `=attr` - set up bi-directional binding between a
local scope property and the
Login.c(90): \n
Login.c(90): * parent scope property of name defined via the value of the
`attr` attribute. If no `a
Login.c(90): ttr`\n
Login.c(90): * name is specified then the attribute name is assumed to be
the same as the local name
Login.c(90): .\n
Login.c(90): * Given `<widget my-attr="parentModel">` and widget definition
of\n
Login.c(90): * `scope: { localModel:'=myAttr' }`, then widget scope property
`localModel` will refle
Login.c(90): ct the\n
Login.c(90): * value of `parentModel` on the parent scope. Any changes to
`parentModel` will be refl
Login.c(90): ected\n
Login.c(90): * in `localModel` and any changes in `localModel` will reflect
in `parentModel`. If the
Login.c(90): parent\n
Login.c(90): * scope property doesn't exist, it will throw a
NON_ASSIGNABLE_MODEL_EXPRESSION excepti
Login.c(90): on. You\n
Login.c(90): * can avoid this behavior using `=?` or `=?attr` in order to
flag the property as optio
Login.c(90): nal.\n
Login.c(90): *\n
Login.c(90): * * `&` or `&attr` - provides a way to execute an expression in
the context of the parent
Login.c(90): scope.\n
Login.c(90): * If no `attr` name is specified then the attribute name is
assumed to be the same as t
Login.c(90): he\n
Login.c(90): * local name. Given `<widget my-attr="count = count + value">`
and widget definition of
Login.c(90): \n
Login.c(90): * `scope: { localFn:'&myAttr' }`, then isolate scope property
`localFn` will point to\n
Login.c(90): * a function wrapper for the `count = count + value`
expression. Often it's desirable t
Login.c(90): o\n
Login.c(90): * pass data from the isolated scope via an expression to the
parent scope, this can be\n
Login.c(90): * done by passing a map of local variable names and values into
the expression wrapper
Login.c(90): fn.\n
Login.c(90): * For example, if the expression is `increment(amount)` then we
can specify the amount
Login.c(90): value\n
Login.c(90): * by calling the `localFn` as `localFn({amount: 22})`.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `controller`\n
Login.c(90): * Controller constructor function. The controller is instantiated
before the\n
Login.c(90): * pre-linking phase and it is shared with other directives (see\n
Login.c(90): * `require` attribute). This allows the directives to communicate
with each other and aug
Login.c(90): ment\n
Login.c(90): * each other's behavior. The controller is injectable (and
supports bracket notation) wit
Login.c(90): h the following locals:\n
Login.c(90): *\n
Login.c(90): * * `$scope` - Current scope associated with the element\n
Login.c(90): * * `$element` - Current element\n
Login.c(90): * * `$attrs` - Current attributes object for the element\n
Login.c(90): * * `$transclude` - A transclude linking function pre-bound to
the correct transclusion s
Login.c(90): cope.\n
Login.c(90): * The scope can be overridden by an optional first argument.\n
Login.c(90): * `function([scope], cloneLinkingFn)`.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `require`\n
Login.c(90): * Require another directive and inject its controller as the
fourth argument to the linki
Login.c(90): ng function. The\n
Login.c(90): * `require` takes a string name (or array of strings) of the
directive(s) to pass in. If
Login.c(90): an array is used, the\n
Login.c(90): * injected argument will be an array in corresponding order. If
no such directive can be\n
Login.c(90): * found, or if the directive does not have a controller, then an
error is raised. The nam
Login.c(90): e can be prefixed with:\n
Login.c(90): *\n
Login.c(90): * * (no prefix) - Locate the required controller on the current
element. Throw an error i
Login.c(90): f not found.\n
Login.c(90): * * `?` - Attempt to locate the required controller or pass
`null` to the `link` fn if no
Login.c(90): t found.\n
Login.c(90): * * `^` - Locate the required controller by searching the element
and its parents. Throw
Login.c(90): an error if not found.\n
Login.c(90): * * `?^` - Attempt to locate the required controller by searching
the element and its par
Login.c(90): ents or pass\n
Login.c(90): * `null` to the `link` fn if not found.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `controllerAs`\n
Login.c(90): * Controller alias at the directive scope. An alias for the
controller so it\n
Login.c(90): * can be referenced at the directive template. The directive
needs to define a scope for
Login.c(90): this\n
Login.c(90): * configuration to be used. Useful in the case when directive is
used as component.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `restrict`\n
Login.c(90): * String of subset of `EACM` which restricts the directive to a
specific directive\n
Login.c(90): * declaration style. If omitted, the default (attributes only) is
used.\n
Login.c(90): *\n
Login.c(90): * * `E` - Element name: `<my-directive></my-directive>`\n
Login.c(90): * * `A` - Attribute (default): `<div my-directive="exp"></div>`\n
Login.c(90): * * `C` - Class: `<div class="my-directive: exp;"></div>`\n
Login.c(90): * * `M` - Comment: `<!-- directive: my-directive exp -->`\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `template`\n
Login.c(90): * HTML markup that may:\n
Login.c(90): * * Replace the contents of the directive's element (default).\n
Login.c(90): * * Replace the directive's element itself (if `replace` is true
- DEPRECATED).\n
Login.c(90): * * Wrap the contents of the directive's element (if `transclude`
is true).\n
Login.c(90): *\n
Login.c(90): * Value may be:\n
Login.c(90): *\n
Login.c(90): * * A string. For example `<div red-on-
hover>{{delete_str}}</div>`.\n
Login.c(90): * * A function which takes two arguments `tElement` and `tAttrs`
(described in the `compi
Login.c(90): le`\n
Login.c(90): * function api below) and returns a string value.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `templateUrl`\n
Login.c(90): * Same as `template` but the template is loaded from the
specified URL. Because\n
Login.c(90): * the template loading is asynchronous the compilation/linking is
suspended until the tem
Login.c(90): plate\n
Login.c(90): * is loaded.\n
Login.c(90): *\n
Login.c(90): * You can specify `templateUrl` as a string representing the URL
or as a function which t
Login.c(90): akes two\n
Login.c(90): * arguments `tElement` and `tAttrs` (described in the `compile`
function api below) and r
Login.c(90): eturns\n
Login.c(90): * a string value representing the url. In either case, the
template URL is passed throug
Login.c(90): h {@link\n
Login.c(90): * api/ng.$sce#getTrustedResourceUrl
$sce.getTrustedResourceUrl}.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `replace` ([*DEPRECATED*!], will be removed in next major
release)\n
Login.c(90): * specify what the template should replace. Defaults to
`false`.\n
Login.c(90): *\n
Login.c(90): * * `true` - the template will replace the directive's element.\n
Login.c(90): * * `false` - the template will replace the contents of the
directive's element.\n
Login.c(90): *\n
Login.c(90): * The replacement process migrates all of the attributes /
classes from the old element t
Login.c(90): o the new\n
Login.c(90): * one. See the {@link guide/directive#creating-custom-
directives_creating-directives_temp
Login.c(90): late-expanding-directive\n
Login.c(90): * Directives Guide} for an example.\n
Login.c(90): *\n
Login.c(90): * #### `transclude`\n
Login.c(90): * compile the content of the element and make it available to the
directive.\n
Login.c(90): * Typically used with {@link ng.directive:ngTransclude\n
Login.c(90): * ngTransclude}. The advantage of transclusion is that the
linking function receives a\n
Login.c(90): * transclusion function which is pre-bound to the correct scope.
In a typical setup the w
Login.c(90): idget\n
Login.c(90): * creates an `isolate` scope, but the transclusion is not a
child, but a sibling of the `
Login.c(90): isolate`\n
Login.c(90): * scope. This makes it possible for the widget to have private
state, and the transclusio
Login.c(90): n to\n
Login.c(90): * be bound to the parent (pre-`isolate`) scope.\n
Login.c(90): *\n
Login.c(90): * * `true` - transclude the content of the directive.\n
Login.c(90): * * `'element'` - transclude the whole element including any
directives defined at lower
Login.c(90): priority.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** When testing an element transclude directive you must
not place the directive
Login.c(90): at the root of the\n
Login.c(90): * DOM fragment that is being compiled. See {@link guide/unit-
testing#testing-transclusion
Login.c(90): -directives\n
Login.c(90): * Testing Transclusion Directives}.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * #### `compile`\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * function compile(tElement, tAttrs, transclude) { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The compile function deals with transforming the template DOM.
Since most directives do
Login.c(90): not do\n
Login.c(90): * template transformation, it is not used often. The compile
function takes the following
Login.c(90): arguments:\n
Login.c(90): *\n
Login.c(90): * * `tElement` - template element - The element where the
directive has been declared.
Login.c(90): It is\n
Login.c(90): * safe to do template transformation on the element and child
elements only.\n
Login.c(90): *\n
Login.c(90): * * `tAttrs` - template attributes - Normalized list of
attributes declared on this ele
Login.c(90): ment shared\n
Login.c(90): * between all directive compile functions.\n
Login.c(90): *\n
Login.c(90): * * `transclude` - [*DEPRECATED*!] A transclude linking
function: `function(scope, clo
Login.c(90): neLinkingFn)`\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** The template instance and the link instance may be
different objects if the t
Login.c(90): emplate has\n
Login.c(90): * been cloned. For this reason it is **not** safe to do anything
other than DOM transform
Login.c(90): ations that\n
Login.c(90): * apply to all cloned DOM nodes within the compile function.
Specifically, DOM listener r
Login.c(90): egistration\n
Login.c(90): * should be done in a linking function rather than in a compile
function.\n
Login.c(90): * </div>\n
Login.c(90): \n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** The compile function cannot handle directives that
recursively use themselves
Login.c(90): in their\n
Login.c(90): * own templates or compile functions. Compiling these directives
results in an infinite l
Login.c(90): oop and a\n
Login.c(90): * stack overflow errors.\n
Login.c(90): *\n
Login.c(90): * This can be avoided by manually using $compile in the postLink
function to imperatively
Login.c(90): compile\n
Login.c(90): * a directive's template instead of relying on automatic template
compilation via `templa
Login.c(90): te` or\n
Login.c(90): * `templateUrl` declaration or manual compilation inside the
compile function.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-error">\n
Login.c(90): * **Note:** The `transclude` function that is passed to the
compile function is deprecate
Login.c(90): d, as it\n
Login.c(90): * e.g. does not know about the right outer scope. Please use
the transclude function th
Login.c(90): at is passed\n
Login.c(90): * to the link function instead.\n
Login.c(90): * </div>\n
Login.c(90): \n
Login.c(90): * A compile function can have a return value which can be either
a function or an object.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * * returning a (post-link) function - is equivalent to
registering the linking function
Login.c(90): via the\n
Login.c(90): * `link` property of the config object when the compile
function is empty.\n
Login.c(90): *\n
Login.c(90): * * returning an object with function(s) registered via `pre` and
`post` properties - all
Login.c(90): ows you to\n
Login.c(90): * control when a linking function should be called during the
linking phase. See info a
Login.c(90): bout\n
Login.c(90): * pre-linking and post-linking functions below.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### `link`\n
Login.c(90): * This property is used only if the `compile` property is not
defined.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * function link(scope, iElement, iAttrs, controller,
transcludeFn) { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The link function is responsible for registering DOM listeners
as well as updating the
Login.c(90): DOM. It is\n
Login.c(90): * executed after the template has been cloned. This is where most
of the directive logic
Login.c(90): will be\n
Login.c(90): * put.\n
Login.c(90): *\n
Login.c(90): * * `scope` - {@link ng.$rootScope.Scope Scope} - The scope to
be used by the\n
Login.c(90): * directive for registering {@link ng.$rootScope.Scope#$watch
watches}.\n
Login.c(90): *\n
Login.c(90): * * `iElement` - instance element - The element where the
directive is to be used. It i
Login.c(90): s safe to\n
Login.c(90): * manipulate the children of the element only in `postLink`
function since the childr
Login.c(90): en have\n
Login.c(90): * already been linked.\n
Login.c(90): *\n
Login.c(90): * * `iAttrs` - instance attributes - Normalized list of
attributes declared on this ele
Login.c(90): ment shared\n
Login.c(90): * between all directive linking functions.\n
Login.c(90): *\n
Login.c(90): * * `controller` - a controller instance - A controller
instance if at least one direct
Login.c(90): ive on the\n
Login.c(90): * element defines a controller. The controller is shared
among all the directives, wh
Login.c(90): ich allows\n
Login.c(90): * the directives to use the controllers as a communication
channel.\n
Login.c(90): *\n
Login.c(90): * * `transcludeFn` - A transclude linking function pre-bound to
the correct transclusio
Login.c(90): n scope.\n
Login.c(90): * The scope can be overridden by an optional first argument.
This is the same as the
Login.c(90): `$transclude`\n
Login.c(90): * parameter of directive controllers.\n
Login.c(90): * `function([scope], cloneLinkingFn)`.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * #### Pre-linking function\n
Login.c(90): *\n
Login.c(90): * Executed before the child elements are linked. Not safe to do
DOM transformation since
Login.c(90): the\n
Login.c(90): * compiler linking function will fail to locate the correct
elements for linking.\n
Login.c(90): *\n
Login.c(90): * #### Post-linking function\n
Login.c(90): *\n
Login.c(90): * Executed after the child elements are linked. It is safe to do
DOM transformation in th
Login.c(90): e post-linking function.\n
Login.c(90): *\n
Login.c(90): * <a name="Attributes"></a>\n
Login.c(90): * ### Attributes\n
Login.c(90): *\n
Login.c(90): * The {@link ng.$compile.directive.Attributes Attributes} object
- passed as a parameter
Login.c(90): in the\n
Login.c(90): * `link()` or `compile()` functions. It has a variety of uses.\n
Login.c(90): *\n
Login.c(90): * accessing *Normalized attribute names:*\n
Login.c(90): * Directives like 'ngBind' can be expressed in many ways:
'ng:bind', `data-ng-bind`, or '
Login.c(90): x-ng-bind'.\n
Login.c(90): * the attributes object allows for normalized access to\n
Login.c(90): * the attributes.\n
Login.c(90): *\n
Login.c(90): * * *Directive inter-communication:* All directives share the
same instance of the attrib
Login.c(90): utes\n
Login.c(90): * object which allows the directives to use the attrib
Login.c(90): t=2562ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): utes object as inter directive\n
Login.c(90): * communication.\n
Login.c(90): *\n
Login.c(90): * * *Supports interpolation:* Interpolation attributes are
assigned to the attribute obje
Login.c(90): ct\n
Login.c(90): * allowing other directives to read the interpolated value.\n
Login.c(90): *\n
Login.c(90): * * *Observing interpolated attributes:* Use `$observe` to
observe the value changes of a
Login.c(90): ttributes\n
Login.c(90): * that contain interpolation (e.g. `src="{{bar}}"`). Not only
is this very efficient bu
Login.c(90): t it's also\n
Login.c(90): * the only way to easily get the actual value because during
the linking phase the inte
Login.c(90): rpolation\n
Login.c(90): * hasn't been evaluated yet and so the value is at this time
set to `undefined`.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * function linkingFn(scope, elm, attrs, ctrl) {\n
Login.c(90): * // get the attribute value\n
Login.c(90): * console.log(attrs.ngModel);\n
Login.c(90): *\n
Login.c(90): * // change the attribute\n
Login.c(90): * attrs.$set('ngModel', 'new value');\n
Login.c(90): *\n
Login.c(90): * // observe changes to interpolated attribute\n
Login.c(90): * attrs.$observe('ngModel', function(value) {\n
Login.c(90): * console.log('ngModel has changed value to ' + value);\n
Login.c(90): * });\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Below is an example using `$compileProvider`.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note**: Typically directives are registered with
`module.directive`. The example belo
Login.c(90): w is\n
Login.c(90): * to illustrate how `$compile` works.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): <example module="compileExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('compileExample', [],
function($compileProvider) {\n
Login.c(90): // configure new 'compile' directive by passing a
directive\n
Login.c(90): // factory function. The factory function injects the
'$compile'\n
Login.c(90): $compileProvider.directive('compile', function($compile)
{\n
Login.c(90): // directive factory creates a link function\n
Login.c(90): return function(scope, element, attrs) {\n
Login.c(90): scope.$watch(\n
Login.c(90): function(scope) {\n
Login.c(90): // watch the 'compile' expression for changes\n
Login.c(90): return scope.$eval(attrs.compile);\n
Login.c(90): },\n
Login.c(90): function(value) {\n
Login.c(90): // when the 'compile' expression changes\n
Login.c(90): // assign it into the current DOM\n
Login.c(90): element.html(value);\n
Login.c(90): \n
Login.c(90): // compile the new DOM and link it to the
current\n
Login.c(90): // scope.\n
Login.c(90): // NOTE: we only compile .childNodes so that\n
Login.c(90): // we don't get into infinite loop compiling
ourselves\n
Login.c(90): $compile(element.contents())(scope);\n
Login.c(90): }\n
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): })\n
Login.c(90): .controller('GreeterController', ['$scope', function($scope)
{\n
Login.c(90): $scope.name = 'Angular';\n
Login.c(90): $scope.html = 'Hello {{name}}';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="GreeterController">\n
Login.c(90): <input ng-model="name"> <br>\n
Login.c(90): <textarea ng-model="html"></textarea> <br>\n
Login.c(90): <div compile="html"></div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should auto compile', function() {\n
Login.c(90): var textarea = $('textarea');\n
Login.c(90): var output = $('div[compile]');\n
Login.c(90): // The initial state reads 'Hello Angular'.\n
Login.c(90): expect(output.getText()).toBe('Hello Angular');\n
Login.c(90): textarea.clear();\n
Login.c(90): textarea.sendKeys('{{name}}!');\n
Login.c(90): expect(output.getText()).toBe('Angular!');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): \n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string|DOMElement} element Element or HTML string to
compile into a template fu
Login.c(90): nction.\n
Login.c(90): * @param {function(angular.Scope, cloneAttachFn=)} transclude
function available to direc
Login.c(90): tives.\n
Login.c(90): * @param {number} maxPriority only apply directives lower than
given priority (Only effec
Login.c(90): ts the\n
Login.c(90): * root element(s), not their children)\n
Login.c(90): * @returns {function(scope, cloneAttachFn=)} a link function
which is used to bind templa
Login.c(90): te\n
Login.c(90): * (a DOM element/tree) to a scope. Where:\n
Login.c(90): *\n
Login.c(90): * * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to.\n
Login.c(90): * * `cloneAttachFn` - If `cloneAttachFn` is provided, then the
link function will clone
Login.c(90): the\n
Login.c(90): * `template` and call the `cloneAttachFn` function allowing the
caller to attach the\n
Login.c(90): * cloned elements to the DOM document at the appropriate place.
The `cloneAttachFn` is\n
Login.c(90): * called as: <br> `cloneAttachFn(clonedElement, scope)` where:\n
Login.c(90): *\n
Login.c(90): * * `clonedElement` - is a clone of the original `element`
passed into the compiler.
Login.c(90): \n
Login.c(90): * * `scope` - is the current scope with which the linking
function is working with.\n
Login.c(90): *\n
Login.c(90): * Calling the linking function returns the element of the
template. It is either the orig
Login.c(90): inal\n
Login.c(90): * element passed in, or the clone of the element if the
`cloneAttachFn` is provided.\n
Login.c(90): *\n
Login.c(90): * After linking the view is not updated until after a call to
$digest which typically is
Login.c(90): done by\n
Login.c(90): * Angular automatically.\n
Login.c(90): *\n
Login.c(90): * If you need access to the bound view, there are two ways to do
it:\n
Login.c(90): *\n
Login.c(90): * - If you are not asking the linking function to clone the
template, create the DOM elem
Login.c(90): ent(s)\n
Login.c(90): * before you send them to the compiler and keep this reference
around.\n
Login.c(90): * ```js\n
Login.c(90): * var element = $compile('<p>{{total}}</p>')(scope);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * - if on the other hand, you need the element to be cloned, the
view reference from the
Login.c(90): original\n
Login.c(90): * example would not point to the clone, but rather to the
original template that was cl
Login.c(90): oned. In\n
Login.c(90): * this case, you can access the clone via the cloneAttachFn:\n
Login.c(90): * ```js\n
Login.c(90): * var templateElement =
angular.element('<p>{{total}}</p>'),\n
Login.c(90): * scope = ....;\n
Login.c(90): *\n
Login.c(90): * var clonedElement = $compile(templateElement)(scope,
function(clonedElement, scope)
Login.c(90): {\n
Login.c(90): * //attach the clone to DOM document at the right place\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * //now we have reference to the cloned DOM via
`clonedElement`\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * For information on how the compiler works, see the\n
Login.c(90): * {@link guide/compiler Angular HTML Compiler} section of the
Developer Guide.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var $compileMinErr = minErr('$compile');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $compileProvider\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): */\n
Login.c(90): $CompileProvider.$inject = ['$provide', '$
$sanitizeUriProvider'];\n
Login.c(90): function $CompileProvider($provide, $$sanitizeUriProvider) {\n
Login.c(90): var hasDirectives = {},\n
Login.c(90): Suffix = 'Directive',\n
Login.c(90): COMMENT_DIRECTIVE_REGEXP =
/^\\s*directive\\:\\s*([\\d\\w_\\-]+)\\s+(.*)$/,\n
Login.c(90): CLASS_DIRECTIVE_REGEXP = /(([\\d\\w_\\-]+)(?:\\:([^;]
+))?;?)/;\n
Login.c(90): \n
Login.c(90): // Ref: http://developers.whatwg.org/webappapis.html#event-
handler-idl-attributes\n
Login.c(90): // The assumption is that future DOM event attribute names will
begin with\n
Login.c(90): // 'on' and be composed of only English letters.\n
Login.c(90): var EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]+|formaction)$/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compileProvider#directive\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Register a new directive with the compiler.\n
Login.c(90): *\n
Login.c(90): * @param {string|Object} name Name of the directive in camel-
case (i.e. <code>ngBind</c
Login.c(90): ode> which\n
Login.c(90): * will match as <code>ng-bind</code>), or an object map of
directives where the keys
Login.c(90): are the\n
Login.c(90): * names and the values are the factories.\n
Login.c(90): * @param {Function|Array} directiveFactory An injectable
directive factory function. Se
Login.c(90): e\n
Login.c(90): * {@link guide/directive} for more info.\n
Login.c(90): * @returns {ng.$compileProvider} Self for chaining.\n
Login.c(90): */\n
Login.c(90): this.directive = function registerDirective(name,
directiveFactory) {\n
Login.c(90): assertNotHasOwnProperty(name, 'directive');\n
Login.c(90): if (isString(name)) {\n
Login.c(90): assertArg(directiveFactory, 'directiveFactory');\n
Login.c(90): if (!hasDirectives.hasOwnProperty(name)) {\n
Login.c(90): hasDirectives[name] = [];\n
Login.c(90): $provide.factory(name + Suffix, ['$injector',
'$exceptionHandler',\n
Login.c(90): function($injector, $exceptionHandler) {\n
Login.c(90): var directives = [];\n
Login.c(90): forEach(hasDirectives[name],
function(directiveFactory, index) {\n
Login.c(90): try {\n
Login.c(90): var directive =
$injector.invoke(directiveFactory);\n
Login.c(90): if (isFunction(directive)) {\n
Login.c(90): directive = { compile: valueFn(directive) };\n
Login.c(90): } else if (!directive.compile && directive.link)
{\n
Login.c(90): directive.compile = valueFn(directive.link);\n
Login.c(90): }\n
Login.c(90): directive.priority = directive.priority || 0;\n
Login.c(90): directive.index = index;\n
Login.c(90): directive.name = directive.name || name;\n
Login.c(90): directive.require = directive.require ||
(directive.controller && directiv
Login.c(90): e.name);\n
Login.c(90): directive.restrict = directive.restrict || 'A';\n
Login.c(90): directives.push(directive);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return directives;\n
Login.c(90): }]);\n
Login.c(90): }\n
Login.c(90): hasDirectives[name].push(directiveFactory);\n
Login.c(90): } else {\n
Login.c(90): forEach(name, reverseParams(registerDirective));\n
Login.c(90): }\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compileProvider#aHrefSanitizationWhitelist\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Retrieves or overrides the default regular expression that is
used for whitelisting o
Login.c(90): f safe\n
Login.c(90): * urls during a[href] sanitization.\n
Login.c(90): *\n
Login.c(90): * The sanitization is a security measure aimed at prevent XSS
attacks via html links.\n
Login.c(90): *\n
Login.c(90): * Any url about to be assigned to a[href] via data-binding is
first normalized and turn
Login.c(90): ed into\n
Login.c(90): * an absolute url. Afterwards, the url is matched against the
`aHrefSanitizationWhiteli
Login.c(90): st`\n
Login.c(90): * regular expression. If a match is found, the original url is
written into the dom. Ot
Login.c(90): herwise,\n
Login.c(90): * the absolute url is prefixed with `'unsafe:'` string and only
then is it written into
Login.c(90): the DOM.\n
Login.c(90): *\n
Login.c(90): * @param {RegExp=} regexp New regexp to whitelist urls with.\n
Login.c(90): * @returns {RegExp|ng.$compileProvider} Current RegExp if
called without value or self
Login.c(90): for\n
Login.c(90): * chaining otherwise.\n
Login.c(90): */\n
Login.c(90): this.aHrefSanitizationWhitelist = function(regexp) {\n
Login.c(90): if (isDefined(regexp)) {\n
Login.c(90): $$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp);\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return $$sanitizeUriProvider.aHrefSanitizationWhitelist();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compileProvider#imgSrcSanitizationWhitelist\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Retrieves or overrides the default regular expression that is
used for whitelisting o
Login.c(90): f safe\n
Login.c(90): * urls during img[src] sanitization.\n
Login.c(90): *\n
Login.c(90): * The sanitization is a security measure aimed at prevent XSS
attacks via html links.\n
Login.c(90): *\n
Login.c(90): * Any url about to be assigned to img[src] via data-binding is
first normalized and tur
Login.c(90): ned into\n
Login.c(90): * an absolute url. Afterwards, the url is matched against the
`imgSrcSanitizationWhitel
Login.c(90): ist`\n
Login.c(90): * regular expression. If a match is found, the original url is
written into the dom. Ot
Login.c(90): herwise,\n
Login.c(90): * the absolute url is prefixed with `'unsafe:'` string and only
then is it written into
Login.c(90): the DOM.\n
Login.c(90): *\n
Login.c(90): * @param {RegExp=} regexp New regexp to whitelist urls with.\n
Login.c(90): * @returns {RegExp|ng.$compileProvider} Current RegExp if
called without value or self
Login.c(90): for\n
Login.c(90): * chaining otherwise.\n
Login.c(90): */\n
Login.c(90): this.imgSrcSanitizationWhitelist = function(regexp) {\n
Login.c(90): if (isDefined(regexp)) {\n
Login.c(90): $$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp);\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return $
$sanitizeUriProvider.imgSrcSanitizationWhitelist();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = [\n
Login.c(90): '$injector', '$interpolate', '$exceptionHandler',
'$http', '$templateCache', '
Login.c(90): $parse',\n
Login.c(90): '$controller', '$rootScope', '$document', '$sce',
'$animate', '$$sanitizeUri',
Login.c(90): \n
Login.c(90): function($injector, $interpolate, $exceptionHandler,
$http, $templateCache,
Login.c(90): $parse,\n
Login.c(90): $controller, $rootScope, $document, $sce,
$animate, $$sanitizeUri)
Login.c(90): {\n
Login.c(90): \n
Login.c(90): var Attributes = function(element, attr) {\n
Login.c(90): this.$$element = element;\n
Login.c(90): this.$attr = attr || {};\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Attributes.prototype = {\n
Login.c(90): $normalize: directiveNormalize,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compile.directive.Attributes#$addClass\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Adds the CSS class value specified by the classVal
parameter to the element. If a
Login.c(90): nimations\n
Login.c(90): * are enabled then an animation will be triggered for the
class addition.\n
Login.c(90): *\n
Login.c(90): * @param {string} classVal The className value that will be
added to the element\n
Login.c(90): */\n
Login.c(90): $addClass : function(classVal) {\n
Login.c(90): if(classVal && classVal.length > 0) {\n
Login.c(90): $animate.addClass(this.$$element, classVal);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compile.directive.Attributes#$removeClass\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Removes the CSS class value specified
Login.c(90): t=2577ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): by the classVal parameter from the element. If\n
Login.c(90): * animations are enabled then an animation will be
triggered for the class removal.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * @param {string} classVal The className value that will be
removed from the elemen
Login.c(90): t\n
Login.c(90): */\n
Login.c(90): $removeClass : function(classVal) {\n
Login.c(90): if(classVal && classVal.length > 0) {\n
Login.c(90): $animate.removeClass(this.$$element, classVal);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compile.directive.Attributes#$updateClass\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Adds and removes the appropriate CSS class values to the
element based on the dif
Login.c(90): ference\n
Login.c(90): * between the new and old CSS class values (specified as
newClasses and oldClasses)
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @param {string} newClasses The current CSS className
value\n
Login.c(90): * @param {string} oldClasses The former CSS className
value\n
Login.c(90): */\n
Login.c(90): $updateClass : function(newClasses, oldClasses) {\n
Login.c(90): var toAdd = tokenDifference(newClasses, oldClasses);\n
Login.c(90): var toRemove = tokenDifference(oldClasses, newClasses);\n
Login.c(90): \n
Login.c(90): if(toAdd.length === 0) {\n
Login.c(90): $animate.removeClass(this.$$element, toRemove);\n
Login.c(90): } else if(toRemove.length === 0) {\n
Login.c(90): $animate.addClass(this.$$element, toAdd);\n
Login.c(90): } else {\n
Login.c(90): $animate.setClass(this.$$element, toAdd, toRemove);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Set a normalized attribute on the element in a way such
that all directives\n
Login.c(90): * can share the attribute. This function properly handles
boolean attributes.\n
Login.c(90): * @param {string} key Normalized key. (ie ngAttribute)\n
Login.c(90): * @param {string|boolean} value The value to set. If `null`
attribute will be delet
Login.c(90): ed.\n
Login.c(90): * @param {boolean=} writeAttr If false, does not write the
value to DOM element att
Login.c(90): ribute.\n
Login.c(90): * Defaults to true.\n
Login.c(90): * @param {string=} attrName Optional none normalized name.
Defaults to key.\n
Login.c(90): */\n
Login.c(90): $set: function(key, value, writeAttr, attrName) {\n
Login.c(90): // TODO: decide whether or not to throw an error if
"class"\n
Login.c(90): //is set through this function since it may cause
$updateClass to\n
Login.c(90): //become unstable.\n
Login.c(90): \n
Login.c(90): var booleanKey = getBooleanAttrName(this.$$element[0],
key),\n
Login.c(90): normalizedVal,\n
Login.c(90): nodeName;\n
Login.c(90): \n
Login.c(90): if (booleanKey) {\n
Login.c(90): this.$$element.prop(key, value);\n
Login.c(90): attrName = booleanKey;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this[key] = value;\n
Login.c(90): \n
Login.c(90): // translate normalized key to actual key\n
Login.c(90): if (attrName) {\n
Login.c(90): this.$attr[key] = attrName;\n
Login.c(90): } else {\n
Login.c(90): attrName = this.$attr[key];\n
Login.c(90): if (!attrName) {\n
Login.c(90): this.$attr[key] = attrName = snake_case(key, '-');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): nodeName = nodeName_(this.$$element);\n
Login.c(90): \n
Login.c(90): // sanitize a[href] and img[src] values\n
Login.c(90): if ((nodeName === 'A' && key === 'href') ||\n
Login.c(90): (nodeName === 'IMG' && key === 'src')) {\n
Login.c(90): this[key] = value = $$sanitizeUri(value, key ===
'src');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (writeAttr !== false) {\n
Login.c(90): if (value === null || value === undefined) {\n
Login.c(90): this.$$element.removeAttr(attrName);\n
Login.c(90): } else {\n
Login.c(90): this.$$element.attr(attrName, value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // fire observers\n
Login.c(90): var $$observers = this.$$observers;\n
Login.c(90): $$observers && forEach($$observers[key], function(fn) {\n
Login.c(90): try {\n
Login.c(90): fn(value);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compile.directive.Attributes#$observe\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Observes an interpolated attribute.\n
Login.c(90): *\n
Login.c(90): * The observer function will be invoked once during the
next `$digest` following\n
Login.c(90): * compilation. The observer is then invoked whenever the
interpolated value\n
Login.c(90): * changes.\n
Login.c(90): *\n
Login.c(90): * @param {string} key Normalized key. (ie ngAttribute) .\n
Login.c(90): * @param {function(interpolatedValue)} fn Function that
will be called whenever\n
Login.c(90): the interpolated value of the attribute changes.\n
Login.c(90): * See the {@link guide/directive#Attributes
Directives} guide for more info.
Login.c(90): \n
Login.c(90): * @returns {function()} the `fn` parameter.\n
Login.c(90): */\n
Login.c(90): $observe: function(key, fn) {\n
Login.c(90): var attrs = this,\n
Login.c(90): $$observers = (attrs.$$observers || (attrs.$$observers
= {})),\n
Login.c(90): listeners = ($$observers[key] || ($$observers[key] =
[]));\n
Login.c(90): \n
Login.c(90): listeners.push(fn);\n
Login.c(90): $rootScope.$evalAsync(function() {\n
Login.c(90): if (!listeners.$$inter) {\n
Login.c(90): // no one registered attribute interpolation function,
so lets call it manuall
Login.c(90): y\n
Login.c(90): fn(attrs[key]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return fn;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var startSymbol = $interpolate.startSymbol(),\n
Login.c(90): endSymbol = $interpolate.endSymbol(),\n
Login.c(90): denormalizeTemplate = (startSymbol == '{{' || endSymbol
== '}}')\n
Login.c(90): ? identity\n
Login.c(90): : function denormalizeTemplate(template) {\n
Login.c(90): return template.replace(/\\{\\{/g,
startSymbol).replace(/}}/g, endSymbol);\n
Login.c(90): },\n
Login.c(90): NG_ATTR_BINDING = /^ngAttr[A-Z]/;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return compile;\n
Login.c(90): \n
Login.c(90): //================================\n
Login.c(90): \n
Login.c(90): function compile($compileNodes, transcludeFn, maxPriority,
ignoreDirective,\n
Login.c(90): previousCompileContext) {\n
Login.c(90): if (!($compileNodes instanceof jqLite)) {\n
Login.c(90): // jquery always rewraps, whereas we need to preserve the
original selector so tha
Login.c(90): t we can\n
Login.c(90): // modify it.\n
Login.c(90): $compileNodes = jqLite($compileNodes);\n
Login.c(90): }\n
Login.c(90): // We can not compile top level text elements since text
nodes can be merged and we
Login.c(90): will\n
Login.c(90): // not be able to attach scope data to them, so we will wrap
them in <span>\n
Login.c(90): forEach($compileNodes, function(node, index){\n
Login.c(90): if (node.nodeType == 3 /* text node */ &&
node.nodeValue.match(/\\S+/) /* non-empt
Login.c(90): y */ ) {\n
Login.c(90): $compileNodes[index] = node =
jqLite(node).wrap('<span></span>').parent()[0];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): var compositeLinkFn =\n
Login.c(90): compileNodes($compileNodes, transcludeFn,
$compileNodes,\n
Login.c(90): maxPriority, ignoreDirective,
previousCompileContext);\n
Login.c(90): safeAddClass($compileNodes, 'ng-scope');\n
Login.c(90): return function publicLinkFn(scope, cloneConnectFn,
transcludeControllers, parentBou
Login.c(90): ndTranscludeFn){\n
Login.c(90): assertArg(scope, 'scope');\n
Login.c(90): // important!!: we must call our jqLite.clone() since the
jQuery one is trying to
Login.c(90): be smart\n
Login.c(90): // and sometimes changes the structure of the DOM.\n
Login.c(90): var $linkNode = cloneConnectFn\n
Login.c(90): ? JQLitePrototype.clone.call($compileNodes) //
IMPORTANT!!!\n
Login.c(90): : $compileNodes;\n
Login.c(90): \n
Login.c(90): forEach(transcludeControllers, function(instance, name)
{\n
Login.c(90): $linkNode.data('$' + name + 'Controller', instance);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Attach scope only to non-text nodes.\n
Login.c(90): for(var i = 0, ii = $linkNode.length; i<ii; i++) {\n
Login.c(90): var node = $linkNode[i],\n
Login.c(90): nodeType = node.nodeType;\n
Login.c(90): if (nodeType === 1 /* element */ || nodeType === 9 /*
document */) {\n
Login.c(90): $linkNode.eq(i).data('$scope', scope);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (cloneConnectFn) cloneConnectFn($linkNode, scope);\n
Login.c(90): if (compositeLinkFn) compositeLinkFn(scope, $linkNode,
$linkNode, parentBoundTrans
Login.c(90): cludeFn);\n
Login.c(90): return $linkNode;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function safeAddClass($element, className) {\n
Login.c(90): try {\n
Login.c(90): $element.addClass(className);\n
Login.c(90): } catch(e) {\n
Login.c(90): // ignore, since it means that we are trying to set class
on\n
Login.c(90): // SVG element, where class name is read-only.\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Compile function matches each node in nodeList against the
directives. Once all dir
Login.c(90): ectives\n
Login.c(90): * for a particular node are collected their compile functions
are executed. The compi
Login.c(90): le\n
Login.c(90): * functions return values - the linking functions - are
combined into a composite lin
Login.c(90): king\n
Login.c(90): * function, which is the a linking function for the node.\n
Login.c(90): *\n
Login.c(90): * @param {NodeList} nodeList an array of nodes or NodeList to
compile\n
Login.c(90): * @param {function(angular.Scope, cloneAttachFn=)}
transcludeFn A linking function, w
Login.c(90): here the\n
Login.c(90): * scope argument is auto-generated to the new child of
the transcluded parent
Login.c(90): scope.\n
Login.c(90): * @param {DOMElement=} $rootElement If the nodeList is the
root of the compilation tr
Login.c(90): ee then\n
Login.c(90): * the rootElement must be set the jqLite collection of
the compile root. This
Login.c(90): is\n
Login.c(90): * needed so that the jqLite collection items can be
replaced with widgets.\n
Login.c(90): * @param {number=} maxPriority Max directive priority.\n
Login.c(90): * @returns {Function} A composite linking function of all of
the matched directives o
Login.c(90): r null.\n
Login.c(90): */\n
Login.c(90): function compileNodes(nodeList, transcludeFn, $rootElement,
maxPriority, ignoreDirecti
Login.c(90): ve,\n
Login.c(90): previousCompileContext) {\n
Login.c(90): var linkFns = [],\n
Login.c(90): attrs, directives, nodeLinkFn, childNodes, childLinkFn,
linkFnFound;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < nodeList.length; i++) {\n
Login.c(90): attrs = new Attributes();\n
Login.c(90): \n
Login.c(90): // we must always refer to nodeList[i] since the nodes can
be replaced underneath
Login.c(90): us.\n
Login.c(90): directives = collectDirectives(nodeList[i], [], attrs, i
=== 0 ? maxPriority : und
Login.c(90): efined,\n
Login.c(90): ignoreDirective);\n
Login.c(90): \n
Login.c(90): nodeLinkFn = (directives.length)\n
Login.c(90): ? applyDirectivesToNode(directives, nodeList[i],
attrs, transcludeFn, $rootEle
Login.c(90): ment,\n
Login.c(90): null, [], [],
previousCompileContext)\n
Login.c(90): : null;\n
Login.c(90): \n
Login.c(90): if (nodeLinkFn && nodeLinkFn.scope) {\n
Login.c(90): safeAddClass(attrs.$$element, 'ng-scope');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): childLinkFn = (nodeLinkFn && nodeLinkFn.terminal ||\n
Login.c(90): !(childNodes = nodeList[i].childNodes) ||\n
Login.c(90): !childNodes.length)\n
Login.c(90): ? null\n
Login.c(90): : compileNodes(childNodes,\n
Login.c(90): nodeLinkFn ? (\n
Login.c(90): (nodeLinkFn.transcludeOnThisElement || !
nodeLinkFn.templateOnThisElement
Login.c(90): )\n
Login.c(90): && nodeLinkFn.transclude) : transcludeFn);\n
Login.c(90): \n
Login.c(90): linkFns.push(nodeLinkFn, childLinkFn);\n
Login.c(90): linkFnFound = linkFnFound || nodeLinkFn || childLinkFn;\n
Login.c(90): //use the previous context only for the first element in
the virtual group\n
Login.c(90): previousCompileContext = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return a linking function if we have found anything, null
otherwise\n
Login.c(90): return linkFnFound ? compositeLinkFn : null;\n
Login.c(90): \n
Login.c(90): function compositeLinkFn(scope, nodeList, $rootElement,
parentBoundTranscludeFn) {\n
Login.c(90): var nodeLinkFn, childLinkFn, node, childScope, i, ii, n,
childBoundTranscludeFn;\n
Login.c(90): \n
Login.c(90): // copy nodeList so that linking doesn't break due to live
list updates.\n
Login.c(90): var nodeListLength = nodeList.length,\n
Login.c(90): stableNodeList = new Array(nodeListLength);\n
Login.c(90): for (i = 0; i < nodeListLength; i++) {\n
Login.c(90): stableNodeList[i] = nodeList[i];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for(i = 0, n = 0, ii = linkFns.length; i < ii; n++) {\n
Login.c(90): node = stableNodeList[n];\n
Login.c(90): nodeLinkFn = linkFns[i++];\n
Login.c(90): childLinkFn = linkFns[i++];\n
Login.c(90): \n
Login.c(90): if (nodeLinkFn) {\n
Login.c(90): if (nodeLinkFn.scope) {\n
Login.c(90): childScope = scope.$new();\n
Login.c(90): jqLite.data(node, '$scope', childScope);\n
Login.c(90): } else {\n
Login.c(90): childScope = scope;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ( nodeLinkFn.transcludeOnThisElement ) {\n
Login.c(90): childBoundTranscludeFn =
createBoundTranscludeFn(scope, nodeLinkFn.transclud
Login.c(90): e, parentBoundTranscludeFn);\n
Login.c(90): \n
Login.c(90): } else if (!nodeLinkFn.templateOnThisElement &&
parentBoundTranscludeFn) {\n
Login.c(90): childBoundTranscludeFn = parentBoundTranscludeFn;\n
Login.c(90): \n
Login.c(90): } else if (!parentBoundTranscludeFn && transcludeFn)
{\n
Login.c(90): childBoundTranscludeFn =
createBoundTranscludeFn(scope, transcludeFn);\n
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): childBoundTranscludeFn = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): nodeLinkFn(childLinkFn, childScope, node,
$rootElement, childBoundTranscludeFn
Login.c(90): );\n
Login.c(90): \n
Login.c(90): } else if (childLinkFn) {\n
Login.c(90): childLinkFn(scope, node.childNodes, undefined,
parentBoundTranscludeFn);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createBoundTranscludeFn(scope, transcludeFn,
previousBoundTranscludeFn) {\n
Login.c(90): \n
Login.c(90): var boundTranscludeFn = function(transcludedScope, cloneFn,
controllers) {\n
Login.c(90): var scopeCreate
Login.c(90): t=2592ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): d = false;\n
Login.c(90): \n
Login.c(90): if (!transcludedScope) {\n
Login.c(90): transcludedScope = scope.$new();\n
Login.c(90): transcludedScope.$$transcluded = true;\n
Login.c(90): scopeCreated = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var clone = transcludeFn(transcludedScope, cloneFn,
controllers, previousBoundTran
Login.c(90): scludeFn);\n
Login.c(90): if (scopeCreated) {\n
Login.c(90): clone.on('$destroy', function() { transcludedScope.
$destroy(); });\n
Login.c(90): }\n
Login.c(90): return clone;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return boundTranscludeFn;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Looks for directives on the given node and adds them to the
directive collection wh
Login.c(90): ich is\n
Login.c(90): * sorted.\n
Login.c(90): *\n
Login.c(90): * @param node Node to search.\n
Login.c(90): * @param directives An array to which the directives are
added to. This array is sort
Login.c(90): ed before\n
Login.c(90): * the function returns.\n
Login.c(90): * @param attrs The shared attrs object which is used to
populate the normalized attri
Login.c(90): butes.\n
Login.c(90): * @param {number=} maxPriority Max directive priority.\n
Login.c(90): */\n
Login.c(90): function collectDirectives(node, directives, attrs,
maxPriority, ignoreDirective) {\n
Login.c(90): var nodeType = node.nodeType,\n
Login.c(90): attrsMap = attrs.$attr,\n
Login.c(90): match,\n
Login.c(90): className;\n
Login.c(90): \n
Login.c(90): switch(nodeType) {\n
Login.c(90): case 1: /* Element */\n
Login.c(90): // use the node name: <directive>\n
Login.c(90): addDirective(directives,\n
Login.c(90): directiveNormalize(nodeName_(node).toLowerCase()),
'E', maxPriority, ignoreD
Login.c(90): irective);\n
Login.c(90): \n
Login.c(90): // iterate over the attributes\n
Login.c(90): for (var attr, name, nName, ngAttrName, value, isNgAttr,
nAttrs = node.attribute
Login.c(90): s,\n
Login.c(90): j = 0, jj = nAttrs && nAttrs.length; j < jj; j+
+) {\n
Login.c(90): var attrStartName = false;\n
Login.c(90): var attrEndName = false;\n
Login.c(90): \n
Login.c(90): attr = nAttrs[j];\n
Login.c(90): if (!msie || msie >= 8 || attr.specified) {\n
Login.c(90): name = attr.name;\n
Login.c(90): value = trim(attr.value);\n
Login.c(90): \n
Login.c(90): // support ngAttr attribute binding\n
Login.c(90): ngAttrName = directiveNormalize(name);\n
Login.c(90): if (isNgAttr = NG_ATTR_BINDING.test(ngAttrName)) {\n
Login.c(90): name = snake_case(ngAttrName.substr(6), '-');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var directiveNName = ngAttrName.replace(/(Start|End)
$/, '');\n
Login.c(90): if (ngAttrName === directiveNName + 'Start') {\n
Login.c(90): attrStartName = name;\n
Login.c(90): attrEndName = name.substr(0, name.length - 5) +
'end';\n
Login.c(90): name = name.substr(0, name.length - 6);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): nName = directiveNormalize(name.toLowerCase());\n
Login.c(90): attrsMap[nName] = name;\n
Login.c(90): if (isNgAttr || !attrs.hasOwnProperty(nName)) {\n
Login.c(90): attrs[nName] = value;\n
Login.c(90): if (getBooleanAttrName(node, nName)) {\n
Login.c(90): attrs[nName] = true; // presence means true\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): addAttrInterpolateDirective(node, directives, value,
nName);\n
Login.c(90): addDirective(directives, nName, 'A', maxPriority,
ignoreDirective, attrStart
Login.c(90): Name,\n
Login.c(90): attrEndName);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // use class as directive\n
Login.c(90): className = node.className;\n
Login.c(90): if (isString(className) && className !== '') {\n
Login.c(90): while (match = CLASS_DIRECTIVE_REGEXP.exec(className))
{\n
Login.c(90): nName = directiveNormalize(match[2]);\n
Login.c(90): if (addDirective(directives, nName, 'C',
maxPriority, ignoreDirective)) {\n
Login.c(90): attrs[nName] = trim(match[3]);\n
Login.c(90): }\n
Login.c(90): className = className.substr(match.index +
match[0].length);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): case 3: /* Text Node */\n
Login.c(90): addTextInterpolateDirective(directives,
node.nodeValue);\n
Login.c(90): break;\n
Login.c(90): case 8: /* Comment */\n
Login.c(90): try {\n
Login.c(90): match =
COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);\n
Login.c(90): if (match) {\n
Login.c(90): nName = directiveNormalize(match[1]);\n
Login.c(90): if (addDirective(directives, nName, 'M',
maxPriority, ignoreDirective)) {\n
Login.c(90): attrs[nName] = trim(match[2]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } catch (e) {\n
Login.c(90): // turns out that under some circumstances IE9 throws
errors when one attempts
Login.c(90): to read\n
Login.c(90): // comment's node value.\n
Login.c(90): // Just ignore it and continue. (Can't seem to
reproduce in test case.)\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): directives.sort(byPriority);\n
Login.c(90): return directives;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Given a node with an directive-start it collects all of the
siblings until it finds
Login.c(90): \n
Login.c(90): * directive-end.\n
Login.c(90): * @param node\n
Login.c(90): * @param attrStart\n
Login.c(90): * @param attrEnd\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): function groupScan(node, attrStart, attrEnd) {\n
Login.c(90): var nodes = [];\n
Login.c(90): var depth = 0;\n
Login.c(90): if (attrStart && node.hasAttribute &&
node.hasAttribute(attrStart)) {\n
Login.c(90): var startNode = node;\n
Login.c(90): do {\n
Login.c(90): if (!node) {\n
Login.c(90): throw $compileMinErr('uterdir',\n
Login.c(90): "Unterminated attribute, found '{0}' but no
matching '{1}' found.",\n
Login.c(90): attrStart, attrEnd);\n
Login.c(90): }\n
Login.c(90): if (node.nodeType == 1 /** Element **/) {\n
Login.c(90): if (node.hasAttribute(attrStart)) depth++;\n
Login.c(90): if (node.hasAttribute(attrEnd)) depth--;\n
Login.c(90): }\n
Login.c(90): nodes.push(node);\n
Login.c(90): node = node.nextSibling;\n
Login.c(90): } while (depth > 0);\n
Login.c(90): } else {\n
Login.c(90): nodes.push(node);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return jqLite(nodes);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Wrapper for linking function which converts normal linking
function into a grouped\n
Login.c(90): * linking function.\n
Login.c(90): * @param linkFn\n
Login.c(90): * @param attrStart\n
Login.c(90): * @param attrEnd\n
Login.c(90): * @returns {Function}\n
Login.c(90): */\n
Login.c(90): function groupElementsLinkFnWrapper(linkFn, attrStart,
attrEnd) {\n
Login.c(90): return function(scope, element, attrs, controllers,
transcludeFn) {\n
Login.c(90): element = groupScan(element[0], attrStart, attrEnd);\n
Login.c(90): return linkFn(scope, element, attrs, controllers,
transcludeFn);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Once the directives have been collected, their compile
functions are executed. This
Login.c(90): method\n
Login.c(90): * is responsible for inlining directive templates as well as
terminating the applicat
Login.c(90): ion\n
Login.c(90): * of the directives if the terminal directive has been
reached.\n
Login.c(90): *\n
Login.c(90): * @param {Array} directives Array of collected directives to
execute their compile fu
Login.c(90): nction.\n
Login.c(90): * this needs to be pre-sorted by priority order.\n
Login.c(90): * @param {Node} compileNode The raw DOM node to apply the
compile functions to\n
Login.c(90): * @param {Object} templateAttrs The shared attribute
function\n
Login.c(90): * @param {function(angular.Scope, cloneAttachFn=)}
transcludeFn A linking function, w
Login.c(90): here the\n
Login.c(90): * scope
argument is auto-generated t
Login.c(90): o the new\n
Login.c(90): * child of
the transcluded parent sc
Login.c(90): ope.\n
Login.c(90): * @param {JQLite} jqCollection If we are working on the root
of the compile tree then
Login.c(90): this\n
Login.c(90): * argument has the root jqLite
array so that we can repl
Login.c(90): ace nodes\n
Login.c(90): * on it.\n
Login.c(90): * @param {Object=} originalReplaceDirective An optional
directive that will be ignore
Login.c(90): d when\n
Login.c(90): * compiling the
transclusion.\n
Login.c(90): * @param {Array.<Function>} preLinkFns\n
Login.c(90): * @param {Array.<Function>} postLinkFns\n
Login.c(90): * @param {Object} previousCompileContext Context used for
previous compilation of the
Login.c(90): current\n
Login.c(90): * node\n
Login.c(90): * @returns {Function} linkFn\n
Login.c(90): */\n
Login.c(90): function applyDirectivesToNode(directives, compileNode,
templateAttrs, transcludeFn,\n
Login.c(90): jqCollection,
originalReplaceDirective, preLinkFns, pos
Login.c(90): tLinkFns,\n
Login.c(90): previousCompileContext) {\n
Login.c(90): previousCompileContext = previousCompileContext || {};\n
Login.c(90): \n
Login.c(90): var terminalPriority = -Number.MAX_VALUE,\n
Login.c(90): newScopeDirective,\n
Login.c(90): controllerDirectives =
previousCompileContext.controllerDirectives,\n
Login.c(90): newIsolateScopeDirective =
previousCompileContext.newIsolateScopeDirective,\n
Login.c(90): templateDirective =
previousCompileContext.templateDirective,\n
Login.c(90): nonTlbTranscludeDirective =
previousCompileContext.nonTlbTranscludeDirective,\n
Login.c(90): hasTranscludeDirective = false,\n
Login.c(90): hasTemplate = false,\n
Login.c(90): hasElementTranscludeDirective =
previousCompileContext.hasElementTranscludeDirec
Login.c(90): tive,\n
Login.c(90): $compileNode = templateAttrs.$$element =
jqLite(compileNode),\n
Login.c(90): directive,\n
Login.c(90): directiveName,\n
Login.c(90): $template,\n
Login.c(90): replaceDirective = originalReplaceDirective,\n
Login.c(90): childTranscludeFn = transcludeFn,\n
Login.c(90): linkFn,\n
Login.c(90): directiveValue;\n
Login.c(90): \n
Login.c(90): // executes all directives on the current element\n
Login.c(90): for(var i = 0, ii = directives.length; i < ii; i++) {\n
Login.c(90): directive = directives[i];\n
Login.c(90): var attrStart = directive.$$start;\n
Login.c(90): var attrEnd = directive.$$end;\n
Login.c(90): \n
Login.c(90): // collect multiblock sections\n
Login.c(90): if (attrStart) {\n
Login.c(90): $compileNode = groupScan(compileNode, attrStart,
attrEnd);\n
Login.c(90): }\n
Login.c(90): $template = undefined;\n
Login.c(90): \n
Login.c(90): if (terminalPriority > directive.priority) {\n
Login.c(90): break; // prevent further processing of directives\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directiveValue = directive.scope) {\n
Login.c(90): newScopeDirective = newScopeDirective || directive;\n
Login.c(90): \n
Login.c(90): // skip the check for directives with async templates,
we'll check the derived s
Login.c(90): ync\n
Login.c(90): // directive when the template arrives\n
Login.c(90): if (!directive.templateUrl) {\n
Login.c(90): assertNoDuplicate('new/isolated scope',
newIsolateScopeDirective, directive,\n
Login.c(90): $compileNode);\n
Login.c(90): if (isObject(directiveValue)) {\n
Login.c(90): newIsolateScopeDirective = directive;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): directiveName = directive.name;\n
Login.c(90): \n
Login.c(90): if (!directive.templateUrl && directive.controller) {\n
Login.c(90): directiveValue = directive.controller;\n
Login.c(90): controllerDirectives = controllerDirectives || {};\n
Login.c(90): assertNoDuplicate("'" + directiveName + "'
controller",\n
Login.c(90): controllerDirectives[directiveName], directive,
$compileNode);\n
Login.c(90): controllerDirectives[directiveName] = directive;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directiveValue = directive.transclude) {\n
Login.c(90): hasTranscludeDirective = true;\n
Login.c(90): \n
Login.c(90): // Special case ngIf and ngRepeat so that we don't
complain about duplicate tran
Login.c(90): sclusion.\n
Login.c(90): // This option should only be used by directives that
know how to safely handle
Login.c(90): element transclusion,\n
Login.c(90): // where the transcluded nodes are added or replaced
after linking.\n
Login.c(90): if (!directive.$$tlb) {\n
Login.c(90): assertNoDuplicate('transclusion',
nonTlbTranscludeDirective, directive, $compi
Login.c(90): leNode);\n
Login.c(90): nonTlbTranscludeDirective = directive;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directiveValue == 'element') {\n
Login.c(90): hasElementTranscludeDirective = true;\n
Login.c(90): terminalPriority = directive.priority;\n
Login.c(90): $template = $compileNode;\n
Login.c(90): $compileNode = templateAttrs.$$element =\n
Login.c(90): jqLite(document.createComment(' ' + directiveName
+ ': ' +\n
Login.c(90):
templateAttrs[directiveName] + ' '));\n
Login.c(90): compileNode = $compileNode[0];\n
Login.c(90): replaceWith(jqCollection, sliceArgs($template),
compileNode);\n
Login.c(90): \n
Login.c(90): childTranscludeFn = compile($template, transcludeFn,
terminalPriority,\n
Login.c(90): replaceDirective &&
replaceDirective.name, {\n
Login.c(90): // Don't pass in:\n
Login.c(90): // -
controllerDirectives - otherwise we'll crea
Login.c(90): te duplicates controllers\n
Login.c(90): // -
newIsolateScopeDirective or templateDirecti
Login.c(90): ve - combining templates with\n
Login.c(90): // element
transclusion doesn't make sense.\n
Login.c(90): //\n
Login.c(90): // We need only
nonTlbTranscludeDirective so tha
Login.c(90): t we prevent putting transclusion\n
Login.c(90): // on the same element
more than once.\n
Login.c(90):
nonTlbTranscludeDirective: nonTlbTranscludeDirec
Login.c(90): tive\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): $template =
jqLite(jqLiteClone(compileNode)).contents();\n
Login.c(90): $compileNode.empty(); // clear contents\n
Login.c(90): childTranscludeFn = com
Login.c(90): t=2606ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): pile($template, transcludeFn);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directive.template) {\n
Login.c(90): hasTemplate = true;\n
Login.c(90): assertNoDuplicate('template', templateDirective,
directive, $compileNode);\n
Login.c(90): templateDirective = directive;\n
Login.c(90): \n
Login.c(90): directiveValue = (isFunction(directive.template))\n
Login.c(90): ? directive.template($compileNode, templateAttrs)\n
Login.c(90): : directive.template;\n
Login.c(90): \n
Login.c(90): directiveValue = denormalizeTemplate(directiveValue);\n
Login.c(90): \n
Login.c(90): if (directive.replace) {\n
Login.c(90): replaceDirective = directive;\n
Login.c(90): if (jqLiteIsTextNode(directiveValue)) {\n
Login.c(90): $template = [];\n
Login.c(90): } else {\n
Login.c(90): $template = jqLite(trim(directiveValue));\n
Login.c(90): }\n
Login.c(90): compileNode = $template[0];\n
Login.c(90): \n
Login.c(90): if ($template.length != 1 || compileNode.nodeType !==
1) {\n
Login.c(90): throw $compileMinErr('tplrt',\n
Login.c(90): "Template for directive '{0}' must have exactly
one root element. {1}",\n
Login.c(90): directiveName, '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): replaceWith(jqCollection, $compileNode,
compileNode);\n
Login.c(90): \n
Login.c(90): var newTemplateAttrs = {$attr: {}};\n
Login.c(90): \n
Login.c(90): // combine directives from the original node and from
the template:\n
Login.c(90): // - take the array of directives for this element\n
Login.c(90): // - split it into two parts, those that already
applied (processed) and those
Login.c(90): that weren't (unprocessed)\n
Login.c(90): // - collect directives from the template and sort
them by priority\n
Login.c(90): // - combine directives as: processed + template +
unprocessed\n
Login.c(90): var templateDirectives =
collectDirectives(compileNode, [], newTemplateAttrs);
Login.c(90): \n
Login.c(90): var unprocessedDirectives = directives.splice(i + 1,
directives.length - (i +
Login.c(90): 1));\n
Login.c(90): \n
Login.c(90): if (newIsolateScopeDirective) {\n
Login.c(90): markDirectivesAsIsolate(templateDirectives);\n
Login.c(90): }\n
Login.c(90): directives =
directives.concat(templateDirectives).concat(unprocessedDirective
Login.c(90): s);\n
Login.c(90): mergeTemplateAttributes(templateAttrs,
newTemplateAttrs);\n
Login.c(90): \n
Login.c(90): ii = directives.length;\n
Login.c(90): } else {\n
Login.c(90): $compileNode.html(directiveValue);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directive.templateUrl) {\n
Login.c(90): hasTemplate = true;\n
Login.c(90): assertNoDuplicate('template', templateDirective,
directive, $compileNode);\n
Login.c(90): templateDirective = directive;\n
Login.c(90): \n
Login.c(90): if (directive.replace) {\n
Login.c(90): replaceDirective = directive;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): nodeLinkFn = compileTemplateUrl(directives.splice(i,
directives.length - i), $co
Login.c(90): mpileNode,\n
Login.c(90): templateAttrs, jqCollection, hasTranscludeDirective
&& childTranscludeFn, pr
Login.c(90): eLinkFns, postLinkFns, {\n
Login.c(90): controllerDirectives: controllerDirectives,\n
Login.c(90): newIsolateScopeDirective:
newIsolateScopeDirective,\n
Login.c(90): templateDirective: templateDirective,\n
Login.c(90): nonTlbTranscludeDirective:
nonTlbTranscludeDirective\n
Login.c(90): });\n
Login.c(90): ii = directives.length;\n
Login.c(90): } else if (directive.compile) {\n
Login.c(90): try {\n
Login.c(90): linkFn = directive.compile($compileNode,
templateAttrs, childTranscludeFn);\n
Login.c(90): if (isFunction(linkFn)) {\n
Login.c(90): addLinkFns(null, linkFn, attrStart, attrEnd);\n
Login.c(90): } else if (linkFn) {\n
Login.c(90): addLinkFns(linkFn.pre, linkFn.post, attrStart,
attrEnd);\n
Login.c(90): }\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e, startingTag($compileNode));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directive.terminal) {\n
Login.c(90): nodeLinkFn.terminal = true;\n
Login.c(90): terminalPriority = Math.max(terminalPriority,
directive.priority);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): nodeLinkFn.scope = newScopeDirective &&
newScopeDirective.scope === true;\n
Login.c(90): nodeLinkFn.transcludeOnThisElement =
hasTranscludeDirective;\n
Login.c(90): nodeLinkFn.templateOnThisElement = hasTemplate;\n
Login.c(90): nodeLinkFn.transclude = childTranscludeFn;\n
Login.c(90): \n
Login.c(90): previousCompileContext.hasElementTranscludeDirective =
hasElementTranscludeDirective
Login.c(90): ;\n
Login.c(90): \n
Login.c(90): // might be normal or delayed nodeLinkFn depending on if
templateUrl is present\n
Login.c(90): return nodeLinkFn;\n
Login.c(90): \n
Login.c(90): ////////////////////\n
Login.c(90): \n
Login.c(90): function addLinkFns(pre, post, attrStart, attrEnd) {\n
Login.c(90): if (pre) {\n
Login.c(90): if (attrStart) pre = groupElementsLinkFnWrapper(pre,
attrStart, attrEnd);\n
Login.c(90): pre.require = directive.require;\n
Login.c(90): pre.directiveName = directiveName;\n
Login.c(90): if (newIsolateScopeDirective === directive || directive.
$$isolateScope) {\n
Login.c(90): pre = cloneAndAnnotateFn(pre, {isolateScope: true});\n
Login.c(90): }\n
Login.c(90): preLinkFns.push(pre);\n
Login.c(90): }\n
Login.c(90): if (post) {\n
Login.c(90): if (attrStart) post = groupElementsLinkFnWrapper(post,
attrStart, attrEnd);\n
Login.c(90): post.require = directive.require;\n
Login.c(90): post.directiveName = directiveName;\n
Login.c(90): if (newIsolateScopeDirective === directive || directive.
$$isolateScope) {\n
Login.c(90): post = cloneAndAnnotateFn(post, {isolateScope:
true});\n
Login.c(90): }\n
Login.c(90): postLinkFns.push(post);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function getControllers(directiveName, require, $element,
elementControllers) {\n
Login.c(90): var value, retrievalMethod = 'data', optional = false;\n
Login.c(90): if (isString(require)) {\n
Login.c(90): while((value = require.charAt(0)) == '^' || value ==
'?') {\n
Login.c(90): require = require.substr(1);\n
Login.c(90): if (value == '^') {\n
Login.c(90): retrievalMethod = 'inheritedData';\n
Login.c(90): }\n
Login.c(90): optional = optional || value == '?';\n
Login.c(90): }\n
Login.c(90): value = null;\n
Login.c(90): \n
Login.c(90): if (elementControllers && retrievalMethod === 'data')
{\n
Login.c(90): value = elementControllers[require];\n
Login.c(90): }\n
Login.c(90): value = value || $element[retrievalMethod]('$' + require
+ 'Controller');\n
Login.c(90): \n
Login.c(90): if (!value && !optional) {\n
Login.c(90): throw $compileMinErr('ctreq',\n
Login.c(90): "Controller '{0}', required by directive '{1}',
can't be found!",\n
Login.c(90): require, directiveName);\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): } else if (isArray(require)) {\n
Login.c(90): value = [];\n
Login.c(90): forEach(require, function(require) {\n
Login.c(90): value.push(getControllers(directiveName, require,
$element, elementControllers
Login.c(90): ));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function nodeLinkFn(childLinkFn, scope, linkNode,
$rootElement, boundTranscludeFn) {
Login.c(90): \n
Login.c(90): var attrs, $element, i, ii, linkFn, controller,
isolateScope, elementControllers =
Login.c(90): {}, transcludeFn;\n
Login.c(90): \n
Login.c(90): attrs = (compileNode === linkNode)\n
Login.c(90): ? templateAttrs\n
Login.c(90): : shallowCopy(templateAttrs, new
Attributes(jqLite(linkNode), templateAttrs.$att
Login.c(90): r));\n
Login.c(90): $element = attrs.$$element;\n
Login.c(90): \n
Login.c(90): if (newIsolateScopeDirective) {\n
Login.c(90): var LOCAL_REGEXP = /^\\s*([@=&])
(\\??)\\s*(\\w*)\\s*$/;\n
Login.c(90): \n
Login.c(90): isolateScope = scope.$new(true);\n
Login.c(90): \n
Login.c(90): if (templateDirective && (templateDirective ===
newIsolateScopeDirective ||\n
Login.c(90): templateDirective === newIsolateScopeDirective.$
$originalDirective)) {\n
Login.c(90): $element.data('$isolateScope', isolateScope);\n
Login.c(90): } else {\n
Login.c(90): $element.data('$isolateScopeNoTemplate',
isolateScope);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): safeAddClass($element, 'ng-isolate-scope');\n
Login.c(90): \n
Login.c(90): forEach(newIsolateScopeDirective.scope,
function(definition, scopeName) {\n
Login.c(90): var match = definition.match(LOCAL_REGEXP) || [],\n
Login.c(90): attrName = match[3] || scopeName,\n
Login.c(90): optional = (match[2] == '?'),\n
Login.c(90): mode = match[1], // @, =, or &\n
Login.c(90): lastValue,\n
Login.c(90): parentGet, parentSet, compare;\n
Login.c(90): \n
Login.c(90): isolateScope.$$isolateBindings[scopeName] = mode +
attrName;\n
Login.c(90): \n
Login.c(90): switch (mode) {\n
Login.c(90): \n
Login.c(90): case '@':\n
Login.c(90): attrs.$observe(attrName, function(value) {\n
Login.c(90): isolateScope[scopeName] = value;\n
Login.c(90): });\n
Login.c(90): attrs.$$observers[attrName].$$scope = scope;\n
Login.c(90): if( attrs[attrName] ) {\n
Login.c(90): // If the attribute has been provided then we
trigger an interpolation t
Login.c(90): o ensure\n
Login.c(90): // the value is there for use in the link fn\n
Login.c(90): isolateScope[scopeName] =
$interpolate(attrs[attrName])(scope);\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): \n
Login.c(90): case '=':\n
Login.c(90): if (optional && !attrs[attrName]) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): parentGet = $parse(attrs[attrName]);\n
Login.c(90): if (parentGet.literal) {\n
Login.c(90): compare = equals;\n
Login.c(90): } else {\n
Login.c(90): compare = function(a,b) { return a === b || (a !
== a && b !== b); };\n
Login.c(90): }\n
Login.c(90): parentSet = parentGet.assign || function() {\n
Login.c(90): // reset the change, or we will throw this
exception on every $digest\n
Login.c(90): lastValue = isolateScope[scopeName] =
parentGet(scope);\n
Login.c(90): throw $compileMinErr('nonassign',\n
Login.c(90): "Expression '{0}' used with directive '{1}'
is non-assignable!",\n
Login.c(90): attrs[attrName],
newIsolateScopeDirective.name);\n
Login.c(90): };\n
Login.c(90): lastValue = isolateScope[scopeName] =
parentGet(scope);\n
Login.c(90): isolateScope.$watch(function parentValueWatch()
{\n
Login.c(90): var parentValue = parentGet(scope);\n
Login.c(90): if (!compare(parentValue,
isolateScope[scopeName])) {\n
Login.c(90): // we are out of sync and need to copy\n
Login.c(90): if (!compare(parentValue, lastValue)) {\n
Login.c(90): // parent changed and it has precedence\n
Login.c(90): isolateScope[scopeName] = parentValue;\n
Login.c(90): } else {\n
Login.c(90): // if the parent can be assigned then do
so\n
Login.c(90): parentSet(scope, parentValue =
isolateScope[scopeName]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return lastValue = parentValue;\n
Login.c(90): }, null, parentGet.literal);\n
Login.c(90): break;\n
Login.c(90): \n
Login.c(90): case '&':\n
Login.c(90): parentGet = $parse(attrs[attrName]);\n
Login.c(90): isolateScope[scopeName] = function(locals) {\n
Login.c(90): return parentGet(scope, locals);\n
Login.c(90): };\n
Login.c(90): break;\n
Login.c(90): \n
Login.c(90): default:\n
Login.c(90): throw $compileMinErr('iscp',\n
Login.c(90): "Invalid isolate scope definition for
directive '{0}'." +\n
Login.c(90): " Definition: {... {1}: '{2}' ...}",\n
Login.c(90): newIsolateScopeDirective.name, scopeName,
definition);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): transcludeFn = boundTranscludeFn &&
controllersBoundTransclude;\n
Login.c(90): if (controllerDirectives) {\n
Login.c(90): forEach(controllerDirectives, function(directive) {\n
Login.c(90): var locals = {\n
Login.c(90): $scope: directive === newIsolateScopeDirective ||
directive.$$isolateScope ?
Login.c(90): isolateScope : scope,\n
Login.c(90): $element: $element,\n
Login.c(90): $attrs: attrs,\n
Login.c(90): $transclude: transcludeFn\n
Login.c(90): }, controllerInstance;\n
Login.c(90): \n
Login.c(90): controller = directive.controller;\n
Login.c(90): if (controller == '@') {\n
Login.c(90): controller = attrs[directive.name];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): controllerInstance = $controller(controller,
locals);\n
Login.c(90): // For directives with element transclusion the
element is a comment,\n
Login.c(90): // but jQuery .data doesn't support attaching data to
comment nodes as it's ha
Login.c(90): rd to\n
Login.c(90): // clean up (http://bugs.jquery.com/ticket/8335).\n
Login.c(90): // Instead, we save the controllers for the element in
a local hash and attach
Login.c(90): to .data\n
Login.c(90): // later, once we have the actual element.\n
Login.c(90): elementControllers[directive.name] =
controllerInstance;\n
Login.c(90): if (!hasElementTranscludeDirective) {\n
Login.c(90): $element.data('$' + directive.name + 'Controller',
controllerInstance);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (directive.controllerAs) {\n
Login.c(90): locals.$scope[directive.controllerAs] =
controllerInstance;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // PRELINKING\n
Login.c(90): for(i = 0, ii = preLinkFns.length; i < ii; i++) {\n
Login.c(90): try {\n
Login.c(90): linkFn = preLinkFns[i];\n
Login.c(90): linkFn(linkFn.isolateScope ? isolateScope : scope,
$element, attrs,\n
Login.c(90): linkFn.require &&
getControllers(linkFn.directiveName, linkFn.require, $el
Login.c(90): ement, elementControllers), transcludeFn);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e, startingTag($element));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // RECURSION\n
Login.c(90): // We only pass the isolate scope, if the isolate
directive has a template,\n
Login.c(90): // otherwi
Login.c(90): t=2619ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): se the child elements do not belong to the isolate directive.\n
Login.c(90): var scopeToChild = scope;\n
Login.c(90): if (newIsolateScopeDirective &&
(newIsolateScopeDirective.template || newIsolateSc
Login.c(90): opeDirective.templateUrl === null)) {\n
Login.c(90): scopeToChild = isolateScope;\n
Login.c(90): }\n
Login.c(90): childLinkFn && childLinkFn(scopeToChild,
linkNode.childNodes, undefined, boundTran
Login.c(90): scludeFn);\n
Login.c(90): \n
Login.c(90): // POSTLINKING\n
Login.c(90): for(i = postLinkFns.length - 1; i >= 0; i--) {\n
Login.c(90): try {\n
Login.c(90): linkFn = postLinkFns[i];\n
Login.c(90): linkFn(linkFn.isolateScope ? isolateScope : scope,
$element, attrs,\n
Login.c(90): linkFn.require &&
getControllers(linkFn.directiveName, linkFn.require, $el
Login.c(90): ement, elementControllers), transcludeFn);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e, startingTag($element));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // This is the function that is injected as
`$transclude`.\n
Login.c(90): function controllersBoundTransclude(scope, cloneAttachFn)
{\n
Login.c(90): var transcludeControllers;\n
Login.c(90): \n
Login.c(90): // no scope passed\n
Login.c(90): if (arguments.length < 2) {\n
Login.c(90): cloneAttachFn = scope;\n
Login.c(90): scope = undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (hasElementTranscludeDirective) {\n
Login.c(90): transcludeControllers = elementControllers;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return boundTranscludeFn(scope, cloneAttachFn,
transcludeControllers);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function markDirectivesAsIsolate(directives) {\n
Login.c(90): // mark all directives as needing isolate scope.\n
Login.c(90): for (var j = 0, jj = directives.length; j < jj; j++) {\n
Login.c(90): directives[j] = inherit(directives[j], {$$isolateScope:
true});\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * looks up the directive and decorates it with exception
handling and proper paramete
Login.c(90): rs. We\n
Login.c(90): * call this the boundDirective.\n
Login.c(90): *\n
Login.c(90): * @param {string} name name of the directive to look up.\n
Login.c(90): * @param {string} location The directive must be found in
specific format.\n
Login.c(90): * String containing any of theses characters:\n
Login.c(90): *\n
Login.c(90): * * `E`: element name\n
Login.c(90): * * `A': attribute\n
Login.c(90): * * `C`: class\n
Login.c(90): * * `M`: comment\n
Login.c(90): * @returns {boolean} true if directive was added.\n
Login.c(90): */\n
Login.c(90): function addDirective(tDirectives, name, location,
maxPriority, ignoreDirective, start
Login.c(90): AttrName,\n
Login.c(90): endAttrName) {\n
Login.c(90): if (name === ignoreDirective) return null;\n
Login.c(90): var match = null;\n
Login.c(90): if (hasDirectives.hasOwnProperty(name)) {\n
Login.c(90): for(var directive, directives = $injector.get(name +
Suffix),\n
Login.c(90): i = 0, ii = directives.length; i<ii; i++) {\n
Login.c(90): try {\n
Login.c(90): directive = directives[i];\n
Login.c(90): if ( (maxPriority === undefined || maxPriority >
directive.priority) &&\n
Login.c(90): directive.restrict.indexOf(location) != -1) {\n
Login.c(90): if (startAttrName) {\n
Login.c(90): directive = inherit(directive, {$$start:
startAttrName, $$end: endAttrName
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): tDirectives.push(directive);\n
Login.c(90): match = directive;\n
Login.c(90): }\n
Login.c(90): } catch(e) { $exceptionHandler(e); }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return match;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * When the element is replaced with HTML template then the
new attributes\n
Login.c(90): * on the template need to be merged with the existing
attributes in the DOM.\n
Login.c(90): * The desired effect is to have both of the attributes
present.\n
Login.c(90): *\n
Login.c(90): * @param {object} dst destination attributes (original DOM)\n
Login.c(90): * @param {object} src source attributes (from the directive
template)\n
Login.c(90): */\n
Login.c(90): function mergeTemplateAttributes(dst, src) {\n
Login.c(90): var srcAttr = src.$attr,\n
Login.c(90): dstAttr = dst.$attr,\n
Login.c(90): $element = dst.$$element;\n
Login.c(90): \n
Login.c(90): // reapply the old attributes to the new element\n
Login.c(90): forEach(dst, function(value, key) {\n
Login.c(90): if (key.charAt(0) != '$') {\n
Login.c(90): if (src[key] && src[key] !== value) {\n
Login.c(90): value += (key === 'style' ? ';' : ' ') + src[key];\n
Login.c(90): }\n
Login.c(90): dst.$set(key, value, true, srcAttr[key]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // copy the new attributes on the old attrs object\n
Login.c(90): forEach(src, function(value, key) {\n
Login.c(90): if (key == 'class') {\n
Login.c(90): safeAddClass($element, value);\n
Login.c(90): dst['class'] = (dst['class'] ? dst['class'] + ' ' : '')
+ value;\n
Login.c(90): } else if (key == 'style') {\n
Login.c(90): $element.attr('style', $element.attr('style') + ';' +
value);\n
Login.c(90): dst['style'] = (dst['style'] ? dst['style'] + ';' : '')
+ value;\n
Login.c(90): // `dst` will never contain hasOwnProperty as DOM parser
won't let it.\n
Login.c(90): // You will get an "InvalidCharacterError: DOM Exception
5" error if you\n
Login.c(90): // have an attribute like "has-own-property" or "data-
has-own-property", etc.\n
Login.c(90): } else if (key.charAt(0) != '$' && !
dst.hasOwnProperty(key)) {\n
Login.c(90): dst[key] = value;\n
Login.c(90): dstAttr[key] = srcAttr[key];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function compileTemplateUrl(directives, $compileNode,
tAttrs,\n
Login.c(90): $rootElement, childTranscludeFn, preLinkFns, postLinkFns,
previousCompileContext)
Login.c(90): {\n
Login.c(90): var linkQueue = [],\n
Login.c(90): afterTemplateNodeLinkFn,\n
Login.c(90): afterTemplateChildLinkFn,\n
Login.c(90): beforeTemplateCompileNode = $compileNode[0],\n
Login.c(90): origAsyncDirective = directives.shift(),\n
Login.c(90): // The fact that we have to copy and patch the directive
seems wrong!\n
Login.c(90): derivedSyncDirective = extend({}, origAsyncDirective,
{\n
Login.c(90): templateUrl: null, transclude: null, replace: null, $
$originalDirective: origA
Login.c(90): syncDirective\n
Login.c(90): }),\n
Login.c(90): templateUrl =
(isFunction(origAsyncDirective.templateUrl))\n
Login.c(90): ? origAsyncDirective.templateUrl($compileNode,
tAttrs)\n
Login.c(90): : origAsyncDirective.templateUrl;\n
Login.c(90): \n
Login.c(90): $compileNode.empty();\n
Login.c(90): \n
Login.c(90): $http.get($sce.getTrustedResourceUrl(templateUrl), {cache:
$templateCache}).\n
Login.c(90): success(function(content) {\n
Login.c(90): var compileNode, tempTemplateAttrs, $template,
childBoundTranscludeFn;\n
Login.c(90): \n
Login.c(90): content = denormalizeTemplate(content);\n
Login.c(90): \n
Login.c(90): if (origAsyncDirective.replace) {\n
Login.c(90): if (jqLiteIsTextNode(content)) {\n
Login.c(90): $template = [];\n
Login.c(90): } else {\n
Login.c(90): $template = jqLite(trim(content));\n
Login.c(90): }\n
Login.c(90): compileNode = $template[0];\n
Login.c(90): \n
Login.c(90): if ($template.length != 1 || compileNode.nodeType !==
1) {\n
Login.c(90): throw $compileMinErr('tplrt',\n
Login.c(90): "Template for directive '{0}' must have exactly
one root element. {1}",\n
Login.c(90): origAsyncDirective.name, templateUrl);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): tempTemplateAttrs = {$attr: {}};\n
Login.c(90): replaceWith($rootElement, $compileNode,
compileNode);\n
Login.c(90): var templateDirectives =
collectDirectives(compileNode, [], tempTemplateAttrs)
Login.c(90): ;\n
Login.c(90): \n
Login.c(90): if (isObject(origAsyncDirective.scope)) {\n
Login.c(90): markDirectivesAsIsolate(templateDirectives);\n
Login.c(90): }\n
Login.c(90): directives = templateDirectives.concat(directives);\n
Login.c(90): mergeTemplateAttributes(tAttrs, tempTemplateAttrs);\n
Login.c(90): } else {\n
Login.c(90): compileNode = beforeTemplateCompileNode;\n
Login.c(90): $compileNode.html(content);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): directives.unshift(derivedSyncDirective);\n
Login.c(90): \n
Login.c(90): afterTemplateNodeLinkFn =
applyDirectivesToNode(directives, compileNode, tAttrs,
Login.c(90): \n
Login.c(90): childTranscludeFn, $compileNode, origAsyncDirective,
preLinkFns, postLinkFns
Login.c(90): ,\n
Login.c(90): previousCompileContext);\n
Login.c(90): forEach($rootElement, function(node, i) {\n
Login.c(90): if (node == compileNode) {\n
Login.c(90): $rootElement[i] = $compileNode[0];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): afterTemplateChildLinkFn =
compileNodes($compileNode[0].childNodes, childTranscl
Login.c(90): udeFn);\n
Login.c(90): \n
Login.c(90): while(linkQueue.length) {\n
Login.c(90): var scope = linkQueue.shift(),\n
Login.c(90): beforeTemplateLinkNode = linkQueue.shift(),\n
Login.c(90): linkRootElement = linkQueue.shift(),\n
Login.c(90): boundTranscludeFn = linkQueue.shift(),\n
Login.c(90): linkNode = $compileNode[0];\n
Login.c(90): \n
Login.c(90): if (beforeTemplateLinkNode !==
beforeTemplateCompileNode) {\n
Login.c(90): var oldClasses = beforeTemplateLinkNode.className;\n
Login.c(90): \n
Login.c(90): if (!
(previousCompileContext.hasElementTranscludeDirective &&\n
Login.c(90): origAsyncDirective.replace)) {\n
Login.c(90): // it was cloned therefore we have to clone as
well.\n
Login.c(90): linkNode = jqLiteClone(compileNode);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): replaceWith(linkRootElement,
jqLite(beforeTemplateLinkNode), linkNode);\n
Login.c(90): \n
Login.c(90): // Copy in CSS classes from original node\n
Login.c(90): safeAddClass(jqLite(linkNode), oldClasses);\n
Login.c(90): }\n
Login.c(90): if (afterTemplateNodeLinkFn.transcludeOnThisElement)
{\n
Login.c(90): childBoundTranscludeFn =
createBoundTranscludeFn(scope, afterTemplateNodeLin
Login.c(90): kFn.transclude, boundTranscludeFn);\n
Login.c(90): } else {\n
Login.c(90): childBoundTranscludeFn = boundTranscludeFn;\n
Login.c(90): }\n
Login.c(90): afterTemplateNodeLinkFn(afterTemplateChildLinkFn,
scope, linkNode, $rootElemen
Login.c(90): t,\n
Login.c(90): childBoundTranscludeFn);\n
Login.c(90): }\n
Login.c(90): linkQueue = null;\n
Login.c(90): }).\n
Login.c(90): error(function(response, code, headers, config) {\n
Login.c(90): throw $compileMinErr('tpload', 'Failed to load template:
{0}', config.url);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return function delayedNodeLinkFn(ignoreChildLinkFn, scope,
node, rootElement, bound
Login.c(90): TranscludeFn) {\n
Login.c(90): var childBoundTranscludeFn = boundTranscludeFn;\n
Login.c(90): if (linkQueue) {\n
Login.c(90): linkQueue.push(scope);\n
Login.c(90): linkQueue.push(node);\n
Login.c(90): linkQueue.push(rootElement);\n
Login.c(90): linkQueue.push(childBoundTranscludeFn);\n
Login.c(90): } else {\n
Login.c(90): if (afterTemplateNodeLinkFn.transcludeOnThisElement) {\n
Login.c(90): childBoundTranscludeFn =
createBoundTranscludeFn(scope, afterTemplateNodeLinkF
Login.c(90): n.transclude, boundTranscludeFn);\n
Login.c(90): }\n
Login.c(90): afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope,
node, rootElement, chil
Login.c(90): dBoundTranscludeFn);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Sorting function for bound directives.\n
Login.c(90): */\n
Login.c(90): function byPriority(a, b) {\n
Login.c(90): var diff = b.priority - a.priority;\n
Login.c(90): if (diff !== 0) return diff;\n
Login.c(90): if (a.name !== b.name) return (a.name < b.name) ? -1 : 1;\n
Login.c(90): return a.index - b.index;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function assertNoDuplicate(what, previousDirective, directive,
element) {\n
Login.c(90): if (previousDirective) {\n
Login.c(90): throw $compileMinErr('multidir', 'Multiple directives
[{0}, {1}] asking for {2} on
Login.c(90): : {3}',\n
Login.c(90): previousDirective.name, directive.name, what,
startingTag(element));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function addTextInterpolateDirective(directives, text) {\n
Login.c(90): var interpolateFn = $interpolate(text, true);\n
Login.c(90): if (interpolateFn) {\n
Login.c(90): directives.push({\n
Login.c(90): priority: 0,\n
Login.c(90): compile: function
textInterpolateCompileFn(templateNode) {\n
Login.c(90): // when transcluding a template that has bindings in
the root\n
Login.c(90): // then we don't have a parent and should do this in
the linkFn\n
Login.c(90): var parent = templateNode.parent(), hasCompileParent
= parent.length;\n
Login.c(90): if (hasCompileParent)
safeAddClass(templateNode.parent(), 'ng-binding');\n
Login.c(90): \n
Login.c(90): return function textInterpolateLinkFn(scope, node)
{\n
Login.c(90): var parent = node.parent(),\n
Login.c(90): bindings = parent.data('$binding') || [];\n
Login.c(90): bindings.push(interpolateFn);\n
Login.c(90): parent.data('$binding', bindings);\n
Login.c(90): if (!hasCompileParent) safeAddClass(parent, 'ng-
binding');\n
Login.c(90): scope.$watch(interpolateFn, function
interpolateFnWatchAction(value) {\n
Login.c(90): node[0].nodeValue = value;\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function getTrustedContext(node, attrNormalizedName) {\n
Login.c(90): if (attrNormalizedName == "srcdoc") {\n
Login.c(90): return $sce.HTML;\n
Login.c(90): }\n
Login.c(90): var tag = nodeName_(node);\n
Login.c(90): // maction[xlink:href] can source SVG. It's not limited to
<maction>.\n
Login.c(90): if (attrNormalizedName == "xlinkHref" ||\n
Login.c(90): (tag == "FORM" && attrNormalizedName == "action") ||\n
Login.c(90): (tag != "IMG" && (attrNormalizedName == "src" ||\n
Login.c(90): attrNormalizedName == "ngSrc"))) {\n
Login.c(90): return $sce.RESOURCE_URL;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function addAttrInterpolateDirective(node, directives, value,
name) {\n
Login.c(90): var interpolateFn = $interpolate(value, true);\n
Login.c(90): \n
Login.c(90): // no interpolation found -> ignore\n
Login.c(90): if (!interpolateFn) return;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (name === "multiple" && nodeName_(node) === "SELECT") {\n
Login.c(90): thr
Login.c(90): t=2633ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ow $compileMinErr("selmulti",\n
Login.c(90): "Binding to the 'multiple' attribute is not supported.
Element: {0}",\n
Login.c(90): startingTag(node));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): directives.push({\n
Login.c(90): priority: 100,\n
Login.c(90): compile: function() {\n
Login.c(90): return {\n
Login.c(90): pre: function attrInterpolatePreLinkFn(scope,
element, attr) {\n
Login.c(90): var $$observers = (attr.$$observers || (attr.$
$observers = {}));\n
Login.c(90): \n
Login.c(90): if (EVENT_HANDLER_ATTR_REGEXP.test(name)) {\n
Login.c(90): throw $compileMinErr('nodomevents',\n
Login.c(90): "Interpolations for HTML DOM event
attributes are disallowed. Pleas
Login.c(90): e use the " +\n
Login.c(90): "ng- versions (such as ng-click instead
of onclick) instead.");\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we need to interpolate again, in case the
attribute value has been upda
Login.c(90): ted\n
Login.c(90): // (e.g. by another directive's compile
function)\n
Login.c(90): interpolateFn = $interpolate(attr[name], true,
getTrustedContext(node, nam
Login.c(90): e));\n
Login.c(90): \n
Login.c(90): // if attribute was updated so that there is no
interpolation going on we
Login.c(90): don't want to\n
Login.c(90): // register any observers\n
Login.c(90): if (!interpolateFn) return;\n
Login.c(90): \n
Login.c(90): // TODO(i): this should likely be attr.$set(name,
iterpolateFn(scope) so t
Login.c(90): hat we reset the\n
Login.c(90): // actual attr value\n
Login.c(90): attr[name] = interpolateFn(scope);\n
Login.c(90): ($$observers[name] || ($$observers[name] = [])).$
$inter = true;\n
Login.c(90): (attr.$$observers && attr.$$observers[name].$
$scope || scope).\n
Login.c(90): $watch(interpolateFn, function
interpolateFnWatchAction(newValue, oldVal
Login.c(90): ue) {\n
Login.c(90): //special case for class attribute addition +
removal\n
Login.c(90): //so that class changes can tap into the
animation\n
Login.c(90): //hooks provided by the $animate service. Be
sure to\n
Login.c(90): //skip animations when the first digest occurs
(when\n
Login.c(90): //both the new and the old values are the
same) since\n
Login.c(90): //the CSS classes are the non-interpolated
values\n
Login.c(90): if(name === 'class' && newValue != oldValue)
{\n
Login.c(90): attr.$updateClass(newValue, oldValue);\n
Login.c(90): } else {\n
Login.c(90): attr.$set(name, newValue);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * This is a special jqLite.replaceWith, which can replace
items which\n
Login.c(90): * have no parents, provided that the containing jqLite
collection is provided.\n
Login.c(90): *\n
Login.c(90): * @param {JqLite=} $rootElement The root of the compile tree.
Used so that we can rep
Login.c(90): lace nodes\n
Login.c(90): * in the root of the tree.\n
Login.c(90): * @param {JqLite} elementsToRemove The jqLite element which
we are going to replace.
Login.c(90): We keep\n
Login.c(90): * the shell, but replace its
DOM node reference.\n
Login.c(90): * @param {Node} newNode The new DOM node.\n
Login.c(90): */\n
Login.c(90): function replaceWith($rootElement, elementsToRemove, newNode)
{\n
Login.c(90): var firstElementToRemove = elementsToRemove[0],\n
Login.c(90): removeCount = elementsToRemove.length,\n
Login.c(90): parent = firstElementToRemove.parentNode,\n
Login.c(90): i, ii;\n
Login.c(90): \n
Login.c(90): if ($rootElement) {\n
Login.c(90): for(i = 0, ii = $rootElement.length; i < ii; i++) {\n
Login.c(90): if ($rootElement[i] == firstElementToRemove) {\n
Login.c(90): $rootElement[i++] = newNode;\n
Login.c(90): for (var j = i, j2 = j + removeCount - 1,\n
Login.c(90): jj = $rootElement.length;\n
Login.c(90): j < jj; j++, j2++) {\n
Login.c(90): if (j2 < jj) {\n
Login.c(90): $rootElement[j] = $rootElement[j2];\n
Login.c(90): } else {\n
Login.c(90): delete $rootElement[j];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): $rootElement.length -= removeCount - 1;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (parent) {\n
Login.c(90): parent.replaceChild(newNode, firstElementToRemove);\n
Login.c(90): }\n
Login.c(90): var fragment = document.createDocumentFragment();\n
Login.c(90): fragment.appendChild(firstElementToRemove);\n
Login.c(90): newNode[jqLite.expando] =
firstElementToRemove[jqLite.expando];\n
Login.c(90): for (var k = 1, kk = elementsToRemove.length; k < kk; k++)
{\n
Login.c(90): var element = elementsToRemove[k];\n
Login.c(90): jqLite(element).remove(); // must do this way to clean up
expando\n
Login.c(90): fragment.appendChild(element);\n
Login.c(90): delete elementsToRemove[k];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): elementsToRemove[0] = newNode;\n
Login.c(90): elementsToRemove.length = 1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function cloneAndAnnotateFn(fn, annotation) {\n
Login.c(90): return extend(function() { return fn.apply(null, arguments);
}, fn, annotation);\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var PREFIX_REGEXP = /^(x[\\:\\-_]|data[\\:\\-_])/i;\n
Login.c(90): /**\n
Login.c(90): * Converts all accepted directives format into proper directive
name.\n
Login.c(90): * All of these will become 'myDirective':\n
Login.c(90): * my:Directive\n
Login.c(90): * my-directive\n
Login.c(90): * x-my-directive\n
Login.c(90): * data-my:directive\n
Login.c(90): *\n
Login.c(90): * Also there is special case for Moz prefix starting with upper
case letter.\n
Login.c(90): * @param name Name to normalize\n
Login.c(90): */\n
Login.c(90): function directiveNormalize(name) {\n
Login.c(90): return camelCase(name.replace(PREFIX_REGEXP, ''));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name $compile.directive.Attributes\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A shared object between directive compile / linking functions
which contains normalized
Login.c(90): DOM\n
Login.c(90): * element attributes. The values reflect current binding state
`{{ }}`. The normalization
Login.c(90): is\n
Login.c(90): * needed since all of these are treated as equivalent in
Angular:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * <span ng:bind="a" ng-bind="a" data-ng-bind="a" x-ng-
bind="a">\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $compile.directive.Attributes#$attr\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A map of DOM element attribute names to the normalized name.
This is\n
Login.c(90): * needed to do reverse lookup from normalized name back to actual
name.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $compile.directive.Attributes#$set\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Set DOM element attribute value.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string} name Normalized element attribute name of the
property to modify. The n
Login.c(90): ame is\n
Login.c(90): * reverse-translated using the {@link ng.
$compile.directive.Attributes#$attr $at
Login.c(90): tr}\n
Login.c(90): * property to the original name.\n
Login.c(90): * @param {string} value Value to set the attribute to. The value
can be an interpolated s
Login.c(90): tring.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Closure compiler type information\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function nodesetLinkingFn(\n
Login.c(90): /* angular.Scope */ scope,\n
Login.c(90): /* NodeList */ nodeList,\n
Login.c(90): /* Element */ rootElement,\n
Login.c(90): /* function(Function) */ boundTranscludeFn\n
Login.c(90): ){}\n
Login.c(90): \n
Login.c(90): function directiveLinkingFn(\n
Login.c(90): /* nodesetLinkingFn */ nodesetLinkingFn,\n
Login.c(90): /* angular.Scope */ scope,\n
Login.c(90): /* Node */ node,\n
Login.c(90): /* Element */ rootElement,\n
Login.c(90): /* function(Function) */ boundTranscludeFn\n
Login.c(90): ){}\n
Login.c(90): \n
Login.c(90): function tokenDifference(str1, str2) {\n
Login.c(90): var values = '',\n
Login.c(90): tokens1 = str1.split(/\\s+/),\n
Login.c(90): tokens2 = str2.split(/\\s+/);\n
Login.c(90): \n
Login.c(90): outer:\n
Login.c(90): for(var i = 0; i < tokens1.length; i++) {\n
Login.c(90): var token = tokens1[i];\n
Login.c(90): for(var j = 0; j < tokens2.length; j++) {\n
Login.c(90): if(token == tokens2[j]) continue outer;\n
Login.c(90): }\n
Login.c(90): values += (values.length > 0 ? ' ' : '') + token;\n
Login.c(90): }\n
Login.c(90): return values;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $controllerProvider\n
Login.c(90): * @description\n
Login.c(90): * The {@link ng.$controller $controller service} is used by
Angular to create new\n
Login.c(90): * controllers.\n
Login.c(90): *\n
Login.c(90): * This provider allows controller registration via the\n
Login.c(90): * {@link ng.$controllerProvider#register register} method.\n
Login.c(90): */\n
Login.c(90): function $ControllerProvider() {\n
Login.c(90): var controllers = {},\n
Login.c(90): CNTRL_REG = /^(\\S+)(\\s+as\\s+(\\w+))?$/;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $controllerProvider#register\n
Login.c(90): * @param {string|Object} name Controller name, or an object map
of controllers where th
Login.c(90): e keys are\n
Login.c(90): * the names and the values are the constructors.\n
Login.c(90): * @param {Function|Array} constructor Controller constructor fn
(optionally decorated w
Login.c(90): ith DI\n
Login.c(90): * annotations in the array notation).\n
Login.c(90): */\n
Login.c(90): this.register = function(name, constructor) {\n
Login.c(90): assertNotHasOwnProperty(name, 'controller');\n
Login.c(90): if (isObject(name)) {\n
Login.c(90): extend(controllers, name);\n
Login.c(90): } else {\n
Login.c(90): controllers[name] = constructor;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): this.$get = ['$injector', '$window', function($injector,
$window) {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $controller\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @param {Function|string} constructor If called with a
function then it's considered
Login.c(90): to be the\n
Login.c(90): * controller constructor function. Otherwise it's
considered to be a string which
Login.c(90): is used\n
Login.c(90): * to retrieve the controller constructor using the
following steps:\n
Login.c(90): *\n
Login.c(90): * * check if a controller with given name is registered
via `$controllerProvider`\n
Login.c(90): * * check if evaluating the string on the current scope
returns a constructor\n
Login.c(90): * * check `window[constructor]` on the global `window`
object\n
Login.c(90): *\n
Login.c(90): * @param {Object} locals Injection locals for Controller.\n
Login.c(90): * @return {Object} Instance of given controller.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$controller` service is responsible for instantiating
controllers.\n
Login.c(90): *\n
Login.c(90): * It's just a simple call to {@link auto.$injector
$injector}, but extracted into\n
Login.c(90): * a service, so that one can override this service with [BC
version](https://gist.git
Login.c(90): hub.com/1649788).\n
Login.c(90): */\n
Login.c(90): return function(expression, locals) {\n
Login.c(90): var instance, match, constructor, identifier;\n
Login.c(90): \n
Login.c(90): if(isString(expression)) {\n
Login.c(90): match = expression.match(CNTRL_REG),\n
Login.c(90): constructor = match[1],\n
Login.c(90): identifier = match[3];\n
Login.c(90): expression = controllers.hasOwnProperty(constructor)\n
Login.c(90): ? controllers[constructor]\n
Login.c(90): : getter(locals.$scope, constructor, true) ||
getter($window, constructor, tru
Login.c(90): e);\n
Login.c(90): \n
Login.c(90): assertArgFn(expression, constructor, true);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): instance = $injector.instantiate(expression, locals);\n
Login.c(90): \n
Login.c(90): if (identifier) {\n
Login.c(90): if (!(locals && typeof locals.$scope === 'object')) {\n
Login.c(90): throw minErr('$controller')('noscp',\n
Login.c(90): "Cannot export controller '{0}' as '{1}'! No $scope
object provided via `loc
Login.c(90): als`.",\n
Login.c(90): constructor || expression.name, identifier);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): locals.$scope[identifier] = instance;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return instance;\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $document\n
Login.c(90): * @requires $window\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A {@link angular.element jQuery or jqLite} wrapper for the
browser's `window.document`
Login.c(90): object.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="documentExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <p>$document title: <b ng-bind="title"></b></p>\n
Login.c(90): <p>window.document title: <b ng-
bind="windowTitle"></b></p>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('documentExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', '$document',
function($scope, $docume
Login.c(90): nt) {\n
Login.c(90): $scope.title = $document[0].title;\n
Login.c(90): $scope.windowTitle = angular.element(window.document)
[0].title;\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $DocumentProvider(){\n
Login.c(90): this.$get = ['$window', function(window){\n
Login.c(90): return jqLite(window.document);\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $exceptionHandler\n
Login.c(90): * @requires ng.$log\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Any uncaught exception in angular expressions is delegated to
this service.\n
Login.c(90): * The default implementation simply delegates to `$log.error`
which logs it into\n
Login.c(90): * the browser console.\n
Login.c(90): *\n
Login.c(90): * In unit tests, if `angular-mocks.js` is loaded, this service is
overridden by\n
Login.c(90): * {@link ngMock.$exceptionHandler mock $exceptionHandler} which
aids in testing.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * angular.module('exceptionOverride',
[]).factory('$exceptionHandler', function () {\n
Login.c(90): * return function (exception, cause) {\n
Login.c(90): * exception.message += ' (caused by "' + cause + '")';\n
Login.c(90): * throw exception;\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * This example will override the normal action of
`$exceptionHandler`, to make angular\n
Login.c(90): * exceptions fail hard when they happen, instead of just logging
to the console.\n
Login.c(90): *\n
Login.c(90): * @param {Error} exception Exception associated with the error.\n
Login.c(90): * @param {string=} cause optional information about the context
in which\n
Login.c(90): * the error was thrown.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function $ExceptionHandlerProvider() {\n
Login.c(90): this.$get = ['$log', function($log) {\n
Login.c(90): return function(exception, cause) {\n
Login.c(90): $log.error.apply($log, arguments);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parse headers into key value object\n
Login.c(90): *\n
Login.c(90): * @param {string} headers Raw headers as a string\n
Login.c(90): * @returns {Object}
Login.c(90): t=2650ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): Parsed headers as key value object\n
Login.c(90): */\n
Login.c(90): function parseHeaders(headers) {\n
Login.c(90): var parsed = {}, key, val, i;\n
Login.c(90): \n
Login.c(90): if (!headers) return parsed;\n
Login.c(90): \n
Login.c(90): forEach(headers.split('\\n'), function(line) {\n
Login.c(90): i = line.indexOf(':');\n
Login.c(90): key = lowercase(trim(line.substr(0, i)));\n
Login.c(90): val = trim(line.substr(i + 1));\n
Login.c(90): \n
Login.c(90): if (key) {\n
Login.c(90): parsed[key] = parsed[key] ? parsed[key] + ', ' + val :
val;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return parsed;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function that provides access to parsed headers.\n
Login.c(90): *\n
Login.c(90): * Headers are lazy parsed when first requested.\n
Login.c(90): * @see parseHeaders\n
Login.c(90): *\n
Login.c(90): * @param {(string|Object)} headers Headers to provide access
to.\n
Login.c(90): * @returns {function(string=)} Returns a getter function which if
called with:\n
Login.c(90): *\n
Login.c(90): * - if called with single an argument returns a single header
value or null\n
Login.c(90): * - if called with no arguments returns an object containing
all headers.\n
Login.c(90): */\n
Login.c(90): function headersGetter(headers) {\n
Login.c(90): var headersObj = isObject(headers) ? headers : undefined;\n
Login.c(90): \n
Login.c(90): return function(name) {\n
Login.c(90): if (!headersObj) headersObj = parseHeaders(headers);\n
Login.c(90): \n
Login.c(90): if (name) {\n
Login.c(90): return headersObj[lowercase(name)] || null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return headersObj;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Chain all given functions\n
Login.c(90): *\n
Login.c(90): * This function is used for both request and response
transforming\n
Login.c(90): *\n
Login.c(90): * @param {*} data Data to transform.\n
Login.c(90): * @param {function(string=)} headers Http headers getter fn.\n
Login.c(90): * @param {(Function|Array.<Function>)} fns Function or an array
of functions.\n
Login.c(90): * @returns {*} Transformed data.\n
Login.c(90): */\n
Login.c(90): function transformData(data, headers, fns) {\n
Login.c(90): if (isFunction(fns))\n
Login.c(90): return fns(data, headers);\n
Login.c(90): \n
Login.c(90): forEach(fns, function(fn) {\n
Login.c(90): data = fn(data, headers);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return data;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function isSuccess(status) {\n
Login.c(90): return 200 <= status && status < 300;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $httpProvider\n
Login.c(90): * @description\n
Login.c(90): * Use `$httpProvider` to change the default behavior of the
{@link ng.$http $http} servic
Login.c(90): e.\n
Login.c(90): * */\n
Login.c(90): function $HttpProvider() {\n
Login.c(90): var JSON_START = /^\\s*(\\[|\\{[^\\{])/,\n
Login.c(90): JSON_END = /[\\}\\]]\\s*$/,\n
Login.c(90): PROTECTION_PREFIX = /^\\)\\]\\}',?\\n/,\n
Login.c(90): CONTENT_TYPE_APPLICATION_JSON = {'Content-Type':
'application/json;charset=utf-8'};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $httpProvider#defaults\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Object containing default values for all {@link ng.$http
$http} requests.\n
Login.c(90): *\n
Login.c(90): * - **`defaults.xsrfCookieName`** - {string} - Name of cookie
containing the XSRF token
Login.c(90): .\n
Login.c(90): * Defaults value is `'XSRF-TOKEN'`.\n
Login.c(90): *\n
Login.c(90): * - **`defaults.xsrfHeaderName`** - {string} - Name of HTTP
header to populate with the
Login.c(90): \n
Login.c(90): * XSRF token. Defaults value is `'X-XSRF-TOKEN'`.\n
Login.c(90): *\n
Login.c(90): * - **`defaults.headers`** - {Object} - Default headers for all
$http requests.\n
Login.c(90): * Refer to {@link ng.$http#setting-http-headers $http} for
documentation on\n
Login.c(90): * setting default headers.\n
Login.c(90): * - **`defaults.headers.common`**\n
Login.c(90): * - **`defaults.headers.post`**\n
Login.c(90): * - **`defaults.headers.put`**\n
Login.c(90): * - **`defaults.headers.patch`**\n
Login.c(90): **/\n
Login.c(90): var defaults = this.defaults = {\n
Login.c(90): // transform incoming response data\n
Login.c(90): transformResponse: [function(data) {\n
Login.c(90): if (isString(data)) {\n
Login.c(90): // strip json vulnerability protection prefix\n
Login.c(90): data = data.replace(PROTECTION_PREFIX, '');\n
Login.c(90): if (JSON_START.test(data) && JSON_END.test(data))\n
Login.c(90): data = fromJson(data);\n
Login.c(90): }\n
Login.c(90): return data;\n
Login.c(90): }],\n
Login.c(90): \n
Login.c(90): // transform outgoing request data\n
Login.c(90): transformRequest: [function(d) {\n
Login.c(90): return isObject(d) && !isFile(d) && !isBlob(d) ? toJson(d) :
d;\n
Login.c(90): }],\n
Login.c(90): \n
Login.c(90): // default headers\n
Login.c(90): headers: {\n
Login.c(90): common: {\n
Login.c(90): 'Accept': 'application/json, text/plain, */*'\n
Login.c(90): },\n
Login.c(90): post: shallowCopy(CONTENT_TYPE_APPLICATION_JSON),\n
Login.c(90): put: shallowCopy(CONTENT_TYPE_APPLICATION_JSON),\n
Login.c(90): patch: shallowCopy(CONTENT_TYPE_APPLICATION_JSON)\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): xsrfCookieName: 'XSRF-TOKEN',\n
Login.c(90): xsrfHeaderName: 'X-XSRF-TOKEN'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Are ordered by request, i.e. they are applied in the same
order as the\n
Login.c(90): * array, on request, but reverse order, on response.\n
Login.c(90): */\n
Login.c(90): var interceptorFactories = this.interceptors = [];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * For historical reasons, response interceptors are ordered by
the order in which\n
Login.c(90): * they are applied to the response. (This is the opposite of
interceptorFactories)\n
Login.c(90): */\n
Login.c(90): var responseInterceptorFactories = this.responseInterceptors =
[];\n
Login.c(90): \n
Login.c(90): this.$get = ['$httpBackend', '$browser', '$cacheFactory',
'$rootScope', '$q', '$injector
Login.c(90): ',\n
Login.c(90): function($httpBackend, $browser, $cacheFactory, $rootScope,
$q, $injector) {\n
Login.c(90): \n
Login.c(90): var defaultCache = $cacheFactory('$http');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Interceptors stored in reverse order. Inner interceptors
before outer interceptors.
Login.c(90): \n
Login.c(90): * The reversal is needed so that we can build up the
interception chain around the\n
Login.c(90): * server request.\n
Login.c(90): */\n
Login.c(90): var reversedInterceptors = [];\n
Login.c(90): \n
Login.c(90): forEach(interceptorFactories, function(interceptorFactory) {\n
Login.c(90): reversedInterceptors.unshift(isString(interceptorFactory)\n
Login.c(90): ? $injector.get(interceptorFactory) :
$injector.invoke(interceptorFactory));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): forEach(responseInterceptorFactories,
function(interceptorFactory, index) {\n
Login.c(90): var responseFn = isString(interceptorFactory)\n
Login.c(90): ? $injector.get(interceptorFactory)\n
Login.c(90): : $injector.invoke(interceptorFactory);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Response interceptors go before "around" interceptors (no
real reason, just\n
Login.c(90): * had to pick one.) But they are already reversed, so we
can't use unshift, hence\n
Login.c(90): * the splice.\n
Login.c(90): */\n
Login.c(90): reversedInterceptors.splice(index, 0, {\n
Login.c(90): response: function(response) {\n
Login.c(90): return responseFn($q.when(response));\n
Login.c(90): },\n
Login.c(90): responseError: function(response) {\n
Login.c(90): return responseFn($q.reject(response));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @kind function\n
Login.c(90): * @name $http\n
Login.c(90): * @requires ng.$httpBackend\n
Login.c(90): * @requires $cacheFactory\n
Login.c(90): * @requires $rootScope\n
Login.c(90): * @requires $q\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `$http` service is a core Angular service that
facilitates communication with t
Login.c(90): he remote\n
Login.c(90): * HTTP servers via the browser's [XMLHttpRequest]
(https://developer.mozilla.org/en/xm
Login.c(90): lhttprequest)\n
Login.c(90): * object or via [JSONP]
(http://en.wikipedia.org/wiki/JSONP).\n
Login.c(90): *\n
Login.c(90): * For unit testing applications that use `$http` service,
see\n
Login.c(90): * {@link ngMock.$httpBackend $httpBackend mock}.\n
Login.c(90): *\n
Login.c(90): * For a higher level of abstraction, please check out the
{@link ngResource.$resource
Login.c(90): \n
Login.c(90): * $resource} service.\n
Login.c(90): *\n
Login.c(90): * The $http API is based on the {@link ng.$q deferred/promise
APIs} exposed by\n
Login.c(90): * the $q service. While for simple usage patterns this
doesn't matter much, for advan
Login.c(90): ced usage\n
Login.c(90): * it is important to familiarize yourself with these APIs and
the guarantees they pro
Login.c(90): vide.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # General usage\n
Login.c(90): * The `$http` service is a function which takes a single
argument \xE2\x80\x94 a conf
Login.c(90): iguration object \xE2\x80\x94\n
Login.c(90): * that is used to generate an HTTP request and returns a
{@link ng.$q promise}\n
Login.c(90): * with two $http specific methods: `success` and `error`.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $http({method: 'GET', url: '/someUrl'}).\n
Login.c(90): * success(function(data, status, headers, config) {\n
Login.c(90): * // this callback will be called asynchronously\n
Login.c(90): * // when the response is available\n
Login.c(90): * }).\n
Login.c(90): * error(function(data, status, headers, config) {\n
Login.c(90): * // called asynchronously if an error occurs\n
Login.c(90): * // or server returns response with an error status.\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Since the returned value of calling the $http function is a
`promise`, you can also
Login.c(90): use\n
Login.c(90): * the `then` method to register callbacks, and these
callbacks will receive a single
Login.c(90): argument \xE2\x80\x93\n
Login.c(90): * an object representing the response. See the API signature
and type info below for
Login.c(90): more\n
Login.c(90): * details.\n
Login.c(90): *\n
Login.c(90): * A response status code between 200 and 299 is considered a
success status and\n
Login.c(90): * will result in the success callback being called. Note that
if the response is a re
Login.c(90): direct,\n
Login.c(90): * XMLHttpRequest will transparently follow it, meaning that
the error callback will n
Login.c(90): ot be\n
Login.c(90): * called for such responses.\n
Login.c(90): *\n
Login.c(90): * # Writing Unit Tests that use $http\n
Login.c(90): * When unit testing (using {@link ngMock ngMock}), it is
necessary to call\n
Login.c(90): * {@link ngMock.$httpBackend#flush $httpBackend.flush()} to
flush each pending\n
Login.c(90): * request using trained responses.\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * $httpBackend.expectGET(...);\n
Login.c(90): * $http.get(...);\n
Login.c(90): * $httpBackend.flush();\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * # Shortcut methods\n
Login.c(90): *\n
Login.c(90): * Shortcut methods are also available. All shortcut methods
require passing in the UR
Login.c(90): L, and\n
Login.c(90): * request data must be passed in for POST/PUT requests.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $http.get('/someUrl').success(successCallback);\n
Login.c(90): * $http.post('/someUrl', data).success(successCallback);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Complete list of shortcut methods:\n
Login.c(90): *\n
Login.c(90): * - {@link ng.$http#get $http.get}\n
Login.c(90): * - {@link ng.$http#head $http.head}\n
Login.c(90): * - {@link ng.$http#post $http.post}\n
Login.c(90): * - {@link ng.$http#put $http.put}\n
Login.c(90): * - {@link ng.$http#delete $http.delete}\n
Login.c(90): * - {@link ng.$http#jsonp $http.jsonp}\n
Login.c(90): * - {@link ng.$http#patch $http.patch}\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Setting HTTP Headers\n
Login.c(90): *\n
Login.c(90): * The $http service will automatically add certain HTTP
headers to all requests. Thes
Login.c(90): e defaults\n
Login.c(90): * can be fully configured by accessing the
`$httpProvider.defaults.headers` configura
Login.c(90): tion\n
Login.c(90): * object, which currently contains this default
configuration:\n
Login.c(90): *\n
Login.c(90): * - `$httpProvider.defaults.headers.common` (headers that are
common for all requests
Login.c(90): ):\n
Login.c(90): * - `Accept: application/json, text/plain, * / *`\n
Login.c(90): * - `$httpProvider.defaults.headers.post`: (header defaults
for POST requests)\n
Login.c(90): * - `Content-Type: application/json`\n
Login.c(90): * - `$httpProvider.defaults.headers.put` (header defaults for
PUT requests)\n
Login.c(90): * - `Content-Type: application/json`\n
Login.c(90): *\n
Login.c(90): * To add or overwrite these defaults, simply add or remove a
property from these conf
Login.c(90): iguration\n
Login.c(90): * objects. To add headers for an HTTP method other than POST
or PUT, simply add a new
Login.c(90): object\n
Login.c(90): * with the lowercased HTTP method name as the key, e.g.\n
Login.c(90): * `$httpProvider.defaults.headers.get = { 'My-Header' :
'value' }.\n
Login.c(90): *\n
Login.c(90): * The defaults can also be set at runtime via the
`$http.defaults` object in the same
Login.c(90): \n
Login.c(90): * fashion. For example:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * module.run(function($http) {\n
Login.c(90): * $http.defaults.headers.common.Authorization = 'Basic
YmVlcDpib29w'\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * In addition, you can supply a `headers` property in the
config object passed when\n
Login.c(90): * calling `$http(config)`, which overrides the defaults
without changing them globall
Login.c(90): y.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Transforming Requests and Responses\n
Login.c(90): *\n
Login.c(90): * Both requests and responses can be transformed using
transform functions. By defaul
Login.c(90): t, Angular\n
Login.c(90): * applies these transformations:\n
Login.c(90): *\n
Login.c(90): * Request transformations:\n
Login.c(90): *\n
Login.c(90): * - If the `data` property of the request configuration
object contains an object, se
Login.c(90): rialize it\n
Login.c(90): * into JSON format.\n
Login.c(90): *\n
Login.c(90): * Response transformations:\n
Login.c(90): *\n
Login.c(90): * - If XSRF prefix is detected, strip it (see Security
Considerations section below)
Login.c(90): .\n
Login.c(90): * - If JSON response is detected, deserialize it using a
JSON parser.\n
Login.c(90): *\n
Login.c(90): * To globally augment or override the default transforms,
modify the\n
Login.c(90): * `$httpProvider.defaults.transformRequest` and
`$httpProvider.defaults.transformResp
Login.c(90): onse`\n
Login.c(90): * properties. These properties are by default an array of
transform functions, which
Login.c(90): allows you\n
Login.c(90): * to `push` or `unshift` a new transformation function into
the transformation chain.
Login.c(90): You can\n
Login.c(90): * also decide to completely override any default
transformations by assigning your\n
Login.c(90): * transformation functions to these properties directly
without the array wrapper. T
Login.c(90): hese defaults\n
Login.c(90): * are again available on the $http factory at run-time, which
may be useful if you ha
Login.c(90): ve run-time\n
Login.c(90): * services you wish to be involved in your transformations.\n
Login.c(90): *\n
Login.c(90): * Similarly, to locally override the request/response
transforms, augment the\n
Login.c(90): * `transformRequest` and/or `transformResponse` properties of
the configuration objec
Login.c(90): t passed\n
Login.c(90): * into `$http`.\n
Login.c(90): *\n
Login.c(90):
Login.c(90): t=2668ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): *\n
Login.c(90): * # Caching\n
Login.c(90): *\n
Login.c(90): * To enable caching, set the request configuration `cache`
property to `true` (to use
Login.c(90): default\n
Login.c(90): * cache) or to a custom cache object (built with {@link ng.
$cacheFactory `$cacheFacto
Login.c(90): ry`}).\n
Login.c(90): * When the cache is enabled, `$http` stores the response from
the server in the speci
Login.c(90): fied\n
Login.c(90): * cache. The next time the same request is made, the response
is served from the cach
Login.c(90): e without\n
Login.c(90): * sending a request to the server.\n
Login.c(90): *\n
Login.c(90): * Note that even if the response is served from cache,
delivery of the data is asynch
Login.c(90): ronous in\n
Login.c(90): * the same way that real requests are.\n
Login.c(90): *\n
Login.c(90): * If there are multiple GET requests for the same URL that
should be cached using the
Login.c(90): same\n
Login.c(90): * cache, but the cache is not populated yet, only one request
to the server will be m
Login.c(90): ade and\n
Login.c(90): * the remaining requests will be fulfilled using the response
from the first request.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * You can change the default cache to a new object (built
with\n
Login.c(90): * {@link ng.$cacheFactory `$cacheFactory`}) by updating the\n
Login.c(90): * {@link ng.$http#properties_defaults `$http.defaults.cache`}
property. All requests
Login.c(90): who set\n
Login.c(90): * their `cache` property to `true` will now use this cache
object.\n
Login.c(90): *\n
Login.c(90): * If you set the default cache to `false` then only requests
that specify their own c
Login.c(90): ustom\n
Login.c(90): * cache object will be cached.\n
Login.c(90): *\n
Login.c(90): * # Interceptors\n
Login.c(90): *\n
Login.c(90): * Before you start creating interceptors, be sure to
understand the\n
Login.c(90): * {@link ng.$q $q and deferred/promise APIs}.\n
Login.c(90): *\n
Login.c(90): * For purposes of global error handling, authentication, or
any kind of synchronous o
Login.c(90): r\n
Login.c(90): * asynchronous pre-processing of request or postprocessing of
responses, it is desira
Login.c(90): ble to be\n
Login.c(90): * able to intercept requests before they are handed to the
server and\n
Login.c(90): * responses before they are handed over to the application
code that\n
Login.c(90): * initiated these requests. The interceptors leverage the
{@link ng.$q\n
Login.c(90): * promise APIs} to fulfill this need for both synchronous and
asynchronous pre-proces
Login.c(90): sing.\n
Login.c(90): *\n
Login.c(90): * The interceptors are service factories that are registered
with the `$httpProvider`
Login.c(90): by\n
Login.c(90): * adding them to the `$httpProvider.interceptors` array. The
factory is called and\n
Login.c(90): * injected with dependencies (if specified) and returns the
interceptor.\n
Login.c(90): *\n
Login.c(90): * There are two kinds of interceptors (and two kinds of
rejection interceptors):\n
Login.c(90): *\n
Login.c(90): * * `request`: interceptors get called with a http `config`
object. The function is
Login.c(90): free to\n
Login.c(90): * modify the `config` object or create a new one. The
function needs to return th
Login.c(90): e `config`\n
Login.c(90): * object directly, or a promise containing the `config`
or a new `config` object.
Login.c(90): \n
Login.c(90): * * `requestError`: interceptor gets called when a previous
interceptor threw an er
Login.c(90): ror or\n
Login.c(90): * resolved with a rejection.\n
Login.c(90): * * `response`: interceptors get called with http
`response` object. The function i
Login.c(90): s free to\n
Login.c(90): * modify the `response` object or create a new one. The
function needs to return
Login.c(90): the `response`\n
Login.c(90): * object directly, or as a promise containing the
`response` or a new `response`
Login.c(90): object.\n
Login.c(90): * * `responseError`: interceptor gets called when a
previous interceptor threw an e
Login.c(90): rror or\n
Login.c(90): * resolved with a rejection.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // register the interceptor as a service\n
Login.c(90): * $provide.factory('myHttpInterceptor', function($q,
dependency1, dependency2) {\n
Login.c(90): * return {\n
Login.c(90): * // optional method\n
Login.c(90): * 'request': function(config) {\n
Login.c(90): * // do something on success\n
Login.c(90): * return config;\n
Login.c(90): * },\n
Login.c(90): *\n
Login.c(90): * // optional method\n
Login.c(90): * 'requestError': function(rejection) {\n
Login.c(90): * // do something on error\n
Login.c(90): * if (canRecover(rejection)) {\n
Login.c(90): * return responseOrNewPromise\n
Login.c(90): * }\n
Login.c(90): * return $q.reject(rejection);\n
Login.c(90): * },\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * // optional method\n
Login.c(90): * 'response': function(response) {\n
Login.c(90): * // do something on success\n
Login.c(90): * return response;\n
Login.c(90): * },\n
Login.c(90): *\n
Login.c(90): * // optional method\n
Login.c(90): * 'responseError': function(rejection) {\n
Login.c(90): * // do something on error\n
Login.c(90): * if (canRecover(rejection)) {\n
Login.c(90): * return responseOrNewPromise\n
Login.c(90): * }\n
Login.c(90): * return $q.reject(rejection);\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * $httpProvider.interceptors.push('myHttpInterceptor');\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * // alternatively, register the interceptor via an
anonymous factory\n
Login.c(90): * $httpProvider.interceptors.push(function($q, dependency1,
dependency2) {\n
Login.c(90): * return {\n
Login.c(90): * 'request': function(config) {\n
Login.c(90): * // same as above\n
Login.c(90): * },\n
Login.c(90): *\n
Login.c(90): * 'response': function(response) {\n
Login.c(90): * // same as above\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * # Response interceptors (DEPRECATED)\n
Login.c(90): *\n
Login.c(90): * Before you start creating interceptors, be sure to
understand the\n
Login.c(90): * {@link ng.$q $q and deferred/promise APIs}.\n
Login.c(90): *\n
Login.c(90): * For purposes of global error handling, authentication or
any kind of synchronous or
Login.c(90): \n
Login.c(90): * asynchronous preprocessing of received responses, it is
desirable to be able to int
Login.c(90): ercept\n
Login.c(90): * responses for http requests before they are handed over to
the application code tha
Login.c(90): t\n
Login.c(90): * initiated these requests. The response interceptors
leverage the {@link ng.$q\n
Login.c(90): * promise apis} to fulfil this need for both synchronous and
asynchronous preprocessi
Login.c(90): ng.\n
Login.c(90): *\n
Login.c(90): * The interceptors are service factories that are registered
with the $httpProvider b
Login.c(90): y\n
Login.c(90): * adding them to the `$httpProvider.responseInterceptors`
array. The factory is calle
Login.c(90): d and\n
Login.c(90): * injected with dependencies (if specified) and returns the
interceptor \xE2\x80\x94
Login.c(90): a function that\n
Login.c(90): * takes a {@link ng.$q promise} and returns the original or a
new promise.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // register the interceptor as a service\n
Login.c(90): * $provide.factory('myHttpInterceptor', function($q,
dependency1, dependency2) {\n
Login.c(90): * return function(promise) {\n
Login.c(90): * return promise.then(function(response) {\n
Login.c(90): * // do something on success\n
Login.c(90): * return response;\n
Login.c(90): * }, function(response) {\n
Login.c(90): * // do something on error\n
Login.c(90): * if (canRecover(response)) {\n
Login.c(90): * return responseOrNewPromise\n
Login.c(90): * }\n
Login.c(90): * return $q.reject(response);\n
Login.c(90): * });\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): *
$httpProvider.responseInterceptors.push('myHttpInterceptor');\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * // register the interceptor via an anonymous factory\n
Login.c(90): * $httpProvider.responseInterceptors.push(function($q,
dependency1, dependency2) {\n
Login.c(90): * return function(promise) {\n
Login.c(90): * // same as above\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Security Considerations\n
Login.c(90): *\n
Login.c(90): * When designing web applications, consider security threats
from:\n
Login.c(90): *\n
Login.c(90): * - [JSON vulnerability]
(http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-js
Login.c(90): on-vulnerability.aspx)\n
Login.c(90): * - [XSRF](http://en.wikipedia.org/wiki/Cross-
site_request_forgery)\n
Login.c(90): *\n
Login.c(90): * Both server and the client must cooperate in order to
eliminate these threats. Angu
Login.c(90): lar comes\n
Login.c(90): * pre-configured with strategies that address these issues,
but for this to work back
Login.c(90): end server\n
Login.c(90): * cooperation is required.\n
Login.c(90): *\n
Login.c(90): * ## JSON Vulnerability Protection\n
Login.c(90): *\n
Login.c(90): * A [JSON vulnerability]
(http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-js
Login.c(90): on-vulnerability.aspx)\n
Login.c(90): * allows third party website to turn your JSON resource URL
into\n
Login.c(90): * [JSONP](http://en.wikipedia.org/wiki/JSONP) request under
some conditions. To\n
Login.c(90): * counter this your server can prefix all JSON requests with
following string `")]}',
Login.c(90): \\n"`.\n
Login.c(90): * Angular will automatically strip the prefix before
processing it as JSON.\n
Login.c(90): *\n
Login.c(90): * For example if your server needs to return:\n
Login.c(90): * ```js\n
Login.c(90): * ['one','two']\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * which is vulnerable to attack, your server can return:\n
Login.c(90): * ```js\n
Login.c(90): * )]}',\n
Login.c(90): * ['one','two']\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Angular will strip the prefix, before processing the
JSON.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ## Cross Site Request Forgery (XSRF) Protection\n
Login.c(90): *\n
Login.c(90): * [XSRF](http://en.wikipedia.org/wiki/Cross-
site_request_forgery) is a technique by w
Login.c(90): hich\n
Login.c(90): * an unauthorized site can gain your user's private data.
Angular provides a mechanis
Login.c(90): m\n
Login.c(90): * to counter XSRF. When performing XHR requests, the $http
service reads a token from
Login.c(90): a cookie\n
Login.c(90): * (by default, `XSRF-TOKEN`) and sets it as an HTTP header
(`X-XSRF-TOKEN`). Since on
Login.c(90): ly\n
Login.c(90): * JavaScript that runs on your domain could read the cookie,
your server can be assur
Login.c(90): ed that\n
Login.c(90): * the XHR came from JavaScript running on your domain. The
header will not be set for
Login.c(90): \n
Login.c(90): * cross-domain requests.\n
Login.c(90): *\n
Login.c(90): * To take advantage of this, your server needs to set a token
in a JavaScript readabl
Login.c(90): e session\n
Login.c(90): * cookie called `XSRF-TOKEN` on the first HTTP GET request.
On subsequent XHR request
Login.c(90): s the\n
Login.c(90): * server can verify that the cookie matches `X-XSRF-TOKEN`
HTTP header, and therefore
Login.c(90): be sure\n
Login.c(90): * that only JavaScript running on your domain could have sent
the request. The token
Login.c(90): must be\n
Login.c(90): * unique for each user and must be verifiable by the server
(to prevent the JavaScrip
Login.c(90): t from\n
Login.c(90): * making up its own tokens). We recommend that the token is a
digest of your site's\n
Login.c(90): * authentication cookie with a [salt]
(https://en.wikipedia.org/wiki/Salt_(cryptograph
Login.c(90): y&#41;)\n
Login.c(90): * for added security.\n
Login.c(90): *\n
Login.c(90): * The name of the headers can be specified using the
xsrfHeaderName and xsrfCookieNam
Login.c(90): e\n
Login.c(90): * properties of either $httpProvider.defaults at config-time,
$http.defaults at run-t
Login.c(90): ime,\n
Login.c(90): * or the per-request config object.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {object} config Object describing the request to be
made and how it should b
Login.c(90): e\n
Login.c(90): * processed. The object has following properties:\n
Login.c(90): *\n
Login.c(90): * - **method** \xE2\x80\x93 `{string}` \xE2\x80\x93 HTTP
method (e.g. 'GET', 'POST
Login.c(90): ', etc)\n
Login.c(90): * - **url** \xE2\x80\x93 `{string}` \xE2\x80\x93 Absolute
or relative URL of the r
Login.c(90): esource that is being requested.\n
Login.c(90): * - **params** \xE2\x80\x93 `{Object.<string|Object>}`
\xE2\x80\x93 Map of strings
Login.c(90): or objects which will be turned\n
Login.c(90): * to `?key1=value1&key2=value2` after the url. If the
value is not a string, it
Login.c(90): will be\n
Login.c(90): * JSONified.\n
Login.c(90): * - **data** \xE2\x80\x93 `{string|Object}` \xE2\x80\x93
Data to be sent as the re
Login.c(90): quest message data.\n
Login.c(90): * - **headers** \xE2\x80\x93 `{Object}` \xE2\x80\x93 Map
of strings or functions w
Login.c(90): hich return strings representing\n
Login.c(90): * HTTP headers to send to the server. If the return
value of a function is null,
Login.c(90): the\n
Login.c(90): * header will not be sent.\n
Login.c(90): * - **xsrfHeaderName** \xE2\x80\x93 `{string}`
\xE2\x80\x93 Name of HTTP header to
Login.c(90): populate with the XSRF token.\n
Login.c(90): * - **xsrfCookieName** \xE2\x80\x93 `{string}`
\xE2\x80\x93 Name of cookie contain
Login.c(90): ing the XSRF token.\n
Login.c(90): * - **transformRequest** \xE2\x80\x93\n
Login.c(90): * `{function(data, headersGetter)|Array.<function(data,
headersGetter)>}` \xE2\x80
Login.c(90): \x93\n
Login.c(90): * transform function or an array of such functions. The
transform function takes
Login.c(90): the http\n
Login.c(90): * request body and headers and returns its transformed
(typically serialized) ve
Login.c(90): rsion.\n
Login.c(90): * - **transformResponse** \xE2\x80\x93\n
Login.c(90): * `{function(data, headersGetter)|Array.<function(data,
headersGetter)>}` \xE2\x80
Login.c(90): \x93\n
Login.c(90): * transform function or an array of such functions. The
transform function takes
Login.c(90): the http\n
Login.c(90): * response body and headers and returns its transformed
(typically deserialized)
Login.c(90): version.\n
Login.c(90): * - **cache** \xE2\x80\x93 `{boolean|Cache}` \xE2\x80\x93
If true, a default $http
Login.c(90): cache will be used to cache the\n
Login.c(90): * GET request, otherwise if a cache instance built
with\n
Login.c(90): * {@link ng.$cacheFactory $cacheFactory}, this cache
will be used for\n
Login.c(90): * caching.\n
Login.c(90): * - **timeout** \xE2\x80\x93 `{number|Promise}`
\xE2\x80\x93 timeout in millisecon
Login.c(90): ds, or {@link ng.$q promise}\n
Login.c(90): * that should abort the request when resolved.\n
Login.c(90): * - **withCredentials** - `{boolean}` - whether to set the
`withCredentials` flag
Login.c(90): on the\n
Login.c(90): * XHR object. See [requests with credentials]
(https://developer.mozilla.org/docs
Login.c(90): /Web/HTTP/Access_control_CORS#Requests_with_credentials)\n
Login.c(90):
Login.c(90): t=2689ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): * for more information.\n
Login.c(90): * - **responseType** - `{string}` - see\n
Login.c(90): * [requestType](https://developer.mozilla.org/en-
US/docs/DOM/XMLHttpRequest#resp
Login.c(90): onseType).\n
Login.c(90): *\n
Login.c(90): * @returns {HttpPromise} Returns a {@link ng.$q promise}
object with the\n
Login.c(90): * standard `then` method and two http specific methods:
`success` and `error`. The
Login.c(90): `then`\n
Login.c(90): * method takes two arguments a success and an error
callback which will be called w
Login.c(90): ith a\n
Login.c(90): * response object. The `success` and `error` methods take a
single argument - a fun
Login.c(90): ction that\n
Login.c(90): * will be called when the request succeeds or fails
respectively. The arguments pas
Login.c(90): sed into\n
Login.c(90): * these functions are destructured representation of the
response object passed int
Login.c(90): o the\n
Login.c(90): * `then` method. The response object has these
properties:\n
Login.c(90): *\n
Login.c(90): * - **data** \xE2\x80\x93 `{string|Object}` \xE2\x80\x93
The response body transfor
Login.c(90): med with the transform\n
Login.c(90): * functions.\n
Login.c(90): * - **status** \xE2\x80\x93 `{number}` \xE2\x80\x93 HTTP
status code of the respons
Login.c(90): e.\n
Login.c(90): * - **headers** \xE2\x80\x93 `{function([headerName])}`
\xE2\x80\x93 Header getter
Login.c(90): function.\n
Login.c(90): * - **config** \xE2\x80\x93 `{Object}` \xE2\x80\x93 The
configuration object that w
Login.c(90): as used to generate the request.\n
Login.c(90): * - **statusText** \xE2\x80\x93 `{string}` \xE2\x80\x93
HTTP status text of the res
Login.c(90): ponse.\n
Login.c(90): *\n
Login.c(90): * @property {Array.<Object>} pendingRequests Array of config
objects for currently pe
Login.c(90): nding\n
Login.c(90): * requests. This is primarily meant to be used for
debugging purposes.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="httpExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="FetchController">\n
Login.c(90): <select ng-model="method">\n
Login.c(90): <option>GET</option>\n
Login.c(90): <option>JSONP</option>\n
Login.c(90): </select>\n
Login.c(90): <input type="text" ng-model="url" size="80"/>\n
Login.c(90): <button id="fetchbtn" ng-click="fetch()">fetch</button><br>\n
Login.c(90): <button id="samplegetbtn" ng-click="updateModel('GET', 'http-
hello.html')">Sample GET<
Login.c(90): /button>\n
Login.c(90): <button id="samplejsonpbtn"\n
Login.c(90): ng-click="updateModel('JSONP',\n
Login.c(90): 'https://angularjs.org/greet.php?
callback=JSON_CALLBACK&name=Super%20H
Login.c(90): ero')">\n
Login.c(90): Sample JSONP\n
Login.c(90): </button>\n
Login.c(90): <button id="invalidjsonpbtn"\n
Login.c(90): ng-click="updateModel('JSONP',
'https://angularjs.org/doesntexist&callback=JSON_CALL
Login.c(90): BACK')">\n
Login.c(90): Invalid JSONP\n
Login.c(90): </button>\n
Login.c(90): <pre>http status code: {{status}}</pre>\n
Login.c(90): <pre>http response data: {{data}}</pre>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('httpExample', [])\n
Login.c(90): .controller('FetchController', ['$scope', '$http',
'$templateCache',\n
Login.c(90): function($scope, $http, $templateCache) {\n
Login.c(90): $scope.method = 'GET';\n
Login.c(90): $scope.url = 'http-hello.html';\n
Login.c(90): \n
Login.c(90): $scope.fetch = function() {\n
Login.c(90): $scope.code = null;\n
Login.c(90): $scope.response = null;\n
Login.c(90): \n
Login.c(90): $http({method: $scope.method, url: $scope.url, cache:
$templateCache}).\n
Login.c(90): success(function(data, status) {\n
Login.c(90): $scope.status = status;\n
Login.c(90): $scope.data = data;\n
Login.c(90): }).\n
Login.c(90): error(function(data, status) {\n
Login.c(90): $scope.data = data || "Request failed";\n
Login.c(90): $scope.status = status;\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.updateModel = function(method, url) {\n
Login.c(90): $scope.method = method;\n
Login.c(90): $scope.url = url;\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="http-hello.html">\n
Login.c(90): Hello, $http!\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var status = element(by.binding('status'));\n
Login.c(90): var data = element(by.binding('data'));\n
Login.c(90): var fetchBtn = element(by.id('fetchbtn'));\n
Login.c(90): var sampleGetBtn = element(by.id('samplegetbtn'));\n
Login.c(90): var sampleJsonpBtn = element(by.id('samplejsonpbtn'));\n
Login.c(90): var invalidJsonpBtn = element(by.id('invalidjsonpbtn'));\n
Login.c(90): \n
Login.c(90): it('should make an xhr GET request', function() {\n
Login.c(90): sampleGetBtn.click();\n
Login.c(90): fetchBtn.click();\n
Login.c(90): expect(status.getText()).toMatch('200');\n
Login.c(90): expect(data.getText()).toMatch(/Hello, \\$http!/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should make a JSONP request to angularjs.org', function()
{\n
Login.c(90): sampleJsonpBtn.click();\n
Login.c(90): fetchBtn.click();\n
Login.c(90): expect(status.getText()).toMatch('200');\n
Login.c(90): expect(data.getText()).toMatch(/Super Hero!/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should make JSONP request to invalid URL and invoke the
error handler',\n
Login.c(90): function() {\n
Login.c(90): invalidJsonpBtn.click();\n
Login.c(90): fetchBtn.click();\n
Login.c(90): expect(status.getText()).toMatch('0');\n
Login.c(90): expect(data.getText()).toMatch('Request failed');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $http(requestConfig) {\n
Login.c(90): var config = {\n
Login.c(90): method: 'get',\n
Login.c(90): transformRequest: defaults.transformRequest,\n
Login.c(90): transformResponse: defaults.transformResponse\n
Login.c(90): };\n
Login.c(90): var headers = mergeHeaders(requestConfig);\n
Login.c(90): \n
Login.c(90): extend(config, requestConfig);\n
Login.c(90): config.headers = headers;\n
Login.c(90): config.method = uppercase(config.method);\n
Login.c(90): \n
Login.c(90): var serverRequest = function(config) {\n
Login.c(90): headers = config.headers;\n
Login.c(90): var reqData = transformData(config.data,
headersGetter(headers), config.transformR
Login.c(90): equest);\n
Login.c(90): \n
Login.c(90): // strip content-type if data is undefined\n
Login.c(90): if (isUndefined(reqData)) {\n
Login.c(90): forEach(headers, function(value, header) {\n
Login.c(90): if (lowercase(header) === 'content-type') {\n
Login.c(90): delete headers[header];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isUndefined(config.withCredentials) && !
isUndefined(defaults.withCredentials))
Login.c(90): {\n
Login.c(90): config.withCredentials = defaults.withCredentials;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // send request\n
Login.c(90): return sendReq(config, reqData,
headers).then(transformResponse, transformResponse
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var chain = [serverRequest, undefined];\n
Login.c(90): var promise = $q.when(config);\n
Login.c(90): \n
Login.c(90): // apply interceptors\n
Login.c(90): forEach(reversedInterceptors, function(interceptor) {\n
Login.c(90): if (interceptor.request || interceptor.requestError) {\n
Login.c(90): chain.unshift(interceptor.request,
interceptor.requestError);\n
Login.c(90): }\n
Login.c(90): if (interceptor.response || interceptor.responseError) {\n
Login.c(90): chain.push(interceptor.response,
interceptor.responseError);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): while(chain.length) {\n
Login.c(90): var thenFn = chain.shift();\n
Login.c(90): var rejectFn = chain.shift();\n
Login.c(90): \n
Login.c(90): promise = promise.then(thenFn, rejectFn);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): promise.success = function(fn) {\n
Login.c(90): promise.then(function(response) {\n
Login.c(90): fn(response.data, response.status, response.headers,
config);\n
Login.c(90): });\n
Login.c(90): return promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): promise.error = function(fn) {\n
Login.c(90): promise.then(null, function(response) {\n
Login.c(90): fn(response.data, response.status, response.headers,
config);\n
Login.c(90): });\n
Login.c(90): return promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): \n
Login.c(90): function transformResponse(response) {\n
Login.c(90): // make a copy since the response must be cacheable\n
Login.c(90): var resp = extend({}, response, {\n
Login.c(90): data: transformData(response.data, response.headers,
config.transformResponse)\n
Login.c(90): });\n
Login.c(90): return (isSuccess(response.status))\n
Login.c(90): ? resp\n
Login.c(90): : $q.reject(resp);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function mergeHeaders(config) {\n
Login.c(90): var defHeaders = defaults.headers,\n
Login.c(90): reqHeaders = extend({}, config.headers),\n
Login.c(90): defHeaderName, lowercaseDefHeaderName,
reqHeaderName;\n
Login.c(90): \n
Login.c(90): defHeaders = extend({}, defHeaders.common,
defHeaders[lowercase(config.method)]);\n
Login.c(90): \n
Login.c(90): // using for-in instead of forEach to avoid unecessary
iteration after header has
Login.c(90): been found\n
Login.c(90): defaultHeadersIteration:\n
Login.c(90): for (defHeaderName in defHeaders) {\n
Login.c(90): lowercaseDefHeaderName = lowercase(defHeaderName);\n
Login.c(90): \n
Login.c(90): for (reqHeaderName in reqHeaders) {\n
Login.c(90): if (lowercase(reqHeaderName) ===
lowercaseDefHeaderName) {\n
Login.c(90): continue defaultHeadersIteration;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): reqHeaders[defHeaderName] = defHeaders[defHeaderName];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // execute if header value is a function for merged
headers\n
Login.c(90): execHeaders(reqHeaders);\n
Login.c(90): return reqHeaders;\n
Login.c(90): \n
Login.c(90): function execHeaders(headers) {\n
Login.c(90): var headerContent;\n
Login.c(90): \n
Login.c(90): forEach(headers, function(headerFn, header) {\n
Login.c(90): if (isFunction(headerFn)) {\n
Login.c(90): headerContent = headerFn();\n
Login.c(90): if (headerContent != null) {\n
Login.c(90): headers[header] = headerContent;\n
Login.c(90): } else {\n
Login.c(90): delete headers[header];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $http.pendingRequests = [];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#get\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `GET` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#delete\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `DELETE` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#head\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `HEAD` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#jsonp\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `JSONP` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est.\n
Login.c(90): * The name of the callback should be the
string `JSON_CALLBACK`.\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): createShortMethods('get', 'delete', 'head', 'jsonp');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#post\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `POST` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est\n
Login.c(90): * @param {*} data Request content\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $http#put\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shortcut method to perform `PUT` request.\n
Login.c(90): *\n
Login.c(90): * @param {string} url Relative or absolute URL specifying the
destination of the requ
Login.c(90): est\n
Login.c(90): * @param {*} data Request content\n
Login.c(90): * @param {Object=} config Optional configuration object\n
Login.c(90): * @returns {HttpPromise} Future object\n
Login.c(90): */\n
Login.c(90): createShortMethodsWithData('post', 'put');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $http#defaults\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Runtime equivalent of the `$httpProvider.defaults`
property. Allows configurati
Login.c(90): on of\n
Login.c(90): * default headers, withCredentials as well as request and
response transformation
Login.c(90): s.\n
Login.c(90): *\n
Login.c(90): * See "Setting HTTP Headers" and "Transforming Requests
and Responses" sections a
Login.c(90): bove.\n
Login.c(90): */\n
Login.c(90): $http.defaults = defaults;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return $http;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function createShortMethods(names) {\n
Login.c(90): forEach(arguments, function(name) {\n
Login.c(90): $http[name] = function(url, config) {\n
Login.c(90): return $http(extend(config || {}, {\n
Login.c(90): method: name,\n
Login.c(90): url: url\n
Login.c(90): }));\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function createShortMethodsWithData(name) {\n
Login.c(90): forEach(arguments, function(name) {\n
Login.c(90): $http[name] = function(url, data, config) {\n
Login.c(90): return $http(extend(config || {}, {\n
Login.c(90): method: name,\n
Login.c(90): url: url,\n
Login.c(90): data: data\n
Login.c(90): }));\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Makes the request.\n
Login.c(90): *\n
Login.c(90): * !!! ACCESSES CLOSURE VARS:\n
Login.c(90): * $httpBackend, defaults, $log, $rootScope, defaultCache,
$http.pendingRequests\n
Login.c(90): */\n
Login.c(90): function sendReq(config, reqData, reqHeaders) {\n
Login.c(90): var deferred = $q.defer(),\n
Login.c(90): promise = deferred.promise,\n
Login.c(90): cache,\n
Login.c(90): cachedResp,\n
Login.c(90): url = buildUrl(config.url, config.params);\n
Login.c(90): \n
Login.c(90): $http.pendingRequests.push(config);\n
Login.c(90): promise.then(removePendingReq, removePendingReq);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if ((config.cache || defaults.cache) && config.cache !==
false &&\n
Login.c(90): (config.method === 'GET' || config.method === 'JSONP'))
{\n
Login.c(90):
Login.c(90): t=2728ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): cache = isObject(config.cache) ? config.cache\n
Login.c(90): : isObject(defaults.cache) ? defaults.cache\n
Login.c(90): : defaultCache;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (cache) {\n
Login.c(90): cachedResp = cache.get(url);\n
Login.c(90): if (isDefined(cachedResp)) {\n
Login.c(90): if (isPromiseLike(cachedResp)) {\n
Login.c(90): // cached request has already been sent, but there is
no response yet\n
Login.c(90): cachedResp.then(removePendingReq, removePendingReq);\n
Login.c(90): return cachedResp;\n
Login.c(90): } else {\n
Login.c(90): // serving from cache\n
Login.c(90): if (isArray(cachedResp)) {\n
Login.c(90): resolvePromise(cachedResp[1], cachedResp[0],
shallowCopy(cachedResp[2]), cac
Login.c(90): hedResp[3]);\n
Login.c(90): } else {\n
Login.c(90): resolvePromise(cachedResp, 200, {}, 'OK');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // put the promise for the non-transformed response into
cache as a placeholder\n
Login.c(90): cache.put(url, promise);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // if we won't have the response in cache, set the xsrf
headers and\n
Login.c(90): // send the request to the backend\n
Login.c(90): if (isUndefined(cachedResp)) {\n
Login.c(90): var xsrfValue = urlIsSameOrigin(config.url)\n
Login.c(90): ? $browser.cookies()[config.xsrfCookieName ||
defaults.xsrfCookieName]\n
Login.c(90): : undefined;\n
Login.c(90): if (xsrfValue) {\n
Login.c(90): reqHeaders[(config.xsrfHeaderName ||
defaults.xsrfHeaderName)] = xsrfValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $httpBackend(config.method, url, reqData, done,
reqHeaders, config.timeout,\n
Login.c(90): config.withCredentials, config.responseType);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Callback registered to $httpBackend():\n
Login.c(90): * - caches the response if desired\n
Login.c(90): * - resolves the raw $http promise\n
Login.c(90): * - calls $apply\n
Login.c(90): */\n
Login.c(90): function done(status, response, headersString, statusText)
{\n
Login.c(90): if (cache) {\n
Login.c(90): if (isSuccess(status)) {\n
Login.c(90): cache.put(url, [status, response,
parseHeaders(headersString), statusText]);\n
Login.c(90): } else {\n
Login.c(90): // remove promise from the cache\n
Login.c(90): cache.remove(url);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): resolvePromise(response, status, headersString,
statusText);\n
Login.c(90): if (!$rootScope.$$phase) $rootScope.$apply();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Resolves the raw $http promise.\n
Login.c(90): */\n
Login.c(90): function resolvePromise(response, status, headers,
statusText) {\n
Login.c(90): // normalize internal statuses to 0\n
Login.c(90): status = Math.max(status, 0);\n
Login.c(90): \n
Login.c(90): (isSuccess(status) ? deferred.resolve : deferred.reject)
({\n
Login.c(90): data: response,\n
Login.c(90): status: status,\n
Login.c(90): headers: headersGetter(headers),\n
Login.c(90): config: config,\n
Login.c(90): statusText : statusText\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function removePendingReq() {\n
Login.c(90): var idx = indexOf($http.pendingRequests, config);\n
Login.c(90): if (idx !== -1) $http.pendingRequests.splice(idx, 1);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function buildUrl(url, params) {\n
Login.c(90): if (!params) return url;\n
Login.c(90): var parts = [];\n
Login.c(90): forEachSorted(params, function(value, key) {\n
Login.c(90): if (value === null || isUndefined(value)) return;\n
Login.c(90): if (!isArray(value)) value = [value];\n
Login.c(90): \n
Login.c(90): forEach(value, function(v) {\n
Login.c(90): if (isObject(v)) {\n
Login.c(90): if (isDate(v)){\n
Login.c(90): v = v.toISOString();\n
Login.c(90): } else {\n
Login.c(90): v = toJson(v);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): parts.push(encodeUriQuery(key) + '=' +\n
Login.c(90): encodeUriQuery(v));\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): if(parts.length > 0) {\n
Login.c(90): url += ((url.indexOf('?') == -1) ? '?' : '&') +
parts.join('&');\n
Login.c(90): }\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createXhr(method) {\n
Login.c(90): //if IE and the method is not RFC2616 compliant, or if
XMLHttpRequest\n
Login.c(90): //is not available, try getting an ActiveXObject. Otherwise,
use XMLHttpRequest\n
Login.c(90): //if it is available\n
Login.c(90): if (msie <= 8 && (!method.match(/^(get|post|head|put|delete|
options)$/i) ||\n
Login.c(90): !window.XMLHttpRequest)) {\n
Login.c(90): return new window.ActiveXObject("Microsoft.XMLHTTP");\n
Login.c(90): } else if (window.XMLHttpRequest) {\n
Login.c(90): return new window.XMLHttpRequest();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): throw minErr('$httpBackend')('noxhr', "This browser does not
support XMLHttpRequest.")
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $httpBackend\n
Login.c(90): * @requires $window\n
Login.c(90): * @requires $document\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTTP backend used by the {@link ng.$http service} that
delegates to\n
Login.c(90): * XMLHttpRequest object or JSONP and deals with browser
incompatibilities.\n
Login.c(90): *\n
Login.c(90): * You should never need to use this service directly, instead use
the higher-level abstra
Login.c(90): ctions:\n
Login.c(90): * {@link ng.$http $http} or {@link ngResource.$resource
$resource}.\n
Login.c(90): *\n
Login.c(90): * During testing this implementation is swapped with {@link
ngMock.$httpBackend mock\n
Login.c(90): * $httpBackend} which can be trained with responses.\n
Login.c(90): */\n
Login.c(90): function $HttpBackendProvider() {\n
Login.c(90): this.$get = ['$browser', '$window', '$document',
function($browser, $window, $document)
Login.c(90): {\n
Login.c(90): return createHttpBackend($browser, createXhr, $browser.defer,
$window.angular.callback
Login.c(90): s, $document[0]);\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createHttpBackend($browser, createXhr, $browserDefer,
callbacks, rawDocument) {\n
Login.c(90): var ABORTED = -1;\n
Login.c(90): \n
Login.c(90): // TODO(vojta): fix the signature\n
Login.c(90): return function(method, url, post, callback, headers, timeout,
withCredentials, response
Login.c(90): Type) {\n
Login.c(90): var status;\n
Login.c(90): $browser.$$incOutstandingRequestCount();\n
Login.c(90): url = url || $browser.url();\n
Login.c(90): \n
Login.c(90): if (lowercase(method) == 'jsonp') {\n
Login.c(90): var callbackId = '_' + (callbacks.counter++).toString(36);\n
Login.c(90): callbacks[callbackId] = function(data) {\n
Login.c(90): callbacks[callbackId].data = data;\n
Login.c(90): callbacks[callbackId].called = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var jsonpDone = jsonpReq(url.replace('JSON_CALLBACK',
'angular.callbacks.' + callbac
Login.c(90): kId),\n
Login.c(90): callbackId, function(status, text) {\n
Login.c(90): completeRequest(callback, status,
callbacks[callbackId].data, "", text);\n
Login.c(90): callbacks[callbackId] = noop;\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): \n
Login.c(90): var xhr = createXhr(method);\n
Login.c(90): \n
Login.c(90): xhr.open(method, url, true);\n
Login.c(90): forEach(headers, function(value, key) {\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): xhr.setRequestHeader(key, value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // In IE6 and 7, this might be called synchronously when
xhr.send below is called an
Login.c(90): d the\n
Login.c(90): // response is in the cache. the promise api will ensure
that to the app code the ap
Login.c(90): i is\n
Login.c(90): // always async\n
Login.c(90): xhr.onreadystatechange = function() {\n
Login.c(90): // onreadystatechange might get called multiple times with
readyState === 4 on mob
Login.c(90): ile webkit caused by\n
Login.c(90): // xhrs that are resolved while the app is in the
background (see #5426).\n
Login.c(90): // since calling completeRequest sets the `xhr` variable
to null, we just check if
Login.c(90): it's not null before\n
Login.c(90): // continuing\n
Login.c(90): //\n
Login.c(90): // we can't set xhr.onreadystatechange to undefined or
delete it because that brea
Login.c(90): ks IE8 (method=PATCH) and\n
Login.c(90): // Safari respectively.\n
Login.c(90): if (xhr && xhr.readyState == 4) {\n
Login.c(90): var responseHeaders = null,\n
Login.c(90): response = null,\n
Login.c(90): statusText = '';\n
Login.c(90): \n
Login.c(90): if(status !== ABORTED) {\n
Login.c(90): responseHeaders = xhr.getAllResponseHeaders();\n
Login.c(90): \n
Login.c(90): // responseText is the old-school way of retrieving
response (supported by IE8
Login.c(90): & 9)\n
Login.c(90): // response/responseType properties were introduced in
XHR Level2 spec (suppor
Login.c(90): ted by IE10)\n
Login.c(90): response = ('response' in xhr) ? xhr.response :
xhr.responseText;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Accessing statusText on an aborted xhr object will\n
Login.c(90): // throw an 'c00c023f error' in IE9 and lower, don't
touch it.\n
Login.c(90): if (!(status === ABORTED && msie < 10)) {\n
Login.c(90): statusText = xhr.statusText;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): completeRequest(callback,\n
Login.c(90): status || xhr.status,\n
Login.c(90): response,\n
Login.c(90): responseHeaders,\n
Login.c(90): statusText);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (withCredentials) {\n
Login.c(90): xhr.withCredentials = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (responseType) {\n
Login.c(90): try {\n
Login.c(90): xhr.responseType = responseType;\n
Login.c(90): } catch (e) {\n
Login.c(90): // WebKit added support for the json responseType value
on 09/03/2013\n
Login.c(90): // https://bugs.webkit.org/show_bug.cgi?id=73648.
Versions of Safari prior to 7
Login.c(90): are\n
Login.c(90): // known to throw when setting the value "json" as the
response type. Other olde
Login.c(90): r\n
Login.c(90): // browsers implementing the responseType\n
Login.c(90): //\n
Login.c(90): // The json response type can be ignored if not
supported, because JSON payloads
Login.c(90): are\n
Login.c(90): // parsed on the client-side regardless.\n
Login.c(90): if (responseType !== 'json') {\n
Login.c(90): throw e;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): xhr.send(post || null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (timeout > 0) {\n
Login.c(90): var timeoutId = $browserDefer(timeoutRequest, timeout);\n
Login.c(90): } else if (isPromiseLike(timeout)) {\n
Login.c(90): timeout.then(timeoutRequest);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function timeoutRequest() {\n
Login.c(90): status = ABORTED;\n
Login.c(90): jsonpDone && jsonpDone();\n
Login.c(90): xhr && xhr.abort();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function completeRequest(callback, status, response,
headersString, statusText) {\n
Login.c(90): // cancel timeout and subsequent timeout promise
resolution\n
Login.c(90): timeoutId && $browserDefer.cancel(timeoutId);\n
Login.c(90): jsonpDone = xhr = null;\n
Login.c(90): \n
Login.c(90): // fix status code when it is 0 (0 status is
undocumented).\n
Login.c(90): // Occurs when accessing file resources or on Android 4.1
stock browser\n
Login.c(90): // while retrieving files from application cache.\n
Login.c(90): if (status === 0) {\n
Login.c(90): status = response ? 200 : urlResolve(url).protocol ==
'file' ? 404 : 0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // normalize IE bug (http://bugs.jquery.com/ticket/1450)\n
Login.c(90): status = status === 1223 ? 204 : status;\n
Login.c(90): statusText = statusText || '';\n
Login.c(90): \n
Login.c(90): callback(status, response, headersString, statusText);\n
Login.c(90): $browser.$$completeOutstandingRequest(noop);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function jsonpReq(url, callbackId, done) {\n
Login.c(90): // we can't use jQuery/jqLite here because jQuery does crazy
shit with script elements
Login.c(90): , e.g.:\n
Login.c(90): // - fetches local scripts via XHR and evals them\n
Login.c(90): // - adds and immediately removes script elements from the
document\n
Login.c(90): var script = rawDocument.createElement('script'), callback =
null;\n
Login.c(90): script.type = "text/javascript";\n
Login.c(90): script.src = url;\n
Login.c(90): script.async = true;\n
Login.c(90): \n
Login.c(90): callback = function(event) {\n
Login.c(90): removeEventListenerFn(script, "load", callback);\n
Login.c(90): removeEventListenerFn(script, "error", callback);\n
Login.c(90): rawDocument.body.removeChild(script);\n
Login.c(90): script = null;\n
Login.c(90): var status = -1;\n
Login.c(90): var text = "unknown";\n
Login.c(90): \n
Login.c(90): if (event) {\n
Login.c(90): if (event.type === "load" && !
callbacks[callbackId].called) {\n
Login.c(90): event = { type: "error" };\n
Login.c(90): }\n
Login.c(90): text = event.type;\n
Login.c(90): status = event.type === "error" ? 404 : 200;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (done) {\n
Login.c(90): done(status, text);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): addEventListenerFn(script, "load", callback);\n
Login.c(90): addEventListenerFn(script, "error", callback);\n
Login.c(90): \n
Login.c(90): if (msie <= 8) {\n
Login.c(90): script.onreadystatechange = function() {\n
Login.c(90): if (isString(script.readyState) && /loaded|
complete/.test(script.readyState)) {\n
Login.c(90): script.onreadystatechange = null;\n
Login.c(90): callback({\n
Login.c(90): type: 'load'\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): rawDocument.body.appendChild(script);\n
Login.c(90): return callback;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var $interpolateMinErr = minErr('$interpolate');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $interpolateProvider\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Used for configuring the interpolation markup. Defaults to `{{`
and `}}`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="customInterpolationApp">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): var customInterpolationApp =
angular.module('customInterpolationApp', []);\n
Login.c(90): \n
Login.c(90): customInterpolationApp.config(function($interpolateProvider) {\n
Login.c(90): $interpolateProvider.startSymbol('//');\n
Login.c(90): $interpolateProvider.endSymbol('//');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): customInterpolationApp.controller('DemoController', function()
{\n
Login.c(90): this.label = "This binding is brought you by //
interpolation symbols.";\n
Login.c(90): });\n
Login.c(90): </script>\n
Login.c(90): <div ng-app="App" ng-controller="DemoController as demo">\n
Login.c(90): //demo.label//\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should interpolate binding with custom symbols', function()
{\n
Login.c(90): expect(element(by.binding('demo.label')).getText()).toBe('This
binding is brought you
Login.c(90): by // interpolation symbols.');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $InterpolateProvider() {\n
Login.c(90): var startSymbol = '{{';\n
Login.c(90): var endSymbol = '}}';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $interpolateProvider#startSymbol\n
Login.c(90): * @description\n
Login.c(90): * Symbol to denote start of expression in the i
Login.c(90): t=2764ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): nterpolated string. Defaults to `{{`.\n
Login.c(90): *\n
Login.c(90): * @param {string=} value new value to set the starting symbol
to.\n
Login.c(90): * @returns {string|self} Returns the symbol when used as getter
and self if used as set
Login.c(90): ter.\n
Login.c(90): */\n
Login.c(90): this.startSymbol = function(value){\n
Login.c(90): if (value) {\n
Login.c(90): startSymbol = value;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return startSymbol;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $interpolateProvider#endSymbol\n
Login.c(90): * @description\n
Login.c(90): * Symbol to denote the end of expression in the interpolated
string. Defaults to `}}`.\n
Login.c(90): *\n
Login.c(90): * @param {string=} value new value to set the ending symbol
to.\n
Login.c(90): * @returns {string|self} Returns the symbol when used as getter
and self if used as set
Login.c(90): ter.\n
Login.c(90): */\n
Login.c(90): this.endSymbol = function(value){\n
Login.c(90): if (value) {\n
Login.c(90): endSymbol = value;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return endSymbol;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): this.$get = ['$parse', '$exceptionHandler', '$sce',
function($parse, $exceptionHandler,
Login.c(90): $sce) {\n
Login.c(90): var startSymbolLength = startSymbol.length,\n
Login.c(90): endSymbolLength = endSymbol.length;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $interpolate\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @requires $parse\n
Login.c(90): * @requires $sce\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Compiles a string with markup into an interpolation
function. This service is used
Login.c(90): by the\n
Login.c(90): * HTML {@link ng.$compile $compile} service for data binding.
See\n
Login.c(90): * {@link ng.$interpolateProvider $interpolateProvider} for
configuring the\n
Login.c(90): * interpolation markup.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var $interpolate = ...; // injected\n
Login.c(90): * var exp = $interpolate('Hello {{name | uppercase}}!');\n
Login.c(90): * expect(exp({name:'Angular'}).toEqual('Hello ANGULAR!');\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string} text The text with markup to interpolate.\n
Login.c(90): * @param {boolean=} mustHaveExpression if set to true then
the interpolation string m
Login.c(90): ust have\n
Login.c(90): * embedded expression in order to return an interpolation
function. Strings with n
Login.c(90): o\n
Login.c(90): * embedded expression will return null for the
interpolation function.\n
Login.c(90): * @param {string=} trustedContext when provided, the returned
function passes the int
Login.c(90): erpolated\n
Login.c(90): * result through {@link ng.$sce#getTrusted
$sce.getTrusted(interpolatedResult,\n
Login.c(90): * trustedContext)} before returning it. Refer to the
{@link ng.$sce $sce} service
Login.c(90): that\n
Login.c(90): * provides Strict Contextual Escaping for details.\n
Login.c(90): * @returns {function(context)} an interpolation function
which is used to compute the
Login.c(90): \n
Login.c(90): * interpolated string. The function has these
parameters:\n
Login.c(90): *\n
Login.c(90): * * `context`: an object against which any expressions
embedded in the strings are
Login.c(90): evaluated\n
Login.c(90): * against.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function $interpolate(text, mustHaveExpression,
trustedContext) {\n
Login.c(90): var startIndex,\n
Login.c(90): endIndex,\n
Login.c(90): index = 0,\n
Login.c(90): parts = [],\n
Login.c(90): length = text.length,\n
Login.c(90): hasInterpolation = false,\n
Login.c(90): fn,\n
Login.c(90): exp,\n
Login.c(90): concat = [];\n
Login.c(90): \n
Login.c(90): while(index < length) {\n
Login.c(90): if ( ((startIndex = text.indexOf(startSymbol, index)) !=
-1) &&\n
Login.c(90): ((endIndex = text.indexOf(endSymbol, startIndex +
startSymbolLength)) != -1)
Login.c(90): ) {\n
Login.c(90): (index != startIndex) &&
parts.push(text.substring(index, startIndex));\n
Login.c(90): parts.push(fn = $parse(exp = text.substring(startIndex +
startSymbolLength, endI
Login.c(90): ndex)));\n
Login.c(90): fn.exp = exp;\n
Login.c(90): index = endIndex + endSymbolLength;\n
Login.c(90): hasInterpolation = true;\n
Login.c(90): } else {\n
Login.c(90): // we did not find anything, so we have to add the
remainder to the parts array\n
Login.c(90): (index != length) &&
parts.push(text.substring(index));\n
Login.c(90): index = length;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(length = parts.length)) {\n
Login.c(90): // we added, nothing, must have been an empty string.\n
Login.c(90): parts.push('');\n
Login.c(90): length = 1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Concatenating expressions makes it hard to reason about
whether some combination
Login.c(90): of\n
Login.c(90): // concatenated values are unsafe to use and could easily
lead to XSS. By requiring
Login.c(90): that a\n
Login.c(90): // single expression be used for iframe[src], object[src],
etc., we ensure that the
Login.c(90): value\n
Login.c(90): // that's used is assigned or constructed by some JS code
somewhere that is more tes
Login.c(90): table or\n
Login.c(90): // make it obvious that you bound the value to some user
controlled value. This hel
Login.c(90): ps reduce\n
Login.c(90): // the load when auditing for XSS issues.\n
Login.c(90): if (trustedContext && parts.length > 1) {\n
Login.c(90): throw $interpolateMinErr('noconcat',\n
Login.c(90): "Error while interpolating: {0}\\nStrict Contextual
Escaping disallows " +\n
Login.c(90): "interpolations that concatenate multiple
expressions when a trusted value i
Login.c(90): s " +\n
Login.c(90): "required. See http://docs.angularjs.org/api/ng.
$sce", text);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!mustHaveExpression || hasInterpolation) {\n
Login.c(90): concat.length = length;\n
Login.c(90): fn = function(context) {\n
Login.c(90): try {\n
Login.c(90): for(var i = 0, ii = length, part; i<ii; i++) {\n
Login.c(90): if (typeof (part = parts[i]) == 'function') {\n
Login.c(90): part = part(context);\n
Login.c(90): if (trustedContext) {\n
Login.c(90): part = $sce.getTrusted(trustedContext, part);\n
Login.c(90): } else {\n
Login.c(90): part = $sce.valueOf(part);\n
Login.c(90): }\n
Login.c(90): if (part == null) { // null || undefined\n
Login.c(90): part = '';\n
Login.c(90): } else {\n
Login.c(90): switch (typeof part) {\n
Login.c(90): case 'string':\n
Login.c(90): {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): case 'number':\n
Login.c(90): {\n
Login.c(90): part = '' + part;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): default:\n
Login.c(90): {\n
Login.c(90): part = toJson(part);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): concat[i] = part;\n
Login.c(90): }\n
Login.c(90): return concat.join('');\n
Login.c(90): }\n
Login.c(90): catch(err) {\n
Login.c(90): var newErr = $interpolateMinErr('interr', "Can't
interpolate: {0}\\n{1}", text
Login.c(90): ,\n
Login.c(90): err.toString());\n
Login.c(90): $exceptionHandler(newErr);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): fn.exp = text;\n
Login.c(90): fn.parts = parts;\n
Login.c(90): return fn;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $interpolate#startSymbol\n
Login.c(90): * @description\n
Login.c(90): * Symbol to denote the start of expression in the
interpolated string. Defaults to `{
Login.c(90): {`.\n
Login.c(90): *\n
Login.c(90): * Use {@link ng.$interpolateProvider#startSymbol
`$interpolateProvider.startSymbol`}
Login.c(90): to change\n
Login.c(90): * the symbol.\n
Login.c(90): *\n
Login.c(90): * @returns {string} start symbol.\n
Login.c(90): */\n
Login.c(90): $interpolate.startSymbol = function() {\n
Login.c(90): return startSymbol;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $interpolate#endSymbol\n
Login.c(90): * @description\n
Login.c(90): * Symbol to denote the end of expression in the interpolated
string. Defaults to `}}`
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * Use {@link ng.$interpolateProvider#endSymbol
`$interpolateProvider.endSymbol`} to c
Login.c(90): hange\n
Login.c(90): * the symbol.\n
Login.c(90): *\n
Login.c(90): * @returns {string} end symbol.\n
Login.c(90): */\n
Login.c(90): $interpolate.endSymbol = function() {\n
Login.c(90): return endSymbol;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return $interpolate;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function $IntervalProvider() {\n
Login.c(90): this.$get = ['$rootScope', '$window', '$q',\n
Login.c(90): function($rootScope, $window, $q) {\n
Login.c(90): var intervals = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $interval\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Angular's wrapper for `window.setInterval`. The `fn`
function is executed every `d
Login.c(90): elay`\n
Login.c(90): * milliseconds.\n
Login.c(90): *\n
Login.c(90): * The return value of registering an interval function is a
promise. This promise wi
Login.c(90): ll be\n
Login.c(90): * notified upon each tick of the interval, and will be
resolved after `count` iterat
Login.c(90): ions, or\n
Login.c(90): * run indefinitely if `count` is not defined. The value of
the notification will be
Login.c(90): the\n
Login.c(90): * number of iterations that have run.\n
Login.c(90): * To cancel an interval, call `$interval.cancel(promise)`.\n
Login.c(90): *\n
Login.c(90): * In tests you can use {@link ngMock.$interval#flush
`$interval.flush(millis)`} to\n
Login.c(90): * move forward by `millis` milliseconds and trigger any
functions scheduled to run i
Login.c(90): n that\n
Login.c(90): * time.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note**: Intervals created by this service must be
explicitly destroyed when you
Login.c(90): are finished\n
Login.c(90): * with them. In particular they are not automatically
destroyed when a controller's
Login.c(90): scope or a\n
Login.c(90): * directive's element are destroyed.\n
Login.c(90): * You should take this into consideration and make sure to
always cancel the interva
Login.c(90): l at the\n
Login.c(90): * appropriate moment. See the example below for more
details on how and when to do
Login.c(90): this.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @param {function()} fn A function that should be called
repeatedly.\n
Login.c(90): * @param {number} delay Number of milliseconds between each
function call.\n
Login.c(90): * @param {number=} [count=0] Number of times to repeat. If
not set, or 0, will repea
Login.c(90): t\n
Login.c(90): * indefinitely.\n
Login.c(90): * @param {boolean=} [invokeApply=true] If set to `false`
skips model dirty checking,
Login.c(90): otherwise\n
Login.c(90): * will invoke `fn` within the {@link ng.
$rootScope.Scope#$apply $apply} block.\n
Login.c(90): * @returns {promise} A promise which will be notified on
each iteration.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <example module="intervalExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <script>\n
Login.c(90): * angular.module('intervalExample', [])\n
Login.c(90): * .controller('ExampleController', ['$scope',
'$interval',\n
Login.c(90): * function($scope, $interval) {\n
Login.c(90): * $scope.format = 'M/d/yy h:mm:ss a';\n
Login.c(90): * $scope.blood_1 = 100;\n
Login.c(90): * $scope.blood_2 = 120;\n
Login.c(90): *\n
Login.c(90): * var stop;\n
Login.c(90): * $scope.fight = function() {\n
Login.c(90): * // Don't start a new fight if we are already
fighting\n
Login.c(90): * if ( angular.isDefined(stop) ) return;\n
Login.c(90): *\n
Login.c(90): * stop = $interval(function() {\n
Login.c(90): * if ($scope.blood_1 > 0 && $scope.blood_2 > 0)
{\n
Login.c(90): * $scope.blood_1 = $scope.blood_1 - 3;\n
Login.c(90): * $scope.blood_2 = $scope.blood_2 - 4;\n
Login.c(90): * } else {\n
Login.c(90): * $scope.stopFight();\n
Login.c(90): * }\n
Login.c(90): * }, 100);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.stopFight = function() {\n
Login.c(90): * if (angular.isDefined(stop)) {\n
Login.c(90): * $interval.cancel(stop);\n
Login.c(90): * stop = undefined;\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.resetFight = function() {\n
Login.c(90): * $scope.blood_1 = 100;\n
Login.c(90): * $scope.blood_2 = 120;\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.$on('$destroy', function() {\n
Login.c(90): * // Make sure that the interval is destroyed
too\n
Login.c(90): * $scope.stopFight();\n
Login.c(90): * });\n
Login.c(90): * }])\n
Login.c(90): * // Register the 'myCurrentTime' directive factory
method.\n
Login.c(90): * // We inject $interval and dateFilter service since
the factory method is DI
Login.c(90): .\n
Login.c(90): * .directive('myCurrentTime', ['$interval',
'dateFilter',\n
Login.c(90): * function($interval, dateFilter) {\n
Login.c(90): * // return the directive link function. (compile
function not needed)\n
Login.c(90): * return function(scope, element, attrs) {\n
Login.c(90): * var format, // date format\n
Login.c(90): * stopTime; // so that we can cancel the
time updates\n
Login.c(90): *\n
Login.c(90): * // used to update the UI\n
Login.c(90): * function updateTime() {\n
Login.c(90): * element.text(dateFilter(new Date(),
format));\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * // watch the expression, and update the UI on
change.\n
Login.c(90): * scope.$watch(attrs.myCurrentTime,
function(value) {\n
Login.c(90): * format = value;\n
Login.c(90): * updateTime();\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * stopTime = $interval(updateTime, 1000);\n
Login.c(90): *\n
Login.c(90): * // listen on DOM destroy (removal) event, and
cancel the next UI updat
Login.c(90): e\n
Login.c(90): * // to prevent updating time after the DOM
element was removed.\n
Login.c(90): * element.bind('$destroy', function() {\n
Login.c(90): * $interval.cancel(stopTime);\n
Login.c(90): * });\n
Login.c(90): * }\n
Login.c(90): * }]);\n
Login.c(90): * </script>\n
Login.c(90): *\n
Login.c(90): * <div>\n
Login.c(90): * <div ng-controller="ExampleController">\n
Login.c(90): * Date format: <input ng-model="format"> <hr/>\n
Login.c(90): * Curren
Login.c(90): t=2804ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): t time is: <span my-current-time="format"></span>\n
Login.c(90): * <hr/>\n
Login.c(90): * Blood 1 : <font color='red'>{{blood_1}}</font>\n
Login.c(90): * Blood 2 : <font color='red'>{{blood_2}}</font>\n
Login.c(90): * <button type="button" data-ng-
click="fight()">Fight</button>\n
Login.c(90): * <button type="button" data-ng-
click="stopFight()">StopFight</button>\n
Login.c(90): * <button type="button" data-ng-
click="resetFight()">resetFight</button>\n
Login.c(90): * </div>\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): */\n
Login.c(90): function interval(fn, delay, count, invokeApply) {\n
Login.c(90): var setInterval = $window.setInterval,\n
Login.c(90): clearInterval = $window.clearInterval,\n
Login.c(90): deferred = $q.defer(),\n
Login.c(90): promise = deferred.promise,\n
Login.c(90): iteration = 0,\n
Login.c(90): skipApply = (isDefined(invokeApply) && !invokeApply);\n
Login.c(90): \n
Login.c(90): count = isDefined(count) ? count : 0;\n
Login.c(90): \n
Login.c(90): promise.then(null, null, fn);\n
Login.c(90): \n
Login.c(90): promise.$$intervalId = setInterval(function tick() {\n
Login.c(90): deferred.notify(iteration++);\n
Login.c(90): \n
Login.c(90): if (count > 0 && iteration >= count) {\n
Login.c(90): deferred.resolve(iteration);\n
Login.c(90): clearInterval(promise.$$intervalId);\n
Login.c(90): delete intervals[promise.$$intervalId];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!skipApply) $rootScope.$apply();\n
Login.c(90): \n
Login.c(90): }, delay);\n
Login.c(90): \n
Login.c(90): intervals[promise.$$intervalId] = deferred;\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $interval#cancel\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Cancels a task associated with the `promise`.\n
Login.c(90): *\n
Login.c(90): * @param {promise} promise returned by the `$interval`
function.\n
Login.c(90): * @returns {boolean} Returns `true` if the task was
successfully canceled.\n
Login.c(90): */\n
Login.c(90): interval.cancel = function(promise) {\n
Login.c(90): if (promise && promise.$$intervalId in intervals) {\n
Login.c(90): intervals[promise.$$intervalId].reject('canceled');\n
Login.c(90): $window.clearInterval(promise.$$intervalId);\n
Login.c(90): delete intervals[promise.$$intervalId];\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return interval;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $locale\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * $locale service provides localization rules for various Angular
components. As of right
Login.c(90): now the\n
Login.c(90): * only public api is:\n
Login.c(90): *\n
Login.c(90): * * `id` \xE2\x80\x93 `{string}` \xE2\x80\x93 locale id formatted
as `languageId-countryI
Login.c(90): d` (e.g. `en-us`)\n
Login.c(90): */\n
Login.c(90): function $LocaleProvider(){\n
Login.c(90): this.$get = function() {\n
Login.c(90): return {\n
Login.c(90): id: 'en-us',\n
Login.c(90): \n
Login.c(90): NUMBER_FORMATS: {\n
Login.c(90): DECIMAL_SEP: '.',\n
Login.c(90): GROUP_SEP: ',',\n
Login.c(90): PATTERNS: [\n
Login.c(90): { // Decimal Pattern\n
Login.c(90): minInt: 1,\n
Login.c(90): minFrac: 0,\n
Login.c(90): maxFrac: 3,\n
Login.c(90): posPre: '',\n
Login.c(90): posSuf: '',\n
Login.c(90): negPre: '-',\n
Login.c(90): negSuf: '',\n
Login.c(90): gSize: 3,\n
Login.c(90): lgSize: 3\n
Login.c(90): },{ //Currency Pattern\n
Login.c(90): minInt: 1,\n
Login.c(90): minFrac: 2,\n
Login.c(90): maxFrac: 2,\n
Login.c(90): posPre: '\\u00A4',\n
Login.c(90): posSuf: '',\n
Login.c(90): negPre: '(\\u00A4',\n
Login.c(90): negSuf: ')',\n
Login.c(90): gSize: 3,\n
Login.c(90): lgSize: 3\n
Login.c(90): }\n
Login.c(90): ],\n
Login.c(90): CURRENCY_SYM: '$'\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): DATETIME_FORMATS: {\n
Login.c(90): MONTH:\n
Login.c(90):
'January,February,March,April,May,June,July,August,September,October,November,
Login.c(90): December'\n
Login.c(90): .split(','),\n
Login.c(90): SHORTMONTH:
'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','),\n
Login.c(90): DAY:
'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','),\n
Login.c(90): SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','),\n
Login.c(90): AMPMS: ['AM','PM'],\n
Login.c(90): medium: 'MMM d, y h:mm:ss a',\n
Login.c(90): short: 'M/d/yy h:mm a',\n
Login.c(90): fullDate: 'EEEE, MMMM d, y',\n
Login.c(90): longDate: 'MMMM d, y',\n
Login.c(90): mediumDate: 'MMM d, y',\n
Login.c(90): shortDate: 'M/d/yy',\n
Login.c(90): mediumTime: 'h:mm:ss a',\n
Login.c(90): shortTime: 'h:mm a'\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): pluralCat: function(num) {\n
Login.c(90): if (num === 1) {\n
Login.c(90): return 'one';\n
Login.c(90): }\n
Login.c(90): return 'other';\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var PATH_MATCH = /^([^\\?#]*)(\\?([^#]*))?(#(.*))?$/,\n
Login.c(90): DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp': 21};\n
Login.c(90): var $locationMinErr = minErr('$location');\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Encode path using encodeUriSegment, ignoring forward slashes\n
Login.c(90): *\n
Login.c(90): * @param {string} path Path to encode\n
Login.c(90): * @returns {string}\n
Login.c(90): */\n
Login.c(90): function encodePath(path) {\n
Login.c(90): var segments = path.split('/'),\n
Login.c(90): i = segments.length;\n
Login.c(90): \n
Login.c(90): while (i--) {\n
Login.c(90): segments[i] = encodeUriSegment(segments[i]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return segments.join('/');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function parseAbsoluteUrl(absoluteUrl, locationObj, appBase) {\n
Login.c(90): var parsedUrl = urlResolve(absoluteUrl, appBase);\n
Login.c(90): \n
Login.c(90): locationObj.$$protocol = parsedUrl.protocol;\n
Login.c(90): locationObj.$$host = parsedUrl.hostname;\n
Login.c(90): locationObj.$$port = int(parsedUrl.port) ||
DEFAULT_PORTS[parsedUrl.protocol] || null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function parseAppUrl(relativeUrl, locationObj, appBase) {\n
Login.c(90): var prefixed = (relativeUrl.charAt(0) !== '/');\n
Login.c(90): if (prefixed) {\n
Login.c(90): relativeUrl = '/' + relativeUrl;\n
Login.c(90): }\n
Login.c(90): var match = urlResolve(relativeUrl, appBase);\n
Login.c(90): locationObj.$$path = decodeURIComponent(prefixed &&
match.pathname.charAt(0) === '/' ?\n
Login.c(90): match.pathname.substring(1) : match.pathname);\n
Login.c(90): locationObj.$$search = parseKeyValue(match.search);\n
Login.c(90): locationObj.$$hash = decodeURIComponent(match.hash);\n
Login.c(90): \n
Login.c(90): // make sure path starts with '/';\n
Login.c(90): if (locationObj.$$path && locationObj.$$path.charAt(0) != '/')
{\n
Login.c(90): locationObj.$$path = '/' + locationObj.$$path;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * @param {string} begin\n
Login.c(90): * @param {string} whole\n
Login.c(90): * @returns {string} returns text from whole after begin or
undefined if it does not begin
Login.c(90): with\n
Login.c(90): * expected string.\n
Login.c(90): */\n
Login.c(90): function beginsWith(begin, whole) {\n
Login.c(90): if (whole.indexOf(begin) === 0) {\n
Login.c(90): return whole.substr(begin.length);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function stripHash(url) {\n
Login.c(90): var index = url.indexOf('#');\n
Login.c(90): return index == -1 ? url : url.substr(0, index);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function stripFile(url) {\n
Login.c(90): return url.substr(0, stripHash(url).lastIndexOf('/') + 1);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* return the server only (scheme://host:port) */\n
Login.c(90): function serverBase(url) {\n
Login.c(90): return url.substring(0, url.indexOf('/', url.indexOf('//') +
2));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * LocationHtml5Url represents an url\n
Login.c(90): * This object is exposed as $location service when HTML5 mode is
enabled and supported\n
Login.c(90): *\n
Login.c(90): * @constructor\n
Login.c(90): * @param {string} appBase application base URL\n
Login.c(90): * @param {string} basePrefix url path prefix\n
Login.c(90): */\n
Login.c(90): function LocationHtml5Url(appBase, basePrefix) {\n
Login.c(90): this.$$html5 = true;\n
Login.c(90): basePrefix = basePrefix || '';\n
Login.c(90): var appBaseNoFile = stripFile(appBase);\n
Login.c(90): parseAbsoluteUrl(appBase, this, appBase);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parse given html5 (regular) url string into properties\n
Login.c(90): * @param {string} newAbsoluteUrl HTML5 url\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): this.$$parse = function(url) {\n
Login.c(90): var pathUrl = beginsWith(appBaseNoFile, url);\n
Login.c(90): if (!isString(pathUrl)) {\n
Login.c(90): throw $locationMinErr('ipthprfx', 'Invalid url "{0}",
missing path prefix "{1}".', u
Login.c(90): rl,\n
Login.c(90): appBaseNoFile);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): parseAppUrl(pathUrl, this, appBase);\n
Login.c(90): \n
Login.c(90): if (!this.$$path) {\n
Login.c(90): this.$$path = '/';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$compose();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Compose url and update `absUrl` property\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): this.$$compose = function() {\n
Login.c(90): var search = toKeyValue(this.$$search),\n
Login.c(90): hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) :
'';\n
Login.c(90): \n
Login.c(90): this.$$url = encodePath(this.$$path) + (search ? '?' +
search : '') + hash;\n
Login.c(90): this.$$absUrl = appBaseNoFile + this.$$url.substr(1); // first
char is always '/'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$$rewrite = function(url) {\n
Login.c(90): var appUrl, prevAppUrl;\n
Login.c(90): \n
Login.c(90): if ( (appUrl = beginsWith(appBase, url)) !== undefined ) {\n
Login.c(90): prevAppUrl = appUrl;\n
Login.c(90): if ( (appUrl = beginsWith(basePrefix, appUrl)) !== undefined
) {\n
Login.c(90): return appBaseNoFile + (beginsWith('/', appUrl) ||
appUrl);\n
Login.c(90): } else {\n
Login.c(90): return appBase + prevAppUrl;\n
Login.c(90): }\n
Login.c(90): } else if ( (appUrl = beginsWith(appBaseNoFile, url)) !==
undefined ) {\n
Login.c(90): return appBaseNoFile + appUrl;\n
Login.c(90): } else if (appBaseNoFile == url + '/') {\n
Login.c(90): return appBaseNoFile;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * LocationHashbangUrl represents url\n
Login.c(90): * This object is exposed as $location service when developer
doesn't opt into html5 mode.
Login.c(90): \n
Login.c(90): * It also serves as the base class for html5 mode fallback on
legacy browsers.\n
Login.c(90): *\n
Login.c(90): * @constructor\n
Login.c(90): * @param {string} appBase application base URL\n
Login.c(90): * @param {string} hashPrefix hashbang prefix\n
Login.c(90): */\n
Login.c(90): function LocationHashbangUrl(appBase, hashPrefix) {\n
Login.c(90): var appBaseNoFile = stripFile(appBase);\n
Login.c(90): \n
Login.c(90): parseAbsoluteUrl(appBase, this, appBase);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parse given hashbang url into properties\n
Login.c(90): * @param {string} url Hashbang url\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): this.$$parse = function(url) {\n
Login.c(90): var withoutBaseUrl = beginsWith(appBase, url) ||
beginsWith(appBaseNoFile, url);\n
Login.c(90): var withoutHashUrl = withoutBaseUrl.charAt(0) == '#'\n
Login.c(90): ? beginsWith(hashPrefix, withoutBaseUrl)\n
Login.c(90): : (this.$$html5)\n
Login.c(90): ? withoutBaseUrl\n
Login.c(90): : '';\n
Login.c(90): \n
Login.c(90): if (!isString(withoutHashUrl)) {\n
Login.c(90): throw $locationMinErr('ihshprfx', 'Invalid url "{0}",
missing hash prefix "{1}".', u
Login.c(90): rl,\n
Login.c(90): hashPrefix);\n
Login.c(90): }\n
Login.c(90): parseAppUrl(withoutHashUrl, this, appBase);\n
Login.c(90): \n
Login.c(90): this.$$path = removeWindowsDriveName(this.$$path,
withoutHashUrl, appBase);\n
Login.c(90): \n
Login.c(90): this.$$compose();\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * In Windows, on an anchor node on documents loaded from\n
Login.c(90): * the filesystem, the browser will return a pathname\n
Login.c(90): * prefixed with the drive name ('/C:/path') when a\n
Login.c(90): * pathname without a drive is set:\n
Login.c(90): * * a.setAttribute('href', '/foo')\n
Login.c(90): * * a.pathname === '/C:/foo' //true\n
Login.c(90): *\n
Login.c(90): * Inside of Angular, we're always using pathnames that\n
Login.c(90): * do not include drive names for routing.\n
Login.c(90): */\n
Login.c(90): function removeWindowsDriveName (path, url, base) {\n
Login.c(90): /*\n
Login.c(90): Matches paths for file protocol on windows,\n
Login.c(90): such as /C:/foo/bar, and captures only /foo/bar.\n
Login.c(90): */\n
Login.c(90): var windowsFilePathExp = /^\\/[A-Z]:(\\/.*)/;\n
Login.c(90): \n
Login.c(90): var firstPathSegmentMatch;\n
Login.c(90): \n
Login.c(90): //Get the relative path from the input URL.\n
Login.c(90): if (url.indexOf(base) === 0) {\n
Login.c(90): url = url.replace(base, '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // The input URL intentionally contains a first path segment
that ends with a colon.
Login.c(90): \n
Login.c(90): if (windowsFilePathExp.exec(url)) {\n
Login.c(90): return path;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): firstPathSegmentMatch = windowsFilePathExp.exec(path);\n
Login.c(90): return firstPathSegmentMatch ? firstPathSegmentMatch[1] :
path;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Compose hashbang url and update `absUrl` property\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): this.$$compose = function() {\n
Login.c(90): var search = toKeyValue(this.$$search),\n
Login.c(90): hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) :
'';\n
Login.c(90): \n
Login.c(90): this.$$url = encodePath(this.$$path) + (search ? '?' +
search : '') + hash;\n
Login.c(90): this.$$absUrl = appBase + (this.$$url ? hashPrefix + this.$
$url : '');\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$$rewrite = function(url) {\n
Login.c(90): if(stripHash(appBase) == stripHash(url)) {\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * LocationHashbangUrl represents url\n
Login.c(90): * This object is exposed as $location service when html5 history
api is enabled but the b
Login.c(90): rowser\n
Login.c(90): * does not support it.\n
Login.c(90): *\n
Login.c(90): * @constructor\n
Login.c(90): * @param {string} appBase application base URL\n
Login.c(90): * @param {string} hashPrefix hashbang prefix\n
Login.c(90): */\n
Login.c(90): function LocationHashbangInHtml5Url(appBase, hashPrefix) {\n
Login.c(90): this.$$html5 = true;\n
Login.c(90): LocationHashbangUrl.apply(this, arguments);\n
Login.c(90): \n
Login.c(90): var appBaseNoFile = stripFile(appBase);\n
Login.c(90): \n
Login.c(90): this.$$rewrite = function(url) {\n
Login.c(90): var appUrl;\n
Login.c(90): \n
Login.c(90): if ( appBase == stripHash(url) ) {\n
Login.c(90): return url;\n
Login.c(90): } else if ( (appUrl = beginsWith(appBaseNoFile, url)) ) {\n
Login.c(90): return appBase + hashPrefix + appUrl;\n
Login.c(90): } else if ( appBaseNoFile === url + '/') {\n
Login.c(90): return appBaseNoFile;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$$compose = function() {\n
Login.c(90): var search = toKeyValue(this.$$search),\n
Login.c(90): hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) :
'';\n
Login.c(90): \n
Login.c(90): this.$$url = encodePath(this.$$path) + (search ? '?' +
search : '') + hash;\n
Login.c(90): // include hashPrefix in $$absUrl when $$url is empty so IE8 &
9 do not reload page be
Login.c(90): cause of removal of '#'\n
Login.c(90): this.$$absUrl = appBase + hashPrefix + this.$$url;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): LocationHashbangInHtml5Url.prototype =\n
Login.c(90): LocationHashbangUrl.prototype =\n
Login.c(90): LocationHtml5Url.prototype = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Are we in html5 mode?\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): $$html5: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Has any change been replacing ?\n
Login.c(90): * @private\n
Login.c(90): */\n
Login.c(90): $$replace: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#absUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter only.\n
Login.c(90): *\n
Login.c(90): * Return full url representation with all segments encoded
according to rules specified
Login.c(90): in\n
Login.c(90): * [
Login.c(90): t=2824ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): RFC 3986](http://www.ietf.org/rfc/rfc3986.txt).\n
Login.c(90): *\n
Login.c(90): * @return {string} full url\n
Login.c(90): */\n
Login.c(90): absUrl: locationGetter('$$absUrl'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#url\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter / setter.\n
Login.c(90): *\n
Login.c(90): * Return url (e.g. `/path?a=b#hash`) when called without any
parameter.\n
Login.c(90): *\n
Login.c(90): * Change path, search and hash, when called with parameter and
return `$location`.\n
Login.c(90): *\n
Login.c(90): * @param {string=} url New url without base prefix (e.g.
`/path?a=b#hash`)\n
Login.c(90): * @return {string} url\n
Login.c(90): */\n
Login.c(90): url: function(url) {\n
Login.c(90): if (isUndefined(url))\n
Login.c(90): return this.$$url;\n
Login.c(90): \n
Login.c(90): var match = PATH_MATCH.exec(url);\n
Login.c(90): if (match[1]) this.path(decodeURIComponent(match[1]));\n
Login.c(90): if (match[2] || match[1]) this.search(match[3] || '');\n
Login.c(90): this.hash(match[5] || '');\n
Login.c(90): \n
Login.c(90): return this;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#protocol\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter only.\n
Login.c(90): *\n
Login.c(90): * Return protocol of current url.\n
Login.c(90): *\n
Login.c(90): * @return {string} protocol of current url\n
Login.c(90): */\n
Login.c(90): protocol: locationGetter('$$protocol'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#host\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter only.\n
Login.c(90): *\n
Login.c(90): * Return host of current url.\n
Login.c(90): *\n
Login.c(90): * @return {string} host of current url.\n
Login.c(90): */\n
Login.c(90): host: locationGetter('$$host'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#port\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter only.\n
Login.c(90): *\n
Login.c(90): * Return port of current url.\n
Login.c(90): *\n
Login.c(90): * @return {Number} port\n
Login.c(90): */\n
Login.c(90): port: locationGetter('$$port'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#path\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter / setter.\n
Login.c(90): *\n
Login.c(90): * Return path of current url when called without any
parameter.\n
Login.c(90): *\n
Login.c(90): * Change path when called with parameter and return
`$location`.\n
Login.c(90): *\n
Login.c(90): * Note: Path should always begin with forward slash (/), this
method will add the forwa
Login.c(90): rd slash\n
Login.c(90): * if it is missing.\n
Login.c(90): *\n
Login.c(90): * @param {(string|number)=} path New path\n
Login.c(90): * @return {string} path\n
Login.c(90): */\n
Login.c(90): path: locationGetterSetter('$$path', function(path) {\n
Login.c(90): path = path ? path.toString() : '';\n
Login.c(90): return path.charAt(0) == '/' ? path : '/' + path;\n
Login.c(90): }),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#search\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter / setter.\n
Login.c(90): *\n
Login.c(90): * Return search part (as object) of current url when called
without any parameter.\n
Login.c(90): *\n
Login.c(90): * Change search part when called with parameter and return
`$location`.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // given url http://example.com/#/some/path?
foo=bar&baz=xoxo\n
Login.c(90): * var searchObject = $location.search();\n
Login.c(90): * // => {foo: 'bar', baz: 'xoxo'}\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * // set foo to 'yipee'\n
Login.c(90): * $location.search('foo', 'yipee');\n
Login.c(90): * // => $location\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string|Object.<string>|Object.<Array.<string>>}
search New search params - st
Login.c(90): ring or\n
Login.c(90): * hash object.\n
Login.c(90): *\n
Login.c(90): * When called with a single argument the method acts as a
setter, setting the `search`
Login.c(90): component\n
Login.c(90): * of `$location` to the specified value.\n
Login.c(90): *\n
Login.c(90): * If the argument is a hash object containing an array of
values, these values will be
Login.c(90): encoded\n
Login.c(90): * as duplicate search parameters in the url.\n
Login.c(90): *\n
Login.c(90): * @param {(string|Number|Array<string>|boolean)=} paramValue If
`search` is a string or
Login.c(90): number, then `paramValue`\n
Login.c(90): * will override only a single search property.\n
Login.c(90): *\n
Login.c(90): * If `paramValue` is an array, it will override the property of
the `search` component
Login.c(90): of\n
Login.c(90): * `$location` specified via the first argument.\n
Login.c(90): *\n
Login.c(90): * If `paramValue` is `null`, the property specified via the
first argument will be dele
Login.c(90): ted.\n
Login.c(90): *\n
Login.c(90): * If `paramValue` is `true`, the property specified via the
first argument will be adde
Login.c(90): d with no\n
Login.c(90): * value nor trailing equal sign.\n
Login.c(90): *\n
Login.c(90): * @return {Object} If called with no arguments returns the
parsed `search` object. If c
Login.c(90): alled with\n
Login.c(90): * one or more arguments returns `$location` object itself.\n
Login.c(90): */\n
Login.c(90): search: function(search, paramValue) {\n
Login.c(90): switch (arguments.length) {\n
Login.c(90): case 0:\n
Login.c(90): return this.$$search;\n
Login.c(90): case 1:\n
Login.c(90): if (isString(search) || isNumber(search)) {\n
Login.c(90): search = search.toString();\n
Login.c(90): this.$$search = parseKeyValue(search);\n
Login.c(90): } else if (isObject(search)) {\n
Login.c(90): // remove object undefined or null properties\n
Login.c(90): forEach(search, function(value, key) {\n
Login.c(90): if (value == null) delete search[key];\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): this.$$search = search;\n
Login.c(90): } else {\n
Login.c(90): throw $locationMinErr('isrcharg',\n
Login.c(90): 'The first argument of the `$location#search()` call
must be a string or an
Login.c(90): object.');\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): default:\n
Login.c(90): if (isUndefined(paramValue) || paramValue === null) {\n
Login.c(90): delete this.$$search[search];\n
Login.c(90): } else {\n
Login.c(90): this.$$search[search] = paramValue;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$compose();\n
Login.c(90): return this;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#hash\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This method is getter / setter.\n
Login.c(90): *\n
Login.c(90): * Return hash fragment when called without any parameter.\n
Login.c(90): *\n
Login.c(90): * Change hash fragment when called with parameter and return
`$location`.\n
Login.c(90): *\n
Login.c(90): * @param {(string|number)=} hash New hash fragment\n
Login.c(90): * @return {string} hash\n
Login.c(90): */\n
Login.c(90): hash: locationGetterSetter('$$hash', function(hash) {\n
Login.c(90): return hash ? hash.toString() : '';\n
Login.c(90): }),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $location#replace\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * If called, all changes to $location during current `$digest`
will be replacing curren
Login.c(90): t history\n
Login.c(90): * record, instead of adding new one.\n
Login.c(90): */\n
Login.c(90): replace: function() {\n
Login.c(90): this.$$replace = true;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function locationGetter(property) {\n
Login.c(90): return function() {\n
Login.c(90): return this[property];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function locationGetterSetter(property, preprocess) {\n
Login.c(90): return function(value) {\n
Login.c(90): if (isUndefined(value))\n
Login.c(90): return this[property];\n
Login.c(90): \n
Login.c(90): this[property] = preprocess(value);\n
Login.c(90): this.$$compose();\n
Login.c(90): \n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $location\n
Login.c(90): *\n
Login.c(90): * @requires $rootElement\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The $location service parses the URL in the browser address bar
(based on the\n
Login.c(90): * [window.location]
(https://developer.mozilla.org/en/window.location)) and makes the URL\n
Login.c(90): * available to your application. Changes to the URL in the
address bar are reflected into
Login.c(90): \n
Login.c(90): * $location service and changes to $location are reflected into
the browser address bar.\n
Login.c(90): *\n
Login.c(90): * **The $location service:**\n
Login.c(90): *\n
Login.c(90): * - Exposes the current URL in the browser address bar, so you
can\n
Login.c(90): * - Watch and observe the URL.\n
Login.c(90): * - Change the URL.\n
Login.c(90): * - Synchronizes the URL with the browser when the user\n
Login.c(90): * - Changes the address bar.\n
Login.c(90): * - Clicks the back or forward button (or clicks a History
link).\n
Login.c(90): * - Clicks on a link.\n
Login.c(90): * - Represents the URL object as a set of methods (protocol,
host, port, path, search, ha
Login.c(90): sh).\n
Login.c(90): *\n
Login.c(90): * For more information see {@link guide/$location Developer
Guide: Using $location}\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $locationProvider\n
Login.c(90): * @description\n
Login.c(90): * Use the `$locationProvider` to configure how the application
deep linking paths are sto
Login.c(90): red.\n
Login.c(90): */\n
Login.c(90): function $LocationProvider(){\n
Login.c(90): var hashPrefix = '',\n
Login.c(90): html5Mode = false;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $locationProvider#hashPrefix\n
Login.c(90): * @description\n
Login.c(90): * @param {string=} prefix Prefix for hash part (containing path
and search)\n
Login.c(90): * @returns {*} current value if used as getter or itself
(chaining) if used as setter\n
Login.c(90): */\n
Login.c(90): this.hashPrefix = function(prefix) {\n
Login.c(90): if (isDefined(prefix)) {\n
Login.c(90): hashPrefix = prefix;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return hashPrefix;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $locationProvider#html5Mode\n
Login.c(90): * @description\n
Login.c(90): * @param {boolean=} mode Use HTML5 strategy if available.\n
Login.c(90): * @returns {*} current value if used as getter or itself
(chaining) if used as setter\n
Login.c(90): */\n
Login.c(90): this.html5Mode = function(mode) {\n
Login.c(90): if (isDefined(mode)) {\n
Login.c(90): html5Mode = mode;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return html5Mode;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name $location#$locationChangeStart\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Broadcasted before a URL will change. This change can be
prevented by calling\n
Login.c(90): * `preventDefault` method of the event. See {@link ng.
$rootScope.Scope#$on} for more\n
Login.c(90): * details about event object. Upon successful change\n
Login.c(90): * {@link ng.$location#events_$locationChangeSuccess
$locationChangeSuccess} is fired.\n
Login.c(90): *\n
Login.c(90): * @param {Object} angularEvent Synthetic event object.\n
Login.c(90): * @param {string} newUrl New URL\n
Login.c(90): * @param {string=} oldUrl URL that was before it was changed.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name $location#$locationChangeSuccess\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Broadcasted after a URL was changed.\n
Login.c(90): *\n
Login.c(90): * @param {Object} angularEvent Synthetic event object.\n
Login.c(90): * @param {string} newUrl New URL\n
Login.c(90): * @param {string=} oldUrl URL that was before it was changed.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): this.$get = ['$rootScope', '$browser', '$sniffer',
'$rootElement',\n
Login.c(90): function( $rootScope, $browser, $sniffer,
$rootElement) {\n
Login.c(90): var $location,\n
Login.c(90): LocationMode,\n
Login.c(90): baseHref = $browser.baseHref(), // if base[href] is
undefined, it defaults to ''\n
Login.c(90): initialUrl = $browser.url(),\n
Login.c(90): appBase;\n
Login.c(90): \n
Login.c(90): if (html5Mode) {\n
Login.c(90): appBase = serverBase(initialUrl) + (baseHref || '/');\n
Login.c(90): LocationMode = $sniffer.history ? LocationHtml5Url :
LocationHashbangInHtml5Url;\n
Login.c(90): } else {\n
Login.c(90): appBase = stripHash(initialUrl);\n
Login.c(90): LocationMode = LocationHashbangUrl;\n
Login.c(90): }\n
Login.c(90): $location = new LocationMode(appBase, '#' + hashPrefix);\n
Login.c(90): $location.$$parse($location.$$rewrite(initialUrl));\n
Login.c(90): \n
Login.c(90): var IGNORE_URI_REGEXP = /^\\s*(javascript|mailto):/i;\n
Login.c(90): \n
Login.c(90): $rootElement.on('click', function(event) {\n
Login.c(90): // TODO(vojta): rewrite link when opening in new tab/window
(in legacy browser)\n
Login.c(90): // currently we open nice url link and redirect then\n
Login.c(90): \n
Login.c(90): if (event.ctrlKey || event.metaKey || event.which == 2)
return;\n
Login.c(90): \n
Login.c(90): var elm = jqLite(event.target);\n
Login.c(90): \n
Login.c(90): // traverse the DOM up to find first A tag\n
Login.c(90): while (lowercase(elm[0].nodeName) !== 'a') {\n
Login.c(90): // ignore rewriting if no A tag (reached root element, or
no parent - removed from
Login.c(90): document)\n
Login.c(90): if (elm[0] === $rootElement[0] || !(elm = elm.parent())
[0]) return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var absHref = elm.prop('href');\n
Login.c(90): \n
Login.c(90): if (isObject(absHref) && absHref.toString() === '[object
SVGAnimate
Login.c(90): t=2840ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): dString]') {\n
Login.c(90): // SVGAnimatedString.animVal should be identical to
SVGAnimatedString.baseVal, unl
Login.c(90): ess during\n
Login.c(90): // an animation.\n
Login.c(90): absHref = urlResolve(absHref.animVal).href;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Ignore when url is started with javascript: or mailto:\n
Login.c(90): if (IGNORE_URI_REGEXP.test(absHref)) return;\n
Login.c(90): \n
Login.c(90): // Make relative links work in HTML5 mode for legacy
browsers (or at least IE8 & 9)\n
Login.c(90): // The href should be a regular url e.g. /link/somewhere or
link/somewhere or ../som
Login.c(90): ewhere or\n
Login.c(90): // somewhere#anchor or http://example.com/somewhere\n
Login.c(90): if (LocationMode === LocationHashbangInHtml5Url) {\n
Login.c(90): // get the actual href attribute - see\n
Login.c(90): // http://msdn.microsoft.com/en-
us/library/ie/dd347148(v=vs.85).aspx\n
Login.c(90): var href = elm.attr('href') || elm.attr('xlink:href');\n
Login.c(90): \n
Login.c(90): if (href && href.indexOf('://') < 0) { // Ignore
absolute URLs\n
Login.c(90): var prefix = '#' + hashPrefix;\n
Login.c(90): if (href[0] == '/') {\n
Login.c(90): // absolute path - replace old path\n
Login.c(90): absHref = appBase + prefix + href;\n
Login.c(90): } else if (href[0] == '#') {\n
Login.c(90): // local anchor\n
Login.c(90): absHref = appBase + prefix + ($location.path() || '/')
+ href;\n
Login.c(90): } else {\n
Login.c(90): // relative path - join with current path\n
Login.c(90): var stack = $location.path().split("/"),\n
Login.c(90): parts = href.split("/");\n
Login.c(90): if (stack.length === 2 && !stack[1]) stack.length =
1;\n
Login.c(90): for (var i=0; i<parts.length; i++) {\n
Login.c(90): if (parts[i] == ".")\n
Login.c(90): continue;\n
Login.c(90): else if (parts[i] == "..")\n
Login.c(90): stack.pop();\n
Login.c(90): else if (parts[i].length)\n
Login.c(90): stack.push(parts[i]);\n
Login.c(90): }\n
Login.c(90): absHref = appBase + prefix + stack.join('/');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var rewrittenUrl = $location.$$rewrite(absHref);\n
Login.c(90): \n
Login.c(90): if (absHref && !elm.attr('target') && rewrittenUrl && !
event.isDefaultPrevented()) {
Login.c(90): \n
Login.c(90): event.preventDefault();\n
Login.c(90): if (rewrittenUrl != $browser.url()) {\n
Login.c(90): // update location manually\n
Login.c(90): $location.$$parse(rewrittenUrl);\n
Login.c(90): $rootScope.$apply();\n
Login.c(90): // hack to work around FF6 bug 684208 when scenario
runner clicks on links\n
Login.c(90): window.angular['ff-684208-preventDefault'] = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // rewrite hashbang url <> html5 url\n
Login.c(90): if ($location.absUrl() != initialUrl) {\n
Login.c(90): $browser.url($location.absUrl(), true);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // update $location when $browser url changes\n
Login.c(90): $browser.onUrlChange(function(newUrl) {\n
Login.c(90): if ($location.absUrl() != newUrl) {\n
Login.c(90): $rootScope.$evalAsync(function() {\n
Login.c(90): var oldUrl = $location.absUrl();\n
Login.c(90): \n
Login.c(90): $location.$$parse(newUrl);\n
Login.c(90): if ($rootScope.$broadcast('$locationChangeStart',
newUrl,\n
Login.c(90): oldUrl).defaultPrevented) {\n
Login.c(90): $location.$$parse(oldUrl);\n
Login.c(90): $browser.url(oldUrl);\n
Login.c(90): } else {\n
Login.c(90): afterLocationChange(oldUrl);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (!$rootScope.$$phase) $rootScope.$digest();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // update browser\n
Login.c(90): var changeCounter = 0;\n
Login.c(90): $rootScope.$watch(function $locationWatch() {\n
Login.c(90): var oldUrl = $browser.url();\n
Login.c(90): var currentReplace = $location.$$replace;\n
Login.c(90): \n
Login.c(90): if (!changeCounter || oldUrl != $location.absUrl()) {\n
Login.c(90): changeCounter++;\n
Login.c(90): $rootScope.$evalAsync(function() {\n
Login.c(90): if ($rootScope.$broadcast('$locationChangeStart',
$location.absUrl(), oldUrl).\n
Login.c(90): defaultPrevented) {\n
Login.c(90): $location.$$parse(oldUrl);\n
Login.c(90): } else {\n
Login.c(90): $browser.url($location.absUrl(), currentReplace);\n
Login.c(90): afterLocationChange(oldUrl);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): $location.$$replace = false;\n
Login.c(90): \n
Login.c(90): return changeCounter;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return $location;\n
Login.c(90): \n
Login.c(90): function afterLocationChange(oldUrl) {\n
Login.c(90): $rootScope.$broadcast('$locationChangeSuccess',
$location.absUrl(), oldUrl);\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $log\n
Login.c(90): * @requires $window\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Simple service for logging. Default implementation safely
writes the message\n
Login.c(90): * into the browser's console (if present).\n
Login.c(90): *\n
Login.c(90): * The main purpose of this service is to simplify debugging and
troubleshooting.\n
Login.c(90): *\n
Login.c(90): * The default is to log `debug` messages. You can use\n
Login.c(90): * {@link ng.$logProvider ng.$logProvider#debugEnabled} to change
this.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="logExample">\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('logExample', [])\n
Login.c(90): .controller('LogController', ['$scope', '$log',
function($scope, $log) {\n
Login.c(90): $scope.$log = $log;\n
Login.c(90): $scope.message = 'Hello World!';\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="LogController">\n
Login.c(90): <p>Reload this page with open console, enter text and hit
the log button...</p>\n
Login.c(90): Message:\n
Login.c(90): <input type="text" ng-model="message"/>\n
Login.c(90): <button ng-click="$log.log(message)">log</button>\n
Login.c(90): <button ng-click="$log.warn(message)">warn</button>\n
Login.c(90): <button ng-click="$log.info(message)">info</button>\n
Login.c(90): <button ng-click="$log.error(message)">error</button>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $logProvider\n
Login.c(90): * @description\n
Login.c(90): * Use the `$logProvider` to configure how the application logs
messages\n
Login.c(90): */\n
Login.c(90): function $LogProvider(){\n
Login.c(90): var debug = true,\n
Login.c(90): self = this;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $logProvider#debugEnabled\n
Login.c(90): * @description\n
Login.c(90): * @param {boolean=} flag enable or disable debug level
messages\n
Login.c(90): * @returns {*} current value if used as getter or itself
(chaining) if used as setter\n
Login.c(90): */\n
Login.c(90): this.debugEnabled = function(flag) {\n
Login.c(90): if (isDefined(flag)) {\n
Login.c(90): debug = flag;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return debug;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$window', function($window){\n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $log#log\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Write a log message\n
Login.c(90): */\n
Login.c(90): log: consoleLog('log'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $log#info\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Write an information message\n
Login.c(90): */\n
Login.c(90): info: consoleLog('info'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $log#warn\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Write a warning message\n
Login.c(90): */\n
Login.c(90): warn: consoleLog('warn'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $log#error\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Write an error message\n
Login.c(90): */\n
Login.c(90): error: consoleLog('error'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $log#debug\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Write a debug message\n
Login.c(90): */\n
Login.c(90): debug: (function () {\n
Login.c(90): var fn = consoleLog('debug');\n
Login.c(90): \n
Login.c(90): return function() {\n
Login.c(90): if (debug) {\n
Login.c(90): fn.apply(self, arguments);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }())\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function formatError(arg) {\n
Login.c(90): if (arg instanceof Error) {\n
Login.c(90): if (arg.stack) {\n
Login.c(90): arg = (arg.message && arg.stack.indexOf(arg.message) ===
-1)\n
Login.c(90): ? 'Error: ' + arg.message + '\\n' + arg.stack\n
Login.c(90): : arg.stack;\n
Login.c(90): } else if (arg.sourceURL) {\n
Login.c(90): arg = arg.message + '\\n' + arg.sourceURL + ':' +
arg.line;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function consoleLog(type) {\n
Login.c(90): var console = $window.console || {},\n
Login.c(90): logFn = console[type] || console.log || noop,\n
Login.c(90): hasApply = false;\n
Login.c(90): \n
Login.c(90): // Note: reading logFn.apply throws an error in IE11 in IE8
document mode.\n
Login.c(90): // The reason behind this is that console.log has type
"object" in IE8...\n
Login.c(90): try {\n
Login.c(90): hasApply = !!logFn.apply;\n
Login.c(90): } catch (e) {}\n
Login.c(90): \n
Login.c(90): if (hasApply) {\n
Login.c(90): return function() {\n
Login.c(90): var args = [];\n
Login.c(90): forEach(arguments, function(arg) {\n
Login.c(90): args.push(formatError(arg));\n
Login.c(90): });\n
Login.c(90): return logFn.apply(console, args);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we are IE which either doesn't have window.console =>
this is noop and we do noth
Login.c(90): ing,\n
Login.c(90): // or we are IE where console.log doesn't have apply so we
log at least first 2 args
Login.c(90): \n
Login.c(90): return function(arg1, arg2) {\n
Login.c(90): logFn(arg1, arg2 == null ? '' : arg2);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var $parseMinErr = minErr('$parse');\n
Login.c(90): var promiseWarningCache = {};\n
Login.c(90): var promiseWarning;\n
Login.c(90): \n
Login.c(90): // Sandboxing Angular Expressions\n
Login.c(90): // ------------------------------\n
Login.c(90): // Angular expressions are generally considered safe because these
expressions only have d
Login.c(90): irect\n
Login.c(90): // access to $scope and locals. However, one can obtain the
ability to execute arbitrary J
Login.c(90): S code by\n
Login.c(90): // obtaining a reference to native JS functions such as the
Function constructor.\n
Login.c(90): //\n
Login.c(90): // As an example, consider the following Angular expression:\n
Login.c(90): //\n
Login.c(90): // {}.toString.constructor('alert("evil JS code")')\n
Login.c(90): //\n
Login.c(90): // This sandboxing technique is not perfect and doesn't aim to be.
The goal is to prevent
Login.c(90): exploits\n
Login.c(90): // against the expression language, but not to prevent exploits
that were enabled by expos
Login.c(90): ing\n
Login.c(90): // sensitive JavaScript or browser apis on Scope. Exposing such
objects on a Scope is neve
Login.c(90): r a good\n
Login.c(90): // practice and therefore we are not even trying to protect
against interaction with an ob
Login.c(90): ject\n
Login.c(90): // explicitly exposed in this way.\n
Login.c(90): //\n
Login.c(90): // In general, it is not possible to access a Window object from
an angular expression unl
Login.c(90): ess a\n
Login.c(90): // window or some DOM object that has a reference to window is
published onto a Scope.\n
Login.c(90): // Similarly we prevent invocations of function known to be
dangerous, as well as assignme
Login.c(90): nts to\n
Login.c(90): // native objects.\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function ensureSafeMemberName(name, fullExpression) {\n
Login.c(90): if (name === "__defineGetter__" || name === "__defineSetter__"\n
Login.c(90): || name === "__lookupGetter__" || name ===
"__lookupSetter__"\n
Login.c(90): || name === "__proto__") {\n
Login.c(90): throw $parseMinErr('isecfld',\n
Login.c(90): 'Attempting to access a disallowed field in Angular
expressions! '\n
Login.c(90): +'Expression: {0}', fullExpression);\n
Login.c(90): }\n
Login.c(90): return name;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ensureSafeObject(obj, fullExpression) {\n
Login.c(90): // nifty check if obj is Function that is fast and works across
iframes and other contex
Login.c(90): ts\n
Login.c(90): if (obj) {\n
Login.c(90): if (obj.constructor === obj) {\n
Login.c(90): throw $parseMinErr('isecfn',\n
Login.c(90): 'Referencing Function in Angular expressions is
disallowed! Expression: {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): } else if (// isWindow(obj)\n
Login.c(90): obj.document && obj.location && obj.alert &&
obj.setInterval) {\n
Login.c(90): throw $parseMinErr('isecwindow',\n
Login.c(90): 'Referencing the Window in Angular expressions is
disallowed! Expression: {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): } else if (// isElement(obj)\n
Login.c(90): obj.children && (obj.nodeName || (obj.prop && obj.attr &&
obj.find))) {\n
Login.c(90): throw $parseMinErr('isecdom',\n
Login.c(90): 'Referencing DOM nodes in Angular expressions is
disallowed! Expression: {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): } else if (// block Object so that we can't get hold of
dangerous Object.* methods\n
Login.c(90): obj === Object) {\n
Login.c(90): throw $parseMinErr('isecobj',\n
Login.c(90): 'Referencing Object in Angular expressions is
disallowed! Expression: {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var CALL = Function.prototype.call;\n
Login.c(90): var APPLY = Function.prototype.apply;\n
Login.c(90): var BIND = Function.prototype.bind;\n
Login.c(90): \n
Login.c(90): function ensureSafeFunction(obj, fullExpression) {\n
Login.c(90): if (obj) {\n
Login.c(90): if (obj.constructor === obj) {\n
Login.c(90): throw $parseMinErr('isecfn',\n
Login.c(90): 'Referencing Function in Angular expressions is
disallowed! Expression: {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): } else if (obj === CALL || obj === APPLY || (BIND && obj ===
BIND)) {\n
Login.c(90): throw $parseMinErr('isecff',\n
Login.c(90): 'Referencing call, apply or bind in Angular expressions is
disallowed! Expression:
Login.c(90): {0}',\n
Login.c(90): fullExpression);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var OPERATORS = {\n
Login.c(90): /* jshint bitwise : false */\n
Login.c(90): 'null':function(){return null;},\n
Login.c(90): 'true':function(){return true;},\n
Login.c(90): 'false':function(){return false;},\n
Login.c(90): undefined:noop,\n
Login.c(90): '+':function(self, locals, a,b){\n
Login.c(90): a=a(self, locals); b=b(self, locals);\n
Login.c(90): if (isDefined(a)) {\n
Login.c(90): if (isDefined(b)) {\n
Login.c(90): return a + b;\n
Login.c(90): }\n
Login.c(90): return a;\n
Login.c(90): }\n
Login.c(90): return isDefined(b)?b:undefined;},\n
Login.c(90): '-':function(self, locals, a,b){\n
Login.c(90): a=a(self, locals); b=b(self, locals);\n
Login.c(90): return (isDefined(a)?a:0)-(isDefined(b)?b:0);\n
Login.c(90): },\n
Login.c(90): '*':function(self, locals, a,b){return a(self, locals)*b(self,
locals);},\n
Login.c(90): '/':function(self, locals, a,b){return a(self, locals)/b(self,
locals);},\n
Login.c(90): '%':
Login.c(90): t=2857ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): function(self, locals, a,b){return a(self, locals)%b(self,
locals);},\n
Login.c(90): '^':function(self, locals, a,b){return a(self, locals)^b(self,
locals);},\n
Login.c(90): '=':noop,\n
Login.c(90): '===':function(self, locals, a, b){return a(self,
locals)===b(self, locals);},\n
Login.c(90): '!==':function(self, locals, a, b){return a(self, locals)!
==b(self, locals);},\n
Login.c(90): '==':function(self, locals, a,b){return a(self,
locals)==b(self, locals);},\n
Login.c(90): '!=':function(self, locals, a,b){return a(self, locals)!
=b(self, locals);},\n
Login.c(90): '<':function(self, locals, a,b){return a(self, locals)<b(self,
locals);},\n
Login.c(90): '>':function(self, locals, a,b){return a(self, locals)>b(self,
locals);},\n
Login.c(90): '<=':function(self, locals, a,b){return a(self,
locals)<=b(self, locals);},\n
Login.c(90): '>=':function(self, locals, a,b){return a(self,
locals)>=b(self, locals);},\n
Login.c(90): '&&':function(self, locals, a,b){return a(self,
locals)&&b(self, locals);},\n
Login.c(90): '||':function(self, locals, a,b){return a(self, locals)||
b(self, locals);},\n
Login.c(90): '&':function(self, locals, a,b){return a(self, locals)&b(self,
locals);},\n
Login.c(90): // '|':function(self, locals, a,b){return a|b;},\n
Login.c(90): '|':function(self, locals, a,b){return b(self, locals)(self,
locals, a(self, locals));
Login.c(90): },\n
Login.c(90): '!':function(self, locals, a){return !a(self, locals);}\n
Login.c(90): };\n
Login.c(90): /* jshint bitwise: true */\n
Login.c(90): var ESCAPE = {"n":"\\n", "f":"\\f", "r":"\\r", "t":"\\t",
"v":"\\v", "'":"'", '"':'"'};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @constructor\n
Login.c(90): */\n
Login.c(90): var Lexer = function (options) {\n
Login.c(90): this.options = options;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Lexer.prototype = {\n
Login.c(90): constructor: Lexer,\n
Login.c(90): \n
Login.c(90): lex: function (text) {\n
Login.c(90): this.text = text;\n
Login.c(90): \n
Login.c(90): this.index = 0;\n
Login.c(90): this.ch = undefined;\n
Login.c(90): this.lastCh = ':'; // can start regexp\n
Login.c(90): \n
Login.c(90): this.tokens = [];\n
Login.c(90): \n
Login.c(90): while (this.index < this.text.length) {\n
Login.c(90): this.ch = this.text.charAt(this.index);\n
Login.c(90): if (this.is('"\\'')) {\n
Login.c(90): this.readString(this.ch);\n
Login.c(90): } else if (this.isNumber(this.ch) || this.is('.') &&
this.isNumber(this.peek())) {\n
Login.c(90): this.readNumber();\n
Login.c(90): } else if (this.isIdent(this.ch)) {\n
Login.c(90): this.readIdent();\n
Login.c(90): } else if (this.is('(){}[].,;:?')) {\n
Login.c(90): this.tokens.push({\n
Login.c(90): index: this.index,\n
Login.c(90): text: this.ch\n
Login.c(90): });\n
Login.c(90): this.index++;\n
Login.c(90): } else if (this.isWhitespace(this.ch)) {\n
Login.c(90): this.index++;\n
Login.c(90): continue;\n
Login.c(90): } else {\n
Login.c(90): var ch2 = this.ch + this.peek();\n
Login.c(90): var ch3 = ch2 + this.peek(2);\n
Login.c(90): var fn = OPERATORS[this.ch];\n
Login.c(90): var fn2 = OPERATORS[ch2];\n
Login.c(90): var fn3 = OPERATORS[ch3];\n
Login.c(90): if (fn3) {\n
Login.c(90): this.tokens.push({index: this.index, text: ch3, fn:
fn3});\n
Login.c(90): this.index += 3;\n
Login.c(90): } else if (fn2) {\n
Login.c(90): this.tokens.push({index: this.index, text: ch2, fn:
fn2});\n
Login.c(90): this.index += 2;\n
Login.c(90): } else if (fn) {\n
Login.c(90): this.tokens.push({\n
Login.c(90): index: this.index,\n
Login.c(90): text: this.ch,\n
Login.c(90): fn: fn\n
Login.c(90): });\n
Login.c(90): this.index += 1;\n
Login.c(90): } else {\n
Login.c(90): this.throwError('Unexpected next character ',
this.index, this.index + 1);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.lastCh = this.ch;\n
Login.c(90): }\n
Login.c(90): return this.tokens;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): is: function(chars) {\n
Login.c(90): return chars.indexOf(this.ch) !== -1;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): was: function(chars) {\n
Login.c(90): return chars.indexOf(this.lastCh) !== -1;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): peek: function(i) {\n
Login.c(90): var num = i || 1;\n
Login.c(90): return (this.index + num < this.text.length) ?
this.text.charAt(this.index + num) : fa
Login.c(90): lse;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): isNumber: function(ch) {\n
Login.c(90): return ('0' <= ch && ch <= '9');\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): isWhitespace: function(ch) {\n
Login.c(90): // IE treats non-breaking space as \\u00A0\n
Login.c(90): return (ch === ' ' || ch === '\\r' || ch === '\\t' ||\n
Login.c(90): ch === '\\n' || ch === '\\v' || ch === '\\u00A0');\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): isIdent: function(ch) {\n
Login.c(90): return ('a' <= ch && ch <= 'z' ||\n
Login.c(90): 'A' <= ch && ch <= 'Z' ||\n
Login.c(90): '_' === ch || ch === '$');\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): isExpOperator: function(ch) {\n
Login.c(90): return (ch === '-' || ch === '+' || this.isNumber(ch));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): throwError: function(error, start, end) {\n
Login.c(90): end = end || this.index;\n
Login.c(90): var colStr = (isDefined(start)\n
Login.c(90): ? 's ' + start + '-' + this.index + ' [' +
this.text.substring(start, end) +
Login.c(90): ']'\n
Login.c(90): : ' ' + end);\n
Login.c(90): throw $parseMinErr('lexerr', 'Lexer Error: {0} at column{1} in
expression [{2}].',\n
Login.c(90): error, colStr, this.text);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): readNumber: function() {\n
Login.c(90): var number = '';\n
Login.c(90): var start = this.index;\n
Login.c(90): while (this.index < this.text.length) {\n
Login.c(90): var ch = lowercase(this.text.charAt(this.index));\n
Login.c(90): if (ch == '.' || this.isNumber(ch)) {\n
Login.c(90): number += ch;\n
Login.c(90): } else {\n
Login.c(90): var peekCh = this.peek();\n
Login.c(90): if (ch == 'e' && this.isExpOperator(peekCh)) {\n
Login.c(90): number += ch;\n
Login.c(90): } else if (this.isExpOperator(ch) &&\n
Login.c(90): peekCh && this.isNumber(peekCh) &&\n
Login.c(90): number.charAt(number.length - 1) == 'e') {\n
Login.c(90): number += ch;\n
Login.c(90): } else if (this.isExpOperator(ch) &&\n
Login.c(90): (!peekCh || !this.isNumber(peekCh)) &&\n
Login.c(90): number.charAt(number.length - 1) == 'e') {\n
Login.c(90): this.throwError('Invalid exponent');\n
Login.c(90): } else {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.index++;\n
Login.c(90): }\n
Login.c(90): number = 1 * number;\n
Login.c(90): this.tokens.push({\n
Login.c(90): index: start,\n
Login.c(90): text: number,\n
Login.c(90): literal: true,\n
Login.c(90): constant: true,\n
Login.c(90): fn: function() { return number; }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): readIdent: function() {\n
Login.c(90): var parser = this;\n
Login.c(90): \n
Login.c(90): var ident = '';\n
Login.c(90): var start = this.index;\n
Login.c(90): \n
Login.c(90): var lastDot, peekIndex, methodName, ch;\n
Login.c(90): \n
Login.c(90): while (this.index < this.text.length) {\n
Login.c(90): ch = this.text.charAt(this.index);\n
Login.c(90): if (ch === '.' || this.isIdent(ch) || this.isNumber(ch)) {\n
Login.c(90): if (ch === '.') lastDot = this.index;\n
Login.c(90): ident += ch;\n
Login.c(90): } else {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): this.index++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //check if this is not a method invocation and if it is back
out to last dot\n
Login.c(90): if (lastDot) {\n
Login.c(90): peekIndex = this.index;\n
Login.c(90): while (peekIndex < this.text.length) {\n
Login.c(90): ch = this.text.charAt(peekIndex);\n
Login.c(90): if (ch === '(') {\n
Login.c(90): methodName = ident.substr(lastDot - start + 1);\n
Login.c(90): ident = ident.substr(0, lastDot - start);\n
Login.c(90): this.index = peekIndex;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): if (this.isWhitespace(ch)) {\n
Login.c(90): peekIndex++;\n
Login.c(90): } else {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var token = {\n
Login.c(90): index: start,\n
Login.c(90): text: ident\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // OPERATORS is our own object so we don't need to use special
hasOwnPropertyFn\n
Login.c(90): if (OPERATORS.hasOwnProperty(ident)) {\n
Login.c(90): token.fn = OPERATORS[ident];\n
Login.c(90): token.literal = true;\n
Login.c(90): token.constant = true;\n
Login.c(90): } else {\n
Login.c(90): var getter = getterFn(ident, this.options, this.text);\n
Login.c(90): token.fn = extend(function(self, locals) {\n
Login.c(90): return (getter(self, locals));\n
Login.c(90): }, {\n
Login.c(90): assign: function(self, value) {\n
Login.c(90): return setter(self, ident, value, parser.text,
parser.options);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.tokens.push(token);\n
Login.c(90): \n
Login.c(90): if (methodName) {\n
Login.c(90): this.tokens.push({\n
Login.c(90): index:lastDot,\n
Login.c(90): text: '.'\n
Login.c(90): });\n
Login.c(90): this.tokens.push({\n
Login.c(90): index: lastDot + 1,\n
Login.c(90): text: methodName\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): readString: function(quote) {\n
Login.c(90): var start = this.index;\n
Login.c(90): this.index++;\n
Login.c(90): var string = '';\n
Login.c(90): var rawString = quote;\n
Login.c(90): var escape = false;\n
Login.c(90): while (this.index < this.text.length) {\n
Login.c(90): var ch = this.text.charAt(this.index);\n
Login.c(90): rawString += ch;\n
Login.c(90): if (escape) {\n
Login.c(90): if (ch === 'u') {\n
Login.c(90): var hex = this.text.substring(this.index + 1, this.index
+ 5);\n
Login.c(90): if (!hex.match(/[\\da-f]{4}/i))\n
Login.c(90): this.throwError('Invalid unicode escape [\\\\u' + hex
+ ']');\n
Login.c(90): this.index += 4;\n
Login.c(90): string += String.fromCharCode(parseInt(hex, 16));\n
Login.c(90): } else {\n
Login.c(90): var rep = ESCAPE[ch];\n
Login.c(90): string = string + (rep || ch);\n
Login.c(90): }\n
Login.c(90): escape = false;\n
Login.c(90): } else if (ch === '\\\\') {\n
Login.c(90): escape = true;\n
Login.c(90): } else if (ch === quote) {\n
Login.c(90): this.index++;\n
Login.c(90): this.tokens.push({\n
Login.c(90): index: start,\n
Login.c(90): text: rawString,\n
Login.c(90): string: string,\n
Login.c(90): literal: true,\n
Login.c(90): constant: true,\n
Login.c(90): fn: function() { return string; }\n
Login.c(90): });\n
Login.c(90): return;\n
Login.c(90): } else {\n
Login.c(90): string += ch;\n
Login.c(90): }\n
Login.c(90): this.index++;\n
Login.c(90): }\n
Login.c(90): this.throwError('Unterminated quote', start);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @constructor\n
Login.c(90): */\n
Login.c(90): var Parser = function (lexer, $filter, options) {\n
Login.c(90): this.lexer = lexer;\n
Login.c(90): this.$filter = $filter;\n
Login.c(90): this.options = options;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Parser.ZERO = extend(function () {\n
Login.c(90): return 0;\n
Login.c(90): }, {\n
Login.c(90): constant: true\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): Parser.prototype = {\n
Login.c(90): constructor: Parser,\n
Login.c(90): \n
Login.c(90): parse: function (text) {\n
Login.c(90): this.text = text;\n
Login.c(90): \n
Login.c(90): this.tokens = this.lexer.lex(text);\n
Login.c(90): \n
Login.c(90): var value = this.statements();\n
Login.c(90): \n
Login.c(90): if (this.tokens.length !== 0) {\n
Login.c(90): this.throwError('is an unexpected token', this.tokens[0]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): value.literal = !!value.literal;\n
Login.c(90): value.constant = !!value.constant;\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): primary: function () {\n
Login.c(90): var primary;\n
Login.c(90): if (this.expect('(')) {\n
Login.c(90): primary = this.filterChain();\n
Login.c(90): this.consume(')');\n
Login.c(90): } else if (this.expect('[')) {\n
Login.c(90): primary = this.arrayDeclaration();\n
Login.c(90): } else if (this.expect('{')) {\n
Login.c(90): primary = this.object();\n
Login.c(90): } else {\n
Login.c(90): var token = this.expect();\n
Login.c(90): primary = token.fn;\n
Login.c(90): if (!primary) {\n
Login.c(90): this.throwError('not a primary expression', token);\n
Login.c(90): }\n
Login.c(90): primary.literal = !!token.literal;\n
Login.c(90): primary.constant = !!token.constant;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var next, context;\n
Login.c(90): while ((next = this.expect('(', '[', '.'))) {\n
Login.c(90): if (next.text === '(') {\n
Login.c(90): primary = this.functionCall(primary, context);\n
Login.c(90): context = null;\n
Login.c(90): } else if (next.text === '[') {\n
Login.c(90): context = primary;\n
Login.c(90): primary = this.objectIndex(primary);\n
Login.c(90): } else if (next.text === '.') {\n
Login.c(90): context = primary;\n
Login.c(90): primary = this.fieldAccess(primary);\n
Login.c(90): } else {\n
Login.c(90): this.throwError('IMPOSSIBLE');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return primary;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): throwError: function(msg, token) {\n
Login.c(90): throw $parseMinErr('syntax',\n
Login.c(90): 'Syntax Error: Token \\'{0}\\' {1} at column {2} of the
expression [{3}] starting
Login.c(90): at [{4}].',\n
Login.c(90): token.text, msg, (token.index + 1), this.text,
this.text.substring(token.index))
Login.c(90): ;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): peekToken: function() {\n
Login.c(90): if (this.tokens.length === 0)\n
Login.c(90): throw $parseMinErr('ueoe', 'Unexpected end of expression:
{0}', this.text);\n
Login.c(90): return this.tokens[0];\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): peek: function(e1, e2, e3, e4) {\n
Login.c(90): if (this.tokens.length > 0) {\n
Login.c(90): var token = this.tokens[0];\n
Login.c(90): var t = token.text;\n
Login.c(90): if (t === e1 || t === e2 || t === e3 || t === e4 ||\n
Login.c(90): (!e1 && !e2 && !e3 && !e4)) {\n
Login.c(90): return token;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): expect: function(e1, e2, e3, e4){\n
Login.c(90): var token = this.peek(e1, e2, e3, e4);\n
Login.c(90): if (token) {\n
Login.c(90): this.tokens.shift();\n
Login.c(90): return token;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): consume: function(e1){\n
Login.c(90): if (!this.expect(e1)) {\n
Login.c(90): this.throwError('is unexpected, expecting [' + e1 + ']',
this.peek());\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): unaryFn: function(fn, right) {\n
Login.c(90): return extend(function(self, locals) {\n
Login.c(90): return fn(self, locals, right);\n
Login.c(90): }, {\n
Login.c(90): constant:right.constant\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ternaryFn: function(left, middle, right){\n
Login.c(90): return extend(function(self, locals){\n
Login.c(90): return left(self, locals) ? middle(self, locals) :
right(self, locals);\n
Login.c(90): }, {\n
Login.c(90): constant: left.constant && middle.constant &&
right.constant\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): binaryFn: function(left, fn, right) {\n
Login.c(90): return extend(function(self, locals) {\n
Login.c(90): return fn(self, locals, left, right);\n
Login.c(90): }, {\n
Login.c(90): constant:left.constant && right.constant\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): statements: function() {\n
Login.c(90): var statements = [];\n
Login.c(90): while (true) {\n
Login.c(90): if (this.tokens.length > 0 && !this.peek('}', ')', ';',
']'))\n
Login.c(90): statements.push(this.filterChain());\n
Login.c(90): if (!this.expect(';')) {\n
Login.c(90): // optimize for the common case where there is only one
statement.\n
Login.c(90): // TODO(size): maybe we should not support multiple
statements?\n
Login.c(90): return (statements.length === 1)\n
Login.c(90): ? statements[0]\n
Login.c(90): : function(self, locals) {\n
Login.c(90): var value;\n
Login.c(90): for (var i = 0; i < statements.length; i++) {\n
Login.c(90): var statement = statements[i];\n
Login.c(90): if (statement) {\n
Login.c(90): value = statement(self, locals);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90):
Login.c(90): t=2878ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): filterChain: function() {\n
Login.c(90): var left = this.expression();\n
Login.c(90): var token;\n
Login.c(90): while (true) {\n
Login.c(90): if ((token = this.expect('|'))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.filter());\n
Login.c(90): } else {\n
Login.c(90): return left;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): filter: function() {\n
Login.c(90): var token = this.expect();\n
Login.c(90): var fn = this.$filter(token.text);\n
Login.c(90): var argsFn = [];\n
Login.c(90): while (true) {\n
Login.c(90): if ((token = this.expect(':'))) {\n
Login.c(90): argsFn.push(this.expression());\n
Login.c(90): } else {\n
Login.c(90): var fnInvoke = function(self, locals, input) {\n
Login.c(90): var args = [input];\n
Login.c(90): for (var i = 0; i < argsFn.length; i++) {\n
Login.c(90): args.push(argsFn[i](self, locals));\n
Login.c(90): }\n
Login.c(90): return fn.apply(self, args);\n
Login.c(90): };\n
Login.c(90): return function() {\n
Login.c(90): return fnInvoke;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): expression: function() {\n
Login.c(90): return this.assignment();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): assignment: function() {\n
Login.c(90): var left = this.ternary();\n
Login.c(90): var right;\n
Login.c(90): var token;\n
Login.c(90): if ((token = this.expect('='))) {\n
Login.c(90): if (!left.assign) {\n
Login.c(90): this.throwError('implies assignment but [' +\n
Login.c(90): this.text.substring(0, token.index) + '] can not be
assigned to', token);\n
Login.c(90): }\n
Login.c(90): right = this.ternary();\n
Login.c(90): return function(scope, locals) {\n
Login.c(90): return left.assign(scope, right(scope, locals), locals);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ternary: function() {\n
Login.c(90): var left = this.logicalOR();\n
Login.c(90): var middle;\n
Login.c(90): var token;\n
Login.c(90): if ((token = this.expect('?'))) {\n
Login.c(90): middle = this.assignment();\n
Login.c(90): if ((token = this.expect(':'))) {\n
Login.c(90): return this.ternaryFn(left, middle, this.assignment());\n
Login.c(90): } else {\n
Login.c(90): this.throwError('expected :', token);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return left;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): logicalOR: function() {\n
Login.c(90): var left = this.logicalAND();\n
Login.c(90): var token;\n
Login.c(90): while (true) {\n
Login.c(90): if ((token = this.expect('||'))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.logicalAND());\n
Login.c(90): } else {\n
Login.c(90): return left;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): logicalAND: function() {\n
Login.c(90): var left = this.equality();\n
Login.c(90): var token;\n
Login.c(90): if ((token = this.expect('&&'))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.logicalAND());\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): equality: function() {\n
Login.c(90): var left = this.relational();\n
Login.c(90): var token;\n
Login.c(90): if ((token = this.expect('==','!=','===','!=='))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.equality());\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): relational: function() {\n
Login.c(90): var left = this.additive();\n
Login.c(90): var token;\n
Login.c(90): if ((token = this.expect('<', '>', '<=', '>='))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.relational());\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): additive: function() {\n
Login.c(90): var left = this.multiplicative();\n
Login.c(90): var token;\n
Login.c(90): while ((token = this.expect('+','-'))) {\n
Login.c(90): left = this.binaryFn(left, token.fn,
this.multiplicative());\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): multiplicative: function() {\n
Login.c(90): var left = this.unary();\n
Login.c(90): var token;\n
Login.c(90): while ((token = this.expect('*','/','%'))) {\n
Login.c(90): left = this.binaryFn(left, token.fn, this.unary());\n
Login.c(90): }\n
Login.c(90): return left;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): unary: function() {\n
Login.c(90): var token;\n
Login.c(90): if (this.expect('+')) {\n
Login.c(90): return this.primary();\n
Login.c(90): } else if ((token = this.expect('-'))) {\n
Login.c(90): return this.binaryFn(Parser.ZERO, token.fn, this.unary());\n
Login.c(90): } else if ((token = this.expect('!'))) {\n
Login.c(90): return this.unaryFn(token.fn, this.unary());\n
Login.c(90): } else {\n
Login.c(90): return this.primary();\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): fieldAccess: function(object) {\n
Login.c(90): var parser = this;\n
Login.c(90): var field = this.expect().text;\n
Login.c(90): var getter = getterFn(field, this.options, this.text);\n
Login.c(90): \n
Login.c(90): return extend(function(scope, locals, self) {\n
Login.c(90): return getter(self || object(scope, locals));\n
Login.c(90): }, {\n
Login.c(90): assign: function(scope, value, locals) {\n
Login.c(90): var o = object(scope, locals);\n
Login.c(90): if (!o) object.assign(scope, o = {});\n
Login.c(90): return setter(o, field, value, parser.text,
parser.options);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): objectIndex: function(obj) {\n
Login.c(90): var parser = this;\n
Login.c(90): \n
Login.c(90): var indexFn = this.expression();\n
Login.c(90): this.consume(']');\n
Login.c(90): \n
Login.c(90): return extend(function(self, locals) {\n
Login.c(90): var o = obj(self, locals),\n
Login.c(90): i = indexFn(self, locals),\n
Login.c(90): v, p;\n
Login.c(90): \n
Login.c(90): ensureSafeMemberName(i, parser.text);\n
Login.c(90): if (!o) return undefined;\n
Login.c(90): v = ensureSafeObject(o[i], parser.text);\n
Login.c(90): if (v && v.then && parser.options.unwrapPromises) {\n
Login.c(90): p = v;\n
Login.c(90): if (!('$$v' in v)) {\n
Login.c(90): p.$$v = undefined;\n
Login.c(90): p.then(function(val) { p.$$v = val; });\n
Login.c(90): }\n
Login.c(90): v = v.$$v;\n
Login.c(90): }\n
Login.c(90): return v;\n
Login.c(90): }, {\n
Login.c(90): assign: function(self, value, locals) {\n
Login.c(90): var key = ensureSafeMemberName(indexFn(self, locals),
parser.text);\n
Login.c(90): // prevent overwriting of Function.constructor which would
break ensureSafeObject
Login.c(90): check\n
Login.c(90): var o = ensureSafeObject(obj(self, locals),
parser.text);\n
Login.c(90): if (!o) obj.assign(self, o = {});\n
Login.c(90): return o[key] = value;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): functionCall: function(fn, contextGetter) {\n
Login.c(90): var argsFn = [];\n
Login.c(90): if (this.peekToken().text !== ')') {\n
Login.c(90): do {\n
Login.c(90): argsFn.push(this.expression());\n
Login.c(90): } while (this.expect(','));\n
Login.c(90): }\n
Login.c(90): this.consume(')');\n
Login.c(90): \n
Login.c(90): var parser = this;\n
Login.c(90): \n
Login.c(90): return function(scope, locals) {\n
Login.c(90): var args = [];\n
Login.c(90): var context = contextGetter ? contextGetter(scope, locals) :
scope;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < argsFn.length; i++) {\n
Login.c(90): args.push(ensureSafeObject(argsFn[i](scope, locals),
parser.text));\n
Login.c(90): }\n
Login.c(90): var fnPtr = fn(scope, locals, context) || noop;\n
Login.c(90): \n
Login.c(90): ensureSafeObject(context, parser.text);\n
Login.c(90): ensureSafeFunction(fnPtr, parser.text);\n
Login.c(90): \n
Login.c(90): // IE stupidity! (IE doesn't have apply for some native
functions)\n
Login.c(90): var v = fnPtr.apply\n
Login.c(90): ? fnPtr.apply(context, args)\n
Login.c(90): : fnPtr(args[0], args[1], args[2], args[3],
args[4]);\n
Login.c(90): \n
Login.c(90): return ensureSafeObject(v, parser.text);\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // This is used with json array declaration\n
Login.c(90): arrayDeclaration: function () {\n
Login.c(90): var elementFns = [];\n
Login.c(90): var allConstant = true;\n
Login.c(90): if (this.peekToken().text !== ']') {\n
Login.c(90): do {\n
Login.c(90): if (this.peek(']')) {\n
Login.c(90): // Support trailing commas per ES5.1.\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): var elementFn = this.expression();\n
Login.c(90): elementFns.push(elementFn);\n
Login.c(90): if (!elementFn.constant) {\n
Login.c(90): allConstant = false;\n
Login.c(90): }\n
Login.c(90): } while (this.expect(','));\n
Login.c(90): }\n
Login.c(90): this.consume(']');\n
Login.c(90): \n
Login.c(90): return extend(function(self, locals) {\n
Login.c(90): var array = [];\n
Login.c(90): for (var i = 0; i < elementFns.length; i++) {\n
Login.c(90): array.push(elementFns[i](self, locals));\n
Login.c(90): }\n
Login.c(90): return array;\n
Login.c(90): }, {\n
Login.c(90): literal: true,\n
Login.c(90): constant: allConstant\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): object: function () {\n
Login.c(90): var keyValues = [];\n
Login.c(90): var allConstant = true;\n
Login.c(90): if (this.peekToken().text !== '}') {\n
Login.c(90): do {\n
Login.c(90): if (this.peek('}')) {\n
Login.c(90): // Support trailing commas per ES5.1.\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): var token = this.expect(),\n
Login.c(90): key = token.string || token.text;\n
Login.c(90): this.consume(':');\n
Login.c(90): var value = this.expression();\n
Login.c(90): keyValues.push({key: key, value: value});\n
Login.c(90): if (!value.constant) {\n
Login.c(90): allConstant = false;\n
Login.c(90): }\n
Login.c(90): } while (this.expect(','));\n
Login.c(90): }\n
Login.c(90): this.consume('}');\n
Login.c(90): \n
Login.c(90): return extend(function(self, locals) {\n
Login.c(90): var object = {};\n
Login.c(90): for (var i = 0; i < keyValues.length; i++) {\n
Login.c(90): var keyValue = keyValues[i];\n
Login.c(90): object[keyValue.key] = keyValue.value(self, locals);\n
Login.c(90): }\n
Login.c(90): return object;\n
Login.c(90): }, {\n
Login.c(90): literal: true,\n
Login.c(90): constant: allConstant\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): //////////////////////////////////////////////////\n
Login.c(90): // Parser helper functions\n
Login.c(90): //////////////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): function setter(obj, path, setValue, fullExp, options) {\n
Login.c(90): ensureSafeObject(obj, fullExp);\n
Login.c(90): \n
Login.c(90): //needed?\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): var element = path.split('.'), key;\n
Login.c(90): for (var i = 0; element.length > 1; i++) {\n
Login.c(90): key = ensureSafeMemberName(element.shift(), fullExp);\n
Login.c(90): var propertyObj = ensureSafeObject(obj[key], fullExp);\n
Login.c(90): if (!propertyObj) {\n
Login.c(90): propertyObj = {};\n
Login.c(90): obj[key] = propertyObj;\n
Login.c(90): }\n
Login.c(90): obj = propertyObj;\n
Login.c(90): if (obj.then && options.unwrapPromises) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in obj)) {\n
Login.c(90): (function(promise) {\n
Login.c(90): promise.then(function(val) { promise.$$v = val; }); }\n
Login.c(90): )(obj);\n
Login.c(90): }\n
Login.c(90): if (obj.$$v === undefined) {\n
Login.c(90): obj.$$v = {};\n
Login.c(90): }\n
Login.c(90): obj = obj.$$v;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): key = ensureSafeMemberName(element.shift(), fullExp);\n
Login.c(90): ensureSafeObject(obj[key], fullExp);\n
Login.c(90): obj[key] = setValue;\n
Login.c(90): return setValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var getterFnCache = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Implementation of the "Black Hole" variant from:\n
Login.c(90): * - http://jsperf.com/angularjs-parse-getter/4\n
Login.c(90): * - http://jsperf.com/path-evaluation-simplified/7\n
Login.c(90): */\n
Login.c(90): function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp,
options) {\n
Login.c(90): ensureSafeMemberName(key0, fullExp);\n
Login.c(90): ensureSafeMemberName(key1, fullExp);\n
Login.c(90): ensureSafeMemberName(key2, fullExp);\n
Login.c(90): ensureSafeMemberName(key3, fullExp);\n
Login.c(90): ensureSafeMemberName(key4, fullExp);\n
Login.c(90): \n
Login.c(90): return !options.unwrapPromises\n
Login.c(90): ? function cspSafeGetter(scope, locals) {\n
Login.c(90): var pathVal = (locals && locals.hasOwnProperty(key0)) ?
locals : scope;\n
Login.c(90): \n
Login.c(90): if (pathVal == null) return pathVal;\n
Login.c(90): pathVal = pathVal[key0];\n
Login.c(90): \n
Login.c(90): if (!key1) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key1];\n
Login.c(90): \n
Login.c(90): if (!key2) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key2];\n
Login.c(90): \n
Login.c(90): if (!key3) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key3];\n
Login.c(90): \n
Login.c(90): if (!key4) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key4];\n
Login.c(90): \n
Login.c(90): return pathVal;\n
Login.c(90): }\n
Login.c(90): : function cspSafePromiseEnabledGetter(scope, locals) {\n
Login.c(90): var pathVal = (locals && locals.hasOwnProperty(key0)) ?
locals : scope,\n
Login.c(90): promise;\n
Login.c(90): \n
Login.c(90): if (pathVal == null) return pathVal;\n
Login.c(90): \n
Login.c(90): pathVal = pathVal[key0];\n
Login.c(90): if (pathVal && pathVal.then) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in pathVal)) {\n
Login.c(90): promise = pathVal;\n
Login.c(90): promise.$$v = undefined;\n
Login.c(90): promise.then(function(val) { promise.$$v =
val; });\n
Login.c(90): }\n
Login.c(90): pathVal = pathVal.$$v;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!key1) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key1];\n
Login.c(90): if (pathVal && pathVal.then) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in pathVal)) {\n
Login.c(90): promise = pathVal;\n
Login.c(90): promise.$$v = undefined;\n
Login.c(90): promise.then(function(val) { promise.$$v =
val; });\n
Login.c(90): }\n
Login.c(90): pathVal = pathVal.$$v;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!key2) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key2];\n
Login.c(90): if (pathVal && pathVal.then) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in pathVal)) {\n
Login.c(90): promise = pathVal;\n
Login.c(90): promise.$$v = undefined;\n
Login.c(90): promise.then(function(val) { promise.$$v =
val; });\n
Login.c(90): }\n
Login.c(90): pathVal = pathVal.$$v;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!key3) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key3];\n
Login.c(90): if (pathVal && pathVal.then) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in pathVal)) {\n
Login.c(90): promise = pathVal;\n
Login.c(90): promise.$$v = undefined;\n
Login.c(90): promise.then(function(val) { promise.$$v =
val; });\n
Login.c(90): }\n
Login.c(90): pathVal = pathVal.$$v;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!key4) return pathVal;\n
Login.c(90): if (pathVal == null) return undefined;\n
Login.c(90): pathVal = pathVal[key4];\n
Login.c(90): if (pathVal && pathVal.then) {\n
Login.c(90): promiseWarning(fullExp);\n
Login.c(90): if (!("$$v" in pathVal)) {\n
Login.c(90): promise = pathVal;\n
Login.c(90): promise.$$v = undefined;\n
Login.c(90): promise.then(function(val) { promise.$$v =
val; });\n
Login.c(90): }\n
Login.c(90): pathVal = pathVal.$$v;\n
Login.c(90): }\n
Login.c(90): return pathVal;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getterFn(path, options, fullExp) {\n
Login.c(90): // Check whether the cache has this getter already.\n
Login.c(90): // We can use hasOwnProperty directly on the cache because we
ensure,\n
Login.c(90): // see below, that the cache n
Login.c(90): t=2898ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ever stores a path called 'hasOwnProperty'\n
Login.c(90): if (getterFnCache.hasOwnProperty(path)) {\n
Login.c(90): return getterFnCache[path];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var pathKeys = path.split('.'),\n
Login.c(90): pathKeysLength = pathKeys.length,\n
Login.c(90): fn;\n
Login.c(90): \n
Login.c(90): // http://jsperf.com/angularjs-parse-getter/6\n
Login.c(90): if (options.csp) {\n
Login.c(90): if (pathKeysLength < 6) {\n
Login.c(90): fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2],
pathKeys[3], pathKeys[4]
Login.c(90): , fullExp,\n
Login.c(90): options);\n
Login.c(90): } else {\n
Login.c(90): fn = function(scope, locals) {\n
Login.c(90): var i = 0, val;\n
Login.c(90): do {\n
Login.c(90): val = cspSafeGetterFn(pathKeys[i++], pathKeys[i++],
pathKeys[i++], pathKeys[i++]
Login.c(90): ,\n
Login.c(90): pathKeys[i++], fullExp, options)
(scope, locals);\n
Login.c(90): \n
Login.c(90): locals = undefined; // clear after first iteration\n
Login.c(90): scope = val;\n
Login.c(90): } while (i < pathKeysLength);\n
Login.c(90): return val;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var code = 'var p;\\n';\n
Login.c(90): forEach(pathKeys, function(key, index) {\n
Login.c(90): ensureSafeMemberName(key, fullExp);\n
Login.c(90): code += 'if(s == null) return undefined;\\n' +\n
Login.c(90): 's='+ (index\n
Login.c(90): // we simply dereference 's' on any .dot
notation\n
Login.c(90): ? 's'\n
Login.c(90): // but if we are first then we check locals
first, and if so read it
Login.c(90): first\n
Login.c(90): : '((k&&k.hasOwnProperty("' + key + '"))?
k:s)') + '["' + key + '"]'
Login.c(90): + ';\\n' +\n
Login.c(90): (options.unwrapPromises\n
Login.c(90): ? 'if (s && s.then) {\\n' +\n
Login.c(90): ' pw("' + fullExp.replace(/(["\\r\\n])/g, '\\\\
$1') + '");\\n' +\n
Login.c(90): ' if (!("$$v" in s)) {\\n' +\n
Login.c(90): ' p=s;\\n' +\n
Login.c(90): ' p.$$v = undefined;\\n' +\n
Login.c(90): ' p.then(function(v) {p.$$v=v;});\\n' +\n
Login.c(90): '}\\n' +\n
Login.c(90): ' s=s.$$v\\n' +\n
Login.c(90): '}\\n'\n
Login.c(90): : '');\n
Login.c(90): });\n
Login.c(90): code += 'return s;';\n
Login.c(90): \n
Login.c(90): /* jshint -W054 */\n
Login.c(90): var evaledFnGetter = new Function('s', 'k', 'pw', code); //
s=scope, k=locals, pw=prom
Login.c(90): iseWarning\n
Login.c(90): /* jshint +W054 */\n
Login.c(90): evaledFnGetter.toString = valueFn(code);\n
Login.c(90): fn = options.unwrapPromises ? function(scope, locals) {\n
Login.c(90): return evaledFnGetter(scope, locals, promiseWarning);\n
Login.c(90): } : evaledFnGetter;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Only cache the value if it's not going to mess up the cache
object\n
Login.c(90): // This is more performant that using
Object.prototype.hasOwnProperty.call\n
Login.c(90): if (path !== 'hasOwnProperty') {\n
Login.c(90): getterFnCache[path] = fn;\n
Login.c(90): }\n
Login.c(90): return fn;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ///////////////////////////////////\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $parse\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Converts Angular {@link guide/expression expression} into a
function.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var getter = $parse('user.name');\n
Login.c(90): * var setter = getter.assign;\n
Login.c(90): * var context = {user:{name:'angular'}};\n
Login.c(90): * var locals = {user:{name:'local'}};\n
Login.c(90): *\n
Login.c(90): * expect(getter(context)).toEqual('angular');\n
Login.c(90): * setter(context, 'newValue');\n
Login.c(90): * expect(context.user.name).toEqual('newValue');\n
Login.c(90): * expect(getter(context, locals)).toEqual('local');\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expressio
Login.c(90): n:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an object
against which any express
Login.c(90): ions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object, use
Login.c(90): ful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): *\n
Login.c(90): * The returned function also has the following properties:\n
Login.c(90): * * `literal` \xE2\x80\x93 `{boolean}` \xE2\x80\x93 whether
the expression's top-lev
Login.c(90): el node is a JavaScript\n
Login.c(90): * literal.\n
Login.c(90): * * `constant` \xE2\x80\x93 `{boolean}` \xE2\x80\x93 whether
the expression is made
Login.c(90): entirely of JavaScript\n
Login.c(90): * constant literals.\n
Login.c(90): * * `assign` \xE2\x80\x93 `{?function(context, value)}`
\xE2\x80\x93 if the expressi
Login.c(90): on is assignable, this will be\n
Login.c(90): * set to a function to change its value on the given
context.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $parseProvider\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$parseProvider` can be used for configuring the default
behavior of the {@link ng.$par
Login.c(90): se $parse}\n
Login.c(90): * service.\n
Login.c(90): */\n
Login.c(90): function $ParseProvider() {\n
Login.c(90): var cache = {};\n
Login.c(90): \n
Login.c(90): var $parseOptions = {\n
Login.c(90): csp: false,\n
Login.c(90): unwrapPromises: false,\n
Login.c(90): logPromiseWarnings: true\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @deprecated Promise unwrapping via $parse is deprecated and
will be removed in the fu
Login.c(90): ture.\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $parseProvider#unwrapPromises\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * **This feature is deprecated, see deprecation notes below for
more info**\n
Login.c(90): *\n
Login.c(90): * If set to true (default is false), $parse will unwrap
promises automatically when a p
Login.c(90): romise is\n
Login.c(90): * found at any part of the expression. In other words, if set
to true, the expression w
Login.c(90): ill always\n
Login.c(90): * result in a non-promise value.\n
Login.c(90): *\n
Login.c(90): * While the promise is unresolved, it's treated as undefined,
but once resolved and ful
Login.c(90): filled,\n
Login.c(90): * the fulfillment value is used in place of the promise while
evaluating the expression
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * **Deprecation notice**\n
Login.c(90): *\n
Login.c(90): * This is a feature that didn't prove to be wildly useful or
popular, primarily because
Login.c(90): of the\n
Login.c(90): * dichotomy between data access in templates (accessed as raw
values) and controller co
Login.c(90): de\n
Login.c(90): * (accessed as promises).\n
Login.c(90): *\n
Login.c(90): * In most code we ended up resolving promises manually in
controllers anyway and thus u
Login.c(90): nifying\n
Login.c(90): * the model access there.\n
Login.c(90): *\n
Login.c(90): * Other downsides of automatic promise unwrapping:\n
Login.c(90): *\n
Login.c(90): * - when building components it's often desirable to receive
the raw promises\n
Login.c(90): * - adds complexity and slows down expression evaluation\n
Login.c(90): * - makes expression code pre-generation unattractive due to
the amount of code that ne
Login.c(90): eds to be\n
Login.c(90): * generated\n
Login.c(90): * - makes IDE auto-completion and tool support hard\n
Login.c(90): *\n
Login.c(90): * **Warning Logs**\n
Login.c(90): *\n
Login.c(90): * If the unwrapping is enabled, Angular will log a warning
about each expression that u
Login.c(90): nwraps a\n
Login.c(90): * promise (to reduce the noise, each expression is logged only
once). To disable this l
Login.c(90): ogging use\n
Login.c(90): * `$parseProvider.logPromiseWarnings(false)` api.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} value New value.\n
Login.c(90): * @returns {boolean|self} Returns the current setting when used
as getter and self if u
Login.c(90): sed as\n
Login.c(90): * setter.\n
Login.c(90): */\n
Login.c(90): this.unwrapPromises = function(value) {\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): $parseOptions.unwrapPromises = !!value;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return $parseOptions.unwrapPromises;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @deprecated Promise unwrapping via $parse is deprecated and
will be removed in the fu
Login.c(90): ture.\n
Login.c(90): *\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $parseProvider#logPromiseWarnings\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Controls whether Angular should log a warning on any
encounter of a promise in an exp
Login.c(90): ression.\n
Login.c(90): *\n
Login.c(90): * The default is set to `true`.\n
Login.c(90): *\n
Login.c(90): * This setting applies only if `$parseProvider.unwrapPromises`
setting is set to true a
Login.c(90): s well.\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} value New value.\n
Login.c(90): * @returns {boolean|self} Returns the current setting when used
as getter and self if u
Login.c(90): sed as\n
Login.c(90): * setter.\n
Login.c(90): */\n
Login.c(90): this.logPromiseWarnings = function(value) {\n
Login.c(90): if (isDefined(value)) {\n
Login.c(90): $parseOptions.logPromiseWarnings = value;\n
Login.c(90): return this;\n
Login.c(90): } else {\n
Login.c(90): return $parseOptions.logPromiseWarnings;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): this.$get = ['$filter', '$sniffer', '$log', function($filter,
$sniffer, $log) {\n
Login.c(90): $parseOptions.csp = $sniffer.csp;\n
Login.c(90): \n
Login.c(90): promiseWarning = function promiseWarningFn(fullExp) {\n
Login.c(90): if (!$parseOptions.logPromiseWarnings ||
promiseWarningCache.hasOwnProperty(fullExp)
Login.c(90): ) return;\n
Login.c(90): promiseWarningCache[fullExp] = true;\n
Login.c(90): $log.warn('[$parse] Promise found in the expression `' +
fullExp + '`. ' +\n
Login.c(90): 'Automatic unwrapping of promises in Angular expressions
is deprecated.');\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return function(exp) {\n
Login.c(90): var parsedExpression;\n
Login.c(90): \n
Login.c(90): switch (typeof exp) {\n
Login.c(90): case 'string':\n
Login.c(90): \n
Login.c(90): if (cache.hasOwnProperty(exp)) {\n
Login.c(90): return cache[exp];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var lexer = new Lexer($parseOptions);\n
Login.c(90): var parser = new Parser(lexer, $filter,
$parseOptions);\n
Login.c(90): parsedExpression = parser.parse(exp);\n
Login.c(90): \n
Login.c(90): if (exp !== 'hasOwnProperty') {\n
Login.c(90): // Only cache the value if it's not going to mess up
the cache object\n
Login.c(90): // This is more performant that using
Object.prototype.hasOwnProperty.call\n
Login.c(90): cache[exp] = parsedExpression;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return parsedExpression;\n
Login.c(90): \n
Login.c(90): case 'function':\n
Login.c(90): return exp;\n
Login.c(90): \n
Login.c(90): default:\n
Login.c(90): return noop;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $q\n
Login.c(90): * @requires $rootScope\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A promise/deferred implementation inspired by [Kris Kowal's Q]
(https://github.com/krisk
Login.c(90): owal/q).\n
Login.c(90): *\n
Login.c(90): * [The CommonJS Promise proposal]
(http://wiki.commonjs.org/wiki/Promises) describes a pro
Login.c(90): mise as an\n
Login.c(90): * interface for interacting with an object that represents the
result of an action that i
Login.c(90): s\n
Login.c(90): * performed asynchronously, and may or may not be finished at any
given point in time.\n
Login.c(90): *\n
Login.c(90): * From the perspective of dealing with error handling, deferred
and promise APIs are to\n
Login.c(90): * asynchronous programming what `try`, `catch` and `throw`
keywords are to synchronous pr
Login.c(90): ogramming.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // for the purpose of this example let's assume that
variables `$q`, `scope` and `okT
Login.c(90): oGreet`\n
Login.c(90): * // are available in the current lexical scope (they could
have been injected or passe
Login.c(90): d in).\n
Login.c(90): *\n
Login.c(90): * function asyncGreet(name) {\n
Login.c(90): * var deferred = $q.defer();\n
Login.c(90): *\n
Login.c(90): * setTimeout(function() {\n
Login.c(90): * deferred.notify('About to greet ' + name + '.');\n
Login.c(90): *\n
Login.c(90): * if (okToGreet(name)) {\n
Login.c(90): * deferred.resolve('Hello, ' + name + '!');\n
Login.c(90): * } else {\n
Login.c(90): * deferred.reject('Greeting ' + name + ' is not
allowed.');\n
Login.c(90): * }\n
Login.c(90): * }, 1000);\n
Login.c(90): *\n
Login.c(90): * return deferred.promise;\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * var promise = asyncGreet('Robin Hood');\n
Login.c(90): * promise.then(function(greeting) {\n
Login.c(90): * alert('Success: ' + greeting);\n
Login.c(90): * }, function(reason) {\n
Login.c(90): * alert('Failed: ' + reason);\n
Login.c(90): * }, function(update) {\n
Login.c(90): * alert('Got notification: ' + update);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * At first it might not be obvious why this extra complexity is
worth the trouble. The pa
Login.c(90): yoff\n
Login.c(90): * comes in the way of guarantees that promise and deferred APIs
make, see\n
Login.c(90): *
https://github.com/kriskowal/uncommonjs/blob/master/promises/specification.md.\n
Login.c(90): *\n
Login.c(90): * Additionally the promise api allows for composition that is
very hard to do with the\n
Login.c(90): * traditional callback ([CPS]
(http://en.wikipedia.org/wiki/Continuation-passing_style)) a
Login.c(90): pproach.\n
Login.c(90): * For more on this please see the [Q documentation]
(https://github.com/kriskowal/q) espec
Login.c(90): ially the\n
Login.c(90): * section on serial or parallel joining of promises.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # The Deferred API\n
Login.c(90): *\n
Login.c(90): * A new instance of deferred is constructed by calling
`$q.defer()`.\n
Login.c(90): *\n
Login.c(90): * The purpose of the deferred object is to expose the associated
Promise instance as well
Login.c(90): as APIs\n
Login.c(90): * that can be used for signaling the successful or unsuccessful
completion, as well as th
Login.c(90): e status\n
Login.c(90): * of the task.\n
Login.c(90): *\n
Login.c(90): * **Methods**\n
Login.c(90): *\n
Login.c(90): * - `resolve(value)` \xE2\x80\x93 resolves the derived promise
with the `value`. If the v
Login.c(90): alue is a rejection\n
Login.c(90): * constructed via `$q.reject`, the promise will be rejected
instead.\n
Login.c(90): * - `reject(reason)` \xE2\x80\x93 rejects the derived promise
with the `reason`. This is
Login.c(90): equivalent to\n
Login.c(90): * resolving it with a rejection constructed via `$q.reject`.\n
Login.c(90): * - `notify(value)` - provides updates on the status of the
promise's execution. This may
Login.c(90): be called\n
Login.c(90): * multiple times before the promise is either resolved or
rejected.\n
Login.c(90): *\n
Login.c(90): * **Properties**\n
Login.c(90): *\n
Login.c(90): * - promise \xE2\x80\x93 `{Promise}` \xE2\x80\x93 promise object
associated with this def
Login.c(90): erred.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # The Promise API\n
Login.c(90): *\n
Login.c(90): * A new promise instance is created when a deferred instance is
created and can be retrie
Login.c(90): ved by\n
Login.c(90): * calling `deferred.promise`.\n
Login.c(90): *\n
Login.c(90): * The purpose of the promise object is to allow for interested
parties to get access to t
Login.c(90): he result\n
Login.c(90): * of the deferred task when it completes.\n
Login.c(90): *\n
Login.c(90): * **Methods**\n
Login.c(90): *\n
Login.c(90): * - `then(successCallback, errorCallback, notifyCallback)`
\xE2\x80\x93 regardless of whe
Login.c(90): n the promise was or\n
Login.c(90): * will be resolved or rejected, `then` calls one of the success
or error callbacks asyn
Login.c(90): chronously\n
Login.c(90): * as soon as the result is available. The callbacks are called
with a single argument:
Login.c(90): the result\n
Login.c(90): * or rejection reason. Additionally, the notify callbac
Login.c(90): t=2915ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): k may be called zero or more times to\n
Login.c(90): * provide a progress indication, before the promise is resolved
or rejected.\n
Login.c(90): *\n
Login.c(90): * This method *returns a new promise* which is resolved or
rejected via the return valu
Login.c(90): e of the\n
Login.c(90): * `successCallback`, `errorCallback`. It also notifies via the
return value of the\n
Login.c(90): * `notifyCallback` method. The promise can not be resolved or
rejected from the notifyC
Login.c(90): allback\n
Login.c(90): * method.\n
Login.c(90): *\n
Login.c(90): * - `catch(errorCallback)` \xE2\x80\x93 shorthand for
`promise.then(null, errorCallback)`
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * - `finally(callback)` \xE2\x80\x93 allows you to observe either
the fulfillment or reje
Login.c(90): ction of a promise,\n
Login.c(90): * but to do so without modifying the final value. This is
useful to release resources o
Login.c(90): r do some\n
Login.c(90): * clean-up that needs to be done whether the promise was
rejected or resolved. See the
Login.c(90): [full\n
Login.c(90): * specification](https://github.com/kriskowal/q/wiki/API-
Reference#promisefinallycallba
Login.c(90): ck) for\n
Login.c(90): * more information.\n
Login.c(90): *\n
Login.c(90): * Because `finally` is a reserved word in JavaScript and
reserved keywords are not supp
Login.c(90): orted as\n
Login.c(90): * property names by ES3, you'll need to invoke the method like
`promise['finally'](call
Login.c(90): back)` to\n
Login.c(90): * make your code IE8 and Android 2.x compatible.\n
Login.c(90): *\n
Login.c(90): * # Chaining promises\n
Login.c(90): *\n
Login.c(90): * Because calling the `then` method of a promise returns a new
derived promise, it is eas
Login.c(90): ily\n
Login.c(90): * possible to create a chain of promises:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * promiseB = promiseA.then(function(result) {\n
Login.c(90): * return result + 1;\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // promiseB will be resolved immediately after promiseA is
resolved and its value\n
Login.c(90): * // will be the result of promiseA incremented by 1\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * It is possible to create chains of any length and since a
promise can be resolved with
Login.c(90): another\n
Login.c(90): * promise (which will defer its resolution further), it is
possible to pause/defer resolu
Login.c(90): tion of\n
Login.c(90): * the promises at any point in the chain. This makes it possible
to implement powerful AP
Login.c(90): Is like\n
Login.c(90): * $http's response interceptors.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Differences between Kris Kowal's Q and $q\n
Login.c(90): *\n
Login.c(90): * There are two main differences:\n
Login.c(90): *\n
Login.c(90): * - $q is integrated with the {@link ng.$rootScope.Scope} Scope
model observation\n
Login.c(90): * mechanism in angular, which means faster propagation of
resolution or rejection into
Login.c(90): your\n
Login.c(90): * models and avoiding unnecessary browser repaints, which would
result in flickering UI
Login.c(90): .\n
Login.c(90): * - Q has many more features than $q, but that comes at a cost of
bytes. $q is tiny, but
Login.c(90): contains\n
Login.c(90): * all the important functionality needed for common async
tasks.\n
Login.c(90): *\n
Login.c(90): * # Testing\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * it('should simulate promise', inject(function($q,
$rootScope) {\n
Login.c(90): * var deferred = $q.defer();\n
Login.c(90): * var promise = deferred.promise;\n
Login.c(90): * var resolvedValue;\n
Login.c(90): *\n
Login.c(90): * promise.then(function(value) { resolvedValue =
value; });\n
Login.c(90): * expect(resolvedValue).toBeUndefined();\n
Login.c(90): *\n
Login.c(90): * // Simulate resolving of promise\n
Login.c(90): * deferred.resolve(123);\n
Login.c(90): * // Note that the 'then' function does not get called
synchronously.\n
Login.c(90): * // This is because we want the promise API to always be
async, whether or not\n
Login.c(90): * // it got called synchronously or asynchronously.\n
Login.c(90): * expect(resolvedValue).toBeUndefined();\n
Login.c(90): *\n
Login.c(90): * // Propagate promise resolution to 'then' functions using
$apply().\n
Login.c(90): * $rootScope.$apply();\n
Login.c(90): * expect(resolvedValue).toEqual(123);\n
Login.c(90): * }));\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): function $QProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = ['$rootScope', '$exceptionHandler',
function($rootScope, $exceptionHandler)
Login.c(90): {\n
Login.c(90): return qFactory(function(callback) {\n
Login.c(90): $rootScope.$evalAsync(callback);\n
Login.c(90): }, $exceptionHandler);\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Constructs a promise manager.\n
Login.c(90): *\n
Login.c(90): * @param {function(Function)} nextTick Function for executing
functions in the next turn.
Login.c(90): \n
Login.c(90): * @param {function(...*)} exceptionHandler Function into which
unexpected exceptions are
Login.c(90): passed for\n
Login.c(90): * debugging purposes.\n
Login.c(90): * @returns {object} Promise manager.\n
Login.c(90): */\n
Login.c(90): function qFactory(nextTick, exceptionHandler) {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $q#defer\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a `Deferred` object which represents a task which
will finish in the future.\n
Login.c(90): *\n
Login.c(90): * @returns {Deferred} Returns a new instance of deferred.\n
Login.c(90): */\n
Login.c(90): var defer = function() {\n
Login.c(90): var pending = [],\n
Login.c(90): value, deferred;\n
Login.c(90): \n
Login.c(90): deferred = {\n
Login.c(90): \n
Login.c(90): resolve: function(val) {\n
Login.c(90): if (pending) {\n
Login.c(90): var callbacks = pending;\n
Login.c(90): pending = undefined;\n
Login.c(90): value = ref(val);\n
Login.c(90): \n
Login.c(90): if (callbacks.length) {\n
Login.c(90): nextTick(function() {\n
Login.c(90): var callback;\n
Login.c(90): for (var i = 0, ii = callbacks.length; i < ii; i++)
{\n
Login.c(90): callback = callbacks[i];\n
Login.c(90): value.then(callback[0], callback[1],
callback[2]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): reject: function(reason) {\n
Login.c(90): deferred.resolve(createInternalRejectedPromise(reason));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): notify: function(progress) {\n
Login.c(90): if (pending) {\n
Login.c(90): var callbacks = pending;\n
Login.c(90): \n
Login.c(90): if (pending.length) {\n
Login.c(90): nextTick(function() {\n
Login.c(90): var callback;\n
Login.c(90): for (var i = 0, ii = callbacks.length; i < ii; i++)
{\n
Login.c(90): callback = callbacks[i];\n
Login.c(90): callback[2](progress);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): promise: {\n
Login.c(90): then: function(callback, errback, progressback) {\n
Login.c(90): var result = defer();\n
Login.c(90): \n
Login.c(90): var wrappedCallback = function(value) {\n
Login.c(90): try {\n
Login.c(90): result.resolve((isFunction(callback) ? callback :
defaultCallback)(value));\n
Login.c(90): } catch(e) {\n
Login.c(90): result.reject(e);\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var wrappedErrback = function(reason) {\n
Login.c(90): try {\n
Login.c(90): result.resolve((isFunction(errback) ? errback :
defaultErrback)(reason));\n
Login.c(90): } catch(e) {\n
Login.c(90): result.reject(e);\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var wrappedProgressback = function(progress) {\n
Login.c(90): try {\n
Login.c(90): result.notify((isFunction(progressback) ?
progressback : defaultCallback)(pr
Login.c(90): ogress));\n
Login.c(90): } catch(e) {\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (pending) {\n
Login.c(90): pending.push([wrappedCallback, wrappedErrback,
wrappedProgressback]);\n
Login.c(90): } else {\n
Login.c(90): value.then(wrappedCallback, wrappedErrback,
wrappedProgressback);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): "catch": function(callback) {\n
Login.c(90): return this.then(null, callback);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): "finally": function(callback) {\n
Login.c(90): \n
Login.c(90): function makePromise(value, resolved) {\n
Login.c(90): var result = defer();\n
Login.c(90): if (resolved) {\n
Login.c(90): result.resolve(value);\n
Login.c(90): } else {\n
Login.c(90): result.reject(value);\n
Login.c(90): }\n
Login.c(90): return result.promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function handleCallback(value, isResolved) {\n
Login.c(90): var callbackOutput = null;\n
Login.c(90): try {\n
Login.c(90): callbackOutput = (callback ||defaultCallback)();\n
Login.c(90): } catch(e) {\n
Login.c(90): return makePromise(e, false);\n
Login.c(90): }\n
Login.c(90): if (isPromiseLike(callbackOutput)) {\n
Login.c(90): return callbackOutput.then(function() {\n
Login.c(90): return makePromise(value, isResolved);\n
Login.c(90): }, function(error) {\n
Login.c(90): return makePromise(error, false);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): return makePromise(value, isResolved);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return this.then(function(value) {\n
Login.c(90): return handleCallback(value, true);\n
Login.c(90): }, function(error) {\n
Login.c(90): return handleCallback(error, false);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return deferred;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var ref = function(value) {\n
Login.c(90): if (isPromiseLike(value)) return value;\n
Login.c(90): return {\n
Login.c(90): then: function(callback) {\n
Login.c(90): var result = defer();\n
Login.c(90): nextTick(function() {\n
Login.c(90): result.resolve(callback(value));\n
Login.c(90): });\n
Login.c(90): return result.promise;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $q#reject\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a promise that is resolved as rejected with the
specified `reason`. This api
Login.c(90): should be\n
Login.c(90): * used to forward rejection in a chain of promises. If you are
dealing with the last pr
Login.c(90): omise in\n
Login.c(90): * a promise chain, you don't need to worry about it.\n
Login.c(90): *\n
Login.c(90): * When comparing deferreds/promises to the familiar behavior of
try/catch/throw, think
Login.c(90): of\n
Login.c(90): * `reject` as the `throw` keyword in JavaScript. This also
means that if you "catch" an
Login.c(90): error via\n
Login.c(90): * a promise error callback and you want to forward the error to
the promise derived fro
Login.c(90): m the\n
Login.c(90): * current promise, you have to "rethrow" the error by returning
a rejection constructed
Login.c(90): via\n
Login.c(90): * `reject`.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * promiseB = promiseA.then(function(result) {\n
Login.c(90): * // success: do something and resolve promiseB\n
Login.c(90): * // with the old or a new result\n
Login.c(90): * return result;\n
Login.c(90): * }, function(reason) {\n
Login.c(90): * // error: handle the error if possible and\n
Login.c(90): * // resolve promiseB with newPromiseOrValue,\n
Login.c(90): * // otherwise forward the rejection to promiseB\n
Login.c(90): * if (canHandle(reason)) {\n
Login.c(90): * // handle the error and recover\n
Login.c(90): * return newPromiseOrValue;\n
Login.c(90): * }\n
Login.c(90): * return $q.reject(reason);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {*} reason Constant, message, exception or an object
representing the rejectio
Login.c(90): n reason.\n
Login.c(90): * @returns {Promise} Returns a promise that was already
resolved as rejected with the `
Login.c(90): reason`.\n
Login.c(90): */\n
Login.c(90): var reject = function(reason) {\n
Login.c(90): var result = defer();\n
Login.c(90): result.reject(reason);\n
Login.c(90): return result.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var createInternalRejectedPromise = function(reason) {\n
Login.c(90): return {\n
Login.c(90): then: function(callback, errback) {\n
Login.c(90): var result = defer();\n
Login.c(90): nextTick(function() {\n
Login.c(90): try {\n
Login.c(90): result.resolve((isFunction(errback) ? errback :
defaultErrback)(reason));\n
Login.c(90): } catch(e) {\n
Login.c(90): result.reject(e);\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return result.promise;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $q#when\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Wraps an object that might be a value or a (3rd party) then-
able promise into a $q pr
Login.c(90): omise.\n
Login.c(90): * This is useful when you are dealing with an object that might
or might not be a promi
Login.c(90): se, or if\n
Login.c(90): * the promise comes from a source that can't be trusted.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Value or a promise\n
Login.c(90): * @returns {Promise} Returns a promise of the passed value or
promise\n
Login.c(90): */\n
Login.c(90): var when = function(value, callback, errback, progressback) {\n
Login.c(90): var result = defer(),\n
Login.c(90): done;\n
Login.c(90): \n
Login.c(90): var wrappedCallback = function(value) {\n
Login.c(90): try {\n
Login.c(90): return (isFunction(callback) ? callback : defaultCallback)
(value);\n
Login.c(90): } catch (e) {\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): return reject(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var wrappedErrback = function(reason) {\n
Login.c(90): try {\n
Login.c(90): return (isFunction(errback) ? errback : defaultErrback)
(reason);\n
Login.c(90): } catch (e) {\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): return reject(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var wrappedProgressback = function(progress) {\n
Login.c(90): try {\n
Login.c(90): return (isFunction(progressback) ? progressback :
defaultCallback)(progress);\n
Login.c(90): } catch (e) {\n
Login.c(90): exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): nextTick(function() {\n
Login.c(90): ref(value).then(function(value) {\n
Login.c(90): if (done) return;\n
Login.c(90): done = true;\n
Login.c(90): result.resolve(ref(value).then(wrappedCallback,
wrappedErrback, wrappedProgressbac
Login.c(90): k));\n
Login.c(90): }, function(reason) {\n
Login.c(90): if (done) return;\n
Login.c(90): done = true;\n
Login.c(90): result.resolve(wrappedErrback(reason));\n
Login.c(90): }, function(progress) {\n
Login.c(90): if (done) return;\n
Login.c(90): result.notify(wrappedProgressback(progress));\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return result.promise;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function defaultCallback(value) {\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function defaultErrback(reason) {\n
Login.c(90): return reject(reason);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $q#all\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Combines multiple promises into a single promise that is
resolved when all of the inp
Login.c(90): ut\n
Login.c(90): * promises are resolved.\n
Login.c(90): *\n
Login.c(90): * @param {Array.<Promise>|Object.<Promise>} promises An array
or hash of promises.\n
Login.c(90): * @returns {Promise} Returns a single pr
Login.c(90): t=2941ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): omise that will be resolved with an array/hash of values,\n
Login.c(90): * each value corresponding to the promise at the same
index/key in the `promises` arr
Login.c(90): ay/hash.\n
Login.c(90): * If any of the promises is resolved with a rejection, this
resulting promise will be
Login.c(90): rejected\n
Login.c(90): * with the same rejection value.\n
Login.c(90): */\n
Login.c(90): function all(promises) {\n
Login.c(90): var deferred = defer(),\n
Login.c(90): counter = 0,\n
Login.c(90): results = isArray(promises) ? [] : {};\n
Login.c(90): \n
Login.c(90): forEach(promises, function(promise, key) {\n
Login.c(90): counter++;\n
Login.c(90): ref(promise).then(function(value) {\n
Login.c(90): if (results.hasOwnProperty(key)) return;\n
Login.c(90): results[key] = value;\n
Login.c(90): if (!(--counter)) deferred.resolve(results);\n
Login.c(90): }, function(reason) {\n
Login.c(90): if (results.hasOwnProperty(key)) return;\n
Login.c(90): deferred.reject(reason);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (counter === 0) {\n
Login.c(90): deferred.resolve(results);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): defer: defer,\n
Login.c(90): reject: reject,\n
Login.c(90): when: when,\n
Login.c(90): all: all\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function $$RAFProvider(){ //rAF\n
Login.c(90): this.$get = ['$window', '$timeout', function($window, $timeout)
{\n
Login.c(90): var requestAnimationFrame = $window.requestAnimationFrame ||\n
Login.c(90):
$window.webkitRequestAnimationFrame ||\n
Login.c(90):
$window.mozRequestAnimationFrame;\n
Login.c(90): \n
Login.c(90): var cancelAnimationFrame = $window.cancelAnimationFrame ||\n
Login.c(90): $window.webkitCancelAnimationFrame
||\n
Login.c(90): $window.mozCancelAnimationFrame
||\n
Login.c(90):
$window.webkitCancelRequestAnimationFrame;\n
Login.c(90): \n
Login.c(90): var rafSupported = !!requestAnimationFrame;\n
Login.c(90): var raf = rafSupported\n
Login.c(90): ? function(fn) {\n
Login.c(90): var id = requestAnimationFrame(fn);\n
Login.c(90): return function() {\n
Login.c(90): cancelAnimationFrame(id);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): : function(fn) {\n
Login.c(90): var timer = $timeout(fn, 16.66, false); // 1000 / 60 =
16.666\n
Login.c(90): return function() {\n
Login.c(90): $timeout.cancel(timer);\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): raf.supported = rafSupported;\n
Login.c(90): \n
Login.c(90): return raf;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * DESIGN NOTES\n
Login.c(90): *\n
Login.c(90): * The design decisions behind the scope are heavily favored for
speed and memory consumpt
Login.c(90): ion.\n
Login.c(90): *\n
Login.c(90): * The typical use of scope is to watch the expressions, which
most of the time return the
Login.c(90): same\n
Login.c(90): * value as last time so we optimize the operation.\n
Login.c(90): *\n
Login.c(90): * Closures construction is expensive in terms of speed as well as
memory:\n
Login.c(90): * - No closures, instead use prototypical inheritance for API\n
Login.c(90): * - Internal state needs to be stored on scope directly, which
means that private state
Login.c(90): is\n
Login.c(90): * exposed as $$____ properties\n
Login.c(90): *\n
Login.c(90): * Loop operations are optimized by using while(count--) { ... }\n
Login.c(90): * - this means that in order to keep the same order of
execution as addition we have to
Login.c(90): add\n
Login.c(90): * items to the array at the beginning (unshift) instead of at
the end (push)\n
Login.c(90): *\n
Login.c(90): * Child scopes are created and removed often\n
Login.c(90): * - Using an array would be slow since inserts in middle are
expensive so we use linked
Login.c(90): list\n
Login.c(90): *\n
Login.c(90): * There are few watches then a lot of observers. This is why you
don't want the observer
Login.c(90): to be\n
Login.c(90): * implemented in the same way as watch. Watch requires return of
initialization function
Login.c(90): which\n
Login.c(90): * are expensive to construct.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $rootScopeProvider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Provider for the $rootScope service.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScopeProvider#digestTtl\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Sets the number of `$digest` iterations the scope should
attempt to execute before givi
Login.c(90): ng up and\n
Login.c(90): * assuming that the model is unstable.\n
Login.c(90): *\n
Login.c(90): * The current default is 10 iterations.\n
Login.c(90): *\n
Login.c(90): * In complex applications it's possible that the dependencies
between `$watch`s will resu
Login.c(90): lt in\n
Login.c(90): * several digest iterations. However if an application needs more
than the default 10 dig
Login.c(90): est\n
Login.c(90): * iterations for its model to stabilize then you should
investigate what is causing the m
Login.c(90): odel to\n
Login.c(90): * continuously change during the digest.\n
Login.c(90): *\n
Login.c(90): * Increasing the TTL could have performance implications, so you
should not change it wit
Login.c(90): hout\n
Login.c(90): * proper justification.\n
Login.c(90): *\n
Login.c(90): * @param {number} limit The number of digest iterations.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $rootScope\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Every application has a single root {@link ng.$rootScope.Scope
scope}.\n
Login.c(90): * All other scopes are descendant scopes of the root scope.
Scopes provide separation\n
Login.c(90): * between the model and the view, via a mechanism for watching
the model for changes.\n
Login.c(90): * They also provide an event emission/broadcast and subscription
facility. See the\n
Login.c(90): * {@link guide/scope developer guide on scopes}.\n
Login.c(90): */\n
Login.c(90): function $RootScopeProvider(){\n
Login.c(90): var TTL = 10;\n
Login.c(90): var $rootScopeMinErr = minErr('$rootScope');\n
Login.c(90): var lastDirtyWatch = null;\n
Login.c(90): \n
Login.c(90): this.digestTtl = function(value) {\n
Login.c(90): if (arguments.length) {\n
Login.c(90): TTL = value;\n
Login.c(90): }\n
Login.c(90): return TTL;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$injector', '$exceptionHandler', '$parse',
'$browser',\n
Login.c(90): function( $injector, $exceptionHandler, $parse,
$browser) {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name $rootScope.Scope\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A root scope can be retrieved using the {@link ng.
$rootScope $rootScope} key from t
Login.c(90): he\n
Login.c(90): * {@link auto.$injector $injector}. Child scopes are created
using the\n
Login.c(90): * {@link ng.$rootScope.Scope#$new $new()} method. (Most
scopes are created automatica
Login.c(90): lly when\n
Login.c(90): * compiled HTML template is executed.)\n
Login.c(90): *\n
Login.c(90): * Here is a simple scope snippet to show how you can interact
with the scope.\n
Login.c(90): * ```html\n
Login.c(90): * <file src="./test/ng/rootScopeSpec.js" tag="docs1" />\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * # Inheritance\n
Login.c(90): * A scope can inherit from a parent scope, as in this
example:\n
Login.c(90): * ```js\n
Login.c(90): var parent = $rootScope;\n
Login.c(90): var child = parent.$new();\n
Login.c(90): \n
Login.c(90): parent.salutation = "Hello";\n
Login.c(90): child.name = "World";\n
Login.c(90): expect(child.salutation).toEqual('Hello');\n
Login.c(90): \n
Login.c(90): child.salutation = "Welcome";\n
Login.c(90): expect(child.salutation).toEqual('Welcome');\n
Login.c(90): expect(parent.salutation).toEqual('Hello');\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {Object.<string, function()>=} providers Map of
service factory which need t
Login.c(90): o be\n
Login.c(90): * provided for the
current scope. Defaults to {
Login.c(90): @link ng}.\n
Login.c(90): * @param {Object.<string, *>=} instanceCache Provides pre-
instantiated services which
Login.c(90): should\n
Login.c(90): * append/override services
provided by `providers`. This
Login.c(90): is handy\n
Login.c(90): * when unit-testing and having
the need to override a de
Login.c(90): fault\n
Login.c(90): * service.\n
Login.c(90): * @returns {Object} Newly created scope.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function Scope() {\n
Login.c(90): this.$id = nextUid();\n
Login.c(90): this.$$phase = this.$parent = this.$$watchers =\n
Login.c(90): this.$$nextSibling = this.$$prevSibling =\n
Login.c(90): this.$$childHead = this.$$childTail = null;\n
Login.c(90): this['this'] = this.$root = this;\n
Login.c(90): this.$$destroyed = false;\n
Login.c(90): this.$$asyncQueue = [];\n
Login.c(90): this.$$postDigestQueue = [];\n
Login.c(90): this.$$listeners = {};\n
Login.c(90): this.$$listenerCount = {};\n
Login.c(90): this.$$isolateBindings = {};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $rootScope.Scope#$id\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Unique scope ID (monotonically increasing) useful for
debugging.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $rootScope.Scope#$parent\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Reference to the parent scope.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc property\n
Login.c(90): * @name $rootScope.Scope#$root\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Reference to the root scope.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): Scope.prototype = {\n
Login.c(90): constructor: Scope,\n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$new\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a new child {@link ng.$rootScope.Scope scope}.\n
Login.c(90): *\n
Login.c(90): * The parent scope will propagate the {@link ng.
$rootScope.Scope#$digest $digest()}
Login.c(90): event.\n
Login.c(90): * The scope can be removed from the scope hierarchy using
{@link ng.$rootScope.Scop
Login.c(90): e#$destroy $destroy()}.\n
Login.c(90): *\n
Login.c(90): * {@link ng.$rootScope.Scope#$destroy $destroy()} must be
called on a scope when it
Login.c(90): is\n
Login.c(90): * desired for the scope and its child scopes to be
permanently detached from the pa
Login.c(90): rent and\n
Login.c(90): * thus stop participating in model change detection and
listener notification by in
Login.c(90): voking.\n
Login.c(90): *\n
Login.c(90): * @param {boolean} isolate If true, then the scope does not
prototypically inherit
Login.c(90): from the\n
Login.c(90): * parent scope. The scope is isolated, as it can
not see parent scope prope
Login.c(90): rties.\n
Login.c(90): * When creating widgets, it is useful for the
widget to not accidentally re
Login.c(90): ad parent\n
Login.c(90): * state.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} The newly created child scope.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $new: function(isolate) {\n
Login.c(90): var ChildScope,\n
Login.c(90): child;\n
Login.c(90): \n
Login.c(90): if (isolate) {\n
Login.c(90): child = new Scope();\n
Login.c(90): child.$root = this.$root;\n
Login.c(90): // ensure that there is just one async queue per
$rootScope and its children\n
Login.c(90): child.$$asyncQueue = this.$$asyncQueue;\n
Login.c(90): child.$$postDigestQueue = this.$$postDigestQueue;\n
Login.c(90): } else {\n
Login.c(90): // Only create a child scope class if somebody asks for
one,\n
Login.c(90): // but cache it to allow the VM to optimize lookups.\n
Login.c(90): if (!this.$$childScopeClass) {\n
Login.c(90): this.$$childScopeClass = function() {\n
Login.c(90): this.$$watchers = this.$$nextSibling =\n
Login.c(90): this.$$childHead = this.$$childTail = null;\n
Login.c(90): this.$$listeners = {};\n
Login.c(90): this.$$listenerCount = {};\n
Login.c(90): this.$id = nextUid();\n
Login.c(90): this.$$childScopeClass = null;\n
Login.c(90): };\n
Login.c(90): this.$$childScopeClass.prototype = this;\n
Login.c(90): }\n
Login.c(90): child = new this.$$childScopeClass();\n
Login.c(90): }\n
Login.c(90): child['this'] = child;\n
Login.c(90): child.$parent = this;\n
Login.c(90): child.$$prevSibling = this.$$childTail;\n
Login.c(90): if (this.$$childHead) {\n
Login.c(90): this.$$childTail.$$nextSibling = child;\n
Login.c(90): this.$$childTail = child;\n
Login.c(90): } else {\n
Login.c(90): this.$$childHead = this.$$childTail = child;\n
Login.c(90): }\n
Login.c(90): return child;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$watch\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a `listener` callback to be executed whenever
the `watchExpression` cha
Login.c(90): nges.\n
Login.c(90): *\n
Login.c(90): * - The `watchExpression` is called on every call to {@link
ng.$rootScope.Scope#$di
Login.c(90): gest\n
Login.c(90): * $digest()} and should return the value that will be
watched. (Since\n
Login.c(90): * {@link ng.$rootScope.Scope#$digest $digest()} reruns
when it detects changes th
Login.c(90): e\n
Login.c(90): * `watchExpression` can execute multiple times per\n
Login.c(90): * {@link ng.$rootScope.Scope#$digest $digest()} and
should be idempotent.)\n
Login.c(90): * - The `listener` is called only when the value from the
current `watchExpression`
Login.c(90): and the\n
Login.c(90): * previous call to `watchExpression` are not equal (with
the exception of the ini
Login.c(90): tial run,\n
Login.c(90): * see below). Inequality is determined according to
reference inequality,\n
Login.c(90): * [strict comparison](https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Ref
Login.c(90): erence/Operators/Comparison_Operators)\n
Login.c(90): * via the `!==` Javascript operator, unless
`objectEquality == true`\n
Login.c(90): * (see next point)\n
Login.c(90): * - When `objectEquality == true`, inequality of the
`watchExpression` is determine
Login.c(90): d\n
Login.c(90): * according to the {@link angular.equals} function. To
save the value of the obje
Login.c(90): ct for\n
Login.c(90): * later comparison, the {@link angular.copy} function is
used. This therefore mea
Login.c(90): ns that\n
Login.c(90): * watching complex objects will have adverse memory and
performance implications.
Login.c(90): \n
Login.c(90): * - The watch `listener` may change the model, which may
trigger other `listener`s
Login.c(90): to fire.\n
Login.c(90): * This is achieved by rerunning the watchers until no
changes are detected. The r
Login.c(90): erun\n
Login.c(90): * iteration limit is 10 to prevent an infinite loop
deadlock.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * If you want to be notified whenever {@link ng.
$rootScope.Scope#$digest $digest} i
Login.c(90): s called,\n
Login.c(90): * you can register a `watchExpression` function with no
`listener`. (Since `watchEx
Login.c(90): pression`\n
Login.c(90): * can execute multiple times per {@link ng.
$rootScope.Scope#$digest $digest} cycle
Login.c(90): when a\n
Login.c(90): * change is detected, be prepared for multiple calls to
your listener.)\n
Login.c(90): *\n
Login.c(90): * After a watcher is re
Login.c(90): t=2958ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): gistered with the scope, the `listener` fn is called
asynchronously\n
Login.c(90): * (via {@link ng.$rootScope.Scope#$evalAsync $evalAsync})
to initialize the\n
Login.c(90): * watcher. In rare cases, this is undesirable because the
listener is called when t
Login.c(90): he result\n
Login.c(90): * of `watchExpression` didn't change. To detect this
scenario within the `listener`
Login.c(90): fn, you\n
Login.c(90): * can compare the `newVal` and `oldVal`. If these two
values are identical (`===`)
Login.c(90): then the\n
Login.c(90): * listener was called due to initialization.\n
Login.c(90): *\n
Login.c(90): * The example below contains an illustration of using a
function as your $watch lis
Login.c(90): tener\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Example\n
Login.c(90): * ```js\n
Login.c(90): // let's assume that scope was dependency injected as
the $rootScope\n
Login.c(90): var scope = $rootScope;\n
Login.c(90): scope.name = 'misko';\n
Login.c(90): scope.counter = 0;\n
Login.c(90): \n
Login.c(90): expect(scope.counter).toEqual(0);\n
Login.c(90): scope.$watch('name', function(newValue, oldValue) {\n
Login.c(90): scope.counter = scope.counter + 1;\n
Login.c(90): });\n
Login.c(90): expect(scope.counter).toEqual(0);\n
Login.c(90): \n
Login.c(90): scope.$digest();\n
Login.c(90): // the listener is always called during the first
$digest loop after it was reg
Login.c(90): istered\n
Login.c(90): expect(scope.counter).toEqual(1);\n
Login.c(90): \n
Login.c(90): scope.$digest();\n
Login.c(90): // but now it will not be called unless the value
changes\n
Login.c(90): expect(scope.counter).toEqual(1);\n
Login.c(90): \n
Login.c(90): scope.name = 'adam';\n
Login.c(90): scope.$digest();\n
Login.c(90): expect(scope.counter).toEqual(2);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Using a listener function\n
Login.c(90): var food;\n
Login.c(90): scope.foodCounter = 0;\n
Login.c(90): expect(scope.foodCounter).toEqual(0);\n
Login.c(90): scope.$watch(\n
Login.c(90): // This is the listener function\n
Login.c(90): function() { return food; },\n
Login.c(90): // This is the change handler\n
Login.c(90): function(newValue, oldValue) {\n
Login.c(90): if ( newValue !== oldValue ) {\n
Login.c(90): // Only increment the counter if the value
changed\n
Login.c(90): scope.foodCounter = scope.foodCounter + 1;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): );\n
Login.c(90): // No digest has been run so the counter will be zero\n
Login.c(90): expect(scope.foodCounter).toEqual(0);\n
Login.c(90): \n
Login.c(90): // Run the digest but since food has not changed count
will still be zero\n
Login.c(90): scope.$digest();\n
Login.c(90): expect(scope.foodCounter).toEqual(0);\n
Login.c(90): \n
Login.c(90): // Update food and run digest. Now the counter will
increment\n
Login.c(90): food = 'cheeseburger';\n
Login.c(90): scope.$digest();\n
Login.c(90): expect(scope.foodCounter).toEqual(1);\n
Login.c(90): \n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {(function()|string)} watchExpression Expression
that is evaluated on each
Login.c(90): \n
Login.c(90): * {@link ng.$rootScope.Scope#$digest $digest} cycle. A
change in the return valu
Login.c(90): e triggers\n
Login.c(90): * a call to the `listener`.\n
Login.c(90): *\n
Login.c(90): * - `string`: Evaluated as {@link guide/expression
expression}\n
Login.c(90): * - `function(scope)`: called with current `scope` as a
parameter.\n
Login.c(90): * @param {(function()|string)=} listener Callback called
whenever the return value
Login.c(90): of\n
Login.c(90): * the `watchExpression` changes.\n
Login.c(90): *\n
Login.c(90): * - `string`: Evaluated as {@link guide/expression
expression}\n
Login.c(90): * - `function(newValue, oldValue, scope)`: called with
current and previous valu
Login.c(90): es as\n
Login.c(90): * parameters.\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} objectEquality Compare for object
equality using {@link angular
Login.c(90): .equals} instead of\n
Login.c(90): * comparing for reference equality.\n
Login.c(90): * @returns {function()} Returns a deregistration function
for this listener.\n
Login.c(90): */\n
Login.c(90): $watch: function(watchExp, listener, objectEquality) {\n
Login.c(90): var scope = this,\n
Login.c(90): get = compileToFn(watchExp, 'watch'),\n
Login.c(90): array = scope.$$watchers,\n
Login.c(90): watcher = {\n
Login.c(90): fn: listener,\n
Login.c(90): last: initWatchVal,\n
Login.c(90): get: get,\n
Login.c(90): exp: watchExp,\n
Login.c(90): eq: !!objectEquality\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): lastDirtyWatch = null;\n
Login.c(90): \n
Login.c(90): // in the case user pass string, we need to compile it, do
we really need this ?\n
Login.c(90): if (!isFunction(listener)) {\n
Login.c(90): var listenFn = compileToFn(listener || noop,
'listener');\n
Login.c(90): watcher.fn = function(newVal, oldVal, scope)
{listenFn(scope);};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (typeof watchExp == 'string' && get.constant) {\n
Login.c(90): var originalFn = watcher.fn;\n
Login.c(90): watcher.fn = function(newVal, oldVal, scope) {\n
Login.c(90): originalFn.call(this, newVal, oldVal, scope);\n
Login.c(90): arrayRemove(array, watcher);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!array) {\n
Login.c(90): array = scope.$$watchers = [];\n
Login.c(90): }\n
Login.c(90): // we use unshift since we use a while loop in $digest for
speed.\n
Login.c(90): // the while loop reads in reverse order.\n
Login.c(90): array.unshift(watcher);\n
Login.c(90): \n
Login.c(90): return function deregisterWatch() {\n
Login.c(90): arrayRemove(array, watcher);\n
Login.c(90): lastDirtyWatch = null;\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$watchCollection\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shallow watches the properties of an object and fires
whenever any of the propert
Login.c(90): ies change\n
Login.c(90): * (for arrays, this implies watching the array items; for
object maps, this implies
Login.c(90): watching\n
Login.c(90): * the properties). If a change is detected, the `listener`
callback is fired.\n
Login.c(90): *\n
Login.c(90): * - The `obj` collection is observed via standard $watch
operation and is examined
Login.c(90): on every\n
Login.c(90): * call to $digest() to see if any items have been added,
removed, or moved.\n
Login.c(90): * - The `listener` is called whenever anything within the
`obj` has changed. Exampl
Login.c(90): es include\n
Login.c(90): * adding, removing, and moving items belonging to an
object or array.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Example\n
Login.c(90): * ```js\n
Login.c(90): $scope.names = ['igor', 'matias', 'misko', 'james'];\n
Login.c(90): $scope.dataCount = 4;\n
Login.c(90): \n
Login.c(90): $scope.$watchCollection('names', function(newNames,
oldNames) {\n
Login.c(90): $scope.dataCount = newNames.length;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): expect($scope.dataCount).toEqual(4);\n
Login.c(90): $scope.$digest();\n
Login.c(90): \n
Login.c(90): //still at 4 ... no changes\n
Login.c(90): expect($scope.dataCount).toEqual(4);\n
Login.c(90): \n
Login.c(90): $scope.names.pop();\n
Login.c(90): $scope.$digest();\n
Login.c(90): \n
Login.c(90): //now there's been a change\n
Login.c(90): expect($scope.dataCount).toEqual(3);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {string|function(scope)} obj Evaluated as {@link
guide/expression expressi
Login.c(90): on}. The\n
Login.c(90): * expression value should evaluate to an object or an
array which is observed on
Login.c(90): each\n
Login.c(90): * {@link ng.$rootScope.Scope#$digest $digest} cycle. Any
shallow change within t
Login.c(90): he\n
Login.c(90): * collection will trigger a call to the `listener`.\n
Login.c(90): *\n
Login.c(90): * @param {function(newCollection, oldCollection, scope)}
listener a callback functi
Login.c(90): on called\n
Login.c(90): * when a change is detected.\n
Login.c(90): * - The `newCollection` object is the newly modified
data obtained from the `obj
Login.c(90): ` expression\n
Login.c(90): * - The `oldCollection` object is a copy of the former
collection data.\n
Login.c(90): * Due to performance considerations,
the`oldCollection` value is computed only
Login.c(90): if the\n
Login.c(90): * `listener` function declares two or more
arguments.\n
Login.c(90): * - The `scope` argument refers to the current scope.\n
Login.c(90): *\n
Login.c(90): * @returns {function()} Returns a de-registration function
for this listener. When
Login.c(90): the\n
Login.c(90): * de-registration function is executed, the internal
watch operation is terminat
Login.c(90): ed.\n
Login.c(90): */\n
Login.c(90): $watchCollection: function(obj, listener) {\n
Login.c(90): var self = this;\n
Login.c(90): // the current value, updated on each dirty-check run\n
Login.c(90): var newValue;\n
Login.c(90): // a shallow copy of the newValue from the last dirty-
check run,\n
Login.c(90): // updated to match newValue during dirty-check run\n
Login.c(90): var oldValue;\n
Login.c(90): // a shallow copy of the newValue from when the last
change happened\n
Login.c(90): var veryOldValue;\n
Login.c(90): // only track veryOldValue if the listener is asking for
it\n
Login.c(90): var trackVeryOldValue = (listener.length > 1);\n
Login.c(90): var changeDetected = 0;\n
Login.c(90): var objGetter = $parse(obj);\n
Login.c(90): var internalArray = [];\n
Login.c(90): var internalObject = {};\n
Login.c(90): var initRun = true;\n
Login.c(90): var oldLength = 0;\n
Login.c(90): \n
Login.c(90): function $watchCollectionWatch() {\n
Login.c(90): newValue = objGetter(self);\n
Login.c(90): var newLength, key, bothNaN;\n
Login.c(90): \n
Login.c(90): if (!isObject(newValue)) { // if primitive\n
Login.c(90): if (oldValue !== newValue) {\n
Login.c(90): oldValue = newValue;\n
Login.c(90): changeDetected++;\n
Login.c(90): }\n
Login.c(90): } else if (isArrayLike(newValue)) {\n
Login.c(90): if (oldValue !== internalArray) {\n
Login.c(90): // we are transitioning from something which was not
an array into array.\n
Login.c(90): oldValue = internalArray;\n
Login.c(90): oldLength = oldValue.length = 0;\n
Login.c(90): changeDetected++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): newLength = newValue.length;\n
Login.c(90): \n
Login.c(90): if (oldLength !== newLength) {\n
Login.c(90): // if lengths do not match we need to trigger change
notification\n
Login.c(90): changeDetected++;\n
Login.c(90): oldValue.length = oldLength = newLength;\n
Login.c(90): }\n
Login.c(90): // copy the items to oldValue and look for changes.\n
Login.c(90): for (var i = 0; i < newLength; i++) {\n
Login.c(90): bothNaN = (oldValue[i] !== oldValue[i]) &&\n
Login.c(90): (newValue[i] !== newValue[i]);\n
Login.c(90): if (!bothNaN && (oldValue[i] !== newValue[i])) {\n
Login.c(90): changeDetected++;\n
Login.c(90): oldValue[i] = newValue[i];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (oldValue !== internalObject) {\n
Login.c(90): // we are transitioning from something which was not
an object into object.\n
Login.c(90): oldValue = internalObject = {};\n
Login.c(90): oldLength = 0;\n
Login.c(90): changeDetected++;\n
Login.c(90): }\n
Login.c(90): // copy the items to oldValue and look for changes.\n
Login.c(90): newLength = 0;\n
Login.c(90): for (key in newValue) {\n
Login.c(90): if (newValue.hasOwnProperty(key)) {\n
Login.c(90): newLength++;\n
Login.c(90): if (oldValue.hasOwnProperty(key)) {\n
Login.c(90): bothNaN = (oldValue[key] !== oldValue[key]) &&\n
Login.c(90): (newValue[key] !== newValue[key]);\n
Login.c(90): if (!bothNaN && (oldValue[key] !==
newValue[key])) {\n
Login.c(90): changeDetected++;\n
Login.c(90): oldValue[key] = newValue[key];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): oldLength++;\n
Login.c(90): oldValue[key] = newValue[key];\n
Login.c(90): changeDetected++;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (oldLength > newLength) {\n
Login.c(90): // we used to have more keys, need to find them and
destroy them.\n
Login.c(90): changeDetected++;\n
Login.c(90): for(key in oldValue) {\n
Login.c(90): if (oldValue.hasOwnProperty(key) && !
newValue.hasOwnProperty(key)) {\n
Login.c(90): oldLength--;\n
Login.c(90): delete oldValue[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return changeDetected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function $watchCollectionAction() {\n
Login.c(90): if (initRun) {\n
Login.c(90): initRun = false;\n
Login.c(90): listener(newValue, newValue, self);\n
Login.c(90): } else {\n
Login.c(90): listener(newValue, veryOldValue, self);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // make a copy for the next time a collection is
changed\n
Login.c(90): if (trackVeryOldValue) {\n
Login.c(90): if (!isObject(newValue)) {\n
Login.c(90): //primitive\n
Login.c(90): veryOldValue = newValue;\n
Login.c(90): } else if (isArrayLike(newValue)) {\n
Login.c(90): veryOldValue = new Array(newValue.length);\n
Login.c(90): for (var i = 0; i < newValue.length; i++) {\n
Login.c(90): veryOldValue[i] = newValue[i];\n
Login.c(90): }\n
Login.c(90): } else { // if object\n
Login.c(90): veryOldValue = {};\n
Login.c(90): for (var key in newValue) {\n
Login.c(90): if (hasOwnProperty.call(newValue, key)) {\n
Login.c(90): veryOldValue[key] = newValue[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return this.$watch($watchCollectionWatch,
$watchCollectionAction);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$digest\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Processes all of the {@link ng.$rootScope.Scope#$watch
watchers} of the current s
Login.c(90): cope and\n
Login.c(90): * its children. Because a {@link ng.$rootScope.Scope#$watch
watcher}'s listener can
Login.c(90): change\n
Login.c(90): * the model, the `$digest()` keeps calling the {@link
Login.c(90): t=2973ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ng.$rootScope.Scope#$watch watchers}\n
Login.c(90): * until no more listeners are firing. This means that it is
possible to get into an
Login.c(90): infinite\n
Login.c(90): * loop. This function will throw `'Maximum iteration limit
exceeded.'` if the numbe
Login.c(90): r of\n
Login.c(90): * iterations exceeds 10.\n
Login.c(90): *\n
Login.c(90): * Usually, you don't call `$digest()` directly in\n
Login.c(90): * {@link ng.directive:ngController controllers} or in\n
Login.c(90): * {@link ng.$compileProvider#directive directives}.\n
Login.c(90): * Instead, you should call {@link ng.
$rootScope.Scope#$apply $apply()} (typically f
Login.c(90): rom within\n
Login.c(90): * a {@link ng.$compileProvider#directive directives}),
which will force a `$digest(
Login.c(90): )`.\n
Login.c(90): *\n
Login.c(90): * If you want to be notified whenever `$digest()` is
called,\n
Login.c(90): * you can register a `watchExpression` function with\n
Login.c(90): * {@link ng.$rootScope.Scope#$watch $watch()} with no
`listener`.\n
Login.c(90): *\n
Login.c(90): * In unit tests, you may need to call `$digest()` to
simulate the scope life cycle.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * # Example\n
Login.c(90): * ```js\n
Login.c(90): var scope = ...;\n
Login.c(90): scope.name = 'misko';\n
Login.c(90): scope.counter = 0;\n
Login.c(90): \n
Login.c(90): expect(scope.counter).toEqual(0);\n
Login.c(90): scope.$watch('name', function(newValue, oldValue) {\n
Login.c(90): scope.counter = scope.counter + 1;\n
Login.c(90): });\n
Login.c(90): expect(scope.counter).toEqual(0);\n
Login.c(90): \n
Login.c(90): scope.$digest();\n
Login.c(90): // the listener is always called during the first
$digest loop after it was reg
Login.c(90): istered\n
Login.c(90): expect(scope.counter).toEqual(1);\n
Login.c(90): \n
Login.c(90): scope.$digest();\n
Login.c(90): // but now it will not be called unless the value
changes\n
Login.c(90): expect(scope.counter).toEqual(1);\n
Login.c(90): \n
Login.c(90): scope.name = 'adam';\n
Login.c(90): scope.$digest();\n
Login.c(90): expect(scope.counter).toEqual(2);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $digest: function() {\n
Login.c(90): var watch, value, last,\n
Login.c(90): watchers,\n
Login.c(90): asyncQueue = this.$$asyncQueue,\n
Login.c(90): postDigestQueue = this.$$postDigestQueue,\n
Login.c(90): length,\n
Login.c(90): dirty, ttl = TTL,\n
Login.c(90): next, current, target = this,\n
Login.c(90): watchLog = [],\n
Login.c(90): logIdx, logMsg, asyncTask;\n
Login.c(90): \n
Login.c(90): beginPhase('$digest');\n
Login.c(90): // Check for changes to browser url that happened in sync
before the call to $dige
Login.c(90): st\n
Login.c(90): $browser.$$checkUrlChange();\n
Login.c(90): \n
Login.c(90): lastDirtyWatch = null;\n
Login.c(90): \n
Login.c(90): do { // "while dirty" loop\n
Login.c(90): dirty = false;\n
Login.c(90): current = target;\n
Login.c(90): \n
Login.c(90): while(asyncQueue.length) {\n
Login.c(90): try {\n
Login.c(90): asyncTask = asyncQueue.shift();\n
Login.c(90): asyncTask.scope.$eval(asyncTask.expression);\n
Login.c(90): } catch (e) {\n
Login.c(90): clearPhase();\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): lastDirtyWatch = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): traverseScopesLoop:\n
Login.c(90): do { // "traverse the scopes" loop\n
Login.c(90): if ((watchers = current.$$watchers)) {\n
Login.c(90): // process our watches\n
Login.c(90): length = watchers.length;\n
Login.c(90): while (length--) {\n
Login.c(90): try {\n
Login.c(90): watch = watchers[length];\n
Login.c(90): // Most common watches are on primitives, in
which case we can short\n
Login.c(90): // circuit it with === operator, only when ===
fails do we use .equals\n
Login.c(90): if (watch) {\n
Login.c(90): if ((value = watch.get(current)) !== (last =
watch.last) &&\n
Login.c(90): !(watch.eq\n
Login.c(90): ? equals(value, last)\n
Login.c(90): : (typeof value === 'number' && typeof
last === 'number'\n
Login.c(90): && isNaN(value) && isNaN(last))))
{\n
Login.c(90): dirty = true;\n
Login.c(90): lastDirtyWatch = watch;\n
Login.c(90): watch.last = watch.eq ? copy(value, null) :
value;\n
Login.c(90): watch.fn(value, ((last === initWatchVal) ?
value : last), current);\n
Login.c(90): if (ttl < 5) {\n
Login.c(90): logIdx = 4 - ttl;\n
Login.c(90): if (!watchLog[logIdx]) watchLog[logIdx] =
[];\n
Login.c(90): logMsg = (isFunction(watch.exp))\n
Login.c(90): ? 'fn: ' + (watch.exp.name ||
watch.exp.toString())\n
Login.c(90): : watch.exp;\n
Login.c(90): logMsg += '; newVal: ' + toJson(value) +
'; oldVal: ' + toJson(las
Login.c(90): t);\n
Login.c(90): watchLog[logIdx].push(logMsg);\n
Login.c(90): }\n
Login.c(90): } else if (watch === lastDirtyWatch) {\n
Login.c(90): // If the most recently dirty watcher is now
clean, short circuit si
Login.c(90): nce the remaining watchers\n
Login.c(90): // have already been tested.\n
Login.c(90): dirty = false;\n
Login.c(90): break traverseScopesLoop;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } catch (e) {\n
Login.c(90): clearPhase();\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Insanity Warning: scope depth-first traversal\n
Login.c(90): // yes, this code is a bit crazy, but it works and we
have tests to prove it!\n
Login.c(90): // this piece should be kept in sync with the
traversal in $broadcast\n
Login.c(90): if (!(next = (current.$$childHead ||\n
Login.c(90): (current !== target && current.$$nextSibling))))
{\n
Login.c(90): while(current !== target && !(next = current.$
$nextSibling)) {\n
Login.c(90): current = current.$parent;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } while ((current = next));\n
Login.c(90): \n
Login.c(90): // `break traverseScopesLoop;` takes us to here\n
Login.c(90): \n
Login.c(90): if((dirty || asyncQueue.length) && !(ttl--)) {\n
Login.c(90): clearPhase();\n
Login.c(90): throw $rootScopeMinErr('infdig',\n
Login.c(90): '{0} $digest() iterations reached. Aborting!\\n'
+\n
Login.c(90): 'Watchers fired in the last 5 iterations: {1}',\n
Login.c(90): TTL, toJson(watchLog));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): } while (dirty || asyncQueue.length);\n
Login.c(90): \n
Login.c(90): clearPhase();\n
Login.c(90): \n
Login.c(90): while(postDigestQueue.length) {\n
Login.c(90): try {\n
Login.c(90): postDigestQueue.shift()();\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name $rootScope.Scope#$destroy\n
Login.c(90): * @eventType broadcast on scope being destroyed\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Broadcasted when a scope and its children are being
destroyed.\n
Login.c(90): *\n
Login.c(90): * Note that, in AngularJS, there is also a `$destroy`
jQuery event, which can be us
Login.c(90): ed to\n
Login.c(90): * clean up DOM bindings before an element is removed from
the DOM.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$destroy\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Removes the current scope (and all of its children) from
the parent scope. Remova
Login.c(90): l implies\n
Login.c(90): * that calls to {@link ng.$rootScope.Scope#$digest
$digest()} will no longer\n
Login.c(90): * propagate to the current scope and its children. Removal
also implies that the cu
Login.c(90): rrent\n
Login.c(90): * scope is eligible for garbage collection.\n
Login.c(90): *\n
Login.c(90): * The `$destroy()` is usually used by directives such as\n
Login.c(90): * {@link ng.directive:ngRepeat ngRepeat} for managing the\n
Login.c(90): * unrolling of the loop.\n
Login.c(90): *\n
Login.c(90): * Just before a scope is destroyed, a `$destroy` event is
broadcasted on this scope
Login.c(90): .\n
Login.c(90): * Application code can register a `$destroy` event handler
that will give it a chan
Login.c(90): ce to\n
Login.c(90): * perform any necessary cleanup.\n
Login.c(90): *\n
Login.c(90): * Note that, in AngularJS, there is also a `$destroy`
jQuery event, which can be us
Login.c(90): ed to\n
Login.c(90): * clean up DOM bindings before an element is removed from
the DOM.\n
Login.c(90): */\n
Login.c(90): $destroy: function() {\n
Login.c(90): // we can't destroy the root scope or a scope that has
been already destroyed\n
Login.c(90): if (this.$$destroyed) return;\n
Login.c(90): var parent = this.$parent;\n
Login.c(90): \n
Login.c(90): this.$broadcast('$destroy');\n
Login.c(90): this.$$destroyed = true;\n
Login.c(90): if (this === $rootScope) return;\n
Login.c(90): \n
Login.c(90): forEach(this.$$listenerCount, bind(null,
decrementListenerCount, this));\n
Login.c(90): \n
Login.c(90): // sever all the references to parent scopes (after this
cleanup, the current scop
Login.c(90): e should\n
Login.c(90): // not be retained by any of our references and should be
eligible for garbage col
Login.c(90): lection)\n
Login.c(90): if (parent.$$childHead == this) parent.$$childHead = this.
$$nextSibling;\n
Login.c(90): if (parent.$$childTail == this) parent.$$childTail = this.
$$prevSibling;\n
Login.c(90): if (this.$$prevSibling) this.$$prevSibling.$$nextSibling =
this.$$nextSibling;\n
Login.c(90): if (this.$$nextSibling) this.$$nextSibling.$$prevSibling =
this.$$prevSibling;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // All of the code below is bogus code that works around
V8's memory leak via opti
Login.c(90): mized code\n
Login.c(90): // and inline caches.\n
Login.c(90): //\n
Login.c(90): // see:\n
Login.c(90): // - https://code.google.com/p/v8/issues/detail?
id=2073#c26\n
Login.c(90): // -
https://github.com/angular/angular.js/issues/6794#issuecomment-38648909\n
Login.c(90): // -
https://github.com/angular/angular.js/issues/1313#issuecomment-10378451\n
Login.c(90): \n
Login.c(90): this.$parent = this.$$nextSibling = this.$$prevSibling =
this.$$childHead =\n
Login.c(90): this.$$childTail = this.$root = null;\n
Login.c(90): \n
Login.c(90): // don't reset these to null in case some async task tries
to register a listener/
Login.c(90): watch/task\n
Login.c(90): this.$$listeners = {};\n
Login.c(90): this.$$watchers = this.$$asyncQueue = this.$
$postDigestQueue = [];\n
Login.c(90): \n
Login.c(90): // prevent NPEs since these methods have references to
properties we nulled out\n
Login.c(90): this.$destroy = this.$digest = this.$apply = noop;\n
Login.c(90): this.$on = this.$watch = function() { return noop; };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$eval\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Executes the `expression` on the current scope and
returns the result. Any except
Login.c(90): ions in\n
Login.c(90): * the expression are propagated (uncaught). This is useful
when evaluating Angular\n
Login.c(90): * expressions.\n
Login.c(90): *\n
Login.c(90): * # Example\n
Login.c(90): * ```js\n
Login.c(90): var scope = ng.$rootScope.Scope();\n
Login.c(90): scope.a = 1;\n
Login.c(90): scope.b = 2;\n
Login.c(90): \n
Login.c(90): expect(scope.$eval('a+b')).toEqual(3);\n
Login.c(90): expect(scope.$eval(function(scope){ return scope.a +
scope.b; })).toEqual(3);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {(string|function())=} expression An angular
expression to be executed.\n
Login.c(90): *\n
Login.c(90): * - `string`: execute using the rules as defined in
{@link guide/expression exp
Login.c(90): ression}.\n
Login.c(90): * - `function(scope)`: execute the function with the
current `scope` parameter.\n
Login.c(90): *\n
Login.c(90): * @param {(object)=} locals Local variables object, useful
for overriding values in
Login.c(90): scope.\n
Login.c(90): * @returns {*} The result of evaluating the expression.\n
Login.c(90): */\n
Login.c(90): $eval: function(expr, locals) {\n
Login.c(90): return $parse(expr)(this, locals);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$evalAsync\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Executes the expression on the current scope at a later
point in time.\n
Login.c(90): *\n
Login.c(90): * The `$evalAsync` makes no guarantees as to when the
`expression` will be executed
Login.c(90): , only\n
Login.c(90): * that:\n
Login.c(90): *\n
Login.c(90): * - it will execute after the function that scheduled the
evaluation (preferably
Login.c(90): before DOM\n
Login.c(90): * rendering).\n
Login.c(90): * - at least one {@link ng.$rootScope.Scope#$digest
$digest cycle} will be perfor
Login.c(90): med after\n
Login.c(90): * `expression` execution.\n
Login.c(90): *\n
Login.c(90): * Any exceptions from the execution of the expression are
forwarded to the\n
Login.c(90): * {@link ng.$exceptionHandler $exceptionHandler} service.\n
Login.c(90): *\n
Login.c(90): * __Note:__ if this function is called outside of a
`$digest` cycle, a new `$digest
Login.c(90): ` cycle\n
Login.c(90): * will be scheduled. However, it is encouraged to always
call code that changes the
Login.c(90): model\n
Login.c(90): * from within an `$apply` call. That includes code
evaluated via `$evalAsync`.\n
Login.c(90): *\n
Login.c(90): * @param {(string|function())=} expression An angular
expression to be executed.\n
Login.c(90): *\n
Login.c(90): * - `string`: execute using the rules as defined in
{@link guide/expression expr
Login.c(90): ession}.\n
Login.c(90): * - `function(scope)`: execute the function with the
current `scope` parameter.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $evalAsync: function(expr) {\n
Login.c(90): // if we are outside of an $digest loop and this is the
first time we are scheduli
Login.c(90): ng async\n
Login.c(90): // task also schedule async auto-flush\n
Login.c(90): if (!$rootScope.$$phase && !$rootScope.$
$asyncQueue.length) {\n
Login.c(90): $browser.defer(function() {\n
Login.c(90): if ($rootScope.$$asyncQueue.length) {\n
Login.c(90): $rootScope.$digest();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$asyncQueue.p
Login.c(90): t=2989ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ush({scope: this, expression: expr});\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): $$postDigest : function(fn) {\n
Login.c(90): this.$$postDigestQueue.push(fn);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$apply\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$apply()` is used to execute an expression in angular
from outside of the angula
Login.c(90): r\n
Login.c(90): * framework. (For example from browser DOM events,
setTimeout, XHR or third party l
Login.c(90): ibraries).\n
Login.c(90): * Because we are calling into the angular framework we need
to perform proper scope
Login.c(90): life\n
Login.c(90): * cycle of {@link ng.$exceptionHandler exception
handling},\n
Login.c(90): * {@link ng.$rootScope.Scope#$digest executing watches}.\n
Login.c(90): *\n
Login.c(90): * ## Life cycle\n
Login.c(90): *\n
Login.c(90): * # Pseudo-Code of `$apply()`\n
Login.c(90): * ```js\n
Login.c(90): function $apply(expr) {\n
Login.c(90): try {\n
Login.c(90): return $eval(expr);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): } finally {\n
Login.c(90): $root.$digest();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Scope's `$apply()` method transitions through the
following stages:\n
Login.c(90): *\n
Login.c(90): * 1. The {@link guide/expression expression} is executed
using the\n
Login.c(90): * {@link ng.$rootScope.Scope#$eval $eval()} method.\n
Login.c(90): * 2. Any exceptions from the execution of the expression
are forwarded to the\n
Login.c(90): * {@link ng.$exceptionHandler $exceptionHandler}
service.\n
Login.c(90): * 3. The {@link ng.$rootScope.Scope#$watch watch} listeners
are fired immediately a
Login.c(90): fter the\n
Login.c(90): * expression was executed using the {@link ng.
$rootScope.Scope#$digest $digest()
Login.c(90): } method.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @param {(string|function())=} exp An angular expression
to be executed.\n
Login.c(90): *\n
Login.c(90): * - `string`: execute using the rules as defined in
{@link guide/expression expr
Login.c(90): ession}.\n
Login.c(90): * - `function(scope)`: execute the function with current
`scope` parameter.\n
Login.c(90): *\n
Login.c(90): * @returns {*} The result of evaluating the expression.\n
Login.c(90): */\n
Login.c(90): $apply: function(expr) {\n
Login.c(90): try {\n
Login.c(90): beginPhase('$apply');\n
Login.c(90): return this.$eval(expr);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): } finally {\n
Login.c(90): clearPhase();\n
Login.c(90): try {\n
Login.c(90): $rootScope.$digest();\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): throw e;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$on\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Listens on events of a given type. See {@link ng.
$rootScope.Scope#$emit $emit} fo
Login.c(90): r\n
Login.c(90): * discussion of event life cycle.\n
Login.c(90): *\n
Login.c(90): * The event listener function format is: `function(event,
args...)`. The `event` ob
Login.c(90): ject\n
Login.c(90): * passed into the listener has the following attributes:\n
Login.c(90): *\n
Login.c(90): * - `targetScope` - `{Scope}`: the scope on which the
event was `$emit`-ed or\n
Login.c(90): * `$broadcast`-ed.\n
Login.c(90): * - `currentScope` - `{Scope}`: the current scope which
is handling the event.\n
Login.c(90): * - `name` - `{string}`: name of the event.\n
Login.c(90): * - `stopPropagation` - `{function=}`: calling
`stopPropagation` function will ca
Login.c(90): ncel\n
Login.c(90): * further event propagation (available only for events
that were `$emit`-ed).\n
Login.c(90): * - `preventDefault` - `{function}`: calling
`preventDefault` sets `defaultPreven
Login.c(90): ted` flag\n
Login.c(90): * to true.\n
Login.c(90): * - `defaultPrevented` - `{boolean}`: true if
`preventDefault` was called.\n
Login.c(90): *\n
Login.c(90): * @param {string} name Event name to listen on.\n
Login.c(90): * @param {function(event, ...args)} listener Function to
call when the event is emi
Login.c(90): tted.\n
Login.c(90): * @returns {function()} Returns a deregistration function
for this listener.\n
Login.c(90): */\n
Login.c(90): $on: function(name, listener) {\n
Login.c(90): var namedListeners = this.$$listeners[name];\n
Login.c(90): if (!namedListeners) {\n
Login.c(90): this.$$listeners[name] = namedListeners = [];\n
Login.c(90): }\n
Login.c(90): namedListeners.push(listener);\n
Login.c(90): \n
Login.c(90): var current = this;\n
Login.c(90): do {\n
Login.c(90): if (!current.$$listenerCount[name]) {\n
Login.c(90): current.$$listenerCount[name] = 0;\n
Login.c(90): }\n
Login.c(90): current.$$listenerCount[name]++;\n
Login.c(90): } while ((current = current.$parent));\n
Login.c(90): \n
Login.c(90): var self = this;\n
Login.c(90): return function() {\n
Login.c(90): namedListeners[indexOf(namedListeners, listener)] =
null;\n
Login.c(90): decrementListenerCount(self, 1, name);\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$emit\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Dispatches an event `name` upwards through the scope
hierarchy notifying the\n
Login.c(90): * registered {@link ng.$rootScope.Scope#$on} listeners.\n
Login.c(90): *\n
Login.c(90): * The event life cycle starts at the scope on which `$emit`
was called. All\n
Login.c(90): * {@link ng.$rootScope.Scope#$on listeners} listening for
`name` event on this scop
Login.c(90): e get\n
Login.c(90): * notified. Afterwards, the event traverses upwards toward
the root scope and calls
Login.c(90): all\n
Login.c(90): * registered listeners along the way. The event will stop
propagating if one of the
Login.c(90): listeners\n
Login.c(90): * cancels it.\n
Login.c(90): *\n
Login.c(90): * Any exception emitted from the {@link ng.
$rootScope.Scope#$on listeners} will be
Login.c(90): passed\n
Login.c(90): * onto the {@link ng.$exceptionHandler $exceptionHandler}
service.\n
Login.c(90): *\n
Login.c(90): * @param {string} name Event name to emit.\n
Login.c(90): * @param {...*} args Optional one or more arguments which
will be passed onto the e
Login.c(90): vent listeners.\n
Login.c(90): * @return {Object} Event object (see {@link ng.
$rootScope.Scope#$on}).\n
Login.c(90): */\n
Login.c(90): $emit: function(name, args) {\n
Login.c(90): var empty = [],\n
Login.c(90): namedListeners,\n
Login.c(90): scope = this,\n
Login.c(90): stopPropagation = false,\n
Login.c(90): event = {\n
Login.c(90): name: name,\n
Login.c(90): targetScope: scope,\n
Login.c(90): stopPropagation: function() {stopPropagation =
true;},\n
Login.c(90): preventDefault: function() {\n
Login.c(90): event.defaultPrevented = true;\n
Login.c(90): },\n
Login.c(90): defaultPrevented: false\n
Login.c(90): },\n
Login.c(90): listenerArgs = concat([event], arguments, 1),\n
Login.c(90): i, length;\n
Login.c(90): \n
Login.c(90): do {\n
Login.c(90): namedListeners = scope.$$listeners[name] || empty;\n
Login.c(90): event.currentScope = scope;\n
Login.c(90): for (i=0, length=namedListeners.length; i<length; i++)
{\n
Login.c(90): \n
Login.c(90): // if listeners were deregistered, defragment the
array\n
Login.c(90): if (!namedListeners[i]) {\n
Login.c(90): namedListeners.splice(i, 1);\n
Login.c(90): i--;\n
Login.c(90): length--;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): try {\n
Login.c(90): //allow all listeners attached to the current scope
to run\n
Login.c(90): namedListeners[i].apply(null, listenerArgs);\n
Login.c(90): } catch (e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): //if any listener on the current scope stops
propagation, prevent bubbling\n
Login.c(90): if (stopPropagation) return event;\n
Login.c(90): //traverse upwards\n
Login.c(90): scope = scope.$parent;\n
Login.c(90): } while (scope);\n
Login.c(90): \n
Login.c(90): return event;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $rootScope.Scope#$broadcast\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Dispatches an event `name` downwards to all child scopes
(and their children) not
Login.c(90): ifying the\n
Login.c(90): * registered {@link ng.$rootScope.Scope#$on} listeners.\n
Login.c(90): *\n
Login.c(90): * The event life cycle starts at the scope on which
`$broadcast` was called. All\n
Login.c(90): * {@link ng.$rootScope.Scope#$on listeners} listening for
`name` event on this scop
Login.c(90): e get\n
Login.c(90): * notified. Afterwards, the event propagates to all direct
and indirect scopes of t
Login.c(90): he current\n
Login.c(90): * scope and calls all registered listeners along the way.
The event cannot be cance
Login.c(90): led.\n
Login.c(90): *\n
Login.c(90): * Any exception emitted from the {@link ng.
$rootScope.Scope#$on listeners} will be
Login.c(90): passed\n
Login.c(90): * onto the {@link ng.$exceptionHandler $exceptionHandler}
service.\n
Login.c(90): *\n
Login.c(90): * @param {string} name Event name to broadcast.\n
Login.c(90): * @param {...*} args Optional one or more arguments which
will be passed onto the e
Login.c(90): vent listeners.\n
Login.c(90): * @return {Object} Event object, see {@link ng.
$rootScope.Scope#$on}\n
Login.c(90): */\n
Login.c(90): $broadcast: function(name, args) {\n
Login.c(90): var target = this,\n
Login.c(90): current = target,\n
Login.c(90): next = target,\n
Login.c(90): event = {\n
Login.c(90): name: name,\n
Login.c(90): targetScope: target,\n
Login.c(90): preventDefault: function() {\n
Login.c(90): event.defaultPrevented = true;\n
Login.c(90): },\n
Login.c(90): defaultPrevented: false\n
Login.c(90): },\n
Login.c(90): listenerArgs = concat([event], arguments, 1),\n
Login.c(90): listeners, i, length;\n
Login.c(90): \n
Login.c(90): //down while you can, then up and next sibling or up and
next sibling until back a
Login.c(90): t root\n
Login.c(90): while ((current = next)) {\n
Login.c(90): event.currentScope = current;\n
Login.c(90): listeners = current.$$listeners[name] || [];\n
Login.c(90): for (i=0, length = listeners.length; i<length; i++) {\n
Login.c(90): // if listeners were deregistered, defragment the
array\n
Login.c(90): if (!listeners[i]) {\n
Login.c(90): listeners.splice(i, 1);\n
Login.c(90): i--;\n
Login.c(90): length--;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): listeners[i].apply(null, listenerArgs);\n
Login.c(90): } catch(e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Insanity Warning: scope depth-first traversal\n
Login.c(90): // yes, this code is a bit crazy, but it works and we
have tests to prove it!\n
Login.c(90): // this piece should be kept in sync with the traversal
in $digest\n
Login.c(90): // (though it differs due to having the extra check for
$$listenerCount)\n
Login.c(90): if (!(next = ((current.$$listenerCount[name] && current.
$$childHead) ||\n
Login.c(90): (current !== target && current.$$nextSibling)))) {\n
Login.c(90): while(current !== target && !(next = current.$
$nextSibling)) {\n
Login.c(90): current = current.$parent;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return event;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var $rootScope = new Scope();\n
Login.c(90): \n
Login.c(90): return $rootScope;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function beginPhase(phase) {\n
Login.c(90): if ($rootScope.$$phase) {\n
Login.c(90): throw $rootScopeMinErr('inprog', '{0} already in
progress', $rootScope.$$phase);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $rootScope.$$phase = phase;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function clearPhase() {\n
Login.c(90): $rootScope.$$phase = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function compileToFn(exp, name) {\n
Login.c(90): var fn = $parse(exp);\n
Login.c(90): assertArgFn(fn, name);\n
Login.c(90): return fn;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function decrementListenerCount(current, count, name) {\n
Login.c(90): do {\n
Login.c(90): current.$$listenerCount[name] -= count;\n
Login.c(90): \n
Login.c(90): if (current.$$listenerCount[name] === 0) {\n
Login.c(90): delete current.$$listenerCount[name];\n
Login.c(90): }\n
Login.c(90): } while ((current = current.$parent));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * function used as an initial value for watchers.\n
Login.c(90): * because it's unique we can easily tell it apart from other
values\n
Login.c(90): */\n
Login.c(90): function initWatchVal() {}\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @description\n
Login.c(90): * Private service to sanitize uris for links and images. Used by
$compile and $sanitize.\n
Login.c(90): */\n
Login.c(90): function $$SanitizeUriProvider() {\n
Login.c(90): var aHrefSanitizationWhitelist = /^\\s*(https?|ftp|mailto|tel|
file):/,\n
Login.c(90): imgSrcSanitizationWhitelist = /^\\s*((https?|ftp|file):|
data:image\\/)/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @description\n
Login.c(90): * Retrieves or overrides the default regular expression that is
used for whitelisting o
Login.c(90): f safe\n
Login.c(90): * urls during a[href] sanitization.\n
Login.c(90): *\n
Login.c(90): * The sanitization is a security measure aimed at prevent XSS
attacks via html links.\n
Login.c(90): *\n
Login.c(90): * Any url about to be assigned to a[href] via data-binding is
first normalized and turn
Login.c(90): ed into\n
Login.c(90): * an absolute url. Afterwards, the url is matched against the
`aHrefSanitizationWhiteli
Login.c(90): st`\n
Login.c(90): * regular expression. If a match is found, the original url is
written into the dom. Ot
Login.c(90): herwise,\n
Login.c(90): * the absolute url is prefixed with `'unsafe:'` string and only
then is it written into
Login.c(90): the DOM.\n
Login.c(90): *\n
Login.c(90): * @param {RegExp=} regexp New regexp to whitelist urls with.\n
Login.c(90): * @returns {RegExp|ng.$compileProvider} Current RegExp if
called without value or self
Login.c(90): for\n
Login.c(90): * chaining otherwise.\n
Login.c(90): */\n
Login.c(90): this.aHrefSanitizationWhitelist = function(regexp) {\n
Login.c(90): if (isDefined(regexp)) {\n
Login.c(90): aHrefSanitizationWhitelist = regexp;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): return aHrefSanitizationWhitelist;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @description\n
Login.c(90): * Retrieves or overrides the default regular expression that is
used for whitelisting o
Login.c(90): f safe\n
Login.c(90): * urls during img[src] sanitization.\n
Login.c(90): *\n
Login.c(90): * The sanitization is a security measure aimed
Login.c(90): t=3006ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): at prevent XSS attacks via html links.\n
Login.c(90): *\n
Login.c(90): * Any url about to be assigned to img[src] via data-binding is
first normalized and tur
Login.c(90): ned into\n
Login.c(90): * an absolute url. Afterwards, the url is matched against the
`imgSrcSanitizationWhitel
Login.c(90): ist`\n
Login.c(90): * regular expression. If a match is found, the original url is
written into the dom. Ot
Login.c(90): herwise,\n
Login.c(90): * the absolute url is prefixed with `'unsafe:'` string and only
then is it written into
Login.c(90): the DOM.\n
Login.c(90): *\n
Login.c(90): * @param {RegExp=} regexp New regexp to whitelist urls with.\n
Login.c(90): * @returns {RegExp|ng.$compileProvider} Current RegExp if
called without value or self
Login.c(90): for\n
Login.c(90): * chaining otherwise.\n
Login.c(90): */\n
Login.c(90): this.imgSrcSanitizationWhitelist = function(regexp) {\n
Login.c(90): if (isDefined(regexp)) {\n
Login.c(90): imgSrcSanitizationWhitelist = regexp;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): return imgSrcSanitizationWhitelist;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = function() {\n
Login.c(90): return function sanitizeUri(uri, isImage) {\n
Login.c(90): var regex = isImage ? imgSrcSanitizationWhitelist :
aHrefSanitizationWhitelist;\n
Login.c(90): var normalizedVal;\n
Login.c(90): // NOTE: urlResolve() doesn't support IE < 8 so we don't
sanitize for that case.\n
Login.c(90): if (!msie || msie >= 8 ) {\n
Login.c(90): normalizedVal = urlResolve(uri).href;\n
Login.c(90): if (normalizedVal !== '' && !normalizedVal.match(regex))
{\n
Login.c(90): return 'unsafe:'+normalizedVal;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return uri;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var $sceMinErr = minErr('$sce');\n
Login.c(90): \n
Login.c(90): var SCE_CONTEXTS = {\n
Login.c(90): HTML: 'html',\n
Login.c(90): CSS: 'css',\n
Login.c(90): URL: 'url',\n
Login.c(90): // RESOURCE_URL is a subtype of URL used in contexts where a
privileged resource is sour
Login.c(90): ced from a\n
Login.c(90): // url. (e.g. ng-include, script src, templateUrl)\n
Login.c(90): RESOURCE_URL: 'resourceUrl',\n
Login.c(90): JS: 'js'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Helper functions follow.\n
Login.c(90): \n
Login.c(90): // Copied from:\n
Login.c(90): // http://docs.closure-
library.googlecode.com/git/closure_goog_string_string.js.source.htm
Login.c(90): l#line962\n
Login.c(90): // Prereq: s is a string.\n
Login.c(90): function escapeForRegexp(s) {\n
Login.c(90): return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, '\\\\
$1').\n
Login.c(90): replace(/\\x08/g, '\\\\x08');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function adjustMatcher(matcher) {\n
Login.c(90): if (matcher === 'self') {\n
Login.c(90): return matcher;\n
Login.c(90): } else if (isString(matcher)) {\n
Login.c(90): // Strings match exactly except for 2 wildcards - '*' and
'**'.\n
Login.c(90): // '*' matches any character except those from the set ':/.?
&'.\n
Login.c(90): // '**' matches any character (like .* in a RegExp).\n
Login.c(90): // More than 2 *'s raises an error as it's ill defined.\n
Login.c(90): if (matcher.indexOf('***') > -1) {\n
Login.c(90): throw $sceMinErr('iwcard',\n
Login.c(90): 'Illegal sequence *** in string matcher. String: {0}',
matcher);\n
Login.c(90): }\n
Login.c(90): matcher = escapeForRegexp(matcher).\n
Login.c(90): replace('\\\\*\\\\*', '.*').\n
Login.c(90): replace('\\\\*', '[^:/.?&;]*');\n
Login.c(90): return new RegExp('^' + matcher + '$');\n
Login.c(90): } else if (isRegExp(matcher)) {\n
Login.c(90): // The only other type of matcher allowed is a Regexp.\n
Login.c(90): // Match entire URL / disallow partial matches.\n
Login.c(90): // Flags are reset (i.e. no global, ignoreCase or multiline)\n
Login.c(90): return new RegExp('^' + matcher.source + '$');\n
Login.c(90): } else {\n
Login.c(90): throw $sceMinErr('imatcher',\n
Login.c(90): 'Matchers may only be "self", string patterns or RegExp
objects');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function adjustMatchers(matchers) {\n
Login.c(90): var adjustedMatchers = [];\n
Login.c(90): if (isDefined(matchers)) {\n
Login.c(90): forEach(matchers, function(matcher) {\n
Login.c(90): adjustedMatchers.push(adjustMatcher(matcher));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): return adjustedMatchers;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $sceDelegate\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * `$sceDelegate` is a service that is used by the `$sce` service
to provide {@link ng.$sc
Login.c(90): e Strict\n
Login.c(90): * Contextual Escaping (SCE)} services to AngularJS.\n
Login.c(90): *\n
Login.c(90): * Typically, you would configure or override the {@link ng.
$sceDelegate $sceDelegate} ins
Login.c(90): tead of\n
Login.c(90): * the `$sce` service to customize the way Strict Contextual
Escaping works in AngularJS.
Login.c(90): This is\n
Login.c(90): * because, while the `$sce` provides numerous shorthand methods,
etc., you really only ne
Login.c(90): ed to\n
Login.c(90): * override 3 core functions (`trustAs`, `getTrusted` and
`valueOf`) to replace the way th
Login.c(90): ings\n
Login.c(90): * work because `$sce` delegates to `$sceDelegate` for these
operations.\n
Login.c(90): *\n
Login.c(90): * Refer {@link ng.$sceDelegateProvider $sceDelegateProvider} to
configure this service.\n
Login.c(90): *\n
Login.c(90): * The default instance of `$sceDelegate` should work out of the
box with little pain. Wh
Login.c(90): ile you\n
Login.c(90): * can override it completely to change the behavior of `$sce`,
the common case would\n
Login.c(90): * involve configuring the {@link ng.$sceDelegateProvider
$sceDelegateProvider} instead by
Login.c(90): setting\n
Login.c(90): * your own whitelists and blacklists for trusting URLs used for
loading AngularJS resourc
Login.c(90): es such as\n
Login.c(90): * templates. Refer {@link ng.
$sceDelegateProvider#resourceUrlWhitelist\n
Login.c(90): * $sceDelegateProvider.resourceUrlWhitelist} and {@link\n
Login.c(90): * ng.$sceDelegateProvider#resourceUrlBlacklist
$sceDelegateProvider.resourceUrlBlacklist}
Login.c(90): \n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $sceDelegateProvider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * The `$sceDelegateProvider` provider allows developers to
configure the {@link ng.$sceDe
Login.c(90): legate\n
Login.c(90): * $sceDelegate} service. This allows one to get/set the
whitelists and blacklists used t
Login.c(90): o ensure\n
Login.c(90): * that the URLs used for sourcing Angular templates are safe.
Refer {@link\n
Login.c(90): * ng.$sceDelegateProvider#resourceUrlWhitelist
$sceDelegateProvider.resourceUrlWhitelist}
Login.c(90): and\n
Login.c(90): * {@link ng.$sceDelegateProvider#resourceUrlBlacklist
$sceDelegateProvider.resourceUrlBla
Login.c(90): cklist}\n
Login.c(90): *\n
Login.c(90): * For the general details about this service in Angular, read the
main page for {@link ng
Login.c(90): .$sce\n
Login.c(90): * Strict Contextual Escaping (SCE)}.\n
Login.c(90): *\n
Login.c(90): * **Example**: Consider the following case. <a
name="example"></a>\n
Login.c(90): *\n
Login.c(90): * - your app is hosted at url `http://myapp.example.com/`\n
Login.c(90): * - but some of your templates are hosted on other domains you
control such as\n
Login.c(90): * `http://srv01.assets.example.com/`,\xC2\xA0
`http://srv02.assets.example.com/`, etc.\n
Login.c(90): * - and you have an open redirect at
`http://myapp.example.com/clickThru?...`.\n
Login.c(90): *\n
Login.c(90): * Here is what a secure configuration for this scenario might
look like:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * angular.module('myApp',
[]).config(function($sceDelegateProvider) {\n
Login.c(90): * $sceDelegateProvider.resourceUrlWhitelist([\n
Login.c(90): * // Allow same origin resource loads.\n
Login.c(90): * 'self',\n
Login.c(90): * // Allow loading from our assets domain. Notice the
difference between * and **.\n
Login.c(90): * 'http://srv*.assets.example.com/**'\n
Login.c(90): * ]);\n
Login.c(90): *\n
Login.c(90): * // The blacklist overrides the whitelist so the open
redirect here is blocked.\n
Login.c(90): * $sceDelegateProvider.resourceUrlBlacklist([\n
Login.c(90): * 'http://myapp.example.com/clickThru**'\n
Login.c(90): * ]);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function $SceDelegateProvider() {\n
Login.c(90): this.SCE_CONTEXTS = SCE_CONTEXTS;\n
Login.c(90): \n
Login.c(90): // Resource URLs can also be trusted by policy.\n
Login.c(90): var resourceUrlWhitelist = ['self'],\n
Login.c(90): resourceUrlBlacklist = [];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceDelegateProvider#resourceUrlWhitelist\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @param {Array=} whitelist When provided, replaces the
resourceUrlWhitelist with the v
Login.c(90): alue\n
Login.c(90): * provided. This must be an array or null. A snapshot of
this array is used so fu
Login.c(90): rther\n
Login.c(90): * changes to the array are ignored.\n
Login.c(90): *\n
Login.c(90): * Follow {@link ng.$sce#resourceUrlPatternItem this link}
for a description of the
Login.c(90): items\n
Login.c(90): * allowed in this array.\n
Login.c(90): *\n
Login.c(90): * Note: **an empty whitelist array will block all URLs**!\n
Login.c(90): *\n
Login.c(90): * @return {Array} the currently set whitelist array.\n
Login.c(90): *\n
Login.c(90): * The **default value** when no whitelist has been explicitly
set is `['self']` allowin
Login.c(90): g only\n
Login.c(90): * same origin resource requests.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets/Gets the whitelist of trusted resource URLs.\n
Login.c(90): */\n
Login.c(90): this.resourceUrlWhitelist = function (value) {\n
Login.c(90): if (arguments.length) {\n
Login.c(90): resourceUrlWhitelist = adjustMatchers(value);\n
Login.c(90): }\n
Login.c(90): return resourceUrlWhitelist;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceDelegateProvider#resourceUrlBlacklist\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @param {Array=} blacklist When provided, replaces the
resourceUrlBlacklist with the v
Login.c(90): alue\n
Login.c(90): * provided. This must be an array or null. A snapshot of
this array is used so fu
Login.c(90): rther\n
Login.c(90): * changes to the array are ignored.\n
Login.c(90): *\n
Login.c(90): * Follow {@link ng.$sce#resourceUrlPatternItem this link}
for a description of the
Login.c(90): items\n
Login.c(90): * allowed in this array.\n
Login.c(90): *\n
Login.c(90): * The typical usage for the blacklist is to **block\n
Login.c(90): * [open redirects]
(http://cwe.mitre.org/data/definitions/601.html)** served by your
Login.c(90): domain as\n
Login.c(90): * these would otherwise be trusted but actually return
content from the redirected
Login.c(90): domain.\n
Login.c(90): *\n
Login.c(90): * Finally, **the blacklist overrides the whitelist** and
has the final say.\n
Login.c(90): *\n
Login.c(90): * @return {Array} the currently set blacklist array.\n
Login.c(90): *\n
Login.c(90): * The **default value** when no whitelist has been explicitly
set is the empty array (i
Login.c(90): .e. there\n
Login.c(90): * is no blacklist.)\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets/Gets the blacklist of trusted resource URLs.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): this.resourceUrlBlacklist = function (value) {\n
Login.c(90): if (arguments.length) {\n
Login.c(90): resourceUrlBlacklist = adjustMatchers(value);\n
Login.c(90): }\n
Login.c(90): return resourceUrlBlacklist;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$injector', function($injector) {\n
Login.c(90): \n
Login.c(90): var htmlSanitizer = function htmlSanitizer(html) {\n
Login.c(90): throw $sceMinErr('unsafe', 'Attempting to use an unsafe
value in a safe context.');\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if ($injector.has('$sanitize')) {\n
Login.c(90): htmlSanitizer = $injector.get('$sanitize');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function matchUrl(matcher, parsedUrl) {\n
Login.c(90): if (matcher === 'self') {\n
Login.c(90): return urlIsSameOrigin(parsedUrl);\n
Login.c(90): } else {\n
Login.c(90): // definitely a regex. See adjustMatchers()\n
Login.c(90): return !!matcher.exec(parsedUrl.href);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isResourceUrlAllowedByPolicy(url) {\n
Login.c(90): var parsedUrl = urlResolve(url.toString());\n
Login.c(90): var i, n, allowed = false;\n
Login.c(90): // Ensure that at least one item from the whitelist allows
this url.\n
Login.c(90): for (i = 0, n = resourceUrlWhitelist.length; i < n; i++) {\n
Login.c(90): if (matchUrl(resourceUrlWhitelist[i], parsedUrl)) {\n
Login.c(90): allowed = true;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (allowed) {\n
Login.c(90): // Ensure that no item from the blacklist blocked this
url.\n
Login.c(90): for (i = 0, n = resourceUrlBlacklist.length; i < n; i++)
{\n
Login.c(90): if (matchUrl(resourceUrlBlacklist[i], parsedUrl)) {\n
Login.c(90): allowed = false;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return allowed;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function generateHolderType(Base) {\n
Login.c(90): var holderType = function
TrustedValueHolderType(trustedValue) {\n
Login.c(90): this.$$unwrapTrustedValue = function() {\n
Login.c(90): return trustedValue;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): if (Base) {\n
Login.c(90): holderType.prototype = new Base();\n
Login.c(90): }\n
Login.c(90): holderType.prototype.valueOf = function sceValueOf() {\n
Login.c(90): return this.$$unwrapTrustedValue();\n
Login.c(90): };\n
Login.c(90): holderType.prototype.toString = function sceToString() {\n
Login.c(90): return this.$$unwrapTrustedValue().toString();\n
Login.c(90): };\n
Login.c(90): return holderType;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var trustedValueHolderBase = generateHolderType(),\n
Login.c(90): byType = {};\n
Login.c(90): \n
Login.c(90): byType[SCE_CONTEXTS.HTML] =
generateHolderType(trustedValueHolderBase);\n
Login.c(90): byType[SCE_CONTEXTS.CSS] =
generateHolderType(trustedValueHolderBase);\n
Login.c(90): byType[SCE_CONTEXTS.URL] =
generateHolderType(trustedValueHolderBase);\n
Login.c(90): byType[SCE_CONTEXTS.JS] =
generateHolderType(trustedValueHolderBase);\n
Login.c(90): byType[SCE_CONTEXTS.RESOURCE_URL] =
generateHolderType(byType[SCE_CONTEXTS.URL]);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceDelegate#trustAs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns an object that is trusted by angular for use in
specified strict\n
Login.c(90): * contextual escaping contexts (such as ng-bind-html, ng-
include, any src\n
Login.c(90): * attribute interpolation, any dom event binding attribute
interpolation\n
Login.c(90): * such as for onclick, etc.) that uses the provided value.\n
Login.c(90): * See {@link ng.$sce $sce} for enabling strict contextual
escaping.\n
Login.c(90): *\n
Login.c(90): * @param {string} type The kind of context in which this
value is safe for use. e.g.
Login.c(90): url,\n
Login.c(90): * resourceUrl, html, js and css.\n
Login.c(90): * @param {*} value The value that that should be considered
trusted/safe.\n
Login.c(90): * @returns {*} A value that can be used to stand in for the
provided `value` in place
Login.c(90): s\n
Login.c(90): * where Angular expects a $sce.trustAs() return value.\n
Login.c(90): */\n
Login.c(90): function trustAs(type, trustedValue) {\n
Login.c(90): var Constructor = (byType.hasOwnProperty(type) ?
byType[type] : null);\n
Login.c(90): if (!Constructor) {\n
Login.c(90): throw $sceMinErr('icontext',\n
Login.c(90): 'Attempted to trust a value in invalid context.
Context: {0}; Value: {1}',\n
Login.c(90): type, trustedValue);\n
Login.c(90): }\n
Login.c(90): if (trustedValue === nul
Login.c(90): t=3022ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): l || trustedValue === undefined || trustedValue === '') {\n
Login.c(90): return trustedValue;\n
Login.c(90): }\n
Login.c(90): // All the current contexts in SCE_CONTEXTS happen to be
strings. In order to avoid
Login.c(90): trusting\n
Login.c(90): // mutable objects, we ensure here that the value passed in
is actually a string.\n
Login.c(90): if (typeof trustedValue !== 'string') {\n
Login.c(90): throw $sceMinErr('itype',\n
Login.c(90): 'Attempted to trust a non-string value in a content
requiring a string: Contex
Login.c(90): t: {0}',\n
Login.c(90): type);\n
Login.c(90): }\n
Login.c(90): return new Constructor(trustedValue);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceDelegate#valueOf\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * If the passed parameter had been returned by a prior call
to {@link ng.$sceDelegate
Login.c(90): #trustAs\n
Login.c(90): * `$sceDelegate.trustAs`}, returns the value that had been
passed to {@link\n
Login.c(90): * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}.\n
Login.c(90): *\n
Login.c(90): * If the passed parameter is not a value that had been
returned by {@link\n
Login.c(90): * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}, returns it
as-is.\n
Login.c(90): *\n
Login.c(90): * @param {*} value The result of a prior {@link ng.
$sceDelegate#trustAs `$sceDelegate
Login.c(90): .trustAs`}\n
Login.c(90): * call or anything else.\n
Login.c(90): * @returns {*} The `value` that was originally provided to
{@link ng.$sceDelegate#tru
Login.c(90): stAs\n
Login.c(90): * `$sceDelegate.trustAs`} if `value` is the result of
such a call. Otherwise, re
Login.c(90): turns\n
Login.c(90): * `value` unchanged.\n
Login.c(90): */\n
Login.c(90): function valueOf(maybeTrusted) {\n
Login.c(90): if (maybeTrusted instanceof trustedValueHolderBase) {\n
Login.c(90): return maybeTrusted.$$unwrapTrustedValue();\n
Login.c(90): } else {\n
Login.c(90): return maybeTrusted;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceDelegate#getTrusted\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Takes the result of a {@link ng.$sceDelegate#trustAs
`$sceDelegate.trustAs`} call a
Login.c(90): nd\n
Login.c(90): * returns the originally supplied value if the queried
context type is a supertype of
Login.c(90): the\n
Login.c(90): * created type. If this condition isn't satisfied, throws an
exception.\n
Login.c(90): *\n
Login.c(90): * @param {string} type The kind of context in which this
value is to be used.\n
Login.c(90): * @param {*} maybeTrusted The result of a prior {@link ng.
$sceDelegate#trustAs\n
Login.c(90): * `$sceDelegate.trustAs`} call.\n
Login.c(90): * @returns {*} The value the was originally provided to
{@link ng.$sceDelegate#trustA
Login.c(90): s\n
Login.c(90): * `$sceDelegate.trustAs`} if valid in this context.
Otherwise, throws an excepti
Login.c(90): on.\n
Login.c(90): */\n
Login.c(90): function getTrusted(type, maybeTrusted) {\n
Login.c(90): if (maybeTrusted === null || maybeTrusted === undefined ||
maybeTrusted === '') {\n
Login.c(90): return maybeTrusted;\n
Login.c(90): }\n
Login.c(90): var constructor = (byType.hasOwnProperty(type) ?
byType[type] : null);\n
Login.c(90): if (constructor && maybeTrusted instanceof constructor) {\n
Login.c(90): return maybeTrusted.$$unwrapTrustedValue();\n
Login.c(90): }\n
Login.c(90): // If we get here, then we may only take one of two
actions.\n
Login.c(90): // 1. sanitize the value for the requested type, or\n
Login.c(90): // 2. throw an exception.\n
Login.c(90): if (type === SCE_CONTEXTS.RESOURCE_URL) {\n
Login.c(90): if (isResourceUrlAllowedByPolicy(maybeTrusted)) {\n
Login.c(90): return maybeTrusted;\n
Login.c(90): } else {\n
Login.c(90): throw $sceMinErr('insecurl',\n
Login.c(90): 'Blocked loading resource from url not allowed by
$sceDelegate policy. URL:
Login.c(90): {0}',\n
Login.c(90): maybeTrusted.toString());\n
Login.c(90): }\n
Login.c(90): } else if (type === SCE_CONTEXTS.HTML) {\n
Login.c(90): return htmlSanitizer(maybeTrusted);\n
Login.c(90): }\n
Login.c(90): throw $sceMinErr('unsafe', 'Attempting to use an unsafe
value in a safe context.');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return { trustAs: trustAs,\n
Login.c(90): getTrusted: getTrusted,\n
Login.c(90): valueOf: valueOf };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $sceProvider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * The $sceProvider provider allows developers to configure the
{@link ng.$sce $sce} servi
Login.c(90): ce.\n
Login.c(90): * - enable/disable Strict Contextual Escaping (SCE) in a
module\n
Login.c(90): * - override the default implementation with a custom
delegate\n
Login.c(90): *\n
Login.c(90): * Read more about {@link ng.$sce Strict Contextual Escaping
(SCE)}.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /* jshint maxlen: false*/\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $sce\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * `$sce` is a service that provides Strict Contextual Escaping
services to AngularJS.\n
Login.c(90): *\n
Login.c(90): * # Strict Contextual Escaping\n
Login.c(90): *\n
Login.c(90): * Strict Contextual Escaping (SCE) is a mode in which AngularJS
requires bindings in cert
Login.c(90): ain\n
Login.c(90): * contexts to result in a value that is marked as safe to use for
that context. One exam
Login.c(90): ple of\n
Login.c(90): * such a context is binding arbitrary html controlled by the user
via `ng-bind-html`. We
Login.c(90): refer\n
Login.c(90): * to these contexts as privileged or SCE contexts.\n
Login.c(90): *\n
Login.c(90): * As of version 1.2, Angular ships with SCE enabled by default.\n
Login.c(90): *\n
Login.c(90): * Note: When enabled (the default), IE8 in quirks mode is not
supported. In this mode,
Login.c(90): IE8 allows\n
Login.c(90): * one to execute arbitrary javascript by the use of the
expression() syntax. Refer\n
Login.c(90): * <http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-
expressions.aspx> to learn more a
Login.c(90): bout them.\n
Login.c(90): * You can ensure your document is in standards mode and not
quirks mode by adding `<!doct
Login.c(90): ype html>`\n
Login.c(90): * to the top of your HTML document.\n
Login.c(90): *\n
Login.c(90): * SCE assists in writing code in way that (a) is secure by
default and (b) makes auditing
Login.c(90): for\n
Login.c(90): * security vulnerabilities such as XSS, clickjacking, etc. a lot
easier.\n
Login.c(90): *\n
Login.c(90): * Here's an example of a binding in a privileged context:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * <input ng-model="userHtml">\n
Login.c(90): * <div ng-bind-html="userHtml"></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Notice that `ng-bind-html` is bound to `userHtml` controlled by
the user. With SCE\n
Login.c(90): * disabled, this application allows the user to render arbitrary
HTML into the DIV.\n
Login.c(90): * In a more realistic example, one may be rendering user
comments, blog articles, etc. vi
Login.c(90): a\n
Login.c(90): * bindings. (HTML is just one example of a context where
rendering user controlled input
Login.c(90): creates\n
Login.c(90): * security vulnerabilities.)\n
Login.c(90): *\n
Login.c(90): * For the case of HTML, you might use a library, either on the
client side, or on the ser
Login.c(90): ver side,\n
Login.c(90): * to sanitize unsafe HTML before binding to the value and
rendering it in the document.\n
Login.c(90): *\n
Login.c(90): * How would you ensure that every place that used these types of
bindings was bound to a
Login.c(90): value that\n
Login.c(90): * was sanitized by your library (or returned as safe for
rendering by your server?) How
Login.c(90): can you\n
Login.c(90): * ensure that you didn't accidentally delete the line that
sanitized the value, or rename
Login.c(90): d some\n
Login.c(90): * properties/fields and forgot to update the binding to the
sanitized value?\n
Login.c(90): *\n
Login.c(90): * To be secure by default, you want to ensure that any such
bindings are disallowed unles
Login.c(90): s you can\n
Login.c(90): * determine that something explicitly says it's safe to use a
value for binding in that\n
Login.c(90): * context. You can then audit your code (a simple grep would do)
to ensure that this is
Login.c(90): only done\n
Login.c(90): * for those values that you can easily tell are safe - because
they were received from yo
Login.c(90): ur server,\n
Login.c(90): * sanitized by your library, etc. You can organize your codebase
to help with this - per
Login.c(90): haps\n
Login.c(90): * allowing only the files in a specific directory to do this.
Ensuring that the internal
Login.c(90): API\n
Login.c(90): * exposed by that code doesn't markup arbitrary values as safe
then becomes a more manage
Login.c(90): able task.\n
Login.c(90): *\n
Login.c(90): * In the case of AngularJS' SCE service, one uses {@link ng.
$sce#trustAs $sce.trustAs}\n
Login.c(90): * (and shorthand methods such as {@link ng.$sce#trustAsHtml
$sce.trustAsHtml}, etc.) to\n
Login.c(90): * obtain values that will be accepted by SCE / privileged
contexts.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ## How does it work?\n
Login.c(90): *\n
Login.c(90): * In privileged contexts, directives and code will bind to the
result of {@link ng.$sce#g
Login.c(90): etTrusted\n
Login.c(90): * $sce.getTrusted(context, value)} rather than to the value
directly. Directives use {@l
Login.c(90): ink\n
Login.c(90): * ng.$sce#parse $sce.parseAs} rather than `$parse` to watch
attribute bindings, which per
Login.c(90): forms the\n
Login.c(90): * {@link ng.$sce#getTrusted $sce.getTrusted} behind the scenes on
non-constant literals.\n
Login.c(90): *\n
Login.c(90): * As an example, {@link ng.directive:ngBindHtml ngBindHtml} uses
{@link\n
Login.c(90): * ng.$sce#parseAsHtml $sce.parseAsHtml(binding expression)}.
Here's the actual code (sli
Login.c(90): ghtly\n
Login.c(90): * simplified):\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * var ngBindHtmlDirective = ['$sce', function($sce) {\n
Login.c(90): * return function(scope, element, attr) {\n
Login.c(90): * scope.$watch($sce.parseAsHtml(attr.ngBindHtml),
function(value) {\n
Login.c(90): * element.html(value || '');\n
Login.c(90): * });\n
Login.c(90): * };\n
Login.c(90): * }];\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Impact on loading templates\n
Login.c(90): *\n
Login.c(90): * This applies both to the {@link ng.directive:ngInclude `ng-
include`} directive as well
Login.c(90): as\n
Login.c(90): * `templateUrl`'s specified by {@link guide/directive
directives}.\n
Login.c(90): *\n
Login.c(90): * By default, Angular only loads templates from the same domain
and protocol as the appli
Login.c(90): cation\n
Login.c(90): * document. This is done by calling {@link ng.
$sce#getTrustedResourceUrl\n
Login.c(90): * $sce.getTrustedResourceUrl} on the template URL. To load
templates from other domains
Login.c(90): and/or\n
Login.c(90): * protocols, you may either either {@link ng.
$sceDelegateProvider#resourceUrlWhitelist wh
Login.c(90): itelist\n
Login.c(90): * them} or {@link ng.$sce#trustAsResourceUrl wrap it} into a
trusted value.\n
Login.c(90): *\n
Login.c(90): * *Please note*:\n
Login.c(90): * The browser's\n
Login.c(90): * [Same Origin Policy]
(https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy
Login.c(90): _for_XMLHttpRequest)\n
Login.c(90): * and [Cross-Origin Resource Sharing (CORS)]
(http://www.w3.org/TR/cors/)\n
Login.c(90): * policy apply in addition to this and may further restrict
whether the template is succe
Login.c(90): ssfully\n
Login.c(90): * loaded. This means that without the right CORS policy, loading
templates from a differ
Login.c(90): ent domain\n
Login.c(90): * won't work on all browsers. Also, loading templates from
`file://` URL does not work o
Login.c(90): n some\n
Login.c(90): * browsers.\n
Login.c(90): *\n
Login.c(90): * ## This feels like too much overhead for the developer?\n
Login.c(90): *\n
Login.c(90): * It's important to remember that SCE only applies to
interpolation expressions.\n
Login.c(90): *\n
Login.c(90): * If your expressions are constant literals, they're
automatically trusted and you don't
Login.c(90): need to\n
Login.c(90): * call `$sce.trustAs` on them (remember to include the
`ngSanitize` module) (e.g.\n
Login.c(90): * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just
works.\n
Login.c(90): *\n
Login.c(90): * Additionally, `a[href]` and `img[src]` automatically sanitize
their URLs and do not pas
Login.c(90): s them\n
Login.c(90): * through {@link ng.$sce#getTrusted $sce.getTrusted}. SCE
doesn't play a role here.\n
Login.c(90): *\n
Login.c(90): * The included {@link ng.$sceDelegate $sceDelegate} comes with
sane defaults to allow you
Login.c(90): to load\n
Login.c(90): * templates in `ng-include` from your application's domain
without having to even know ab
Login.c(90): out SCE.\n
Login.c(90): * It blocks loading templates from other domains or loading
templates over http from an h
Login.c(90): ttps\n
Login.c(90): * served document. You can change these by setting your own
custom {@link\n
Login.c(90): * ng.$sceDelegateProvider#resourceUrlWhitelist whitelists} and
{@link\n
Login.c(90): * ng.$sceDelegateProvider#resourceUrlBlacklist blacklists} for
matching such URLs.\n
Login.c(90): *\n
Login.c(90): * This significantly reduces the overhead. It is far easier to
pay the small overhead an
Login.c(90): d have an\n
Login.c(90): * application that's secure and can be audited to verify that
with much more ease than bo
Login.c(90): lting\n
Login.c(90): * security onto an application later.\n
Login.c(90): *\n
Login.c(90): * <a name="contexts"></a>\n
Login.c(90): * ## What trusted context types are supported?\n
Login.c(90): *\n
Login.c(90): * | Context | Notes |\n
Login.c(90): * |---------------------|----------------|\n
Login.c(90): * | `$sce.HTML` | For HTML that's safe to source into the
application. The {@lin
Login.c(90): k ng.directive:ngBindHtml ngBindHtml} directive uses this context
for bindings. If an unsa
Login.c(90): fe value is encountered and the {@link ngSanitize $sanitize}
module is present this will s
Login.c(90): anitize the value instead of throwing an error. |\n
Login.c(90): * | `$sce.CSS` | For CSS that's safe to source into the
application. Currently
Login.c(90): unused. Feel free to use it in your own directives. |\n
Login.c(90): * | `$sce.URL` | For URLs that are safe to follow as
links. Currently unused (`
Login.c(90): <a href=` and `<img src=` sanitize their urls and don't constitute
an SCE context. |\n
Login.c(90): * | `$sce.RESOURCE_URL` | For URLs that are not only safe to
follow as links, but whose c
Login.c(90): ontents are also safe to include in your application. Examples
include `ng-include`, `src
Login.c(90): ` / `ngSrc` bindings for tags other than `IMG` (e.g. `IFRAME`,
`OBJECT`, etc.) <br><br>No
Login.c(90): te that `$sce.RESOURCE_URL` makes a stronger statement about the
URL than `$sce.URL` does
Login.c(90): and therefore contexts requiring values trusted for
`$sce.RESOURCE_URL` can be used anywhe
Login.c(90): re that values trusted for `$sce.URL` are required. |\n
Login.c(90): * | `$sce.JS` | For JavaScript that is safe to execute
in your application's co
Login.c(90): ntext. Currently unused. Feel free to use it in your own
directives. |\n
Login.c(90): *\n
Login.c(90): * ## Format of items in {@link ng.
$sceDelegateProvider#resourceUrlWhitelist resourceUrlWh
Login.c(90): itelist}/{@link ng.$sceDelegateProvider#resourceUrlBlacklist
Blacklist} <a name="resourceU
Login.c(90): rlPatternItem"></a>\n
Login.c(90): *\n
Login.c(90): * Each ele
Login.c(90): t=3037ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ment in these arrays must be one of the following:\n
Login.c(90): *\n
Login.c(90): * - **'self'**\n
Login.c(90): * - The special **string**, `'self'`, can be used to match
against all URLs of the **s
Login.c(90): ame\n
Login.c(90): * domain** as the application document using the **same
protocol**.\n
Login.c(90): * - **String** (except the special value `'self'`)\n
Login.c(90): * - The string is matched against the full *normalized /
absolute URL* of the resource
Login.c(90): \n
Login.c(90): * being tested (substring matches are not good enough.)\n
Login.c(90): * - There are exactly **two wildcard sequences** - `*` and
`**`. All other characters
Login.c(90): \n
Login.c(90): * match themselves.\n
Login.c(90): * - `*`: matches zero or more occurrences of any character
other than one of the follo
Login.c(90): wing 6\n
Login.c(90): * characters: '`:`', '`/`', '`.`', '`?`', '`&`' and ';'.
It's a useful wildcard for
Login.c(90): use\n
Login.c(90): * in a whitelist.\n
Login.c(90): * - `**`: matches zero or more occurrences of *any* character.
As such, it's not\n
Login.c(90): * not appropriate to use in for a scheme, domain, etc. as it
would match too much.
Login.c(90): (e.g.\n
Login.c(90): * http://**.example.com/ would match http://evil.com/?
ignore=.example.com/ and that
Login.c(90): might\n
Login.c(90): * not have been the intention.) Its usage at the very end
of the path is ok. (e.g.
Login.c(90): \n
Login.c(90): * http://foo.example.com/templates/**).\n
Login.c(90): * - **RegExp** (*see caveat below*)\n
Login.c(90): * - *Caveat*: While regular expressions are powerful and
offer great flexibility, th
Login.c(90): eir syntax\n
Login.c(90): * (and all the inevitable escaping) makes them *harder to
maintain*. It's easy to\n
Login.c(90): * accidentally introduce a bug when one updates a complex
expression (imho, all rege
Login.c(90): xes should\n
Login.c(90): * have good test coverage.). For instance, the use of `.`
in the regex is correct o
Login.c(90): nly in a\n
Login.c(90): * small number of cases. A `.` character in the regex used
when matching the scheme
Login.c(90): or a\n
Login.c(90): * subdomain could be matched against a `:` or literal `.`
that was likely not intend
Login.c(90): ed. It\n
Login.c(90): * is highly recommended to use the string patterns and only
fall back to regular exp
Login.c(90): ressions\n
Login.c(90): * if they as a last resort.\n
Login.c(90): * - The regular expression must be an instance of RegExp (i.e.
not a string.) It is\n
Login.c(90): * matched against the **entire** *normalized / absolute URL*
of the resource being t
Login.c(90): ested\n
Login.c(90): * (even when the RegExp did not have the `^` and `$` codes.)
In addition, any flags
Login.c(90): \n
Login.c(90): * present on the RegExp (such as multiline, global,
ignoreCase) are ignored.\n
Login.c(90): * - If you are generating your JavaScript from some other
templating engine (not\n
Login.c(90): * recommended, e.g. in issue [#4006]
(https://github.com/angular/angular.js/issues/40
Login.c(90): 06)),\n
Login.c(90): * remember to escape your regular expression (and be aware
that you might need more
Login.c(90): than\n
Login.c(90): * one level of escaping depending on your templating engine
and the way you interpol
Login.c(90): ated\n
Login.c(90): * the value.) Do make use of your platform's escaping
mechanism as it might be good
Login.c(90): \n
Login.c(90): * enough before coding your own. e.g. Ruby has\n
Login.c(90): * [Regexp.escape(str)](http://www.ruby-doc.org/core-
2.0.0/Regexp.html#method-c-escap
Login.c(90): e)\n
Login.c(90): * and Python has [re.escape]
(http://docs.python.org/library/re.html#re.escape).\n
Login.c(90): * Javascript lacks a similar built in function for escaping.
Take a look at Google\n
Login.c(90): * Closure library's [goog.string.regExpEscape(s)](\n
Login.c(90): * http://docs.closure-
library.googlecode.com/git/closure_goog_string_string.js.sourc
Login.c(90): e.html#line962).\n
Login.c(90): *\n
Login.c(90): * Refer {@link ng.$sceDelegateProvider $sceDelegateProvider} for
an example.\n
Login.c(90): *\n
Login.c(90): * ## Show me an example using SCE.\n
Login.c(90): *\n
Login.c(90): * <example module="mySceApp" deps="angular-sanitize.js">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <div ng-controller="myAppController as myCtrl">\n
Login.c(90): * <i ng-bind-html="myCtrl.explicitlyTrustedHtml"
id="explicitlyTrustedHtml"></i><br><
Login.c(90): br>\n
Login.c(90): * <b>User comments</b><br>\n
Login.c(90): * By default, HTML that isn't explicitly trusted (e.g.
Alice's comment) is sanitized
Login.c(90): when\n
Login.c(90): * $sanitize is available. If $sanitize isn't available, this
results in an error ins
Login.c(90): tead of an\n
Login.c(90): * exploit.\n
Login.c(90): * <div class="well">\n
Login.c(90): * <div ng-repeat="userComment in myCtrl.userComments">\n
Login.c(90): * <b>{{userComment.name}}</b>:\n
Login.c(90): * <span ng-bind-html="userComment.htmlComment"
class="htmlComment"></span>\n
Login.c(90): * <br>\n
Login.c(90): * </div>\n
Login.c(90): * </div>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): *\n
Login.c(90): * <file name="script.js">\n
Login.c(90): * var mySceApp = angular.module('mySceApp', ['ngSanitize']);\n
Login.c(90): *\n
Login.c(90): * mySceApp.controller("myAppController", function
myAppController($http, $templateCache
Login.c(90): , $sce) {\n
Login.c(90): * var self = this;\n
Login.c(90): * $http.get("test_data.json", {cache:
$templateCache}).success(function(userComments)
Login.c(90): {\n
Login.c(90): * self.userComments = userComments;\n
Login.c(90): * });\n
Login.c(90): * self.explicitlyTrustedHtml = $sce.trustAsHtml(\n
Login.c(90): * '<span onmouseover="this.textContent=&quot;Explicitly
trusted HTML bypasses ' +
Login.c(90): \n
Login.c(90): * 'sanitization.&quot;">Hover over this text.</span>');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): *\n
Login.c(90): * <file name="test_data.json">\n
Login.c(90): * [\n
Login.c(90): * { "name": "Alice",\n
Login.c(90): * "htmlComment":\n
Login.c(90): * "<span onmouseover='this.textContent=\\"PWN3D!\\"'>Is
<i>anyone</i> reading thi
Login.c(90): s?</span>"\n
Login.c(90): * },\n
Login.c(90): * { "name": "Bob",\n
Login.c(90): * "htmlComment": "<i>Yes!</i> Am I the only other one?"\n
Login.c(90): * }\n
Login.c(90): * ]\n
Login.c(90): * </file>\n
Login.c(90): *\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * describe('SCE doc demo', function() {\n
Login.c(90): * it('should sanitize untrusted values', function() {\n
Login.c(90): *
expect(element.all(by.css('.htmlComment')).first().getInnerHtml())\n
Login.c(90): * .toBe('<span>Is <i>anyone</i> reading this?
</span>');\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * it('should NOT sanitize explicitly trusted values',
function() {\n
Login.c(90): *
expect(element(by.id('explicitlyTrustedHtml')).getInnerHtml()).toBe(\n
Login.c(90): * '<span onmouseover="this.textContent=&quot;Explicitly
trusted HTML bypasses '
Login.c(90): +\n
Login.c(90): * 'sanitization.&quot;">Hover over this
text.</span>');\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ## Can I disable SCE completely?\n
Login.c(90): *\n
Login.c(90): * Yes, you can. However, this is strongly discouraged. SCE
gives you a lot of security
Login.c(90): benefits\n
Login.c(90): * for little coding overhead. It will be much harder to take an
SCE disabled application
Login.c(90): and\n
Login.c(90): * either secure it on your own or enable SCE at a later stage.
It might make sense to di
Login.c(90): sable SCE\n
Login.c(90): * for cases where you have a lot of existing code that was
written before SCE was introdu
Login.c(90): ced and\n
Login.c(90): * you're migrating them a module at a time.\n
Login.c(90): *\n
Login.c(90): * That said, here's how you can completely disable SCE:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * angular.module('myAppWithSceDisabledmyApp',
[]).config(function($sceProvider) {\n
Login.c(90): * // Completely disable SCE. For demonstration purposes
only!\n
Login.c(90): * // Do not use in new projects.\n
Login.c(90): * $sceProvider.enabled(false);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): /* jshint maxlen: 100 */\n
Login.c(90): \n
Login.c(90): function $SceProvider() {\n
Login.c(90): var enabled = true;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sceProvider#enabled\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} value If provided, then enables/disables
SCE.\n
Login.c(90): * @return {boolean} true if SCE is enabled, false otherwise.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Enables/disables SCE and returns the current value.\n
Login.c(90): */\n
Login.c(90): this.enabled = function (value) {\n
Login.c(90): if (arguments.length) {\n
Login.c(90): enabled = !!value;\n
Login.c(90): }\n
Login.c(90): return enabled;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /* Design notes on the default implementation for SCE.\n
Login.c(90): *\n
Login.c(90): * The API contract for the SCE delegate\n
Login.c(90): * -------------------------------------\n
Login.c(90): * The SCE delegate object must provide the following 3
methods:\n
Login.c(90): *\n
Login.c(90): * - trustAs(contextEnum, value)\n
Login.c(90): * This method is used to tell the SCE service that the
provided value is OK to use
Login.c(90): in the\n
Login.c(90): * contexts specified by contextEnum. It must return an
object that will be accepte
Login.c(90): d by\n
Login.c(90): * getTrusted() for a compatible contextEnum and return this
value.\n
Login.c(90): *\n
Login.c(90): * - valueOf(value)\n
Login.c(90): * For values that were not produced by trustAs(), return
them as is. For values th
Login.c(90): at were\n
Login.c(90): * produced by trustAs(), return the corresponding input
value to trustAs. Basicall
Login.c(90): y, if\n
Login.c(90): * trustAs is wrapping the given values into some type, this
operation unwraps it wh
Login.c(90): en given\n
Login.c(90): * such a value.\n
Login.c(90): *\n
Login.c(90): * - getTrusted(contextEnum, value)\n
Login.c(90): * This function should return the a value that is safe to
use in the context specif
Login.c(90): ied by\n
Login.c(90): * contextEnum or throw and exception otherwise.\n
Login.c(90): *\n
Login.c(90): * NOTE: This contract deliberately does NOT state that values
returned by trustAs() mus
Login.c(90): t be\n
Login.c(90): * opaque or wrapped in some holder object. That happens to be
an implementation detail
Login.c(90): . For\n
Login.c(90): * instance, an implementation could maintain a registry of all
trusted objects by conte
Login.c(90): xt. In\n
Login.c(90): * such a case, trustAs() would return the same object that was
passed in. getTrusted()
Login.c(90): would\n
Login.c(90): * return the same object passed in if it was found in the
registry under a compatible c
Login.c(90): ontext or\n
Login.c(90): * throw an exception otherwise. An implementation might only
wrap values some of the t
Login.c(90): ime based\n
Login.c(90): * on some criteria. getTrusted() might return a value and not
throw an exception for s
Login.c(90): pecial\n
Login.c(90): * constants or objects even if not wrapped. All such
implementations fulfill this cont
Login.c(90): ract.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * A note on the inheritance model for SCE contexts\n
Login.c(90): * ------------------------------------------------\n
Login.c(90): * I've used inheritance and made RESOURCE_URL wrapped types a
subtype of URL wrapped ty
Login.c(90): pes. This\n
Login.c(90): * is purely an implementation details.\n
Login.c(90): *\n
Login.c(90): * The contract is simply this:\n
Login.c(90): *\n
Login.c(90): * getTrusted($sce.RESOURCE_URL, value) succeeding implies
that getTrusted($sce.URL,
Login.c(90): value)\n
Login.c(90): * will also succeed.\n
Login.c(90): *\n
Login.c(90): * Inheritance happens to capture this in a natural way. In
some future, we\n
Login.c(90): * may not use inheritance anymore. That is OK because no code
outside of\n
Login.c(90): * sce.js and sceSpecs.js would need to be aware of this
detail.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): this.$get = ['$parse', '$sniffer', '$sceDelegate', function(\n
Login.c(90): $parse, $sniffer, $sceDelegate) {\n
Login.c(90): // Prereq: Ensure that we're not running in IE8 quirks mode.
In that mode, IE allows\n
Login.c(90): // the "expression(javascript expression)" syntax which is
insecure.\n
Login.c(90): if (enabled && $sniffer.msie && $sniffer.msieDocumentMode < 8)
{\n
Login.c(90): throw $sceMinErr('iequirks',\n
Login.c(90): 'Strict Contextual Escaping does not support Internet
Explorer version < 9 in quir
Login.c(90): ks ' +\n
Login.c(90): 'mode. You can fix this by adding the text <!doctype
html> to the top of your HTM
Login.c(90): L ' +\n
Login.c(90): 'document. See http://docs.angularjs.org/api/ng.$sce for
more information.');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var sce = shallowCopy(SCE_CONTEXTS);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#isEnabled\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @return {Boolean} true if SCE is enabled, false otherwise.
If you want to set the
Login.c(90): value, you\n
Login.c(90): * have to do it at module config time on {@link ng.
$sceProvider $sceProvider}.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns a boolean indicating if SCE is enabled.\n
Login.c(90): */\n
Login.c(90): sce.isEnabled = function () {\n
Login.c(90): return enabled;\n
Login.c(90): };\n
Login.c(90): sce.trustAs = $sceDelegate.trustAs;\n
Login.c(90): sce.getTrusted = $sceDelegate.getTrusted;\n
Login.c(90): sce.valueOf = $sceDelegate.valueOf;\n
Login.c(90): \n
Login.c(90): if (!enabled) {\n
Login.c(90): sce.trustAs = sce.getTrusted = function(type, value)
{ return value; };\n
Login.c(90): sce.valueOf = identity;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Converts Angular {@link guide/expression expression} into a
function. This is like
Login.c(90): {@link\n
Login.c(90): * ng.$parse $parse} and is identical when the expression is a
literal constant. Othe
Login.c(90): rwise, it\n
Login.c(90): * wraps the expression in a call to {@link ng.$sce#getTrusted
$sce.getTrusted(*type*,
Login.c(90): \n
Login.c(90): * *result*)}\n
Login.c(90): *\n
Login.c(90): * @param {string} type The kind of SCE context in which this
result will be used.\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): sce.parseAs = function sceParseAs(type, expr) {\n
Login.c(90): var parsed = $parse(expr);\n
Login.c(90): if (parsed.literal && parsed.constant) {\n
Login.c(90): return parsed;\n
Login.c(90): } else {\n
Login.c(90): return function sceParseAsTrusted(self, locals) {\n
Login.c(90): return sce.getTrusted(type, parsed(self, locals));\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#trustAs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Delegates to {@link ng.$
Login.c(90): t=3051ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): sceDelegate#trustAs `$sceDelegate.trustAs`}. As such,\n
Login.c(90): * returns an object that is trusted by angular for use in
specified strict contextual
Login.c(90): \n
Login.c(90): * escaping contexts (such as ng-bind-html, ng-include, any
src attribute\n
Login.c(90): * interpolation, any dom event binding attribute
interpolation such as for onclick,
Login.c(90): etc.)\n
Login.c(90): * that uses the provided value. See * {@link ng.$sce $sce}
for enabling strict conte
Login.c(90): xtual\n
Login.c(90): * escaping.\n
Login.c(90): *\n
Login.c(90): * @param {string} type The kind of context in which this
value is safe for use. e.g.
Login.c(90): url,\n
Login.c(90): * resource_url, html, js and css.\n
Login.c(90): * @param {*} value The value that that should be considered
trusted/safe.\n
Login.c(90): * @returns {*} A value that can be used to stand in for the
provided `value` in place
Login.c(90): s\n
Login.c(90): * where Angular expects a $sce.trustAs() return value.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#trustAsHtml\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.trustAsHtml(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#trustAs
`$sceDelegate.trustAs($sce.HTML, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to trustAs.\n
Login.c(90): * @returns {*} An object that can be passed to {@link ng.
$sce#getTrustedHtml\n
Login.c(90): * $sce.getTrustedHtml(value)} to obtain the original
value. (privileged directiv
Login.c(90): es\n
Login.c(90): * only accept expressions that are either literal
constants or are the\n
Login.c(90): * return value of {@link ng.$sce#trustAs
$sce.trustAs}.)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#trustAsUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.trustAsUrl(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#trustAs
`$sceDelegate.trustAs($sce.URL, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to trustAs.\n
Login.c(90): * @returns {*} An object that can be passed to {@link ng.
$sce#getTrustedUrl\n
Login.c(90): * $sce.getTrustedUrl(value)} to obtain the original
value. (privileged directive
Login.c(90): s\n
Login.c(90): * only accept expressions that are either literal
constants or are the\n
Login.c(90): * return value of {@link ng.$sce#trustAs
$sce.trustAs}.)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#trustAsResourceUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.trustAsResourceUrl(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#trustAs
`$sceDelegate.trustAs($sce.RESOURCE_URL, value)`
Login.c(90): }\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to trustAs.\n
Login.c(90): * @returns {*} An object that can be passed to {@link ng.
$sce#getTrustedResourceUrl\n
Login.c(90): * $sce.getTrustedResourceUrl(value)} to obtain the
original value. (privileged d
Login.c(90): irectives\n
Login.c(90): * only accept expressions that are either literal
constants or are the return\n
Login.c(90): * value of {@link ng.$sce#trustAs $sce.trustAs}.)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#trustAsJs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.trustAsJs(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#trustAs
`$sceDelegate.trustAs($sce.JS, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to trustAs.\n
Login.c(90): * @returns {*} An object that can be passed to {@link ng.
$sce#getTrustedJs\n
Login.c(90): * $sce.getTrustedJs(value)} to obtain the original value.
(privileged directives
Login.c(90): \n
Login.c(90): * only accept expressions that are either literal
constants or are the\n
Login.c(90): * return value of {@link ng.$sce#trustAs
$sce.trustAs}.)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrusted\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Delegates to {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted`}. As such
Login.c(90): ,\n
Login.c(90): * takes the result of a {@link ng.$sce#trustAs
`$sce.trustAs`}() call and returns the
Login.c(90): \n
Login.c(90): * originally supplied value if the queried context type is a
supertype of the created
Login.c(90): type.\n
Login.c(90): * If this condition isn't satisfied, throws an exception.\n
Login.c(90): *\n
Login.c(90): * @param {string} type The kind of context in which this
value is to be used.\n
Login.c(90): * @param {*} maybeTrusted The result of a prior {@link ng.
$sce#trustAs `$sce.trustAs`
Login.c(90): }\n
Login.c(90): * call.\n
Login.c(90): * @returns {*} The value the was originally provided to\n
Login.c(90): * {@link ng.$sce#trustAs `$sce.trustAs`} if
valid in this context.\n
Login.c(90): * Otherwise, throws an exception.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrustedHtml\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.getTrustedHtml(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted($sce.HTML, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to pass to `$sce.getTrusted`.\n
Login.c(90): * @returns {*} The return value of
`$sce.getTrusted($sce.HTML, value)`\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrustedCss\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.getTrustedCss(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted($sce.CSS, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to pass to `$sce.getTrusted`.\n
Login.c(90): * @returns {*} The return value of `$sce.getTrusted($sce.CSS,
value)`\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrustedUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.getTrustedUrl(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted($sce.URL, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to pass to `$sce.getTrusted`.\n
Login.c(90): * @returns {*} The return value of `$sce.getTrusted($sce.URL,
value)`\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrustedResourceUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.getTrustedResourceUrl(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted($sce.RESOURCE_URL, v
Login.c(90): alue)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to pass to
`$sceDelegate.getTrusted`.\n
Login.c(90): * @returns {*} The return value of
`$sce.getTrusted($sce.RESOURCE_URL, value)`\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#getTrustedJs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.getTrustedJs(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sceDelegate#getTrusted
`$sceDelegate.getTrusted($sce.JS, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {*} value The value to pass to `$sce.getTrusted`.\n
Login.c(90): * @returns {*} The return value of `$sce.getTrusted($sce.JS,
value)`\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAsHtml\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.parseAsHtml(expression string)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sce#parse `$sce.parseAs($sce.HTML,
value)`}\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAsCss\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.parseAsCss(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sce#parse `$sce.parseAs($sce.CSS, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAsUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.parseAsUrl(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sce#parse `$sce.parseAs($sce.URL, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAsResourceUrl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.parseAsResourceUrl(value)`
\xE2\x86\x92\n
Login.c(90): * {@link ng.$sce#parse `$sce.parseAs($sce.RESOURCE_URL,
value)`}\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $sce#parseAsJs\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Shorthand method. `$sce.parseAsJs(value)` \xE2\x86\x92\n
Login.c(90): * {@link ng.$sce#parse `$sce.parseAs($sce.JS, value)`}\n
Login.c(90): *\n
Login.c(90): * @param {string} expression String expression to compile.\n
Login.c(90): * @returns {function(context, locals)} a function which
represents the compiled expre
Login.c(90): ssion:\n
Login.c(90): *\n
Login.c(90): * * `context` \xE2\x80\x93 `{object}` \xE2\x80\x93 an
object against which any exp
Login.c(90): ressions embedded in the strings\n
Login.c(90): * are evaluated against (typically a scope object).\n
Login.c(90): * * `locals` \xE2\x80\x93 `{object=}` \xE2\x80\x93 local
variables context object,
Login.c(90): useful for overriding values in\n
Login.c(90): * `context`.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): // Shorthand delegations.\n
Login.c(90): var parse = sce.parseAs,\n
Login.c(90): getTrusted = sce.getTrusted,\n
Login.c(90): trustAs = sce.trustAs;\n
Login.c(90): \n
Login.c(90): forEach(SCE_CONTEXTS, function (enumValue, name) {\n
Login.c(90): var lName = lowercase(name);\n
Login.c(90): sce[camelCase("parse_as_" + lName)] = function (expr) {\n
Login.c(90): return parse(enumValue, expr);\n
Login.c(90): };\n
Login.c(90): sce[camelCase("get_trusted_" + lName)] = function (value)
{\n
Login.c(90): return getTrusted(enumValue, value);\n
Login.c(90): };\n
Login.c(90): sce[camelCase("trust_as_" + lName)] = function (value) {\n
Login.c(90): return trustAs(enumValue, value);\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return sce;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * !!! This is an undocumented "private" service !!!\n
Login.c(90): *\n
Login.c(90): * @name $sniffer\n
Login.c(90): * @requires $window\n
Login.c(90): * @requires $document\n
Login.c(90): *\n
Login.c(90): * @property {boolean} history Does the browser support html5
history api ?\n
Login.c(90): * @property {boolean} hashchange Does the browser support
hashchange event ?\n
Login.c(90): * @property {boolean} transitions Does the browser support CSS
transition events ?\n
Login.c(90): * @property {boolean} animations Does the browser support CSS
animation events ?\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This is very simple implementation of testing browser's
features.\n
Login.c(90): */\n
Login.c(90): function $SnifferProvider() {\n
Login.c(90): this.$get = ['$window', '$document', function($window,
$document) {\n
Login.c(90): var eventSupport = {},\n
Login.c(90): android =\n
Login.c(90): int((/android (\\d+)/.exec(lowercase(($window.navigator
|| {}).userAgent)) || []
Login.c(90): )[1]),\n
Login.c(90): boxee = /Boxee/i.test(($window.navigator ||
{}).userAgent),\n
Login.c(90): document = $document[0] || {},\n
Login.c(90): documentMode = document.documentMode,\n
Login.c(90): vendorPrefix,\n
Login.c(90): vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/,\n
Login.c(90): bodyStyle = document.body && document.body.style,\n
Login.c(90): transitions = false,\n
Login.c(90): animations = false,\n
Login.c(90): match;\n
Login.c(90): \n
Login.c(90): if (bodyStyle) {\n
Login.c(90): for(var prop in bodyStyle) {\n
Login.c(90): if(match = vendorRegex.exec(prop)) {\n
Login.c(90): vendorPrefix = match[0];\n
Login.c(90): vendorPrefix = vendorPrefix.substr(0, 1).toUpperCase() +
vendorPrefix.substr(1);
Login.c(90): \n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if(!vendorPrefix) {\n
Login.c(90): vendorPrefix = ('WebkitOpacity' in bodyStyle) &&
'webkit';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): transitions = !!(('transition' in bodyStyle) ||
(vendorPrefix + 'Transition' in body
Login.c(90): Style));\n
Login.c(90): animations = !!(('animation' in bodyStyle) || (vendorPrefix
+ 'Animation' in bodySt
Login.c(90): yle));\n
Login.c(90): \n
Login.c(90): if (android && (!transitions||!animations)) {\n
Login.c(90): transitions =
isString(document.body.style.webkitTransition);\n
Login.c(90): animations =
isString(document.body.style.webkitAnimation);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): // Android has history.pushState, but it does not update
location correctly\n
Login.c(90): // so let's not use the history API at all.\n
Login.c(90): // http://code.google.com/p/android/issues/detail?id=17471
Login.c(90): t=3071ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): \n
Login.c(90): // https://github.com/angular/angular.js/issues/904\n
Login.c(90): \n
Login.c(90): // older webkit browser (533.9) on Boxee box has exactly the
same problem as Android
Login.c(90): has\n
Login.c(90): // so let's not use the history API also\n
Login.c(90): // We are purposefully using `!(android < 4)` to cover the
case when `android` is un
Login.c(90): defined\n
Login.c(90): // jshint -W018\n
Login.c(90): history: !!($window.history && $window.history.pushState
&& !(android < 4) && !boxee
Login.c(90): ),\n
Login.c(90): // jshint +W018\n
Login.c(90): hashchange: 'onhashchange' in $window &&\n
Login.c(90): // IE8 compatible mode lies\n
Login.c(90): (!documentMode || documentMode > 7),\n
Login.c(90): hasEvent: function(event) {\n
Login.c(90): // IE9 implements 'input' event it's so fubared that we
rather pretend that it doe
Login.c(90): sn't have\n
Login.c(90): // it. In particular the event is not fired when backspace
or delete key are press
Login.c(90): ed or\n
Login.c(90): // when cut operation is performed.\n
Login.c(90): if (event == 'input' && msie == 9) return false;\n
Login.c(90): \n
Login.c(90): if (isUndefined(eventSupport[event])) {\n
Login.c(90): var divElm = document.createElement('div');\n
Login.c(90): eventSupport[event] = 'on' + event in divElm;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return eventSupport[event];\n
Login.c(90): },\n
Login.c(90): csp: csp(),\n
Login.c(90): vendorPrefix: vendorPrefix,\n
Login.c(90): transitions : transitions,\n
Login.c(90): animations : animations,\n
Login.c(90): android: android,\n
Login.c(90): msie : msie,\n
Login.c(90): msieDocumentMode: documentMode\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function $TimeoutProvider() {\n
Login.c(90): this.$get = ['$rootScope', '$browser', '$q',
'$exceptionHandler',\n
Login.c(90): function($rootScope, $browser, $q, $exceptionHandler)
{\n
Login.c(90): var deferreds = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $timeout\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Angular's wrapper for `window.setTimeout`. The `fn`
function is wrapped into a try
Login.c(90): /catch\n
Login.c(90): * block and delegates any exceptions to\n
Login.c(90): * {@link ng.$exceptionHandler $exceptionHandler} service.\n
Login.c(90): *\n
Login.c(90): * The return value of registering a timeout function is a
promise, which will be res
Login.c(90): olved when\n
Login.c(90): * the timeout is reached and the timeout function is
executed.\n
Login.c(90): *\n
Login.c(90): * To cancel a timeout request, call
`$timeout.cancel(promise)`.\n
Login.c(90): *\n
Login.c(90): * In tests you can use {@link ngMock.$timeout
`$timeout.flush()`} to\n
Login.c(90): * synchronously flush the queue of deferred functions.\n
Login.c(90): *\n
Login.c(90): * @param {function()} fn A function, whose execution should
be delayed.\n
Login.c(90): * @param {number=} [delay=0] Delay in milliseconds.\n
Login.c(90): * @param {boolean=} [invokeApply=true] If set to `false`
skips model dirty checking,
Login.c(90): otherwise\n
Login.c(90): * will invoke `fn` within the {@link ng.
$rootScope.Scope#$apply $apply} block.\n
Login.c(90): * @returns {Promise} Promise that will be resolved when the
timeout is reached. The
Login.c(90): value this\n
Login.c(90): * promise will be resolved with is the return value of the
`fn` function.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function timeout(fn, delay, invokeApply) {\n
Login.c(90): var deferred = $q.defer(),\n
Login.c(90): promise = deferred.promise,\n
Login.c(90): skipApply = (isDefined(invokeApply) && !invokeApply),\n
Login.c(90): timeoutId;\n
Login.c(90): \n
Login.c(90): timeoutId = $browser.defer(function() {\n
Login.c(90): try {\n
Login.c(90): deferred.resolve(fn());\n
Login.c(90): } catch(e) {\n
Login.c(90): deferred.reject(e);\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): finally {\n
Login.c(90): delete deferreds[promise.$$timeoutId];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!skipApply) $rootScope.$apply();\n
Login.c(90): }, delay);\n
Login.c(90): \n
Login.c(90): promise.$$timeoutId = timeoutId;\n
Login.c(90): deferreds[timeoutId] = deferred;\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $timeout#cancel\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Cancels a task associated with the `promise`. As a result
of this, the promise wil
Login.c(90): l be\n
Login.c(90): * resolved with a rejection.\n
Login.c(90): *\n
Login.c(90): * @param {Promise=} promise Promise returned by the
`$timeout` function.\n
Login.c(90): * @returns {boolean} Returns `true` if the task hasn't
executed yet and was successf
Login.c(90): ully\n
Login.c(90): * canceled.\n
Login.c(90): */\n
Login.c(90): timeout.cancel = function(promise) {\n
Login.c(90): if (promise && promise.$$timeoutId in deferreds) {\n
Login.c(90): deferreds[promise.$$timeoutId].reject('canceled');\n
Login.c(90): delete deferreds[promise.$$timeoutId];\n
Login.c(90): return $browser.defer.cancel(promise.$$timeoutId);\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return timeout;\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // NOTE: The usage of window and document instead of $window and
$document here is\n
Login.c(90): // deliberate. This service depends on the specific behavior of
anchor nodes created by t
Login.c(90): he\n
Login.c(90): // browser (resolving and parsing URLs) that is unlikely to be
provided by mock objects an
Login.c(90): d\n
Login.c(90): // cause us to break tests. In addition, when the browser
resolves a URL for XHR, it\n
Login.c(90): // doesn't know about mocked locations and resolves URLs to the
real document - which is\n
Login.c(90): // exactly the behavior needed here. There is little value is
mocking these out for this\n
Login.c(90): // service.\n
Login.c(90): var urlParsingNode = document.createElement("a");\n
Login.c(90): var originUrl = urlResolve(window.location.href, true);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): *\n
Login.c(90): * Implementation Notes for non-IE browsers\n
Login.c(90): * ----------------------------------------\n
Login.c(90): * Assigning a URL to the href property of an anchor DOM node,
even one attached to the DO
Login.c(90): M,\n
Login.c(90): * results both in the normalizing and parsing of the URL.
Normalizing means that a relat
Login.c(90): ive\n
Login.c(90): * URL will be resolved into an absolute URL in the context of the
application document.\n
Login.c(90): * Parsing means that the anchor node's host, hostname, protocol,
port, pathname and relat
Login.c(90): ed\n
Login.c(90): * properties are all populated to reflect the normalized URL.
This approach has wide\n
Login.c(90): * compatibility - Safari 1+, Mozilla 1+, Opera 7+,e etc. See\n
Login.c(90): *
http://www.aptana.com/reference/html/api/HTMLAnchorElement.html\n
Login.c(90): *\n
Login.c(90): * Implementation Notes for IE\n
Login.c(90): * ---------------------------\n
Login.c(90): * IE >= 8 and <= 10 normalizes the URL when assigned to the
anchor node similar to the ot
Login.c(90): her\n
Login.c(90): * browsers. However, the parsed components will not be set if
the URL assigned did not s
Login.c(90): pecify\n
Login.c(90): * them. (e.g. if you assign a.href = "foo", then a.protocol,
a.host, etc. will be empty.
Login.c(90): ) We\n
Login.c(90): * work around that by performing the parsing in a 2nd step by
taking a previously normali
Login.c(90): zed\n
Login.c(90): * URL (e.g. by assigning to a.href) and assigning it a.href
again. This correctly popula
Login.c(90): tes the\n
Login.c(90): * properties such as protocol, hostname, port, etc.\n
Login.c(90): *\n
Login.c(90): * IE7 does not normalize the URL when assigned to an anchor node.
(Apparently, it does,
Login.c(90): if one\n
Login.c(90): * uses the inner HTML approach to assign the URL as part of an
HTML snippet -\n
Login.c(90): * http://stackoverflow.com/a/472729) However, setting img[src]
does normalize the URL.\n
Login.c(90): * Unfortunately, setting img[src] to something like
"javascript:foo" on IE throws an exce
Login.c(90): ption.\n
Login.c(90): * Since the primary usage for normalizing URLs is to sanitize
such URLs, we can't use tha
Login.c(90): t\n
Login.c(90): * method and IE < 8 is unsupported.\n
Login.c(90): *\n
Login.c(90): * References:\n
Login.c(90): * http://developer.mozilla.org/en-
US/docs/Web/API/HTMLAnchorElement\n
Login.c(90): *
http://www.aptana.com/reference/html/api/HTMLAnchorElement.html\n
Login.c(90): * http://url.spec.whatwg.org/#urlutils\n
Login.c(90): * https://github.com/angular/angular.js/pull/2902\n
Login.c(90): * http://james.padolsey.com/javascript/parsing-urls-with-the-
dom/\n
Login.c(90): *\n
Login.c(90): * @kind function\n
Login.c(90): * @param {string} url The URL to be parsed.\n
Login.c(90): * @description Normalizes and parses a URL.\n
Login.c(90): * @returns {object} Returns the normalized URL as a dictionary.\n
Login.c(90): *\n
Login.c(90): * | member name | Description |\n
Login.c(90): * |---------------|----------------|\n
Login.c(90): * | href | A normalized version of the provided URL if
it was not an absolute
Login.c(90): URL |\n
Login.c(90): * | protocol | The protocol including the trailing colon

Login.c(90): |\n
Login.c(90): * | host | The host and port (if the port is non-
default) of the normalizedUrl
Login.c(90): |\n
Login.c(90): * | search | The search params, minus the question mark

Login.c(90): |\n
Login.c(90): * | hash | The hash string, minus the hash symbol\n
Login.c(90): * | hostname | The hostname\n
Login.c(90): * | port | The port, without ":"\n
Login.c(90): * | pathname | The pathname, beginning with "/"\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function urlResolve(url, base) {\n
Login.c(90): var href = url;\n
Login.c(90): \n
Login.c(90): if (msie) {\n
Login.c(90): // Normalize before parse. Refer Implementation Notes on why
this is\n
Login.c(90): // done in two steps on IE.\n
Login.c(90): urlParsingNode.setAttribute("href", href);\n
Login.c(90): href = urlParsingNode.href;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): urlParsingNode.setAttribute('href', href);\n
Login.c(90): \n
Login.c(90): // urlParsingNode provides the UrlUtils interface -
http://url.spec.whatwg.org/#urlutils
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): href: urlParsingNode.href,\n
Login.c(90): protocol: urlParsingNode.protocol ?
urlParsingNode.protocol.replace(/:$/, '') : '',\n
Login.c(90): host: urlParsingNode.host,\n
Login.c(90): search: urlParsingNode.search ?
urlParsingNode.search.replace(/^\\?/, '') : '',\n
Login.c(90): hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/,
'') : '',\n
Login.c(90): hostname: urlParsingNode.hostname,\n
Login.c(90): port: urlParsingNode.port,\n
Login.c(90): pathname: (urlParsingNode.pathname.charAt(0) === '/')\n
Login.c(90): ? urlParsingNode.pathname\n
Login.c(90): : '/' + urlParsingNode.pathname\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Parse a request URL and determine whether this is a same-origin
request as the applicat
Login.c(90): ion document.\n
Login.c(90): *\n
Login.c(90): * @param {string|object} requestUrl The url of the request as a
string that will be resol
Login.c(90): ved\n
Login.c(90): * or a parsed URL object.\n
Login.c(90): * @returns {boolean} Whether the request is for the same origin
as the application docume
Login.c(90): nt.\n
Login.c(90): */\n
Login.c(90): function urlIsSameOrigin(requestUrl) {\n
Login.c(90): var parsed = (isString(requestUrl)) ? urlResolve(requestUrl) :
requestUrl;\n
Login.c(90): return (parsed.protocol === originUrl.protocol &&\n
Login.c(90): parsed.host === originUrl.host);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $window\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A reference to the browser's `window` object. While `window`\n
Login.c(90): * is globally available in JavaScript, it causes testability
problems, because\n
Login.c(90): * it is a global variable. In angular we always refer to it
through the\n
Login.c(90): * `$window` service, so it may be overridden, removed or mocked
for testing.\n
Login.c(90): *\n
Login.c(90): * Expressions, like the one defined for the `ngClick` directive
in the example\n
Login.c(90): * below, are evaluated with respect to the current scope.
Therefore, there is\n
Login.c(90): * no risk of inadvertently coding in a dependency on a global
value in such an\n
Login.c(90): * expression.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="windowExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('windowExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', '$window',
function ($scope, $windo
Login.c(90): w) {\n
Login.c(90): $scope.greeting = 'Hello, World!';\n
Login.c(90): $scope.doGreeting = function(greeting) {\n
Login.c(90): $window.alert(greeting);\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input type="text" ng-model="greeting" />\n
Login.c(90): <button ng-click="doGreeting(greeting)">ALERT</button>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should display the greeting in the input box',
function() {\n
Login.c(90): element(by.model('greeting')).sendKeys('Hello, E2E
Tests');\n
Login.c(90): // If we click the button it will block the test runner\n
Login.c(90): // element(':button').click();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function $WindowProvider(){\n
Login.c(90): this.$get = valueFn(window);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /* global currencyFilter: true,\n
Login.c(90): dateFilter: true,\n
Login.c(90): filterFilter: true,\n
Login.c(90): jsonFilter: true,\n
Login.c(90): limitToFilter: true,\n
Login.c(90): lowercaseFilter: true,\n
Login.c(90): numberFilter: true,\n
Login.c(90): orderByFilter: true,\n
Login.c(90): uppercaseFilter: true,\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc provider\n
Login.c(90): * @name $filterProvider\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Filters are just functions which transform input to an output.
However filters need to
Login.c(90): be\n
Login.c(90): * Dependency Injected. To achieve this a filter definition
consists of a factory function
Login.c(90): which is\n
Login.c(90): * annotated with dependencies and is responsible for creating a
filter function.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Filter registration\n
Login.c(90): * function MyModule($provide, $filterProvider) {\n
Login.c(90): * // create a service to demonstrate injection (not always
needed)\n
Login.c(90): * $provide.value('greet', function(name){\n
Login.c(90): * return 'Hello ' + name + '!';\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // register a filter factory which uses the\n
Login.c(90): * // greet service to demonstrate DI.\n
Login.c(90): * $filterProvider.register('greet', function(greet){\n
Login.c(90): * // return the filter function which uses the greet
service\n
Login.c(90): * // to generate salutation\n
Login.c(90): * return function(text) {\n
Login.c(90): * // filters need to be forgiving so check input
validity\n
Login.c(90): * return text && greet(text) || text;\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The filter function is registered with the `$injector` under
the filter name suffix wit
Login.c(90): h\n
Login.c(90): * `Filter`.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * it('should be the same instance', inject(\n
Login.c(90): * function($filterProv
Login.c(90): t=3088ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ider) {\n
Login.c(90): * $filterProvider.register('reverse', function(){\n
Login.c(90): * return ...;\n
Login.c(90): * });\n
Login.c(90): * },\n
Login.c(90): * function($filter, reverseFilter) {\n
Login.c(90): * expect($filter('reverse')).toBe(reverseFilter);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * For more information about how angular filters work, and how to
create your own filters
Login.c(90): , see\n
Login.c(90): * {@link guide/filter Filters} in the Angular Developer Guide.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc service\n
Login.c(90): * @name $filter\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Filters are used for formatting data displayed to the user.\n
Login.c(90): *\n
Login.c(90): * The general syntax in templates is as follows:\n
Login.c(90): *\n
Login.c(90): * {{ expression [|
filter_name[:parameter_value] ... ] }}\n
Login.c(90): *\n
Login.c(90): * @param {String} name Name of the filter function to retrieve\n
Login.c(90): * @return {Function} the filter function\n
Login.c(90): * @example\n
Login.c(90): <example name="$filter" module="filterExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="MainCtrl">\n
Login.c(90): <h3>{{ originalText }}</h3>\n
Login.c(90): <h3>{{ filteredText }}</h3>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('filterExample', [])\n
Login.c(90): .controller('MainCtrl', function($scope, $filter) {\n
Login.c(90): $scope.originalText = 'hello';\n
Login.c(90): $scope.filteredText = $filter('uppercase')
($scope.originalText);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): $FilterProvider.$inject = ['$provide'];\n
Login.c(90): function $FilterProvider($provide) {\n
Login.c(90): var suffix = 'Filter';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name $filterProvider#register\n
Login.c(90): * @param {string|Object} name Name of the filter function, or
an object map of filters
Login.c(90): where\n
Login.c(90): * the keys are the filter names and the values are the
filter factories.\n
Login.c(90): * @returns {Object} Registered filter instance, or if a map of
filters was provided the
Login.c(90): n a map\n
Login.c(90): * of the registered filter instances.\n
Login.c(90): */\n
Login.c(90): function register(name, factory) {\n
Login.c(90): if(isObject(name)) {\n
Login.c(90): var filters = {};\n
Login.c(90): forEach(name, function(filter, key) {\n
Login.c(90): filters[key] = register(key, filter);\n
Login.c(90): });\n
Login.c(90): return filters;\n
Login.c(90): } else {\n
Login.c(90): return $provide.factory(name + suffix, factory);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.register = register;\n
Login.c(90): \n
Login.c(90): this.$get = ['$injector', function($injector) {\n
Login.c(90): return function(name) {\n
Login.c(90): return $injector.get(name + suffix);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): ////////////////////////////////////////\n
Login.c(90): \n
Login.c(90): /* global\n
Login.c(90): currencyFilter: false,\n
Login.c(90): dateFilter: false,\n
Login.c(90): filterFilter: false,\n
Login.c(90): jsonFilter: false,\n
Login.c(90): limitToFilter: false,\n
Login.c(90): lowercaseFilter: false,\n
Login.c(90): numberFilter: false,\n
Login.c(90): orderByFilter: false,\n
Login.c(90): uppercaseFilter: false,\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): register('currency', currencyFilter);\n
Login.c(90): register('date', dateFilter);\n
Login.c(90): register('filter', filterFilter);\n
Login.c(90): register('json', jsonFilter);\n
Login.c(90): register('limitTo', limitToFilter);\n
Login.c(90): register('lowercase', lowercaseFilter);\n
Login.c(90): register('number', numberFilter);\n
Login.c(90): register('orderBy', orderByFilter);\n
Login.c(90): register('uppercase', uppercaseFilter);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name filter\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Selects a subset of items from `array` and returns it as a new
array.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array The source array.\n
Login.c(90): * @param {string|Object|function()} expression The predicate to
be used for selecting ite
Login.c(90): ms from\n
Login.c(90): * `array`.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `string`: The string is evaluated as an expression and the
resulting value is used
Login.c(90): for substring match against\n
Login.c(90): * the contents of the `array`. All strings or objects with
string properties in `arra
Login.c(90): y` that contain this string\n
Login.c(90): * will be returned. The predicate can be negated by prefixing
the string with `!`.\n
Login.c(90): *\n
Login.c(90): * - `Object`: A pattern object can be used to filter specific
properties on objects con
Login.c(90): tained\n
Login.c(90): * by `array`. For example `{name:"M", phone:"1"}` predicate
will return an array of i
Login.c(90): tems\n
Login.c(90): * which have property `name` containing "M" and property
`phone` containing "1". A sp
Login.c(90): ecial\n
Login.c(90): * property name `$` can be used (as in `{$:"text"}`) to
accept a match against any\n
Login.c(90): * property of the object. That's equivalent to the simple
substring match with a `str
Login.c(90): ing`\n
Login.c(90): * as described above. The predicate can be negated by
prefixing the string with `!`.\n
Login.c(90): * For Example `{name: "!M"}` predicate will return an array
of items which have prope
Login.c(90): rty `name`\n
Login.c(90): * not containing "M".\n
Login.c(90): *\n
Login.c(90): * - `function(value)`: A predicate function can be used to
write arbitrary filters. The
Login.c(90): function is\n
Login.c(90): * called for each element of `array`. The final result is an
array of those elements
Login.c(90): that\n
Login.c(90): * the predicate returned true for.\n
Login.c(90): *\n
Login.c(90): * @param {function(actual, expected)|true|undefined} comparator
Comparator which is used
Login.c(90): in\n
Login.c(90): * determining if the expected value (from the filter
expression) and actual value (fr
Login.c(90): om\n
Login.c(90): * the object in the array) should be considered a match.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `function(actual, expected)`:\n
Login.c(90): * The function will be given the object value and the
predicate value to compare and\n
Login.c(90): * should return true if the item should be included in
filtered result.\n
Login.c(90): *\n
Login.c(90): * - `true`: A shorthand for `function(actual, expected)
{ return angular.equals(expecte
Login.c(90): d, actual)}`.\n
Login.c(90): * this is essentially strict comparison of expected and
actual.\n
Login.c(90): *\n
Login.c(90): * - `false|undefined`: A short hand for a function which will
look for a substring matc
Login.c(90): h in case\n
Login.c(90): * insensitive way.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-init="friends = [{name:'John', phone:'555-1276'},\n
Login.c(90): {name:'Mary', phone:'800-BIG-
MARY'},\n
Login.c(90): {name:'Mike', phone:'555-4321'},\n
Login.c(90): {name:'Adam', phone:'555-5678'},\n
Login.c(90): {name:'Julie', phone:'555-
8765'},\n
Login.c(90): {name:'Juliette', phone:'555-
5678'}]"></div>\n
Login.c(90): \n
Login.c(90): Search: <input ng-model="searchText">\n
Login.c(90): <table id="searchTextResults">\n
Login.c(90): <tr><th>Name</th><th>Phone</th></tr>\n
Login.c(90): <tr ng-repeat="friend in friends | filter:searchText">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): <hr>\n
Login.c(90): Any: <input ng-model="search.$"> <br>\n
Login.c(90): Name only <input ng-model="search.name"><br>\n
Login.c(90): Phone only <input ng-model="search.phone"><br>\n
Login.c(90): Equality <input type="checkbox" ng-model="strict"><br>\n
Login.c(90): <table id="searchObjResults">\n
Login.c(90): <tr><th>Name</th><th>Phone</th></tr>\n
Login.c(90): <tr ng-repeat="friendObj in friends |
filter:search:strict">\n
Login.c(90): <td>{{friendObj.name}}</td>\n
Login.c(90): <td>{{friendObj.phone}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var expectFriendNames = function(expectedNames, key) {\n
Login.c(90): element.all(by.repeater(key + ' in friends').column(key +
'.name')).then(function
Login.c(90): (arr) {\n
Login.c(90): arr.forEach(function(wd, i) {\n
Login.c(90): expect(wd.getText()).toMatch(expectedNames[i]);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): it('should search across all fields when filtering with a
string', function() {\n
Login.c(90): var searchText = element(by.model('searchText'));\n
Login.c(90): searchText.clear();\n
Login.c(90): searchText.sendKeys('m');\n
Login.c(90): expectFriendNames(['Mary', 'Mike', 'Adam'], 'friend');\n
Login.c(90): \n
Login.c(90): searchText.clear();\n
Login.c(90): searchText.sendKeys('76');\n
Login.c(90): expectFriendNames(['John', 'Julie'], 'friend');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should search in specific fields when filtering with a
predicate object', funct
Login.c(90): ion() {\n
Login.c(90): var searchAny = element(by.model('search.$'));\n
Login.c(90): searchAny.clear();\n
Login.c(90): searchAny.sendKeys('i');\n
Login.c(90): expectFriendNames(['Mary', 'Mike', 'Julie', 'Juliette'],
'friendObj');\n
Login.c(90): });\n
Login.c(90): it('should use a equal comparison when comparator is true',
function() {\n
Login.c(90): var searchName = element(by.model('search.name'));\n
Login.c(90): var strict = element(by.model('strict'));\n
Login.c(90): searchName.clear();\n
Login.c(90): searchName.sendKeys('Julie');\n
Login.c(90): strict.click();\n
Login.c(90): expectFriendNames(['Julie'], 'friendObj');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function filterFilter() {\n
Login.c(90): return function(array, expression, comparator) {\n
Login.c(90): if (!isArray(array)) return array;\n
Login.c(90): \n
Login.c(90): var comparatorType = typeof(comparator),\n
Login.c(90): predicates = [];\n
Login.c(90): \n
Login.c(90): predicates.check = function(value) {\n
Login.c(90): for (var j = 0; j < predicates.length; j++) {\n
Login.c(90): if(!predicates[j](value)) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (comparatorType !== 'function') {\n
Login.c(90): if (comparatorType === 'boolean' && comparator) {\n
Login.c(90): comparator = function(obj, text) {\n
Login.c(90): return angular.equals(obj, text);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): comparator = function(obj, text) {\n
Login.c(90): if (obj && text && typeof obj === 'object' && typeof
text === 'object') {\n
Login.c(90): for (var objKey in obj) {\n
Login.c(90): if (objKey.charAt(0) !== '$' &&
hasOwnProperty.call(obj, objKey) &&\n
Login.c(90): comparator(obj[objKey], text[objKey])) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): text = (''+text).toLowerCase();\n
Login.c(90): return (''+obj).toLowerCase().indexOf(text) > -1;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var search = function(obj, text){\n
Login.c(90): if (typeof text == 'string' && text.charAt(0) === '!') {\n
Login.c(90): return !search(obj, text.substr(1));\n
Login.c(90): }\n
Login.c(90): switch (typeof obj) {\n
Login.c(90): case "boolean":\n
Login.c(90): case "number":\n
Login.c(90): case "string":\n
Login.c(90): return comparator(obj, text);\n
Login.c(90): case "object":\n
Login.c(90): switch (typeof text) {\n
Login.c(90): case "object":\n
Login.c(90): return comparator(obj, text);\n
Login.c(90): default:\n
Login.c(90): for ( var objKey in obj) {\n
Login.c(90): if (objKey.charAt(0) !== '$' &&
search(obj[objKey], text)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): case "array":\n
Login.c(90): for ( var i = 0; i < obj.length; i++) {\n
Login.c(90): if (search(obj[i], text)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): default:\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): switch (typeof expression) {\n
Login.c(90): case "boolean":\n
Login.c(90): case "number":\n
Login.c(90): case "string":\n
Login.c(90): // Set up expression object and fall through\n
Login.c(90): expression = {$:expression};\n
Login.c(90): // jshint -W086\n
Login.c(90): case "object":\n
Login.c(90): // jshint +W086\n
Login.c(90): for (var key in expression) {\n
Login.c(90): (function(path) {\n
Login.c(90): if (typeof expression[path] === 'undefined') return;\n
Login.c(90): predicates.push(function(value) {\n
Login.c(90): return search(path == '$' ? value : (value &&
value[path]), expression[path]
Login.c(90): );\n
Login.c(90): });\n
Login.c(90): })(key);\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): case 'function':\n
Login.c(90): predicates.push(expression);\n
Login.c(90): break;\n
Login.c(90): default:\n
Login.c(90): return array;\n
Login.c(90): }\n
Login.c(90): var filtered = [];\n
Login.c(90): for ( var j = 0; j < array.length; j++) {\n
Login.c(90): var value = array[j];\n
Login.c(90): if (predicates.check(value)) {\n
Login.c(90): filtered.push(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return filtered;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name currency\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats a number as a currency (ie $1,234.56). When no currency
symbol is provided, def
Login.c(90): ault\n
Login.c(90): * symbol for current locale is used.\n
Login.c(90): *\n
Login.c(90): * @param {number} amount Input to filter.\n
Login.c(90): * @param {string=} symbol Currency symbol or identifier to be
displayed.\n
Login.c(90): * @returns {string} Formatted number.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="currencyExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('currencyExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.amount = 1234.56;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input type="number" ng-model="amount"> <br>\n
Login.c(90): default currency symbol ($): <span id="currency-
default">{{amount | currency}}</s
Login.c(90): pan><br>\n
Login.c(90): custom currency identifier (USD$): <span>{{amount |
currency:"USD$"}}</span>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should init with 1234.56', function() {\n
Login.c(90): expect(element(by.id('currency-
default')).getText()).toBe('$1,234.56');\n
Login.c(90): expect(element(by.binding('amount |
currency:"USD$"')).getText()).toBe('USD$1,234
Login.c(90): .56');\n
Login.c(90): });\n
Login.c(90): it('should update', function() {\n
Login.c(90): if (browser.params.browser == 'safari') {\n
Login.c(90): // Safari does not unders
Login.c(90): t=3105ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): tand the minus key. See\n
Login.c(90): // https://github.com/angular/protractor/issues/481\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): element(by.model('amount')).clear();\n
Login.c(90): element(by.model('amount')).sendKeys('-1234');\n
Login.c(90): expect(element(by.id('currency-
default')).getText()).toBe('($1,234.00)');\n
Login.c(90): expect(element(by.binding('amount |
currency:"USD$"')).getText()).toBe('(USD$1,23
Login.c(90): 4.00)');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): currencyFilter.$inject = ['$locale'];\n
Login.c(90): function currencyFilter($locale) {\n
Login.c(90): var formats = $locale.NUMBER_FORMATS;\n
Login.c(90): return function(amount, currencySymbol){\n
Login.c(90): if (isUndefined(currencySymbol)) currencySymbol =
formats.CURRENCY_SYM;\n
Login.c(90): return formatNumber(amount, formats.PATTERNS[1],
formats.GROUP_SEP, formats.DECIMAL_SE
Login.c(90): P, 2).\n
Login.c(90): replace(/\\u00A4/g, currencySymbol);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name number\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats a number as text.\n
Login.c(90): *\n
Login.c(90): * If the input is not a number an empty string is returned.\n
Login.c(90): *\n
Login.c(90): * @param {number|string} number Number to format.\n
Login.c(90): * @param {(number|string)=} fractionSize Number of decimal places
to round the number to.
Login.c(90): \n
Login.c(90): * If this is not provided then the fraction size is computed from
the current locale's nu
Login.c(90): mber\n
Login.c(90): * formatting pattern. In the case of the default locale, it will
be 3.\n
Login.c(90): * @returns {string} Number rounded to decimalPlaces and places
a \xE2\x80\x9C,\xE2\x80\x9D
Login.c(90): after each third digit.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="numberFilterExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('numberFilterExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.val = 1234.56789;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Enter number: <input ng-model='val'><br>\n
Login.c(90): Default formatting: <span id='number-default'>{{val |
number}}</span><br>\n
Login.c(90): No fractions: <span>{{val | number:0}}</span><br>\n
Login.c(90): Negative number: <span>{{-val | number:4}}</span>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should format numbers', function() {\n
Login.c(90): expect(element(by.id('number-
default')).getText()).toBe('1,234.568');\n
Login.c(90): expect(element(by.binding('val |
number:0')).getText()).toBe('1,235');\n
Login.c(90): expect(element(by.binding('-val |
number:4')).getText()).toBe('-1,234.5679');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update', function() {\n
Login.c(90): element(by.model('val')).clear();\n
Login.c(90): element(by.model('val')).sendKeys('3374.333');\n
Login.c(90): expect(element(by.id('number-
default')).getText()).toBe('3,374.333');\n
Login.c(90): expect(element(by.binding('val |
number:0')).getText()).toBe('3,374');\n
Login.c(90): expect(element(by.binding('-val |
number:4')).getText()).toBe('-3,374.3330');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): numberFilter.$inject = ['$locale'];\n
Login.c(90): function numberFilter($locale) {\n
Login.c(90): var formats = $locale.NUMBER_FORMATS;\n
Login.c(90): return function(number, fractionSize) {\n
Login.c(90): return formatNumber(number, formats.PATTERNS[0],
formats.GROUP_SEP, formats.DECIMAL_SE
Login.c(90): P,\n
Login.c(90): fractionSize);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var DECIMAL_SEP = '.';\n
Login.c(90): function formatNumber(number, pattern, groupSep, decimalSep,
fractionSize) {\n
Login.c(90): if (number == null || !isFinite(number) || isObject(number))
return '';\n
Login.c(90): \n
Login.c(90): var isNegative = number < 0;\n
Login.c(90): number = Math.abs(number);\n
Login.c(90): var numStr = number + '',\n
Login.c(90): formatedText = '',\n
Login.c(90): parts = [];\n
Login.c(90): \n
Login.c(90): var hasExponent = false;\n
Login.c(90): if (numStr.indexOf('e') !== -1) {\n
Login.c(90): var match = numStr.match(/([\\d\\.]+)e(-?)(\\d+)/);\n
Login.c(90): if (match && match[2] == '-' && match[3] > fractionSize + 1)
{\n
Login.c(90): numStr = '0';\n
Login.c(90): number = 0;\n
Login.c(90): } else {\n
Login.c(90): formatedText = numStr;\n
Login.c(90): hasExponent = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!hasExponent) {\n
Login.c(90): var fractionLen = (numStr.split(DECIMAL_SEP)[1] ||
'').length;\n
Login.c(90): \n
Login.c(90): // determine fractionSize if it is not specified\n
Login.c(90): if (isUndefined(fractionSize)) {\n
Login.c(90): fractionSize = Math.min(Math.max(pattern.minFrac,
fractionLen), pattern.maxFrac);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // safely round numbers in JS without hitting imprecisions of
floating-point arithmeti
Login.c(90): cs\n
Login.c(90): // inspired by:\n
Login.c(90): // https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Ma
Login.c(90): th/round\n
Login.c(90): number = +(Math.round(+(number.toString() + 'e' +
fractionSize)).toString() + 'e' + -f
Login.c(90): ractionSize);\n
Login.c(90): \n
Login.c(90): if (number === 0) {\n
Login.c(90): isNegative = false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var fraction = ('' + number).split(DECIMAL_SEP);\n
Login.c(90): var whole = fraction[0];\n
Login.c(90): fraction = fraction[1] || '';\n
Login.c(90): \n
Login.c(90): var i, pos = 0,\n
Login.c(90): lgroup = pattern.lgSize,\n
Login.c(90): group = pattern.gSize;\n
Login.c(90): \n
Login.c(90): if (whole.length >= (lgroup + group)) {\n
Login.c(90): pos = whole.length - lgroup;\n
Login.c(90): for (i = 0; i < pos; i++) {\n
Login.c(90): if ((pos - i)%group === 0 && i !== 0) {\n
Login.c(90): formatedText += groupSep;\n
Login.c(90): }\n
Login.c(90): formatedText += whole.charAt(i);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (i = pos; i < whole.length; i++) {\n
Login.c(90): if ((whole.length - i)%lgroup === 0 && i !== 0) {\n
Login.c(90): formatedText += groupSep;\n
Login.c(90): }\n
Login.c(90): formatedText += whole.charAt(i);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // format fraction part.\n
Login.c(90): while(fraction.length < fractionSize) {\n
Login.c(90): fraction += '0';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (fractionSize && fractionSize !== "0") formatedText +=
decimalSep + fraction.substr
Login.c(90): (0, fractionSize);\n
Login.c(90): } else {\n
Login.c(90): \n
Login.c(90): if (fractionSize > 0 && number > -1 && number < 1) {\n
Login.c(90): formatedText = number.toFixed(fractionSize);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): parts.push(isNegative ? pattern.negPre : pattern.posPre);\n
Login.c(90): parts.push(formatedText);\n
Login.c(90): parts.push(isNegative ? pattern.negSuf : pattern.posSuf);\n
Login.c(90): return parts.join('');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function padNumber(num, digits, trim) {\n
Login.c(90): var neg = '';\n
Login.c(90): if (num < 0) {\n
Login.c(90): neg = '-';\n
Login.c(90): num = -num;\n
Login.c(90): }\n
Login.c(90): num = '' + num;\n
Login.c(90): while(num.length < digits) num = '0' + num;\n
Login.c(90): if (trim)\n
Login.c(90): num = num.substr(num.length - digits);\n
Login.c(90): return neg + num;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function dateGetter(name, size, offset, trim) {\n
Login.c(90): offset = offset || 0;\n
Login.c(90): return function(date) {\n
Login.c(90): var value = date['get' + name]();\n
Login.c(90): if (offset > 0 || value > -offset)\n
Login.c(90): value += offset;\n
Login.c(90): if (value === 0 && offset == -12 ) value = 12;\n
Login.c(90): return padNumber(value, size, trim);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function dateStrGetter(name, shortForm) {\n
Login.c(90): return function(date, formats) {\n
Login.c(90): var value = date['get' + name]();\n
Login.c(90): var get = uppercase(shortForm ? ('SHORT' + name) : name);\n
Login.c(90): \n
Login.c(90): return formats[get][value];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function timeZoneGetter(date) {\n
Login.c(90): var zone = -1 * date.getTimezoneOffset();\n
Login.c(90): var paddedZone = (zone >= 0) ? "+" : "";\n
Login.c(90): \n
Login.c(90): paddedZone += padNumber(Math[zone > 0 ? 'floor' : 'ceil'](zone /
60), 2) +\n
Login.c(90): padNumber(Math.abs(zone % 60), 2);\n
Login.c(90): \n
Login.c(90): return paddedZone;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ampmGetter(date, formats) {\n
Login.c(90): return date.getHours() < 12 ? formats.AMPMS[0] :
formats.AMPMS[1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var DATE_FORMATS = {\n
Login.c(90): yyyy: dateGetter('FullYear', 4),\n
Login.c(90): yy: dateGetter('FullYear', 2, 0, true),\n
Login.c(90): y: dateGetter('FullYear', 1),\n
Login.c(90): MMMM: dateStrGetter('Month'),\n
Login.c(90): MMM: dateStrGetter('Month', true),\n
Login.c(90): MM: dateGetter('Month', 2, 1),\n
Login.c(90): M: dateGetter('Month', 1, 1),\n
Login.c(90): dd: dateGetter('Date', 2),\n
Login.c(90): d: dateGetter('Date', 1),\n
Login.c(90): HH: dateGetter('Hours', 2),\n
Login.c(90): H: dateGetter('Hours', 1),\n
Login.c(90): hh: dateGetter('Hours', 2, -12),\n
Login.c(90): h: dateGetter('Hours', 1, -12),\n
Login.c(90): mm: dateGetter('Minutes', 2),\n
Login.c(90): m: dateGetter('Minutes', 1),\n
Login.c(90): ss: dateGetter('Seconds', 2),\n
Login.c(90): s: dateGetter('Seconds', 1),\n
Login.c(90): // while ISO 8601 requires fractions to be prefixed with `.`
or `,`\n
Login.c(90): // we can be just safely rely on using `sss` since we
currently don't support single
Login.c(90): or two digit fractions\n
Login.c(90): sss: dateGetter('Milliseconds', 3),\n
Login.c(90): EEEE: dateStrGetter('Day'),\n
Login.c(90): EEE: dateStrGetter('Day', true),\n
Login.c(90): a: ampmGetter,\n
Login.c(90): Z: timeZoneGetter\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|
(?:E+|y+|M+|d+|H+|h+|m+|
Login.c(90): s+|a|Z))(.*)/,\n
Login.c(90): NUMBER_STRING = /^\\-?\\d+$/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name date\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Formats `date` to a string based on the requested `format`.\n
Login.c(90): *\n
Login.c(90): * `format` string can be composed of the following elements:\n
Login.c(90): *\n
Login.c(90): * * `'yyyy'`: 4 digit representation of year (e.g. AD 1 =>
0001, AD 2010 => 2010)\n
Login.c(90): * * `'yy'`: 2 digit representation of year, padded (00-99).
(e.g. AD 2001 => 01, AD 201
Login.c(90): 0 => 10)\n
Login.c(90): * * `'y'`: 1 digit representation of year, e.g. (AD 1 => 1, AD
199 => 199)\n
Login.c(90): * * `'MMMM'`: Month in year (January-December)\n
Login.c(90): * * `'MMM'`: Month in year (Jan-Dec)\n
Login.c(90): * * `'MM'`: Month in year, padded (01-12)\n
Login.c(90): * * `'M'`: Month in year (1-12)\n
Login.c(90): * * `'dd'`: Day in month, padded (01-31)\n
Login.c(90): * * `'d'`: Day in month (1-31)\n
Login.c(90): * * `'EEEE'`: Day in Week,(Sunday-Saturday)\n
Login.c(90): * * `'EEE'`: Day in Week, (Sun-Sat)\n
Login.c(90): * * `'HH'`: Hour in day, padded (00-23)\n
Login.c(90): * * `'H'`: Hour in day (0-23)\n
Login.c(90): * * `'hh'`: Hour in am/pm, padded (01-12)\n
Login.c(90): * * `'h'`: Hour in am/pm, (1-12)\n
Login.c(90): * * `'mm'`: Minute in hour, padded (00-59)\n
Login.c(90): * * `'m'`: Minute in hour (0-59)\n
Login.c(90): * * `'ss'`: Second in minute, padded (00-59)\n
Login.c(90): * * `'s'`: Second in minute (0-59)\n
Login.c(90): * * `'.sss' or ',sss'`: Millisecond in second, padded (000-
999)\n
Login.c(90): * * `'a'`: am/pm marker\n
Login.c(90): * * `'Z'`: 4 digit (+sign) representation of the timezone
offset (-1200-+1200)\n
Login.c(90): *\n
Login.c(90): * `format` string can also be one of the following predefined\n
Login.c(90): * {@link guide/i18n localizable formats}:\n
Login.c(90): *\n
Login.c(90): * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a'` for en_US
locale\n
Login.c(90): * (e.g. Sep 3, 2010 12:05:08 pm)\n
Login.c(90): * * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US
locale (e.g. 9/3/10 12:05 pm)
Login.c(90): \n
Login.c(90): * * `'fullDate'`: equivalent to `'EEEE, MMMM d,y'` for en_US
locale\n
Login.c(90): * (e.g. Friday, September 3, 2010)\n
Login.c(90): * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale
(e.g. September 3, 2010
Login.c(90): )\n
Login.c(90): * * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US
locale (e.g. Sep 3, 2010)\n
Login.c(90): * * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale
(e.g. 9/3/10)\n
Login.c(90): * * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US
locale (e.g. 12:05:08 pm)\n
Login.c(90): * * `'shortTime'`: equivalent to `'h:mm a'` for en_US locale
(e.g. 12:05 pm)\n
Login.c(90): *\n
Login.c(90): * `format` string can contain literal values. These need to be
escaped by surrounding w
Login.c(90): ith single quotes (e.g.\n
Login.c(90): * `"h 'in the morning'"`). In order to output a single quote,
escape it - i.e., two sin
Login.c(90): gle quotes in a sequence\n
Login.c(90): * (e.g. `"h 'o''clock'"`).\n
Login.c(90): *\n
Login.c(90): * @param {(Date|number|string)} date Date to format either as
Date object, milliseconds (
Login.c(90): string or\n
Login.c(90): * number) or various ISO 8601 datetime s
Login.c(90): t=3121ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): tring formats (e.g. yyyy-MM-ddTHH:mm:ss.sssZ and its\n
Login.c(90): * shorter versions like yyyy-MM-ddTHH:mmZ, yyyy-MM-dd or
yyyyMMddTHHmmssZ). If no time
Login.c(90): zone is\n
Login.c(90): * specified in the string input, the time is considered to be
in the local timezone.\n
Login.c(90): * @param {string=} format Formatting rules (see Description). If
not specified,\n
Login.c(90): * `mediumDate` is used.\n
Login.c(90): * @returns {string} Formatted string or the input if input is not
recognized as date/mill
Login.c(90): is.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <span ng-non-bindable>{{1288323623006 |
date:'medium'}}</span>:\n
Login.c(90): <span>{{1288323623006 | date:'medium'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:'yyyy-MM-dd
HH:mm:ss Z'}}</span>:\n
Login.c(90): <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss
Z'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:'MM/dd/yyyy @
h:mma'}}</span>:\n
Login.c(90): <span>{{'1288323623006' | date:'MM/dd/yyyy @
h:mma'}}</span><br>\n
Login.c(90): <span ng-non-bindable>{{1288323623006 | date:"MM/dd/yyyy
'at' h:mma"}}</span>:\n
Login.c(90): <span>{{'1288323623006' | date:"MM/dd/yyyy 'at'
h:mma"}}</span><br>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should format date', function() {\n
Login.c(90): expect(element(by.binding("1288323623006 |
date:'medium'")).getText()).\n
Login.c(90): toMatch(/Oct 2\\d, 2010 \\d{1,2}:\\d{2}:\\d{2} (AM|
PM)/);\n
Login.c(90): expect(element(by.binding("1288323623006 | date:'yyyy-MM-
dd HH:mm:ss Z'")).getTex
Login.c(90): t()).\n
Login.c(90): toMatch(/2010\\-10\\-2\\d \\d{2}:\\d{2}:\\d{2} (\\-|\\
+)?\\d{4}/);\n
Login.c(90): expect(element(by.binding("'1288323623006' |
date:'MM/dd/yyyy @ h:mma'")).getText
Login.c(90): ()).\n
Login.c(90): toMatch(/10\\/2\\d\\/2010 @ \\d{1,2}:\\d{2}(AM|
PM)/);\n
Login.c(90): expect(element(by.binding("'1288323623006' |
date:\\"MM/dd/yyyy 'at' h:mma\\"")).
Login.c(90): getText()).\n
Login.c(90): toMatch(/10\\/2\\d\\/2010 at \\d{1,2}:\\d{2}(AM|
PM)/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): dateFilter.$inject = ['$locale'];\n
Login.c(90): function dateFilter($locale) {\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var R_ISO8601_STR = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)
(?::?(\\d\\d)(?::?(\\d\\d)
Login.c(90): (?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n
Login.c(90): // 1 2 3 4 5
6 7
Login.c(90): 8 9 10 11\n
Login.c(90): function jsonStringToDate(string) {\n
Login.c(90): var match;\n
Login.c(90): if (match = string.match(R_ISO8601_STR)) {\n
Login.c(90): var date = new Date(0),\n
Login.c(90): tzHour = 0,\n
Login.c(90): tzMin = 0,\n
Login.c(90): dateSetter = match[8] ? date.setUTCFullYear :
date.setFullYear,\n
Login.c(90): timeSetter = match[8] ? date.setUTCHours :
date.setHours;\n
Login.c(90): \n
Login.c(90): if (match[9]) {\n
Login.c(90): tzHour = int(match[9] + match[10]);\n
Login.c(90): tzMin = int(match[9] + match[11]);\n
Login.c(90): }\n
Login.c(90): dateSetter.call(date, int(match[1]), int(match[2]) - 1,
int(match[3]));\n
Login.c(90): var h = int(match[4]||0) - tzHour;\n
Login.c(90): var m = int(match[5]||0) - tzMin;\n
Login.c(90): var s = int(match[6]||0);\n
Login.c(90): var ms = Math.round(parseFloat('0.' + (match[7]||0)) *
1000);\n
Login.c(90): timeSetter.call(date, h, m, s, ms);\n
Login.c(90): return date;\n
Login.c(90): }\n
Login.c(90): return string;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return function(date, format) {\n
Login.c(90): var text = '',\n
Login.c(90): parts = [],\n
Login.c(90): fn, match;\n
Login.c(90): \n
Login.c(90): format = format || 'mediumDate';\n
Login.c(90): format = $locale.DATETIME_FORMATS[format] || format;\n
Login.c(90): if (isString(date)) {\n
Login.c(90): date = NUMBER_STRING.test(date) ? int(date) :
jsonStringToDate(date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isNumber(date)) {\n
Login.c(90): date = new Date(date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!isDate(date)) {\n
Login.c(90): return date;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): while(format) {\n
Login.c(90): match = DATE_FORMATS_SPLIT.exec(format);\n
Login.c(90): if (match) {\n
Login.c(90): parts = concat(parts, match, 1);\n
Login.c(90): format = parts.pop();\n
Login.c(90): } else {\n
Login.c(90): parts.push(format);\n
Login.c(90): format = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach(parts, function(value){\n
Login.c(90): fn = DATE_FORMATS[value];\n
Login.c(90): text += fn ? fn(date, $locale.DATETIME_FORMATS)\n
Login.c(90): : value.replace(/(^'|'$)/g, '').replace(/''/g,
"'");\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return text;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name json\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Allows you to convert a JavaScript object into JSON string.\n
Login.c(90): *\n
Login.c(90): * This filter is mostly useful for debugging. When using the
double curly {{value}} not
Login.c(90): ation\n
Login.c(90): * the binding is automatically converted to JSON.\n
Login.c(90): *\n
Login.c(90): * @param {*} object Any JavaScript object (including arrays and
primitive types) to filte
Login.c(90): r.\n
Login.c(90): * @returns {string} JSON string.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <pre>{{ {'name':'value'} | json }}</pre>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should jsonify filtered objects', function() {\n
Login.c(90):
expect(element(by.binding("{'name':'value'}")).getText()).toMatch(/\\{\\n "name"
Login.c(90): : ?"value"\\n}/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function jsonFilter() {\n
Login.c(90): return function(object) {\n
Login.c(90): return toJson(object, true);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name lowercase\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Converts string to lowercase.\n
Login.c(90): * @see angular.lowercase\n
Login.c(90): */\n
Login.c(90): var lowercaseFilter = valueFn(lowercase);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name uppercase\n
Login.c(90): * @kind function\n
Login.c(90): * @description\n
Login.c(90): * Converts string to uppercase.\n
Login.c(90): * @see angular.uppercase\n
Login.c(90): */\n
Login.c(90): var uppercaseFilter = valueFn(uppercase);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name limitTo\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a new array or string containing only a specified
number of elements. The eleme
Login.c(90): nts\n
Login.c(90): * are taken from either the beginning or the end of the source
array or string, as specif
Login.c(90): ied by\n
Login.c(90): * the value and sign (positive or negative) of `limit`.\n
Login.c(90): *\n
Login.c(90): * @param {Array|string} input Source array or string to be
limited.\n
Login.c(90): * @param {string|number} limit The length of the returned array
or string. If the `limit`
Login.c(90): number\n
Login.c(90): * is positive, `limit` number of items from the beginning of
the source array/string
Login.c(90): are copied.\n
Login.c(90): * If the number is negative, `limit` number of items from
the end of the source arra
Login.c(90): y/string\n
Login.c(90): * are copied. The `limit` will be trimmed if it exceeds
`array.length`\n
Login.c(90): * @returns {Array|string} A new sub-array or substring of length
`limit` or less if input
Login.c(90): array\n
Login.c(90): * had less than `limit` elements.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="limitToExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('limitToExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.numbers = [1,2,3,4,5,6,7,8,9];\n
Login.c(90): $scope.letters = "abcdefghi";\n
Login.c(90): $scope.numLimit = 3;\n
Login.c(90): $scope.letterLimit = 3;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Limit {{numbers}} to: <input type="integer" ng-
model="numLimit">\n
Login.c(90): <p>Output numbers: {{ numbers | limitTo:numLimit }}</p>\n
Login.c(90): Limit {{letters}} to: <input type="integer" ng-
model="letterLimit">\n
Login.c(90): <p>Output letters: {{ letters |
limitTo:letterLimit }}</p>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var numLimitInput = element(by.model('numLimit'));\n
Login.c(90): var letterLimitInput = element(by.model('letterLimit'));\n
Login.c(90): var limitedNumbers = element(by.binding('numbers |
limitTo:numLimit'));\n
Login.c(90): var limitedLetters = element(by.binding('letters |
limitTo:letterLimit'));\n
Login.c(90): \n
Login.c(90): it('should limit the number array to first three items',
function() {\n
Login.c(90): expect(numLimitInput.getAttribute('value')).toBe('3');\n
Login.c(90):
expect(letterLimitInput.getAttribute('value')).toBe('3');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[1,2,3]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
abc');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update the output when -3 is entered',
function() {\n
Login.c(90): numLimitInput.clear();\n
Login.c(90): numLimitInput.sendKeys('-3');\n
Login.c(90): letterLimitInput.clear();\n
Login.c(90): letterLimitInput.sendKeys('-3');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[7,8,9]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
ghi');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should not exceed the maximum size of input array',
function() {\n
Login.c(90): numLimitInput.clear();\n
Login.c(90): numLimitInput.sendKeys('100');\n
Login.c(90): letterLimitInput.clear();\n
Login.c(90): letterLimitInput.sendKeys('100');\n
Login.c(90): expect(limitedNumbers.getText()).toEqual('Output numbers:
[1,2,3,4,5,6,7,8,9]');\n
Login.c(90): expect(limitedLetters.getText()).toEqual('Output letters:
abcdefghi');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): function limitToFilter(){\n
Login.c(90): return function(input, limit) {\n
Login.c(90): if (!isArray(input) && !isString(input)) return input;\n
Login.c(90): \n
Login.c(90): if (Math.abs(Number(limit)) === Infinity) {\n
Login.c(90): limit = Number(limit);\n
Login.c(90): } else {\n
Login.c(90): limit = int(limit);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (isString(input)) {\n
Login.c(90): //NaN check on limit\n
Login.c(90): if (limit) {\n
Login.c(90): return limit >= 0 ? input.slice(0, limit) :
input.slice(limit, input.length);\n
Login.c(90): } else {\n
Login.c(90): return "";\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var out = [],\n
Login.c(90): i, n;\n
Login.c(90): \n
Login.c(90): // if abs(limit) exceeds maximum length, trim it\n
Login.c(90): if (limit > input.length)\n
Login.c(90): limit = input.length;\n
Login.c(90): else if (limit < -input.length)\n
Login.c(90): limit = -input.length;\n
Login.c(90): \n
Login.c(90): if (limit > 0) {\n
Login.c(90): i = 0;\n
Login.c(90): n = limit;\n
Login.c(90): } else {\n
Login.c(90): i = input.length + limit;\n
Login.c(90): n = input.length;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (; i<n; i++) {\n
Login.c(90): out.push(input[i]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return out;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name orderBy\n
Login.c(90): * @kind function\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Orders a specified `array` by the `expression` predicate. It is
ordered alphabetically\n
Login.c(90): * for strings and numerically for numbers. Note: if you notice
numbers are not being sort
Login.c(90): ed\n
Login.c(90): * correctly, make sure they are actually being saved as numbers
and not strings.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array The array to sort.\n
Login.c(90): * @param {function(*)|string|Array.<(function(*)|string)>}
expression A predicate to be\n
Login.c(90): * used by the comparator to determine the order of elements.\n
Login.c(90): *\n
Login.c(90): * Can be one of:\n
Login.c(90): *\n
Login.c(90): * - `function`: Getter function. The result of this function
will be sorted using the\n
Login.c(90): * `<`, `=`, `>` operator.\n
Login.c(90): * - `string`: An Angular expression. The result of this
expression is used to compare
Login.c(90): elements\n
Login.c(90): * (for example `name` to sort by a property called `name` or
`name.substr(0, 3)` to
Login.c(90): sort by\n
Login.c(90): * 3 first characters of a property called `name`). The
result of a constant expressi
Login.c(90): on\n
Login.c(90): * is interpreted as a property name to be used in
comparisons (for example `"special
Login.c(90): name"`\n
Login.c(90): * to sort object by the value of their `special name`
property). An expression can b
Login.c(90): e\n
Login.c(90): * optionally prefixed with `+` or `-` to control ascending
or descending sort order\n
Login.c(90): * (for example, `+name` or `-name`).\n
Login.c(90): * - `Array`: An array of function or string predicates. The
first predicate in the arr
Login.c(90): ay\n
Login.c(90): * is used for sorting, but when two items are equivalent,
the next predicate is used
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} reverse Reverse the order of the array.\n
Login.c(90): * @returns {Array} Sorted copy of the source array.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="orderByExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('orderByExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.friends =\n
Login.c(90): [{name:'John', phone:'555-1212', age:10},\n
Login.c(90): {name:'Mary', phone:'555-9876', age:19},\n
Login.c(90): {name:'Mike', phone:'555-4321', age:21},\n
Login.c(90): {name:'Adam', phone:'555-5678', age:35},\n
Login.c(90): {name:'Julie', phone:'555-8765', age:29}];\n
Login.c(90): $scope.predicate = '-age';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <pre>Sorting predicate = {{predicate}}; reverse =
{{reverse}}</pre>\n
Login.c(90): <hr/>\n
Login.c(90): [ <a href="" ng-click="predicate=''">unsorted</a> ]\n
Login.c(90): <table class="friend">\n
Login.c(90): <tr>\n
Login.c(90): <th><a href="" ng-click="predicate = 'name';
reverse=false">Name</a>\n
Login.c(90): (<a href="" ng-click="predicate = '-name';
reverse=false">^</a>)</th>\n
Login.c(90): <th><a href="" ng-click="predicate = 'phone';
reverse=!reverse">Phone Number<
Login.c(90): /a></th>\n
Login.c(90): <th><a href="" ng-click="predicate = 'age'; reverse=!
reverse">Age</a></th>\n
Login.c(90): </tr>\n
Login.c(90): <tr ng-repeat="friend in friends |
orderBy:predicate:reverse">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): <td>{{friend.age}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </div>\n
Login.c(90): </file>
Login.c(90): t=3141ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): \n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * It's also possible to call the orderBy filter manually, by
injecting `$filter`, retriev
Login.c(90): ing the\n
Login.c(90): * filter routine with `$filter('orderBy')`, and calling the
returned filter routine with
Login.c(90): the\n
Login.c(90): * desired parameters.\n
Login.c(90): *\n
Login.c(90): * Example:\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="orderByExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <table class="friend">\n
Login.c(90): <tr>\n
Login.c(90): <th><a href="" ng-click="reverse=false;order('name',
false)">Name</a>\n
Login.c(90): (<a href="" ng-click="order('-
name',false)">^</a>)</th>\n
Login.c(90): <th><a href="" ng-click="reverse=!
reverse;order('phone', reverse)">Phone Numbe
Login.c(90): r</a></th>\n
Login.c(90): <th><a href="" ng-click="reverse=!
reverse;order('age',reverse)">Age</a></th>\n
Login.c(90): </tr>\n
Login.c(90): <tr ng-repeat="friend in friends">\n
Login.c(90): <td>{{friend.name}}</td>\n
Login.c(90): <td>{{friend.phone}}</td>\n
Login.c(90): <td>{{friend.age}}</td>\n
Login.c(90): </tr>\n
Login.c(90): </table>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('orderByExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', '$filter',
function($scope, $filter) {
Login.c(90): \n
Login.c(90): var orderBy = $filter('orderBy');\n
Login.c(90): $scope.friends = [\n
Login.c(90): { name: 'John', phone: '555-1212', age: 10 },\n
Login.c(90): { name: 'Mary', phone: '555-9876', age: 19 },\n
Login.c(90): { name: 'Mike', phone: '555-4321', age: 21 },\n
Login.c(90): { name: 'Adam', phone: '555-5678', age: 35 },\n
Login.c(90): { name: 'Julie', phone: '555-8765', age: 29 }\n
Login.c(90): ];\n
Login.c(90): $scope.order = function(predicate, reverse) {\n
Login.c(90): $scope.friends = orderBy($scope.friends, predicate,
reverse);\n
Login.c(90): };\n
Login.c(90): $scope.order('-age',false);\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): orderByFilter.$inject = ['$parse'];\n
Login.c(90): function orderByFilter($parse){\n
Login.c(90): return function(array, sortPredicate, reverseOrder) {\n
Login.c(90): if (!(isArrayLike(array))) return array;\n
Login.c(90): if (!sortPredicate) return array;\n
Login.c(90): sortPredicate = isArray(sortPredicate) ? sortPredicate:
[sortPredicate];\n
Login.c(90): sortPredicate = map(sortPredicate, function(predicate){\n
Login.c(90): var descending = false, get = predicate || identity;\n
Login.c(90): if (isString(predicate)) {\n
Login.c(90): if ((predicate.charAt(0) == '+' || predicate.charAt(0) ==
'-')) {\n
Login.c(90): descending = predicate.charAt(0) == '-';\n
Login.c(90): predicate = predicate.substring(1);\n
Login.c(90): }\n
Login.c(90): get = $parse(predicate);\n
Login.c(90): if (get.constant) {\n
Login.c(90): var key = get();\n
Login.c(90): return reverseComparator(function(a,b) {\n
Login.c(90): return compare(a[key], b[key]);\n
Login.c(90): }, descending);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return reverseComparator(function(a,b){\n
Login.c(90): return compare(get(a),get(b));\n
Login.c(90): }, descending);\n
Login.c(90): });\n
Login.c(90): var arrayCopy = [];\n
Login.c(90): for ( var i = 0; i < array.length; i++)
{ arrayCopy.push(array[i]); }\n
Login.c(90): return arrayCopy.sort(reverseComparator(comparator,
reverseOrder));\n
Login.c(90): \n
Login.c(90): function comparator(o1, o2){\n
Login.c(90): for ( var i = 0; i < sortPredicate.length; i++) {\n
Login.c(90): var comp = sortPredicate[i](o1, o2);\n
Login.c(90): if (comp !== 0) return comp;\n
Login.c(90): }\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): function reverseComparator(comp, descending) {\n
Login.c(90): return toBoolean(descending)\n
Login.c(90): ? function(a,b){return comp(b,a);}\n
Login.c(90): : comp;\n
Login.c(90): }\n
Login.c(90): function compare(v1, v2){\n
Login.c(90): var t1 = typeof v1;\n
Login.c(90): var t2 = typeof v2;\n
Login.c(90): if (t1 == t2) {\n
Login.c(90): if (isDate(v1) && isDate(v2)) {\n
Login.c(90): v1 = v1.valueOf();\n
Login.c(90): v2 = v2.valueOf();\n
Login.c(90): }\n
Login.c(90): if (t1 == "string") {\n
Login.c(90): v1 = v1.toLowerCase();\n
Login.c(90): v2 = v2.toLowerCase();\n
Login.c(90): }\n
Login.c(90): if (v1 === v2) return 0;\n
Login.c(90): return v1 < v2 ? -1 : 1;\n
Login.c(90): } else {\n
Login.c(90): return t1 < t2 ? -1 : 1;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ngDirective(directive) {\n
Login.c(90): if (isFunction(directive)) {\n
Login.c(90): directive = {\n
Login.c(90): link: directive\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): directive.restrict = directive.restrict || 'AC';\n
Login.c(90): return valueFn(directive);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name a\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Modifies the default behavior of the html A tag so that the
default action is prevented
Login.c(90): when\n
Login.c(90): * the href attribute is empty.\n
Login.c(90): *\n
Login.c(90): * This change permits the easy creation of action links with the
`ngClick` directive\n
Login.c(90): * without changing the location or causing page reloads, e.g.:\n
Login.c(90): * `<a href="" ng-click="list.addItem()">Add Item</a>`\n
Login.c(90): */\n
Login.c(90): var htmlAnchorDirective = valueFn({\n
Login.c(90): restrict: 'E',\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): \n
Login.c(90): if (msie <= 8) {\n
Login.c(90): \n
Login.c(90): // turn <a href ng-click="..">link</a> into a stylable link
in IE\n
Login.c(90): // but only if it doesn't have name attribute, in which case
it's an anchor\n
Login.c(90): if (!attr.href && !attr.name) {\n
Login.c(90): attr.$set('href', '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // add a comment node to anchors to workaround IE bug that
causes element content to
Login.c(90): be reset\n
Login.c(90): // to new attribute content if attribute is updated with
value containing @ and elem
Login.c(90): ent also\n
Login.c(90): // contains value with @\n
Login.c(90): // see issue #1949\n
Login.c(90): element.append(document.createComment('IE fix'));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!attr.href && !attr.xlinkHref && !attr.name) {\n
Login.c(90): return function(scope, element) {\n
Login.c(90): // SVGAElement does not use the href attribute, but rather
the 'xlinkHref' attribu
Login.c(90): te.\n
Login.c(90): var href = toString.call(element.prop('href')) ===
'[object SVGAnimatedString]' ?\n
Login.c(90): 'xlink:href' : 'href';\n
Login.c(90): element.on('click', function(event){\n
Login.c(90): // if we have no href url, then don't navigate
anywhere.\n
Login.c(90): if (!element.attr(href)) {\n
Login.c(90): event.preventDefault();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngHref\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in an href attribute
will\n
Login.c(90): * make the link go to the wrong URL if the user clicks it
before\n
Login.c(90): * Angular has a chance to replace the `{{hash}}` markup with
its\n
Login.c(90): * value. Until Angular replaces the markup the link will be
broken\n
Login.c(90): * and will most likely return a 404 error.\n
Login.c(90): *\n
Login.c(90): * The `ngHref` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The wrong way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <a href="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <a ng-href="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element A\n
Login.c(90): * @param {template} ngHref any string which can contain `{{}}`
markup.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example shows various combinations of `href`, `ng-href`
and `ng-click` attributes\n
Login.c(90): * in links and their different behaviors:\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-model="value" /><br />\n
Login.c(90): <a id="link-1" href ng-click="value = 1">link 1</a> (link,
don't reload)<br />\n
Login.c(90): <a id="link-2" href="" ng-click="value = 2">link 2</a>
(link, don't reload)<br />\n
Login.c(90): <a id="link-3" ng-href="/{{'123'}}">link 3</a> (link,
reload!)<br />\n
Login.c(90): <a id="link-4" href="" name="xx" ng-click="value =
4">anchor</a> (link, don't relo
Login.c(90): ad)<br />\n
Login.c(90): <a id="link-5" name="xxx" ng-click="value = 5">anchor</a>
(no link)<br />\n
Login.c(90): <a id="link-6" ng-href="{{value}}">link</a> (link, change
location)\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should execute ng-click but not reload when href
without value', function() {\n
Login.c(90): element(by.id('link-1')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('1');\n
Login.c(90): expect(element(by.id('link-
1')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click but not reload when href empty
string', function() {\n
Login.c(90): element(by.id('link-2')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('2');\n
Login.c(90): expect(element(by.id('link-
2')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click and change url when ng-href
specified', function() {\n
Login.c(90): expect(element(by.id('link-
3')).getAttribute('href')).toMatch(/\\/123$/);\n
Login.c(90): \n
Login.c(90): element(by.id('link-3')).click();\n
Login.c(90): \n
Login.c(90): // At this point, we navigate away from an Angular page,
so we need\n
Login.c(90): // to use browser.driver to get the base webdriver.\n
Login.c(90): \n
Login.c(90): browser.wait(function() {\n
Login.c(90): return
browser.driver.getCurrentUrl().then(function(url) {\n
Login.c(90): return url.match(/\\/123$/);\n
Login.c(90): });\n
Login.c(90): }, 5000, 'page should navigate to /123');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): xit('should execute ng-click but not reload when href
empty string and name specif
Login.c(90): ied', function() {\n
Login.c(90): element(by.id('link-4')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('4');\n
Login.c(90): expect(element(by.id('link-
4')).getAttribute('href')).toBe('');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should execute ng-click but not reload when no href
but name specified', funct
Login.c(90): ion() {\n
Login.c(90): element(by.id('link-5')).click();\n
Login.c(90):
expect(element(by.model('value')).getAttribute('value')).toEqual('5');\n
Login.c(90): expect(element(by.id('link-
5')).getAttribute('href')).toBe(null);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should only change url when only ng-href', function()
{\n
Login.c(90): element(by.model('value')).clear();\n
Login.c(90): element(by.model('value')).sendKeys('6');\n
Login.c(90): expect(element(by.id('link-
6')).getAttribute('href')).toMatch(/\\/6$/);\n
Login.c(90): \n
Login.c(90): element(by.id('link-6')).click();\n
Login.c(90): \n
Login.c(90): // At this point, we navigate away from an Angular page,
so we need\n
Login.c(90): // to use browser.driver to get the base webdriver.\n
Login.c(90): browser.wait(function() {\n
Login.c(90): return
browser.driver.getCurrentUrl().then(function(url) {\n
Login.c(90): return url.match(/\\/6$/);\n
Login.c(90): });\n
Login.c(90): }, 5000, 'page should navigate to /6');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSrc\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in a `src` attribute
doesn't\n
Login.c(90): * work right: The browser will fetch from the URL with the
literal\n
Login.c(90): * text `{{hash}}` until Angular replaces the expression inside\n
Login.c(90): * `{{hash}}`. The `ngSrc` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The buggy way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img src="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img ng-src="http://www.gravatar.com/avatar/{{hash}}"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element IMG\n
Login.c(90): * @param {template} ngSrc any string which can contain `{{}}`
markup.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSrcset\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 99\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Using Angular markup like `{{hash}}` in a `srcset` attribute
doesn't\n
Login.c(90): * work right: The browser will fetch from the URL with the
literal\n
Login.c(90): * text `{{hash}}` until Angular replaces the expression inside\n
Login.c(90): * `{{hash}}`. The `ngSrcset` directive solves this problem.\n
Login.c(90): *\n
Login.c(90): * The buggy way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The correct way to write it:\n
Login.c(90): * ```html\n
Login.c(90): * <img ng-srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @element IMG\n
Login.c(90): * @param {template} ngSrcset any string which can contain `{{}}`
markup.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngDisabled\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * We shouldn't do this, because it will make the button enabled
on Chrome/Firefox but not
Login.c(90): on IE8 and older IEs:\n
Login.c(90): * ```html\n
Login.c(90): * <div ng-init="scope = { isDisabled: false }">\n
Login.c(90): * <button disabled="{{scope.isDisabled}}">Disabled</button>\n
Login.c(90): * </div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as disabled. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngDisabled` directive solves this problem for the
`disabled` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me to toggle: <input type="checkbox" ng-
model="checked"><br/>\n
Login.c(90): <button ng-model="button" ng-
disabled="checked">Button</button>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle button', function() {\n
Login.c(90):
expect(element(by.css('button')).getAttribute('disabled')).toBeF
Login.c(90): t=3157ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): alsy();\n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90):
expect(element(by.css('button')).getAttribute('disabled')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngDisabled If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "disabled" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngChecked\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as checked. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngChecked` directive solves this problem for the `checked`
attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to check both: <input type="checkbox" ng-
model="master"><br/>\n
Login.c(90): <input id="checkSlave" type="checkbox" ng-
checked="master">\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check both checkBoxes', function() {\n
Login.c(90):
expect(element(by.id('checkSlave')).getAttribute('checked')).toBeFalsy();\n
Login.c(90): element(by.model('master')).click();\n
Login.c(90):
expect(element(by.id('checkSlave')).getAttribute('checked')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngChecked If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "checked" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngReadonly\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as readonly. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngReadonly` directive solves this problem for the
`readonly` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to make text readonly: <input type="checkbox" ng-
model="checked"><br/>\n
Login.c(90): <input type="text" ng-readonly="checked" value="I'm
Angular"/>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle readonly attr', function() {\n
Login.c(90):
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeFalsy();\n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90):
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element INPUT\n
Login.c(90): * @param {expression} ngReadonly If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "readonly" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSelected\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as selected. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngSelected` directive solves this problem for the
`selected` attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me to select: <input type="checkbox" ng-
model="selected"><br/>\n
Login.c(90): <select>\n
Login.c(90): <option>Hello!</option>\n
Login.c(90): <option id="greet" ng-selected="selected">Greetings!
</option>\n
Login.c(90): </select>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should select Greetings!', function() {\n
Login.c(90):
expect(element(by.id('greet')).getAttribute('selected')).toBeFalsy();\n
Login.c(90): element(by.model('selected')).click();\n
Login.c(90):
expect(element(by.id('greet')).getAttribute('selected')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element OPTION\n
Login.c(90): * @param {expression} ngSelected If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "selected" will be set on the
element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngOpen\n
Login.c(90): * @restrict A\n
Login.c(90): * @priority 100\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The HTML specification does not require browsers to preserve
the values of boolean attr
Login.c(90): ibutes\n
Login.c(90): * such as open. (Their presence means true and their absence
means false.)\n
Login.c(90): * If we put an Angular interpolation expression into such an
attribute then the\n
Login.c(90): * binding information would be lost when the browser removes the
attribute.\n
Login.c(90): * The `ngOpen` directive solves this problem for the `open`
attribute.\n
Login.c(90): * This complementary directive is not removed by the browser and
so provides\n
Login.c(90): * a permanent reliable place to store the binding information.\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): Check me check multiple: <input type="checkbox" ng-
model="open"><br/>\n
Login.c(90): <details id="details" ng-open="open">\n
Login.c(90): <summary>Show/Hide me</summary>\n
Login.c(90): </details>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should toggle open', function() {\n
Login.c(90):
expect(element(by.id('details')).getAttribute('open')).toBeFalsy();\n
Login.c(90): element(by.model('open')).click();\n
Login.c(90):
expect(element(by.id('details')).getAttribute('open')).toBeTruthy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @element DETAILS\n
Login.c(90): * @param {expression} ngOpen If the {@link guide/expression
expression} is truthy,\n
Login.c(90): * then special attribute "open" will be set on the element\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var ngAttributeAliasDirectives = {};\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // boolean attrs are evaluated\n
Login.c(90): forEach(BOOLEAN_ATTR, function(propName, attrName) {\n
Login.c(90): // binding to multiple is not supported\n
Login.c(90): if (propName == "multiple") return;\n
Login.c(90): \n
Login.c(90): var normalized = directiveNormalize('ng-' + attrName);\n
Login.c(90): ngAttributeAliasDirectives[normalized] = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 100,\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr[normalized], function
ngBooleanAttrWatchAction(value) {\n
Login.c(90): attr.$set(attrName, !!value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // ng-src, ng-srcset, ng-href are interpolated\n
Login.c(90): forEach(['src', 'srcset', 'href'], function(attrName) {\n
Login.c(90): var normalized = directiveNormalize('ng-' + attrName);\n
Login.c(90): ngAttributeAliasDirectives[normalized] = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 99, // it needs to run after the attributes are
interpolated\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var propName = attrName,\n
Login.c(90): name = attrName;\n
Login.c(90): \n
Login.c(90): if (attrName === 'href' &&\n
Login.c(90): toString.call(element.prop('href')) === '[object
SVGAnimatedString]') {\n
Login.c(90): name = 'xlinkHref';\n
Login.c(90): attr.$attr[name] = 'xlink:href';\n
Login.c(90): propName = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): attr.$observe(normalized, function(value) {\n
Login.c(90): if (!value) {\n
Login.c(90): if (attrName === 'href') {\n
Login.c(90): attr.$set(name, null);\n
Login.c(90): }\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): attr.$set(name, value);\n
Login.c(90): \n
Login.c(90): // on IE, if "ng:src" directive declaration is used and
"src" attribute doesn't
Login.c(90): exist\n
Login.c(90): // then calling element.setAttribute('src', 'foo')
doesn't do anything, so we ne
Login.c(90): ed\n
Login.c(90): // to set the property as well to achieve the desired
effect.\n
Login.c(90): // we use attr[attrName] value since $set can sanitize
the url.\n
Login.c(90): if (msie && propName) element.prop(propName,
attr[name]);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /* global -nullFormCtrl */\n
Login.c(90): var nullFormCtrl = {\n
Login.c(90): $addControl: noop,\n
Login.c(90): $removeControl: noop,\n
Login.c(90): $setValidity: noop,\n
Login.c(90): $setDirty: noop,\n
Login.c(90): $setPristine: noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name form.FormController\n
Login.c(90): *\n
Login.c(90): * @property {boolean} $pristine True if user has not interacted
with the form yet.\n
Login.c(90): * @property {boolean} $dirty True if user has already interacted
with the form.\n
Login.c(90): * @property {boolean} $valid True if all of the containing forms
and controls are valid.\n
Login.c(90): * @property {boolean} $invalid True if at least one containing
control or form is invalid
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @property {Object} $error Is an object hash, containing
references to all invalid contr
Login.c(90): ols or\n
Login.c(90): * forms, where:\n
Login.c(90): *\n
Login.c(90): * - keys are validation tokens (error names),\n
Login.c(90): * - values are arrays of controls or forms that are invalid for
given error name.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Built-in validation tokens:\n
Login.c(90): *\n
Login.c(90): * - `email`\n
Login.c(90): * - `max`\n
Login.c(90): * - `maxlength`\n
Login.c(90): * - `min`\n
Login.c(90): * - `minlength`\n
Login.c(90): * - `number`\n
Login.c(90): * - `pattern`\n
Login.c(90): * - `required`\n
Login.c(90): * - `url`\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `FormController` keeps track of all its controls and nested
forms as well as the state
Login.c(90): of them,\n
Login.c(90): * such as being valid/invalid or dirty/pristine.\n
Login.c(90): *\n
Login.c(90): * Each {@link ng.directive:form form} directive creates an
instance\n
Login.c(90): * of `FormController`.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): //asks for $scope to fool the BC controller module\n
Login.c(90): FormController.$inject = ['$element', '$attrs', '$scope',
'$animate'];\n
Login.c(90): function FormController(element, attrs, $scope, $animate) {\n
Login.c(90): var form = this,\n
Login.c(90): parentForm = element.parent().controller('form') ||
nullFormCtrl,\n
Login.c(90): invalidCount = 0, // used to easily determine if we are
valid\n
Login.c(90): errors = form.$error = {},\n
Login.c(90): controls = [];\n
Login.c(90): \n
Login.c(90): // init state\n
Login.c(90): form.$name = attrs.name || attrs.ngForm;\n
Login.c(90): form.$dirty = false;\n
Login.c(90): form.$pristine = true;\n
Login.c(90): form.$valid = true;\n
Login.c(90): form.$invalid = false;\n
Login.c(90): \n
Login.c(90): parentForm.$addControl(form);\n
Login.c(90): \n
Login.c(90): // Setup initial state of the control\n
Login.c(90): element.addClass(PRISTINE_CLASS);\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): \n
Login.c(90): // convenience method for easy toggling of classes\n
Login.c(90): function toggleValidCss(isValid, validationErrorKey) {\n
Login.c(90): validationErrorKey = validationErrorKey ? '-' +
snake_case(validationErrorKey, '-') :
Login.c(90): '';\n
Login.c(90): $animate.setClass(element,\n
Login.c(90): (isValid ? VALID_CLASS : INVALID_CLASS) +
validationErrorKey,\n
Login.c(90): (isValid ? INVALID_CLASS : VALID_CLASS) +
validationErrorKey);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$addControl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Register a control with the form.\n
Login.c(90): *\n
Login.c(90): * Input elements using ngModelController do this automatically
when they are linked.\n
Login.c(90): */\n
Login.c(90): form.$addControl = function(control) {\n
Login.c(90): // Breaking change - before, inputs whose name was
"hasOwnProperty" were quietly ignor
Login.c(90): ed\n
Login.c(90): // and not added to the scope. Now we throw an error.\n
Login.c(90): assertNotHasOwnProperty(control.$name, 'input');\n
Login.c(90): controls.push(control);\n
Login.c(90): \n
Login.c(90): if (control.$name) {\n
Login.c(90): form[control.$name] = control;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$removeControl\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Deregister a control from the form.\n
Login.c(90): *\n
Login.c(90): * Input elements using ngModelController do this automatically
when they are destroyed.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): form.$removeControl = function(control) {\n
Login.c(90): if (control.$name && form[control.$name] === control) {\n
Login.c(90): delete form[control.$name];\n
Login.c(90): }\n
Login.c(90): forEach(errors, function(queue, validationToken) {\n
Login.c(90): form.$setValidity(validationToken, true, control);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): arrayRemove(controls, control);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setValidity\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the validity of a form control.\n
Login.c(90): *\n
Login.c(90): * This method will also propagate to parent forms.\n
Login.c(90): */\n
Login.c(90): form.$setValidity = function(validationToken, isValid, control)
{\n
Login.c(90): var queue = errors[validationToken];\n
Login.c(90): \n
Login.c(90): if (isValid) {\n
Login.c(90): if (queue) {\n
Login.c(90): arrayRemove(queue, control);\n
Login.c(90): if (!queue.length) {\n
Login.c(90): invalidCount--;\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(isValid);\n
Login.c(90): form.$valid = true;\n
Login.c(90): form.$invalid = false;\n
Login.c(90): }\n
Login.c(90): errors[validationToken] = false;\n
Login.c(90): toggleValidCss(true, validationToken);\n
Login.c(90): parentForm.$setValidity(validationToken, true, form);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(isValid);\n
Login.c(90): }\n
Login.c(90): if
Login.c(90): t=3177ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): (queue) {\n
Login.c(90): if (includes(queue, control)) return;\n
Login.c(90): } else {\n
Login.c(90): errors[validationToken] = queue = [];\n
Login.c(90): invalidCount++;\n
Login.c(90): toggleValidCss(false, validationToken);\n
Login.c(90): parentForm.$setValidity(validationToken, false, form);\n
Login.c(90): }\n
Login.c(90): queue.push(control);\n
Login.c(90): \n
Login.c(90): form.$valid = false;\n
Login.c(90): form.$invalid = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setDirty\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the form to a dirty state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to add the 'ng-dirty' class and set
the form to a dirty\n
Login.c(90): * state (ng-dirty class). This method will also propagate to
parent forms.\n
Login.c(90): */\n
Login.c(90): form.$setDirty = function() {\n
Login.c(90): $animate.removeClass(element, PRISTINE_CLASS);\n
Login.c(90): $animate.addClass(element, DIRTY_CLASS);\n
Login.c(90): form.$dirty = true;\n
Login.c(90): form.$pristine = false;\n
Login.c(90): parentForm.$setDirty();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name form.FormController#$setPristine\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the form to its pristine state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to remove the 'ng-dirty' class and
set the form to its pris
Login.c(90): tine\n
Login.c(90): * state (ng-pristine class). This method will also propagate to
all the controls contai
Login.c(90): ned\n
Login.c(90): * in this form.\n
Login.c(90): *\n
Login.c(90): * Setting a form back to a pristine state is often useful when
we want to 'reuse' a for
Login.c(90): m after\n
Login.c(90): * saving or resetting it.\n
Login.c(90): */\n
Login.c(90): form.$setPristine = function () {\n
Login.c(90): $animate.removeClass(element, DIRTY_CLASS);\n
Login.c(90): $animate.addClass(element, PRISTINE_CLASS);\n
Login.c(90): form.$dirty = false;\n
Login.c(90): form.$pristine = true;\n
Login.c(90): forEach(controls, function(control) {\n
Login.c(90): control.$setPristine();\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngForm\n
Login.c(90): * @restrict EAC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Nestable alias of {@link ng.directive:form `form`} directive.
HTML\n
Login.c(90): * does not allow nesting of form elements. It is useful to nest
forms, for example if the
Login.c(90): validity of a\n
Login.c(90): * sub-group of controls needs to be determined.\n
Login.c(90): *\n
Login.c(90): * Note: the purpose of `ngForm` is to group controls,\n
Login.c(90): * but not to be a replacement for the `<form>` tag with all of
its capabilities\n
Login.c(90): * (e.g. posting to the server, ...).\n
Login.c(90): *\n
Login.c(90): * @param {string=} ngForm|name Name of the form. If specified,
the form controller will b
Login.c(90): e published into\n
Login.c(90): * related scope, under this name.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name form\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Directive that instantiates\n
Login.c(90): * {@link form.FormController FormController}.\n
Login.c(90): *\n
Login.c(90): * If the `name` attribute is specified, the form controller is
published onto the current
Login.c(90): scope under\n
Login.c(90): * this name.\n
Login.c(90): *\n
Login.c(90): * # Alias: {@link ng.directive:ngForm `ngForm`}\n
Login.c(90): *\n
Login.c(90): * In Angular forms can be nested. This means that the outer form
is valid when all of the
Login.c(90): child\n
Login.c(90): * forms are valid as well. However, browsers do not allow nesting
of `<form>` elements, s
Login.c(90): o\n
Login.c(90): * Angular provides the {@link ng.directive:ngForm `ngForm`}
directive which behaves ident
Login.c(90): ically to\n
Login.c(90): * `<form>` but can be nested. This allows you to have nested
forms, which is very useful
Login.c(90): when\n
Login.c(90): * using Angular validation directives in forms that are
dynamically generated using the\n
Login.c(90): * {@link ng.directive:ngRepeat `ngRepeat`} directive. Since you
cannot dynamically genera
Login.c(90): te the `name`\n
Login.c(90): * attribute of input elements using interpolation, you have to
wrap each set of repeated
Login.c(90): inputs in an\n
Login.c(90): * `ngForm` directive and nest these in an outer `form` element.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # CSS classes\n
Login.c(90): * - `ng-valid` is set if the form is valid.\n
Login.c(90): * - `ng-invalid` is set if the form is invalid.\n
Login.c(90): * - `ng-pristine` is set if the form is pristine.\n
Login.c(90): * - `ng-dirty` is set if the form is dirty.\n
Login.c(90): *\n
Login.c(90): * Keep in mind that ngAnimate can detect each of these classes
when added and removed.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * # Submitting a form and preventing the default action\n
Login.c(90): *\n
Login.c(90): * Since the role of forms in client-side Angular applications is
different than in classi
Login.c(90): cal\n
Login.c(90): * roundtrip apps, it is desirable for the browser not to
translate the form submission in
Login.c(90): to a full\n
Login.c(90): * page reload that sends the data to the server. Instead some
javascript logic should be
Login.c(90): triggered\n
Login.c(90): * to handle the form submission in an application-specific way.\n
Login.c(90): *\n
Login.c(90): * For this reason, Angular prevents the default action (form
submission to the server) un
Login.c(90): less the\n
Login.c(90): * `<form>` element has an `action` attribute specified.\n
Login.c(90): *\n
Login.c(90): * You can use one of the following two ways to specify what
javascript method should be c
Login.c(90): alled when\n
Login.c(90): * a form is submitted:\n
Login.c(90): *\n
Login.c(90): * - {@link ng.directive:ngSubmit ngSubmit} directive on the form
element\n
Login.c(90): * - {@link ng.directive:ngClick ngClick} directive on the first\n
Login.c(90): * button or input field of type submit (input[type=submit])\n
Login.c(90): *\n
Login.c(90): * To prevent double execution of the handler, use only one of the
{@link ng.directive:ngS
Login.c(90): ubmit ngSubmit}\n
Login.c(90): * or {@link ng.directive:ngClick ngClick} directives.\n
Login.c(90): * This is because of the following form submission rules in the
HTML specification:\n
Login.c(90): *\n
Login.c(90): * - If a form has only one input field then hitting enter in this
field triggers form sub
Login.c(90): mit\n
Login.c(90): * (`ngSubmit`)\n
Login.c(90): * - if a form has 2+ input fields and no buttons or
input[type=submit] then hitting enter
Login.c(90): \n
Login.c(90): * doesn't trigger submit\n
Login.c(90): * - if a form has one or more input fields and one or more
buttons or input[type=submit]
Login.c(90): then\n
Login.c(90): * hitting enter in any of the input fields will trigger the click
handler on the *first*
Login.c(90): button or\n
Login.c(90): * input[type=submit] (`ngClick`) *and* a submit handler on the
enclosing form (`ngSubmit`
Login.c(90): )\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * ## Animation Hooks\n
Login.c(90): *\n
Login.c(90): * Animations in ngForm are triggered when any of the associated
CSS classes are added and
Login.c(90): removed.\n
Login.c(90): * These classes are: `.ng-pristine`, `.ng-dirty`, `.ng-invalid`
and `.ng-valid` as well a
Login.c(90): s any\n
Login.c(90): * other validations that are performed within the form.
Animations in ngForm are similar
Login.c(90): to how\n
Login.c(90): * they work in ngClass and animations can be hooked into using
CSS transitions, keyframes
Login.c(90): as well\n
Login.c(90): * as JS animations.\n
Login.c(90): *\n
Login.c(90): * The following example shows a simple way to utilize CSS
transitions to style a form ele
Login.c(90): ment\n
Login.c(90): * that has been rendered as invalid after it has been
validated:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * //be sure to include ngAnimate as a module to hook into more\n
Login.c(90): * //advanced animations\n
Login.c(90): * .my-form {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * background: white;\n
Login.c(90): * }\n
Login.c(90): * .my-form.ng-invalid {\n
Login.c(90): * background: red;\n
Login.c(90): * color:white;\n
Login.c(90): * }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example deps="angular-animate.js" animations="true"
fixBase="true" module="formExampl
Login.c(90): e">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('formExample', [])\n
Login.c(90): .controller('FormController', ['$scope',
function($scope) {\n
Login.c(90): $scope.userType = 'guest';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <style>\n
Login.c(90): .my-form {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): background: transparent;\n
Login.c(90): }\n
Login.c(90): .my-form.ng-invalid {\n
Login.c(90): background: red;\n
Login.c(90): }\n
Login.c(90): </style>\n
Login.c(90): <form name="myForm" ng-controller="FormController"
class="my-form">\n
Login.c(90): userType: <input name="input" ng-model="userType"
required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">Required!</span><br>\n
Login.c(90): <tt>userType = {{userType}}</tt><br>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): var userType = element(by.binding('userType'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): \n
Login.c(90): expect(userType.getText()).toContain('guest');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): var userType = element(by.binding('userType'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var userInput = element(by.model('userType'));\n
Login.c(90): \n
Login.c(90): userInput.clear();\n
Login.c(90): userInput.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(userType.getText()).toEqual('userType =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): * @param {string=} name Name of the form. If specified, the form
controller will be publi
Login.c(90): shed into\n
Login.c(90): * related scope, under this name.\n
Login.c(90): */\n
Login.c(90): var formDirectiveFactory = function(isNgForm) {\n
Login.c(90): return ['$timeout', function($timeout) {\n
Login.c(90): var formDirective = {\n
Login.c(90): name: 'form',\n
Login.c(90): restrict: isNgForm ? 'EAC' : 'E',\n
Login.c(90): controller: FormController,\n
Login.c(90): compile: function() {\n
Login.c(90): return {\n
Login.c(90): pre: function(scope, formElement, attr, controller) {\n
Login.c(90): if (!attr.action) {\n
Login.c(90): // we can't use jq events because if a form is
destroyed during submission t
Login.c(90): he default\n
Login.c(90): // action is not prevented. see #1238\n
Login.c(90): //\n
Login.c(90): // IE 9 is not affected because it doesn't fire a
submit event and try to do
Login.c(90): a full\n
Login.c(90): // page reload if the form was destroyed by
submission of the form via a cli
Login.c(90): ck handler\n
Login.c(90): // on a button in the form. Looks like an IE9
specific bug.\n
Login.c(90): var preventDefaultListener = function(event) {\n
Login.c(90): event.preventDefault\n
Login.c(90): ? event.preventDefault()\n
Login.c(90): : event.returnValue = false; // IE\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): addEventListenerFn(formElement[0], 'submit',
preventDefaultListener);\n
Login.c(90): \n
Login.c(90): // unregister the preventDefault listener so that we
don't not leak memory b
Login.c(90): ut in a\n
Login.c(90): // way that will achieve the prevention of the
default action.\n
Login.c(90): formElement.on('$destroy', function() {\n
Login.c(90): $timeout(function() {\n
Login.c(90): removeEventListenerFn(formElement[0], 'submit',
preventDefaultListener);
Login.c(90): \n
Login.c(90): }, 0, false);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var parentFormCtrl =
formElement.parent().controller('form'),\n
Login.c(90): alias = attr.name || attr.ngForm;\n
Login.c(90): \n
Login.c(90): if (alias) {\n
Login.c(90): setter(scope, alias, controller, alias);\n
Login.c(90): }\n
Login.c(90): if (parentFormCtrl) {\n
Login.c(90): formElement.on('$destroy', function() {\n
Login.c(90): parentFormCtrl.$removeControl(controller);\n
Login.c(90): if (alias) {\n
Login.c(90): setter(scope, alias, undefined, alias);\n
Login.c(90): }\n
Login.c(90): extend(controller, nullFormCtrl); //stop
propagating child destruction han
Login.c(90): dlers upwards\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return formDirective;\n
Login.c(90): }];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var formDirective = formDirectiveFactory();\n
Login.c(90): var ngFormDirective = formDirectiveFactory(true);\n
Login.c(90): \n
Login.c(90): /* global VALID_CLASS: true,\n
Login.c(90): INVALID_CLASS: true,\n
Login.c(90): PRISTINE_CLASS: true,\n
Login.c(90): DIRTY_CLASS: true\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var URL_REGEXP = /^(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)
(:[0-9]+)?(\\/|\\/([\\w#
Login.c(90): !:.?+=&%@!\\-\\/]))?$/;\n
Login.c(90): var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-
z0-9-]*[a-z0-9])?(\\.[a-z
Login.c(90): 0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\n
Login.c(90): var NUMBER_REGEXP = /^\\s*(\\-|\\+)?(\\d+|
(\\d*(\\.\\d*)))\\s*$/;\n
Login.c(90): \n
Login.c(90): var inputType = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[text]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Standard HTML text input with angular data binding, inherited
by most of the `input`
Login.c(90): elements.\n
Login.c(90): *\n
Login.c(90): * *NOTE* Not every feature offered is available for all input
types.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Adds `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patter
Login.c(90): t=3194ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim t
Login.c(90): he input.\n
Login.c(90): * This parameter is ignored for input[type=password]
controls, which will never trim
Login.c(90): the\n
Login.c(90): * input.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="text-input-directive"
module="textInputExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('textInputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'guest';\n
Login.c(90): $scope.word = /^\\s*\\w*\\s*$/;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Single word: <input type="text" name="input" ng-
model="text"\n
Login.c(90): ng-pattern="word" required ng-
trim="false">\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.pattern">\n
Login.c(90): Single word only!</span>\n
Login.c(90): \n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(text.getText()).toContain('guest');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if multi word', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('hello world');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'text': textInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[number]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with number validation and transformation. Sets
the `number` validation\n
Login.c(90): * error if not a valid number.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} min Sets the `min` validation error key if
the value entered is less
Login.c(90): than `min`.\n
Login.c(90): * @param {string=} max Sets the `max` validation error key if
the value entered is grea
Login.c(90): ter than `max`.\n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="number-input-directive"
module="numberExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('numberExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.value = 12;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Number: <input type="number" name="input" ng-
model="value"\n
Login.c(90): min="0" max="99" required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.number">\n
Login.c(90): Not valid number!</span>\n
Login.c(90): <tt>value = {{value}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var value = element(by.binding('value'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('value'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(value.getText()).toContain('12');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): expect(value.getText()).toEqual('value =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if over max', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('123');\n
Login.c(90): expect(value.getText()).toEqual('value =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'number': numberInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[url]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with URL validation. Sets the `url` validation
error key if the content is
Login.c(90): not a\n
Login.c(90): * valid URL.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="url-input-directive" module="urlExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('urlExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'http://google.com';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): URL: <input type="url" name="input" ng-model="text"
required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.url">\n
Login.c(90): Not valid url!</span>\n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.url = {{!!myForm.
$error.url}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(text.getText()).toContain('http://google.com');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if not url', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('box');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'url': urlInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[email]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input with email validation. Sets the `email` validation
error key if not a vali
Login.c(90): d email\n
Login.c(90): * address.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} required Sets `required` validation error
key if the value is not en
Login.c(90): tered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation const
Login.c(90): raint to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` ins
Login.c(90): tead of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation
error key if the value is sh
Login.c(90): orter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation
error key if the value is lo
Login.c(90): nger than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error
key if the value does not
Login.c(90): match the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/`
for inline patterns or `re
Login.c(90): gexp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="email-input-directive"
module="emailExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('emailExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.text = 'me@example.com';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-
controller="ExampleController">\n
Login.c(90): Email: <input type="email" name="input" ng-
model="text" required>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <span class="error" ng-show="myForm.input.
$error.email">\n
Login.c(90): Not valid email!</span>\n
Login.c(90): <tt>text = {{text}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$valid = {{myForm.input.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.input.$error = {{myForm.input.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.email = {{!!myForm.
$error.email}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var text = element(by.binding('text'));\n
Login.c(90): var valid = element(by.binding('myForm.input.
$valid'));\n
Login.c(90): var input = element(by.model('text'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(text.getText()).toCo
Login.c(90): t=3208ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ntain('me@example.com');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('');\n
Login.c(90): expect(text.getText()).toEqual('text =');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if not email', function() {\n
Login.c(90): input.clear();\n
Login.c(90): input.sendKeys('xxx');\n
Login.c(90): \n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'email': emailInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[radio]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML radio button.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string} value The value to which the expression
should be set when selected.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {string} ngValue Angular expression which sets the
value to which the expressi
Login.c(90): on should\n
Login.c(90): * be set when selected.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="radio-input-directive"
module="radioExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('radioExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.color = 'blue';\n
Login.c(90): $scope.specialValue = {\n
Login.c(90): "id": "12345",\n
Login.c(90): "value": "green"\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): <input type="radio" ng-model="color" value="red"> Red
<br/>\n
Login.c(90): <input type="radio" ng-model="color" ng-
value="specialValue"> Green <br/>\n
Login.c(90): <input type="radio" ng-model="color" value="blue"> Blue
<br/>\n
Login.c(90): <tt>color = {{color | json}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): Note that `ng-value="specialValue"` sets radio item's
value to be the value of `
Login.c(90): $scope.specialValue`.\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should change state', function() {\n
Login.c(90): var color = element(by.binding('color'));\n
Login.c(90): \n
Login.c(90): expect(color.getText()).toContain('blue');\n
Login.c(90): \n
Login.c(90): element.all(by.model('color')).get(0).click();\n
Login.c(90): \n
Login.c(90): expect(color.getText()).toContain('red');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'radio': radioInputType,\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc input\n
Login.c(90): * @name input[checkbox]\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML checkbox.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to
data-bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which
the control is published.
Login.c(90): \n
Login.c(90): * @param {string=} ngTrueValue The value to which the
expression should be set when sel
Login.c(90): ected.\n
Login.c(90): * @param {string=} ngFalseValue The value to which the
expression should be set when no
Login.c(90): t selected.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to
Login.c(90): user\n
Login.c(90): * interaction with the input element.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="checkbox-input-directive"
module="checkboxExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('checkboxExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.value1 = true;\n
Login.c(90): $scope.value2 = 'YES'\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): Value1: <input type="checkbox" ng-model="value1">
<br/>\n
Login.c(90): Value2: <input type="checkbox" ng-model="value2"\n
Login.c(90): ng-true-value="YES" ng-false-value="NO">
<br/>\n
Login.c(90): <tt>value1 = {{value1}}</tt><br/>\n
Login.c(90): <tt>value2 = {{value2}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should change state', function() {\n
Login.c(90): var value1 = element(by.binding('value1'));\n
Login.c(90): var value2 = element(by.binding('value2'));\n
Login.c(90): \n
Login.c(90): expect(value1.getText()).toContain('true');\n
Login.c(90): expect(value2.getText()).toContain('YES');\n
Login.c(90): \n
Login.c(90): element(by.model('value1')).click();\n
Login.c(90): element(by.model('value2')).click();\n
Login.c(90): \n
Login.c(90): expect(value1.getText()).toContain('false');\n
Login.c(90): expect(value2.getText()).toContain('NO');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): 'checkbox': checkboxInputType,\n
Login.c(90): \n
Login.c(90): 'hidden': noop,\n
Login.c(90): 'button': noop,\n
Login.c(90): 'submit': noop,\n
Login.c(90): 'reset': noop,\n
Login.c(90): 'file': noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // A helper function to call $setValidity and return the value /
undefined,\n
Login.c(90): // a pattern that is repeated a lot in the input validation
logic.\n
Login.c(90): function validate(ctrl, validatorName, validity, value){\n
Login.c(90): ctrl.$setValidity(validatorName, validity);\n
Login.c(90): return validity ? value : undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function testFlags(validity, flags) {\n
Login.c(90): var i, flag;\n
Login.c(90): if (flags) {\n
Login.c(90): for (i=0; i<flags.length; ++i) {\n
Login.c(90): flag = flags[i];\n
Login.c(90): if (validity[flag]) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Pass validity so that behaviour can be mocked easier.\n
Login.c(90): function addNativeHtml5Validators(ctrl, validatorName, badFlags,
ignoreFlags, validity) {\n
Login.c(90): if (isObject(validity)) {\n
Login.c(90): ctrl.$$hasNativeValidators = true;\n
Login.c(90): var validator = function(value) {\n
Login.c(90): // Don't overwrite previous validation, don't consider
valueMissing to apply (ng-req
Login.c(90): uired can\n
Login.c(90): // perform the required validation)\n
Login.c(90): if (!ctrl.$error[validatorName] &&\n
Login.c(90): !testFlags(validity, ignoreFlags) &&\n
Login.c(90): testFlags(validity, badFlags)) {\n
Login.c(90): ctrl.$setValidity(validatorName, false);\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): ctrl.$parsers.push(validator);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function textInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): var validity = element.prop(VALIDITY_STATE_PROPERTY);\n
Login.c(90): var placeholder = element[0].placeholder, noevent = {};\n
Login.c(90): var type = lowercase(element[0].type);\n
Login.c(90): ctrl.$$validityState = validity;\n
Login.c(90): \n
Login.c(90): // In composition mode, users are still inputing intermediate
text buffer,\n
Login.c(90): // hold the listener until composition is done.\n
Login.c(90): // More about composition events:
https://developer.mozilla.org/en-US/docs/Web/API/Compo
Login.c(90): sitionEvent\n
Login.c(90): if (!$sniffer.android) {\n
Login.c(90): var composing = false;\n
Login.c(90): \n
Login.c(90): element.on('compositionstart', function(data) {\n
Login.c(90): composing = true;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): element.on('compositionend', function() {\n
Login.c(90): composing = false;\n
Login.c(90): listener();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var listener = function(ev) {\n
Login.c(90): if (composing) return;\n
Login.c(90): var value = element.val();\n
Login.c(90): \n
Login.c(90): // IE (11 and under) seem to emit an 'input' event if the
placeholder value changes.\n
Login.c(90): // We don't want to dirty the value when this happens, so we
abort here. Unfortunately
Login.c(90): ,\n
Login.c(90): // IE also sends input events for other non-input-related
things, (such as focusing on
Login.c(90): a\n
Login.c(90): // form control), so this change is not entirely enough to
solve this.\n
Login.c(90): if (msie && (ev || noevent).type === 'input' &&
element[0].placeholder !== placeholder
Login.c(90): ) {\n
Login.c(90): placeholder = element[0].placeholder;\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // By default we will trim the value\n
Login.c(90): // If the attribute ng-trim exists we will avoid trimming\n
Login.c(90): // If input type is 'password', the value is never trimmed\n
Login.c(90): if (type !== 'password' && (toBoolean(attr.ngTrim || 'T')))
{\n
Login.c(90): value = trim(value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // If a control is suffering from bad input, browsers discard
its value, so it may be\n
Login.c(90): // necessary to revalidate even if the control's value is the
same empty value twice i
Login.c(90): n\n
Login.c(90): // a row.\n
Login.c(90): var revalidate = validity && ctrl.$$hasNativeValidators;\n
Login.c(90): if (ctrl.$viewValue !== value || (value === '' && revalidate))
{\n
Login.c(90): if (scope.$root.$$phase) {\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): } else {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // if the browser does support "input" event, we are fine -
except on IE9 which doesn't
Login.c(90): fire the\n
Login.c(90): // input event on backspace, delete or cut\n
Login.c(90): if ($sniffer.hasEvent('input')) {\n
Login.c(90): element.on('input', listener);\n
Login.c(90): } else {\n
Login.c(90): var timeout;\n
Login.c(90): \n
Login.c(90): var deferListener = function() {\n
Login.c(90): if (!timeout) {\n
Login.c(90): timeout = $browser.defer(function() {\n
Login.c(90): listener();\n
Login.c(90): timeout = null;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): element.on('keydown', function(event) {\n
Login.c(90): var key = event.keyCode;\n
Login.c(90): \n
Login.c(90): // ignore\n
Login.c(90): // command modifiers
arrows\n
Login.c(90): if (key === 91 || (15 < key && key < 19) || (37 <= key &&
key <= 40)) return;\n
Login.c(90): \n
Login.c(90): deferListener();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // if user modifies input value using context menu in IE, we
need "paste" and "cut" ev
Login.c(90): ents to catch it\n
Login.c(90): if ($sniffer.hasEvent('paste')) {\n
Login.c(90): element.on('paste cut', deferListener);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // if user paste into input using mouse on older browser\n
Login.c(90): // or form autocomplete on newer browser, we need "change" event
to catch it\n
Login.c(90): element.on('change', listener);\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): element.val(ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.
$viewValue);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // pattern validator\n
Login.c(90): var pattern = attr.ngPattern,\n
Login.c(90): patternValidator,\n
Login.c(90): match;\n
Login.c(90): \n
Login.c(90): if (pattern) {\n
Login.c(90): var validateRegex = function(regexp, value) {\n
Login.c(90): return validate(ctrl, 'pattern', ctrl.$isEmpty(value) ||
regexp.test(value), value);
Login.c(90): \n
Login.c(90): };\n
Login.c(90): match = pattern.match(/^\\/(.*)\\/([gim]*)$/);\n
Login.c(90): if (match) {\n
Login.c(90): pattern = new RegExp(match[1], match[2]);\n
Login.c(90): patternValidator = function(value) {\n
Login.c(90): return validateRegex(pattern, value);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): patternValidator = function(value) {\n
Login.c(90): var patternObj = scope.$eval(pattern);\n
Login.c(90): \n
Login.c(90): if (!patternObj || !patternObj.test) {\n
Login.c(90): throw minErr('ngPattern')('noregexp',\n
Login.c(90): 'Expected {0} to be a RegExp but was {1}. Element:
{2}', pattern,\n
Login.c(90): patternObj, startingTag(element));\n
Login.c(90): }\n
Login.c(90): return validateRegex(patternObj, value);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(patternValidator);\n
Login.c(90): ctrl.$parsers.push(patternValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // min length validator\n
Login.c(90): if (attr.ngMinlength) {\n
Login.c(90): var minlength = int(attr.ngMinlength);\n
Login.c(90): var minLengthValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'minlength', ctrl.$isEmpty(value) ||
value.length >= minlength
Login.c(90): , value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(minLengthValidator);\n
Login.c(90): ctrl.$formatters.push(minLengthValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // max length validator\n
Login.c(90): if (attr.ngMaxlength) {\n
Login.c(90): var maxlength = int(attr.ngMaxlength);\n
Login.c(90): var maxLengthValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'maxlength', ctrl.$isEmpty(value) ||
value.length <= maxlength
Login.c(90): , value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(maxLengthValidator);\n
Login.c(90): ctrl.$formatters.push(maxLengthValidator);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var numberBadFlags = ['badInput'];\n
Login.c(90): \n
Login.c(90): function numberInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $browser);\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(function(value) {\n
Login.c(90): var empty = ctrl.$isEmpty(value);\n
Login.c(90): if (empty || NUMBER_REGEXP.test(value)) {\n
Login.c(90): ctrl.$setValidity('number', true);\n
Login.c(90): return value === '' ? null : (empty ? value :
parseFloat(value));\n
Login.c(90): } else {\n
Login.c(90): ctrl.$setValidity('number', false);\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): addNativeHtml5Validators(ctrl, 'number', numberBadFlags, null,
ctrl.$$validityState);\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return ctrl.$isEmpty(value) ? '' : '' + value;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (attr.min) {\n
Login.c(90): var minValidator = function(value) {\n
Login.c(90): var min = parseFloat(attr.min);\n
Login.c(90): return validate(ctrl, 'min', ctrl.$isEmpty(value) || value
>= min, value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(minValidator);\n
Login.c(90): ctrl.$formatters.push(minValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (attr.max) {\n
Login.c(90): var maxValidator = function(value) {\n
Login.c(90): var max = parseFloat(attr.max);\n
Login.c(90): return validate(ctrl, 'max', ctrl.$isEmpty(value) || value
<= max, value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(maxValidator);\n
Login.c(90): ctrl.$formatters.push(maxValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return validate(ctrl, 'number', ctrl.$isEmpty(value) ||
isNumber(value), value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function urlInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $brow
Login.c(90): t=3226ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ser);\n
Login.c(90): \n
Login.c(90): var urlValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'url', ctrl.$isEmpty(value) ||
URL_REGEXP.test(value), value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(urlValidator);\n
Login.c(90): ctrl.$parsers.push(urlValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function emailInputType(scope, element, attr, ctrl, $sniffer,
$browser) {\n
Login.c(90): textInputType(scope, element, attr, ctrl, $sniffer, $browser);\n
Login.c(90): \n
Login.c(90): var emailValidator = function(value) {\n
Login.c(90): return validate(ctrl, 'email', ctrl.$isEmpty(value) ||
EMAIL_REGEXP.test(value), value
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(emailValidator);\n
Login.c(90): ctrl.$parsers.push(emailValidator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function radioInputType(scope, element, attr, ctrl) {\n
Login.c(90): // make the name unique, if not defined\n
Login.c(90): if (isUndefined(attr.name)) {\n
Login.c(90): element.attr('name', nextUid());\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): element.on('click', function() {\n
Login.c(90): if (element[0].checked) {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(attr.value);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): var value = attr.value;\n
Login.c(90): element[0].checked = (value == ctrl.$viewValue);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): attr.$observe('value', ctrl.$render);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function checkboxInputType(scope, element, attr, ctrl) {\n
Login.c(90): var trueValue = attr.ngTrueValue,\n
Login.c(90): falseValue = attr.ngFalseValue;\n
Login.c(90): \n
Login.c(90): if (!isString(trueValue)) trueValue = true;\n
Login.c(90): if (!isString(falseValue)) falseValue = false;\n
Login.c(90): \n
Login.c(90): element.on('click', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): ctrl.$setViewValue(element[0].checked);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): element[0].checked = ctrl.$viewValue;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Override the standard `$isEmpty` because a value of `false`
means empty in a checkbox
Login.c(90): .\n
Login.c(90): ctrl.$isEmpty = function(value) {\n
Login.c(90): return value !== trueValue;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): return value === trueValue;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(function(value) {\n
Login.c(90): return value ? trueValue : falseValue;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name textarea\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML textarea element control with angular data-binding. The
data-binding and validatio
Login.c(90): n\n
Login.c(90): * properties of this element are exactly the same as those of
the\n
Login.c(90): * {@link ng.directive:input input element}.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required Sets `required` validation error key
if the value is not ente
Login.c(90): red.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation constra
Login.c(90): int to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` inste
Login.c(90): ad of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation error
key if the value is shor
Login.c(90): ter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation error
key if the value is long
Login.c(90): er than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error key
if the value does not ma
Login.c(90): tch the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/` for
inline patterns or `rege
Login.c(90): xp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to u
Login.c(90): ser\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim the
Login.c(90): input.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name input\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML input element control with angular data-binding. Input
control follows HTML5 input
Login.c(90): types\n
Login.c(90): * and polyfills the HTML5 validation behavior for older
browsers.\n
Login.c(90): *\n
Login.c(90): * *NOTE* Not every feature offered is available for all input
types.\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required Sets `required` validation error key
if the value is not ente
Login.c(90): red.\n
Login.c(90): * @param {boolean=} ngRequired Sets `required` attribute if set
to true\n
Login.c(90): * @param {number=} ngMinlength Sets `minlength` validation error
key if the value is shor
Login.c(90): ter than\n
Login.c(90): * minlength.\n
Login.c(90): * @param {number=} ngMaxlength Sets `maxlength` validation error
key if the value is long
Login.c(90): er than\n
Login.c(90): * maxlength.\n
Login.c(90): * @param {string=} ngPattern Sets `pattern` validation error key
if the value does not ma
Login.c(90): tch the\n
Login.c(90): * RegExp pattern expression. Expected value is `/regexp/` for
inline patterns or `rege
Login.c(90): xp` for\n
Login.c(90): * patterns defined as scope expressions.\n
Login.c(90): * @param {string=} ngChange Angular expression to be executed
when input changes due to u
Login.c(90): ser\n
Login.c(90): * interaction with the input element.\n
Login.c(90): * @param {boolean=} [ngTrim=true] If set to false Angular will
not automatically trim the
Login.c(90): input.\n
Login.c(90): * This parameter is ignored for input[type=password] controls,
which will never trim t
Login.c(90): he\n
Login.c(90): * input.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="input-directive" module="inputExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('inputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.user = {name: 'guest', last: 'visitor'};\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <form name="myForm">\n
Login.c(90): User name: <input type="text" name="userName" ng-
model="user.name" required>\n
Login.c(90): <span class="error" ng-show="myForm.userName.
$error.required">\n
Login.c(90): Required!</span><br>\n
Login.c(90): Last name: <input type="text" name="lastName" ng-
model="user.last"\n
Login.c(90): ng-minlength="3" ng-maxlength="10">\n
Login.c(90): <span class="error" ng-show="myForm.lastName.
$error.minlength">\n
Login.c(90): Too short!</span>\n
Login.c(90): <span class="error" ng-show="myForm.lastName.
$error.maxlength">\n
Login.c(90): Too long!</span><br>\n
Login.c(90): </form>\n
Login.c(90): <hr>\n
Login.c(90): <tt>user = {{user}}</tt><br/>\n
Login.c(90): <tt>myForm.userName.$valid = {{myForm.userName.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.userName.$error = {{myForm.userName.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.lastName.$valid = {{myForm.lastName.
$valid}}</tt><br>\n
Login.c(90): <tt>myForm.lastName.$error = {{myForm.lastName.
$error}}</tt><br>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br>\n
Login.c(90): <tt>myForm.$error.minlength = {{!!myForm.
$error.minlength}}</tt><br>\n
Login.c(90): <tt>myForm.$error.maxlength = {{!!myForm.
$error.maxlength}}</tt><br>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var user = element(by.binding('{{user}}'));\n
Login.c(90): var userNameValid = element(by.binding('myForm.userName.
$valid'));\n
Login.c(90): var lastNameValid = element(by.binding('myForm.lastName.
$valid'));\n
Login.c(90): var lastNameError = element(by.binding('myForm.lastName.
$error'));\n
Login.c(90): var formValid = element(by.binding('myForm.$valid'));\n
Login.c(90): var userNameInput = element(by.model('user.name'));\n
Login.c(90): var userLastInput = element(by.model('user.last'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(user.getText()).toContain('{"name":"guest","last":"visitor"}');\n
Login.c(90): expect(userNameValid.getText()).toContain('true');\n
Login.c(90): expect(formValid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty when required', function()
{\n
Login.c(90): userNameInput.clear();\n
Login.c(90): userNameInput.sendKeys('');\n
Login.c(90): \n
Login.c(90):
expect(user.getText()).toContain('{"last":"visitor"}');\n
Login.c(90): expect(userNameValid.getText()).toContain('false');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be valid if empty when min length is set',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('');\n
Login.c(90): \n
Login.c(90):
expect(user.getText()).toContain('{"name":"guest","last":""}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('true');\n
Login.c(90): expect(formValid.getText()).toContain('true');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if less than required min length',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('xx');\n
Login.c(90): \n
Login.c(90): expect(user.getText()).toContain('{"name":"guest"}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('false');\n
Login.c(90):
expect(lastNameError.getText()).toContain('minlength');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if longer than max length',
function() {\n
Login.c(90): userLastInput.clear();\n
Login.c(90): userLastInput.sendKeys('some ridiculously long name');\n
Login.c(90): \n
Login.c(90): expect(user.getText()).toContain('{"name":"guest"}');\n
Login.c(90): expect(lastNameValid.getText()).toContain('false');\n
Login.c(90):
expect(lastNameError.getText()).toContain('maxlength');\n
Login.c(90): expect(formValid.getText()).toContain('false');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var inputDirective = ['$browser', '$sniffer', function($browser,
$sniffer) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): require: '?ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): if (ctrl) {\n
Login.c(90): (inputType[lowercase(attr.type)] || inputType.text)(scope,
element, attr, ctrl, $s
Login.c(90): niffer,\n
Login.c(90):
$browser);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var VALID_CLASS = 'ng-valid',\n
Login.c(90): INVALID_CLASS = 'ng-invalid',\n
Login.c(90): PRISTINE_CLASS = 'ng-pristine',\n
Login.c(90): DIRTY_CLASS = 'ng-dirty';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc type\n
Login.c(90): * @name ngModel.NgModelController\n
Login.c(90): *\n
Login.c(90): * @property {string} $viewValue Actual string value in the
view.\n
Login.c(90): * @property {*} $modelValue The value in the model, that the
control is bound to.\n
Login.c(90): * @property {Array.<Function>} $parsers Array of functions to
execute, as a pipeline, whe
Login.c(90): never\n
Login.c(90): the control reads value from the DOM. Each function is
called, in turn, passing th
Login.c(90): e value\n
Login.c(90): through to the next. The last return value is used to
populate the model.\n
Login.c(90): Used to sanitize / convert the value as well as validation.
For validation,\n
Login.c(90): the parsers should update the validity state using\n
Login.c(90): {@link ngModel.NgModelController#$setValidity
$setValidity()},\n
Login.c(90): and return `undefined` for invalid values.\n
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * @property {Array.<Function>} $formatters Array of functions to
execute, as a pipeline,
Login.c(90): whenever\n
Login.c(90): the model value changes. Each function is called, in turn,
passing the value throug
Login.c(90): h to the\n
Login.c(90): next. Used to format / convert values for display in the
control and validation.\n
Login.c(90): * ```js\n
Login.c(90): * function formatter(value) {\n
Login.c(90): * if (value) {\n
Login.c(90): * return value.toUpperCase();\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * ngModel.$formatters.push(formatter);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @property {Array.<Function>} $viewChangeListeners Array of
functions to execute wheneve
Login.c(90): r the\n
Login.c(90): * view value has changed. It is called with no arguments, and
its return value is ign
Login.c(90): ored.\n
Login.c(90): * This can be used in place of additional $watches against
the model value.\n
Login.c(90): *\n
Login.c(90): * @property {Object} $error An object hash with all errors as
keys.\n
Login.c(90): *\n
Login.c(90): * @property {boolean} $pristine True if user has not interacted
with the control yet.\n
Login.c(90): * @property {boolean} $dirty True if user has already interacted
with the control.\n
Login.c(90): * @property {boolean} $valid True if there is no error.\n
Login.c(90): * @property {boolean} $invalid True if at least one error on the
control.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * `NgModelController` provides API for the `ng-model` directive.
The controller contains\n
Login.c(90): * services for data-binding, validation, CSS updates, and value
formatting and parsing. I
Login.c(90): t\n
Login.c(90): * purposefully does not contain any logic which deals with DOM
rendering or listening to\n
Login.c(90): * DOM events. Such DOM related logic should be provided by other
directives which make us
Login.c(90): e of\n
Login.c(90): * `NgModelController` for data-binding.\n
Login.c(90): *\n
Login.c(90): * ## Custom Control Example\n
Login.c(90): * This example shows how to use `NgModelController` with a custom
control to achieve\n
Login.c(90): * data-binding. Notice how different directives
(`contenteditable`, `ng-model`, and `requ
Login.c(90): ired`)\n
Login.c(90): * collaborate together to achieve the desired result.\n
Login.c(90): *\n
Login.c(90): * Note that `contenteditable` is an HTML5 attribute, which tells
the browser to let the e
Login.c(90): lement\n
Login.c(90): * contents be edited in place by the user. This will not work on
older browsers.\n
Login.c(90): *\n
Login.c(90): * We are using the {@link ng.service:$sce $sce} service here and
include the {@link ngSan
Login.c(90): itize $sanitize}\n
Login.c(90): * module to automatically remove "bad" content like inline event
listener (e.g. `<span on
Login.c(90): click="...">`).\n
Login.c(90): * However, as we are using
Login.c(90): t=3241ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): `$sce` the model can still decide to to provide unsafe content if
it marks\n
Login.c(90): * that content using the `$sce` service.\n
Login.c(90): *\n
Login.c(90): * <example name="NgModelController" module="customControl"
deps="angular-sanitize.js">\n
Login.c(90): <file name="style.css">\n
Login.c(90): [contenteditable] {\n
Login.c(90): border: 1px solid black;\n
Login.c(90): background-color: white;\n
Login.c(90): min-height: 20px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .ng-invalid {\n
Login.c(90): border: 1px solid red;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('customControl', ['ngSanitize']).\n
Login.c(90): directive('contenteditable', ['$sce', function($sce) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'A', // only activate on element attribute\n
Login.c(90): require: '?ngModel', // get a hold of
NgModelController\n
Login.c(90): link: function(scope, element, attrs, ngModel) {\n
Login.c(90): if(!ngModel) return; // do nothing if no ng-model\n
Login.c(90): \n
Login.c(90): // Specify how UI should be updated\n
Login.c(90): ngModel.$render = function() {\n
Login.c(90): element.html($sce.getTrustedHtml(ngModel.
$viewValue || ''));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Listen for change events to enable binding\n
Login.c(90): element.on('blur keyup change', function() {\n
Login.c(90): scope.$apply(read);\n
Login.c(90): });\n
Login.c(90): read(); // initialize\n
Login.c(90): \n
Login.c(90): // Write data to the model\n
Login.c(90): function read() {\n
Login.c(90): var html = element.html();\n
Login.c(90): // When we clear the content editable the browser
leaves a <br> behind\n
Login.c(90): // If strip-br attribute is provided then we strip
this out\n
Login.c(90): if( attrs.stripBr && html == '<br>' ) {\n
Login.c(90): html = '';\n
Login.c(90): }\n
Login.c(90): ngModel.$setViewValue(html);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <form name="myForm">\n
Login.c(90): <div contenteditable\n
Login.c(90): name="myWidget" ng-model="userContent"\n
Login.c(90): strip-br="true"\n
Login.c(90): required>Change me!</div>\n
Login.c(90): <span ng-show="myForm.myWidget.$error.required">Required!
</span>\n
Login.c(90): <hr>\n
Login.c(90): <textarea ng-model="userContent"></textarea>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should data-bind and become invalid', function() {\n
Login.c(90): if (browser.params.browser == 'safari' ||
browser.params.browser == 'firefox') {\n
Login.c(90): // SafariDriver can't handle contenteditable\n
Login.c(90): // and Firefox driver can't clear contenteditables very
well\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var contentEditable =
element(by.css('[contenteditable]'));\n
Login.c(90): var content = 'Change me!';\n
Login.c(90): \n
Login.c(90): expect(contentEditable.getText()).toEqual(content);\n
Login.c(90): \n
Login.c(90): contentEditable.clear();\n
Login.c(90): contentEditable.sendKeys(protractor.Key.BACK_SPACE);\n
Login.c(90): expect(contentEditable.getText()).toEqual('');\n
Login.c(90): expect(contentEditable.getAttribute('class')).toMatch(/ng-
invalid-required/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var NgModelController = ['$scope', '$exceptionHandler', '$attrs',
'$element', '$parse', '$
Login.c(90): animate',\n
Login.c(90): function($scope, $exceptionHandler, $attr, $element, $parse,
$animate) {\n
Login.c(90): this.$viewValue = Number.NaN;\n
Login.c(90): this.$modelValue = Number.NaN;\n
Login.c(90): this.$parsers = [];\n
Login.c(90): this.$formatters = [];\n
Login.c(90): this.$viewChangeListeners = [];\n
Login.c(90): this.$pristine = true;\n
Login.c(90): this.$dirty = false;\n
Login.c(90): this.$valid = true;\n
Login.c(90): this.$invalid = false;\n
Login.c(90): this.$name = $attr.name;\n
Login.c(90): \n
Login.c(90): var ngModelGet = $parse($attr.ngModel),\n
Login.c(90): ngModelSet = ngModelGet.assign;\n
Login.c(90): \n
Login.c(90): if (!ngModelSet) {\n
Login.c(90): throw minErr('ngModel')('nonassign', "Expression '{0}' is non-
assignable. Element: {1}
Login.c(90): ",\n
Login.c(90): $attr.ngModel, startingTag($element));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$render\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Called when the view needs to be updated. It is expected that
the user of the ng-mode
Login.c(90): l\n
Login.c(90): * directive will implement this method.\n
Login.c(90): */\n
Login.c(90): this.$render = noop;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$isEmpty\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * This is called when we need to determine if the value of the
input is empty.\n
Login.c(90): *\n
Login.c(90): * For instance, the required directive does this to work out if
the input has data or n
Login.c(90): ot.\n
Login.c(90): * The default `$isEmpty` function checks whether the value is
`undefined`, `''`, `null`
Login.c(90): or `NaN`.\n
Login.c(90): *\n
Login.c(90): * You can override this for input directives whose concept of
being empty is different
Login.c(90): to the\n
Login.c(90): * default. The `checkboxInputType` directive does this because
in its case a value of `
Login.c(90): false`\n
Login.c(90): * implies empty.\n
Login.c(90): *\n
Login.c(90): * @param {*} value Reference to check.\n
Login.c(90): * @returns {boolean} True if `value` is empty.\n
Login.c(90): */\n
Login.c(90): this.$isEmpty = function(value) {\n
Login.c(90): return isUndefined(value) || value === '' || value === null ||
value !== value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var parentForm = $element.inheritedData('$formController') ||
nullFormCtrl,\n
Login.c(90): invalidCount = 0, // used to easily determine if we are
valid\n
Login.c(90): $error = this.$error = {}; // keep invalid keys here\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Setup initial state of the control\n
Login.c(90): $element.addClass(PRISTINE_CLASS);\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): \n
Login.c(90): // convenience method for easy toggling of classes\n
Login.c(90): function toggleValidCss(isValid, validationErrorKey) {\n
Login.c(90): validationErrorKey = validationErrorKey ? '-' +
snake_case(validationErrorKey, '-') :
Login.c(90): '';\n
Login.c(90): $animate.removeClass($element, (isValid ? INVALID_CLASS :
VALID_CLASS) + validationErr
Login.c(90): orKey);\n
Login.c(90): $animate.addClass($element, (isValid ? VALID_CLASS :
INVALID_CLASS) + validationErrorK
Login.c(90): ey);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setValidity\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Change the validity state, and notifies the form when the
control changes validity. (
Login.c(90): i.e. it\n
Login.c(90): * does not notify form if given validator is already marked as
invalid).\n
Login.c(90): *\n
Login.c(90): * This method should be called by validators - i.e. the parser
or formatter functions.\n
Login.c(90): *\n
Login.c(90): * @param {string} validationErrorKey Name of the validator. the
`validationErrorKey` wi
Login.c(90): ll assign\n
Login.c(90): * to `$error[validationErrorKey]=!isValid` so that it is
available for data-bind
Login.c(90): ing.\n
Login.c(90): * The `validationErrorKey` should be in camelCase and
will get converted into da
Login.c(90): sh-case\n
Login.c(90): * for class name. Example: `myError` will result in `ng-
valid-my-error` and `ng-
Login.c(90): invalid-my-error`\n
Login.c(90): * class and can be bound to as `{{someForm.someControl.
$error.myError}}` .\n
Login.c(90): * @param {boolean} isValid Whether the current state is valid
(true) or invalid (false)
Login.c(90): .\n
Login.c(90): */\n
Login.c(90): this.$setValidity = function(validationErrorKey, isValid) {\n
Login.c(90): // Purposeful use of ! here to cast isValid to boolean in case
it is undefined\n
Login.c(90): // jshint -W018\n
Login.c(90): if ($error[validationErrorKey] === !isValid) return;\n
Login.c(90): // jshint +W018\n
Login.c(90): \n
Login.c(90): if (isValid) {\n
Login.c(90): if ($error[validationErrorKey]) invalidCount--;\n
Login.c(90): if (!invalidCount) {\n
Login.c(90): toggleValidCss(true);\n
Login.c(90): this.$valid = true;\n
Login.c(90): this.$invalid = false;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): toggleValidCss(false);\n
Login.c(90): this.$invalid = true;\n
Login.c(90): this.$valid = false;\n
Login.c(90): invalidCount++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $error[validationErrorKey] = !isValid;\n
Login.c(90): toggleValidCss(isValid, validationErrorKey);\n
Login.c(90): \n
Login.c(90): parentForm.$setValidity(validationErrorKey, isValid, this);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setPristine\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Sets the control to its pristine state.\n
Login.c(90): *\n
Login.c(90): * This method can be called to remove the 'ng-dirty' class and
set the control to its p
Login.c(90): ristine\n
Login.c(90): * state (ng-pristine class).\n
Login.c(90): */\n
Login.c(90): this.$setPristine = function () {\n
Login.c(90): this.$dirty = false;\n
Login.c(90): this.$pristine = true;\n
Login.c(90): $animate.removeClass($element, DIRTY_CLASS);\n
Login.c(90): $animate.addClass($element, PRISTINE_CLASS);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc method\n
Login.c(90): * @name ngModel.NgModelController#$setViewValue\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Update the view value.\n
Login.c(90): *\n
Login.c(90): * This method should be called when the view value changes,
typically from within a DOM
Login.c(90): event handler.\n
Login.c(90): * For example {@link ng.directive:input input} and\n
Login.c(90): * {@link ng.directive:select select} directives call it.\n
Login.c(90): *\n
Login.c(90): * It will update the $viewValue, then pass this value through
each of the functions in
Login.c(90): `$parsers`,\n
Login.c(90): * which includes any validators. The value that comes out of
this `$parsers` pipeline,
Login.c(90): be applied to\n
Login.c(90): * `$modelValue` and the **expression** specified in the `ng-
model` attribute.\n
Login.c(90): *\n
Login.c(90): * Lastly, all the registered change listeners, in the
`$viewChangeListeners` list, are
Login.c(90): called.\n
Login.c(90): *\n
Login.c(90): * Note that calling this function does not trigger a
`$digest`.\n
Login.c(90): *\n
Login.c(90): * @param {string} value Value from the view.\n
Login.c(90): */\n
Login.c(90): this.$setViewValue = function(value) {\n
Login.c(90): this.$viewValue = value;\n
Login.c(90): \n
Login.c(90): // change to dirty\n
Login.c(90): if (this.$pristine) {\n
Login.c(90): this.$dirty = true;\n
Login.c(90): this.$pristine = false;\n
Login.c(90): $animate.removeClass($element, PRISTINE_CLASS);\n
Login.c(90): $animate.addClass($element, DIRTY_CLASS);\n
Login.c(90): parentForm.$setDirty();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): forEach(this.$parsers, function(fn) {\n
Login.c(90): value = fn(value);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (this.$modelValue !== value) {\n
Login.c(90): this.$modelValue = value;\n
Login.c(90): ngModelSet($scope, value);\n
Login.c(90): forEach(this.$viewChangeListeners, function(listener) {\n
Login.c(90): try {\n
Login.c(90): listener();\n
Login.c(90): } catch(e) {\n
Login.c(90): $exceptionHandler(e);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // model -> value\n
Login.c(90): var ctrl = this;\n
Login.c(90): \n
Login.c(90): $scope.$watch(function ngModelWatch() {\n
Login.c(90): var value = ngModelGet($scope);\n
Login.c(90): \n
Login.c(90): // if scope model value and ngModel value are out of sync\n
Login.c(90): if (ctrl.$modelValue !== value) {\n
Login.c(90): \n
Login.c(90): var formatters = ctrl.$formatters,\n
Login.c(90): idx = formatters.length;\n
Login.c(90): \n
Login.c(90): ctrl.$modelValue = value;\n
Login.c(90): while(idx--) {\n
Login.c(90): value = formatters[idx](value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (ctrl.$viewValue !== value) {\n
Login.c(90): ctrl.$viewValue = value;\n
Login.c(90): ctrl.$render();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): });\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngModel\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngModel` directive binds an `input`,`select`, `textarea`
(or custom form control)
Login.c(90): to a\n
Login.c(90): * property on the scope using {@link ngModel.NgModelController
NgModelController},\n
Login.c(90): * which is created and exposed by this directive.\n
Login.c(90): *\n
Login.c(90): * `ngModel` is responsible for:\n
Login.c(90): *\n
Login.c(90): * - Binding the view into the model, which other directives such
as `input`, `textarea` o
Login.c(90): r `select`\n
Login.c(90): * require.\n
Login.c(90): * - Providing validation behavior (i.e. required, number, email,
url).\n
Login.c(90): * - Keeping the state of the control (valid/invalid,
dirty/pristine, validation errors).\n
Login.c(90): * - Setting related css classes on the element (`ng-valid`, `ng-
invalid`, `ng-dirty`, `ng
Login.c(90): -pristine`) including animations.\n
Login.c(90): * - Registering the control with its parent {@link
ng.directive:form form}.\n
Login.c(90): *\n
Login.c(90): * Note: `ngModel` will try to bind to the property given by
evaluating the expression on
Login.c(90): the\n
Login.c(90): * current scope. If the property doesn't already exist on this
scope, it will be created\n
Login.c(90): * implicitly and added to the scope.\n
Login.c(90): *\n
Login.c(90): * For best practices on using `ngModel`, see:\n
Login.c(90): *\n
Login.c(90): * - [https://github.com/angular/angular.js/wiki/Understanding-
Scopes]\n
Login.c(90): *\n
Login.c(90): * For basic examples, how to use `ngModel`, see:\n
Login.c(90): *\n
Login.c(90): * - {@link ng.directive:input input}\n
Login.c(90): * - {@link input[text] text}\n
Login.c(90): * - {@link input[checkbox] checkbox}\n
Login.c(90): * - {@link input[radio] radio}\n
Login.c(90): * - {@link input[number] number}\n
Login.c(90): * - {@link input[email] email}\n
Login.c(90): * - {@link input[url] url}\n
Login.c(90): * - {@link ng.directive:select select}\n
Login.c(90): * - {@link ng.directive:textarea textarea}\n
Login.c(90): *\n
Login.c(90): * # CSS classes\n
Login.c(90): * The following CSS classes are added and removed on the
associated input/select/textarea
Login.c(90): element\n
Login.c(90): * depending on the validity of the model.\n
Login.c(90): *\n
Login.c(90): * - `ng-valid` is set if the model is valid.\n
Login.c(90): * - `ng-invalid` is set if the model is invalid.\n
Login.c(90): * - `ng-pristine` is set if the model is pristine.\n
Login.c(90): * - `ng-dirty` is set if the model is dirty.\n
Login.c(90): *\n
Login.c(90): * Keep in mind that ngAnimate can detect each of these classes
when added and removed.\n
Login.c(90): *\n
Login.c(90): * ## Animation Hooks\n
Login.c(90): *\n
Login.c(90): * Animations within models are triggered when any of the
associated CSS classes are added
Login.c(90): and removed\n
Login.c(90): * on the input element which is attached to the model. These
classes are: `.ng-pristine`,
Login.c(90): `.ng-dirty`,\n
Login.c(90): * `.ng-invalid` and `.ng-valid` as well as any other validations
that are performed on th
Login.c(90): e model itself.\n
Login.c(90): * The animations that are triggered within ngModel are similar to
how they work in ngClas
Login.c(90): s and\n
Login.c(90): * animations can be hooked into using CSS transitions, keyframes
as well as JS animations
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * The following example shows a simple way to utilize CSS
transitions to style an input e
Login.c(90): lemen
Login.c(90): t=3258ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): t\n
Login.c(90): * that has been rendered as invalid after it has been
validated:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * //be sure to include ngAnimate as a module to hook into more\n
Login.c(90): * //advanced animations\n
Login.c(90): * .my-input {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * background: white;\n
Login.c(90): * }\n
Login.c(90): * .my-input.ng-invalid {\n
Login.c(90): * background: red;\n
Login.c(90): * color:white;\n
Login.c(90): * }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <example deps="angular-animate.js" animations="true"
fixBase="true" module="inputExampl
Login.c(90): e">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('inputExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.val = '1';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <style>\n
Login.c(90): .my-input {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): background: transparent;\n
Login.c(90): }\n
Login.c(90): .my-input.ng-invalid {\n
Login.c(90): color:white;\n
Login.c(90): background: red;\n
Login.c(90): }\n
Login.c(90): </style>\n
Login.c(90): Update input to see transitions when valid/invalid.\n
Login.c(90): Integer is a valid value.\n
Login.c(90): <form name="testForm" ng-controller="ExampleController">\n
Login.c(90): <input ng-model="val" ng-pattern="/^\\d+$/" name="anim"
class="my-input" />\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): * </example>\n
Login.c(90): */\n
Login.c(90): var ngModelDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: ['ngModel', '^?form'],\n
Login.c(90): controller: NgModelController,\n
Login.c(90): link: function(scope, element, attr, ctrls) {\n
Login.c(90): // notify others, especially parent forms\n
Login.c(90): \n
Login.c(90): var modelCtrl = ctrls[0],\n
Login.c(90): formCtrl = ctrls[1] || nullFormCtrl;\n
Login.c(90): \n
Login.c(90): formCtrl.$addControl(modelCtrl);\n
Login.c(90): \n
Login.c(90): scope.$on('$destroy', function() {\n
Login.c(90): formCtrl.$removeControl(modelCtrl);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngChange\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Evaluate the given expression when the user changes the
input.\n
Login.c(90): * The expression is evaluated immediately, unlike the JavaScript
onchange event\n
Login.c(90): * which only triggers at the end of a change (usually, when the
user leaves the\n
Login.c(90): * form element or presses the return key).\n
Login.c(90): * The expression is not evaluated when the value change is coming
from the model.\n
Login.c(90): *\n
Login.c(90): * Note, this directive requires `ngModel` to be present.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {expression} ngChange {@link guide/expression
Expression} to evaluate upon chang
Login.c(90): e\n
Login.c(90): * in input value.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <example name="ngChange-directive" module="changeExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <script>\n
Login.c(90): * angular.module('changeExample', [])\n
Login.c(90): * .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): * $scope.counter = 0;\n
Login.c(90): * $scope.change = function() {\n
Login.c(90): * $scope.counter++;\n
Login.c(90): * };\n
Login.c(90): * }]);\n
Login.c(90): * </script>\n
Login.c(90): * <div ng-controller="ExampleController">\n
Login.c(90): * <input type="checkbox" ng-model="confirmed" ng-
change="change()" id="ng-change-ex
Login.c(90): ample1" />\n
Login.c(90): * <input type="checkbox" ng-model="confirmed" id="ng-
change-example2" />\n
Login.c(90): * <label for="ng-change-example2">Confirmed</label><br />\n
Login.c(90): * <tt>debug = {{confirmed}}</tt><br/>\n
Login.c(90): * <tt>counter = {{counter}}</tt><br/>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * var counter = element(by.binding('counter'));\n
Login.c(90): * var debug = element(by.binding('confirmed'));\n
Login.c(90): *\n
Login.c(90): * it('should evaluate the expression if changing from view',
function() {\n
Login.c(90): * expect(counter.getText()).toContain('0');\n
Login.c(90): *\n
Login.c(90): * element(by.id('ng-change-example1')).click();\n
Login.c(90): *\n
Login.c(90): * expect(counter.getText()).toContain('1');\n
Login.c(90): * expect(debug.getText()).toContain('true');\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * it('should not evaluate the expression if changing from
model', function() {\n
Login.c(90): * element(by.id('ng-change-example2')).click();\n
Login.c(90): \n
Login.c(90): * expect(counter.getText()).toContain('0');\n
Login.c(90): * expect(debug.getText()).toContain('true');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): */\n
Login.c(90): var ngChangeDirective = valueFn({\n
Login.c(90): require: 'ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): ctrl.$viewChangeListeners.push(function() {\n
Login.c(90): scope.$eval(attr.ngChange);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var requiredDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: '?ngModel',\n
Login.c(90): link: function(scope, elm, attr, ctrl) {\n
Login.c(90): if (!ctrl) return;\n
Login.c(90): attr.required = true; // force truthy in case we are on non
input element\n
Login.c(90): \n
Login.c(90): var validator = function(value) {\n
Login.c(90): if (attr.required && ctrl.$isEmpty(value)) {\n
Login.c(90): ctrl.$setValidity('required', false);\n
Login.c(90): return;\n
Login.c(90): } else {\n
Login.c(90): ctrl.$setValidity('required', true);\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$formatters.push(validator);\n
Login.c(90): ctrl.$parsers.unshift(validator);\n
Login.c(90): \n
Login.c(90): attr.$observe('required', function() {\n
Login.c(90): validator(ctrl.$viewValue);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngList\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Text input that converts between a delimited string and an
array of strings. The delimi
Login.c(90): ter\n
Login.c(90): * can be a fixed string (by default a comma) or a regular
expression.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {string=} ngList optional delimiter that should be used
to split the value. If\n
Login.c(90): * specified in form `/something/` then the value will be
converted into a regular expre
Login.c(90): ssion.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="ngList-directive" module="listExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('listExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.names = ['igor', 'misko', 'vojta'];\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form name="myForm" ng-controller="ExampleController">\n
Login.c(90): List: <input name="namesInput" ng-model="names" ng-list
required>\n
Login.c(90): <span class="error" ng-show="myForm.namesInput.
$error.required">\n
Login.c(90): Required!</span>\n
Login.c(90): <br>\n
Login.c(90): <tt>names = {{names}}</tt><br/>\n
Login.c(90): <tt>myForm.namesInput.$valid = {{myForm.namesInput.
$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.namesInput.$error = {{myForm.namesInput.
$error}}</tt><br/>\n
Login.c(90): <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>\n
Login.c(90): <tt>myForm.$error.required = {{!!myForm.
$error.required}}</tt><br/>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var listInput = element(by.model('names'));\n
Login.c(90): var names = element(by.binding('{{names}}'));\n
Login.c(90): var valid = element(by.binding('myForm.namesInput.
$valid'));\n
Login.c(90): var error = element(by.css('span.error'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90):
expect(names.getText()).toContain('["igor","misko","vojta"]');\n
Login.c(90): expect(valid.getText()).toContain('true');\n
Login.c(90): expect(error.getCssValue('display')).toBe('none');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should be invalid if empty', function() {\n
Login.c(90): listInput.clear();\n
Login.c(90): listInput.sendKeys('');\n
Login.c(90): \n
Login.c(90): expect(names.getText()).toContain('');\n
Login.c(90): expect(valid.getText()).toContain('false');\n
Login.c(90): expect(error.getCssValue('display')).not.toBe('none');
});\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngListDirective = function() {\n
Login.c(90): return {\n
Login.c(90): require: 'ngModel',\n
Login.c(90): link: function(scope, element, attr, ctrl) {\n
Login.c(90): var match = /\\/(.*)\\//.exec(attr.ngList),\n
Login.c(90): separator = match && new RegExp(match[1]) || attr.ngList
|| ',';\n
Login.c(90): \n
Login.c(90): var parse = function(viewValue) {\n
Login.c(90): // If the viewValue is invalid (say required but empty) it
will be `undefined`\n
Login.c(90): if (isUndefined(viewValue)) return;\n
Login.c(90): \n
Login.c(90): var list = [];\n
Login.c(90): \n
Login.c(90): if (viewValue) {\n
Login.c(90): forEach(viewValue.split(separator), function(value) {\n
Login.c(90): if (value) list.push(trim(value));\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return list;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): ctrl.$parsers.push(parse);\n
Login.c(90): ctrl.$formatters.push(function(value) {\n
Login.c(90): if (isArray(value)) {\n
Login.c(90): return value.join(', ');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return undefined;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Override the standard $isEmpty because an empty array
means the input is empty.\n
Login.c(90): ctrl.$isEmpty = function(value) {\n
Login.c(90): return !value || !value.length;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var CONSTANT_VALUE_REGEXP = /^(true|false|\\d+)$/;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngValue\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Binds the given expression to the value of `input[select]` or
`input[radio]`, so\n
Login.c(90): * that when the element is selected, the `ngModel` of that
element is set to the\n
Login.c(90): * bound value.\n
Login.c(90): *\n
Login.c(90): * `ngValue` is useful when dynamically generating lists of radio
buttons using `ng-repeat
Login.c(90): `, as\n
Login.c(90): * shown below.\n
Login.c(90): *\n
Login.c(90): * @element input\n
Login.c(90): * @param {string=} ngValue angular expression, whose value will
be bound to the `value` a
Login.c(90): ttribute\n
Login.c(90): * of the `input` element\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example name="ngValue-directive" module="valueExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('valueExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.names = ['pizza', 'unicorns', 'robots'];\n
Login.c(90): $scope.my = { favorite: 'unicorns' };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form ng-controller="ExampleController">\n
Login.c(90): <h2>Which is your favorite?</h2>\n
Login.c(90): <label ng-repeat="name in names" for="{{name}}">\n
Login.c(90): {{name}}\n
Login.c(90): <input type="radio"\n
Login.c(90): ng-model="my.favorite"\n
Login.c(90): ng-value="name"\n
Login.c(90): id="{{name}}"\n
Login.c(90): name="favorite">\n
Login.c(90): </label>\n
Login.c(90): <div>You chose {{my.favorite}}</div>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var favorite = element(by.binding('my.favorite'));\n
Login.c(90): \n
Login.c(90): it('should initialize to model', function() {\n
Login.c(90): expect(favorite.getText()).toContain('unicorns');\n
Login.c(90): });\n
Login.c(90): it('should bind the values to the inputs', function() {\n
Login.c(90): element.all(by.model('my.favorite')).get(0).click();\n
Login.c(90): expect(favorite.getText()).toContain('pizza');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngValueDirective = function() {\n
Login.c(90): return {\n
Login.c(90): priority: 100,\n
Login.c(90): compile: function(tpl, tplAttr) {\n
Login.c(90): if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) {\n
Login.c(90): return function ngValueConstantLink(scope, elm, attr) {\n
Login.c(90): attr.$set('value', scope.$eval(attr.ngValue));\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return function ngValueLink(scope, elm, attr) {\n
Login.c(90): scope.$watch(attr.ngValue, function
valueWatchAction(value) {\n
Login.c(90): attr.$set('value', value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBind\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngBind` attribute tells Angular to replace the text
content of the specified HTML
Login.c(90): element\n
Login.c(90): * with the value of a given expression, and to update the text
content when the value of
Login.c(90): that\n
Login.c(90): * expression changes.\n
Login.c(90): *\n
Login.c(90): * Typically, you don't use `ngBind` directly, but instead you use
the double curly markup
Login.c(90): like\n
Login.c(90): * `{{ expression }}` which is similar but less verbose.\n
Login.c(90): *\n
Login.c(90): * It is preferable to use `ngBind` instead of `{{ expression }}`
if a template is momenta
Login.c(90): rily\n
Login.c(90): * displayed by the browser in its raw state before Angular
compiles it. Since `ngBind` is
Login.c(90): an\n
Login.c(90): * element attribute, it makes the bindings invisible to the user
while the page is loadin
Login.c(90): g.\n
Login.c(90): *\n
Login.c(90): * An alternative solution to this problem would be using the\n
Login.c(90): * {@link ng.directive:ngCloak ngCloak} directive.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngBind {@link guide/expression Expression}
to evaluate.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Enter a name in the Live Preview text box; the greeting below
the text box changes inst
Login.c(90): antly.\n
Login.c(90): <example module="bindExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('bindExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.name = 'Whirled';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Enter name: <input type="text" ng-model="name"><br>\n
Login.c(90): Hello <span ng-bind="name"></span>!\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind', function() {\n
Login.c(90): var nameInput = element(by.model('name'));\n
Login.c(90): \n
Login.c(90):
expect(element(by.binding('name')).getText()).toBe('Whirled');\n
Login.c(90): nameInput.clear();\n
Login.c(90): nameInput.sendKeys('world');\n
Login.c(90):
expect(element(by.binding('name')).getText()).toBe('world');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *
Login.c(90): t=3277ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): /\n
Login.c(90): var ngBindDirective = ngDirective({\n
Login.c(90): compile: function(templateElement) {\n
Login.c(90): templateElement.addClass('ng-binding');\n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): element.data('$binding', attr.ngBind);\n
Login.c(90): scope.$watch(attr.ngBind, function ngBindWatchAction(value)
{\n
Login.c(90): // We are purposefully using == here rather than ===
because we want to\n
Login.c(90): // catch when value is "null or undefined"\n
Login.c(90): // jshint -W041\n
Login.c(90): element.text(value == undefined ? '' : value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBindTemplate\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngBindTemplate` directive specifies that the element\n
Login.c(90): * text content should be replaced with the interpolation of the
template\n
Login.c(90): * in the `ngBindTemplate` attribute.\n
Login.c(90): * Unlike `ngBind`, the `ngBindTemplate` can contain multiple `{{`
`}}`\n
Login.c(90): * expressions. This directive is needed since some HTML
elements\n
Login.c(90): * (such as TITLE and OPTION) cannot contain SPAN elements.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {string} ngBindTemplate template of form\n
Login.c(90): * <tt>{{</tt> <tt>expression</tt> <tt>}}</tt> to eval.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Try it here: enter text in text box and watch the greeting
change.\n
Login.c(90): <example module="bindExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('bindExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope', function
($scope) {\n
Login.c(90): $scope.salutation = 'Hello';\n
Login.c(90): $scope.name = 'World';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Salutation: <input type="text" ng-
model="salutation"><br>\n
Login.c(90): Name: <input type="text" ng-model="name"><br>\n
Login.c(90): <pre ng-bind-template="{{salutation}} {{name}}!"></pre>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind', function() {\n
Login.c(90): var salutationElem = element(by.binding('salutation'));\n
Login.c(90): var salutationInput = element(by.model('salutation'));\n
Login.c(90): var nameInput = element(by.model('name'));\n
Login.c(90): \n
Login.c(90): expect(salutationElem.getText()).toBe('Hello World!');\n
Login.c(90): \n
Login.c(90): salutationInput.clear();\n
Login.c(90): salutationInput.sendKeys('Greetings');\n
Login.c(90): nameInput.clear();\n
Login.c(90): nameInput.sendKeys('user');\n
Login.c(90): \n
Login.c(90): expect(salutationElem.getText()).toBe('Greetings
user!');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngBindTemplateDirective = ['$interpolate',
function($interpolate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): // TODO: move this to scenario runner\n
Login.c(90): var interpolateFn = $interpolate(element.attr(attr.
$attr.ngBindTemplate));\n
Login.c(90): element.addClass('ng-binding').data('$binding',
interpolateFn);\n
Login.c(90): attr.$observe('ngBindTemplate', function(value) {\n
Login.c(90): element.text(value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBindHtml\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a binding that will innerHTML the result of evaluating
the `expression` into th
Login.c(90): e current\n
Login.c(90): * element in a secure way. By default, the innerHTML-ed content
will be sanitized using
Login.c(90): the {@link\n
Login.c(90): * ngSanitize.$sanitize $sanitize} service. To utilize this
functionality, ensure that `$
Login.c(90): sanitize`\n
Login.c(90): * is available, for example, by including {@link ngSanitize} in
your module's dependencie
Login.c(90): s (not in\n
Login.c(90): * core Angular.) You may also bypass sanitization for values you
know are safe. To do so
Login.c(90): , bind to\n
Login.c(90): * an explicitly trusted value via {@link ng.$sce#trustAsHtml
$sce.trustAsHtml}. See the
Login.c(90): example\n
Login.c(90): * under {@link ng.$sce#Example Strict Contextual Escaping
(SCE)}.\n
Login.c(90): *\n
Login.c(90): * Note: If a `$sanitize` service is unavailable and the bound
value isn't explicitly trus
Login.c(90): ted, you\n
Login.c(90): * will have an exception (instead of an exploit.)\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngBindHtml {@link guide/expression
Expression} to evaluate.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): \n
Login.c(90): <example module="bindHtmlExample" deps="angular-sanitize.js">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <p ng-bind-html="myHTML"></p>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('bindHtmlExample', ['ngSanitize'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.myHTML =\n
Login.c(90): 'I am an <code>HTML</code>string with ' +\n
Login.c(90): '<a href="#">links!</a> and other <em>stuff</em>';\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): \n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-bind-html', function() {\n
Login.c(90): expect(element(by.binding('myHTML')).getText()).toBe(\n
Login.c(90): 'I am an HTMLstring with links! and other stuff');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngBindHtmlDirective = ['$sce', '$parse', function($sce,
$parse) {\n
Login.c(90): return {\n
Login.c(90): compile: function (tElement) {\n
Login.c(90): tElement.addClass('ng-binding');\n
Login.c(90): \n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): element.data('$binding', attr.ngBindHtml);\n
Login.c(90): \n
Login.c(90): var parsed = $parse(attr.ngBindHtml);\n
Login.c(90): \n
Login.c(90): function getStringValue() {\n
Login.c(90): return (parsed(scope) || '').toString();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): scope.$watch(getStringValue, function
ngBindHtmlWatchAction(value) {\n
Login.c(90): element.html($sce.getTrustedHtml(parsed(scope)) ||
'');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): function classDirective(name, selector) {\n
Login.c(90): name = 'ngClass' + name;\n
Login.c(90): return ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'AC',\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var oldVal;\n
Login.c(90): \n
Login.c(90): scope.$watch(attr[name], ngClassWatchAction, true);\n
Login.c(90): \n
Login.c(90): attr.$observe('class', function(value) {\n
Login.c(90): ngClassWatchAction(scope.$eval(attr[name]));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (name !== 'ngClass') {\n
Login.c(90): scope.$watch('$index', function($index, old$index) {\n
Login.c(90): // jshint bitwise: false\n
Login.c(90): var mod = $index & 1;\n
Login.c(90): if (mod !== (old$index & 1)) {\n
Login.c(90): var classes = arrayClasses(scope.
$eval(attr[name]));\n
Login.c(90): mod === selector ?\n
Login.c(90): addClasses(classes) :\n
Login.c(90): removeClasses(classes);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addClasses(classes) {\n
Login.c(90): var newClasses = digestClassCounts(classes, 1);\n
Login.c(90): attr.$addClass(newClasses);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeClasses(classes) {\n
Login.c(90): var newClasses = digestClassCounts(classes, -1);\n
Login.c(90): attr.$removeClass(newClasses);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function digestClassCounts (classes, count) {\n
Login.c(90): var classCounts = element.data('$classCounts') || {};\n
Login.c(90): var classesToUpdate = [];\n
Login.c(90): forEach(classes, function (className) {\n
Login.c(90): if (count > 0 || classCounts[className]) {\n
Login.c(90): classCounts[className] = (classCounts[className] ||
0) + count;\n
Login.c(90): if (classCounts[className] === +(count > 0)) {\n
Login.c(90): classesToUpdate.push(className);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): element.data('$classCounts', classCounts);\n
Login.c(90): return classesToUpdate.join(' ');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function updateClasses (oldClasses, newClasses) {\n
Login.c(90): var toAdd = arrayDifference(newClasses, oldClasses);\n
Login.c(90): var toRemove = arrayDifference(oldClasses,
newClasses);\n
Login.c(90): toRemove = digestClassCounts(toRemove, -1);\n
Login.c(90): toAdd = digestClassCounts(toAdd, 1);\n
Login.c(90): \n
Login.c(90): if (toAdd.length === 0) {\n
Login.c(90): $animate.removeClass(element, toRemove);\n
Login.c(90): } else if (toRemove.length === 0) {\n
Login.c(90): $animate.addClass(element, toAdd);\n
Login.c(90): } else {\n
Login.c(90): $animate.setClass(element, toAdd, toRemove);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ngClassWatchAction(newVal) {\n
Login.c(90): if (selector === true || scope.$index % 2 === selector)
{\n
Login.c(90): var newClasses = arrayClasses(newVal || []);\n
Login.c(90): if (!oldVal) {\n
Login.c(90): addClasses(newClasses);\n
Login.c(90): } else if (!equals(newVal,oldVal)) {\n
Login.c(90): var oldClasses = arrayClasses(oldVal);\n
Login.c(90): updateClasses(oldClasses, newClasses);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): oldVal = shallowCopy(newVal);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function arrayDifference(tokens1, tokens2) {\n
Login.c(90): var values = [];\n
Login.c(90): \n
Login.c(90): outer:\n
Login.c(90): for(var i = 0; i < tokens1.length; i++) {\n
Login.c(90): var token = tokens1[i];\n
Login.c(90): for(var j = 0; j < tokens2.length; j++) {\n
Login.c(90): if(token == tokens2[j]) continue outer;\n
Login.c(90): }\n
Login.c(90): values.push(token);\n
Login.c(90): }\n
Login.c(90): return values;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function arrayClasses (classVal) {\n
Login.c(90): if (isArray(classVal)) {\n
Login.c(90): return classVal;\n
Login.c(90): } else if (isString(classVal)) {\n
Login.c(90): return classVal.split(' ');\n
Login.c(90): } else if (isObject(classVal)) {\n
Login.c(90): var classes = [], i = 0;\n
Login.c(90): forEach(classVal, function(v, k) {\n
Login.c(90): if (v) {\n
Login.c(90): classes = classes.concat(k.split(' '));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return classes;\n
Login.c(90): }\n
Login.c(90): return classVal;\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClass\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClass` directive allows you to dynamically set CSS
classes on an HTML element by
Login.c(90): databinding\n
Login.c(90): * an expression that represents all classes to be added.\n
Login.c(90): *\n
Login.c(90): * The directive operates in three different ways, depending on
which of three types the e
Login.c(90): xpression\n
Login.c(90): * evaluates to:\n
Login.c(90): *\n
Login.c(90): * 1. If the expression evaluates to a string, the string should
be one or more space-deli
Login.c(90): mited class\n
Login.c(90): * names.\n
Login.c(90): *\n
Login.c(90): * 2. If the expression evaluates to an array, each element of the
array should be a strin
Login.c(90): g that is\n
Login.c(90): * one or more space-delimited class names.\n
Login.c(90): *\n
Login.c(90): * 3. If the expression evaluates to an object, then for each key-
value pair of the\n
Login.c(90): * object with a truthy value the corresponding key is used as a
class name.\n
Login.c(90): *\n
Login.c(90): * The directive won't add duplicate classes if a particular class
was already set.\n
Login.c(90): *\n
Login.c(90): * When the expression changes, the previously added classes are
removed and only then the
Login.c(90): \n
Login.c(90): * new classes are added.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * add - happens just before the class is applied to the element\n
Login.c(90): * remove - happens just before the class is removed from the
element\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClass {@link guide/expression Expression}
to eval. The result\n
Login.c(90): * of the evaluation can be a string representing space
delimited class\n
Login.c(90): * names, an array, or a map of class names to boolean values.
In the case of a map, the
Login.c(90): \n
Login.c(90): * names of the properties whose values are truthy will be added
as css classes to the\n
Login.c(90): * element.\n
Login.c(90): *\n
Login.c(90): * @example Example that demonstrates basic bindings via ngClass
directive.\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <p ng-class="{strike: deleted, bold: important, red:
error}">Map Syntax Example</p>
Login.c(90): \n
Login.c(90): <input type="checkbox" ng-model="deleted"> deleted (apply
"strike" class)<br>\n
Login.c(90): <input type="checkbox" ng-model="important"> important
(apply "bold" class)<br>\n
Login.c(90): <input type="checkbox" ng-model="error"> error (apply "red"
class)\n
Login.c(90): <hr>\n
Login.c(90): <p ng-class="style">Using String Syntax</p>\n
Login.c(90): <input type="text" ng-model="style" placeholder="Type: bold
strike red">\n
Login.c(90): <hr>\n
Login.c(90): <p ng-class="[style1, style2, style3]">Using Array
Syntax</p>\n
Login.c(90): <input ng-model="style1" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): <input ng-model="style2" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): <input ng-model="style3" placeholder="Type: bold, strike or
red"><br>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .strike {\n
Login.c(90): text-decoration: line-through;\n
Login.c(90): }\n
Login.c(90): .bold {\n
Login.c(90): font-weight: bold;\n
Login.c(90): }\n
Login.c(90): .red {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var ps = element.all(by.css('p'));\n
Login.c(90): \n
Login.c(90): it('should let you toggle the class', function() {\n
Login.c(90): \n
Login.c(90):
expect(ps.first().getAttribute('class')).not.toMatch(/bold/);\n
Login.c(90):
expect(ps.first().getAttribute('class')).not.toMatch(/red/);\n
Login.c(90): \n
Login.c(90): element(by.model('important')).click();\n
Login.c(90):
expect(ps.first().getAttribute('class')).toMatch(/bold/);\n
Login.c(90): \n
Login.c(90): element(by.model('error')).click();\n
Login.c(90):
expect(ps.first().getAttribute('class')).toMatch(/red/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should let you toggle string example', function() {\n
Login.c(90): expect(ps.get(1).getAttribute('class')).toBe('');\n
Login.c(90): element(by.model('style')).clear();\n
Login.c(90): element(by.model('style')).sendKeys('red');\n
Login.c(90): expect(ps.get(1).getAttribute('class')).toBe('red');\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('array example should have 3 classes', function() {\n
Login.c(90): expect(ps.last().getAttribute('class')).t
Login.c(90): t=3293ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): oBe('');\n
Login.c(90): element(by.model('style1')).sendKeys('bold');\n
Login.c(90): element(by.model('style2')).sendKeys('strike');\n
Login.c(90): element(by.model('style3')).sendKeys('red');\n
Login.c(90): expect(ps.last().getAttribute('class')).toBe('bold strike
red');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): \n
Login.c(90): ## Animations\n
Login.c(90): \n
Login.c(90): The example below demonstrates how to perform animations using
ngClass.\n
Login.c(90): \n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input id="setbtn" type="button" value="set" ng-
click="myVar='my-class'">\n
Login.c(90): <input id="clearbtn" type="button" value="clear" ng-
click="myVar=''">\n
Login.c(90): <br>\n
Login.c(90): <span class="base-class" ng-class="myVar">Sample
Text</span>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .base-class {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .base-class.my-class {\n
Login.c(90): color: red;\n
Login.c(90): font-size:3em;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class', function() {\n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).not.\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): \n
Login.c(90): element(by.id('setbtn')).click();\n
Login.c(90): \n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): \n
Login.c(90): element(by.id('clearbtn')).click();\n
Login.c(90): \n
Login.c(90): expect(element(by.css('.base-
class')).getAttribute('class')).not.\n
Login.c(90): toMatch(/my-class/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): ## ngClass and pre-existing CSS3 Transitions/Animations\n
Login.c(90): The ngClass directive still supports CSS3
Transitions/Animations even if they do not fo
Login.c(90): llow the ngAnimate CSS naming structure.\n
Login.c(90): Upon animation ngAnimate will apply supplementary CSS classes
to track the start and en
Login.c(90): d of an animation, but this will not hinder\n
Login.c(90): any pre-existing CSS transitions already on the element. To get
an idea of what happens
Login.c(90): during a class-based animation, be sure\n
Login.c(90): to view the step by step details of {@link ngAnimate.
$animate#addclass $animate.addClas
Login.c(90): s} and\n
Login.c(90): {@link ngAnimate.$animate#removeclass $animate.removeClass}.\n
Login.c(90): */\n
Login.c(90): var ngClassDirective = classDirective('', true);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClassOdd\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClassOdd` and `ngClassEven` directives work exactly as\n
Login.c(90): * {@link ng.directive:ngClass ngClass}, except they work in\n
Login.c(90): * conjunction with `ngRepeat` and take effect only on odd (even)
rows.\n
Login.c(90): *\n
Login.c(90): * This directive can be applied only within the scope of an\n
Login.c(90): * {@link ng.directive:ngRepeat ngRepeat}.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClassOdd {@link guide/expression
Expression} to eval. The result\n
Login.c(90): * of the evaluation can be a string representing space
delimited class names or an arra
Login.c(90): y.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <ol ng-init="names=['John', 'Mary', 'Cate', 'Suz']">\n
Login.c(90): <li ng-repeat="name in names">\n
Login.c(90): <span ng-class-odd="'odd'" ng-class-even="'even'">\n
Login.c(90): {{name}}\n
Login.c(90): </span>\n
Login.c(90): </li>\n
Login.c(90): </ol>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .odd {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): .even {\n
Login.c(90): color: blue;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class-odd and ng-class-even',
function() {\n
Login.c(90): expect(element(by.repeater('name in
names').row(0).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/odd/);\n
Login.c(90): expect(element(by.repeater('name in
names').row(1).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/even/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngClassOddDirective = classDirective('Odd', 0);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClassEven\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngClassOdd` and `ngClassEven` directives work exactly as\n
Login.c(90): * {@link ng.directive:ngClass ngClass}, except they work in\n
Login.c(90): * conjunction with `ngRepeat` and take effect only on odd (even)
rows.\n
Login.c(90): *\n
Login.c(90): * This directive can be applied only within the scope of an\n
Login.c(90): * {@link ng.directive:ngRepeat ngRepeat}.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngClassEven {@link guide/expression
Expression} to eval. The\n
Login.c(90): * result of the evaluation can be a string representing space
delimited class names or
Login.c(90): an array.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <ol ng-init="names=['John', 'Mary', 'Cate', 'Suz']">\n
Login.c(90): <li ng-repeat="name in names">\n
Login.c(90): <span ng-class-odd="'odd'" ng-class-even="'even'">\n
Login.c(90): {{name}} &nbsp; &nbsp; &nbsp;\n
Login.c(90): </span>\n
Login.c(90): </li>\n
Login.c(90): </ol>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): .odd {\n
Login.c(90): color: red;\n
Login.c(90): }\n
Login.c(90): .even {\n
Login.c(90): color: blue;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-class-odd and ng-class-even',
function() {\n
Login.c(90): expect(element(by.repeater('name in
names').row(0).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/odd/);\n
Login.c(90): expect(element(by.repeater('name in
names').row(1).column('name')).getAttribute('
Login.c(90): class')).\n
Login.c(90): toMatch(/even/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngClassEvenDirective = classDirective('Even', 1);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCloak\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngCloak` directive is used to prevent the Angular html
template from being briefly
Login.c(90): \n
Login.c(90): * displayed by the browser in its raw (uncompiled) form while
your application is loading
Login.c(90): . Use this\n
Login.c(90): * directive to avoid the undesirable flicker effect caused by the
html template display.\n
Login.c(90): *\n
Login.c(90): * The directive can be applied to the `<body>` element, but the
preferred usage is to app
Login.c(90): ly\n
Login.c(90): * multiple `ngCloak` directives to small portions of the page to
permit progressive rende
Login.c(90): ring\n
Login.c(90): * of the browser view.\n
Login.c(90): *\n
Login.c(90): * `ngCloak` works in cooperation with the following css rule
embedded within `angular.js`
Login.c(90): and\n
Login.c(90): * `angular.min.js`.\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * [ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-
cloak, .x-ng-cloak {\n
Login.c(90): * display: none !important;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When this css rule is loaded by the browser, all html elements
(including their childre
Login.c(90): n) that\n
Login.c(90): * are tagged with the `ngCloak` directive are hidden. When
Angular encounters this direct
Login.c(90): ive\n
Login.c(90): * during the compilation of the template it deletes the `ngCloak`
element attribute, maki
Login.c(90): ng\n
Login.c(90): * the compiled element visible.\n
Login.c(90): *\n
Login.c(90): * For the best result, the `angular.js` script must be loaded in
the head section of the
Login.c(90): html\n
Login.c(90): * document; alternatively, the css rule above must be included in
the external stylesheet
Login.c(90): of the\n
Login.c(90): * application.\n
Login.c(90): *\n
Login.c(90): * Legacy browsers, like IE7, do not provide attribute selector
support (added in CSS 2.1)
Login.c(90): so they\n
Login.c(90): * cannot match the `[ng\\:cloak]` selector. To work around this
limitation, you must add
Login.c(90): the css\n
Login.c(90): * class `ng-cloak` in addition to the `ngCloak` directive as
shown in the example below.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div id="template1" ng-cloak>{{ 'hello' }}</div>\n
Login.c(90): <div id="template2" ng-cloak class="ng-cloak">{{ 'hello
IE7' }}</div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should remove the template directive and css class',
function() {\n
Login.c(90): expect($('#template1').getAttribute('ng-cloak')).\n
Login.c(90): toBeNull();\n
Login.c(90): expect($('#template2').getAttribute('ng-cloak')).\n
Login.c(90): toBeNull();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var ngCloakDirective = ngDirective({\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): attr.$set('ngCloak', undefined);\n
Login.c(90): element.removeClass('ng-cloak');\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngController\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngController` directive attaches a controller class to the
view. This is a key asp
Login.c(90): ect of how angular\n
Login.c(90): * supports the principles behind the Model-View-Controller design
pattern.\n
Login.c(90): *\n
Login.c(90): * MVC components in angular:\n
Login.c(90): *\n
Login.c(90): * * Model \xE2\x80\x94 Models are the properties of a scope;
scopes are attached to the D
Login.c(90): OM where scope properties\n
Login.c(90): * are accessed through bindings.\n
Login.c(90): * * View \xE2\x80\x94 The template (HTML with data bindings) that
is rendered into the Vi
Login.c(90): ew.\n
Login.c(90): * * Controller \xE2\x80\x94 The `ngController` directive
specifies a Controller class; th
Login.c(90): e class contains business\n
Login.c(90): * logic behind the application to decorate the scope with
functions and values\n
Login.c(90): *\n
Login.c(90): * Note that you can also attach controllers to the DOM by
declaring it in a route definit
Login.c(90): ion\n
Login.c(90): * via the {@link ngRoute.$route $route} service. A common mistake
is to declare the contr
Login.c(90): oller\n
Login.c(90): * again using `ng-controller` in the template itself. This will
cause the controller to
Login.c(90): be attached\n
Login.c(90): * and executed twice.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @param {expression} ngController Name of a globally accessible
constructor function or
Login.c(90): an\n
Login.c(90): * {@link guide/expression expression} that on the current
scope evaluates to a\n
Login.c(90): * constructor function. The controller instance can be
published into a scope propert
Login.c(90): y\n
Login.c(90): * by specifying `as propertyName`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here is a simple form for editing user contact information.
Adding, removing, clearing,
Login.c(90): and\n
Login.c(90): * greeting are methods declared on the controller (see source
tab). These methods can\n
Login.c(90): * easily be called from the angular markup. Any changes to the
data are automatically ref
Login.c(90): lected\n
Login.c(90): * in the View without the need for a manual update.\n
Login.c(90): *\n
Login.c(90): * Two different declaration styles are included below:\n
Login.c(90): *\n
Login.c(90): * * one binds methods and properties directly onto the controller
using `this`:\n
Login.c(90): * `ng-controller="SettingsController1 as settings"`\n
Login.c(90): * * one injects `$scope` into the controller:\n
Login.c(90): * `ng-controller="SettingsController2"`\n
Login.c(90): *\n
Login.c(90): * The second option is more common in the Angular community, and
is generally used in boi
Login.c(90): lerplates\n
Login.c(90): * and in this guide. However, there are advantages to binding
properties directly to the
Login.c(90): controller\n
Login.c(90): * and avoiding scope.\n
Login.c(90): *\n
Login.c(90): * * Using `controller as` makes it obvious which controller you
are accessing in the temp
Login.c(90): late when\n
Login.c(90): * multiple controllers apply to an element.\n
Login.c(90): * * If you are writing your controllers as classes you have
easier access to the properti
Login.c(90): es and\n
Login.c(90): * methods, which will appear on the scope, from inside the
controller code.\n
Login.c(90): * * Since there is always a `.` in the bindings, you don't have
to worry about prototypal
Login.c(90): \n
Login.c(90): * inheritance masking primitives.\n
Login.c(90): *\n
Login.c(90): * This example demonstrates the `controller as` syntax.\n
Login.c(90): *\n
Login.c(90): * <example name="ngControllerAs" module="controllerAsExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <div id="ctrl-as-exmpl" ng-controller="SettingsController1
as settings">\n
Login.c(90): * Name: <input type="text" ng-model="settings.name"/>\n
Login.c(90): * [ <a href="" ng-click="settings.greet()">greet</a> ]
<br/>\n
Login.c(90): * Contact:\n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in settings.contacts">\n
Login.c(90): * <select ng-model="contact.type">\n
Login.c(90): * <option>phone</option>\n
Login.c(90): * <option>email</option>\n
Login.c(90): * </select>\n
Login.c(90): * <input type="text" ng-model="contact.value"/>\n
Login.c(90): * [ <a href="" ng-
click="settings.clearContact(contact)">clear</a>\n
Login.c(90): * | <a href="" ng-
click="settings.removeContact(contact)">X</a> ]\n
Login.c(90): * </li>\n
Login.c(90): * <li>[ <a href="" ng-
click="settings.addContact()">add</a> ]</li>\n
Login.c(90): * </ul>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="app.js">\n
Login.c(90): * angular.module('controllerAsExample', [])\n
Login.c(90): * .controller('SettingsController1', SettingsController1);\n
Login.c(90): *\n
Login.c(90): * function SettingsController1() {\n
Login.c(90): * this.name = "John Smith";\n
Login.c(90): * this.contacts = [\n
Login.c(90): * {type: 'phone', value: '408 555 1212'},\n
Login.c(90): * {type: 'email', value: 'john.smith@example.org'} ];\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.greet = function() {\n
Login.c(90): * alert(this.name);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.addContact = function() {\n
Login.c(90): * this.contacts.push({type: 'email', value:
'yourname@example.org'});\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.removeContact =
function(contactToRemove) {\n
Login.c(90): * var index = this.contacts.indexOf(contactToRemove);\n
Login.c(90): * this.contacts.splice(index, 1);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * SettingsController1.prototype.clearContact =
function(contact) {\n
Login.c(90): * contact.type = 'phone';\n
Login.c(90): * contact.value = '';\n
Login.c(90): * };
Login.c(90): t=3310ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): \n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * it('should check controller as', function() {\n
Login.c(90): * var container = element(by.id('ctrl-as-exmpl'));\n
Login.c(90): * expect(container.element(by.model('settings.name'))\n
Login.c(90): * .getAttribute('value')).toBe('John Smith');\n
Login.c(90): *\n
Login.c(90): * var firstRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
settings.contacts').row(0));\n
Login.c(90): * var secondRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
settings.contacts').row(1));\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('408 555 1212');\n
Login.c(90): *\n
Login.c(90): *
expect(secondRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('john.smith@example.org');\n
Login.c(90): *\n
Login.c(90): * firstRepeat.element(by.linkText('clear')).click();\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('');\n
Login.c(90): *\n
Login.c(90): * container.element(by.linkText('add')).click();\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.repeater('contact in
settings.contacts').row(2))\n
Login.c(90): * .element(by.model('contact.value'))\n
Login.c(90): * .getAttribute('value'))\n
Login.c(90): * .toBe('yourname@example.org');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): * </example>\n
Login.c(90): *\n
Login.c(90): * This example demonstrates the "attach to `$scope`" style of
controller.\n
Login.c(90): *\n
Login.c(90): * <example name="ngController" module="controllerExample">\n
Login.c(90): * <file name="index.html">\n
Login.c(90): * <div id="ctrl-exmpl" ng-controller="SettingsController2">\n
Login.c(90): * Name: <input type="text" ng-model="name"/>\n
Login.c(90): * [ <a href="" ng-click="greet()">greet</a> ]<br/>\n
Login.c(90): * Contact:\n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <select ng-model="contact.type">\n
Login.c(90): * <option>phone</option>\n
Login.c(90): * <option>email</option>\n
Login.c(90): * </select>\n
Login.c(90): * <input type="text" ng-model="contact.value"/>\n
Login.c(90): * [ <a href="" ng-
click="clearContact(contact)">clear</a>\n
Login.c(90): * | <a href="" ng-
click="removeContact(contact)">X</a> ]\n
Login.c(90): * </li>\n
Login.c(90): * <li>[ <a href="" ng-click="addContact()">add</a> ]</li>\n
Login.c(90): * </ul>\n
Login.c(90): * </div>\n
Login.c(90): * </file>\n
Login.c(90): * <file name="app.js">\n
Login.c(90): * angular.module('controllerExample', [])\n
Login.c(90): * .controller('SettingsController2', ['$scope',
SettingsController2]);\n
Login.c(90): *\n
Login.c(90): * function SettingsController2($scope) {\n
Login.c(90): * $scope.name = "John Smith";\n
Login.c(90): * $scope.contacts = [\n
Login.c(90): * {type:'phone', value:'408 555 1212'},\n
Login.c(90): * {type:'email', value:'john.smith@example.org'} ];\n
Login.c(90): *\n
Login.c(90): * $scope.greet = function() {\n
Login.c(90): * alert($scope.name);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.addContact = function() {\n
Login.c(90): * $scope.contacts.push({type:'email',
value:'yourname@example.org'});\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.removeContact = function(contactToRemove) {\n
Login.c(90): * var index = $scope.contacts.indexOf(contactToRemove);\n
Login.c(90): * $scope.contacts.splice(index, 1);\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * $scope.clearContact = function(contact) {\n
Login.c(90): * contact.type = 'phone';\n
Login.c(90): * contact.value = '';\n
Login.c(90): * };\n
Login.c(90): * }\n
Login.c(90): * </file>\n
Login.c(90): * <file name="protractor.js" type="protractor">\n
Login.c(90): * it('should check controller', function() {\n
Login.c(90): * var container = element(by.id('ctrl-exmpl'));\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.model('name'))\n
Login.c(90): * .getAttribute('value')).toBe('John Smith');\n
Login.c(90): *\n
Login.c(90): * var firstRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
contacts').row(0));\n
Login.c(90): * var secondRepeat =\n
Login.c(90): * container.element(by.repeater('contact in
contacts').row(1));\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('408 555 1212');\n
Login.c(90): *
expect(secondRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('john.smith@example.org');\n
Login.c(90): *\n
Login.c(90): * firstRepeat.element(by.linkText('clear')).click();\n
Login.c(90): *\n
Login.c(90): *
expect(firstRepeat.element(by.model('contact.value')).getAttribute('value'))\n
Login.c(90): * .toBe('');\n
Login.c(90): *\n
Login.c(90): * container.element(by.linkText('add')).click();\n
Login.c(90): *\n
Login.c(90): * expect(container.element(by.repeater('contact in
contacts').row(2))\n
Login.c(90): * .element(by.model('contact.value'))\n
Login.c(90): * .getAttribute('value'))\n
Login.c(90): * .toBe('yourname@example.org');\n
Login.c(90): * });\n
Login.c(90): * </file>\n
Login.c(90): *</example>\n
Login.c(90): \n
Login.c(90): */\n
Login.c(90): var ngControllerDirective = [function() {\n
Login.c(90): return {\n
Login.c(90): scope: true,\n
Login.c(90): controller: '@',\n
Login.c(90): priority: 500\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCsp\n
Login.c(90): *\n
Login.c(90): * @element html\n
Login.c(90): * @description\n
Login.c(90): * Enables [CSP (Content Security Policy)]
(https://developer.mozilla.org/en/Security/CSP)
Login.c(90): support.\n
Login.c(90): *\n
Login.c(90): * This is necessary when developing things like Google Chrome
Extensions.\n
Login.c(90): *\n
Login.c(90): * CSP forbids apps to use `eval` or `Function(string)` generated
functions (among other t
Login.c(90): hings).\n
Login.c(90): * For Angular to be CSP compatible there are only two things that
we need to do different
Login.c(90): ly:\n
Login.c(90): *\n
Login.c(90): * - don't use `Function` constructor to generate optimized value
getters\n
Login.c(90): * - don't inject custom stylesheet into the document\n
Login.c(90): *\n
Login.c(90): * AngularJS uses `Function(string)` generated functions as a
speed optimization. Applying
Login.c(90): the `ngCsp`\n
Login.c(90): * directive will cause Angular to use CSP compatibility mode.
When this mode is on Angula
Login.c(90): rJS will\n
Login.c(90): * evaluate all expressions up to 30% slower than in non-CSP mode,
but no security violati
Login.c(90): ons will\n
Login.c(90): * be raised.\n
Login.c(90): *\n
Login.c(90): * CSP forbids JavaScript to inline stylesheet rules. In non CSP
mode Angular automaticall
Login.c(90): y\n
Login.c(90): * includes some CSS rules (e.g. {@link ng.directive:ngCloak
ngCloak}).\n
Login.c(90): * To make those directives work in CSP mode, include the
`angular-csp.css` manually.\n
Login.c(90): *\n
Login.c(90): * Angular tries to autodetect if CSP is active and automatically
turn on the CSP-safe mod
Login.c(90): e. This\n
Login.c(90): * autodetection however triggers a CSP error to be logged in the
console:\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * Refused to evaluate a string as JavaScript because 'unsafe-
eval' is not an allowed sour
Login.c(90): ce of\n
Login.c(90): * script in the following Content Security Policy directive:
"default-src 'self'". Note t
Login.c(90): hat\n
Login.c(90): * 'script-src' was not explicitly set, so 'default-src' is used
as a fallback.\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * This error is harmless but annoying. To prevent the error from
showing up, put the `ngC
Login.c(90): sp`\n
Login.c(90): * directive on the root element of the application or on the
`angular.js` script tag, whi
Login.c(90): chever\n
Login.c(90): * appears first in the html document.\n
Login.c(90): *\n
Login.c(90): * *Note: This directive is only available in the `ng-csp` and
`data-ng-csp` attribute for
Login.c(90): m.*\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example shows how to apply the `ngCsp` directive to the
`html` tag.\n
Login.c(90): ```html\n
Login.c(90): <!doctype html>\n
Login.c(90): <html ng-app ng-csp>\n
Login.c(90): ...\n
Login.c(90): ...\n
Login.c(90): </html>\n
Login.c(90): ```\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): // ngCsp is not implemented as a proper directive any more,
because we need it be processe
Login.c(90): d while we\n
Login.c(90): // bootstrap the system (before $parse is instantiated), for this
reason we just have\n
Login.c(90): // the csp.isActive() fn that looks for ng-csp attribute anywhere
in the current doc\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngClick\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ngClick directive allows you to specify custom behavior
when\n
Login.c(90): * an element is clicked.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngClick {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * click. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-click="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment\n
Login.c(90): </button>\n
Login.c(90): <span>\n
Login.c(90): count: {{count}}\n
Login.c(90): <span>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-click', function() {\n
Login.c(90):
expect(element(by.binding('count')).getText()).toMatch('0');\n
Login.c(90): element(by.css('button')).click();\n
Login.c(90):
expect(element(by.binding('count')).getText()).toMatch('1');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): /*\n
Login.c(90): * A directive that allows creation of custom onclick handlers
that are defined as angular
Login.c(90): \n
Login.c(90): * expressions and are compiled and executed within the current
scope.\n
Login.c(90): *\n
Login.c(90): * Events that are handled via these handler are always configured
not to propagate furthe
Login.c(90): r.\n
Login.c(90): */\n
Login.c(90): var ngEventDirectives = {};\n
Login.c(90): \n
Login.c(90): // For events that might fire synchronously during DOM
manipulation\n
Login.c(90): // we need to execute their event handlers asynchronously using
$evalAsync,\n
Login.c(90): // so that they are not executed in an inconsistent state.\n
Login.c(90): var forceAsyncEvents = {\n
Login.c(90): 'blur': true,\n
Login.c(90): 'focus': true\n
Login.c(90): };\n
Login.c(90): forEach(\n
Login.c(90): 'click dblclick mousedown mouseup mouseover mouseout mousemove
mouseenter mouseleave key
Login.c(90): down keyup keypress submit focus blur copy cut paste'.split('
'),\n
Login.c(90): function(eventName) {\n
Login.c(90): var directiveName = directiveNormalize('ng-' + eventName);\n
Login.c(90): ngEventDirectives[directiveName] = ['$parse', '$rootScope',
function($parse, $rootScop
Login.c(90): e) {\n
Login.c(90): return {\n
Login.c(90): compile: function($element, attr) {\n
Login.c(90): var fn = $parse(attr[directiveName]);\n
Login.c(90): return function ngEventHandler(scope, element) {\n
Login.c(90): element.on(eventName, function(event) {\n
Login.c(90): var callback = function() {\n
Login.c(90): fn(scope, {$event:event});\n
Login.c(90): };\n
Login.c(90): if (forceAsyncEvents[eventName] && $rootScope.$
$phase) {\n
Login.c(90): scope.$evalAsync(callback);\n
Login.c(90): } else {\n
Login.c(90): scope.$apply(callback);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): );\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngDblclick\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngDblclick` directive allows you to specify custom
behavior on a dblclick event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngDblclick {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * a dblclick. (The Event object is available as `$event`)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-dblclick="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment (on double click)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMousedown\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ngMousedown directive allows you to specify custom behavior
on mousedown event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMousedown {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mousedown. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mousedown="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (on mouse down)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseup\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseup event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseup {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseup. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseup="count = count + 1" ng-init="count=0">\n
Login.c(90): Increment (on mouse up)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseover\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseover event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseover {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseover. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseover="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse is over)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseenter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseenter event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseenter {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseenter. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mouseenter="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse enters)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMouseleave\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mouseleave event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMouseleave {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mouseleave. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <
Login.c(90): t=3355ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): file name="index.html">\n
Login.c(90): <button ng-mouseleave="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse leaves)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngMousemove\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on mousemove event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngMousemove {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * mousemove. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <button ng-mousemove="count = count + 1" ng-
init="count=0">\n
Login.c(90): Increment (when mouse moves)\n
Login.c(90): </button>\n
Login.c(90): count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeydown\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keydown event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngKeydown {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * keydown. (Event object is available as `$event` and can be
interrogated for keyCode, al
Login.c(90): tKey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-keydown="count = count + 1" ng-init="count=0">\n
Login.c(90): key down count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeyup\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keyup event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngKeyup {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * keyup. (Event object is available as `$event` and can be
interrogated for keyCode, altK
Login.c(90): ey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <p>Typing in the input box below updates the key
count</p>\n
Login.c(90): <input ng-keyup="count = count + 1" ng-init="count=0"> key
up count: {{count}}\n
Login.c(90): \n
Login.c(90): <p>Typing in the input box below updates the keycode</p>\n
Login.c(90): <input ng-keyup="event=$event">\n
Login.c(90): <p>event keyCode: {{ event.keyCode }}</p>\n
Login.c(90): <p>event altKey: {{ event.altKey }}</p>\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngKeypress\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on keypress event.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngKeypress {@link guide/expression
Expression} to evaluate upon\n
Login.c(90): * keypress. ({@link guide/expression#-event- Event object is
available as `$event`}\n
Login.c(90): * and can be interrogated for keyCode, altKey, etc.)\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-keypress="count = count + 1" ng-init="count=0">\n
Login.c(90): key press count: {{count}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSubmit\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Enables binding angular expressions to onsubmit events.\n
Login.c(90): *\n
Login.c(90): * Additionally it prevents the default action (which for form
means sending the request t
Login.c(90): o the\n
Login.c(90): * server and reloading the current page), but only if the form
does not contain `action`,
Login.c(90): \n
Login.c(90): * `data-action`, or `x-action` attributes.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Warning:** Be careful not to cause "double-submission" by
using both the `ngClick` an
Login.c(90): d\n
Login.c(90): * `ngSubmit` handlers together. See the\n
Login.c(90): * {@link form#submitting-a-form-and-preventing-the-default-action
`form` directive docume
Login.c(90): ntation}\n
Login.c(90): * for a detailed discussion of when `ngSubmit` may be
triggered.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @element form\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngSubmit {@link guide/expression
Expression} to eval.\n
Login.c(90): * ({@link guide/expression#-event- Event object is available as
`$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="submitExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('submitExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.list = [];\n
Login.c(90): $scope.text = 'hello';\n
Login.c(90): $scope.submit = function() {\n
Login.c(90): if ($scope.text) {\n
Login.c(90): $scope.list.push(this.text);\n
Login.c(90): $scope.text = '';\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <form ng-submit="submit()" ng-
controller="ExampleController">\n
Login.c(90): Enter text and hit enter:\n
Login.c(90): <input type="text" ng-model="text" name="text" />\n
Login.c(90): <input type="submit" id="submit" value="Submit" />\n
Login.c(90): <pre>list={{list}}</pre>\n
Login.c(90): </form>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-submit', function() {\n
Login.c(90):
expect(element(by.binding('list')).getText()).toBe('list=[]');\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90):
expect(element(by.binding('list')).getText()).toContain('hello');\n
Login.c(90):
expect(element(by.model('text')).getAttribute('value')).toBe('');\n
Login.c(90): });\n
Login.c(90): it('should ignore empty strings', function() {\n
Login.c(90):
expect(element(by.binding('list')).getText()).toBe('list=[]');\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90): element(by.css('#submit')).click();\n
Login.c(90):
expect(element(by.binding('list')).getText()).toContain('hello');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngFocus\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on focus event.\n
Login.c(90): *\n
Login.c(90): * Note: As the `focus` event is executed synchronously when
calling `input.focus()`\n
Login.c(90): * AngularJS executes the expression using `scope.$evalAsync` if
the event is fired\n
Login.c(90): * during an `$apply` to ensure a consistent state.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngFocus {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * focus. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * See {@link ng.directive:ngClick ngClick}\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngBlur\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on blur event.\n
Login.c(90): *\n
Login.c(90): * A [blur event](https://developer.mozilla.org/en-
US/docs/Web/Events/blur) fires when\n
Login.c(90): * an element has lost focus.\n
Login.c(90): *\n
Login.c(90): * Note: As the `blur` event is executed synchronously also during
DOM manipulations\n
Login.c(90): * (e.g. removing a focussed input),\n
Login.c(90): * AngularJS executes the expression using `scope.$evalAsync` if
the event is fired\n
Login.c(90): * during an `$apply` to ensure a consistent state.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngBlur {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * blur. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * See {@link ng.directive:ngClick ngClick}\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCopy\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on copy event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngCopy {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * copy. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-copy="copied=true" ng-init="copied=false;
value='copy me'" ng-model="value
Login.c(90): ">\n
Login.c(90): copied: {{copied}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngCut\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on cut event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngCut {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * cut. ({@link guide/expression#-event- Event object is available
as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-cut="cut=true" ng-init="cut=false; value='cut me'"
ng-model="value">\n
Login.c(90): cut: {{cut}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngPaste\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Specify custom behavior on paste event.\n
Login.c(90): *\n
Login.c(90): * @element window, input, select, textarea, a\n
Login.c(90): * @priority 0\n
Login.c(90): * @param {expression} ngPaste {@link guide/expression Expression}
to evaluate upon\n
Login.c(90): * paste. ({@link guide/expression#-event- Event object is
available as `$event`})\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input ng-paste="paste=true" ng-init="paste=false"
placeholder='paste here'>\n
Login.c(90): pasted: {{paste}}\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngIf\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngIf` directive removes or recreates a portion of the DOM
tree based on an\n
Login.c(90): * {expression}. If the expression assigned to `ngIf` evaluates to
a false\n
Login.c(90): * value then the element is removed from the DOM, otherwise a
clone of the\n
Login.c(90): * element is reinserted into the DOM.\n
Login.c(90): *\n
Login.c(90): * `ngIf` differs from `ngShow` and `ngHide` in that `ngIf`
completely removes and recreat
Login.c(90): es the\n
Login.c(90): * element in the DOM rather than changing its visibility via the
`display` css property.
Login.c(90): A common\n
Login.c(90): * case when this difference is significant is when using css
selectors that rely on an el
Login.c(90): ement's\n
Login.c(90): * position within the DOM, such as the `:first-child` or `:last-
child` pseudo-classes.\n
Login.c(90): *\n
Login.c(90): * Note that when an element is removed using `ngIf` its scope is
destroyed and a new scop
Login.c(90): e\n
Login.c(90): * is created when the element is restored. The scope created
within `ngIf` inherits from
Login.c(90): \n
Login.c(90): * its parent scope using\n
Login.c(90): * [prototypal inheritance]
(https://github.com/angular/angular.js/wiki/The-Nuances-of-Scop
Login.c(90): e-Prototypal-Inheritance).\n
Login.c(90): * An important implication of this is if `ngModel` is used within
`ngIf` to bind to\n
Login.c(90): * a javascript primitive defined in the parent scope. In this
case any modifications made
Login.c(90): to the\n
Login.c(90): * variable within the child scope will override (hide) the value
in the parent scope.\n
Login.c(90): *\n
Login.c(90): * Also, `ngIf` recreates elements using their compiled state. An
example of this behavior
Login.c(90): \n
Login.c(90): * is if an element's class attribute is directly modified after
it's compiled, using some
Login.c(90): thing like\n
Login.c(90): * jQuery's `.addClass()` method, and the element is later
removed. When `ngIf` recreates
Login.c(90): the element\n
Login.c(90): * the added class will be lost because the original compiled
state is used to regenerate
Login.c(90): the element.\n
Login.c(90): *\n
Login.c(90): * Additionally, you can provide animations via the `ngAnimate`
module to animate the `ent
Login.c(90): er`\n
Login.c(90): * and `leave` effects.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * enter - happens just after the ngIf contents change and a new
DOM element is created an
Login.c(90): d injected into the ngIf container\n
Login.c(90): * leave - happens just before the ngIf contents are removed from
the DOM\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @priority 600\n
Login.c(90): * @param {expression} ngIf If the {@link guide/expression
expression} is falsy then\n
Login.c(90): * the element is removed from the DOM tree. If it is truthy a
copy of the compiled\n
Login.c(90): * element is added to the DOM tree.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked" ng-
init="checked=true" /><br/>\n
Login.c(90): Show when checked:\n
Login.c(90): <span ng-if="checked" class="animate-if">\n
Login.c(90): I'm removed when the checkbox is unchecked.\n
Login.c(90): </span>\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-if {\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-enter, .animate-if.ng-leave {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-enter,\n
Login.c(90): .animate-if.ng-leave.ng-leave-active {\n
Login.c(90): opacity:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-if.ng-leave,\n
Login.c(90): .animate-if.ng-enter.ng-enter-active {\n
Login.c(90): opacity:1;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngIfDirective = ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 600,\n
Login.c(90): terminal: true,\n
Login.c(90): restrict: 'A',\n
Login.c(90): $$tlb: true,\n
Login.c(90): link: function ($scope, $element, $attr, ctrl, $transclude)
{\n
Login.c(90): var block, childScope, previousElements;\n
Login.c(90): $scope.$watch($attr.ngIf, function ngIfWatchAction(value)
{\n
Login.c(90): \n
Login.c(90): if (toBoolean(value)) {\n
Login.c(90): if (!childScope) {\n
Login.c(90): childScope = $scope.$new();\n
Login.c(90): $transclude(childScope, function (clone) {\n
Login.c(90): clone[clone.length++] = document.createComment('
end ngIf: ' + $attr.ngIf
Login.c(90): + ' ');\n
Login.c(90): // Note: We only need the first/last node of the
cloned nodes.\n
Login.c(90): // However, we need to keep the reference to the
jqlite wrapper as it migh
Login.c(90): t be changed later\n
Login.c(90): // by a directive with templateUrl when its
template arrives.\n
Login.c(90): block = {\n
Login.c(90): clone: clone\n
Login.c(90): };\n
Login.c(90): $animate.enter(clone, $element.parent(),
$element);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90):
Login.c(90): t=3377ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): if(previousElements) {\n
Login.c(90): previousElements.remove();\n
Login.c(90): previousElements = null;\n
Login.c(90): }\n
Login.c(90): if(childScope) {\n
Login.c(90): childScope.$destroy();\n
Login.c(90): childScope = null;\n
Login.c(90): }\n
Login.c(90): if(block) {\n
Login.c(90): previousElements = getBlockElements(block.clone);\n
Login.c(90): $animate.leave(previousElements, function() {\n
Login.c(90): previousElements = null;\n
Login.c(90): });\n
Login.c(90): block = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngInclude\n
Login.c(90): * @restrict ECA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Fetches, compiles and includes an external HTML fragment.\n
Login.c(90): *\n
Login.c(90): * By default, the template URL is restricted to the same domain
and protocol as the\n
Login.c(90): * application document. This is done by calling {@link ng.
$sce#getTrustedResourceUrl\n
Login.c(90): * $sce.getTrustedResourceUrl} on it. To load templates from other
domains or protocols\n
Login.c(90): * you may either {@link ng.
$sceDelegateProvider#resourceUrlWhitelist whitelist them} or\n
Login.c(90): * [wrap them](ng.$sce#trustAsResourceUrl) as trusted values.
Refer to Angular's {@link\n
Login.c(90): * ng.$sce Strict Contextual Escaping}.\n
Login.c(90): *\n
Login.c(90): * In addition, the browser's\n
Login.c(90): * [Same Origin Policy]
(https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy
Login.c(90): _for_XMLHttpRequest)\n
Login.c(90): * and [Cross-Origin Resource Sharing (CORS)]
(http://www.w3.org/TR/cors/)\n
Login.c(90): * policy may further restrict whether the template is
successfully loaded.\n
Login.c(90): * For example, `ngInclude` won't work for cross-domain requests
on all browsers and for `
Login.c(90): file://`\n
Login.c(90): * access on some browsers.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * enter - animation is used to bring new content into the
browser.\n
Login.c(90): * leave - animation is used to animate existing content away.\n
Login.c(90): *\n
Login.c(90): * The enter and leave animation occur concurrently.\n
Login.c(90): *\n
Login.c(90): * @scope\n
Login.c(90): * @priority 400\n
Login.c(90): *\n
Login.c(90): * @param {string} ngInclude|src angular expression evaluating to
URL. If the source is a
Login.c(90): string constant,\n
Login.c(90): * make sure you wrap it in **single** quotes,
e.g. `src="'myPartialTempla
Login.c(90): te.html'"`.\n
Login.c(90): * @param {string=} onload Expression to evaluate when a new
partial is loaded.\n
Login.c(90): *\n
Login.c(90): * @param {string=} autoscroll Whether `ngInclude` should call
{@link ng.$anchorScroll\n
Login.c(90): * $anchorScroll} to scroll the viewport after
the content is loaded.\n
Login.c(90): *\n
Login.c(90): * - If the attribute is not set, disable
scrolling.\n
Login.c(90): * - If the attribute is set without value,
enable scrolling.\n
Login.c(90): * - Otherwise enable scrolling only if the
expression evaluates to truth
Login.c(90): y value.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="includeExample" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <select ng-model="template" ng-options="t.name for t in
templates">\n
Login.c(90): <option value="">(blank)</option>\n
Login.c(90): </select>\n
Login.c(90): url of the template: <tt>{{template.url}}</tt>\n
Login.c(90): <hr/>\n
Login.c(90): <div class="slide-animate-container">\n
Login.c(90): <div class="slide-animate" ng-
include="template.url"></div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('includeExample', ['ngAnimate'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.templates =\n
Login.c(90): [ { name: 'template1.html', url: 'template1.html'},\n
Login.c(90): { name: 'template2.html', url:
'template2.html'} ];\n
Login.c(90): $scope.template = $scope.templates[0];\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="template1.html">\n
Login.c(90): Content of template1.html\n
Login.c(90): </file>\n
Login.c(90): <file name="template2.html">\n
Login.c(90): Content of template2.html\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .slide-animate-container {\n
Login.c(90): position:relative;\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): height:40px;\n
Login.c(90): overflow:hidden;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate {\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-enter, .slide-animate.ng-leave {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): \n
Login.c(90): position:absolute;\n
Login.c(90): top:0;\n
Login.c(90): left:0;\n
Login.c(90): right:0;\n
Login.c(90): bottom:0;\n
Login.c(90): display:block;\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-enter {\n
Login.c(90): top:-50px;\n
Login.c(90): }\n
Login.c(90): .slide-animate.ng-enter.ng-enter-active {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .slide-animate.ng-leave {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): .slide-animate.ng-leave.ng-leave-active {\n
Login.c(90): top:50px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var templateSelect = element(by.model('template'));\n
Login.c(90): var includeElem = element(by.css('[ng-include]'));\n
Login.c(90): \n
Login.c(90): it('should load template1.html', function() {\n
Login.c(90): expect(includeElem.getText()).toMatch(/Content of
template1.html/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should load template2.html', function() {\n
Login.c(90): if (browser.params.browser == 'firefox') {\n
Login.c(90): // Firefox can't handle using selects\n
Login.c(90): // See
https://github.com/angular/protractor/issues/480\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): templateSelect.click();\n
Login.c(90): templateSelect.all(by.css('option')).get(2).click();\n
Login.c(90): expect(includeElem.getText()).toMatch(/Content of
template2.html/);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should change to blank', function() {\n
Login.c(90): if (browser.params.browser == 'firefox') {\n
Login.c(90): // Firefox can't handle using selects\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): templateSelect.click();\n
Login.c(90): templateSelect.all(by.css('option')).get(0).click();\n
Login.c(90): expect(includeElem.isPresent()).toBe(false);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ngInclude#$includeContentRequested\n
Login.c(90): * @eventType emit on the scope ngInclude was declared in\n
Login.c(90): * @description\n
Login.c(90): * Emitted every time the ngInclude content is requested.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ngInclude#$includeContentLoaded\n
Login.c(90): * @eventType emit on the current ngInclude scope\n
Login.c(90): * @description\n
Login.c(90): * Emitted every time the ngInclude content is reloaded.\n
Login.c(90): */\n
Login.c(90): var ngIncludeDirective = ['$http', '$templateCache',
'$anchorScroll', '$animate', '$sce',\n
Login.c(90): function($http, $templateCache,
$anchorScroll, $animate, $sce) {
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: 400,\n
Login.c(90): terminal: true,\n
Login.c(90): transclude: 'element',\n
Login.c(90): controller: angular.noop,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): var srcExp = attr.ngInclude || attr.src,\n
Login.c(90): onloadExp = attr.onload || '',\n
Login.c(90): autoScrollExp = attr.autoscroll;\n
Login.c(90): \n
Login.c(90): return function(scope, $element, $attr, ctrl, $transclude)
{\n
Login.c(90): var changeCounter = 0,\n
Login.c(90): currentScope,\n
Login.c(90): previousElement,\n
Login.c(90): currentElement;\n
Login.c(90): \n
Login.c(90): var cleanupLastIncludeContent = function() {\n
Login.c(90): if(previousElement) {\n
Login.c(90): previousElement.remove();\n
Login.c(90): previousElement = null;\n
Login.c(90): }\n
Login.c(90): if(currentScope) {\n
Login.c(90): currentScope.$destroy();\n
Login.c(90): currentScope = null;\n
Login.c(90): }\n
Login.c(90): if(currentElement) {\n
Login.c(90): $animate.leave(currentElement, function() {\n
Login.c(90): previousElement = null;\n
Login.c(90): });\n
Login.c(90): previousElement = currentElement;\n
Login.c(90): currentElement = null;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): scope.$watch($sce.parseAsResourceUrl(srcExp), function
ngIncludeWatchAction(src) {
Login.c(90): \n
Login.c(90): var afterAnimation = function() {\n
Login.c(90): if (isDefined(autoScrollExp) && (!autoScrollExp ||
scope.$eval(autoScrollExp))
Login.c(90): ) {\n
Login.c(90): $anchorScroll();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): var thisChangeId = ++changeCounter;\n
Login.c(90): \n
Login.c(90): if (src) {\n
Login.c(90): $http.get(src, {cache:
$templateCache}).success(function(response) {\n
Login.c(90): if (thisChangeId !== changeCounter) return;\n
Login.c(90): var newScope = scope.$new();\n
Login.c(90): ctrl.template = response;\n
Login.c(90): \n
Login.c(90): // Note: This will also link all children of ng-
include that were contained
Login.c(90): in the original\n
Login.c(90): // html. If that content contains controllers, ...
they could pollute/change
Login.c(90): the scope.\n
Login.c(90): // However, using ng-include on an element with
additional content does not
Login.c(90): make sense...\n
Login.c(90): // Note: We can't remove them in the cloneAttchFn of
$transclude as that\n
Login.c(90): // function is called before linking the content,
which would apply child\n
Login.c(90): // directives to non existing elements.\n
Login.c(90): var clone = $transclude(newScope, function(clone)
{\n
Login.c(90): cleanupLastIncludeContent();\n
Login.c(90): $animate.enter(clone, null, $element,
afterAnimation);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): currentScope = newScope;\n
Login.c(90): currentElement = clone;\n
Login.c(90): \n
Login.c(90): currentScope.$emit('$includeContentLoaded');\n
Login.c(90): scope.$eval(onloadExp);\n
Login.c(90): }).error(function() {\n
Login.c(90): if (thisChangeId === changeCounter)
cleanupLastIncludeContent();\n
Login.c(90): });\n
Login.c(90): scope.$emit('$includeContentRequested');\n
Login.c(90): } else {\n
Login.c(90): cleanupLastIncludeContent();\n
Login.c(90): ctrl.template = null;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): // This directive is called during the $transclude call of the
first `ngInclude` directive
Login.c(90): .\n
Login.c(90): // It will replace and compile the content of the element with the
loaded template.\n
Login.c(90): // We need this directive so that the element content is already
filled when\n
Login.c(90): // the link function of another directive on the same element as
ngInclude\n
Login.c(90): // is called.\n
Login.c(90): var ngIncludeFillContentDirective = ['$compile',\n
Login.c(90): function($compile) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: -400,\n
Login.c(90): require: 'ngInclude',\n
Login.c(90): link: function(scope, $element, $attr, ctrl) {\n
Login.c(90): $element.html(ctrl.template);\n
Login.c(90): $compile($element.contents())(scope);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngInit\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngInit` directive allows you to evaluate an expression in
the\n
Login.c(90): * current scope.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-error">\n
Login.c(90): * The only appropriate use of `ngInit` is for aliasing special
properties of\n
Login.c(90): * {@link ng.directive:ngRepeat `ngRepeat`}, as seen in the demo
below. Besides this case,
Login.c(90): you\n
Login.c(90): * should use {@link guide/controller controllers} rather than
`ngInit`\n
Login.c(90): * to initialize values on a scope.\n
Login.c(90): * </div>\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note**: If you have assignment in `ngInit` along with {@link
ng.$filter `$filter`}, m
Login.c(90): ake\n
Login.c(90): * sure you have parenthesis for correct precedence:\n
Login.c(90): * <pre class="prettyprint">\n
Login.c(90): * <div ng-init="test1 = (data | orderBy:'name')"></div>\n
Login.c(90): * </pre>\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @priority 450\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngInit {@link guide/expression Expression}
to eval.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="initExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('initExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.list = [['a', 'b'], ['c', 'd']];\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <div ng-repeat="innerList in list" ng-init="outerIndex =
$index">\n
Login.c(90): <div ng-repeat="value in innerList" ng-init="innerIndex =
$index">\n
Login.c(90): <span class="example-init">list[ {{outerIndex}} ]
[ {{innerIndex}} ] = {{value}};
Login.c(90): </span>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should alias index positions', function() {\n
Login.c(90): var elements = element.all(by.css('.example-init'));\n
Login.c(90): expect(elements.get(0).getText()).toBe('list[ 0 ][ 0 ] =
a;');\n
Login.c(90): expect(elements.get(1).getText()).toBe('list[ 0 ][ 1 ] =
b;');\n
Login.c(90): expect(elements.get(2).getText()).toBe('list[ 1 ][ 0 ] =
c;');\n
Login.c(90): expect(elements.get(3).getText()).toBe('list[ 1 ][ 1 ] =
d;');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngInitDirective = ngDirective({\n
Login.c(90): priority: 450,\n
Login.c(90): compile: function() {\n
Login.c(90): return {\n
Login.c(90): pre: function(scope, element, attrs) {\n
Login.c(90): scope.$eval(attrs.ngInit);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngNonBindable\n
Login.c(90): * @restrict AC\n
Login.c(90): * @priority 1000\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngNonBindable` directive tells Angular not to compile or
bind the contents of the
Login.c(90): current\n
Login.c(90): * DOM element. This is useful if the element contains what
appears to be Angular directiv
Login.c(90): es and\n
Login.c(90): * bindings but which should be ignored by Angular. This could be
the case if you have a s
Login.c(90): ite that\n
Login.c(90): * displays snippets of code, for instance.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @exam
Login.c(90): t=3394ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): ple\n
Login.c(90): * In this example there are two locations where a simple
interpolation binding (`{{}}`) i
Login.c(90): s present,\n
Login.c(90): * but the one wrapped in `ngNonBindable` is left alone.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div>Normal: {{1 + 2}}</div>\n
Login.c(90): <div ng-non-bindable>Ignored: {{1 + 2}}</div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-non-bindable', function() {\n
Login.c(90): expect(element(by.binding('1 +
2')).getText()).toContain('3');\n
Login.c(90):
expect(element.all(by.css('div')).last().getText()).toMatch(/1 \\+ 2/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngNonBindableDirective = ngDirective({ terminal: true,
priority: 1000 });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngPluralize\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `ngPluralize` is a directive that displays messages according
to en-US localization rul
Login.c(90): es.\n
Login.c(90): * These rules are bundled with angular.js, but can be
overridden\n
Login.c(90): * (see {@link guide/i18n Angular i18n} dev guide). You configure
ngPluralize directive\n
Login.c(90): * by specifying the mappings between\n
Login.c(90): * [plural categories](http://unicode.org/repos/cldr-
tmp/trunk/diff/supplemental/language_
Login.c(90): plural_rules.html)\n
Login.c(90): * and the strings to be displayed.\n
Login.c(90): *\n
Login.c(90): * # Plural categories and explicit number rules\n
Login.c(90): * There are two\n
Login.c(90): * [plural categories](http://unicode.org/repos/cldr-
tmp/trunk/diff/supplemental/language_
Login.c(90): plural_rules.html)\n
Login.c(90): * in Angular's default en-US locale: "one" and "other".\n
Login.c(90): *\n
Login.c(90): * While a plural category may match many numbers (for example, in
en-US locale, "other" c
Login.c(90): an match\n
Login.c(90): * any number that is not 1), an explicit number rule can only
match one number. For examp
Login.c(90): le, the\n
Login.c(90): * explicit number rule for "3" matches the number 3. There are
examples of plural categor
Login.c(90): ies\n
Login.c(90): * and explicit number rules throughout the rest of this
documentation.\n
Login.c(90): *\n
Login.c(90): * # Configuring ngPluralize\n
Login.c(90): * You configure ngPluralize by providing 2 attributes: `count`
and `when`.\n
Login.c(90): * You can also provide an optional attribute, `offset`.\n
Login.c(90): *\n
Login.c(90): * The value of the `count` attribute can be either a string or an
{@link guide/expression
Login.c(90): \n
Login.c(90): * Angular expression}; these are evaluated on the current scope
for its bound value.\n
Login.c(90): *\n
Login.c(90): * The `when` attribute specifies the mappings between plural
categories and the actual\n
Login.c(90): * string to be displayed. The value of the attribute should be a
JSON object.\n
Login.c(90): *\n
Login.c(90): * The following example shows how to configure ngPluralize:\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <ng-pluralize count="personCount"\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): * 'one': '1 person is viewing.',\n
Login.c(90): * 'other': '{} people are viewing.'}">\n
Login.c(90): * </ng-pluralize>\n
Login.c(90): *```\n
Login.c(90): *\n
Login.c(90): * In the example, `"0: Nobody is viewing."` is an explicit number
rule. If you did not\n
Login.c(90): * specify this rule, 0 would be matched to the "other" category
and "0 people are viewing
Login.c(90): "\n
Login.c(90): * would be shown instead of "Nobody is viewing". You can specify
an explicit number rule
Login.c(90): for\n
Login.c(90): * other numbers, for example 12, so that instead of showing "12
people are viewing", you
Login.c(90): can\n
Login.c(90): * show "a dozen people are viewing".\n
Login.c(90): *\n
Login.c(90): * You can use a set of closed braces (`{}`) as a placeholder for
the number that you want
Login.c(90): substituted\n
Login.c(90): * into pluralized strings. In the previous example, Angular will
replace `{}` with\n
Login.c(90): * <span ng-non-bindable>`{{personCount}}`</span>. The closed
braces `{}` is a placeholder
Login.c(90): \n
Login.c(90): * for <span ng-non-bindable>{{numberExpression}}</span>.\n
Login.c(90): *\n
Login.c(90): * # Configuring ngPluralize with offset\n
Login.c(90): * The `offset` attribute allows further customization of
pluralized text, which can resul
Login.c(90): t in\n
Login.c(90): * a better user experience. For example, instead of the message
"4 people are viewing thi
Login.c(90): s document",\n
Login.c(90): * you might display "John, Kate and 2 others are viewing this
document".\n
Login.c(90): * The offset attribute allows you to offset a number by any
desired value.\n
Login.c(90): * Let's take a look at an example:\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <ng-pluralize count="personCount" offset=2\n
Login.c(90): * when="{'0': 'Nobody is viewing.',\n
Login.c(90): * '1': '{{person1}} is viewing.',\n
Login.c(90): * '2': '{{person1}} and {{person2}} are
viewing.',\n
Login.c(90): * 'one': '{{person1}}, {{person2}} and one
other person are viewing.
Login.c(90): ',\n
Login.c(90): * 'other': '{{person1}}, {{person2}} and {}
other people are viewing
Login.c(90): .'}">\n
Login.c(90): * </ng-pluralize>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Notice that we are still using two plural categories(one,
other), but we added\n
Login.c(90): * three explicit number rules 0, 1 and 2.\n
Login.c(90): * When one person, perhaps John, views the document, "John is
viewing" will be shown.\n
Login.c(90): * When three people view the document, no explicit number rule is
found, so\n
Login.c(90): * an offset of 2 is taken off 3, and Angular uses 1 to decide the
plural category.\n
Login.c(90): * In this case, plural category 'one' is matched and "John, Mary
and one other person are
Login.c(90): viewing"\n
Login.c(90): * is shown.\n
Login.c(90): *\n
Login.c(90): * Note that when you specify offsets, you must provide explicit
number rules for\n
Login.c(90): * numbers from 0 up to and including the offset. If you use an
offset of 3, for example,\n
Login.c(90): * you must provide explicit number rules for 0, 1, 2 and 3. You
must also provide plural
Login.c(90): strings for\n
Login.c(90): * plural categories "one" and "other".\n
Login.c(90): *\n
Login.c(90): * @param {string|expression} count The variable to be bound to.\n
Login.c(90): * @param {string} when The mapping between plural category to its
corresponding strings.\n
Login.c(90): * @param {number=} offset Offset to deduct from the total
number.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="pluralizeExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('pluralizeExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.person1 = 'Igor';\n
Login.c(90): $scope.person2 = 'Misko';\n
Login.c(90): $scope.personCount = 1;\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): Person 1:<input type="text" ng-model="person1"
value="Igor" /><br/>\n
Login.c(90): Person 2:<input type="text" ng-model="person2"
value="Misko" /><br/>\n
Login.c(90): Number of People:<input type="text" ng-
model="personCount" value="1" /><br/>\n
Login.c(90): \n
Login.c(90): <!--- Example with simple pluralization rules for en
locale --->\n
Login.c(90): Without Offset:\n
Login.c(90): <ng-pluralize count="personCount"\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): 'one': '1 person is viewing.',\n
Login.c(90): 'other': '{} people are
viewing.'}">\n
Login.c(90): </ng-pluralize><br>\n
Login.c(90): \n
Login.c(90): <!--- Example with offset --->\n
Login.c(90): With Offset(2):\n
Login.c(90): <ng-pluralize count="personCount" offset=2\n
Login.c(90): when="{'0': 'Nobody is viewing.',\n
Login.c(90): '1': '{{person1}} is viewing.',\n
Login.c(90): '2': '{{person1}} and {{person2}}
are viewing.',\n
Login.c(90): 'one': '{{person1}}, {{person2}}
and one other person are v
Login.c(90): iewing.',\n
Login.c(90): 'other': '{{person1}}, {{person2}}
and {} other people are
Login.c(90): viewing.'}">\n
Login.c(90): </ng-pluralize>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should show correct pluralized string', function() {\n
Login.c(90): var withoutOffset = element.all(by.css('ng-
pluralize')).get(0);\n
Login.c(90): var withOffset = element.all(by.css('ng-
pluralize')).get(1);\n
Login.c(90): var countInput = element(by.model('personCount'));\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('1 person is
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor is
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('0');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('Nobody is
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Nobody is
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('2');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('2 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor and Misko are
viewing.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('3');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('3 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor, Misko and
one other person are viewi
Login.c(90): ng.');\n
Login.c(90): \n
Login.c(90): countInput.clear();\n
Login.c(90): countInput.sendKeys('4');\n
Login.c(90): \n
Login.c(90): expect(withoutOffset.getText()).toEqual('4 people are
viewing.');\n
Login.c(90): expect(withOffset.getText()).toEqual('Igor, Misko and 2
other people are viewing
Login.c(90): .');\n
Login.c(90): });\n
Login.c(90): it('should show data-bound names', function() {\n
Login.c(90): var withOffset = element.all(by.css('ng-
pluralize')).get(1);\n
Login.c(90): var personCount = element(by.model('personCount'));\n
Login.c(90): var person1 = element(by.model('person1'));\n
Login.c(90): var person2 = element(by.model('person2'));\n
Login.c(90): personCount.clear();\n
Login.c(90): personCount.sendKeys('4');\n
Login.c(90): person1.clear();\n
Login.c(90): person1.sendKeys('Di');\n
Login.c(90): person2.clear();\n
Login.c(90): person2.sendKeys('Vojta');\n
Login.c(90): expect(withOffset.getText()).toEqual('Di, Vojta and 2
other people are viewing.'
Login.c(90): );\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngPluralizeDirective = ['$locale', '$interpolate',
function($locale, $interpolate) {\n
Login.c(90): var BRACE = /{}/g;\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): link: function(scope, element, attr) {\n
Login.c(90): var numberExp = attr.count,\n
Login.c(90): whenExp = attr.$attr.when && element.attr(attr.
$attr.when), // we have {{}} in a
Login.c(90): ttrs\n
Login.c(90): offset = attr.offset || 0,\n
Login.c(90): whens = scope.$eval(whenExp) || {},\n
Login.c(90): whensExpFns = {},\n
Login.c(90): startSymbol = $interpolate.startSymbol(),\n
Login.c(90): endSymbol = $interpolate.endSymbol(),\n
Login.c(90): isWhen = /^when(Minus)?(.+)$/;\n
Login.c(90): \n
Login.c(90): forEach(attr, function(expression, attributeName) {\n
Login.c(90): if (isWhen.test(attributeName)) {\n
Login.c(90): whens[lowercase(attributeName.replace('when',
'').replace('Minus', '-'))] =\n
Login.c(90): element.attr(attr.$attr[attributeName]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): forEach(whens, function(expression, key) {\n
Login.c(90): whensExpFns[key] =\n
Login.c(90): $interpolate(expression.replace(BRACE, startSymbol +
numberExp + '-' +\n
Login.c(90): offset + endSymbol));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): scope.$watch(function ngPluralizeWatch() {\n
Login.c(90): var value = parseFloat(scope.$eval(numberExp));\n
Login.c(90): \n
Login.c(90): if (!isNaN(value)) {\n
Login.c(90): //if explicit number rule such as 1, 2, 3... is defined,
just use it. Otherwise,
Login.c(90): \n
Login.c(90): //check it against pluralization rules in $locale
service\n
Login.c(90): if (!(value in whens)) value = $locale.pluralCat(value -
offset);\n
Login.c(90): return whensExpFns[value](scope, element, true);\n
Login.c(90): } else {\n
Login.c(90): return '';\n
Login.c(90): }\n
Login.c(90): }, function ngPluralizeWatchAction(newVal) {\n
Login.c(90): element.text(newVal);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngRepeat\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngRepeat` directive instantiates a template once per item
from a collection. Each
Login.c(90): template\n
Login.c(90): * instance gets its own scope, where the given loop variable is
set to the current collec
Login.c(90): tion item,\n
Login.c(90): * and `$index` is set to the item index or key.\n
Login.c(90): *\n
Login.c(90): * Special properties are exposed on the local scope of each
template instance, including:
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * | Variable | Type | Details

Login.c(90): |\n
Login.c(90): *
|-----------|-----------------|----------------------------------------------------
----
Login.c(90): ---------------------|\n
Login.c(90): * | `$index` | {@type number} | iterator offset of the repeated
element (0..length-1)
Login.c(90): |\n
Login.c(90): * | `$first` | {@type boolean} | true if the repeated element is
first in the iterator.
Login.c(90): |\n
Login.c(90): * | `$middle` | {@type boolean} | true if the repeated element is
between the first and l
Login.c(90): ast in the iterator. |\n
Login.c(90): * | `$last` | {@type boolean} | true if the repeated element is
last in the iterator.
Login.c(90): |\n
Login.c(90): * | `$even` | {@type boolean} | true if the iterator position
`$index` is even (otherwi
Login.c(90): se false). |\n
Login.c(90): * | `$odd` | {@type boolean} | true if the iterator position
`$index` is odd (otherwis
Login.c(90): e false). |\n
Login.c(90): *\n
Login.c(90): * Creating aliases for these properties is possible with {@link
ng.directive:ngInit `ngIn
Login.c(90): it`}.\n
Login.c(90): * This may be useful when, for instance, nesting ngRepeats.\n
Login.c(90): *\n
Login.c(90): * # Special repeat start and end points\n
Login.c(90): * To repeat a series of elements instead of just one parent
element, ngRepeat (as well as
Login.c(90): other ng directives) supports extending\n
Login.c(90): * the range of the repeater by defining explicit start and end
points by using **ng-rep
Login.c(90): t=3408ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): eat-start** and **ng-repeat-end** respectively.\n
Login.c(90): * The **ng-repeat-start** directive works the same as **ng-
repeat**, but will repeat all
Login.c(90): the HTML code (including the tag it's defined on)\n
Login.c(90): * up to and including the ending HTML tag where **ng-repeat-end**
is placed.\n
Login.c(90): *\n
Login.c(90): * The example below makes use of this feature:\n
Login.c(90): * ```html\n
Login.c(90): * <header ng-repeat-start="item in items">\n
Login.c(90): * Header {{ item }}\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body {{ item }}\n
Login.c(90): * </div>\n
Login.c(90): * <footer ng-repeat-end>\n
Login.c(90): * Footer {{ item }}\n
Login.c(90): * </footer>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * And with an input of {@type ['A','B']} for the items variable
in the example above, the
Login.c(90): output will evaluate to:\n
Login.c(90): * ```html\n
Login.c(90): * <header>\n
Login.c(90): * Header A\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body A\n
Login.c(90): * </div>\n
Login.c(90): * <footer>\n
Login.c(90): * Footer A\n
Login.c(90): * </footer>\n
Login.c(90): * <header>\n
Login.c(90): * Header B\n
Login.c(90): * </header>\n
Login.c(90): * <div class="body">\n
Login.c(90): * Body B\n
Login.c(90): * </div>\n
Login.c(90): * <footer>\n
Login.c(90): * Footer B\n
Login.c(90): * </footer>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * The custom start and end points for ngRepeat also support all
other HTML directive synt
Login.c(90): ax flavors provided in AngularJS (such\n
Login.c(90): * as **data-ng-repeat-start**, **x-ng-repeat-start** and
**ng:repeat-start**).\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * **.enter** - when a new item is added to the list or when an
item is revealed after a f
Login.c(90): ilter\n
Login.c(90): *\n
Login.c(90): * **.leave** - when an item is removed from the list or when an
item is filtered out\n
Login.c(90): *\n
Login.c(90): * **.move** - when an adjacent item is filtered out causing a
reorder or when the item co
Login.c(90): ntents are reordered\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @scope\n
Login.c(90): * @priority 1000\n
Login.c(90): * @param {repeat_expression} ngRepeat The expression indicating
how to enumerate a collec
Login.c(90): tion. These\n
Login.c(90): * formats are currently supported:\n
Login.c(90): *\n
Login.c(90): * * `variable in expression` \xE2\x80\x93 where variable is the
user defined loop varia
Login.c(90): ble and `expression`\n
Login.c(90): * is a scope expression giving the collection to enumerate.\n
Login.c(90): *\n
Login.c(90): * For example: `album in artist.albums`.\n
Login.c(90): *\n
Login.c(90): * * `(key, value) in expression` \xE2\x80\x93 where `key` and
`value` can be any user d
Login.c(90): efined identifiers,\n
Login.c(90): * and `expression` is the scope expression giving the
collection to enumerate.\n
Login.c(90): *\n
Login.c(90): * For example: `(name, age) in {'adam':10, 'amalie':12}`.\n
Login.c(90): *\n
Login.c(90): * * `variable in expression track by tracking_expression`
\xE2\x80\x93 You can also pro
Login.c(90): vide an optional tracking function\n
Login.c(90): * which can be used to associate the objects in the
collection with the DOM elements.
Login.c(90): If no tracking function\n
Login.c(90): * is specified the ng-repeat associates elements by identity
in the collection. It is
Login.c(90): an error to have\n
Login.c(90): * more than one tracking function to resolve to the same key.
(This would mean that t
Login.c(90): wo distinct objects are\n
Login.c(90): * mapped to the same DOM element, which is not possible.)
Filters should be applied
Login.c(90): to the expression,\n
Login.c(90): * before specifying a tracking expression.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items` is equivalent to `item in
items track by $id(item)`. T
Login.c(90): his implies that the DOM elements\n
Login.c(90): * will be associated by item identity in the array.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items track by $id(item)`. A built in
`$id()` function can be
Login.c(90): used to assign a unique\n
Login.c(90): * `$$hashKey` property to each item in the array. This
property is then used as a key
Login.c(90): to associated DOM elements\n
Login.c(90): * with the corresponding item in the array by identity.
Moving the same object in arr
Login.c(90): ay would move the DOM\n
Login.c(90): * element in the same way in the DOM.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items track by item.id` is a typical
pattern when the items c
Login.c(90): ome from the database. In this\n
Login.c(90): * case the object identity does not matter. Two objects are
considered equivalent as
Login.c(90): long as their `id`\n
Login.c(90): * property is same.\n
Login.c(90): *\n
Login.c(90): * For example: `item in items | filter:searchText track by
item.id` is a pattern that
Login.c(90): might be used to apply a filter\n
Login.c(90): * to items in conjunction with a tracking expression.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This example initializes the scope to a list of names and\n
Login.c(90): * then uses `ngRepeat` to display every person:\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-init="friends = [\n
Login.c(90): {name:'John', age:25, gender:'boy'},\n
Login.c(90): {name:'Jessie', age:30, gender:'girl'},\n
Login.c(90): {name:'Johanna', age:28, gender:'girl'},\n
Login.c(90): {name:'Joy', age:15, gender:'girl'},\n
Login.c(90): {name:'Mary', age:28, gender:'girl'},\n
Login.c(90): {name:'Peter', age:95, gender:'boy'},\n
Login.c(90): {name:'Sebastian', age:50, gender:'boy'},\n
Login.c(90): {name:'Erika', age:27, gender:'girl'},\n
Login.c(90): {name:'Patrick', age:40, gender:'boy'},\n
Login.c(90): {name:'Samantha', age:60, gender:'girl'}\n
Login.c(90): ]">\n
Login.c(90): I have {{friends.length}} friends. They are:\n
Login.c(90): <input type="search" ng-model="q" placeholder="filter
friends..." />\n
Login.c(90): <ul class="example-animate-container">\n
Login.c(90): <li class="animate-repeat" ng-repeat="friend in friends
| filter:q">\n
Login.c(90): [{{$index + 1}}] {{friend.name}} who is {{friend.age}}
years old.\n
Login.c(90): </li>\n
Login.c(90): </ul>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .example-animate-container {\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): list-style:none;\n
Login.c(90): margin:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat {\n
Login.c(90): line-height:40px;\n
Login.c(90): list-style:none;\n
Login.c(90): box-sizing:border-box;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-move,\n
Login.c(90): .animate-repeat.ng-enter,\n
Login.c(90): .animate-repeat.ng-leave {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-leave.ng-leave-active,\n
Login.c(90): .animate-repeat.ng-move,\n
Login.c(90): .animate-repeat.ng-enter {\n
Login.c(90): opacity:0;\n
Login.c(90): max-height:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-repeat.ng-leave,\n
Login.c(90): .animate-repeat.ng-move.ng-move-active,\n
Login.c(90): .animate-repeat.ng-enter.ng-enter-active {\n
Login.c(90): opacity:1;\n
Login.c(90): max-height:40px;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var friends = element.all(by.repeater('friend in
friends'));\n
Login.c(90): \n
Login.c(90): it('should render initial data set', function() {\n
Login.c(90): expect(friends.count()).toBe(10);\n
Login.c(90): expect(friends.get(0).getText()).toEqual('[1] John who is
25 years old.');\n
Login.c(90): expect(friends.get(1).getText()).toEqual('[2] Jessie who
is 30 years old.');\n
Login.c(90): expect(friends.last().getText()).toEqual('[10] Samantha
who is 60 years old.');\n
Login.c(90): expect(element(by.binding('friends.length')).getText())\n
Login.c(90): .toMatch("I have 10 friends. They are:");\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): it('should update repeater when filter predicate changes',
function() {\n
Login.c(90): expect(friends.count()).toBe(10);\n
Login.c(90): \n
Login.c(90): element(by.model('q')).sendKeys('ma');\n
Login.c(90): \n
Login.c(90): expect(friends.count()).toBe(2);\n
Login.c(90): expect(friends.get(0).getText()).toEqual('[1] Mary who is
28 years old.');\n
Login.c(90): expect(friends.last().getText()).toEqual('[2] Samantha
who is 60 years old.');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngRepeatDirective = ['$parse', '$animate', function($parse,
$animate) {\n
Login.c(90): var NG_REMOVED = '$$NG_REMOVED';\n
Login.c(90): var ngRepeatMinErr = minErr('ngRepeat');\n
Login.c(90): return {\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 1000,\n
Login.c(90): terminal: true,\n
Login.c(90): $$tlb: true,\n
Login.c(90): link: function($scope, $element, $attr, ctrl, $transclude){\n
Login.c(90): var expression = $attr.ngRepeat;\n
Login.c(90): var match = expression.match(/^\\s*([\\s\\S]+?)\\s+in\\s+
([\\s\\S]+?)(?:\\s+track\\
Login.c(90): s+by\\s+([\\s\\S]+?))?\\s*$/),\n
Login.c(90): trackByExp, trackByExpGetter, trackByIdExpFn,
trackByIdArrayFn, trackByIdObjFn,\n
Login.c(90): lhs, rhs, valueIdentifier, keyIdentifier,\n
Login.c(90): hashFnLocals = {$id: hashKey};\n
Login.c(90): \n
Login.c(90): if (!match) {\n
Login.c(90): throw ngRepeatMinErr('iexp', "Expected expression in
form of '_item_ in _collect
Login.c(90): ion_[ track by _id_]' but got '{0}'.",\n
Login.c(90): expression);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): lhs = match[1];\n
Login.c(90): rhs = match[2];\n
Login.c(90): trackByExp = match[3];\n
Login.c(90): \n
Login.c(90): if (trackByExp) {\n
Login.c(90): trackByExpGetter = $parse(trackByExp);\n
Login.c(90): trackByIdExpFn = function(key, value, index) {\n
Login.c(90): // assign key, value, and $index to the locals so that
they can be used in has
Login.c(90): h functions\n
Login.c(90): if (keyIdentifier) hashFnLocals[keyIdentifier] =
key;\n
Login.c(90): hashFnLocals[valueIdentifier] = value;\n
Login.c(90): hashFnLocals.$index = index;\n
Login.c(90): return trackByExpGetter($scope, hashFnLocals);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): trackByIdArrayFn = function(key, value) {\n
Login.c(90): return hashKey(value);\n
Login.c(90): };\n
Login.c(90): trackByIdObjFn = function(key) {\n
Login.c(90): return key;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): match = lhs.match(/^(?:([\\$\\w]+)|\\(([\\$\\w]
+)\\s*,\\s*([\\$\\w]+)\\))$/);\n
Login.c(90): if (!match) {\n
Login.c(90): throw ngRepeatMinErr('iidexp', "'_item_' in '_item_ in
_collection_' should be a
Login.c(90): n identifier or '(_key_, _value_)' expression, but got '{0}'.",\n
Login.c(90):
lhs);\n
Login.c(90): }\n
Login.c(90): valueIdentifier = match[3] || match[1];\n
Login.c(90): keyIdentifier = match[2];\n
Login.c(90): \n
Login.c(90): // Store a list of elements from previous run. This is a
hash where key is the ite
Login.c(90): m from the\n
Login.c(90): // iterator, and the value is objects with following
properties.\n
Login.c(90): // - scope: bound scope\n
Login.c(90): // - element: previous element.\n
Login.c(90): // - index: position\n
Login.c(90): var lastBlockMap = {};\n
Login.c(90): \n
Login.c(90): //watch props\n
Login.c(90): $scope.$watchCollection(rhs, function
ngRepeatAction(collection){\n
Login.c(90): var index, length,\n
Login.c(90): previousNode = $element[0], // current position
of the node\n
Login.c(90): nextNode,\n
Login.c(90): // Same as lastBlockMap but it has the current
state. It will become the\n
Login.c(90): // lastBlockMap on the next iteration.\n
Login.c(90): nextBlockMap = {},\n
Login.c(90): arrayLength,\n
Login.c(90): childScope,\n
Login.c(90): key, value, // key/value of iteration\n
Login.c(90): trackById,\n
Login.c(90): trackByIdFn,\n
Login.c(90): collectionKeys,\n
Login.c(90): block, // last object information {scope,
element, id}\n
Login.c(90): nextBlockOrder = [],\n
Login.c(90): elementsToRemove;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (isArrayLike(collection)) {\n
Login.c(90): collectionKeys = collection;\n
Login.c(90): trackByIdFn = trackByIdExpFn || trackByIdArrayFn;\n
Login.c(90): } else {\n
Login.c(90): trackByIdFn = trackByIdExpFn || trackByIdObjFn;\n
Login.c(90): // if object, extract keys, sort them and use to
determine order of iteration
Login.c(90): over obj props\n
Login.c(90): collectionKeys = [];\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key) &&
key.charAt(0) != '
Login.c(90): t=3421ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): $') {\n
Login.c(90): collectionKeys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): collectionKeys.sort();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): arrayLength = collectionKeys.length;\n
Login.c(90): \n
Login.c(90): // locate existing items\n
Login.c(90): length = nextBlockOrder.length =
collectionKeys.length;\n
Login.c(90): for(index = 0; index < length; index++) {\n
Login.c(90): key = (collection === collectionKeys) ? index :
collectionKeys[index];\n
Login.c(90): value = collection[key];\n
Login.c(90): trackById = trackByIdFn(key, value, index);\n
Login.c(90): assertNotHasOwnProperty(trackById, '`track by` id');\n
Login.c(90): if(lastBlockMap.hasOwnProperty(trackById)) {\n
Login.c(90): block = lastBlockMap[trackById];\n
Login.c(90): delete lastBlockMap[trackById];\n
Login.c(90): nextBlockMap[trackById] = block;\n
Login.c(90): nextBlockOrder[index] = block;\n
Login.c(90): } else if (nextBlockMap.hasOwnProperty(trackById)) {\n
Login.c(90): // restore lastBlockMap\n
Login.c(90): forEach(nextBlockOrder, function(block) {\n
Login.c(90): if (block && block.scope) lastBlockMap[block.id] =
block;\n
Login.c(90): });\n
Login.c(90): // This is a duplicate and we need to throw an
error\n
Login.c(90): throw ngRepeatMinErr('dupes',\n
Login.c(90): "Duplicates in a repeater are not allowed. Use
'track by' expression to
Login.c(90): specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate
value: {2}",\n
Login.c(90): expression, trackById, toJson(value));\n
Login.c(90): } else {\n
Login.c(90): // new never before seen block\n
Login.c(90): nextBlockOrder[index] = { id: trackById };\n
Login.c(90): nextBlockMap[trackById] = false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // remove existing items\n
Login.c(90): for (key in lastBlockMap) {\n
Login.c(90): // lastBlockMap is our own object so we don't need to
use special hasOwnProper
Login.c(90): tyFn\n
Login.c(90): if (lastBlockMap.hasOwnProperty(key)) {\n
Login.c(90): block = lastBlockMap[key];\n
Login.c(90): elementsToRemove = getBlockElements(block.clone);\n
Login.c(90): $animate.leave(elementsToRemove);\n
Login.c(90): forEach(elementsToRemove, function(element)
{ element[NG_REMOVED] = true; })
Login.c(90): ;\n
Login.c(90): block.scope.$destroy();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we are not using forEach for perf reasons (trying to
avoid #call)\n
Login.c(90): for (index = 0, length = collectionKeys.length; index <
length; index++) {\n
Login.c(90): key = (collection === collectionKeys) ? index :
collectionKeys[index];\n
Login.c(90): value = collection[key];\n
Login.c(90): block = nextBlockOrder[index];\n
Login.c(90): if (nextBlockOrder[index - 1]) previousNode =
getBlockEnd(nextBlockOrder[index
Login.c(90): - 1]);\n
Login.c(90): \n
Login.c(90): if (block.scope) {\n
Login.c(90): // if we have already seen this object, then we need
to reuse the\n
Login.c(90): // associated scope/element\n
Login.c(90): childScope = block.scope;\n
Login.c(90): \n
Login.c(90): nextNode = previousNode;\n
Login.c(90): do {\n
Login.c(90): nextNode = nextNode.nextSibling;\n
Login.c(90): } while(nextNode && nextNode[NG_REMOVED]);\n
Login.c(90): \n
Login.c(90): if (getBlockStart(block) != nextNode) {\n
Login.c(90): // existing item which got moved\n
Login.c(90): $animate.move(getBlockElements(block.clone), null,
jqLite(previousNode));\n
Login.c(90): }\n
Login.c(90): previousNode = getBlockEnd(block);\n
Login.c(90): } else {\n
Login.c(90): // new item which we don't know about\n
Login.c(90): childScope = $scope.$new();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): childScope[valueIdentifier] = value;\n
Login.c(90): if (keyIdentifier) childScope[keyIdentifier] = key;\n
Login.c(90): childScope.$index = index;\n
Login.c(90): childScope.$first = (index === 0);\n
Login.c(90): childScope.$last = (index === (arrayLength - 1));\n
Login.c(90): childScope.$middle = !(childScope.$first ||
childScope.$last);\n
Login.c(90): // jshint bitwise: false\n
Login.c(90): childScope.$odd = !(childScope.$even = (index&1) ===
0);\n
Login.c(90): // jshint bitwise: true\n
Login.c(90): \n
Login.c(90): if (!block.scope) {\n
Login.c(90): $transclude(childScope, function(clone) {\n
Login.c(90): clone[clone.length++] = document.createComment('
end ngRepeat: ' + express
Login.c(90): ion + ' ');\n
Login.c(90): $animate.enter(clone, null,
jqLite(previousNode));\n
Login.c(90): previousNode = clone;\n
Login.c(90): block.scope = childScope;\n
Login.c(90): // Note: We only need the first/last node of the
cloned nodes.\n
Login.c(90): // However, we need to keep the reference to the
jqlite wrapper as it migh
Login.c(90): t be changed later\n
Login.c(90): // by a directive with templateUrl when its
template arrives.\n
Login.c(90): block.clone = clone;\n
Login.c(90): nextBlockMap[block.id] = block;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): lastBlockMap = nextBlockMap;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function getBlockStart(block) {\n
Login.c(90): return block.clone[0];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getBlockEnd(block) {\n
Login.c(90): return block.clone[block.clone.length - 1];\n
Login.c(90): }\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngShow\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngShow` directive shows or hides the given HTML element
based on the expression\n
Login.c(90): * provided to the `ngShow` attribute. The element is shown or
hidden by removing or addin
Login.c(90): g\n
Login.c(90): * the `.ng-hide` CSS class onto the element. The `.ng-hide` CSS
class is predefined\n
Login.c(90): * in AngularJS and sets the display style to none (using an !
important flag).\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <!-- when $scope.myValue is truthy (element is visible) -->\n
Login.c(90): * <div ng-show="myValue"></div>\n
Login.c(90): *\n
Login.c(90): * <!-- when $scope.myValue is falsy (element is hidden) -->\n
Login.c(90): * <div ng-show="myValue" class="ng-hide"></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When the `ngShow` expression evaluates to false then the `.ng-
hide` CSS class is added
Login.c(90): to the class attribute\n
Login.c(90): * on the element causing it to become hidden. When true, the
`.ng-hide` CSS class is remo
Login.c(90): ved\n
Login.c(90): * from the element causing the element not to appear hidden.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** Here is a list of values that ngShow will consider as
a falsy value (case ins
Login.c(90): ensitive):<br />\n
Login.c(90): * "f" / "0" / "false" / "no" / "n" / "[]"\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * ## Why is !important used?\n
Login.c(90): *\n
Login.c(90): * You may be wondering why !important is used for the `.ng-hide`
CSS class. This is becau
Login.c(90): se the `.ng-hide` selector\n
Login.c(90): * can be easily overridden by heavier selectors. For example,
something as simple\n
Login.c(90): * as changing the display style on a HTML list item would make
hidden elements appear vis
Login.c(90): ible.\n
Login.c(90): * This also becomes a bigger issue when dealing with CSS
frameworks.\n
Login.c(90): *\n
Login.c(90): * By using !important, the show and hide behavior will work as
expected despite any clash
Login.c(90): between CSS selector\n
Login.c(90): * specificity (when !important isn't used with any conflicting
styles). If a developer ch
Login.c(90): ooses to override the\n
Login.c(90): * styling to change how to hide an element then it is just a
matter of using !important i
Login.c(90): n their own CSS code.\n
Login.c(90): *\n
Login.c(90): * ### Overriding `.ng-hide`\n
Login.c(90): *\n
Login.c(90): * By default, the `.ng-hide` class will style the element with
`display:none!important`.
Login.c(90): If you wish to change\n
Login.c(90): * the hide behavior with ngShow/ngHide then this can be achieved
by restating the styles
Login.c(90): for the `.ng-hide`\n
Login.c(90): * class in CSS:\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * .ng-hide {\n
Login.c(90): * //this is just another form of hiding an element\n
Login.c(90): * display:block!important;\n
Login.c(90): * position:absolute;\n
Login.c(90): * top:-9999px;\n
Login.c(90): * left:-9999px;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * By default you don't need to override in CSS anything and the
animations will work arou
Login.c(90): nd the display style.\n
Login.c(90): *\n
Login.c(90): * ## A note about animations with `ngShow`\n
Login.c(90): *\n
Login.c(90): * Animations in ngShow/ngHide work with the show and hide events
that are triggered when
Login.c(90): the directive expression\n
Login.c(90): * is true and false. This system works like the animation system
present with ngClass exc
Login.c(90): ept that\n
Login.c(90): * you must also include the !important flag to override the
display property\n
Login.c(90): * so that you can perform an animation when the element is hidden
during the time of the
Login.c(90): animation.\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * //\n
Login.c(90): * //a working example can be found at the bottom of this page\n
Login.c(90): * //\n
Login.c(90): * .my-element.ng-hide-add, .my-element.ng-hide-remove {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * .my-element.ng-hide-add { ... }\n
Login.c(90): * .my-element.ng-hide-add.ng-hide-add-active { ... }\n
Login.c(90): * .my-element.ng-hide-remove { ... }\n
Login.c(90): * .my-element.ng-hide-remove.ng-hide-remove-active { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Keep in mind that, as of AngularJS version 1.2.17 (and 1.3.0-
beta.11), there is no need
Login.c(90): to change the display\n
Login.c(90): * property to block during animation states--ngAnimate will
handle the style toggling aut
Login.c(90): omatically for you.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * addClass: `.ng-hide` - happens after the `ngShow` expression
evaluates to a truthy valu
Login.c(90): e and the just before contents are set to visible\n
Login.c(90): * removeClass: `.ng-hide` - happens after the `ngShow` expression
evaluates to a non trut
Login.c(90): hy value and just before the contents are set to hidden\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngShow If the {@link guide/expression
expression} is truthy\n
Login.c(90): * then the element is shown or hidden respectively.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked"><br/>\n
Login.c(90): <div>\n
Login.c(90): Show:\n
Login.c(90): <div class="check-element animate-show" ng-
show="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-up"></span> I
show up when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): <div>\n
Login.c(90): Hide:\n
Login.c(90): <div class="check-element animate-show" ng-
hide="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-down"></span> I
hide when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="glyphicons.css">\n
Login.c(90): @import
url(//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css);
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-show {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): line-height:20px;\n
Login.c(90): opacity:1;\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-show.ng-hide {\n
Login.c(90): line-height:0;\n
Login.c(90): opacity:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .check-element {\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var thumbsUp = element(by.css('span.glyphicon-thumbs-
up'));\n
Login.c(90): var thumbsDown = element(by.css('span.glyphicon-thumbs-
down'));\n
Login.c(90): \n
Login.c(90): it('should check ng-show / ng-hide', function() {\n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeFalsy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeTruthy();\n
Login.c(90): \n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90): \n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeTruthy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeFalsy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngShowDirective = ['$animate', function($animate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr.ngShow, function ngShowWatchAction(value){\n
Login.c(90): $animate[toBoolean(value) ? 'removeClass' : 'addClass']
(element, 'ng-hide');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngHide\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngHide` directive shows or hides the given HTML element
based on the expression\n
Login.c(90): * provided to the `ngHide` attribute. The element is shown or
hidden by removing or addin
Login.c(90): g\n
Login.c(90): * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS
class is predefined\n
Login.c(90): * in AngularJS and sets the display style to none (using an !
important flag).\n
Login.c(90): * For CSP mode please add `angular-csp.css` to your html file
(see {@link ng.directive:ng
Login.c(90): Csp ngCsp}).\n
Login.c(90): *\n
Login.c(90): * ```html\n
Login.c(90): * <!-- when $scope.myValue is truthy (element is hidden) -->\n
Login.c(90): * <div ng-hide="myValue" class="ng-hide"></div>\n
Login.c(90): *\n
Login.c(90): * <!-- when $scope.myValue is falsy (element is visible) -->\n
Login.c(90): * <div ng-hide="myValue"></div>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * When the `.ngHide` expression evaluates to true then the `.ng-
hide` CSS class is added
Login.c(90): to the class attribute\n
Login.c(90): * on the element causing it to become hidden. When false, the
`.ng-hide` CSS class is rem
Login.c(90): oved\n
Login.c(90): * from the element causing the element not to appear hidden.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** Here is a list of values that ngHide will consider as
a falsy value (case ins
Login.c(90): ensitive):<br />\n
Login.c(90): * "f" / "0" / "false" / "no" / "n" / "[]"\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * ## Why is !important used?\n
Login.c(90): *\n
Login.c(90): * You may be wondering why !important is used for the `.ng-hide`
CSS class. This is becau
Login.c(90): se the `.ng-hide` selector\n
Login.c(90): * can be easily overridden by heavier selectors. For example,
something as simple\n
Login.c(90): * as changing the di
Login.c(90): t=3482ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): splay style on a HTML list item would make hidden elements appear
visible.\n
Login.c(90): * This also becomes a bigger issue when dealing with CSS
frameworks.\n
Login.c(90): *\n
Login.c(90): * By using !important, the show and hide behavior will work as
expected despite any clash
Login.c(90): between CSS selector\n
Login.c(90): * specificity (when !important isn't used with any conflicting
styles). If a developer ch
Login.c(90): ooses to override the\n
Login.c(90): * styling to change how to hide an element then it is just a
matter of using !important i
Login.c(90): n their own CSS code.\n
Login.c(90): *\n
Login.c(90): * ### Overriding `.ng-hide`\n
Login.c(90): *\n
Login.c(90): * By default, the `.ng-hide` class will style the element with
`display:none!important`.
Login.c(90): If you wish to change\n
Login.c(90): * the hide behavior with ngShow/ngHide then this can be achieved
by restating the styles
Login.c(90): for the `.ng-hide`\n
Login.c(90): * class in CSS:\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * .ng-hide {\n
Login.c(90): * //this is just another form of hiding an element\n
Login.c(90): * display:block!important;\n
Login.c(90): * position:absolute;\n
Login.c(90): * top:-9999px;\n
Login.c(90): * left:-9999px;\n
Login.c(90): * }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * By default you don't need to override in CSS anything and the
animations will work arou
Login.c(90): nd the display style.\n
Login.c(90): *\n
Login.c(90): * ## A note about animations with `ngHide`\n
Login.c(90): *\n
Login.c(90): * Animations in ngShow/ngHide work with the show and hide events
that are triggered when
Login.c(90): the directive expression\n
Login.c(90): * is true and false. This system works like the animation system
present with ngClass, ex
Login.c(90): cept that the `.ng-hide`\n
Login.c(90): * CSS class is added and removed for you instead of your own CSS
class.\n
Login.c(90): *\n
Login.c(90): * ```css\n
Login.c(90): * //\n
Login.c(90): * //a working example can be found at the bottom of this page\n
Login.c(90): * //\n
Login.c(90): * .my-element.ng-hide-add, .my-element.ng-hide-remove {\n
Login.c(90): * transition:0.5s linear all;\n
Login.c(90): * }\n
Login.c(90): *\n
Login.c(90): * .my-element.ng-hide-add { ... }\n
Login.c(90): * .my-element.ng-hide-add.ng-hide-add-active { ... }\n
Login.c(90): * .my-element.ng-hide-remove { ... }\n
Login.c(90): * .my-element.ng-hide-remove.ng-hide-remove-active { ... }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Keep in mind that, as of AngularJS version 1.2.17 (and 1.3.0-
beta.11), there is no need
Login.c(90): to change the display\n
Login.c(90): * property to block during animation states--ngAnimate will
handle the style toggling aut
Login.c(90): omatically for you.\n
Login.c(90): *\n
Login.c(90): * @animations\n
Login.c(90): * removeClass: `.ng-hide` - happens after the `ngHide` expression
evaluates to a truthy v
Login.c(90): alue and just before the contents are set to hidden\n
Login.c(90): * addClass: `.ng-hide` - happens after the `ngHide` expression
evaluates to a non truthy
Login.c(90): value and just before the contents are set to visible\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngHide If the {@link guide/expression
expression} is truthy then\n
Login.c(90): * the element is shown or hidden respectively.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="ngAnimate" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): Click me: <input type="checkbox" ng-model="checked"><br/>\n
Login.c(90): <div>\n
Login.c(90): Show:\n
Login.c(90): <div class="check-element animate-hide" ng-
show="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-up"></span> I
show up when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): <div>\n
Login.c(90): Hide:\n
Login.c(90): <div class="check-element animate-hide" ng-
hide="checked">\n
Login.c(90): <span class="glyphicon glyphicon-thumbs-down"></span> I
hide when your checkbox
Login.c(90): is checked.\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="glyphicons.css">\n
Login.c(90): @import
url(//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css);
Login.c(90): \n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-hide {\n
Login.c(90): -webkit-transition:all linear 0.5s;\n
Login.c(90): transition:all linear 0.5s;\n
Login.c(90): line-height:20px;\n
Login.c(90): opacity:1;\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-hide.ng-hide {\n
Login.c(90): line-height:0;\n
Login.c(90): opacity:0;\n
Login.c(90): padding:0 10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .check-element {\n
Login.c(90): padding:10px;\n
Login.c(90): border:1px solid black;\n
Login.c(90): background:white;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var thumbsUp = element(by.css('span.glyphicon-thumbs-
up'));\n
Login.c(90): var thumbsDown = element(by.css('span.glyphicon-thumbs-
down'));\n
Login.c(90): \n
Login.c(90): it('should check ng-show / ng-hide', function() {\n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeFalsy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeTruthy();\n
Login.c(90): \n
Login.c(90): element(by.model('checked')).click();\n
Login.c(90): \n
Login.c(90): expect(thumbsUp.isDisplayed()).toBeTruthy();\n
Login.c(90): expect(thumbsDown.isDisplayed()).toBeFalsy();\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngHideDirective = ['$animate', function($animate) {\n
Login.c(90): return function(scope, element, attr) {\n
Login.c(90): scope.$watch(attr.ngHide, function ngHideWatchAction(value){\n
Login.c(90): $animate[toBoolean(value) ? 'addClass' : 'removeClass']
(element, 'ng-hide');\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngStyle\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngStyle` directive allows you to set CSS style on an HTML
element conditionally.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): * @param {expression} ngStyle\n
Login.c(90): *\n
Login.c(90): * {@link guide/expression Expression} which evals to an\n
Login.c(90): * object whose keys are CSS style names and values are
corresponding values for those CSS
Login.c(90): \n
Login.c(90): * keys.\n
Login.c(90): *\n
Login.c(90): * Since some CSS style names are not valid keys for an object,
they must be quoted.\n
Login.c(90): * See the 'background-color' style in the example below.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <input type="button" value="set color" ng-
click="myStyle={color:'red'}">\n
Login.c(90): <input type="button" value="set background" ng-
click="myStyle={'background-color':
Login.c(90): 'blue'}">\n
Login.c(90): <input type="button" value="clear" ng-
click="myStyle={}">\n
Login.c(90): <br/>\n
Login.c(90): <span ng-style="myStyle">Sample Text</span>\n
Login.c(90): <pre>myStyle={{myStyle}}</pre>\n
Login.c(90): </file>\n
Login.c(90): <file name="style.css">\n
Login.c(90): span {\n
Login.c(90): color: black;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var colorSpan = element(by.css('span'));\n
Login.c(90): \n
Login.c(90): it('should check ng-style', function() {\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0,
0, 1)');\n
Login.c(90): element(by.css('input[value=\\'set
color\\']')).click();\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(255, 0,
0, 1)');\n
Login.c(90): element(by.css('input[value=clear]')).click();\n
Login.c(90): expect(colorSpan.getCssValue('color')).toBe('rgba(0, 0,
0, 1)');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngStyleDirective = ngDirective(function(scope, element, attr)
{\n
Login.c(90): scope.$watch(attr.ngStyle, function
ngStyleWatchAction(newStyles, oldStyles) {\n
Login.c(90): if (oldStyles && (newStyles !== oldStyles)) {\n
Login.c(90): forEach(oldStyles, function(val, style) { element.css(style,
'');});\n
Login.c(90): }\n
Login.c(90): if (newStyles) element.css(newStyles);\n
Login.c(90): }, true);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngSwitch\n
Login.c(90): * @restrict EA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The `ngSwitch` directive is used to conditionally swap DOM
structure on your template b
Login.c(90): ased on a scope expression.\n
Login.c(90): * Elements within `ngSwitch` but without `ngSwitchWhen` or
`ngSwitchDefault` directives w
Login.c(90): ill be preserved at the location\n
Login.c(90): * as specified in the template.\n
Login.c(90): *\n
Login.c(90): * The directive itself works similar to ngInclude, however,
instead of downloading templa
Login.c(90): te code (or loading it\n
Login.c(90): * from the template cache), `ngSwitch` simply chooses one of the
nested elements and make
Login.c(90): s it visible based on which element\n
Login.c(90): * matches the value obtained from the evaluated expression. In
other words, you define a
Login.c(90): container element\n
Login.c(90): * (where you place the directive), place an expression on the
**`on="..."` attribute**\n
Login.c(90): * (or the **`ng-switch="..."` attribute**), define any inner
elements inside of the direc
Login.c(90): tive and place\n
Login.c(90): * a when attribute per element. The when attribute is used to
inform ngSwitch which eleme
Login.c(90): nt to display when the on\n
Login.c(90): * expression is evaluated. If a matching expression is not found
via a when attribute the
Login.c(90): n an element with the default\n
Login.c(90): * attribute is displayed.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-info">\n
Login.c(90): * Be aware that the attribute values to match against cannot be
expressions. They are int
Login.c(90): erpreted\n
Login.c(90): * as literal string values to match against.\n
Login.c(90): * For example, **`ng-switch-when="someVal"`** will match against
the string `"someVal"` n
Login.c(90): ot against the\n
Login.c(90): * value of the expression `$scope.someVal`.\n
Login.c(90): * </div>\n
Login.c(90): \n
Login.c(90): * @animations\n
Login.c(90): * enter - happens after the ngSwitch contents change and the
matched child element is pla
Login.c(90): ced inside the container\n
Login.c(90): * leave - happens just after the ngSwitch contents change and
just before the former cont
Login.c(90): ents are removed from the DOM\n
Login.c(90): *\n
Login.c(90): * @usage\n
Login.c(90): *\n
Login.c(90): * ```\n
Login.c(90): * <ANY ng-switch="expression">\n
Login.c(90): * <ANY ng-switch-when="matchValue1">...</ANY>\n
Login.c(90): * <ANY ng-switch-when="matchValue2">...</ANY>\n
Login.c(90): * <ANY ng-switch-default>...</ANY>\n
Login.c(90): * </ANY>\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @scope\n
Login.c(90): * @priority 800\n
Login.c(90): * @param {*} ngSwitch|on expression to match against <tt>ng-
switch-when</tt>.\n
Login.c(90): * On child elements add:\n
Login.c(90): *\n
Login.c(90): * * `ngSwitchWhen`: the case statement to match against. If match
then this\n
Login.c(90): * case will be displayed. If the same match appears multiple
times, all the\n
Login.c(90): * elements will be displayed.\n
Login.c(90): * * `ngSwitchDefault`: the default case when no other case match.
If there\n
Login.c(90): * are multiple default cases, all of them will be displayed
when no other\n
Login.c(90): * case match.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="switchExample" deps="angular-animate.js"
animations="true">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <select ng-model="selection" ng-options="item for item in
items">\n
Login.c(90): </select>\n
Login.c(90): <tt>selection={{selection}}</tt>\n
Login.c(90): <hr/>\n
Login.c(90): <div class="animate-switch-container"\n
Login.c(90): ng-switch on="selection">\n
Login.c(90): <div class="animate-switch" ng-switch-
when="settings">Settings Div</div>\n
Login.c(90): <div class="animate-switch" ng-switch-when="home">Home
Span</div>\n
Login.c(90): <div class="animate-switch" ng-switch-
default>default</div>\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="script.js">\n
Login.c(90): angular.module('switchExample', ['ngAnimate'])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.items = ['settings', 'home', 'other'];\n
Login.c(90): $scope.selection = $scope.items[0];\n
Login.c(90): }]);\n
Login.c(90): </file>\n
Login.c(90): <file name="animations.css">\n
Login.c(90): .animate-switch-container {\n
Login.c(90): position:relative;\n
Login.c(90): background:white;\n
Login.c(90): border:1px solid black;\n
Login.c(90): height:40px;\n
Login.c(90): overflow:hidden;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch {\n
Login.c(90): padding:10px;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch.ng-animate {\n
Login.c(90): -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450,
0.940) 0.5s;\n
Login.c(90): transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940)
0.5s;\n
Login.c(90): \n
Login.c(90): position:absolute;\n
Login.c(90): top:0;\n
Login.c(90): left:0;\n
Login.c(90): right:0;\n
Login.c(90): bottom:0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): .animate-switch.ng-leave.ng-leave-active,\n
Login.c(90): .animate-switch.ng-enter {\n
Login.c(90): top:-50px;\n
Login.c(90): }\n
Login.c(90): .animate-switch.ng-leave,\n
Login.c(90): .animate-switch.ng-enter.ng-enter-active {\n
Login.c(90): top:0;\n
Login.c(90): }\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): var switchElem = element(by.css('[ng-switch]'));\n
Login.c(90): var select = element(by.model('selection'));\n
Login.c(90): \n
Login.c(90): it('should start in settings', function() {\n
Login.c(90): expect(switchElem.getText()).toMatch(/Settings Div/);\n
Login.c(90): });\n
Login.c(90): it('should change to home', function() {\n
Login.c(90): select.all(by.css('option')).get(1).click();\n
Login.c(90): expect(switchElem.getText()).toMatch(/Home Span/);\n
Login.c(90): });\n
Login.c(90): it('should select default', function() {\n
Login.c(90): select.all(by.css('option')).get(2).click();\n
Login.c(90): expect(switchElem.getText()).toMatch(/default/);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var ngSwitchDirective = ['$animate', function($animate) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'EA',\n
Login.c(90): require: 'ngSwitch',\n
Login.c(90): \n
Login.c(90): // asks for $scope to fool the BC controller module\n
Login.c(90): controller: ['$scope', function ngSwitchController() {\n
Login.c(90): this.cases = {};\n
Login.c(90): }],\n
Login.c(90): link: function(scope, element, attr, ngSwitchController) {\n
Login.c(90): var watchExpr = attr.ngSwitch || attr.on,\n
Login.c(90): selectedTranscludes = [],\n
Login.c(90): selectedElements = [],\n
Login.c(90): previousElements = [],\n
Login.c(90): selectedScopes = [];\n
Login.c(90): \n
Login.c(90): scope.$watch(watchExpr, function ngSwitchWatchAction(value)
{\n
Login.c(90): var i, ii;\n
Login.c(90): for (i = 0, ii = previousElements.length; i < ii; ++i) {\n
Login.c(90): previousElements[i].remove();\n
Login.c(90): }\n
Login.c(90): previousElements.length = 0;\n
Login.c(90): \n
Login.c(90): for (i = 0, ii = selectedScopes.length; i < ii; ++i) {\n
Login.c(90): var selected = selectedElements[i];\n
Login.c(90): selectedScopes[i].$destroy();\n
Login.c(90): previousElements[i] = selected;\n
Login.c(90): $animate.leave(selected, function() {\n
Login.c(90):
Login.c(90): t=3522ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): previousElements.splice(i, 1);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): selectedElements.length = 0;\n
Login.c(90): selectedScopes.length = 0;\n
Login.c(90): \n
Login.c(90): if ((selectedTranscludes = ngSwitchController.cases['!' +
value] || ngSwitchContro
Login.c(90): ller.cases['?'])) {\n
Login.c(90): scope.$eval(attr.change);\n
Login.c(90): forEach(selectedTranscludes,
function(selectedTransclude) {\n
Login.c(90): var selectedScope = scope.$new();\n
Login.c(90): selectedScopes.push(selectedScope);\n
Login.c(90): selectedTransclude.transclude(selectedScope,
function(caseElement) {\n
Login.c(90): var anchor = selectedTransclude.element;\n
Login.c(90): \n
Login.c(90): selectedElements.push(caseElement);\n
Login.c(90): $animate.enter(caseElement, anchor.parent(),
anchor);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var ngSwitchWhenDirective = ngDirective({\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 800,\n
Login.c(90): require: '^ngSwitch',\n
Login.c(90): link: function(scope, element, attrs, ctrl, $transclude) {\n
Login.c(90): ctrl.cases['!' + attrs.ngSwitchWhen] = (ctrl.cases['!' +
attrs.ngSwitchWhen] || []);\n
Login.c(90): ctrl.cases['!' + attrs.ngSwitchWhen].push({ transclude:
$transclude, element: element
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var ngSwitchDefaultDirective = ngDirective({\n
Login.c(90): transclude: 'element',\n
Login.c(90): priority: 800,\n
Login.c(90): require: '^ngSwitch',\n
Login.c(90): link: function(scope, element, attr, ctrl, $transclude) {\n
Login.c(90): ctrl.cases['?'] = (ctrl.cases['?'] || []);\n
Login.c(90): ctrl.cases['?'].push({ transclude: $transclude, element:
element });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ngTransclude\n
Login.c(90): * @restrict AC\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Directive that marks the insertion point for the transcluded
DOM of the nearest parent
Login.c(90): directive that uses transclusion.\n
Login.c(90): *\n
Login.c(90): * Any existing content of the element that this directive is
placed on will be removed be
Login.c(90): fore the transcluded content is inserted.\n
Login.c(90): *\n
Login.c(90): * @element ANY\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="transcludeExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('transcludeExample', [])\n
Login.c(90): .directive('pane', function(){\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): transclude: true,\n
Login.c(90): scope: { title:'@' },\n
Login.c(90): template: '<div style="border: 1px solid black;">'
+\n
Login.c(90): '<div style="background-color:
gray">{{title}}</div>' +\n
Login.c(90): '<div ng-transclude></div>' +\n
Login.c(90): '</div>'\n
Login.c(90): };\n
Login.c(90): })\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.title = 'Lorem Ipsum';\n
Login.c(90): $scope.text = 'Neque porro quisquam est qui dolorem
ipsum quia dolor...';\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <input ng-model="title"><br>\n
Login.c(90): <textarea ng-model="text"></textarea> <br/>\n
Login.c(90): <pane title="{{title}}">{{text}}</pane>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should have transcluded', function() {\n
Login.c(90): var titleElement = element(by.model('title'));\n
Login.c(90): titleElement.clear();\n
Login.c(90): titleElement.sendKeys('TITLE');\n
Login.c(90): var textElement = element(by.model('text'));\n
Login.c(90): textElement.clear();\n
Login.c(90): textElement.sendKeys('TEXT');\n
Login.c(90):
expect(element(by.binding('title')).getText()).toEqual('TITLE');\n
Login.c(90):
expect(element(by.binding('text')).getText()).toEqual('TEXT');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): var ngTranscludeDirective = ngDirective({\n
Login.c(90): link: function($scope, $element, $attrs, controller,
$transclude) {\n
Login.c(90): if (!$transclude) {\n
Login.c(90): throw minErr('ngTransclude')('orphan',\n
Login.c(90): 'Illegal use of ngTransclude directive in the template! '
+\n
Login.c(90): 'No parent directive that requires a transclusion found. '
+\n
Login.c(90): 'Element: {0}',\n
Login.c(90): startingTag($element));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $transclude(function(clone) {\n
Login.c(90): $element.empty();\n
Login.c(90): $element.append(clone);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name script\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Load the content of a `<script>` element into {@link ng.
$templateCache `$templateCache`
Login.c(90): }, so that the\n
Login.c(90): * template can be used by {@link ng.directive:ngInclude
`ngInclude`},\n
Login.c(90): * {@link ngRoute.directive:ngView `ngView`}, or {@link
guide/directive directives}. The t
Login.c(90): ype of the\n
Login.c(90): * `<script>` element must be specified as `text/ng-template`, and
a cache name for the te
Login.c(90): mplate must be\n
Login.c(90): * assigned through the element's `id`, which can then be used as
a directive's `templateU
Login.c(90): rl`.\n
Login.c(90): *\n
Login.c(90): * @param {string} type Must be set to `'text/ng-template'`.\n
Login.c(90): * @param {string} id Cache name of the template.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example>\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script type="text/ng-template" id="/tpl.html">\n
Login.c(90): Content of the template.\n
Login.c(90): </script>\n
Login.c(90): \n
Login.c(90): <a ng-click="currentTpl='/tpl.html'" id="tpl-link">Load
inlined template</a>\n
Login.c(90): <div id="tpl-content" ng-include src="currentTpl"></div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should load template defined inside script tag',
function() {\n
Login.c(90): element(by.css('#tpl-link')).click();\n
Login.c(90): expect(element(by.css('#tpl-
content')).getText()).toMatch(/Content of the template
Login.c(90): /);\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): var scriptDirective = ['$templateCache', function($templateCache)
{\n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): terminal: true,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): if (attr.type == 'text/ng-template') {\n
Login.c(90): var templateUrl = attr.id,\n
Login.c(90): // IE is not consistent, in scripts we have to read
.text but in other nodes w
Login.c(90): e have to read .textContent\n
Login.c(90): text = element[0].text;\n
Login.c(90): \n
Login.c(90): $templateCache.put(templateUrl, text);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var ngOptionsMinErr = minErr('ngOptions');\n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name select\n
Login.c(90): * @restrict E\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * HTML `SELECT` element with angular data-binding.\n
Login.c(90): *\n
Login.c(90): * # `ngOptions`\n
Login.c(90): *\n
Login.c(90): * The `ngOptions` attribute can be used to dynamically generate a
list of `<option>`\n
Login.c(90): * elements for the `<select>` element using the array or object
obtained by evaluating th
Login.c(90): e\n
Login.c(90): * `ngOptions` comprehension_expression.\n
Login.c(90): *\n
Login.c(90): * When an item in the `<select>` menu is selected, the array
element or object property\n
Login.c(90): * represented by the selected option will be bound to the model
identified by the `ngMode
Login.c(90): l`\n
Login.c(90): * directive.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** `ngModel` compares by reference, not value. This is
important when binding to
Login.c(90): an\n
Login.c(90): * array of objects. See an example [in this jsfiddle]
(http://jsfiddle.net/qWzTb/).\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * Optionally, a single hard-coded `<option>` element, with the
value set to an empty stri
Login.c(90): ng, can\n
Login.c(90): * be nested into the `<select>` element. This element will then
represent the `null` or "
Login.c(90): not selected"\n
Login.c(90): * option. See example below for demonstration.\n
Login.c(90): *\n
Login.c(90): * <div class="alert alert-warning">\n
Login.c(90): * **Note:** `ngOptions` provides an iterator facility for the
`<option>` element which sh
Login.c(90): ould be used instead\n
Login.c(90): * of {@link ng.directive:ngRepeat ngRepeat} when you want the\n
Login.c(90): * `select` model to be bound to a non-string value. This is
because an option element can
Login.c(90): only\n
Login.c(90): * be bound to string values at present.\n
Login.c(90): * </div>\n
Login.c(90): *\n
Login.c(90): * @param {string} ngModel Assignable angular expression to data-
bind to.\n
Login.c(90): * @param {string=} name Property name of the form under which the
control is published.\n
Login.c(90): * @param {string=} required The control is considered valid only
if value is entered.\n
Login.c(90): * @param {string=} ngRequired Adds `required` attribute and
`required` validation constra
Login.c(90): int to\n
Login.c(90): * the element when the ngRequired expression evaluates to
true. Use `ngRequired` inste
Login.c(90): ad of\n
Login.c(90): * `required` when you want to data-bind to the `required`
attribute.\n
Login.c(90): * @param {comprehension_expression=} ngOptions in one of the
following forms:\n
Login.c(90): *\n
Login.c(90): * * for array data sources:\n
Login.c(90): * * `label` **`for`** `value` **`in`** `array`\n
Login.c(90): * * `select` **`as`** `label` **`for`** `value` **`in`**
`array`\n
Login.c(90): * * `label` **`group by`** `group` **`for`** `value`
**`in`** `array`\n
Login.c(90): * * `select` **`as`** `label` **`group by`** `group`
**`for`** `value` **`in`** `arra
Login.c(90): y` **`track by`** `trackexpr`\n
Login.c(90): * * for object data sources:\n
Login.c(90): * * `label` **`for (`**`key` **`,`** `value`**`) in`**
`object`\n
Login.c(90): * * `select` **`as`** `label` **`for (`**`key` **`,`**
`value`**`) in`** `object`\n
Login.c(90): * * `label` **`group by`** `group` **`for (`**`key`**`,`**
`value`**`) in`** `object`
Login.c(90): \n
Login.c(90): * * `select` **`as`** `label` **`group by`** `group`\n
Login.c(90): * **`for` `(`**`key`**`,`** `value`**`) in`** `object`\n
Login.c(90): *\n
Login.c(90): * Where:\n
Login.c(90): *\n
Login.c(90): * * `array` / `object`: an expression which evaluates to an
array / object to iterate o
Login.c(90): ver.\n
Login.c(90): * * `value`: local variable which will refer to each item in
the `array` or each proper
Login.c(90): ty value\n
Login.c(90): * of `object` during iteration.\n
Login.c(90): * * `key`: local variable which will refer to a property name
in `object` during iterat
Login.c(90): ion.\n
Login.c(90): * * `label`: The result of this expression will be the label
for `<option>` element. Th
Login.c(90): e\n
Login.c(90): * `expression` will most likely refer to the `value` variable
(e.g. `value.propertyNa
Login.c(90): me`).\n
Login.c(90): * * `select`: The result of this expression will be bound to
the model of the parent `<
Login.c(90): select>`\n
Login.c(90): * element. If not specified, `select` expression will
default to `value`.\n
Login.c(90): * * `group`: The result of this expression will be used to
group options using the `<op
Login.c(90): tgroup>`\n
Login.c(90): * DOM element.\n
Login.c(90): * * `trackexpr`: Used when working with an array of objects.
The result of this express
Login.c(90): ion will be\n
Login.c(90): * used to identify the objects in the array. The `trackexpr`
will most likely refer
Login.c(90): to the\n
Login.c(90): * `value` variable (e.g. `value.propertyName`).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): <example module="selectExample">\n
Login.c(90): <file name="index.html">\n
Login.c(90): <script>\n
Login.c(90): angular.module('selectExample', [])\n
Login.c(90): .controller('ExampleController', ['$scope',
function($scope) {\n
Login.c(90): $scope.colors = [\n
Login.c(90): {name:'black', shade:'dark'},\n
Login.c(90): {name:'white', shade:'light'},\n
Login.c(90): {name:'red', shade:'dark'},\n
Login.c(90): {name:'blue', shade:'dark'},\n
Login.c(90): {name:'yellow', shade:'light'}\n
Login.c(90): ];\n
Login.c(90): $scope.myColor = $scope.colors[2]; // red\n
Login.c(90): }]);\n
Login.c(90): </script>\n
Login.c(90): <div ng-controller="ExampleController">\n
Login.c(90): <ul>\n
Login.c(90): <li ng-repeat="color in colors">\n
Login.c(90): Name: <input ng-model="color.name">\n
Login.c(90): [<a href ng-click="colors.splice($index,
1)">X</a>]\n
Login.c(90): </li>\n
Login.c(90): <li>\n
Login.c(90): [<a href ng-click="colors.push({})">add</a>]\n
Login.c(90): </li>\n
Login.c(90): </ul>\n
Login.c(90): <hr/>\n
Login.c(90): Color (null not allowed):\n
Login.c(90): <select ng-model="myColor" ng-options="color.name for
color in colors"></select>
Login.c(90): <br>\n
Login.c(90): \n
Login.c(90): Color (null allowed):\n
Login.c(90): <span class="nullable">\n
Login.c(90): <select ng-model="myColor" ng-options="color.name for
color in colors">\n
Login.c(90): <option value="">-- choose color --</option>\n
Login.c(90): </select>\n
Login.c(90): </span><br/>\n
Login.c(90): \n
Login.c(90): Color grouped by shade:\n
Login.c(90): <select ng-model="myColor" ng-options="color.name group
by color.shade for color
Login.c(90): in colors">\n
Login.c(90): </select><br/>\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): Select <a href ng-click="myColor = { name:'not in list',
shade: 'other' }">bogus
Login.c(90): </a>.<br>\n
Login.c(90): <hr/>\n
Login.c(90): Currently selected: {{ {selected_color:myColor} }}\n
Login.c(90): <div style="border:solid 1px black; height:20px"\n
Login.c(90): ng-style="{'background-color':myColor.name}">\n
Login.c(90): </div>\n
Login.c(90): </div>\n
Login.c(90): </file>\n
Login.c(90): <file name="protractor.js" type="protractor">\n
Login.c(90): it('should check ng-options', function() {\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('red'
Login.c(90): );\n
Login.c(90): element.all(by.model('myColor')).first().click();\n
Login.c(90): element.all(by.css('select[ng-model="myColor"]
option')).first().click();\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('blac
Login.c(90): k');\n
Login.c(90): element(by.css('.nullable select[ng-
model="myColor"]')).click();\n
Login.c(90): element.all(by.css('.nullable select[ng-
model="myColor"] option')).first().clic
Login.c(90): k();\n
Login.c(90):
expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('null
Login.c(90): ');\n
Login.c(90): });\n
Login.c(90): </file>\n
Login.c(90): </example>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): var ngOptionsDirective = valueFn({ terminal: true });\n
Login.c(90): // jshint maxlen: false\n
Login.c(90): var selectDirective = ['$compile', '$parse', function($compile,
$parse) {\n
Login.c(90): //000011111111110000000000022222222220000
000000
Login.c(90): t=3548ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90):
00000000000333333333300000000000000444444444444444000000000555555555555555000000066
6666666
Login.c(90): 666666000000000000000777777777700000000000000000008888888888\n
Login.c(90): var NG_OPTIONS_REGEXP = /^\\s*([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]
+?))?(?:\\s+group\\s+by\\
Login.c(90): s+([\\s\\S]+?))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\
$\\w][\\$\\w]*)\\s*,\\s*([
Login.c(90): \\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+([\\s\\S]+?)
(?:\\s+track\\s+by\\s+([\\s\\S]+?))?$/,\n
Login.c(90): nullModelCtrl = {$setViewValue: noop};\n
Login.c(90): // jshint maxlen: 100\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): require: ['select', '?ngModel'],\n
Login.c(90): controller: ['$element', '$scope', '$attrs',
function($element, $scope, $attrs) {\n
Login.c(90): var self = this,\n
Login.c(90): optionsMap = {},\n
Login.c(90): ngModelCtrl = nullModelCtrl,\n
Login.c(90): nullOption,\n
Login.c(90): unknownOption;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.databound = $attrs.ngModel;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.init = function(ngModelCtrl_, nullOption_,
unknownOption_) {\n
Login.c(90): ngModelCtrl = ngModelCtrl_;\n
Login.c(90): nullOption = nullOption_;\n
Login.c(90): unknownOption = unknownOption_;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.addOption = function(value) {\n
Login.c(90): assertNotHasOwnProperty(value, '"option value"');\n
Login.c(90): optionsMap[value] = true;\n
Login.c(90): \n
Login.c(90): if (ngModelCtrl.$viewValue == value) {\n
Login.c(90): $element.val(value);\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.removeOption = function(value) {\n
Login.c(90): if (this.hasOption(value)) {\n
Login.c(90): delete optionsMap[value];\n
Login.c(90): if (ngModelCtrl.$viewValue == value) {\n
Login.c(90): this.renderUnknownOption(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.renderUnknownOption = function(val) {\n
Login.c(90): var unknownVal = '? ' + hashKey(val) + ' ?';\n
Login.c(90): unknownOption.val(unknownVal);\n
Login.c(90): $element.prepend(unknownOption);\n
Login.c(90): $element.val(unknownVal);\n
Login.c(90): unknownOption.prop('selected', true); // needed for IE\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): self.hasOption = function(value) {\n
Login.c(90): return optionsMap.hasOwnProperty(value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$on('$destroy', function() {\n
Login.c(90): // disable unknown option so that we don't do work when
the whole select is being
Login.c(90): destroyed\n
Login.c(90): self.renderUnknownOption = noop;\n
Login.c(90): });\n
Login.c(90): }],\n
Login.c(90): \n
Login.c(90): link: function(scope, element, attr, ctrls) {\n
Login.c(90): // if ngModel is not defined, we don't need to do anything\n
Login.c(90): if (!ctrls[1]) return;\n
Login.c(90): \n
Login.c(90): var selectCtrl = ctrls[0],\n
Login.c(90): ngModelCtrl = ctrls[1],\n
Login.c(90): multiple = attr.multiple,\n
Login.c(90): optionsExp = attr.ngOptions,\n
Login.c(90): nullOption = false, // if false, user will not be able
to select it (used by ngO
Login.c(90): ptions)\n
Login.c(90): emptyOption,\n
Login.c(90): // we can't just jqLite('<option>') since jqLite is not
smart enough\n
Login.c(90): // to create it in <select> and IE barfs otherwise.\n
Login.c(90): optionTemplate =
jqLite(document.createElement('option')),\n
Login.c(90): optGroupTemplate
=jqLite(document.createElement('optgroup')),\n
Login.c(90): unknownOption = optionTemplate.clone();\n
Login.c(90): \n
Login.c(90): // find "null" option\n
Login.c(90): for(var i = 0, children = element.children(), ii =
children.length; i < ii; i++) {\n
Login.c(90): if (children[i].value === '') {\n
Login.c(90): emptyOption = nullOption = children.eq(i);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): selectCtrl.init(ngModelCtrl, nullOption, unknownOption);\n
Login.c(90): \n
Login.c(90): // required validator\n
Login.c(90): if (multiple) {\n
Login.c(90): ngModelCtrl.$isEmpty = function(value) {\n
Login.c(90): return !value || value.length === 0;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (optionsExp) setupAsOptions(scope, element,
ngModelCtrl);\n
Login.c(90): else if (multiple) setupAsMultiple(scope, element,
ngModelCtrl);\n
Login.c(90): else setupAsSingle(scope, element, ngModelCtrl,
selectCtrl);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): ////////////////////////////\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function setupAsSingle(scope, selectElement, ngModelCtrl,
selectCtrl) {\n
Login.c(90): ngModelCtrl.$render = function() {\n
Login.c(90): var viewValue = ngModelCtrl.$viewValue;\n
Login.c(90): \n
Login.c(90): if (selectCtrl.hasOption(viewValue)) {\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): selectElement.val(viewValue);\n
Login.c(90): if (viewValue === '') emptyOption.prop('selected',
true); // to make IE9 happy
Login.c(90): \n
Login.c(90): } else {\n
Login.c(90): if (isUndefined(viewValue) && emptyOption) {\n
Login.c(90): selectElement.val('');\n
Login.c(90): } else {\n
Login.c(90): selectCtrl.renderUnknownOption(viewValue);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): if (unknownOption.parent()) unknownOption.remove();\n
Login.c(90): ngModelCtrl.$setViewValue(selectElement.val());\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setupAsMultiple(scope, selectElement, ctrl) {\n
Login.c(90): var lastView;\n
Login.c(90): ctrl.$render = function() {\n
Login.c(90): var items = new HashMap(ctrl.$viewValue);\n
Login.c(90): forEach(selectElement.find('option'), function(option)
{\n
Login.c(90): option.selected =
isDefined(items.get(option.value));\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // we have to do it on each watch since ngModel watches
reference, but\n
Login.c(90): // we need to work of an array, so we need to see if
anything was inserted/removed
Login.c(90): \n
Login.c(90): scope.$watch(function selectMultipleWatch() {\n
Login.c(90): if (!equals(lastView, ctrl.$viewValue)) {\n
Login.c(90): lastView = shallowCopy(ctrl.$viewValue);\n
Login.c(90): ctrl.$render();\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): var array = [];\n
Login.c(90): forEach(selectElement.find('option'), function(option)
{\n
Login.c(90): if (option.selected) {\n
Login.c(90): array.push(option.value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): ctrl.$setViewValue(array);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function setupAsOptions(scope, selectElement, ctrl) {\n
Login.c(90): var match;\n
Login.c(90): \n
Login.c(90): if (!(match = optionsExp.match(NG_OPTIONS_REGEXP))) {\n
Login.c(90): throw ngOptionsMinErr('iexp',\n
Login.c(90): "Expected expression in form of " +\n
Login.c(90): "'_select_ (as _label_)? for (_key_,)?_value_ in
_collection_'" +\n
Login.c(90): " but got '{0}'. Element: {1}",\n
Login.c(90): optionsExp, startingTag(selectElement));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var displayFn = $parse(match[2] || match[1]),\n
Login.c(90): valueName = match[4] || match[6],\n
Login.c(90): keyName = match[5],\n
Login.c(90): groupByFn = $parse(match[3] || ''),\n
Login.c(90): valueFn = $parse(match[2] ? match[1] : valueName),\n
Login.c(90): valuesFn = $parse(match[7]),\n
Login.c(90): track = match[8],\n
Login.c(90): trackFn = track ? $parse(match[8]) : null,\n
Login.c(90): // This is an array of array of existing option groups
in DOM.\n
Login.c(90): // We try to reuse these if possible\n
Login.c(90): // - optionGroupsCache[0] is the options with no
option group\n
Login.c(90): // - optionGroupsCache[?][0] is the parent: either the
SELECT or OPTGROUP elem
Login.c(90): ent\n
Login.c(90): optionGroupsCache = [[{element: selectElement,
label:''}]];\n
Login.c(90): \n
Login.c(90): if (nullOption) {\n
Login.c(90): // compile the element since there might be bindings in
it\n
Login.c(90): $compile(nullOption)(scope);\n
Login.c(90): \n
Login.c(90): // remove the class, which is added automatically
because we recompile the eleme
Login.c(90): nt and it\n
Login.c(90): // becomes the compilation root\n
Login.c(90): nullOption.removeClass('ng-scope');\n
Login.c(90): \n
Login.c(90): // we need to remove it before calling
selectElement.empty() because otherwise I
Login.c(90): E will\n
Login.c(90): // remove the label from the element. wtf?\n
Login.c(90): nullOption.remove();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // clear contents, we'll add what's needed based on the
model\n
Login.c(90): selectElement.empty();\n
Login.c(90): \n
Login.c(90): selectElement.on('change', function() {\n
Login.c(90): scope.$apply(function() {\n
Login.c(90): var optionGroup,\n
Login.c(90): collection = valuesFn(scope) || [],\n
Login.c(90): locals = {},\n
Login.c(90): key, value, optionElement, index, groupIndex,
length, groupLength, trackIn
Login.c(90): dex;\n
Login.c(90): \n
Login.c(90): if (multiple) {\n
Login.c(90): value = [];\n
Login.c(90): for (groupIndex = 0, groupLength =
optionGroupsCache.length;\n
Login.c(90): groupIndex < groupLength;\n
Login.c(90): groupIndex++) {\n
Login.c(90): // list of options for that group. (first item has
the parent)\n
Login.c(90): optionGroup = optionGroupsCache[groupIndex];\n
Login.c(90): \n
Login.c(90): for(index = 1, length = optionGroup.length; index
< length; index++) {\n
Login.c(90): if ((optionElement = optionGroup[index].element)
[0].selected) {\n
Login.c(90): key = optionElement.val();\n
Login.c(90): if (keyName) locals[keyName] = key;\n
Login.c(90): if (trackFn) {\n
Login.c(90): for (trackIndex = 0; trackIndex <
collection.length; trackIndex++) {
Login.c(90): \n
Login.c(90): locals[valueName] =
collection[trackIndex];\n
Login.c(90): if (trackFn(scope, locals) == key)
break;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): locals[valueName] = collection[key];\n
Login.c(90): }\n
Login.c(90): value.push(valueFn(scope, locals));\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): key = selectElement.val();\n
Login.c(90): if (key == '?') {\n
Login.c(90): value = undefined;\n
Login.c(90): } else if (key === ''){\n
Login.c(90): value = null;\n
Login.c(90): } else {\n
Login.c(90): if (trackFn) {\n
Login.c(90): for (trackIndex = 0; trackIndex <
collection.length; trackIndex++) {\n
Login.c(90): locals[valueName] = collection[trackIndex];\n
Login.c(90): if (trackFn(scope, locals) == key) {\n
Login.c(90): value = valueFn(scope, locals);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): locals[valueName] = collection[key];\n
Login.c(90): if (keyName) locals[keyName] = key;\n
Login.c(90): value = valueFn(scope, locals);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): ctrl.$setViewValue(value);\n
Login.c(90): render();\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): ctrl.$render = render;\n
Login.c(90): \n
Login.c(90): scope.$watchCollection(valuesFn, render);\n
Login.c(90): scope.$watchCollection(function () {\n
Login.c(90): var locals = {},\n
Login.c(90): values = valuesFn(scope);\n
Login.c(90): if (values) {\n
Login.c(90): var toDisplay = new Array(values.length);\n
Login.c(90): for (var i = 0, ii = values.length; i < ii; i++) {\n
Login.c(90): locals[valueName] = values[i];\n
Login.c(90): toDisplay[i] = displayFn(scope, locals);\n
Login.c(90): }\n
Login.c(90): return toDisplay;\n
Login.c(90): }\n
Login.c(90): }, render);\n
Login.c(90): \n
Login.c(90): if ( multiple ) {\n
Login.c(90): scope.$watchCollection(function() { return ctrl.
$modelValue; }, render);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function getSelectedSet() {\n
Login.c(90): var selectedSet = false;\n
Login.c(90): if (multiple) {\n
Login.c(90): var modelValue = ctrl.$modelValue;\n
Login.c(90): if (trackFn && isArray(modelValue)) {\n
Login.c(90): selectedSet = new HashMap([]);\n
Login.c(90): var locals = {};\n
Login.c(90): for (var trackIndex = 0; trackIndex <
modelValue.length; trackIndex++) {\n
Login.c(90): locals[valueName] = modelValue[trackIndex];\n
Login.c(90): selectedSet.put(trackFn(scope, locals),
modelValue[trackIndex]);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): selectedSet = new HashMap(modelValue);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return selectedSet;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function render() {\n
Login.c(90): // Temporary location for the option groups before
we render them\n
Login.c(90): var optionGroups = {'':[]},\n
Login.c(90): optionGroupNames = [''],\n
Login.c(90): optionGroupName,\n
Login.c(90): optionGroup,\n
Login.c(90): option,\n
Login.c(90): existingParent, existingOptions, existingOption,\n
Login.c(90): modelValue = ctrl.$modelValue,\n
Login.c(90): values = valuesFn(scope) || [],\n
Login.c(90): keys = keyName ? sortedKeys(values) : values,\n
Login.c(90): key,\n
Login.c(90): groupLength, length,\n
Login.c(90): groupIndex, index,\n
Login.c(90): locals = {},\n
Login.c(90): selected,\n
Login.c(90): selectedSet = getSelectedSet(),\n
Login.c(90): lastElement,\n
Login.c(90): element,\n
Login.c(90): label;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // We now build up the list of options we need (we merge
later)\n
Login.c(90): for (index = 0; length = keys.length, index < length;
index++) {\n
Login.c(90): \n
Login.c(90): key = index;\n
Login.c(90): if (keyName) {\n
Login.c(90): key = keys[index];\n
Login.c(90): if ( key.charAt(0) === '$' ) continue;\n
Login.c(90): locals[keyName] = key;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): locals[valueName] = values[key];\n
Login.c(90): \n
Login.c(90): optionGroupName = groupByFn(scope, locals) || '';\n
Login.c(90): if (!(optionGroup = optionGroups[optionGroupName]))
{\n
Login.c(90): optionGroup = optionGroups[optionGroupName] = [];\n
Login.c(90): optionGroupNames.push(optionGroupName);\n
Login.c(90):
Login.c(90): t=3576ms: 8433-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" (RelFrameId=, Internal
ID=16)
Login.c(90): }\n
Login.c(90): if (multiple) {\n
Login.c(90): selected = isDefined(\n
Login.c(90): selectedSet.remove(trackFn ? trackFn(scope,
locals) : valueFn(scope, local
Login.c(90): s))\n
Login.c(90): );\n
Login.c(90): } else {\n
Login.c(90): if (trackFn) {\n
Login.c(90): var modelCast = {};\n
Login.c(90): modelCast[valueName] = modelValue;\n
Login.c(90): selected = trackFn(scope, modelCast) ===
trackFn(scope, locals);\n
Login.c(90): } else {\n
Login.c(90): selected = modelValue === valueFn(scope,
locals);\n
Login.c(90): }\n
Login.c(90): selectedSet = selectedSet || selected; // see if at
least one item is select
Login.c(90): ed\n
Login.c(90): }\n
Login.c(90): label = displayFn(scope, locals); // what will be seen
by the user\n
Login.c(90): \n
Login.c(90): // doing displayFn(scope, locals) || '' overwrites
zero values\n
Login.c(90): label = isDefined(label) ? label : '';\n
Login.c(90): optionGroup.push({\n
Login.c(90): // either the index into array or key from object\n
Login.c(90): id: trackFn ? trackFn(scope, locals) : (keyName ?
keys[index] : index),\n
Login.c(90): label: label,\n
Login.c(90): selected: selected // determine if
we should be selected\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): if (!multiple) {\n
Login.c(90): if (nullOption || modelValue === null) {\n
Login.c(90): // insert null option if we have a placeholder, or
the model is null\n
Login.c(90): optionGroups[''].unshift({id:'', label:'',
selected:!selectedSet});\n
Login.c(90): } else if (!selectedSet) {\n
Login.c(90): // option could not be found, we have to insert the
undefined item\n
Login.c(90): optionGroups[''].unshift({id:'?', label:'',
selected:true});\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Now we need to update the list of DOM nodes to match
the optionGroups we comp
Login.c(90): uted above\n
Login.c(90): for (groupIndex = 0, groupLength =
optionGroupNames.length;\n
Login.c(90): groupIndex < groupLength;\n
Login.c(90): groupIndex++) {\n
Login.c(90): // current option group name or '' if no group\n
Login.c(90): optionGroupName = optionGroupNames[groupIndex];\n
Login.c(90): \n
Login.c(90): // list of options for that group. (first item has the
parent)\n
Login.c(90): optionGroup = optionGroups[optionGroupName];\n
Login.c(90): \n
Login.c(90): if (optionGroupsCache.length <= groupIndex) {\n
Login.c(90): // we need to grow the optionGroups\n
Login.c(90): existingParent = {\n
Login.c(90): element: optGroupTemplate.clone().attr('label',
optionGroupName),\n
Login.c(90): label: optionGroup.label\n
Login.c(90): };\n
Login.c(90): existingOptions = [existingParent];\n
Login.c(90): optionGroupsCache.push(existingOptions);\n
Login.c(90): selectElement.append(existingParent.element);\n
Login.c(90): } else {\n
Login.c(90): existingOptions = optionGroupsCache[groupIndex];\n
Login.c(90): existingParent = existingOptions[0]; // either
SELECT (no group) or OPTGROU
Login.c(90): P element\n
Login.c(90): \n
Login.c(90): // update the OPTGROUP label if not the same.\n
Login.c(90): if (existingParent.label != optionGroupName) {\n
Login.c(90): existingParent.element.attr('label',
existingParent.label = optionGroupNam
Login.c(90): e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): lastElement = null; // start at the beginning\n
Login.c(90): for(index = 0, length = optionGroup.length; index <
length; index++) {\n
Login.c(90): option = optionGroup[index];\n
Login.c(90): if ((existingOption = existingOptions[index+1])) {\n
Login.c(90): // reuse elements\n
Login.c(90): lastElement = existingOption.element;\n
Login.c(90): if (existingOption.label !== option.label) {\n
Login.c(90): lastElement.text(existingOption.label =
option.label);\n
Login.c(90): }\n
Login.c(90): if (existingOption.id !== option.id) {\n
Login.c(90): lastElement.val(existingOption.id =
option.id);\n
Login.c(90): }\n
Login.c(90): // lastElement.prop('selected') provided by jQuery
has side-effects\n
Login.c(90): if (lastElement[0].selected !== option.selected)
{\n
Login.c(90): lastElement.prop('selected',
(existingOption.selected = option.selected)
Login.c(90): );\n
Login.c(90): if (msie) {\n
Login.c(90): // See #7692\n
Login.c(90): // The selected item wouldn't visually update
on IE without this.\n
Login.c(90): // Tested on Win7: IE9, IE10 and IE11. Future
IEs should be tested as
Login.c(90): well\n
Login.c(90): lastElement.prop('selected',
existingOption.selected);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // grow elements\n
Login.c(90): \n
Login.c(90): // if it's a null option\n
Login.c(90): if (option.id === '' && nullOption) {\n
Login.c(90): // put back the pre-compiled element\n
Login.c(90): element = nullOption;\n
Login.c(90): } else {\n
Login.c(90): // jQuery(v1.4.2) Bug: We should be able to
chain the method calls, but\n
Login.c(90): // in this version of jQuery on some browser the
.text() returns a strin
Login.c(90): g\n
Login.c(90): // rather then the element.\n
Login.c(90): (element = optionTemplate.clone())\n
Login.c(90): .val(option.id)\n
Login.c(90): .prop('selected', option.selected)\n
Login.c(90): .attr('selected', option.selected)\n
Login.c(90): .text(option.label);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): existingOptions.push(existingOption = {\n
Login.c(90): element: element,\n
Login.c(90): label: option.label,\n
Login.c(90): id: option.id,\n
Login.c(90): selected: option.selected\n
Login.c(90): });\n
Login.c(90): if (lastElement) {\n
Login.c(90): lastElement.after(element);\n
Login.c(90): } else {\n
Login.c(90): existingParent.element.append(element);\n
Login.c(90): }\n
Login.c(90): lastElement = element;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // remove any excessive OPTIONs in a group\n
Login.c(90): index++; // increment since the existingOptions[0] is
parent element not OPTIO
Login.c(90): N\n
Login.c(90): while(existingOptions.length > index) {\n
Login.c(90): existingOptions.pop().element.remove();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // remove any excessive OPTGROUPs from select\n
Login.c(90): while(optionGroupsCache.length > groupIndex) {\n
Login.c(90): optionGroupsCache.pop()[0].element.remove();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var optionDirective = ['$interpolate', function($interpolate) {\n
Login.c(90): var nullSelectCtrl = {\n
Login.c(90): addOption: noop,\n
Login.c(90): removeOption: noop\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'E',\n
Login.c(90): priority: 100,\n
Login.c(90): compile: function(element, attr) {\n
Login.c(90): if (isUndefined(attr.value)) {\n
Login.c(90): var interpolateFn = $interpolate(element.text(), true);\n
Login.c(90): if (!interpolateFn) {\n
Login.c(90): attr.$set('value', element.text());\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function (scope, element, attr) {\n
Login.c(90): var selectCtrlName = '$selectController',\n
Login.c(90): parent = element.parent(),\n
Login.c(90): selectCtrl = parent.data(selectCtrlName) ||\n
Login.c(90): parent.parent().data(selectCtrlName); // in case we
are in optgroup\n
Login.c(90): \n
Login.c(90): if (selectCtrl && selectCtrl.databound) {\n
Login.c(90): // For some reason Opera defaults to true and if not
overridden this messes up t
Login.c(90): he repeater.\n
Login.c(90): // We don't want the view to drive the initialization of
the model anyway.\n
Login.c(90): element.prop('selected', false);\n
Login.c(90): } else {\n
Login.c(90): selectCtrl = nullSelectCtrl;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (interpolateFn) {\n
Login.c(90): scope.$watch(interpolateFn, function
interpolateWatchAction(newVal, oldVal) {\n
Login.c(90): attr.$set('value', newVal);\n
Login.c(90): if (newVal !== oldVal)
selectCtrl.removeOption(oldVal);\n
Login.c(90): selectCtrl.addOption(newVal);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): selectCtrl.addOption(attr.value);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): element.on('$destroy', function() {\n
Login.c(90): selectCtrl.removeOption(attr.value);\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): var styleDirective = valueFn({\n
Login.c(90): restrict: 'E',\n
Login.c(90): terminal: true\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (window.angular.bootstrap) {\n
Login.c(90): //AngularJS is already loaded, so we can return here...\n
Login.c(90): console.log('WARNING: Tried to load angular more than
once.');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //try to bind to jquery now so that one can write
angular.element().read()\n
Login.c(90): //but we will rebind on bootstrap again.\n
Login.c(90): bindJQuery();\n
Login.c(90): \n
Login.c(90): publishExternalAPI(angular);\n
Login.c(90): \n
Login.c(90): jqLite(document).ready(function() {\n
Login.c(90): angularInit(document, bootstrap);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): })(window, document);\n
Login.c(90): \n
Login.c(90): !window.angular.$$csp() &&
window.angular.element(document).find('head').prepend('<style t
Login.c(90): ype="text/css">@charset "UTF-8";[ng\\\\:cloak],[ng-cloak],[data-
ng-cloak],[x-ng-cloak],.ng
Login.c(90): -cloak,.x-ng-cloak,.ng-hide{display:none !
important;}ng\\\\:form{display:block;}.ng-animat
Login.c(90): e-block-transitions{transition:0s all!important;-webkit-
transition:0s all!important;}.ng-h
Login.c(90): ide-add-active,.ng-hide-remove{display:block!
important;}</style>');
Login.c(90): t=3587ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"131976-1416253777000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:37 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 131976\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:44 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3604ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): /**\n
Login.c(90): * State-based routing for AngularJS\n
Login.c(90): * @version v0.2.11\n
Login.c(90): * @link http://angular-ui.github.com/\n
Login.c(90): * @license MIT License, http://www.opensource.org/licenses/MIT\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /* commonjs package manager support (eg componentjs) */\n
Login.c(90): if (typeof module !== "undefined" && typeof exports !==
"undefined" && module.exports ===
Login.c(90): exports){\n
Login.c(90): module.exports = 'ui.router';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): /*jshint globalstrict:true*/\n
Login.c(90): /*global angular:false*/\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): var isDefined = angular.isDefined,\n
Login.c(90): isFunction = angular.isFunction,\n
Login.c(90): isString = angular.isString,\n
Login.c(90): isObject = angular.isObject,\n
Login.c(90): isArray = angular.isArray,\n
Login.c(90): forEach = angular.forEach,\n
Login.c(90): extend = angular.extend,\n
Login.c(90): copy = angular.copy;\n
Login.c(90): \n
Login.c(90): function inherit(parent, extra) {\n
Login.c(90): return extend(new (extend(function() {}, { prototype: parent }))
(), extra);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function merge(dst) {\n
Login.c(90): forEach(arguments, function(obj) {\n
Login.c(90): if (obj !== dst) {\n
Login.c(90): forEach(obj, function(value, key) {\n
Login.c(90): if (!dst.hasOwnProperty(key)) dst[key] = value;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return dst;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Finds the common ancestor path between two states.\n
Login.c(90): *\n
Login.c(90): * @param {Object} first The first state.\n
Login.c(90): * @param {Object} second The second state.\n
Login.c(90): * @return {Array} Returns an array of state names in descending
order, not including the
Login.c(90): root.\n
Login.c(90): */\n
Login.c(90): function ancestors(first, second) {\n
Login.c(90): var path = [];\n
Login.c(90): \n
Login.c(90): for (var n in first.path) {\n
Login.c(90): if (first.path[n] !== second.path[n]) break;\n
Login.c(90): path.push(first.path[n]);\n
Login.c(90): }\n
Login.c(90): return path;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * IE8-safe wrapper for `Object.keys()`.\n
Login.c(90): *\n
Login.c(90): * @param {Object} object A JavaScript object.\n
Login.c(90): * @return {Array} Returns the keys of the object as an array.\n
Login.c(90): */\n
Login.c(90): function objectKeys(object) {\n
Login.c(90): if (Object.keys) {\n
Login.c(90): return Object.keys(object);\n
Login.c(90): }\n
Login.c(90): var result = [];\n
Login.c(90): \n
Login.c(90): angular.forEach(object, function(val, key) {\n
Login.c(90): result.push(key);\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * IE8-safe wrapper for `Array.prototype.indexOf()`.\n
Login.c(90): *\n
Login.c(90): * @param {Array} array A JavaScript array.\n
Login.c(90): * @param {*} value A value to search the array for.\n
Login.c(90): * @return {Number} Returns the array index value of `value`, or
`-1` if not present.\n
Login.c(90): */\n
Login.c(90): function arraySearch(array, value) {\n
Login.c(90): if (Array.prototype.indexOf) {\n
Login.c(90): return array.indexOf(value, Number(arguments[2]) || 0);\n
Login.c(90): }\n
Login.c(90): var len = array.length >>> 0, from = Number(arguments[2]) ||
0;\n
Login.c(90): from = (from < 0) ? Math.ceil(from) : Math.floor(from);\n
Login.c(90): \n
Login.c(90): if (from < 0) from += len;\n
Login.c(90): \n
Login.c(90): for (; from < len; from++) {\n
Login.c(90): if (from in array && array[from] === value) return from;\n
Login.c(90): }\n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Merges a set of parameters with all parameters inherited
between the common parents of
Login.c(90): the\n
Login.c(90): * current state and a given destination state.\n
Login.c(90): *\n
Login.c(90): * @param {Object} currentParams The value of the current state
parameters ($stateParams).
Login.c(90): \n
Login.c(90): * @param {Object} newParams The set of parameters which will be
composited with inherited
Login.c(90): params.\n
Login.c(90): * @param {Object} $current Internal definition of object
representing the current state.\n
Login.c(90): * @param {Object} $to Internal definition of object representing
state to transition to.\n
Login.c(90): */\n
Login.c(90): function inheritParams(currentParams, newParams, $current, $to)
{\n
Login.c(90): var parents = ancestors($current, $to), parentParams, inherited
= {}, inheritList = [];\n
Login.c(90): \n
Login.c(90): for (var i in parents) {\n
Login.c(90): if (!parents[i].params) continue;\n
Login.c(90): parentParams = objectKeys(parents[i].params);\n
Login.c(90): if (!parentParams.length) continue;\n
Login.c(90): \n
Login.c(90): for (var j in parentParams) {\n
Login.c(90): if (arraySearch(inheritList, parentParams[j]) >= 0)
continue;\n
Login.c(90): inheritList.push(parentParams[j]);\n
Login.c(90): inherited[parentParams[j]] =
currentParams[parentParams[j]];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return extend({}, inherited, newParams);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Performs a non-strict comparison of the subset of two objects,
defined by a list of key
Login.c(90): s.\n
Login.c(90): *\n
Login.c(90): * @param {Object} a The first object.\n
Login.c(90): * @param {Object} b The second object.\n
Login.c(90): * @param {Array} keys The list of keys within each object to
compare. If the list is empt
Login.c(90): y or not specified,\n
Login.c(90): * it defaults to the list of keys in `a`.\n
Login.c(90): * @return {Boolean} Returns `true` if the keys match, otherwise
`false`.\n
Login.c(90): */\n
Login.c(90): function equalForKeys(a, b, keys) {\n
Login.c(90): if (!keys) {\n
Login.c(90): keys = [];\n
Login.c(90): for (var n in a) keys.push(n); // Used instead of
Object.keys() for IE8 compatibility\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var i=0; i<keys.length; i++) {\n
Login.c(90): var k = keys[i];\n
Login.c(90): if (a[k] != b[k]) return false; // Not '===', values aren't
necessarily normalized\n
Login.c(90): }\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns the subset of an object, based on a list of keys.\n
Login.c(90): *\n
Login.c(90): * @param {Array} keys\n
Login.c(90): * @param {Object} values\n
Login.c(90): * @return {Boolean} Returns a subset of `values`.\n
Login.c(90): */\n
Login.c(90): function filterByKeys(keys, values) {\n
Login.c(90): var filtered = {};\n
Login.c(90): \n
Login.c(90): forEach(keys, function (name) {\n
Login.c(90): filtered[name] = values[name];\n
Login.c(90): });\n
Login.c(90): return filtered;\n
Login.c(90): }\n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.util sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of other sub-modules. Do not
include this module as a depen
Login.c(90): dency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.util', ['ng']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.router\n
Login.c(90): * \n
Login.c(90): * @requires ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.router sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of other sub-modules. Do not
include this module as a depen
Login.c(90): dency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.router', ['ui.router.util']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router.state\n
Login.c(90): * \n
Login.c(90): * @requires ui.router.router\n
Login.c(90): * @requires ui.router.util\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router.state sub-module\n
Login.c(90): *\n
Login.c(90): * This module is a dependency of the main ui.router module. Do
not include this module as
Login.c(90): a dependency\n
Login.c(90): * in your angular app (use {@link ui.router} module instead).\n
Login.c(90): * \n
Login.c(90): */\n
Login.c(90): angular.module('ui.router.state', ['ui.router.router',
'ui.router.util']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc overview\n
Login.c(90): * @name ui.router\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * # ui.router\n
Login.c(90): * \n
Login.c(90): * ## The main module for ui.router \n
Login.c(90): * There are several sub-modules included with the ui.router
module, however only this mod
Login.c(90): ule is needed\n
Login.c(90): * as a dependency within your angular app. The other modules are
for organization purpose
Login.c(90): s. \n
Login.c(90): *\n
Login.c(90): * The modules are:\n
Login.c(90): * * ui.router - the main "umbrella" module\n
Login.c(90): * * ui.router.router - \n
Login.c(90): * \n
Login.c(90): * *You'll need to include **only** this module as the dependency
within your angular app.
Login.c(90): *\n
Login.c(90): * \n
Login.c(90): * <pre>\n
Login.c(90): * <!doctype html>\n
Login.c(90): * <html ng-app="myApp">\n
Login.c(90): * <head>\n
Login.c(90): * <script src="js/angular.js"></script>\n
Login.c(90): * <!-- Include the ui-router script -->\n
Login.c(90): * <script src="js/angular-ui-router.min.js"></script>\n
Login.c(90): * <script>\n
Login.c(90): * // ...and add 'ui.router' as a dependency\n
Login.c(90): * var myApp = angular.module('myApp', ['ui.router']);\n
Login.c(90): * </script>\n
Login.c(90): * </head>\n
Login.c(90): * <body>\n
Login.c(90): * </body>\n
Login.c(90): * </html>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): angular.module('ui.router', ['ui.router.state']);\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.compat', ['ui.router']);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @requires $q\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Manages resolution of (acyclic) graphs of promises.\n
Login.c(90): */\n
Login.c(90): $Resolve.$inject = ['$q', '$injector'];\n
Login.c(90): function $Resolve( $q, $injector) {\n
Login.c(90): \n
Login.c(90): var VISIT_IN_PROGRESS = 1,\n
Login.c(90): VISIT_DONE = 2,\n
Login.c(90): NOTHING = {},\n
Login.c(90): NO_DEPENDENCIES = [],\n
Login.c(90): NO_LOCALS = NOTHING,\n
Login.c(90): NO_PARENT = extend($q.when(NOTHING), { $$promises: NOTHING,
$$values: NOTHING });\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$resolve#study\n
Login.c(90): * @methodOf ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Studies a set of invocables that are likely to be used
multiple times.\n
Login.c(90): * <pre>\n
Login.c(90): * $resolve.study(invocables)(locals, parent, self)\n
Login.c(90): * </pre>\n
Login.c(90): * is equivalent to\n
Login.c(90): * <pre>\n
Login.c(90): * $resolve.resolve(invocables, locals, parent, self)\n
Login.c(90): * </pre>\n
Login.c(90): * but the former is more efficient (in fact `resolve` just
calls `study` \n
Login.c(90): * internally).\n
Login.c(90): *\n
Login.c(90): * @param {object} invocables Invocable objects\n
Login.c(90): * @return {function} a function to pass in locals, parent and
self\n
Login.c(90): */\n
Login.c(90): this.study = function (invocables) {\n
Login.c(90): if (!isObject(invocables)) throw new Error("'invocables' must
be an object");\n
Login.c(90): \n
Login.c(90): // Perform a topological sort of invocables to build an
ordered plan\n
Login.c(90): var plan = [], cycle = [], visited = {};\n
Login.c(90): function visit(value, key) {\n
Login.c(90): if (visited[key] === VISIT_DONE) return;\n
Login.c(90): \n
Login.c(90): cycle.push(key);\n
Login.c(90): if (visited[key] === VISIT_IN_PROGRESS) {\n
Login.c(90): cycle.splice(0, cycle.indexOf(key));\n
Login.c(90): throw new Error("Cyclic dependency: " + cycle.join(" ->
"));\n
Login.c(90): }\n
Login.c(90): visited[key] = VISIT_IN_PROGRESS;\n
Login.c(90): \n
Login.c(90): if (isString(value)) {\n
Login.c(90): plan.push(key, [ function() { return $injector.get(value);
}], NO_DEPENDENCIES);\n
Login.c(90): } else {\n
Login.c(90): var params = $injector.annotate(value);\n
Login.c(90): forEach(params, funct
Login.c(90): t=3617ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ion (param) {\n
Login.c(90): if (param !== key && invocables.hasOwnProperty(param))
visit(invocables[param],
Login.c(90): param);\n
Login.c(90): });\n
Login.c(90): plan.push(key, value, params);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): cycle.pop();\n
Login.c(90): visited[key] = VISIT_DONE;\n
Login.c(90): }\n
Login.c(90): forEach(invocables, visit);\n
Login.c(90): invocables = cycle = visited = null; // plan is all that's
required\n
Login.c(90): \n
Login.c(90): function isResolve(value) {\n
Login.c(90): return isObject(value) && value.then && value.$$promises;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function (locals, parent, self) {\n
Login.c(90): if (isResolve(locals) && self === undefined) {\n
Login.c(90): self = parent; parent = locals; locals = null;\n
Login.c(90): }\n
Login.c(90): if (!locals) locals = NO_LOCALS;\n
Login.c(90): else if (!isObject(locals)) {\n
Login.c(90): throw new Error("'locals' must be an object");\n
Login.c(90): } \n
Login.c(90): if (!parent) parent = NO_PARENT;\n
Login.c(90): else if (!isResolve(parent)) {\n
Login.c(90): throw new Error("'parent' must be a promise returned by
$resolve.resolve()");\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // To complete the overall resolution, we have to wait for
the parent\n
Login.c(90): // promise and for the promise for each invokable in our
plan.\n
Login.c(90): var resolution = $q.defer(),\n
Login.c(90): result = resolution.promise,\n
Login.c(90): promises = result.$$promises = {},\n
Login.c(90): values = extend({}, locals),\n
Login.c(90): wait = 1 + plan.length/3,\n
Login.c(90): merged = false;\n
Login.c(90): \n
Login.c(90): function done() {\n
Login.c(90): // Merge parent values we haven't got yet and publish our
own $$values\n
Login.c(90): if (!--wait) {\n
Login.c(90): if (!merged) merge(values, parent.$$values); \n
Login.c(90): result.$$values = values;\n
Login.c(90): result.$$promises = true; // keep for isResolve()\n
Login.c(90): delete result.$$inheritedValues;\n
Login.c(90): resolution.resolve(values);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function fail(reason) {\n
Login.c(90): result.$$failure = reason;\n
Login.c(90): resolution.reject(reason);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Short-circuit if parent has already failed\n
Login.c(90): if (isDefined(parent.$$failure)) {\n
Login.c(90): fail(parent.$$failure);\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (parent.$$inheritedValues) {\n
Login.c(90): merge(values, parent.$$inheritedValues);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Merge parent values if the parent has already resolved,
or merge\n
Login.c(90): // parent promises and wait if the parent resolve is still
in progress.\n
Login.c(90): if (parent.$$values) {\n
Login.c(90): merged = merge(values, parent.$$values);\n
Login.c(90): result.$$inheritedValues = parent.$$values;\n
Login.c(90): done();\n
Login.c(90): } else {\n
Login.c(90): if (parent.$$inheritedValues) {\n
Login.c(90): result.$$inheritedValues = parent.$$inheritedValues;\n
Login.c(90): } \n
Login.c(90): extend(promises, parent.$$promises);\n
Login.c(90): parent.then(done, fail);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Process each invocable in the plan, but ignore any where
a local of the same name
Login.c(90): exists.\n
Login.c(90): for (var i=0, ii=plan.length; i<ii; i+=3) {\n
Login.c(90): if (locals.hasOwnProperty(plan[i])) done();\n
Login.c(90): else invoke(plan[i], plan[i+1], plan[i+2]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function invoke(key, invocable, params) {\n
Login.c(90): // Create a deferred for this invocation. Failures will
propagate to the resolutio
Login.c(90): n as well.\n
Login.c(90): var invocation = $q.defer(), waitParams = 0;\n
Login.c(90): function onfailure(reason) {\n
Login.c(90): invocation.reject(reason);\n
Login.c(90): fail(reason);\n
Login.c(90): }\n
Login.c(90): // Wait for any parameter that we have a promise for
(either from parent or from t
Login.c(90): his\n
Login.c(90): // resolve; in that case study() will have made sure it's
ordered before us in the
Login.c(90): plan).\n
Login.c(90): forEach(params, function (dep) {\n
Login.c(90): if (promises.hasOwnProperty(dep) && !
locals.hasOwnProperty(dep)) {\n
Login.c(90): waitParams++;\n
Login.c(90): promises[dep].then(function (result) {\n
Login.c(90): values[dep] = result;\n
Login.c(90): if (!(--waitParams)) proceed();\n
Login.c(90): }, onfailure);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (!waitParams) proceed();\n
Login.c(90): function proceed() {\n
Login.c(90): if (isDefined(result.$$failure)) return;\n
Login.c(90): try {\n
Login.c(90): invocation.resolve($injector.invoke(invocable, self,
values));\n
Login.c(90): invocation.promise.then(function (result) {\n
Login.c(90): values[key] = result;\n
Login.c(90): done();\n
Login.c(90): }, onfailure);\n
Login.c(90): } catch (e) {\n
Login.c(90): onfailure(e);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // Publish promise synchronously; invocations further down
in the plan may depend
Login.c(90): on it.\n
Login.c(90): promises[key] = invocation.promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$resolve#resolve\n
Login.c(90): * @methodOf ui.router.util.$resolve\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Resolves a set of invocables. An invocable is a function to
be invoked via \n
Login.c(90): * `$injector.invoke()`, and can have an arbitrary number of
dependencies. \n
Login.c(90): * An invocable can either return a value directly,\n
Login.c(90): * or a `$q` promise. If a promise is returned it will be
resolved and the \n
Login.c(90): * resulting value will be used instead. Dependencies of
invocables are resolved \n
Login.c(90): * (in this order of precedence)\n
Login.c(90): *\n
Login.c(90): * - from the specified `locals`\n
Login.c(90): * - from another invocable that is part of this `$resolve`
call\n
Login.c(90): * - from an invocable that is inherited from a `parent` call to
`$resolve` \n
Login.c(90): * (or recursively\n
Login.c(90): * - from any ancestor `$resolve` of that parent).\n
Login.c(90): *\n
Login.c(90): * The return value of `$resolve` is a promise for an object
that contains \n
Login.c(90): * (in this order of precedence)\n
Login.c(90): *\n
Login.c(90): * - any `locals` (if specified)\n
Login.c(90): * - the resolved return values of all injectables\n
Login.c(90): * - any values inherited from a `parent` call to `$resolve` (if
specified)\n
Login.c(90): *\n
Login.c(90): * The promise will resolve after the `parent` promise (if any)
and all promises \n
Login.c(90): * returned by injectables have been resolved. If any
invocable \n
Login.c(90): * (or `$injector.invoke`) throws an exception, or if a promise
returned by an \n
Login.c(90): * invocable is rejected, the `$resolve` promise is immediately
rejected with the \n
Login.c(90): * same error. A rejection of a `parent` promise (if specified)
will likewise be \n
Login.c(90): * propagated immediately. Once the `$resolve` promise has been
rejected, no \n
Login.c(90): * further invocables will be called.\n
Login.c(90): * \n
Login.c(90): * Cyclic dependencies between invocables are not permitted and
will caues `$resolve`\n
Login.c(90): * to throw an error. As a special case, an injectable can
depend on a parameter \n
Login.c(90): * with the same name as the injectable, which will be fulfilled
from the `parent` \n
Login.c(90): * injectable of the same name. This allows inherited values to
be decorated. \n
Login.c(90): * Note that in this case any other injectable in the same
`$resolve` with the same\n
Login.c(90): * dependency would see the decorated value, not the inherited
value.\n
Login.c(90): *\n
Login.c(90): * Note that missing dependencies -- unlike cyclic dependencies
-- will cause an \n
Login.c(90): * (asynchronous) rejection of the `$resolve` promise rather
than a (synchronous) \n
Login.c(90): * exception.\n
Login.c(90): *\n
Login.c(90): * Invocables are invoked eagerly as soon as all dependencies
are available. \n
Login.c(90): * This is true even for dependencies inherited from a `parent`
call to `$resolve`.\n
Login.c(90): *\n
Login.c(90): * As a special case, an invocable can be a string, in which
case it is taken to \n
Login.c(90): * be a service name to be passed to `$injector.get()`. This is
supported primarily \n
Login.c(90): * for backwards-compatibility with the `resolve` property of
`$routeProvider` \n
Login.c(90): * routes.\n
Login.c(90): *\n
Login.c(90): * @param {object} invocables functions to invoke or \n
Login.c(90): * `$injector` services to fetch.\n
Login.c(90): * @param {object} locals values to make available to the
injectables\n
Login.c(90): * @param {object} parent a promise returned by another call to
`$resolve`.\n
Login.c(90): * @param {object} self the `this` for the invoked methods\n
Login.c(90): * @return {object} Promise for an object that contains the
resolved return value\n
Login.c(90): * of all invocables, as well as any inherited and local
values.\n
Login.c(90): */\n
Login.c(90): this.resolve = function (invocables, locals, parent, self) {\n
Login.c(90): return this.study(invocables)(locals, parent, self);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.util').service('$resolve', $Resolve);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @requires $http\n
Login.c(90): * @requires $templateCache\n
Login.c(90): * @requires $injector\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Service. Manages loading of templates.\n
Login.c(90): */\n
Login.c(90): $TemplateFactory.$inject = ['$http', '$templateCache',
'$injector'];\n
Login.c(90): function $TemplateFactory( $http, $templateCache, $injector)
{\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromConfig\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template from a configuration object. \n
Login.c(90): *\n
Login.c(90): * @param {object} config Configuration object for which to load
a template. \n
Login.c(90): * The following properties are search in the specified order,
and the first one \n
Login.c(90): * that is defined is used to create the template:\n
Login.c(90): *\n
Login.c(90): * @param {string|object} config.template html string template
or function to \n
Login.c(90): * load via {@link ui.router.util.$templateFactory#fromString
fromString}.\n
Login.c(90): * @param {string|object} config.templateUrl url to load or a
function returning \n
Login.c(90): * the url to load via {@link ui.router.util.
$templateFactory#fromUrl fromUrl}.\n
Login.c(90): * @param {Function} config.templateProvider function to invoke
via \n
Login.c(90): * {@link ui.router.util.$templateFactory#fromProvider
fromProvider}.\n
Login.c(90): * @param {object} params Parameters to pass to the template
function.\n
Login.c(90): * @param {object} locals Locals to pass to `invoke` if the
template is loaded \n
Login.c(90): * via a `templateProvider`. Defaults to `{ params: params }`.\n
Login.c(90): *\n
Login.c(90): * @return {string|object} The template html as a string, or a
promise for \n
Login.c(90): * that string,or `null` if no template is configured.\n
Login.c(90): */\n
Login.c(90): this.fromConfig = function (config, params, locals) {\n
Login.c(90): return (\n
Login.c(90): isDefined(config.template) ?
this.fromString(config.template, params) :\n
Login.c(90): isDefined(config.templateUrl) ?
this.fromUrl(config.templateUrl, params) :\n
Login.c(90): isDefined(config.templateProvider) ?
this.fromProvider(config.templateProvider, para
Login.c(90): ms, locals) :\n
Login.c(90): null\n
Login.c(90): );\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromString\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template from a string or a function returning a
string.\n
Login.c(90): *\n
Login.c(90): * @param {string|object} template html template as a string or
function that \n
Login.c(90): * returns an html template as a string.\n
Login.c(90): * @param {object} params Parameters to pass to the template
function.\n
Login.c(90): *\n
Login.c(90): * @return {string|object} The template html as a string, or a
promise for that \n
Login.c(90): * string.\n
Login.c(90): */\n
Login.c(90): this.fromString = function (template, params) {\n
Login.c(90): return isFunction(template) ? template(params) : template;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromUrl\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): * \n
Login.c(90): * @description\n
Login.c(90): * Loads a template from the a URL via `$http` and
`$templateCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string|Function} url url of the template to load, or
a function \n
Login.c(90): * that returns a url.\n
Login.c(90): * @param {Object} params Parameters to pass to the url
function.\n
Login.c(90): * @return {string|Promise.<string>} The template html as a
string, or a promise \n
Login.c(90): * for that string.\n
Login.c(90): */\n
Login.c(90): this.fromUrl = function (url, params) {\n
Login.c(90): if (isFunction(url)) url = url(params);\n
Login.c(90): if (url == null) return null;\n
Login.c(90): else return $http\n
Login.c(90): .get(url, { cache: $templateCache })\n
Login.c(90): .then(function(response) { return response.data; });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$templateFactory#fromProvider\n
Login.c(90): * @methodOf ui.router.util.$templateFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a template by invoking an injectable provider
function.\n
Login.c(90): *\n
Login.c(90): * @param {Function} provider Function to invoke via
`$injector.invoke`\n
Login.c(90): * @param {Object} params Parameters for the template.\n
Login.c(90): * @param {Object} locals Locals to pass to `invoke`. Defaults
to \n
Login.c(90): * `{ params: params }`.\n
Login.c(90): * @return {string|Promise.<string>} The template html as a
string, or a promise \n
Login.c(90): * for that string.\n
Login.c(90): */\n
Login.c(90): this.fromProvider = function (provider, params, locals) {\n
Login.c(90): return $injector.invoke(provider, null, locals || { params:
params });\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.util').service('$templateFactory',
$TemplateFactory);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Matches URLs against patterns and extracts named parameters
from the path or the search
Login.c(90): \n
Login.c(90): * part of the URL. A URL pattern consists of a path pattern,
optionally followed by '?' a
Login.c(90): nd a list\n
Login.c(90): * of search parameters. Multiple search parameter names are
separated by '&'. Search para
Login.c(90): meters\n
Login.c(90): * do not influence whether or n
Login.c(90): t=3645ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ot a URL is matched, but their values are passed through into\n
Login.c(90): * the matched parameters returned by {@link
ui.router.util.type:UrlMatcher#methods_exec e
Login.c(90): xec}.\n
Login.c(90): * \n
Login.c(90): * Path parameter placeholders can be specified using simple
colon/catch-all syntax or cur
Login.c(90): ly brace\n
Login.c(90): * syntax, which optionally allows a regular expression for the
parameter to be specified:
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * * `':'` name - colon placeholder\n
Login.c(90): * * `'*'` name - catch-all placeholder\n
Login.c(90): * * `'{' name '}'` - curly placeholder\n
Login.c(90): * * `'{' name ':' regexp '}'` - curly placeholder with regexp.
Should the regexp itself c
Login.c(90): ontain\n
Login.c(90): * curly braces, they must be in matched pairs or escaped with a
backslash.\n
Login.c(90): *\n
Login.c(90): * Parameter names may contain only word characters (latin
letters, digits, and underscore
Login.c(90): ) and\n
Login.c(90): * must be unique within the pattern (across both path and search
parameters). For colon \n
Login.c(90): * placeholders or curly placeholders without an explicit regexp,
a path parameter matches
Login.c(90): any\n
Login.c(90): * number of characters other than '/'. For catch-all placeholders
the path parameter matc
Login.c(90): hes\n
Login.c(90): * any number of characters.\n
Login.c(90): * \n
Login.c(90): * Examples:\n
Login.c(90): * \n
Login.c(90): * * `'/hello/'` - Matches only if the path is exactly '/hello/'.
There is no special trea
Login.c(90): tment for\n
Login.c(90): * trailing slashes, and patterns have to match the entire path,
not just a prefix.\n
Login.c(90): * * `'/user/:id'` - Matches '/user/bob' or '/user/1234!!!' or
even '/user/' but not '/use
Login.c(90): r' or\n
Login.c(90): * '/user/bob/details'. The second path segment will be captured
as the parameter 'id'.\n
Login.c(90): * * `'/user/{id}'` - Same as the previous example, but using
curly brace syntax.\n
Login.c(90): * * `'/user/{id:[^/]*}'` - Same as the previous example.\n
Login.c(90): * * `'/user/{id:[0-9a-fA-F]{1,8}}'` - Similar to the previous
example, but only matches i
Login.c(90): f the id\n
Login.c(90): * parameter consists of 1 to 8 hex digits.\n
Login.c(90): * * `'/files/{path:.*}'` - Matches any URL starting with
'/files/' and captures the rest
Login.c(90): of the\n
Login.c(90): * path into the parameter 'path'.\n
Login.c(90): * * `'/files/*path'` - ditto.\n
Login.c(90): *\n
Login.c(90): * @param {string} pattern The pattern to compile into a
matcher.\n
Login.c(90): * @param {Object} config A configuration object hash:\n
Login.c(90): *\n
Login.c(90): * * `caseInsensitive` - `true` if URL matching should be case
insensitive, otherwise `fal
Login.c(90): se`, the default value (for backward compatibility) is `false`.\n
Login.c(90): * * `strict` - `false` if matching against a URL with a trailing
slash should be treated
Login.c(90): as equivalent to a URL without a trailing slash, the default value
is `true`.\n
Login.c(90): *\n
Login.c(90): * @property {string} prefix A static prefix of this pattern. The
matcher guarantees that
Login.c(90): any\n
Login.c(90): * URL matching this matcher (i.e. any string for which {@link
ui.router.util.type:UrlMa
Login.c(90): tcher#methods_exec exec()} returns\n
Login.c(90): * non-null) will start with this prefix.\n
Login.c(90): *\n
Login.c(90): * @property {string} source The pattern that was passed into the
constructor\n
Login.c(90): *\n
Login.c(90): * @property {string} sourcePath The path portion of the source
property\n
Login.c(90): *\n
Login.c(90): * @property {string} sourceSearch The search portion of the
source property\n
Login.c(90): *\n
Login.c(90): * @property {string} regex The constructed regex that will be
used to match against the
Login.c(90): url when \n
Login.c(90): * it is time to determine which url will match.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} New `UrlMatcher` object\n
Login.c(90): */\n
Login.c(90): function UrlMatcher(pattern, config) {\n
Login.c(90): config = angular.isObject(config) ? config : {};\n
Login.c(90): \n
Login.c(90): // Find all placeholders and create a compiled pattern, using
either classic or curly sy
Login.c(90): ntax:\n
Login.c(90): // '*' name\n
Login.c(90): // ':' name\n
Login.c(90): // '{' name '}'\n
Login.c(90): // '{' name ':' regexp '}'\n
Login.c(90): // The regular expression is somewhat complicated due to the
need to allow curly braces\n
Login.c(90): // inside the regular expression. The placeholder regexp breaks
down as follows:\n
Login.c(90): // ([:*])(\\w+) classic placeholder ($1 / $2)\n
Login.c(90): // \\{(\\w+)(?:\\:( ... ))?\\} curly brace placeholder ($3)
with optional regexp ..
Login.c(90): . ($4)\n
Login.c(90): // (?: ... | ... | ... )+ the regexp consists of any
number of atoms, an atom bein
Login.c(90): g either\n
Login.c(90): // [^{}\\\\]+ - anything other than curly
braces or backslash\n
Login.c(90): // \\\\. - a backslash escape\n
Login.c(90): // \\{(?:[^{}\\\\]+|\\\\.)*\\} - a matched set of curly
braces containing other a
Login.c(90): toms\n
Login.c(90): var placeholder = /([:*])(\\w+)|\\{(\\w+)(?:\\:((?:[^{}\\\\]
+|\\\\.|\\{(?:[^{}\\\\]+|\\\\
Login.c(90): .)*\\})+))?\\}/g,\n
Login.c(90): compiled = '^', last = 0, m,\n
Login.c(90): segments = this.segments = [],\n
Login.c(90): params = this.params = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * [Internal] Gets the decoded representation of a value if the
value is defined, otherw
Login.c(90): ise, returns the\n
Login.c(90): * default value, which may be the result of an injectable
function.\n
Login.c(90): */\n
Login.c(90): function $value(value) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): return isDefined(value) ? this.type.decode(value) :
$UrlMatcherFactory.$$getDefaultVal
Login.c(90): ue(this);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addParameter(id, type, config) {\n
Login.c(90): if (!/^\\w+(-+\\w+)*$/.test(id)) throw new Error("Invalid
parameter name '" + id + "'
Login.c(90): in pattern '" + pattern + "'");\n
Login.c(90): if (params[id]) throw new Error("Duplicate parameter name '" +
id + "' in pattern '" +
Login.c(90): pattern + "'");\n
Login.c(90): params[id] = extend({ type: type || new Type(), $value: $value
}, config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function quoteRegExp(string, pattern, isOptional) {\n
Login.c(90): var result = string.replace(/[\\\\\\[\\]\\^$*+?.()|{}]/g,
"\\\\$&");\n
Login.c(90): if (!pattern) return result;\n
Login.c(90): var flag = isOptional ? '?' : '';\n
Login.c(90): return result + flag + '(' + pattern + ')' + flag;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function paramConfig(param) {\n
Login.c(90): if (!config.params || !config.params[param]) return {};\n
Login.c(90): var cfg = config.params[param];\n
Login.c(90): return isObject(cfg) ? cfg : { value: cfg };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.source = pattern;\n
Login.c(90): \n
Login.c(90): // Split into static segments separated by path parameter
placeholders.\n
Login.c(90): // The number of segments is always 1 more than the number of
parameters.\n
Login.c(90): var id, regexp, segment, type, cfg;\n
Login.c(90): \n
Login.c(90): while ((m = placeholder.exec(pattern))) {\n
Login.c(90): id = m[2] || m[3]; // IE[78] returns '' for unmatched
groups instead of null\n
Login.c(90): regexp = m[4] || (m[1] == '*' ? '.*' : '[^/]*');\n
Login.c(90): segment = pattern.substring(last, m.index);\n
Login.c(90): type = this.$types[regexp] || new Type({ pattern: new
RegExp(regexp) });\n
Login.c(90): cfg = paramConfig(id);\n
Login.c(90): \n
Login.c(90): if (segment.indexOf('?') >= 0) break; // we're into the search
part\n
Login.c(90): \n
Login.c(90): compiled += quoteRegExp(segment, type.$subPattern(),
isDefined(cfg.value));\n
Login.c(90): addParameter(id, type, cfg);\n
Login.c(90): segments.push(segment);\n
Login.c(90): last = placeholder.lastIndex;\n
Login.c(90): }\n
Login.c(90): segment = pattern.substring(last);\n
Login.c(90): \n
Login.c(90): // Find any search parameter names and remove them from the last
segment\n
Login.c(90): var i = segment.indexOf('?');\n
Login.c(90): \n
Login.c(90): if (i >= 0) {\n
Login.c(90): var search = this.sourceSearch = segment.substring(i);\n
Login.c(90): segment = segment.substring(0, i);\n
Login.c(90): this.sourcePath = pattern.substring(0, last + i);\n
Login.c(90): \n
Login.c(90): // Allow parameters to be separated by '?' as well as '&' to
make concat() easier\n
Login.c(90): forEach(search.substring(1).split(/[&?]/), function(key) {\n
Login.c(90): addParameter(key, null, paramConfig(key));\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): this.sourcePath = pattern;\n
Login.c(90): this.sourceSearch = '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): compiled += quoteRegExp(segment) + (config.strict === false ?
'\\/?' : '') + '$';\n
Login.c(90): segments.push(segment);\n
Login.c(90): \n
Login.c(90): this.regexp = new RegExp(compiled, config.caseInsensitive ?
'i' : undefined);\n
Login.c(90): this.prefix = segments[0];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#concat\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns a new matcher for a pattern constructed by appending
the path part and adding t
Login.c(90): he\n
Login.c(90): * search parameters of the specified pattern to this pattern. The
current pattern is not\n
Login.c(90): * modified. This can be understood as creating a pattern for URLs
that are relative to (o
Login.c(90): r\n
Login.c(90): * suffixes of) the current pattern.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * The following two matchers are equivalent:\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q').concat('/details?date');\n
Login.c(90): * new UrlMatcher('/user/{id}/details?q&date');\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} pattern The pattern to append.\n
Login.c(90): * @param {Object} config An object hash of the configuration for
the matcher.\n
Login.c(90): * @returns {UrlMatcher} A matcher for the concatenated
pattern.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.concat = function (pattern, config) {\n
Login.c(90): // Because order of search parameters is irrelevant, we can add
our own search\n
Login.c(90): // parameters to the end of the new pattern. Parse the new
pattern by itself\n
Login.c(90): // and then join the bits together, but it's much easier to do
this on a string level.\n
Login.c(90): return new UrlMatcher(this.sourcePath + pattern +
this.sourceSearch, config);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): UrlMatcher.prototype.toString = function () {\n
Login.c(90): return this.source;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#exec\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Tests the specified path against this matcher, and returns an
object containing the cap
Login.c(90): tured\n
Login.c(90): * parameter values, or null if the path does not match. The
returned object contains the
Login.c(90): values\n
Login.c(90): * of any search parameters that are mentioned in the pattern, but
their value may be null
Login.c(90): if\n
Login.c(90): * they are not present in `searchParams`. This means that search
parameters are always tr
Login.c(90): eated\n
Login.c(90): * as optional.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q&r').exec('/user/bob', {\n
Login.c(90): * x: '1', q: 'hello'\n
Login.c(90): * });\n
Login.c(90): * // returns { id: 'bob', q: 'hello', r: null }\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} path The URL path to match, e.g.
`$location.path()`.\n
Login.c(90): * @param {Object} searchParams URL search parameters, e.g.
`$location.search()`.\n
Login.c(90): * @returns {Object} The captured parameter values.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.exec = function (path, searchParams) {\n
Login.c(90): var m = this.regexp.exec(path);\n
Login.c(90): if (!m) return null;\n
Login.c(90): searchParams = searchParams || {};\n
Login.c(90): \n
Login.c(90): var params = this.parameters(), nTotal = params.length,\n
Login.c(90): nPath = this.segments.length - 1,\n
Login.c(90): values = {}, i, cfg, param;\n
Login.c(90): \n
Login.c(90): if (nPath !== m.length - 1) throw new Error("Unbalanced capture
group in route '" + this
Login.c(90): .source + "'");\n
Login.c(90): \n
Login.c(90): for (i = 0; i < nPath; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): values[param] = cfg.$value(m[i + 1]);\n
Login.c(90): }\n
Login.c(90): for (/**/; i < nTotal; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): values[param] = cfg.$value(searchParams[param]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return values;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#parameters\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns the names of all path and search parameters of this
pattern in an unspecified o
Login.c(90): rder.\n
Login.c(90): * \n
Login.c(90): * @returns {Array.<string>} An array of parameter names. Must be
treated as read-only. I
Login.c(90): f the\n
Login.c(90): * pattern has no parameters, an empty array is returned.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.parameters = function (param) {\n
Login.c(90): if (!isDefined(param)) return objectKeys(this.params);\n
Login.c(90): return this.params[param] || null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#validate\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Checks an object hash of parameters to validate their
correctness according to the para
Login.c(90): meter\n
Login.c(90): * types of this `UrlMatcher`.\n
Login.c(90): *\n
Login.c(90): * @param {Object} params The object hash of parameters to
validate.\n
Login.c(90): * @returns {boolean} Returns `true` if `params` validates,
otherwise `false`.\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.validates = function (params) {\n
Login.c(90): var result = true, isOptional, cfg, self = this;\n
Login.c(90): \n
Login.c(90): forEach(params, function(val, key) {\n
Login.c(90): if (!self.params[key]) return;\n
Login.c(90): cfg = self.params[key];\n
Login.c(90): isOptional = !val && isDefined(cfg.value);\n
Login.c(90): result = result && (isOptional || cfg.type.is(val));\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:UrlMatcher#format\n
Login.c(90): * @methodOf ui.router.util.type:UrlMatcher\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a URL that matches this pattern by substituting the
specified values\n
Login.c(90): * for the path and search parameters. Null values for path
parameters are\n
Login.c(90): * treated as empty strings.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * new UrlMatcher('/user/{id}?q').format({ id:'bob', q:'yes' });\n
Login.c(90): * // returns '/user/bob?q=yes'\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {Object} values the values to substitute for the
parameters in this pattern.\n
Login.c(90): * @returns {string} the formatted URL (path and optionally
search part).\n
Login.c(90): */\n
Login.c(90): UrlMatcher.prototype.format = function (values) {\n
Login.c(90): var segments = this.segments, params = this.parameters();\n
Login.c(90): \n
Login.c(90): if (!values) return segments.join('').replace('//', '/');\n
Login.c(90): \n
Login.c(90): var nPath = segments.length - 1, nTotal = params.length,\n
Login.c(90): result = segments[0], i, search, value, param, cfg, array;\n
Login.c(90): \n
Login.c(90): if (!this.validates(values)) return null;\n
Login.c(90): \n
Login.c(90): for (i = 0; i < nPath; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): value = values[param];\n
Login.c(90): cfg = this.params[param];\n
Login.c(90): \n
Login.c(90): if (!isDefined(value) && (segments[i] === '/' |
Login.c(90): t=3659ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): | segments[i + 1] === '/')) continue;\n
Login.c(90): if (value != null) result +=
encodeURIComponent(cfg.type.encode(value));\n
Login.c(90): result += segments[i + 1];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (/**/; i < nTotal; i++) {\n
Login.c(90): param = params[i];\n
Login.c(90): value = values[param];\n
Login.c(90): if (value == null) continue;\n
Login.c(90): array = isArray(value);\n
Login.c(90): \n
Login.c(90): if (array) {\n
Login.c(90): value = value.map(encodeURIComponent).join('&' + param +
'=');\n
Login.c(90): }\n
Login.c(90): result += (search ? '&' : '?') + param + '=' + (array ?
value : encodeURIComponent(val
Login.c(90): ue));\n
Login.c(90): search = true;\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): UrlMatcher.prototype.$types = {};\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Implements an interface to define custom parameter types that
can be decoded from and e
Login.c(90): ncoded to\n
Login.c(90): * string parameters matched in a URL. Used by {@link
ui.router.util.type:UrlMatcher `UrlM
Login.c(90): atcher`}\n
Login.c(90): * objects when matching or formatting URLs, or comparing or
validating parameter values.\n
Login.c(90): *\n
Login.c(90): * See {@link ui.router.util.$urlMatcherFactory#methods_type
`$urlMatcherFactory#type()`}
Login.c(90): for more\n
Login.c(90): * information on registering custom types.\n
Login.c(90): *\n
Login.c(90): * @param {Object} config A configuration object hash that
includes any method in `Type`'
Login.c(90): s public\n
Login.c(90): * interface, and/or `pattern`, which should contain a
custom regular expression us
Login.c(90): ed to match\n
Login.c(90): * string parameters originating from a URL.\n
Login.c(90): *\n
Login.c(90): * @property {RegExp} pattern The regular expression pattern used
to match values of this
Login.c(90): type when\n
Login.c(90): * coming from a substring of a URL.\n
Login.c(90): *\n
Login.c(90): * @returns {Object} Returns a new `Type` object.\n
Login.c(90): */\n
Login.c(90): function Type(config) {\n
Login.c(90): extend(this, config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#is\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Detects whether a value is of a particular type. Accepts a
native (decoded) value\n
Login.c(90): * and determines whether it matches the current `Type` object.\n
Login.c(90): *\n
Login.c(90): * @param {*} val The value to check.\n
Login.c(90): * @param {string} key Optional. If the type check is happening
in the context of a speci
Login.c(90): fic\n
Login.c(90): * {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
object, this is the name of
Login.c(90): the\n
Login.c(90): * parameter in which `val` is stored. Can be used for
meta-programming of `Type` o
Login.c(90): bjects.\n
Login.c(90): * @returns {Boolean} Returns `true` if the value matches the
type, otherwise `false`.\n
Login.c(90): */\n
Login.c(90): Type.prototype.is = function(val, key) {\n
Login.c(90): return true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#encode\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Encodes a custom/native type value to a string that can be
embedded in a URL. Note that
Login.c(90): the\n
Login.c(90): * return value does *not* need to be URL-safe (i.e. passed
through `encodeURIComponent()`
Login.c(90): ), it\n
Login.c(90): * only needs to be a representation of `val` that has been
coerced to a string.\n
Login.c(90): *\n
Login.c(90): * @param {*} val The value to encode.\n
Login.c(90): * @param {string} key The name of the parameter in which `val`
is stored. Can be used fo
Login.c(90): r\n
Login.c(90): * meta-programming of `Type` objects.\n
Login.c(90): * @returns {string} Returns a string representation of `val`
that can be encoded in a UR
Login.c(90): L.\n
Login.c(90): */\n
Login.c(90): Type.prototype.encode = function(val, key) {\n
Login.c(90): return val;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#decode\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Converts a string URL parameter value to a custom/native
value.\n
Login.c(90): *\n
Login.c(90): * @param {string} val The URL parameter value to decode.\n
Login.c(90): * @param {string} key The name of the parameter in which `val`
is stored. Can be used fo
Login.c(90): r\n
Login.c(90): * meta-programming of `Type` objects.\n
Login.c(90): * @returns {*} Returns a custom representation of the URL
parameter value.\n
Login.c(90): */\n
Login.c(90): Type.prototype.decode = function(val, key) {\n
Login.c(90): return val;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.type:Type#equals\n
Login.c(90): * @methodOf ui.router.util.type:Type\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Determines whether two decoded values are equivalent.\n
Login.c(90): *\n
Login.c(90): * @param {*} a A value to compare against.\n
Login.c(90): * @param {*} b A value to compare against.\n
Login.c(90): * @returns {Boolean} Returns `true` if the values are
equivalent/equal, otherwise `false
Login.c(90): `.\n
Login.c(90): */\n
Login.c(90): Type.prototype.equals = function(a, b) {\n
Login.c(90): return a == b;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Type.prototype.$subPattern = function() {\n
Login.c(90): var sub = this.pattern.toString();\n
Login.c(90): return sub.substr(1, sub.length - 2);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): Type.prototype.pattern = /.*/;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Factory for {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
instances. The factory\n
Login.c(90): * is also available to providers under the name
`$urlMatcherFactoryProvider`.\n
Login.c(90): */\n
Login.c(90): function $UrlMatcherFactory() {\n
Login.c(90): \n
Login.c(90): var isCaseInsensitive = false, isStrictMode = true;\n
Login.c(90): \n
Login.c(90): var enqueue = true, typeQueue = [], injector, defaultTypes = {\n
Login.c(90): int: {\n
Login.c(90): decode: function(val) {\n
Login.c(90): return parseInt(val, 10);\n
Login.c(90): },\n
Login.c(90): is: function(val) {\n
Login.c(90): if (!isDefined(val)) return false;\n
Login.c(90): return this.decode(val.toString()) === val;\n
Login.c(90): },\n
Login.c(90): pattern: /\\d+/\n
Login.c(90): },\n
Login.c(90): bool: {\n
Login.c(90): encode: function(val) {\n
Login.c(90): return val ? 1 : 0;\n
Login.c(90): },\n
Login.c(90): decode: function(val) {\n
Login.c(90): return parseInt(val, 10) === 0 ? false : true;\n
Login.c(90): },\n
Login.c(90): is: function(val) {\n
Login.c(90): return val === true || val === false;\n
Login.c(90): },\n
Login.c(90): pattern: /0|1/\n
Login.c(90): },\n
Login.c(90): string: {\n
Login.c(90): pattern: /[^\\/]*/\n
Login.c(90): },\n
Login.c(90): date: {\n
Login.c(90): equals: function (a, b) {\n
Login.c(90): return a.toISOString() === b.toISOString();\n
Login.c(90): },\n
Login.c(90): decode: function (val) {\n
Login.c(90): return new Date(val);\n
Login.c(90): },\n
Login.c(90): encode: function (val) {\n
Login.c(90): return [\n
Login.c(90): val.getFullYear(),\n
Login.c(90): ('0' + (val.getMonth() + 1)).slice(-2),\n
Login.c(90): ('0' + val.getDate()).slice(-2)\n
Login.c(90): ].join("-");\n
Login.c(90): },\n
Login.c(90): pattern: /[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|
3[0-1])/\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function getDefaultConfig() {\n
Login.c(90): return {\n
Login.c(90): strict: isStrictMode,\n
Login.c(90): caseInsensitive: isCaseInsensitive\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isInjectable(value) {\n
Login.c(90): return (isFunction(value) || (isArray(value) &&
isFunction(value[value.length - 1])));
Login.c(90): \n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * [Internal] Get the default value of a parameter, which may be
an injectable function.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): $UrlMatcherFactory.$$getDefaultValue = function(config) {\n
Login.c(90): if (!isInjectable(config.value)) return config.value;\n
Login.c(90): if (!injector) throw new Error("Injectable functions cannot be
called at configuration
Login.c(90): time");\n
Login.c(90): return injector.invoke(config.value);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#caseInsensitive\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines whether URL matching should be case sensitive (the
default behavior), or not.
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * @param {boolean} value `false` to match URL in a case
sensitive manner; otherwise `tr
Login.c(90): ue`;\n
Login.c(90): */\n
Login.c(90): this.caseInsensitive = function(value) {\n
Login.c(90): isCaseInsensitive = value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#strictMode\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines whether URLs should match trailing slashes, or not
(the default behavior).\n
Login.c(90): *\n
Login.c(90): * @param {boolean} value `false` to match trailing slashes in
URLs, otherwise `true`.\n
Login.c(90): */\n
Login.c(90): this.strictMode = function(value) {\n
Login.c(90): isStrictMode = value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#compile\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Creates a {@link ui.router.util.type:UrlMatcher `UrlMatcher`}
for the specified patte
Login.c(90): rn.\n
Login.c(90): * \n
Login.c(90): * @param {string} pattern The URL pattern.\n
Login.c(90): * @param {Object} config The config object hash.\n
Login.c(90): * @returns {UrlMatcher} The UrlMatcher.\n
Login.c(90): */\n
Login.c(90): this.compile = function (pattern, config) {\n
Login.c(90): return new UrlMatcher(pattern, extend(getDefaultConfig(),
config));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#isMatcher\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns true if the specified object is a `UrlMatcher`, or
false otherwise.\n
Login.c(90): *\n
Login.c(90): * @param {Object} object The object to perform the type check
against.\n
Login.c(90): * @returns {Boolean} Returns `true` if the object matches the
`UrlMatcher` interface,
Login.c(90): by\n
Login.c(90): * implementing all the same methods.\n
Login.c(90): */\n
Login.c(90): this.isMatcher = function (o) {\n
Login.c(90): if (!isObject(o)) return false;\n
Login.c(90): var result = true;\n
Login.c(90): \n
Login.c(90): forEach(UrlMatcher.prototype, function(val, name) {\n
Login.c(90): if (isFunction(val)) {\n
Login.c(90): result = result && (isDefined(o[name]) &&
isFunction(o[name]));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.util.$urlMatcherFactory#type\n
Login.c(90): * @methodOf ui.router.util.$urlMatcherFactory\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a custom {@link ui.router.util.type:Type `Type`}
object that can be used to
Login.c(90): \n
Login.c(90): * generate URLs with typed parameters.\n
Login.c(90): *\n
Login.c(90): * @param {string} name The type name.\n
Login.c(90): * @param {Object|Function} def The type definition. See\n
Login.c(90): * {@link ui.router.util.type:Type `Type`} for
information on the values accepted
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @returns {Object} Returns `$urlMatcherFactoryProvider`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * This is a simple example of a custom type that encodes and
decodes items from an\n
Login.c(90): * array, using the array index as the URL-encoded value:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * var list = ['John', 'Paul', 'George', 'Ringo'];\n
Login.c(90): *\n
Login.c(90): * $urlMatcherFactoryProvider.type('listItem', {\n
Login.c(90): * encode: function(item) {\n
Login.c(90): * // Represent the list item in the URL using its
corresponding index\n
Login.c(90): * return list.indexOf(item);\n
Login.c(90): * },\n
Login.c(90): * decode: function(item) {\n
Login.c(90): * // Look up the list item by index\n
Login.c(90): * return list[parseInt(item, 10)];\n
Login.c(90): * },\n
Login.c(90): * is: function(item) {\n
Login.c(90): * // Ensure the item is valid by checking to see that it
appears\n
Login.c(90): * // in the list\n
Login.c(90): * return list.indexOf(item) > -1;\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * $stateProvider.state('list', {\n
Login.c(90): * url: "/list/{item:listItem}",\n
Login.c(90): * controller: function($scope, $stateParams) {\n
Login.c(90): * console.log($stateParams.item);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // ...\n
Login.c(90): *\n
Login.c(90): * // Changes URL to '/list/3', logs "Ringo" to the console\n
Login.c(90): * $state.go('list', { item: "Ringo" });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * This is a more complex example of a type that relies on
dependency injection to\n
Login.c(90): * interact with services, and uses the parameter name from the
URL to infer how to\n
Login.c(90): * handle encoding and decoding parameter values:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * // Defines a custom type that gets a value from a service,\n
Login.c(90): * // where each service gets different types of values from\n
Login.c(90): * // a backend API:\n
Login.c(90): * $urlMatcherFactoryProvider.type('dbObject', function(Users,
Posts) {\n
Login.c(90): *\n
Login.c(90): * // Matches up services to URL parameter names\n
Login.c(90): * var services = {\n
Login.c(90): * user: Users,\n
Login.c(90): * post: Posts\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * return {\n
Login.c(90): * encode: function(object) {\n
Login.c(90): * // Represent the object in the URL using its unique
ID\n
Login.c(90): * return object.id;\n
Login.c(90): * },\n
Login.c(90): * decode: function(value, key) {\n
Login.c(90): * // Look up the object by ID, using the parameter\n
Login.c(90): * // name (key) to call the correct service\n
Login.c(90): * return services[key].findById(value);\n
Login.c(90): * },\n
Login.c(90): * is: function(object, key) {\n
Login.c(90): * // Check that object is a valid dbObject\n
Login.c(90): * return angular.isObject(object) && object.id &&
services[key];\n
Login.c(90): * }\n
Login.c(90): * equals: function(a, b) {\n
Login.c(90): * // Check the equality of decoded objects by comparing\n
Login.c(90): * // their unique IDs\n
Login.c(90): * return a.id === b.id;\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // In a config() block, you can then attach URLs with\n
Login.c(90): * // type-annotated parameters:\n
Login.c(90): * $stateProvider.state('users', {\n
Login.c(90): * url: "/users",\n
Login.c(90): * // ...\n
Login.c(90): * }).state('users.item', {\n
Login.c(90): * url: "/{user:dbObject}",\n
Login.c(90): * controller: function($scope, $stateParams) {\n
Login.c(90): * // $stateParams.user will now be an object returned
from\n
Login.c(90): * // the Users service\n
Login.c(90): * },\n
Login.c(90): * // ...\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): this.type = function (name, def) {\n
Login.c(90): if (!isDefined(def)) return UrlMatcher.prototype.
$types[name];\n
Login.c(90): typeQueue.push({ name: name, def: def });\n
Login.c(90): if (!enqueue) flushTypeQueue();\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /* No need to document $get, since it returns this */\n
Login.c(90): this.$get = ['$injector', function ($injector) {\n
Login.c(90): injector = $injector;\n
Login.c(90): enqueue = false;\n
Login.c(90): UrlMatcher.prototype.$types = {};\n
Login.c(90): flushTypeQueue();\n
Login.c(90): \n
Login.c(90): forEach(defaultTypes, function(type, name) {\n
Login.c(90): if (!UrlMatcher.prot
Login.c(90): t=3676ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): otype.$types[name]) UrlMatcher.prototype.$types[name] = new
Type(type);\n
Login.c(90): });\n
Login.c(90): return this;\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): // To ensure proper order of operations in object configuration,
and to allow internal\n
Login.c(90): // types to be overridden, `flushTypeQueue()` waits until
`$urlMatcherFactory` is inject
Login.c(90): ed\n
Login.c(90): // before actually wiring up and assigning type definitions\n
Login.c(90): function flushTypeQueue() {\n
Login.c(90): forEach(typeQueue, function(type) {\n
Login.c(90): if (UrlMatcher.prototype.$types[type.name]) {\n
Login.c(90): throw new Error("A type named '" + type.name + "' has
already been defined.");\n
Login.c(90): }\n
Login.c(90): var def = new Type(isInjectable(type.def) ?
injector.invoke(type.def) : type.def);\n
Login.c(90): UrlMatcher.prototype.$types[type.name] = def;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Register as a provider so it's available to other providers\n
Login.c(90): angular.module('ui.router.util').provider('$urlMatcherFactory',
$UrlMatcherFactory);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.util.$urlMatcherFactoryProvider\n
Login.c(90): * @requires $locationProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$urlRouterProvider` has the responsibility of watching
`$location`. \n
Login.c(90): * When `$location` changes it runs through a list of rules one by
one until a \n
Login.c(90): * match is found. `$urlRouterProvider` is used behind the scenes
anytime you specify \n
Login.c(90): * a url in a state configuration. All urls are compiled into a
UrlMatcher object.\n
Login.c(90): *\n
Login.c(90): * There are several methods on `$urlRouterProvider` that make it
useful to use directly\n
Login.c(90): * in your module config.\n
Login.c(90): */\n
Login.c(90): $UrlRouterProvider.$inject = ['$locationProvider',
'$urlMatcherFactoryProvider'];\n
Login.c(90): function $UrlRouterProvider( $locationProvider,
$urlMatcherFactory) {\n
Login.c(90): var rules = [], otherwise = null, interceptDeferred = false,
listener;\n
Login.c(90): \n
Login.c(90): // Returns a string that is a prefix of all strings matching the
RegExp\n
Login.c(90): function regExpPrefix(re) {\n
Login.c(90): var prefix = /^\\^((?:\\\\[^a-zA-Z0-9]|[^\\\\\\[\\]\\^$*+?.()|
{}]+)*)/.exec(re.source)
Login.c(90): ;\n
Login.c(90): return (prefix != null) ? prefix[1].replace(/\\\\(.)/g,
"$1") : '';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Interpolates matched values into a String.replace()-style
pattern\n
Login.c(90): function interpolate(pattern, match) {\n
Login.c(90): return pattern.replace(/\\$(\\$|\\d{1,2})/, function (m, what)
{\n
Login.c(90): return match[what === '$' ? 0 : Number(what)];\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#rule\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines rules that are used by `$urlRouterProvider` to find
matches for\n
Login.c(90): * specific URLs.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * // Here's an example of how you might allow case
insensitive urls\n
Login.c(90): * $urlRouterProvider.rule(function ($injector, $location) {\n
Login.c(90): * var path = $location.path(),\n
Login.c(90): * normalized = path.toLowerCase();\n
Login.c(90): *\n
Login.c(90): * if (path !== normalized) {\n
Login.c(90): * return normalized;\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {object} rule Handler function that takes `$injector`
and `$location`\n
Login.c(90): * services as arguments. You can use them to return a valid
path as a string.\n
Login.c(90): *\n
Login.c(90): * @return {object} `$urlRouterProvider` - `$urlRouterProvider`
instance\n
Login.c(90): */\n
Login.c(90): this.rule = function (rule) {\n
Login.c(90): if (!isFunction(rule)) throw new Error("'rule' must be a
function");\n
Login.c(90): rules.push(rule);\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#otherwise\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Defines a path that is used when an invalid route is
requested.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * // if the path doesn't match any of the urls you
configured\n
Login.c(90): * // otherwise will take care of routing the user to the\n
Login.c(90): * // specified url\n
Login.c(90): * $urlRouterProvider.otherwise('/index');\n
Login.c(90): *\n
Login.c(90): * // Example of using function rule as param\n
Login.c(90): * $urlRouterProvider.otherwise(function ($injector,
$location) {\n
Login.c(90): * return '/a/valid/url';\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} rule The url path you want to redirect
to or a function \n
Login.c(90): * rule that returns the url path. The function version is
passed two params: \n
Login.c(90): * `$injector` and `$location` services, and must return a url
string.\n
Login.c(90): *\n
Login.c(90): * @return {object} `$urlRouterProvider` - `$urlRouterProvider`
instance\n
Login.c(90): */\n
Login.c(90): this.otherwise = function (rule) {\n
Login.c(90): if (isString(rule)) {\n
Login.c(90): var redirect = rule;\n
Login.c(90): rule = function () { return redirect; };\n
Login.c(90): }\n
Login.c(90): else if (!isFunction(rule)) throw new Error("'rule' must be a
function");\n
Login.c(90): otherwise = rule;\n
Login.c(90): return this;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): function handleIfMatch($injector, handler, match) {\n
Login.c(90): if (!match) return false;\n
Login.c(90): var result = $injector.invoke(handler, handler, { $match:
match });\n
Login.c(90): return isDefined(result) ? result : true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#when\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a handler for a given url matching. if handle is a
string, it is\n
Login.c(90): * treated as a redirect, and is interpolated according to the
syntax of match\n
Login.c(90): * (i.e. like `String.replace()` for `RegExp`, or like a
`UrlMatcher` pattern otherwise)
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * If the handler is a function, it is injectable. It gets
invoked if `$location`\n
Login.c(90): * matches. You have the option of inject the match object as
`$match`.\n
Login.c(90): *\n
Login.c(90): * The handler can return\n
Login.c(90): *\n
Login.c(90): * - **falsy** to indicate that the rule didn't match after all,
then `$urlRouter`\n
Login.c(90): * will continue trying to find another one that matches.\n
Login.c(90): * - **string** which is treated as a redirect and passed to
`$location.url()`\n
Login.c(90): * - **void** or any **truthy** value tells `$urlRouter` that
the url was handled.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): * $urlRouterProvider.when($state.url, function ($match,
$stateParams) {\n
Login.c(90): * if ($state.$current.navigable !== state ||\n
Login.c(90): * !equalForKeys($match, $stateParams) {\n
Login.c(90): * $state.transitionTo(state, $match, false);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} what The incoming path that you want
to redirect.\n
Login.c(90): * @param {string|object} handler The path you want to redirect
your user to.\n
Login.c(90): */\n
Login.c(90): this.when = function (what, handler) {\n
Login.c(90): var redirect, handlerIsString = isString(handler);\n
Login.c(90): if (isString(what)) what = $urlMatcherFactory.compile(what);\n
Login.c(90): \n
Login.c(90): if (!handlerIsString && !isFunction(handler) && !
isArray(handler))\n
Login.c(90): throw new Error("invalid 'handler' in when()");\n
Login.c(90): \n
Login.c(90): var strategies = {\n
Login.c(90): matcher: function (what, handler) {\n
Login.c(90): if (handlerIsString) {\n
Login.c(90): redirect = $urlMatcherFactory.compile(handler);\n
Login.c(90): handler = ['$match', function ($match) { return
redirect.format($match); }];\n
Login.c(90): }\n
Login.c(90): return extend(function ($injector, $location) {\n
Login.c(90): return handleIfMatch($injector, handler,
what.exec($location.path(), $location.s
Login.c(90): earch()));\n
Login.c(90): }, {\n
Login.c(90): prefix: isString(what.prefix) ? what.prefix : ''\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): regex: function (what, handler) {\n
Login.c(90): if (what.global || what.sticky) throw new Error("when()
RegExp must not be global
Login.c(90): or sticky");\n
Login.c(90): \n
Login.c(90): if (handlerIsString) {\n
Login.c(90): redirect = handler;\n
Login.c(90): handler = ['$match', function ($match) { return
interpolate(redirect, $match); }
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): return extend(function ($injector, $location) {\n
Login.c(90): return handleIfMatch($injector, handler,
what.exec($location.path()));\n
Login.c(90): }, {\n
Login.c(90): prefix: regExpPrefix(what)\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var check = { matcher: $urlMatcherFactory.isMatcher(what),
regex: what instanceof RegE
Login.c(90): xp };\n
Login.c(90): \n
Login.c(90): for (var n in check) {\n
Login.c(90): if (check[n]) return this.rule(strategies[n](what,
handler));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): throw new Error("invalid 'what' in when()");\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouterProvider#deferIntercept\n
Login.c(90): * @methodOf ui.router.router.$urlRouterProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Disables (or enables) deferring location change
interception.\n
Login.c(90): *\n
Login.c(90): * If you wish to customize the behavior of syncing the URL (for
example, if you wish to
Login.c(90): \n
Login.c(90): * defer a transition but maintain the current URL), call this
method at configuration t
Login.c(90): ime.\n
Login.c(90): * Then, at run time, call `$urlRouter.listen()` after you have
configured your own\n
Login.c(90): * `$locationChangeSuccess` event handler.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router.router']);\n
Login.c(90): *\n
Login.c(90): * app.config(function ($urlRouterProvider) {\n
Login.c(90): *\n
Login.c(90): * // Prevent $urlRouter from automatically intercepting URL
changes;\n
Login.c(90): * // this allows you to configure custom behavior in
between\n
Login.c(90): * // location changes and route synchronization:\n
Login.c(90): * $urlRouterProvider.deferIntercept();\n
Login.c(90): *\n
Login.c(90): * }).run(function ($rootScope, $urlRouter, UserService) {\n
Login.c(90): *\n
Login.c(90): * $rootScope.$on('$locationChangeSuccess', function(e) {\n
Login.c(90): * // UserService is an example service for managing user
state\n
Login.c(90): * if (UserService.isLoggedIn()) return;\n
Login.c(90): *\n
Login.c(90): * // Prevent $urlRouter's default handler from firing\n
Login.c(90): * e.preventDefault();\n
Login.c(90): *\n
Login.c(90): * UserService.handleLogin().then(function() {\n
Login.c(90): * // Once the user has logged in, sync the current URL\n
Login.c(90): * // to the router:\n
Login.c(90): * $urlRouter.sync();\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // Configures $urlRouter's listener *after* your custom
listener\n
Login.c(90): * $urlRouter.listen();\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {boolean} defer Indicates whether to defer location
change interception. Passi
Login.c(90): ng\n
Login.c(90): no parameter is equivalent to `true`.\n
Login.c(90): */\n
Login.c(90): this.deferIntercept = function (defer) {\n
Login.c(90): if (defer === undefined) defer = true;\n
Login.c(90): interceptDeferred = defer;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @requires $location\n
Login.c(90): * @requires $rootScope\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires $browser\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): this.$get = $get;\n
Login.c(90): $get.$inject = ['$location', '$rootScope', '$injector',
'$browser'];\n
Login.c(90): function $get( $location, $rootScope, $injector,
$browser) {\n
Login.c(90): \n
Login.c(90): var baseHref = $browser.baseHref(), location =
$location.url();\n
Login.c(90): \n
Login.c(90): function appendBasePath(url, isHtml5, absolute) {\n
Login.c(90): if (baseHref === '/') return url;\n
Login.c(90): if (isHtml5) return baseHref.slice(0, -1) + url;\n
Login.c(90): if (absolute) return baseHref.slice(1) + url;\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // TODO: Optimize groups of rules with non-empty prefix into
some sort of decision tre
Login.c(90): e\n
Login.c(90): function update(evt) {\n
Login.c(90): if (evt && evt.defaultPrevented) return;\n
Login.c(90): \n
Login.c(90): function check(rule) {\n
Login.c(90): var handled = rule($injector, $location);\n
Login.c(90): \n
Login.c(90): if (!handled) return false;\n
Login.c(90): if (isString(handled)) $location.replace().url(handled);\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): var n = rules.length, i;\n
Login.c(90): \n
Login.c(90): for (i = 0; i < n; i++) {\n
Login.c(90): if (check(rules[i])) return;\n
Login.c(90): }\n
Login.c(90): // always check otherwise last to allow dynamic updates to
the set of rules\n
Login.c(90): if (otherwise) check(otherwise);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function listen() {\n
Login.c(90): listener = listener || $rootScope.
$on('$locationChangeSuccess', update);\n
Login.c(90): return listener;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!interceptDeferred) listen();\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouter#sync\n
Login.c(90): * @methodOf ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Triggers an update; the same update that happens when the
address bar url changes
Login.c(90): , aka `$locationChangeSuccess`.\n
Login.c(90): * This method is useful when you need to use
`preventDefault()` on the `$locationCh
Login.c(90): angeSuccess` event,\n
Login.c(90): * perform some custom logic (route protection, auth,
config, redirection, etc) and
Login.c(90): then finally proceed\n
Login.c(90): * with the transition by calling `$urlRouter.sync()`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * angular.module('app', ['ui.router'])\n
Login.c(90): * .run(function($rootScope, $urlRouter) {\n
Login.c(90): * $rootScope.$on('$locationChangeSuccess',
function(evt) {\n
Login.c(90): * // Halt state change from even starting\n
Login.c(90): * evt.preventDefault();\n
Login.c(90): * // Perform custom logic\n
Login.c(90): * var meetsRequirement =
Login.c(90): t=3691ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ...\n
Login.c(90): * // Continue with the update and state transition if
logic allows\n
Login.c(90): * if (meetsRequirement) $urlRouter.sync();\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): sync: function() {\n
Login.c(90): update();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): listen: function() {\n
Login.c(90): return listen();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): update: function(read) {\n
Login.c(90): if (read) {\n
Login.c(90): location = $location.url();\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if ($location.url() === location) return;\n
Login.c(90): \n
Login.c(90): $location.url(location);\n
Login.c(90): $location.replace();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): push: function(urlMatcher, params, options) {\n
Login.c(90): $location.url(urlMatcher.format(params || {}));\n
Login.c(90): if (options && options.replace) $location.replace();\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.router.$urlRouter#href\n
Login.c(90): * @methodOf ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A URL generation method that returns the compiled URL for
a given\n
Login.c(90): * {@link ui.router.util.type:UrlMatcher `UrlMatcher`},
populated with the provided
Login.c(90): parameters.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * $bob = $urlRouter.href(new UrlMatcher("/about/:person"),
{\n
Login.c(90): * person: "bob"\n
Login.c(90): * });\n
Login.c(90): * // $bob == "/about/bob";\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {UrlMatcher} urlMatcher The `UrlMatcher` object
which is used as the templ
Login.c(90): ate of the URL to generate.\n
Login.c(90): * @param {object=} params An object of parameter values to
fill the matcher's requi
Login.c(90): red parameters.\n
Login.c(90): * @param {object=} options Options object. The options
are:\n
Login.c(90): *\n
Login.c(90): * - **`absolute`** - {boolean=false}, If true will
generate an absolute url, e.g.
Login.c(90): "http://www.example.com/fullurl".\n
Login.c(90): *\n
Login.c(90): * @returns {string} Returns the fully compiled URL, or
`null` if `params` fail vali
Login.c(90): dation against `urlMatcher`\n
Login.c(90): */\n
Login.c(90): href: function(urlMatcher, params, options) {\n
Login.c(90): if (!urlMatcher.validates(params)) return null;\n
Login.c(90): \n
Login.c(90): var isHtml5 = $locationProvider.html5Mode();\n
Login.c(90): var url = urlMatcher.format(params);\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!isHtml5 && url !== null) {\n
Login.c(90): url = "#" + $locationProvider.hashPrefix() + url;\n
Login.c(90): }\n
Login.c(90): url = appendBasePath(url, isHtml5, options.absolute);\n
Login.c(90): \n
Login.c(90): if (!options.absolute || !url) {\n
Login.c(90): return url;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var slash = (!isHtml5 && url ? '/' : ''), port =
$location.port();\n
Login.c(90): port = (port === 80 || port === 443 ? '' : ':' + port);\n
Login.c(90): \n
Login.c(90): return [$location.protocol(), '://', $location.host(),
port, slash, url].join('');
Login.c(90): \n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.router').provider('$urlRouter',
$UrlRouterProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.router.$urlRouterProvider\n
Login.c(90): * @requires ui.router.util.$urlMatcherFactoryProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The new `$stateProvider` works similar to Angular's v1 router,
but it focuses purely\n
Login.c(90): * on state.\n
Login.c(90): *\n
Login.c(90): * A state corresponds to a "place" in the application in terms of
the overall UI and\n
Login.c(90): * navigation. A state describes (via the controller / template /
view properties) what\n
Login.c(90): * the UI looks like and does at that place.\n
Login.c(90): *\n
Login.c(90): * States often have things in common, and the primary way of
factoring out these\n
Login.c(90): * commonalities in this model is via the state hierarchy, i.e.
parent/child states aka\n
Login.c(90): * nested states.\n
Login.c(90): *\n
Login.c(90): * The `$stateProvider` provides interfaces to declare these
states for your app.\n
Login.c(90): */\n
Login.c(90): $StateProvider.$inject = ['$urlRouterProvider',
'$urlMatcherFactoryProvider'];\n
Login.c(90): function $StateProvider( $urlRouterProvider,
$urlMatcherFactory) {\n
Login.c(90): \n
Login.c(90): var root, states = {}, $state, queue = {}, abstractKey =
'abstract';\n
Login.c(90): \n
Login.c(90): // Builds state properties from definition passed to
registerState()\n
Login.c(90): var stateBuilder = {\n
Login.c(90): \n
Login.c(90): // Derive parent state from a hierarchical name only if
'parent' is not explicitly def
Login.c(90): ined.\n
Login.c(90): // state.children = [];\n
Login.c(90): // if (parent) parent.children.push(state);\n
Login.c(90): parent: function(state) {\n
Login.c(90): if (isDefined(state.parent) && state.parent) return
findState(state.parent);\n
Login.c(90): // regex matches any valid composite state name\n
Login.c(90): // would match "contact.list" but not "contacts"\n
Login.c(90): var compositeName = /^(.+)\\.[^.]+$/.exec(state.name);\n
Login.c(90): return compositeName ? findState(compositeName[1]) : root;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // inherit 'data' from parent and override by own values (if
any)\n
Login.c(90): data: function(state) {\n
Login.c(90): if (state.parent && state.parent.data) {\n
Login.c(90): state.data = state.self.data = extend({},
state.parent.data, state.data);\n
Login.c(90): }\n
Login.c(90): return state.data;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Build a URLMatcher if necessary, either via a relative or
absolute URL\n
Login.c(90): url: function(state) {\n
Login.c(90): var url = state.url, config = { params: state.params ||
{} };\n
Login.c(90): \n
Login.c(90): if (isString(url)) {\n
Login.c(90): if (url.charAt(0) == '^') return
$urlMatcherFactory.compile(url.substring(1), conf
Login.c(90): ig);\n
Login.c(90): return (state.parent.navigable || root).url.concat(url,
config);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!url || $urlMatcherFactory.isMatcher(url)) return url;\n
Login.c(90): throw new Error("Invalid url '" + url + "' in state '" +
state + "'");\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Keep track of the closest ancestor state that has a URL
(i.e. is navigable)\n
Login.c(90): navigable: function(state) {\n
Login.c(90): return state.url ? state : (state.parent ?
state.parent.navigable : null);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Derive parameters for this state and ensure they're a
super-set of parent's paramet
Login.c(90): ers\n
Login.c(90): params: function(state) {\n
Login.c(90): if (!state.params) {\n
Login.c(90): return state.url ? state.url.params :
state.parent.params;\n
Login.c(90): }\n
Login.c(90): return state.params;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // If there is no explicit multi-view configuration, make one
up so we don't have\n
Login.c(90): // to handle both cases in the view directive later. Note that
having an explicit\n
Login.c(90): // 'views' property will mean the default unnamed view
properties are ignored. This\n
Login.c(90): // is also a good time to resolve view names to absolute
names, so everything is a\n
Login.c(90): // straight lookup at link time.\n
Login.c(90): views: function(state) {\n
Login.c(90): var views = {};\n
Login.c(90): \n
Login.c(90): forEach(isDefined(state.views) ? state.views : { '':
state }, function (view, name)
Login.c(90): {\n
Login.c(90): if (name.indexOf('@') < 0) name += '@' +
state.parent.name;\n
Login.c(90): views[name] = view;\n
Login.c(90): });\n
Login.c(90): return views;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ownParams: function(state) {\n
Login.c(90): state.params = state.params || {};\n
Login.c(90): \n
Login.c(90): if (!state.parent) {\n
Login.c(90): return objectKeys(state.params);\n
Login.c(90): }\n
Login.c(90): var paramNames = {}; forEach(state.params, function (v, k) {
paramNames[k] = true; }
Login.c(90): );\n
Login.c(90): \n
Login.c(90): forEach(state.parent.params, function (v, k) {\n
Login.c(90): if (!paramNames[k]) {\n
Login.c(90): throw new Error("Missing required parameter '" + k + "'
in state '" + state.name
Login.c(90): + "'");\n
Login.c(90): }\n
Login.c(90): paramNames[k] = false;\n
Login.c(90): });\n
Login.c(90): var ownParams = [];\n
Login.c(90): \n
Login.c(90): forEach(paramNames, function (own, p) {\n
Login.c(90): if (own) ownParams.push(p);\n
Login.c(90): });\n
Login.c(90): return ownParams;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Keep a full path from the root down to this state as this
is needed for state activ
Login.c(90): ation.\n
Login.c(90): path: function(state) {\n
Login.c(90): return state.parent ? state.parent.path.concat(state) :
[]; // exclude root from pat
Login.c(90): h\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): // Speed up $state.contains() as it's used a lot\n
Login.c(90): includes: function(state) {\n
Login.c(90): var includes = state.parent ? extend({},
state.parent.includes) : {};\n
Login.c(90): includes[state.name] = true;\n
Login.c(90): return includes;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): $delegates: {}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function isRelative(stateName) {\n
Login.c(90): return stateName.indexOf(".") === 0 || stateName.indexOf("^")
=== 0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function findState(stateOrName, base) {\n
Login.c(90): if (!stateOrName) return undefined;\n
Login.c(90): \n
Login.c(90): var isStr = isString(stateOrName),\n
Login.c(90): name = isStr ? stateOrName : stateOrName.name,\n
Login.c(90): path = isRelative(name);\n
Login.c(90): \n
Login.c(90): if (path) {\n
Login.c(90): if (!base) throw new Error("No reference point given for
path '" + name + "'");\n
Login.c(90): var rel = name.split("."), i = 0, pathLength = rel.length,
current = base;\n
Login.c(90): \n
Login.c(90): for (; i < pathLength; i++) {\n
Login.c(90): if (rel[i] === "" && i === 0) {\n
Login.c(90): current = base;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): if (rel[i] === "^") {\n
Login.c(90): if (!current.parent) throw new Error("Path '" + name +
"' not valid for state '"
Login.c(90): + base.name + "'");\n
Login.c(90): current = current.parent;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): rel = rel.slice(i).join(".");\n
Login.c(90): name = current.name + (current.name && rel ? "." : "") +
rel;\n
Login.c(90): }\n
Login.c(90): var state = states[name];\n
Login.c(90): \n
Login.c(90): if (state && (isStr || (!isStr && (state === stateOrName ||
state.self === stateOrName
Login.c(90): )))) {\n
Login.c(90): return state;\n
Login.c(90): }\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function queueState(parentName, state) {\n
Login.c(90): if (!queue[parentName]) {\n
Login.c(90): queue[parentName] = [];\n
Login.c(90): }\n
Login.c(90): queue[parentName].push(state);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function registerState(state) {\n
Login.c(90): // Wrap a new object around the state so we can store our
private details easily.\n
Login.c(90): state = inherit(state, {\n
Login.c(90): self: state,\n
Login.c(90): resolve: state.resolve || {},\n
Login.c(90): toString: function() { return this.name; }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var name = state.name;\n
Login.c(90): if (!isString(name) || name.indexOf('@') >= 0) throw new
Error("State must have a vali
Login.c(90): d name");\n
Login.c(90): if (states.hasOwnProperty(name)) throw new Error("State '" +
name + "'' is already def
Login.c(90): ined");\n
Login.c(90): \n
Login.c(90): // Get parent name\n
Login.c(90): var parentName = (name.indexOf('.') !== -1) ?
name.substring(0, name.lastIndexOf('.'))
Login.c(90): \n
Login.c(90): : (isString(state.parent)) ? state.parent\n
Login.c(90): : '';\n
Login.c(90): \n
Login.c(90): // If parent is not registered yet, add state to queue and
register later\n
Login.c(90): if (parentName && !states[parentName]) {\n
Login.c(90): return queueState(parentName, state.self);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in stateBuilder) {\n
Login.c(90): if (isFunction(stateBuilder[key])) state[key] =
stateBuilder[key](state, stateBuilde
Login.c(90): r.$delegates[key]);\n
Login.c(90): }\n
Login.c(90): states[name] = state;\n
Login.c(90): \n
Login.c(90): // Register the state in the global state list and with
$urlRouter if necessary.\n
Login.c(90): if (!state[abstractKey] && state.url) {\n
Login.c(90): $urlRouterProvider.when(state.url, ['$match',
'$stateParams', function ($match, $sta
Login.c(90): teParams) {\n
Login.c(90): if ($state.$current.navigable != state || !
equalForKeys($match, $stateParams)) {\n
Login.c(90): $state.transitionTo(state, $match, { location:
false });\n
Login.c(90): }\n
Login.c(90): }]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Register any queued children\n
Login.c(90): if (queue[name]) {\n
Login.c(90): for (var i = 0; i < queue[name].length; i++) {\n
Login.c(90): registerState(queue[name][i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return state;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Checks text to see if it looks like a glob.\n
Login.c(90): function isGlob (text) {\n
Login.c(90): return text.indexOf('*') > -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Returns true if glob matches current $state name.\n
Login.c(90): function doesStateMatchGlob (glob) {\n
Login.c(90): var globSegments = glob.split('.'),\n
Login.c(90): segments = $state.$current.name.split('.');\n
Login.c(90): \n
Login.c(90): //match greedy starts\n
Login.c(90): if (globSegments[0] === '**') {\n
Login.c(90): segments =
segments.slice(segments.indexOf(globSegments[1]));\n
Login.c(90): segments.unshift('**');\n
Login.c(90): }\n
Login.c(90): //match greedy ends\n
Login.c(90): if (globSegments[globSegments.length - 1] === '**') {\n
Login.c(90):
segments.splice(segments.indexOf(globSegments[globSegments.length - 2]) + 1, Number
Login.c(90): .MAX_VALUE);\n
Login.c(90): segments.push('**');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (globSegments.length != segments.length) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): //match single stars\n
Login.c(90): for (var i = 0, l = globSegments.length; i < l; i++) {\n
Login.c(90): if (globSegments[i] === '*') {\n
Login.c(90): segments[i] = '*';\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return segments.join('') === globSegments.join('');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): // Implicit root state that is always active\n
Login.c(90): root = registerState({\n
Login.c(90): name: '',\n
Login.c(90): url: '^',\n
Login.c(90): views: null,\n
Login.c(90): 'abstract': true\n
Login.c(90): });\n
Login.c(90): root.navigable = null;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$stateProvider#decorator\n
Login.c(90): * @methodOf ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Allows you to extend (carefully) or override (at your own
peril) the \n
Login.c(90): * `stateBuilder` object used internally by `$stateProvider`.
This can be used \n
Login.c(90): * to add custom functionality to ui-router, for example
inferring templateUrl \n
Login.c(90): * based on the state name.\n
Login.c(90): *\n
Login.c(90): * When passing only a name, it returns the current (original or
decorated) builder\n
Login.c(90): * function that matches `name`.\n
Login.c(90): *\n
Login.c(90): * The builder functions that can be decorated are listed below.
Though not all\n
Login.c(90): * necessarily have a good use case for decoration, that is up
to you to decide.\n
Login.c(90): *\n
Login.c(90): * In addition, users can attach custom decorators, which will
generate new \n
Login.c(90): * properties within the state's internal definition. The
Login.c(90): t=3707ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): re is currently no clear \n
Login.c(90): * use-case for this beyond accessing internal states (i.e.
$state.$current), \n
Login.c(90): * however, expect this to become increasingly relevant as we
introduce additional \n
Login.c(90): * meta-programming features.\n
Login.c(90): *\n
Login.c(90): * **Warning**: Decorators should not be interdependent because
the order of \n
Login.c(90): * execution of the builder functions in non-deterministic.
Builder functions \n
Login.c(90): * should only be dependent on the state definition object and
super function.\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * Existing builder functions and current return values:\n
Login.c(90): *\n
Login.c(90): * - **parent** `{object}` - returns the parent state object.\n
Login.c(90): * - **data** `{object}` - returns state data, including any
inherited data that is not\n
Login.c(90): * overridden by own values (if any).\n
Login.c(90): * - **url** `{object}` - returns a {@link
ui.router.util.type:UrlMatcher UrlMatcher}\n
Login.c(90): * or `null`.\n
Login.c(90): * - **navigable** `{object}` - returns closest ancestor state
that has a URL (aka is \n
Login.c(90): * navigable).\n
Login.c(90): * - **params** `{object}` - returns an array of state params
that are ensured to \n
Login.c(90): * be a super-set of parent's params.\n
Login.c(90): * - **views** `{object}` - returns a views object where each
key is an absolute view \n
Login.c(90): * name (i.e. "viewName@stateName") and each value is the
config object \n
Login.c(90): * (template, controller) for the view. Even when you don't
use the views object \n
Login.c(90): * explicitly on a state config, one is still created for you
internally.\n
Login.c(90): * So by decorating this builder function you have access to
decorating template \n
Login.c(90): * and controller properties.\n
Login.c(90): * - **ownParams** `{object}` - returns an array of params that
belong to the state, \n
Login.c(90): * not including any params defined by ancestor states.\n
Login.c(90): * - **path** `{string}` - returns the full path from the root
down to this state. \n
Login.c(90): * Needed for state activation.\n
Login.c(90): * - **includes** `{object}` - returns an object that includes
every state that \n
Login.c(90): * would pass a `$state.includes()` test.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * // Override the internal 'views' builder with a function that
takes the state\n
Login.c(90): * // definition, and a reference to the internal function being
overridden:\n
Login.c(90): * $stateProvider.decorator('views', function (state, parent)
{\n
Login.c(90): * var result = {},\n
Login.c(90): * views = parent(state);\n
Login.c(90): *\n
Login.c(90): * angular.forEach(views, function (config, name) {\n
Login.c(90): * var autoName = (state.name + '.' + name).replace('.',
'/');\n
Login.c(90): * config.templateUrl = config.templateUrl || '/partials/' +
autoName + '.html';\n
Login.c(90): * result[name] = config;\n
Login.c(90): * });\n
Login.c(90): * return result;\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * $stateProvider.state('home', {\n
Login.c(90): * views: {\n
Login.c(90): * 'contact.list': { controller: 'ListController' },\n
Login.c(90): * 'contact.item': { controller: 'ItemController' }\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // ...\n
Login.c(90): *\n
Login.c(90): * $state.go('home');\n
Login.c(90): * // Auto-populates list and item views with
/partials/home/contact/list.html,\n
Login.c(90): * // and /partials/home/contact/item.html, respectively.\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} name The name of the builder function to
decorate. \n
Login.c(90): * @param {object} func A function that is responsible for
decorating the original \n
Login.c(90): * builder function. The function receives two parameters:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - state - The state config object.\n
Login.c(90): * - `{object}` - super - The original builder function.\n
Login.c(90): *\n
Login.c(90): * @return {object} $stateProvider - $stateProvider instance\n
Login.c(90): */\n
Login.c(90): this.decorator = decorator;\n
Login.c(90): function decorator(name, func) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): if (isString(name) && !isDefined(func)) {\n
Login.c(90): return stateBuilder[name];\n
Login.c(90): }\n
Login.c(90): if (!isFunction(func) || !isString(name)) {\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): if (stateBuilder[name] && !stateBuilder.$delegates[name]) {\n
Login.c(90): stateBuilder.$delegates[name] = stateBuilder[name];\n
Login.c(90): }\n
Login.c(90): stateBuilder[name] = func;\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$stateProvider#state\n
Login.c(90): * @methodOf ui.router.state.$stateProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Registers a state configuration under a given state name. The
stateConfig object\n
Login.c(90): * has the following acceptable properties.\n
Login.c(90): *\n
Login.c(90): * <a id='template'></a>\n
Login.c(90): *\n
Login.c(90): * - **`template`** - {string|function=} - html template as a
string or a function that
Login.c(90): returns\n
Login.c(90): * an html template as a string which should be used by the
uiView directives. This pr
Login.c(90): operty \n
Login.c(90): * takes precedence over templateUrl.\n
Login.c(90): * \n
Login.c(90): * If `template` is a function, it will be called with the
following parameters:\n
Login.c(90): *\n
Login.c(90): * - {array.&lt;object&gt;} - state parameters extracted from
the current $location.pa
Login.c(90): th() by\n
Login.c(90): * applying the current state\n
Login.c(90): *\n
Login.c(90): * <a id='templateUrl'></a>\n
Login.c(90): *\n
Login.c(90): * - **`templateUrl`** - {string|function=} - path or function
that returns a path to an
Login.c(90): html \n
Login.c(90): * template that should be used by uiView.\n
Login.c(90): * \n
Login.c(90): * If `templateUrl` is a function, it will be called with the
following parameters:\n
Login.c(90): *\n
Login.c(90): * - {array.&lt;object&gt;} - state parameters extracted from
the current $location.pa
Login.c(90): th() by \n
Login.c(90): * applying the current state\n
Login.c(90): *\n
Login.c(90): * <a id='templateProvider'></a>\n
Login.c(90): *\n
Login.c(90): * - **`templateProvider`** - {function=} - Provider function
that returns HTML content\n
Login.c(90): * string.\n
Login.c(90): *\n
Login.c(90): * <a id='controller'></a>\n
Login.c(90): *\n
Login.c(90): * - **`controller`** - {string|function=} - Controller fn that
should be associated wi
Login.c(90): th newly \n
Login.c(90): * related scope or the name of a registered controller if
passed as a string.\n
Login.c(90): *\n
Login.c(90): * <a id='controllerProvider'></a>\n
Login.c(90): *\n
Login.c(90): * - **`controllerProvider`** - {function=} - Injectable
provider function that returns\n
Login.c(90): * the actual controller or string.\n
Login.c(90): *\n
Login.c(90): * <a id='controllerAs'></a>\n
Login.c(90): * \n
Login.c(90): * - **`controllerAs`** \xE2\x80\x93 {string=} \xE2\x80\x93 A
controller alias name. If
Login.c(90): present the controller will be \n
Login.c(90): * published to scope under the controllerAs name.\n
Login.c(90): *\n
Login.c(90): * <a id='resolve'></a>\n
Login.c(90): *\n
Login.c(90): * - **`resolve`** - {object.&lt;string, function&gt;=} - An
optional map of dependencie
Login.c(90): s which \n
Login.c(90): * should be injected into the controller. If any of these
dependencies are promises,
Login.c(90): \n
Login.c(90): * the router will wait for them all to be resolved or one to
be rejected before the \n
Login.c(90): * controller is instantiated. If all the promises are
resolved successfully, the valu
Login.c(90): es \n
Login.c(90): * of the resolved promises are injected and
$stateChangeSuccess event is fired. If an
Login.c(90): y \n
Login.c(90): * of the promises are rejected the $stateChangeError event is
fired. The map object i
Login.c(90): s:\n
Login.c(90): * \n
Login.c(90): * - key - {string}: name of dependency to be injected into
controller\n
Login.c(90): * - factory - {string|function}: If string then it is alias
for service. Otherwise if
Login.c(90): function, \n
Login.c(90): * it is injected and return value it treated as dependency.
If result is a promise,
Login.c(90): it is \n
Login.c(90): * resolved before its value is injected into controller.\n
Login.c(90): *\n
Login.c(90): * <a id='url'></a>\n
Login.c(90): *\n
Login.c(90): * - **`url`** - {string=} - A url with optional parameters.
When a state is navigated o
Login.c(90): r\n
Login.c(90): * transitioned to, the `$stateParams` service will be
populated with any \n
Login.c(90): * parameters that were passed.\n
Login.c(90): *\n
Login.c(90): * <a id='params'></a>\n
Login.c(90): *\n
Login.c(90): * - **`params`** - {object=} - An array of parameter names or
regular expressions. Only
Login.c(90): \n
Login.c(90): * use this within a state if you are not using url. Otherwise
you can specify your\n
Login.c(90): * parameters within the url. When a state is navigated or
transitioned to, the \n
Login.c(90): * $stateParams service will be populated with any parameters
that were passed.\n
Login.c(90): *\n
Login.c(90): * <a id='views'></a>\n
Login.c(90): *\n
Login.c(90): * - **`views`** - {object=} - Use the views property to set up
multiple views or to tar
Login.c(90): get views\n
Login.c(90): * manually/explicitly.\n
Login.c(90): *\n
Login.c(90): * <a id='abstract'></a>\n
Login.c(90): *\n
Login.c(90): * - **`abstract`** - {boolean=} - An abstract state will never
be directly activated, \n
Login.c(90): * but can provide inherited properties to its common children
states.\n
Login.c(90): *\n
Login.c(90): * <a id='onEnter'></a>\n
Login.c(90): *\n
Login.c(90): * - **`onEnter`** - {object=} - Callback function for when a
state is entered. Good way
Login.c(90): \n
Login.c(90): * to trigger an action or dispatch an event, such as opening
a dialog.\n
Login.c(90): * If minifying your scripts, make sure to use the
`['injection1', 'injection2', functio
Login.c(90): n(injection1, injection2){}]` syntax.\n
Login.c(90): *\n
Login.c(90): * <a id='onExit'></a>\n
Login.c(90): *\n
Login.c(90): * - **`onExit`** - {object=} - Callback function for when a
state is exited. Good way t
Login.c(90): o\n
Login.c(90): * trigger an action or dispatch an event, such as opening a
dialog.\n
Login.c(90): * If minifying your scripts, make sure to use the
`['injection1', 'injection2', functio
Login.c(90): n(injection1, injection2){}]` syntax.\n
Login.c(90): *\n
Login.c(90): * <a id='reloadOnSearch'></a>\n
Login.c(90): *\n
Login.c(90): * - **`reloadOnSearch = true`** - {boolean=} - If `false`, will
not retrigger the same
Login.c(90): state \n
Login.c(90): * just because a search/query parameter has changed (via
$location.search() or $locat
Login.c(90): ion.hash()). \n
Login.c(90): * Useful for when you'd like to modify $location.search()
without triggering a reload
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * <a id='data'></a>\n
Login.c(90): *\n
Login.c(90): * - **`data`** - {object=} - Arbitrary data object, useful for
custom configuration.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * // Some state name examples\n
Login.c(90): *\n
Login.c(90): * // stateName can be a single top-level name (must be
unique).\n
Login.c(90): * $stateProvider.state("home", {});\n
Login.c(90): *\n
Login.c(90): * // Or it can be a nested state name. This state is a child of
the \n
Login.c(90): * // above "home" state.\n
Login.c(90): * $stateProvider.state("home.newest", {});\n
Login.c(90): *\n
Login.c(90): * // Nest states as deeply as needed.\n
Login.c(90): * $stateProvider.state("home.newest.abc.xyz.inception", {});\n
Login.c(90): *\n
Login.c(90): * // state() returns $stateProvider, so you can chain state
declarations.\n
Login.c(90): * $stateProvider\n
Login.c(90): * .state("home", {})\n
Login.c(90): * .state("about", {})\n
Login.c(90): * .state("contacts", {});\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} name A unique state name, e.g. "home",
"about", "contacts". \n
Login.c(90): * To create a parent/child state use a dot, e.g. "about.sales",
"home.newest".\n
Login.c(90): * @param {object} definition State configuration object.\n
Login.c(90): */\n
Login.c(90): this.state = state;\n
Login.c(90): function state(name, definition) {\n
Login.c(90): /*jshint validthis: true */\n
Login.c(90): if (isObject(name)) definition = name;\n
Login.c(90): else definition.name = name;\n
Login.c(90): registerState(definition);\n
Login.c(90): return this;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @requires $rootScope\n
Login.c(90): * @requires $q\n
Login.c(90): * @requires ui.router.state.$view\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires ui.router.util.$resolve\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires ui.router.router.$urlRouter\n
Login.c(90): *\n
Login.c(90): * @property {object} params A param object, e.g. {sectionId:
section.id)}, that \n
Login.c(90): * you'd like to test against the current active state.\n
Login.c(90): * @property {object} current A reference to the state's config
object. However \n
Login.c(90): * you passed it in. Useful for accessing custom data.\n
Login.c(90): * @property {object} transition Currently pending transition. A
promise that'll \n
Login.c(90): * resolve or reject.\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * `$state` service is responsible for representing states as
well as transitioning\n
Login.c(90): * between them. It also provides interfaces to ask for current
state or even states\n
Login.c(90): * you're coming from.\n
Login.c(90): */\n
Login.c(90): this.$get = $get;\n
Login.c(90): $get.$inject = ['$rootScope', '$q', '$view', '$injector',
'$resolve', '$stateParams', '$
Login.c(90): urlRouter'];\n
Login.c(90): function $get( $rootScope, $q, $view, $injector,
$resolve, $stateParams, $
Login.c(90): urlRouter) {\n
Login.c(90): \n
Login.c(90): var TransitionSuperseded = $q.reject(new Error('transition
superseded'));\n
Login.c(90): var TransitionPrevented = $q.reject(new Error('transition
prevented'));\n
Login.c(90): var TransitionAborted = $q.reject(new Error('transition
aborted'));\n
Login.c(90): var TransitionFailed = $q.reject(new Error('transition
failed'));\n
Login.c(90): \n
Login.c(90): // Handles the case where a state which is the target of a
transition is not found, an
Login.c(90): d the user\n
Login.c(90): // can optionally retry or defer the transition\n
Login.c(90): function handleRedirect(redirect, state, params, options) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateNotFound\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when a requested state **cannot be found** using
the provided state name du
Login.c(90): ring transition.\n
Login.c(90): * The event is broadcast allowing any handlers a single
chance to deal with the err
Login.c(90): or (usually by\n
Login.c(90): * lazy-loading the unfound state). A special `unfoundState`
object is passed to the
Login.c(90): listener handler,\n
Login.c(90): * you can see its three properties in the example. You can
use `event.preventDefaul
Login.c(90): t()` to abort the\n
Login.c(90): * transition and the promise returned from `go` will be
rejected with a `'transitio
Login.c(90): n aborted'` value.\n
Login.c(90): *\n
Login.c(90): * @param
Login.c(90): t=3720ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): {Object} event Event object.\n
Login.c(90): * @param {Object} unfoundState Unfound State information.
Contains: `to, toParams,
Login.c(90): options` properties.\n
Login.c(90): * @param {State} fromState Current state object.\n
Login.c(90): * @param {Object} fromParams Current state params.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * // somewhere, assume lazy.state has not been defined\n
Login.c(90): * $state.go("lazy.state", {a:1, b:2}, {inherit:false});\n
Login.c(90): *\n
Login.c(90): * // somewhere else\n
Login.c(90): * $scope.$on('$stateNotFound',\n
Login.c(90): * function(event, unfoundState, fromState, fromParams){\n
Login.c(90): * console.log(unfoundState.to); // "lazy.state"\n
Login.c(90): * console.log(unfoundState.toParams); // {a:1, b:2}\n
Login.c(90): * console.log(unfoundState.options); // {inherit:false}
+ default options\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): var evt = $rootScope.$broadcast('$stateNotFound', redirect,
state, params);\n
Login.c(90): \n
Login.c(90): if (evt.defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionAborted;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!evt.retry) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Allow the handler to return a promise to defer state
lookup retry\n
Login.c(90): if (options.$retry) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionFailed;\n
Login.c(90): }\n
Login.c(90): var retryTransition = $state.transition =
$q.when(evt.retry);\n
Login.c(90): \n
Login.c(90): retryTransition.then(function() {\n
Login.c(90): if (retryTransition !== $state.transition) return
TransitionSuperseded;\n
Login.c(90): redirect.options.$retry = true;\n
Login.c(90): return $state.transitionTo(redirect.to, redirect.toParams,
redirect.options);\n
Login.c(90): }, function() {\n
Login.c(90): return TransitionAborted;\n
Login.c(90): });\n
Login.c(90): $urlRouter.update();\n
Login.c(90): \n
Login.c(90): return retryTransition;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): root.locals = { resolve: null, globals: { $stateParams:
{} } };\n
Login.c(90): \n
Login.c(90): $state = {\n
Login.c(90): params: {},\n
Login.c(90): current: root.self,\n
Login.c(90): $current: root,\n
Login.c(90): transition: null\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#reload\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A method that force reloads the current state. All resolves
are re-resolved, events
Login.c(90): are not re-fired, \n
Login.c(90): * and controllers reinstantiated (bug with controllers
reinstantiating right now, fix
Login.c(90): ing soon).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.reload = function(){\n
Login.c(90): * $state.reload();\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * `reload()` is just an alias for:\n
Login.c(90): * <pre>\n
Login.c(90): * $state.transitionTo($state.current, $stateParams, { \n
Login.c(90): * reload: true, inherit: false, notify: false \n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $state.reload = function reload() {\n
Login.c(90): $state.transitionTo($state.current, $stateParams, { reload:
true, inherit: false, no
Login.c(90): tify: false });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#go\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Convenience method for transitioning to a new state.
`$state.go` calls \n
Login.c(90): * `$state.transitionTo` internally but automatically sets
options to \n
Login.c(90): * `{ location: true, inherit: true, relative: $state.
$current, notify: true }`. \n
Login.c(90): * This allows you to easily use an absolute or relative to
path and specify \n
Login.c(90): * only the parameters you'd like to update (while letting
unspecified parameters \n
Login.c(90): * inherit from the currently active ancestor states).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.changeState = function () {\n
Login.c(90): * $state.go('contact.detail');\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): * <img src='../ngdoc_assets/StateGoExamples.png'/>\n
Login.c(90): *\n
Login.c(90): * @param {string} to Absolute state name or relative state
path. Some examples:\n
Login.c(90): *\n
Login.c(90): * - `$state.go('contact.detail')` - will go to the
`contact.detail` state\n
Login.c(90): * - `$state.go('^')` - will go to a parent state\n
Login.c(90): * - `$state.go('^.sibling')` - will go to a sibling state\n
Login.c(90): * - `$state.go('.child.grandchild')` - will go to grandchild
state\n
Login.c(90): *\n
Login.c(90): * @param {object=} params A map of the parameters that will
be sent to the state, \n
Login.c(90): * will populate $stateParams. Any parameters that are not
specified will be inherited
Login.c(90): from currently \n
Login.c(90): * defined parameters. This allows, for example, going to a
sibling state that shares
Login.c(90): parameters\n
Login.c(90): * specified in a parent state. Parameter inheritance only
works between common ancest
Login.c(90): or states, I.e.\n
Login.c(90): * transitioning to a sibling will get you the parameters for
all parents, transitioni
Login.c(90): ng to a child\n
Login.c(90): * will get you all current parameters, etc.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`location`** - {boolean=true|string=} - If `true` will
update the url in the lo
Login.c(90): cation bar, if `false`\n
Login.c(90): * will not. If string, must be `"replace"`, which will
update url and also replace
Login.c(90): last history record.\n
Login.c(90): * - **`inherit`** - {boolean=true}, If `true` will inherit
url parameters from curren
Login.c(90): t url.\n
Login.c(90): * - **`relative`** - {object=$state.$current}, When
transitioning with relative path
Login.c(90): (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`notify`** - {boolean=true}, If `true` will broadcast
$stateChangeStart and $st
Login.c(90): ateChangeSuccess events.\n
Login.c(90): * - **`reload`** (v0.2.5) - {boolean=false}, If `true` will
force transition even if
Login.c(90): the state or params \n
Login.c(90): * have not changed, aka a reload of the same state. It
differs from reloadOnSearch
Login.c(90): because you'd\n
Login.c(90): * use this when you want to force a reload when
*everything* is the same, includin
Login.c(90): g search params.\n
Login.c(90): *\n
Login.c(90): * @returns {promise} A promise representing the state of the
new transition.\n
Login.c(90): *\n
Login.c(90): * Possible success values:\n
Login.c(90): *\n
Login.c(90): * - $state.current\n
Login.c(90): *\n
Login.c(90): * <br/>Possible rejection values:\n
Login.c(90): *\n
Login.c(90): * - 'transition superseded' - when a newer transition has
been started after this one
Login.c(90): \n
Login.c(90): * - 'transition prevented' - when `event.preventDefault()`
has been called in a `$sta
Login.c(90): teChangeStart` listener\n
Login.c(90): * - 'transition aborted' - when `event.preventDefault()` has
been called in a `$state
Login.c(90): NotFound` listener or\n
Login.c(90): * when a `$stateNotFound` `event.retry` promise errors.\n
Login.c(90): * - 'transition failed' - when a state has been
unsuccessfully found after 2 tries.\n
Login.c(90): * - *resolve error* - when an error has occurred with a
`resolve`\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $state.go = function go(to, params, options) {\n
Login.c(90): return $state.transitionTo(to, params, extend({ inherit:
true, relative: $state.$cur
Login.c(90): rent }, options));\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#transitionTo\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Low-level method for transitioning to a new state. {@link
ui.router.state.$state#me
Login.c(90): thods_go $state.go}\n
Login.c(90): * uses `transitionTo` internally. `$state.go` is recommended
in most situations.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * var app = angular.module('app', ['ui.router']);\n
Login.c(90): *\n
Login.c(90): * app.controller('ctrl', function ($scope, $state) {\n
Login.c(90): * $scope.changeState = function () {\n
Login.c(90): * $state.transitionTo('contact.detail');\n
Login.c(90): * };\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} to State name.\n
Login.c(90): * @param {object=} toParams A map of the parameters that will
be sent to the state,\n
Login.c(90): * will populate $stateParams.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`location`** - {boolean=true|string=} - If `true` will
update the url in the lo
Login.c(90): cation bar, if `false`\n
Login.c(90): * will not. If string, must be `"replace"`, which will
update url and also replace
Login.c(90): last history record.\n
Login.c(90): * - **`inherit`** - {boolean=false}, If `true` will inherit
url parameters from curre
Login.c(90): nt url.\n
Login.c(90): * - **`relative`** - {object=}, When transitioning with
relative path (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`notify`** - {boolean=true}, If `true` will broadcast
$stateChangeStart and $st
Login.c(90): ateChangeSuccess events.\n
Login.c(90): * - **`reload`** (v0.2.5) - {boolean=false}, If `true` will
force transition even if
Login.c(90): the state or params \n
Login.c(90): * have not changed, aka a reload of the same state. It
differs from reloadOnSearch
Login.c(90): because you'd\n
Login.c(90): * use this when you want to force a reload when
*everything* is the same, includin
Login.c(90): g search params.\n
Login.c(90): *\n
Login.c(90): * @returns {promise} A promise representing the state of the
new transition. See\n
Login.c(90): * {@link ui.router.state.$state#methods_go $state.go}.\n
Login.c(90): */\n
Login.c(90): $state.transitionTo = function transitionTo(to, toParams,
options) {\n
Login.c(90): toParams = toParams || {};\n
Login.c(90): options = extend({\n
Login.c(90): location: true, inherit: false, relative: null, notify:
true, reload: false, $retr
Login.c(90): y: false\n
Login.c(90): }, options || {});\n
Login.c(90): \n
Login.c(90): var from = $state.$current, fromParams = $state.params,
fromPath = from.path;\n
Login.c(90): var evt, toState = findState(to, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(toState)) {\n
Login.c(90): var redirect = { to: to, toParams: toParams, options:
options };\n
Login.c(90): var redirectResult = handleRedirect(redirect, from.self,
fromParams, options);\n
Login.c(90): \n
Login.c(90): if (redirectResult) {\n
Login.c(90): return redirectResult;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Always retry once if the $stateNotFound was not
prevented\n
Login.c(90): // (handles either redirect changed or state lazy-
definition)\n
Login.c(90): to = redirect.to;\n
Login.c(90): toParams = redirect.toParams;\n
Login.c(90): options = redirect.options;\n
Login.c(90): toState = findState(to, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(toState)) {\n
Login.c(90): if (!options.relative) throw new Error("No such state '"
+ to + "'");\n
Login.c(90): throw new Error("Could not resolve '" + to + "' from
state '" + options.relative
Login.c(90): + "'");\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (toState[abstractKey]) throw new Error("Cannot transition
to abstract state '" +
Login.c(90): to + "'");\n
Login.c(90): if (options.inherit) toParams = inheritParams($stateParams,
toParams || {}, $state.$
Login.c(90): current, toState);\n
Login.c(90): to = toState;\n
Login.c(90): \n
Login.c(90): var toPath = to.path;\n
Login.c(90): \n
Login.c(90): // Starting from the root of the path, keep all levels that
haven't changed\n
Login.c(90): var keep = 0, state = toPath[keep], locals = root.locals,
toLocals = [];\n
Login.c(90): \n
Login.c(90): if (!options.reload) {\n
Login.c(90): while (state && state === fromPath[keep] &&
equalForKeys(toParams, fromParams, sta
Login.c(90): te.ownParams)) {\n
Login.c(90): locals = toLocals[keep] = state.locals;\n
Login.c(90): keep++;\n
Login.c(90): state = toPath[keep];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // If we're going to the same state and all locals are kept,
we've got nothing to do
Login.c(90): .\n
Login.c(90): // But clear 'transition', as we still want to cancel any
other pending transitions.
Login.c(90): \n
Login.c(90): // TODO: We may not want to bump 'transition' if we're
called from a location change
Login.c(90): \n
Login.c(90): // that we've initiated ourselves, because we might
accidentally abort a legitimate\n
Login.c(90): // transition initiated from code?\n
Login.c(90): if (shouldTriggerReload(to, from, locals, options)) {\n
Login.c(90): if (to.self.reloadOnSearch !== false)
$urlRouter.update();\n
Login.c(90): $state.transition = null;\n
Login.c(90): return $q.when($state.current);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Filter parameters before we pass them to event handlers
etc.\n
Login.c(90): toParams = filterByKeys(objectKeys(to.params), toParams ||
{});\n
Login.c(90): \n
Login.c(90): // Broadcast start event and cancel the transition if
requested\n
Login.c(90): if (options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeStart\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when the state transition **begins**. You can use
`event.preventDefault()
Login.c(90): `\n
Login.c(90): * to prevent the transition from happening and then the
transition promise will b
Login.c(90): e\n
Login.c(90): * rejected with a `'transition prevented'` value.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * $rootScope.$on('$stateChangeStart',\n
Login.c(90): * function(event, toState, toParams, fromState,
fromParams){\n
Login.c(90): * event.preventDefault();\n
Login.c(90): *
Login.c(90): t=3733ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): // transitionTo() promise will be rejected with\n
Login.c(90): * // a 'transition prevented' error\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): if ($rootScope.$broadcast('$stateChangeStart', to.self,
toParams, from.self, fromP
Login.c(90): arams).defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): return TransitionPrevented;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Resolve locals for the remaining states, but don't update
any global state just\n
Login.c(90): // yet -- if anything fails to resolve the current state
needs to remain untouched.\n
Login.c(90): // We also set up an inheritance chain for the locals here.
This allows the view dir
Login.c(90): ective\n
Login.c(90): // to quickly look up the correct definition for each view
in the current state. Eve
Login.c(90): n\n
Login.c(90): // though we create the locals object itself outside
resolveState(), it is initially
Login.c(90): \n
Login.c(90): // empty and gets filled asynchronously. We need to keep
track of the promise for th
Login.c(90): e\n
Login.c(90): // (fully resolved) current locals, and pass this down the
chain.\n
Login.c(90): var resolved = $q.when(locals);\n
Login.c(90): \n
Login.c(90): for (var l = keep; l < toPath.length; l++, state =
toPath[l]) {\n
Login.c(90): locals = toLocals[l] = inherit(locals);\n
Login.c(90): resolved = resolveState(state, toParams, state === to,
resolved, locals);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Once everything is resolved, we are ready to perform the
actual transition\n
Login.c(90): // and return a promise for the new state. We also keep
track of what the\n
Login.c(90): // current promise is, so that we can detect overlapping
transitions and\n
Login.c(90): // keep only the outcome of the last transition.\n
Login.c(90): var transition = $state.transition = resolved.then(function
() {\n
Login.c(90): var l, entering, exiting;\n
Login.c(90): \n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): // Exit 'from' states not kept\n
Login.c(90): for (l = fromPath.length - 1; l >= keep; l--) {\n
Login.c(90): exiting = fromPath[l];\n
Login.c(90): if (exiting.self.onExit) {\n
Login.c(90): $injector.invoke(exiting.self.onExit, exiting.self,
exiting.locals.globals);\n
Login.c(90): }\n
Login.c(90): exiting.locals = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Enter 'to' states not kept\n
Login.c(90): for (l = keep; l < toPath.length; l++) {\n
Login.c(90): entering = toPath[l];\n
Login.c(90): entering.locals = toLocals[l];\n
Login.c(90): if (entering.self.onEnter) {\n
Login.c(90): $injector.invoke(entering.self.onEnter, entering.self,
entering.locals.globals
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Run it again, to catch any transitions in callbacks\n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): // Update globals in $state\n
Login.c(90): $state.$current = to;\n
Login.c(90): $state.current = to.self;\n
Login.c(90): $state.params = toParams;\n
Login.c(90): copy($state.params, $stateParams);\n
Login.c(90): $state.transition = null;\n
Login.c(90): \n
Login.c(90): if (options.location && to.navigable) {\n
Login.c(90): $urlRouter.push(to.navigable.url,
to.navigable.locals.globals.$stateParams, {\n
Login.c(90): replace: options.location === 'replace'\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeSuccess\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired once the state transition is **complete**.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): */\n
Login.c(90): $rootScope.$broadcast('$stateChangeSuccess', to.self,
toParams, from.self, fromP
Login.c(90): arams);\n
Login.c(90): }\n
Login.c(90): $urlRouter.update(true);\n
Login.c(90): \n
Login.c(90): return $state.current;\n
Login.c(90): }, function (error) {\n
Login.c(90): if ($state.transition !== transition) return
TransitionSuperseded;\n
Login.c(90): \n
Login.c(90): $state.transition = null;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$stateChangeError\n
Login.c(90): * @eventOf ui.router.state.$state\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): * Fired when an **error occurs** during transition. It's
important to note that i
Login.c(90): f you\n
Login.c(90): * have any errors in your resolve functions (javascript
errors, non-existent serv
Login.c(90): ices, etc)\n
Login.c(90): * they will not throw traditionally. You must listen for
this $stateChangeError e
Login.c(90): vent to\n
Login.c(90): * catch **ALL** errors.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {State} toState The state being transitioned
to.\n
Login.c(90): * @param {Object} toParams The params supplied to the
`toState`.\n
Login.c(90): * @param {State} fromState The current state, pre-
transition.\n
Login.c(90): * @param {Object} fromParams The params supplied to the
`fromState`.\n
Login.c(90): * @param {Error} error The resolve error object.\n
Login.c(90): */\n
Login.c(90): evt = $rootScope.$broadcast('$stateChangeError', to.self,
toParams, from.self, fro
Login.c(90): mParams, error);\n
Login.c(90): \n
Login.c(90): if (!evt.defaultPrevented) {\n
Login.c(90): $urlRouter.update();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return $q.reject(error);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return transition;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#is\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Similar to {@link ui.router.state.$state#methods_includes
$state.includes},\n
Login.c(90): * but only checks for the full state name. If params is
supplied then it will be \n
Login.c(90): * tested for strict equality against the current active
params object, so all params
Login.c(90): \n
Login.c(90): * must match with none missing and no extras.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item';\n
Login.c(90): *\n
Login.c(90): * // absolute name\n
Login.c(90): * $state.is('contact.details.item'); // returns true\n
Login.c(90): * $state.is(contactDetailItemStateObject); // returns true\n
Login.c(90): *\n
Login.c(90): * // relative name (. and ^), typically from a template\n
Login.c(90): * // E.g. from the 'contacts.details' template\n
Login.c(90): * <div ng-class="{highlighted:
$state.is('.item')}">Item</div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} stateName The state name (absolute
or relative) or state obj
Login.c(90): ect you'd like to check.\n
Login.c(90): * @param {object=} params A param object, e.g. `{sectionId:
section.id}`, that you'd
Login.c(90): like \n
Login.c(90): * to test against the current active state.\n
Login.c(90): * @returns {boolean} Returns true if it is the state.\n
Login.c(90): */\n
Login.c(90): $state.is = function is(stateOrName, params) {\n
Login.c(90): var state = findState(stateOrName);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ($state.$current !== state) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return isDefined(params) && params !== null ?
angular.equals($stateParams, params) :
Login.c(90): true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#includes\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A method to determine if the current active state is equal
to or is the child of th
Login.c(90): e\n
Login.c(90): * state stateName. If any params are passed then they will be
tested for a match as w
Login.c(90): ell.\n
Login.c(90): * Not all the parameters need to be passed, just the ones
you'd like to test for equa
Login.c(90): lity.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Partial and relative names\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item';\n
Login.c(90): *\n
Login.c(90): * // Using partial names\n
Login.c(90): * $state.includes("contacts"); // returns true\n
Login.c(90): * $state.includes("contacts.details"); // returns true\n
Login.c(90): * $state.includes("contacts.details.item"); // returns true\n
Login.c(90): * $state.includes("contacts.list"); // returns false\n
Login.c(90): * $state.includes("about"); // returns false\n
Login.c(90): *\n
Login.c(90): * // Using relative names (. and ^), typically from a
template\n
Login.c(90): * // E.g. from the 'contacts.details' template\n
Login.c(90): * <div ng-class="{highlighted:
$state.includes('.item')}">Item</div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * Basic globbing patterns\n
Login.c(90): * <pre>\n
Login.c(90): * $state.$current.name = 'contacts.details.item.url';\n
Login.c(90): *\n
Login.c(90): * $state.includes("*.details.*.*"); // returns true\n
Login.c(90): * $state.includes("*.details.**"); // returns true\n
Login.c(90): * $state.includes("**.item.**"); // returns true\n
Login.c(90): * $state.includes("*.details.item.url"); // returns true\n
Login.c(90): * $state.includes("*.details.*.url"); // returns true\n
Login.c(90): * $state.includes("*.details.*"); // returns false\n
Login.c(90): * $state.includes("item.**"); // returns false\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} stateOrName A partial name, relative name,
or glob pattern\n
Login.c(90): * to be searched for within the current state name.\n
Login.c(90): * @param {object} params A param object, e.g. `{sectionId:
section.id}`,\n
Login.c(90): * that you'd like to test against the current active state.\n
Login.c(90): * @returns {boolean} Returns true if it does include the
state\n
Login.c(90): */\n
Login.c(90): $state.includes = function includes(stateOrName, params) {\n
Login.c(90): if (isString(stateOrName) && isGlob(stateOrName)) {\n
Login.c(90): if (!doesStateMatchGlob(stateOrName)) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): stateOrName = $state.$current.name;\n
Login.c(90): }\n
Login.c(90): var state = findState(stateOrName);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): if (!isDefined($state.$current.includes[state.name])) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): return equalForKeys(params, $stateParams);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#href\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A url generation method that returns the compiled url for
the given state populated
Login.c(90): with the given params.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * <pre>\n
Login.c(90): * expect($state.href("about.person", { person:
"bob" })).toEqual("/about/bob");\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string|object} stateOrName The state name or state
object you'd like to gen
Login.c(90): erate a url from.\n
Login.c(90): * @param {object=} params An object of parameter values to
fill the state's required
Login.c(90): parameters.\n
Login.c(90): * @param {object=} options Options object. The options are:\n
Login.c(90): *\n
Login.c(90): * - **`lossy`** - {boolean=true} - If true, and if there is
no url associated with t
Login.c(90): he state provided in the\n
Login.c(90): * first parameter, then the constructed href url will be
built from the first navi
Login.c(90): gable ancestor (aka\n
Login.c(90): * ancestor with a valid url).\n
Login.c(90): * - **`inherit`** - {boolean=true}, If `true` will inherit
url parameters from curren
Login.c(90): t url.\n
Login.c(90): * - **`relative`** - {object=$state.$current}, When
transitioning with relative path
Login.c(90): (e.g '^'), \n
Login.c(90): * defines which state to be relative from.\n
Login.c(90): * - **`absolute`** - {boolean=false}, If true will generate
an absolute url, e.g. "h
Login.c(90): ttp://www.example.com/fullurl".\n
Login.c(90): * \n
Login.c(90): * @returns {string} compiled state url\n
Login.c(90): */\n
Login.c(90): $state.href = function href(stateOrName, params, options) {\n
Login.c(90): options = extend({\n
Login.c(90): lossy: true,\n
Login.c(90): inherit: true,\n
Login.c(90): absolute: false,\n
Login.c(90): relative: $state.$current\n
Login.c(90): }, options || {});\n
Login.c(90): \n
Login.c(90): var state = findState(stateOrName, options.relative);\n
Login.c(90): \n
Login.c(90): if (!isDefined(state)) return null;\n
Login.c(90): if (options.inherit) params = inheritParams($stateParams,
params || {}, $state.$curr
Login.c(90): ent, state);\n
Login.c(90): \n
Login.c(90): var nav = (state && options.lossy) ? state.navigable :
state;\n
Login.c(90): \n
Login.c(90): if (!nav || !nav.url) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): return $urlRouter.href(nav.url,
filterByKeys(objectKeys(state.params), params || {})
Login.c(90): , {\n
Login.c(90): absolute: options.absolute\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$state#get\n
Login.c(90): * @methodOf ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Returns the state configuration object for any specific
state or all states.\n
Login.c(90): *\n
Login.c(90): * @param {string|Sbject=} stateOrName (absolute or relative)
If provided, will only g
Login.c(90): et the config for\n
Login.c(90): * the requested state. If not provided, returns an array of
ALL state configs.\n
Login.c(90): * @returns {Object|Array} State configuration object or array
of all objects.\n
Login.c(90): */\n
Login.c(90): $state.get = function (stateOrName, context) {\n
Login.c(90): if (arguments.length === 0) return
objectKeys(states).map(function(name) { return st
Login.c(90): ates[name].self; });\n
Login.c(90): var state = findState(stateOrName, context);\n
Login.c(90): return (state && state.self) ? state.self : null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function resolveState(state, params, paramsAreFiltered,
inherited, dst) {\n
Login.c(90): // Make a restricted $stateParams with only the parameters
that apply to this state
Login.c(90): if\n
Login.c(90): // necessary. In addition to being available to the
controller and onEnter/onExit ca
Login.c(90): llbacks,\n
Login.c(90): // w
Login.c(90): t=3747ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): e also need $stateParams to be available for any $injector calls
we make during the\n
Login.c(90): // dependency resolution process.\n
Login.c(90): var $stateParams = (paramsAreFiltered) ? params :
filterByKeys(objectKeys(state.para
Login.c(90): ms), params);\n
Login.c(90): var locals = { $stateParams: $stateParams };\n
Login.c(90): \n
Login.c(90): // Resolve 'global' dependencies for the state, i.e. those
not specific to a view.\n
Login.c(90): // We're also including $stateParams in this; that way the
parameters are restricted
Login.c(90): \n
Login.c(90): // to the set that should be visible to the state, and are
independent of when we up
Login.c(90): date\n
Login.c(90): // the global $state and $stateParams values.\n
Login.c(90): dst.resolve = $resolve.resolve(state.resolve, locals,
dst.resolve, state);\n
Login.c(90): var promises = [dst.resolve.then(function (globals) {\n
Login.c(90): dst.globals = globals;\n
Login.c(90): })];\n
Login.c(90): if (inherited) promises.push(inherited);\n
Login.c(90): \n
Login.c(90): // Resolve template and dependencies for all views.\n
Login.c(90): forEach(state.views, function (view, name) {\n
Login.c(90): var injectables = (view.resolve && view.resolve !==
state.resolve ? view.resolve :
Login.c(90): {});\n
Login.c(90): injectables.$template = [ function () {\n
Login.c(90): return $view.load(name, { view: view, locals: locals,
params: $stateParams }) ||
Login.c(90): '';\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): promises.push($resolve.resolve(injectables, locals,
dst.resolve, state).then(funct
Login.c(90): ion (result) {\n
Login.c(90): // References to the controller (only instantiated at
link time)\n
Login.c(90): if (isFunction(view.controllerProvider) ||
isArray(view.controllerProvider)) {\n
Login.c(90): var injectLocals = angular.extend({}, injectables,
locals);\n
Login.c(90): result.$$controller =
$injector.invoke(view.controllerProvider, null, injectLo
Login.c(90): cals);\n
Login.c(90): } else {\n
Login.c(90): result.$$controller = view.controller;\n
Login.c(90): }\n
Login.c(90): // Provide access to the state itself for internal use\n
Login.c(90): result.$$state = state;\n
Login.c(90): result.$$controllerAs = view.controllerAs;\n
Login.c(90): dst[name] = result;\n
Login.c(90): }));\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Wait for all the promises and then return the activation
object\n
Login.c(90): return $q.all(promises).then(function (values) {\n
Login.c(90): return dst;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return $state;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function shouldTriggerReload(to, from, locals, options) {\n
Login.c(90): if (to === from && ((locals === from.locals && !
options.reload) || (to.self.reloadOnSe
Login.c(90): arch === false))) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .value('$stateParams', {})\n
Login.c(90): .provider('$state', $StateProvider);\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): $ViewProvider.$inject = [];\n
Login.c(90): function $ViewProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = $get;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$view\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.util.$templateFactory\n
Login.c(90): * @requires $rootScope\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $get.$inject = ['$rootScope', '$templateFactory'];\n
Login.c(90): function $get( $rootScope, $templateFactory) {\n
Login.c(90): return {\n
Login.c(90): // $view.load('full.viewName', { template: ...,
controller: ..., resolve: ..., async
Login.c(90): : false, params: ... })\n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$view#load\n
Login.c(90): * @methodOf ui.router.state.$view\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * @param {string} name name\n
Login.c(90): * @param {object} options option object.\n
Login.c(90): */\n
Login.c(90): load: function load(name, options) {\n
Login.c(90): var result, defaults = {\n
Login.c(90): template: null, controller: null, view: null, locals:
null, notify: true, async:
Login.c(90): true, params: {}\n
Login.c(90): };\n
Login.c(90): options = extend(defaults, options);\n
Login.c(90): \n
Login.c(90): if (options.view) {\n
Login.c(90): result = $templateFactory.fromConfig(options.view,
options.params, options.local
Login.c(90): s);\n
Login.c(90): }\n
Login.c(90): if (result && options.notify) {\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.$state#$viewContentLoading\n
Login.c(90): * @eventOf ui.router.state.$view\n
Login.c(90): * @eventType broadcast on root scope\n
Login.c(90): * @description\n
Login.c(90): *\n
Login.c(90): * Fired once the view **begins loading**, *before* the
DOM is rendered.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): * @param {Object} viewConfig The view config properties
(template, controller, et
Login.c(90): c).\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * $scope.$on('$viewContentLoading',\n
Login.c(90): * function(event, viewConfig){\n
Login.c(90): * // Access to all the view config properties.\n
Login.c(90): * // and one special property 'targetView'\n
Login.c(90): * // viewConfig.targetView\n
Login.c(90): * });\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $rootScope.$broadcast('$viewContentLoading', options);\n
Login.c(90): }\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').provider('$view',
$ViewProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$uiViewScrollProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Provider that returns the {@link ui.router.state.$uiViewScroll}
service function.\n
Login.c(90): */\n
Login.c(90): function $ViewScrollProvider() {\n
Login.c(90): \n
Login.c(90): var useAnchorScroll = false;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc function\n
Login.c(90): * @name ui.router.state.$uiViewScrollProvider#useAnchorScroll\n
Login.c(90): * @methodOf ui.router.state.$uiViewScrollProvider\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Reverts back to using the core [`$anchorScroll`]
(http://docs.angularjs.org/api/ng.$an
Login.c(90): chorScroll) service for\n
Login.c(90): * scrolling based on the url anchor.\n
Login.c(90): */\n
Login.c(90): this.useAnchorScroll = function () {\n
Login.c(90): useAnchorScroll = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc object\n
Login.c(90): * @name ui.router.state.$uiViewScroll\n
Login.c(90): *\n
Login.c(90): * @requires $anchorScroll\n
Login.c(90): * @requires $timeout\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * When called with a jqLite element, it scrolls the element
into view (after a\n
Login.c(90): * `$timeout` so the DOM has time to refresh).\n
Login.c(90): *\n
Login.c(90): * If you prefer to rely on `$anchorScroll` to scroll the view
to the anchor,\n
Login.c(90): * this can be enabled by calling {@link ui.router.state.
$uiViewScrollProvider#methods_u
Login.c(90): seAnchorScroll `$uiViewScrollProvider.useAnchorScroll()`}.\n
Login.c(90): */\n
Login.c(90): this.$get = ['$anchorScroll', '$timeout', function
($anchorScroll, $timeout) {\n
Login.c(90): if (useAnchorScroll) {\n
Login.c(90): return $anchorScroll;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return function ($element) {\n
Login.c(90): $timeout(function () {\n
Login.c(90): $element[0].scrollIntoView();\n
Login.c(90): }, 0, false);\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').provider('$uiViewScroll',
$ViewScrollProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-view\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires $compile\n
Login.c(90): * @requires $controller\n
Login.c(90): * @requires $injector\n
Login.c(90): * @requires ui.router.state.$uiViewScroll\n
Login.c(90): * @requires $document\n
Login.c(90): *\n
Login.c(90): * @restrict ECA\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The ui-view directive tells $state where to place your
templates.\n
Login.c(90): *\n
Login.c(90): * @param {string=} ui-view A view name. The name should be unique
amongst the other views
Login.c(90): in the\n
Login.c(90): * same state. You can have views of the same name that live in
different states.\n
Login.c(90): *\n
Login.c(90): * @param {string=} autoscroll It allows you to set the scroll
behavior of the browser win
Login.c(90): dow\n
Login.c(90): * when a view is populated. By default, $anchorScroll is
overridden by ui-router's custom
Login.c(90): scroll\n
Login.c(90): * service, {@link ui.router.state.$uiViewScroll}. This custom
service let's you\n
Login.c(90): * scroll ui-view elements into view when they are populated
during a state activation.\n
Login.c(90): *\n
Login.c(90): * *Note: To revert back to old [`$anchorScroll`]
(http://docs.angularjs.org/api/ng.$anchor
Login.c(90): Scroll)\n
Login.c(90): * functionality, call
`$uiViewScrollProvider.useAnchorScroll()`.*\n
Login.c(90): *\n
Login.c(90): * @param {string=} onload Expression to evaluate whenever the
view updates.\n
Login.c(90): * \n
Login.c(90): * @example\n
Login.c(90): * A view can be unnamed or named. \n
Login.c(90): * <pre>\n
Login.c(90): * <!-- Unnamed -->\n
Login.c(90): * <div ui-view></div> \n
Login.c(90): * \n
Login.c(90): * <!-- Named -->\n
Login.c(90): * <div ui-view="viewName"></div>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * You can only have one unnamed view within any template (or root
html). If you are only
Login.c(90): using a \n
Login.c(90): * single view and it is unnamed then you can populate it like
so:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view></div> \n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * The above is a convenient shortcut equivalent to specifying
your view explicitly with t
Login.c(90): he {@link ui.router.state.$stateProvider#views `views`}\n
Login.c(90): * config property, by name, in this case an empty name:\n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * But typically you'll only use the views property if you name
your view or have more tha
Login.c(90): n one view \n
Login.c(90): * in the same template. There's not really a compelling reason to
name a view if its the
Login.c(90): only one, \n
Login.c(90): * but you could if you wanted, like so:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view="main"></div>\n
Login.c(90): * </pre> \n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "main": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * Really though, you'll use views to set up multiple views:\n
Login.c(90): * <pre>\n
Login.c(90): * <div ui-view></div>\n
Login.c(90): * <div ui-view="chart"></div> \n
Login.c(90): * <div ui-view="data"></div> \n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * <pre>\n
Login.c(90): * $stateProvider.state("home", {\n
Login.c(90): * views: {\n
Login.c(90): * "": {\n
Login.c(90): * template: "<h1>HELLO!</h1>"\n
Login.c(90): * },\n
Login.c(90): * "chart": {\n
Login.c(90): * template: "<chart_thing/>"\n
Login.c(90): * },\n
Login.c(90): * "data": {\n
Login.c(90): * template: "<data_thing/>"\n
Login.c(90): * }\n
Login.c(90): * } \n
Login.c(90): * })\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * Examples for `autoscroll`:\n
Login.c(90): *\n
Login.c(90): * <pre>\n
Login.c(90): * <!-- If autoscroll present with no expression,\n
Login.c(90): * then scroll ui-view into view -->\n
Login.c(90): * <ui-view autoscroll/>\n
Login.c(90): *\n
Login.c(90): * <!-- If autoscroll present with valid expression,\n
Login.c(90): * then scroll ui-view into view if expression evaluates to
true -->\n
Login.c(90): * <ui-view autoscroll='true'/>\n
Login.c(90): * <ui-view autoscroll='false'/>\n
Login.c(90): * <ui-view autoscroll='scopeVariable'/>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): $ViewDirective.$inject = ['$state', '$injector',
'$uiViewScroll'];\n
Login.c(90): function $ViewDirective( $state, $injector, $uiViewScroll)
{\n
Login.c(90): \n
Login.c(90): function getService() {\n
Login.c(90): return ($injector.has) ? function(service) {\n
Login.c(90): return $injector.has(service) ? $injector.get(service) :
null;\n
Login.c(90): } : function(service) {\n
Login.c(90): try {\n
Login.c(90): return $injector.get(service);\n
Login.c(90): } catch (e) {\n
Login.c(90): return null;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var service = getService(),\n
Login.c(90): $animator = service('$animator'),\n
Login.c(90): $animate = service('$animate');\n
Login.c(90): \n
Login.c(90): // Returns a set of DOM manipulation functions based on which
Angular version\n
Login.c(90): // it should use\n
Login.c(90): function getRenderer(attrs, scope) {\n
Login.c(90): var statics = function() {\n
Login.c(90): return {\n
Login.c(90): enter: function (element, target, cb)
{ target.after(element); cb(); },\n
Login.c(90): leave: function (element, cb) { element.remove();
cb(); }\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if ($animate) {\n
Login.c(90): return {\n
Login.c(90): enter: function(element, target, cb)
{ $animate.enter(element, null, target, cb);
Login.c(90): },\n
Login.c(90): leave: function(element, cb) { $animate.leave(element,
cb); }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ($animator) {\n
Login.c(90): var animate = $animator && $animator(scope, attrs);\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): enter: function(element, target, cb)
{animate.enter(element, null, target); cb();
Login.c(90): },\n
Login.c(90): leave: function(element, cb) { animate.leave(element);
cb(); }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return statics();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var directive = {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): terminal: true,\n
Login.c(90): priority: 400,\n
Login.c(90): transclude: 'element',\n
Login.c(90): compile: function (tElement, tAttrs, $transclude) {\n
Login.c(90): return function (scope, $element, attrs) {\n
Login.c(90): var previousEl, currentEl, currentScope, latestLocals,\n
Login.c(90): onloadExp = attrs.onload || '',\n
Login.c(90): autoScrollExp = attrs.autoscroll,\n
Login.c(90): renderer = getRenderer(attrs, scope);\n
Login.c(90): \n
Login.c(90): scope.$on('$stateChangeSuccess', function() {\n
Login.c(90): updateView(false);\n
Login.c(90): });\n
Login.c(90): scope.$on('$viewContentLoading', function() {\n
Login.c(90): updateView(false);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): updateView(true);\n
Login.c(90): \n
Login.c(90): function cleanupLastView() {\n
Login.c(90): if (previousEl) {\n
Login.c(90): previousEl.remove();\n
Login.c(90): previousEl = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (currentScope) {\n
Login.c(90): currentScope.$destroy();\n
Login.c(90): currentScope = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (currentEl) {\n
Login.c(90): renderer.leave(currentEl, function() {\n
Login.c(90): previousEl = null;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): previousEl = currentEl;\n
Login.c(90): currentEl = null;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function updateView(firstTime) {\n
Login.c(90): var newScope,\n
Login.c(90): name = getUiViewName(attrs,
$element.inheritedData('$uiView')),\n
Login.c(90): previousLocals = name && $state.$current && $state.
$current.locals[name];\n
Login.c(90): \n
Login.c(90): if (!firstTime && previousLocals === latestLocals)
return; // nothing to do\n
Login.c(90): newScope = scope.$new();\n
Login.c(90): latestLocals = $state.$current.locals[name];\n
Login.c(90): \n
Login.c(90): var clone = $transclude(new
Login.c(90): t=3765ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): Scope, function(clone) {\n
Login.c(90): renderer.enter(clone, $element, function
onUiViewEnter() {\n
Login.c(90): if (angular.isDefined(autoScrollExp) && !
autoScrollExp || scope.$eval(autoSc
Login.c(90): rollExp)) {\n
Login.c(90): $uiViewScroll(clone);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): cleanupLastView();\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): currentEl = clone;\n
Login.c(90): currentScope = newScope;\n
Login.c(90): /**\n
Login.c(90): * @ngdoc event\n
Login.c(90): * @name ui.router.state.directive:ui-
view#$viewContentLoaded\n
Login.c(90): * @eventOf ui.router.state.directive:ui-view\n
Login.c(90): * @eventType emits on ui-view directive scope\n
Login.c(90): * @description *\n
Login.c(90): * Fired once the view is **loaded**, *after* the DOM is
rendered.\n
Login.c(90): *\n
Login.c(90): * @param {Object} event Event object.\n
Login.c(90): */\n
Login.c(90): currentScope.$emit('$viewContentLoaded');\n
Login.c(90): currentScope.$eval(onloadExp);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return directive;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $ViewDirectiveFill.$inject = ['$compile', '$controller',
'$state'];\n
Login.c(90): function $ViewDirectiveFill ($compile, $controller, $state) {\n
Login.c(90): return {\n
Login.c(90): restrict: 'ECA',\n
Login.c(90): priority: -400,\n
Login.c(90): compile: function (tElement) {\n
Login.c(90): var initial = tElement.html();\n
Login.c(90): return function (scope, $element, attrs) {\n
Login.c(90): var current = $state.$current,\n
Login.c(90): name = getUiViewName(attrs,
$element.inheritedData('$uiView')),\n
Login.c(90): locals = current && current.locals[name];\n
Login.c(90): \n
Login.c(90): if (! locals) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): $element.data('$uiView', { name: name, state: locals.$
$state });\n
Login.c(90): $element.html(locals.$template ? locals.$template :
initial);\n
Login.c(90): \n
Login.c(90): var link = $compile($element.contents());\n
Login.c(90): \n
Login.c(90): if (locals.$$controller) {\n
Login.c(90): locals.$scope = scope;\n
Login.c(90): var controller = $controller(locals.$$controller,
locals);\n
Login.c(90): if (locals.$$controllerAs) {\n
Login.c(90): scope[locals.$$controllerAs] = controller;\n
Login.c(90): }\n
Login.c(90): $element.data('$ngControllerController', controller);\n
Login.c(90): $element.children().data('$ngControllerController',
controller);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): link(scope);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Shared ui-view code for both directives:\n
Login.c(90): * Given attributes and inherited $uiView data, return the view's
name\n
Login.c(90): */\n
Login.c(90): function getUiViewName(attrs, inherited) {\n
Login.c(90): var name = attrs.uiView || attrs.name || '';\n
Login.c(90): return name.indexOf('@') >= 0 ? name : (name + '@' +
(inherited ? inherited.state.name
Login.c(90): : ''));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state').directive('uiView',
$ViewDirective);\n
Login.c(90): angular.module('ui.router.state').directive('uiView',
$ViewDirectiveFill);\n
Login.c(90): \n
Login.c(90): function parseStateRef(ref, current) {\n
Login.c(90): var preparsed = ref.match(/^\\s*({[^}]*})\\s*$/), parsed;\n
Login.c(90): if (preparsed) ref = current + '(' + preparsed[1] + ')';\n
Login.c(90): parsed = ref.replace(/\\n/g, " ").match(/^([^(]+?)\\s*(\\
((.*)\\))?$/);\n
Login.c(90): if (!parsed || parsed.length !== 4) throw new Error("Invalid
state ref '" + ref + "'");\n
Login.c(90): return { state: parsed[1], paramExpr: parsed[3] || null };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function stateContext(el) {\n
Login.c(90): var stateData = el.parent().inheritedData('$uiView');\n
Login.c(90): \n
Login.c(90): if (stateData && stateData.state && stateData.state.name) {\n
Login.c(90): return stateData.state;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires $timeout\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A directive that binds a link (`<a>` tag) to a state. If the
state has an associated \n
Login.c(90): * URL, the directive will automatically generate & update the
`href` attribute via \n
Login.c(90): * the {@link ui.router.state.$state#methods_href $state.href()}
method. Clicking \n
Login.c(90): * the link will trigger a state transition with optional
parameters. \n
Login.c(90): *\n
Login.c(90): * Also middle-clicking, right-clicking, and ctrl-clicking on the
link will be \n
Login.c(90): * handled natively by the browser.\n
Login.c(90): *\n
Login.c(90): * You can also use relative state paths within ui-sref, just like
the relative \n
Login.c(90): * paths passed to `$state.go()`. You just need to be aware that
the path is relative\n
Login.c(90): * to the state that the link lives in, in other words the state
that loaded the \n
Login.c(90): * template containing the link.\n
Login.c(90): *\n
Login.c(90): * You can specify options to pass to {@link ui.router.state.
$state#go $state.go()}\n
Login.c(90): * using the `ui-sref-opts` attribute. Options are restricted to
`location`, `inherit`,\n
Login.c(90): * and `reload`.\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Here's an example of how you'd use ui-sref and how it would
compile. If you have the \n
Login.c(90): * following template:\n
Login.c(90): * <pre>\n
Login.c(90): * <a ui-sref="home">Home</a> | <a ui-sref="about">About</a> | <a
ui-sref="{page: 2}">Next
Login.c(90): page</a>\n
Login.c(90): * \n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a ui-sref="contacts.detail({ id:
contact.id })">{{ contact.name }}</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): * \n
Login.c(90): * Then the compiled html would be (assuming Html5Mode is off and
current state is contact
Login.c(90): s):\n
Login.c(90): * <pre>\n
Login.c(90): * <a href="#/home" ui-sref="home">Home</a> | <a href="#/about"
ui-sref="about">About</a>
Login.c(90): | <a href="#/contacts?page=2" ui-sref="{page: 2}">Next page</a>\n
Login.c(90): * \n
Login.c(90): * <ul>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/1" ui-sref="contacts.detail({ id:
contact.id })">Joe</a>\n
Login.c(90): * </li>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/2" ui-sref="contacts.detail({ id:
contact.id })">Alice</a>\n
Login.c(90): * </li>\n
Login.c(90): * <li ng-repeat="contact in contacts">\n
Login.c(90): * <a href="#/contacts/3" ui-sref="contacts.detail({ id:
contact.id })">Bob</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): *\n
Login.c(90): * <a ui-sref="home" ui-sref-opts="{reload: true}">Home</a>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * @param {string} ui-sref 'stateName' can be any valid absolute
or relative state\n
Login.c(90): * @param {Object} ui-sref-opts options to pass to {@link
ui.router.state.$state#go $state
Login.c(90): .go()}\n
Login.c(90): */\n
Login.c(90): $StateRefDirective.$inject = ['$state', '$timeout'];\n
Login.c(90): function $StateRefDirective($state, $timeout) {\n
Login.c(90): var allowedOptions = ['location', 'inherit', 'reload'];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): restrict: 'A',\n
Login.c(90): require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n
Login.c(90): link: function(scope, element, attrs, uiSrefActive) {\n
Login.c(90): var ref = parseStateRef(attrs.uiSref,
$state.current.name);\n
Login.c(90): var params = null, url = null, base = stateContext(element)
|| $state.$current;\n
Login.c(90): var isForm = element[0].nodeName === "FORM";\n
Login.c(90): var attr = isForm ? "action" : "href", nav = true;\n
Login.c(90): \n
Login.c(90): var options = { relative: base, inherit: true };\n
Login.c(90): var optionsOverride = scope.$eval(attrs.uiSrefOpts) || {};\n
Login.c(90): \n
Login.c(90): angular.forEach(allowedOptions, function(option) {\n
Login.c(90): if (option in optionsOverride) {\n
Login.c(90): options[option] = optionsOverride[option];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var update = function(newVal) {\n
Login.c(90): if (newVal) params = newVal;\n
Login.c(90): if (!nav) return;\n
Login.c(90): \n
Login.c(90): var newHref = $state.href(ref.state, params, options);\n
Login.c(90): \n
Login.c(90): var activeDirective = uiSrefActive[1] ||
uiSrefActive[0];\n
Login.c(90): if (activeDirective) {\n
Login.c(90): activeDirective.$$setStateInfo(ref.state, params);\n
Login.c(90): }\n
Login.c(90): if (newHref === null) {\n
Login.c(90): nav = false;\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): element[0][attr] = newHref;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (ref.paramExpr) {\n
Login.c(90): scope.$watch(ref.paramExpr, function(newVal, oldVal) {\n
Login.c(90): if (newVal !== params) update(newVal);\n
Login.c(90): }, true);\n
Login.c(90): params = scope.$eval(ref.paramExpr);\n
Login.c(90): }\n
Login.c(90): update();\n
Login.c(90): \n
Login.c(90): if (isForm) return;\n
Login.c(90): \n
Login.c(90): element.bind("click", function(e) {\n
Login.c(90): var button = e.which || e.button;\n
Login.c(90): if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey
|| element.attr('target'
Login.c(90): )) ) {\n
Login.c(90): // HACK: This is to allow ng-clicks to be processed
before the transition is ini
Login.c(90): tiated:\n
Login.c(90): var transition = $timeout(function() {\n
Login.c(90): $state.go(ref.state, params, options);\n
Login.c(90): });\n
Login.c(90): e.preventDefault();\n
Login.c(90): \n
Login.c(90): e.preventDefault = function() {\n
Login.c(90): $timeout.cancel(transition);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref-active\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires $interpolate\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * A directive working alongside ui-sref to add classes to an
element when the\n
Login.c(90): * related ui-sref directive's state is active, and removing them
when it is inactive.\n
Login.c(90): * The primary use-case is to simplify the special appearance of
navigation menus\n
Login.c(90): * relying on `ui-sref`, by having the "active" state's menu
button appear different,\n
Login.c(90): * distinguishing it from the inactive menu items.\n
Login.c(90): *\n
Login.c(90): * ui-sref-active can live on the same element as ui-sref or on a
parent element. The firs
Login.c(90): t\n
Login.c(90): * ui-sref-active found at the same level or above the ui-sref
will be used.\n
Login.c(90): *\n
Login.c(90): * Will activate when the ui-sref's target state or any child
state is active. If you\n
Login.c(90): * need to activate only when the ui-sref target state is active
and *not* any of\n
Login.c(90): * it's children, then you will use\n
Login.c(90): * {@link ui.router.state.directive:ui-sref-active-eq ui-sref-
active-eq}\n
Login.c(90): *\n
Login.c(90): * @example\n
Login.c(90): * Given the following template:\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active="active" class="item">\n
Login.c(90): * <a href ui-sref="app.user({user:
'bilbobaggins'})">@bilbobaggins</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): *\n
Login.c(90): * When the app state is "app.user" (or any children states), and
contains the state param
Login.c(90): eter "user" with value "bilbobaggins",\n
Login.c(90): * the resulting HTML will appear as (note the 'active' class):\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active="active" class="item active">\n
Login.c(90): * <a ui-sref="app.user({user: 'bilbobaggins'})"
href="/users/bilbobaggins">@bilbobagg
Login.c(90): ins</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): *\n
Login.c(90): * The class name is interpolated **once** during the directives
link time (any further ch
Login.c(90): anges to the\n
Login.c(90): * interpolated value are ignored).\n
Login.c(90): *\n
Login.c(90): * Multiple classes may be specified in a space-separated
format:\n
Login.c(90): * <pre>\n
Login.c(90): * <ul>\n
Login.c(90): * <li ui-sref-active='class1 class2 class3'>\n
Login.c(90): * <a ui-sref="app.user">link</a>\n
Login.c(90): * </li>\n
Login.c(90): * </ul>\n
Login.c(90): * </pre>\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc directive\n
Login.c(90): * @name ui.router.state.directive:ui-sref-active-eq\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): * @requires ui.router.state.$stateParams\n
Login.c(90): * @requires $interpolate\n
Login.c(90): *\n
Login.c(90): * @restrict A\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * The same as {@link ui.router.state.directive:ui-sref-active ui-
sref-active} but will wi
Login.c(90): ll only activate\n
Login.c(90): * when the exact target state used in the `ui-sref` is active; no
child states.\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): $StateRefActiveDirective.$inject = ['$state', '$stateParams',
'$interpolate'];\n
Login.c(90): function $StateRefActiveDirective($state, $stateParams,
$interpolate) {\n
Login.c(90): return {\n
Login.c(90): restrict: "A",\n
Login.c(90): controller: ['$scope', '$element', '$attrs', function ($scope,
$element, $attrs) {\n
Login.c(90): var state, params, activeClass;\n
Login.c(90): \n
Login.c(90): // There probably isn't much point in $observing this\n
Login.c(90): // uiSrefActive and uiSrefActiveEq share the same directive
object with some\n
Login.c(90): // slight difference in logic routing\n
Login.c(90): activeClass = $interpolate($attrs.uiSrefActiveEq ||
$attrs.uiSrefActive || '', false
Login.c(90): )($scope);\n
Login.c(90): \n
Login.c(90): // Allow uiSref to communicate with uiSrefActive[Equals]\n
Login.c(90): this.$$setStateInfo = function (newState, newParams) {\n
Login.c(90): state = $state.get(newState, stateContext($element));\n
Login.c(90): params = newParams;\n
Login.c(90): update();\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): $scope.$on('$stateChangeSuccess', update);\n
Login.c(90): \n
Login.c(90): // Update route state\n
Login.c(90): function update() {\n
Login.c(90): if (isMatch()) {\n
Login.c(90): $element.addClass(activeClass);\n
Login.c(90): } else {\n
Login.c(90): $element.removeClass(activeClass);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function isMatch() {\n
Login.c(90): if (typeof $attrs.uiSrefActiveEq !== 'undefined') {\n
Login.c(90): return $state.$current.self === state &&
matchesParams();\n
Login.c(90): } else {\n
Login.c(90): return $state.includes(state.name) && matchesParams();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchesParams() {\n
Login.c(90): return !params || equalForKeys(params, $stateParams);\n
Login.c(90): }\n
Login.c(90): }]\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .directive('uiSref', $StateRefDirective)\n
Login.c(90): .directive('uiSrefActive', $StateRefActiveDirective)\n
Login.c(90): .directive('uiSrefActiveEq', $StateRefActiveDirective);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name ui.router.state.filter:isState\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @description\n
Login.c(90): * Translates to {@link ui.router.state.$state#methods_is
$state.is("stateName")}.\n
Login.c(90): */\n
Login.c(90): $IsStateFilter.$inject = ['$state'];\n
Login.c(90): function $IsStateFilter($state) {\n
Login.c(90): return function(state) {\n
Login.c(90): return $state.is(state);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @ngdoc filter\n
Login.c(90): * @name ui.router.state.filter:includedByState\n
Login.c(90): *\n
Login.c(90): * @requires ui.router.state.$state\n
Login.c(90): *\n
Login.c(90): * @descript
Login.c(90): t=3787ms: 426-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-ui-router/release/angular-ui-
router.js" (RelFrameId=, Internal ID=17)
Login.c(90): ion\n
Login.c(90): * Translates to {@link ui.router.state.$state#methods_includes
$state.includes('fullOrPar
Login.c(90): tialStateName')}.\n
Login.c(90): */\n
Login.c(90): $IncludedByStateFilter.$inject = ['$state'];\n
Login.c(90): function $IncludedByStateFilter($state) {\n
Login.c(90): return function(state) {\n
Login.c(90): return $state.includes(state);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): angular.module('ui.router.state')\n
Login.c(90): .filter('isState', $IsStateFilter)\n
Login.c(90): .filter('includedByState', $IncludedByStateFilter);\n
Login.c(90): })(window, window.angular);\n
Login.c(90): t=3794ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"69059-1416253771000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:31 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 69059\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3794ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): /**\n
Login.c(90): * @author Jason Dobry <jason.dobry@gmail.com>\n
Login.c(90): * @file angular-cache.js\n
Login.c(90): * @version 3.1.1 - Homepage <https://github.com/jmdobry/angular-
cache>\n
Login.c(90): * @copyright (c) 2013-2014 Jason Dobry
<http://www.pseudobry.com>\n
Login.c(90): * @license MIT <https://github.com/jmdobry/angular-
cache/blob/master/LICENSE>\n
Login.c(90): *\n
Login.c(90): * @overview angular-cache is a very useful replacement for
Angular's $cacheFactory.\n
Login.c(90): */\n
Login.c(90): (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var
a=typeof require=="function"&&r
Login.c(90): equire;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new
Error("Cannot find module '"+
Login.c(90): o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e)
{var n=t[o][1][e];return
Login.c(90): s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof
require=="function"&&requi
Login.c(90): re;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:
[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @method bubbleUp\n
Login.c(90): * @param {array} heap The heap.\n
Login.c(90): * @param {function} weightFunc The weight function.\n
Login.c(90): * @param {number} n The index of the element to bubble up.\n
Login.c(90): */\n
Login.c(90): function bubbleUp(heap, weightFunc, n) {\n
Login.c(90): var element = heap[n],\n
Login.c(90): weight = weightFunc(element);\n
Login.c(90): // When at 0, an element can not go up any further.\n
Login.c(90): while (n > 0) {\n
Login.c(90): // Compute the parent element's index, and fetch it.\n
Login.c(90): var parentN = Math.floor((n + 1) / 2) - 1,\n
Login.c(90): parent = heap[parentN];\n
Login.c(90): // If the parent has a lesser weight, things are in order and
we\n
Login.c(90): // are done.\n
Login.c(90): if (weight >= weightFunc(parent)) {\n
Login.c(90): break;\n
Login.c(90): } else {\n
Login.c(90): heap[parentN] = element;\n
Login.c(90): heap[n] = parent;\n
Login.c(90): n = parentN;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method bubbleDown\n
Login.c(90): * @param {array} heap The heap.\n
Login.c(90): * @param {function} weightFunc The weight function.\n
Login.c(90): * @param {number} n The index of the element to sink down.\n
Login.c(90): */\n
Login.c(90): function bubbleDown(heap, weightFunc, n) {\n
Login.c(90): var length = heap.length,\n
Login.c(90): node = heap[n],\n
Login.c(90): nodeWeight = weightFunc(node);\n
Login.c(90): \n
Login.c(90): while (true) {\n
Login.c(90): var child2N = (n + 1) * 2,\n
Login.c(90): child1N = child2N - 1;\n
Login.c(90): var swap = null;\n
Login.c(90): if (child1N < length) {\n
Login.c(90): var child1 = heap[child1N],\n
Login.c(90): child1Weight = weightFunc(child1);\n
Login.c(90): // If the score is less than our node's, we need to swap.\n
Login.c(90): if (child1Weight < nodeWeight) {\n
Login.c(90): swap = child1N;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): // Do the same checks for the other child.\n
Login.c(90): if (child2N < length) {\n
Login.c(90): var child2 = heap[child2N],\n
Login.c(90): child2Weight = weightFunc(child2);\n
Login.c(90): if (child2Weight < (swap === null ? nodeWeight :
weightFunc(heap[child1N]))) {\n
Login.c(90): swap = child2N;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (swap === null) {\n
Login.c(90): break;\n
Login.c(90): } else {\n
Login.c(90): heap[n] = heap[swap];\n
Login.c(90): heap[swap] = node;\n
Login.c(90): n = swap;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @class DSBinaryHeap\n
Login.c(90): * @desc DSBinaryHeap implementation of a priority queue.\n
Login.c(90): * @param {function} weightFunc Function that returns the value
that should be used for no
Login.c(90): de value comparison.\n
Login.c(90): * @example\n
Login.c(90): * angular.module('app').controller(function (DSBinaryHeap) {\n
Login.c(90): * var bHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): * return x.value;\n
Login.c(90): * });\n
Login.c(90): * );\n
Login.c(90): */\n
Login.c(90): function DSBinaryHeap(weightFunc) {\n
Login.c(90): if (weightFunc && !angular.isFunction(weightFunc)) {\n
Login.c(90): throw new Error('DSBinaryHeap(weightFunc): weightFunc: must be
a function!');\n
Login.c(90): }\n
Login.c(90): weightFunc = weightFunc || function (x) {\n
Login.c(90): return x;\n
Login.c(90): };\n
Login.c(90): this.weightFunc = weightFunc;\n
Login.c(90): this.heap = [];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.push\n
Login.c(90): * @desc Push an element into the binary heap.\n
Login.c(90): * @param {*} node The element to push into the binary heap.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.push = function (node) {\n
Login.c(90): this.heap.push(node);\n
Login.c(90): bubbleUp(this.heap, this.weightFunc, this.heap.length - 1);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.peek\n
Login.c(90): * @desc Return, but do not remove, the minimum element in the
binary heap.\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.peek = function () {\n
Login.c(90): return this.heap[0];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.pop\n
Login.c(90): * @desc Remove and return the minimum element in the binary
heap.\n
Login.c(90): * @returns {*}\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.pop = function () {\n
Login.c(90): var front = this.heap[0],\n
Login.c(90): end = this.heap.pop();\n
Login.c(90): if (this.heap.length > 0) {\n
Login.c(90): this.heap[0] = end;\n
Login.c(90): bubbleDown(this.heap, this.weightFunc, 0);\n
Login.c(90): }\n
Login.c(90): return front;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.remove\n
Login.c(90): * @desc Remove the first node in the priority queue that
satisfies angular.equals compari
Login.c(90): son with\n
Login.c(90): * the given node.\n
Login.c(90): * @param {*} node The node to remove.\n
Login.c(90): * @returns {*} The removed node.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.remove = function (node) {\n
Login.c(90): var length = this.heap.length;\n
Login.c(90): for (var i = 0; i < length; i++) {\n
Login.c(90): if (angular.equals(this.heap[i], node)) {\n
Login.c(90): var removed = this.heap[i],\n
Login.c(90): end = this.heap.pop();\n
Login.c(90): if (i !== length - 1) {\n
Login.c(90): this.heap[i] = end;\n
Login.c(90): bubbleUp(this.heap, this.weightFunc, i);\n
Login.c(90): bubbleDown(this.heap, this.weightFunc, i);\n
Login.c(90): }\n
Login.c(90): return removed;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.removeAll\n
Login.c(90): * @desc Remove all nodes from this DSBinaryHeap.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.removeAll = function () {\n
Login.c(90): this.heap = [];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @method DSBinaryHeap.size\n
Login.c(90): * @desc Return the size of the priority queue.\n
Login.c(90): * @returns {number} The size of the priority queue.\n
Login.c(90): */\n
Login.c(90): DSBinaryHeap.prototype.size = function () {\n
Login.c(90): return this.heap.length;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @desc Provider for the DSBinaryHeap.\n
Login.c(90): */\n
Login.c(90): function DSBinaryHeapProvider() {\n
Login.c(90): this.$get = function () {\n
Login.c(90): return DSBinaryHeap;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): DSBinaryHeapProvider: DSBinaryHeapProvider,\n
Login.c(90): DSBinaryHeap: DSBinaryHeap\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],2:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Destroy this cache and all of its data.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#destroy()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var someCache = DSCacheFactory.get('someCache');\n
Login.c(90): *\n
Login.c(90): * someCache.destroy();\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.get('someCache'); // undefined\n
Login.c(90): * someCache.put('1', 'apple'); // Error\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): module.exports = function destroy() {\n
Login.c(90): clearInterval(this.$$cacheFlushIntervalId);\n
Login.c(90): clearInterval(this.$$recycleFreqId);\n
Login.c(90): this.removeAll();\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$storage.removeItem(this.$$prefix + '.keys');\n
Login.c(90): this.$$storage.removeItem(this.$$prefix);\n
Login.c(90): }\n
Login.c(90): this.$$storage = null;\n
Login.c(90): this.$$data = null;\n
Login.c(90): this.$$lruHeap = null;\n
Login.c(90): this.$$expiresHeap = null;\n
Login.c(90): this.$$prefix = null;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],3:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Retrieve the item with the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#get(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1', {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * console.log(key, value);\n
Login.c(90): * }\n
Login.c(90): * }); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * // "1" "apple" (printed to console)\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'passive',\n
Login.c(90): * maxAge: 1000,\n
Login.c(90): * onExpire: function (key, value, done) {\n
Login.c(90): * console.log('global hit');\n
Login.c(90): * if (done) {\n
Login.c(90): * done(key, value);\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * },\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1', {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * console.log(key, value);\n
Login.c(90): * }\n
Login.c(90): * }); // "apple"\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * // "global hit" (printed to console)\n
Login.c(90): * // "1" "apple" (printed to console)\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key of the item to retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function=}` - `onExpire` - Callback to be used if in
passive `deleteOnExpire` mode
Login.c(90): and the requested item has\n
Login.c(90): * expired. If a global `onExpire` callback exists for this cache,
then it will be called
Login.c(90): with three arguments: `key`,\n
Login.c(90): * `value`, and `done`, where `done` is the `onExpire` callback
passed into the call to `D
Login.c(90): SCache
Login.c(90): t=3809ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): #get(key[, options])`.\n
Login.c(90): * (See the last example above.)\n
Login.c(90): *\n
Login.c(90): * @returns {*} The item with the given key.\n
Login.c(90): */\n
Login.c(90): module.exports = function get(key, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): \n
Login.c(90): if (angular.isArray(key)) {\n
Login.c(90): var keys = key,\n
Login.c(90): values = [];\n
Login.c(90): \n
Login.c(90): angular.forEach(keys, function (key) {\n
Login.c(90): var value = _this.get(key, options);\n
Login.c(90): if (value !== null && value !== undefined) {\n
Login.c(90): values.push(value);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return values;\n
Login.c(90): } else {\n
Login.c(90): key = utils.stringifyNumber(key);\n
Login.c(90): \n
Login.c(90): if (this.$$disabled) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): if (!angular.isString(key)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected key to be a
string! Found: {0}.', typeo
Login.c(90): f key);\n
Login.c(90): } else if (options && !angular.isObject(options)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected options to be
an object! Found: {0}.',
Login.c(90): typeof options);\n
Login.c(90): } else if (options.onExpire && !
angular.isFunction(options.onExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
options.onExpire to be a function! Foun
Login.c(90): d: {0}.', typeof options.onExpire);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item;\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix + '.data.'
+ key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): item = angular.fromJson(itemJson);\n
Login.c(90): } else {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (!(key in this.$$data)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): item = this.$$data[key];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var value = item.value,\n
Login.c(90): now = new Date().getTime();\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$lruHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): item.accessed = now;\n
Login.c(90): this.$$lruHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): accessed: now\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): this.$$lruHeap.remove(item);\n
Login.c(90): item.accessed = now;\n
Login.c(90): this.$$lruHeap.push(item);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$deleteOnExpire === 'passive' && 'expires' in item &&
item.expires < now) {\n
Login.c(90): this.remove(key);\n
Login.c(90): \n
Login.c(90): if (this.$$onExpire) {\n
Login.c(90): this.$$onExpire(key, item.value, options.onExpire);\n
Login.c(90): } else if (options.onExpire) {\n
Login.c(90): options.onExpire(key, item.value);\n
Login.c(90): }\n
Login.c(90): value = undefined;\n
Login.c(90): } else if (this.$$storage) {\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.data.' + key,
angular.toJson(item));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],4:[function(require,module,exports){\n
Login.c(90): var defaults = require('../defaults'),\n
Login.c(90): DSBinaryHeap = require('../DSBinaryHeap').DSBinaryHeap;\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Configure the cache to use webStorage.\n
Login.c(90): */\n
Login.c(90): function _setStorageMode(storageMode, storageImpl) {\n
Login.c(90): if (!angular.isString(storageMode)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageMode to
be a string! Found: {0}.
Login.c(90): ', typeof storageMode);\n
Login.c(90): } else if (storageMode !== 'memory' && storageMode !==
'localStorage' && storageMode !==
Login.c(90): 'sessionStorage') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageMode to
be "memory", "localStora
Login.c(90): ge" or "sessionStorage"! Found: {0}.', storageMode);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$storageMode = storageMode;\n
Login.c(90): \n
Login.c(90): if (storageImpl) {\n
Login.c(90): if (!angular.isObject(storageImpl)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to be an object! Found: {
Login.c(90): 0}.', typeof storageImpl);\n
Login.c(90): } else if (!('setItem' in storageImpl) || typeof
storageImpl.setItem !== 'function') {
Login.c(90): \n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "setItem(key
Login.c(90): , value)"! Found: {0}.', typeof storageImpl.setItem);\n
Login.c(90): } else if (!('getItem' in storageImpl) || typeof
storageImpl.getItem !== 'function') {
Login.c(90): \n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "getItem(key
Login.c(90): )"! Found: {0}.', typeof storageImpl.getItem);\n
Login.c(90): } else if (!('removeItem' in storageImpl) || typeof
storageImpl.removeItem !== 'functi
Login.c(90): on') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected storageImpl
to implement "removeItem(
Login.c(90): key)"! Found: {0}.', typeof storageImpl.removeItem);\n
Login.c(90): }\n
Login.c(90): this.$$storage = storageImpl;\n
Login.c(90): } else if (this.$$storageMode === 'localStorage') {\n
Login.c(90): try {\n
Login.c(90): localStorage.setItem('angular-cache', 'angular-cache');\n
Login.c(90): localStorage.removeItem('angular-cache');\n
Login.c(90): this.$$storage = localStorage;\n
Login.c(90): } catch (e) {\n
Login.c(90): delete this.$$storage;\n
Login.c(90): this.$$storageMode = 'memory';\n
Login.c(90): }\n
Login.c(90): } else if (this.$$storageMode === 'sessionStorage') {\n
Login.c(90): try {\n
Login.c(90): sessionStorage.setItem('angular-cache', 'angular-cache');\n
Login.c(90): sessionStorage.removeItem('angular-cache');\n
Login.c(90): this.$$storage = sessionStorage;\n
Login.c(90): } catch (e) {\n
Login.c(90): delete this.$$storage;\n
Login.c(90): this.$$storageMode = 'memory';\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOptions\n
Login.c(90): * @name setOptions\n
Login.c(90): * @description\n
Login.c(90): * Configure this cache with the given options. With this method
you can configure all of
Login.c(90): this cache's settings at once.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setOptions(cacheOptions[, strict])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * cache.setOptions({\n
Login.c(90): * maxAge: 60000,\n
Login.c(90): * deleteOnExpire: 'aggressive',\n
Login.c(90): * disabled: false\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} cacheOptions New configuration options for the
cache. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): *\n
Login.c(90): * @param {boolean=} strict If true then any existing
configuration will be reset to the d
Login.c(90): efaults before\n
Login.c(90): * applying the new options, otherwise only the options specified
in the options hash will
Login.c(90): be altered.\n
Login.c(90): */\n
Login.c(90): function _setOptions(cacheOptions, strict) {\n
Login.c(90): cacheOptions = cacheOptions || {};\n
Login.c(90): strict = !!strict;\n
Login.c(90): if (!angular.isObject(cacheOptions)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheOptions to
be an object! Found: {0
Login.c(90): }.', typeof cacheOptions);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('disabled' in cacheOptions) {\n
Login.c(90): this.$$disabled = !!cacheOptions.disabled;\n
Login.c(90): } else if (strict) {\n
Login.c(90): delete this.$$disabled;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('capacity' in cacheOptions) {\n
Login.c(90): this.setCapacity(cacheOptions.capacity);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setCapacity(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('deleteOnExpire' in cacheOptions) {\n
Login.c(90): this.setDeleteOnExpire(cacheOptions.deleteOnExpire);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setDeleteOnExpire(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('maxAge' in cacheOptions) {\n
Login.c(90): this.setMaxAge(cacheOptions.maxAge);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setMaxAge(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('recycleFreq' in cacheOptions) {\n
Login.c(90): this.setRecycleFreq(cacheOptions.recycleFreq);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setRecycleFreq(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('cacheFlushInterval' in cacheOptions) {\n
Login.c(90): this.setCacheFlushInterval(cacheOptions.cacheFlushInterval);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setCacheFlushInterval(null);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if ('onExpire' in cacheOptions) {\n
Login.c(90): this.setOnExpire(cacheOptions.onExpire);\n
Login.c(90): } else if (strict) {\n
Login.c(90): this.setOnExpire(null);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCache\n
Login.c(90): * @name DSCache\n
Login.c(90): * @description\n
Login.c(90): * Instantiated via `DSCacheFactory(cacheId[, options])`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object=} options Configuration options.\n
Login.c(90): */\n
Login.c(90): function DSCache(cacheId, options) {\n
Login.c(90): \n
Login.c(90): this.$$data = {};\n
Login.c(90): this.$$id = cacheId;\n
Login.c(90): this.$$storage = null;\n
Login.c(90): \n
Login.c(90): this.$$expiresHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): return x.expires;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): this.$$lruHeap = new DSBinaryHeap(function (x) {\n
Login.c(90): return x.accessed;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if ('storageMode' in options) {\n
Login.c(90): _setStorageMode.apply(this, [options.storageMode,
options.storageImpl]);\n
Login.c(90): }\n
Login.c(90): if ('storagePrefix' in options) {\n
Login.c(90): this.$$storagePrefix = options.storagePrefix;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): this.$$prefix = this.$$storagePrefix + cacheId;\n
Login.c(90): \n
Login.c(90): // Initialize this cache with the default and given options\n
Login.c(90): _setOptions.apply(this, [options, true]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in defaults.defaults) {\n
Login.c(90): DSCache.prototype['$$' + key] = defaults.defaults[key];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOptions\n
Login.c(90): * @name setOptions\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setOptions](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setOptions = _setOptions;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCapacity\n
Login.c(90): * @name setCapacity\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setCapacity](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setCapacity = require('./setCapacity');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setDeleteOnExpire\n
Login.c(90): * @name setDeleteOnExpire\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setDeleteOnExpire](/documentation/api/angular-
cache/DSCache.methods:create
Login.c(90): ).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setDeleteOnExpire =
require('./setDeleteOnExpire');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setMaxAge\n
Login.c(90): * @name setMaxAge\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setMaxAge](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setMaxAge = require('./setMaxAge');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setRecycleFreq\n
Login.c(90): * @name setRecycleFreq\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setRecycleFreq](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setRecycleFreq = require('./setRecycleFreq');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCacheFlushInterval\n
Login.c(90): * @name setCacheFlushInterval\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setCacheFlushInterval](/documentation/api/angular-
cache/DSCache.methods:cr
Login.c(90): eate).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setCacheFlushInterval =
require('./setCacheFlushInterval');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOnExpire\n
Login.c(90): * @name setOnExpire\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.setOnExpire](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.setOnExpire = require('./setOnExpire');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:put\n
Login.c(90): * @name put\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.put](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.put = require('./put');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.get](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.get = require('./get');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:remove\n
Login.c(90): * @name remove\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.remove](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.remove = require('./remove');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeAll\n
Login.c(90): * @name removeAll\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.removeAll](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.removeAll = require('./removeAll');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeExpired\n
Login.c(90): * @name removeExpired\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.removeExpired](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.removeExpired = require('./removeExpired');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.destroy](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.destroy = require('./destroy');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.info](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.info = require('./info');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.keySet](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.keySet = require('./keySet');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @methodOf DSCache\n
Login.c(90): * @description\n
Login.c(90): * See [DSCache.keys](/documentation/api/angular-
cache/DSCache.methods:create).\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.keys = require('./keys');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:disable\n
Login.c(90): * @name disable\n
Login.c(90): * @description\n
Login.c(90): * Disable this cache. Disabling a cache does not remove any data,
it just turns DSCache#g
Login.c(90): et and DSCache#put into noops.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#disable()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory.get('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cach
Login.c(90): t=3832ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): e.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * cache.disable();\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.put('2', 'banana'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.disable = function () {\n
Login.c(90): this.$$disabled = true;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:enable\n
Login.c(90): * @name enable\n
Login.c(90): * @description\n
Login.c(90): * Enable this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#enable()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * disabled: true\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory.get('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): *\n
Login.c(90): * cache.enable();\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.enable = function () {\n
Login.c(90): delete this.$$disabled;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:touch\n
Login.c(90): * @name touch\n
Login.c(90): * @description\n
Login.c(90): * Reset the expiry of a single item or all items in the cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#touch(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * cache.touch('1'); // touch one item\n
Login.c(90): *\n
Login.c(90): * cache.touch(); // touch all items\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string=} key The key of the item to touch.\n
Login.c(90): */\n
Login.c(90): DSCache.prototype.touch = function (key) {\n
Login.c(90): if (key) {\n
Login.c(90): var _this = this;\n
Login.c(90): var val = this.get(key, {\n
Login.c(90): onExpire: function (k, v) {\n
Login.c(90): _this.put(k, v);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (val) {\n
Login.c(90): this.put(key, val);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var keys = this.keys();\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): this.touch(keys[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): module.exports = DSCache;\n
Login.c(90): \n
Login.c(90): },
{"../DSBinaryHeap":1,"../defaults":19,"./destroy":2,"./get":3,"./info":5,"./keySet"
:6,".
Login.c(90):
/keys":7,"./put":8,"./remove":9,"./removeAll":10,"./removeExpired":11,"./setCacheFl
ushInte
Login.c(90):
rval":12,"./setCapacity":13,"./setDeleteOnExpire":14,"./setMaxAge":15,"./setOnExpir
e":16,"
Login.c(90): ./setRecycleFreq":17}],5:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @description\n
Login.c(90): * Return the status of this cache, or if `key` is provided return
the status of the item
Login.c(90): with that key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#info([key])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.info(); // {\n
Login.c(90): * // id: 'cache',\n
Login.c(90): * // capacity: Number.MAX_VALUE,\n
Login.c(90): * // maxAge: Number.MAX_VALUE,\n
Login.c(90): * // deleteOnExpire: 'none',\n
Login.c(90): * // onExpire: null,\n
Login.c(90): * // cacheFlushInterval: null,\n
Login.c(90): * // recycleFreq: 1000,\n
Login.c(90): * // storageMode: 'memory',\n
Login.c(90): * // storageImpl: null,\n
Login.c(90): * // disabled: false,\n
Login.c(90): * // size: 2\n
Login.c(90): * // }\n
Login.c(90): *\n
Login.c(90): * cache.info('1'); // {\n
Login.c(90): * // created: 1234567890,\n
Login.c(90): * // accessed: 1234567890,\n
Login.c(90): * // expires: Number.MAX_VALUE,\n
Login.c(90): * // isExpired: false\n
Login.c(90): * // }\n
Login.c(90): *\n
Login.c(90): * cache.info('3'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string=} key The key of the item whose status is to be
retrieved.\n
Login.c(90): * @returns {object} The status of this cache or of the item with
the given key.\n
Login.c(90): */\n
Login.c(90): module.exports = function info(key) {\n
Login.c(90): if (key) {\n
Login.c(90): var item;\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): item = angular.fromJson(itemJson);\n
Login.c(90): return {\n
Login.c(90): created: item.created,\n
Login.c(90): accessed: item.accessed,\n
Login.c(90): expires: item.expires,\n
Login.c(90): isExpired: (new Date().getTime() - item.created) > this.
$$maxAge\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (key in this.$$data) {\n
Login.c(90): item = this.$$data[key];\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): created: item.created,\n
Login.c(90): accessed: item.accessed,\n
Login.c(90): expires: item.expires,\n
Login.c(90): isExpired: (new Date().getTime() - item.created) > this.
$$maxAge\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): return undefined;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return {\n
Login.c(90): id: this.$$id,\n
Login.c(90): capacity: this.$$capacity,\n
Login.c(90): maxAge: this.$$maxAge,\n
Login.c(90): deleteOnExpire: this.$$deleteOnExpire,\n
Login.c(90): onExpire: this.$$onExpire,\n
Login.c(90): cacheFlushInterval: this.$$cacheFlushInterval,\n
Login.c(90): recycleFreq: this.$$recycleFreq,\n
Login.c(90): storageMode: this.$$storageMode,\n
Login.c(90): storageImpl: this.$$storage,\n
Login.c(90): disabled: this.$$disabled,\n
Login.c(90): size: this.$$lruHeap && this.$$lruHeap.size() || 0\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],6:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @description\n
Login.c(90): * Return an object of the keys in this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#keySet()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.keys(); // { "1": "1", "2": "2" }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {object} An object of the keys in this cache.\n
Login.c(90): */\n
Login.c(90): module.exports = function keySet() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): kSet = {};\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): var keys = angular.fromJson(keysJson);\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): kSet[keys[i]] = keys[i];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return kSet;\n
Login.c(90): } else {\n
Login.c(90): return utils.keySet(this.$$data);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],7:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @description\n
Login.c(90): * Return an array of the keys in this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#keys()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.keys(); // [ "1", "2" ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {Array} An array of the keys in this cache.\n
Login.c(90): */\n
Login.c(90): module.exports = function keys() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): return angular.fromJson(keysJson);\n
Login.c(90): } else {\n
Login.c(90): return [];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return utils.keys(this.$$data);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],8:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:put\n
Login.c(90): * @name put\n
Login.c(90): * @description\n
Login.c(90): * Insert a value into the cache under the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#put(key, value)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 3);\n
Login.c(90): * cache.put('3', { stuff: 'more stuff' });\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // 3\n
Login.c(90): * cache.get('3'); // { stuff: 'more stuff' }\n
Login.c(90): * cache.get('4'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `key` must be a string.\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key under which to store the given
value.\n
Login.c(90): * @param {*} value The value to store.\n
Login.c(90): * @returns {*} The newly stored item.\n
Login.c(90): */\n
Login.c(90): module.exports = function put(key, value) {\n
Login.c(90): var _this = this;\n
Login.c(90): if (this.$$disabled || value === null || value === undefined)
{\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (value && value.then) {\n
Login.c(90): value.then(function (v) {\n
Login.c(90): if (angular.isObject(v) && 'status' in v && 'data' in v) {\n
Login.c(90): _this.put(key, [v.status, v.data, v.headers(),
v.statusText]);\n
Login.c(90): } else {\n
Login.c(90): _this.put(key, v);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): key = utils.stringifyNumber(key);\n
Login.c(90): \n
Login.c(90): if (!angular.isString(key)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected key to be a
string! Found: {0}.', typeo
Login.c(90): f key);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var now = new Date().getTime(),\n
Login.c(90): item = {\n
Login.c(90): key: key,\n
Login.c(90): value: value,\n
Login.c(90): created: now,\n
Login.c(90): accessed: now\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): item.expires = item.created + this.$$maxAge;\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [],\n
Login.c(90): itemJson = this.$$storage.getItem(this.$$prefix + '.data.' +
key);\n
Login.c(90): \n
Login.c(90): // Remove existing\n
Login.c(90): if (itemJson) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): // Add to expires heap\n
Login.c(90): this.$$expiresHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): // Add to lru heap\n
Login.c(90): this.$$lruHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): // Set item\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.data.' + key,
angular.toJson(item));\n
Login.c(90): var exists = false;\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): if (keys[i] === key) {\n
Login.c(90): exists = true;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (!exists) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson(keys));\n
Login.c(90): } else {\n
Login.c(90): // Remove existing\n
Login.c(90): if (this.$$data[key]) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): // Add to expires heap\n
Login.c(90): this.$$expiresHeap.push(item);\n
Login.c(90): // Add to lru heap\n
Login.c(90): this.$$lruHeap.push(item);\n
Login.c(90): // Set item\n
Login.c(90): this.$$data[key] = item;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Handle exceeded capacity\n
Login.c(90): if (this.$$lruHeap.size() > this.$$capacity) {\n
Login.c(90): this.remove(this.$$lruHeap.peek().key);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return value;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],9:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:remove\n
Login.c(90): * @name remove\n
Login.c(90): * @description\n
Login.c(90): * Remove the item with the given key.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#remove(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.remove('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key of the item to remove.\n
Login.c(90): * @returns {*} The removed item if an item was removed.\n
Login.c(90): */\n
Login.c(90): module.exports = function remove(key) {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix + '.data.'
+ key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): var item = angular.fromJson(itemJson);\n
Login.c(90): this.$$lruHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): accessed: item.accessed\n
Login.c(90): });\n
Login.c(90): this.$$expiresHeap.remove({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): this.$$storage.removeItem(this.$$prefix + '.data.' + key);\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys'),\n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [],\n
Login.c(90): index = keys.indexOf(key);\n
Login.c(90): \n
Login.c(90): if (index >= 0) {\n
Login.c(90): keys.splice(index, 1);\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson(keys));\n
Login.c(90): return item.value;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): var value = this.$$data[key] ? this.$$data[key].value :
undefined;\n
Login.c(90): this.$$lruHeap.remove(this.$$data[key]);\n
Login.c(90): this.$$expiresHeap.remove(this.$$data[key]);\n
Login.c(90): this.$$data[key] = null;\n
Login.c(90): delete this.$$data[key];\n
Login.c(90): return value;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],10:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeAll\n
Login.c(90): * @name removeAll\n
Login.c(90): * @description\n
Login.c(90): * Remove all items from this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#removeAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): * cache.info().size; // 2\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.get('2'); // "banana"\n
Login.c(90): *\n
Login.c(90): * cache.removeAll();\n
Login.c(90): * cache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): module.exports = function removeAll() {\n
Login.c(90): if (this.$$storage) {\n
Login.c(90): this.$$lruHeap.removeAll();\n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): if (keysJson) {\n
Login.c(90): var keys = angular.fromJson(keysJson);\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): this.remove(keys[i]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): this.$$storage.setItem(this.$$prefix + '.keys',
angular.toJson([]));\n
Login.c(90): } else {\n
Login.c(90): this.$$lruHeap.removeAll();\n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): for (var key in this.$$data) {\n
Login.c(90): this.$$data[key] = null;\n
Login.c(90): }\n
Login.c(90): this.$$data = {};\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],11:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:removeExpired\n
Login.c(90): * @name removeExpired\n
Login.c(90): * @description\n
Login.c(90): * Remove and return all expired items from the cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#removeExpired()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * },\n
Login.c(90): * // deleteOnExpire defaults to
Login.c(90): t=3854ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): "none"\n
Login.c(90): * cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.put('3', 'orange');\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 3\n
Login.c(90): * cache.info('1').isExpired; // true\n
Login.c(90): * cache.info('2').isExpired; // true\n
Login.c(90): * cache.info('3').isExpired; // false\n
Login.c(90): *\n
Login.c(90): * cache.removeExpired(); // { "1": "apple", "2":
"banana" }\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 1\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.get('2'); // undefined\n
Login.c(90): * cache.info('3').isExpired; // false\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @returns {object} The removed items, if any.\n
Login.c(90): */\n
Login.c(90): module.exports = function removeExpired() {\n
Login.c(90): var now = new Date().getTime(),\n
Login.c(90): expired = {},\n
Login.c(90): key,\n
Login.c(90): expiredItem;\n
Login.c(90): \n
Login.c(90): while ((expiredItem = this.$$expiresHeap.peek()) &&
expiredItem.expires < now) {\n
Login.c(90): expired[expiredItem.key] = expiredItem.value ?
expiredItem.value : null;\n
Login.c(90): this.$$expiresHeap.pop();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): for (key in expired) {\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): if (itemJson) {\n
Login.c(90): expired[key] = angular.fromJson(itemJson).value;\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): for (key in expired) {\n
Login.c(90): this.remove(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.$$onExpire) {\n
Login.c(90): for (key in expired) {\n
Login.c(90): this.$$onExpire(key, expired[key]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return expired;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],12:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCacheFlushInterval\n
Login.c(90): * @name setCacheFlushInterval\n
Login.c(90): * @description\n
Login.c(90): * Set the `cacheFlushInterval` setting for this cache. If set,
this setting will cause th
Login.c(90): is cache to periodically\n
Login.c(90): * clear itself.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setCacheFlushInterval(cacheFlushInterval)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): * cache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * cache.info().size; // 2\n
Login.c(90): * cache.setCacheFlushInterval(60000);\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * cache.info().size; // 0\n
Login.c(90): * }, 90000);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `cacheFlushInterval` must be `null` or a number
greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {number|null} cacheFlushInterval The new
cacheFlushInterval for this cache in mi
Login.c(90): lliseconds. If\n
Login.c(90): * `cacheFlushInterval` is `null` then `cacheFlushInterval` for
this cache will be reset t
Login.c(90): o the default (`null`).\n
Login.c(90): */\n
Login.c(90): module.exports = function
setCacheFlushInterval(cacheFlushInterval) {\n
Login.c(90): if (cacheFlushInterval === null) {\n
Login.c(90): delete this.$$cacheFlushInterval;\n
Login.c(90): } else if (!angular.isNumber(cacheFlushInterval)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
cacheFlushInterval to be a number! Foun
Login.c(90): d: {0}.', typeof cacheFlushInterval);\n
Login.c(90): } else if (cacheFlushInterval < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected
cacheFlushInterval to be greater than z
Login.c(90): ero! Found: {0}.', cacheFlushInterval);\n
Login.c(90): } else if (cacheFlushInterval !== this.$$cacheFlushInterval) {\n
Login.c(90): this.$$cacheFlushInterval = cacheFlushInterval;\n
Login.c(90): clearInterval(this.$$cacheFlushIntervalId);\n
Login.c(90): (function (_this) {\n
Login.c(90): _this.$$cacheFlushIntervalId = setInterval(function () {\n
Login.c(90): _this.removeAll();\n
Login.c(90): }, _this.$$cacheFlushInterval);\n
Login.c(90): })(this);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],13:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setCapacity\n
Login.c(90): * @name setCapacity\n
Login.c(90): * @description\n
Login.c(90): * Set the capacity for this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setCapacity(capacity)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var smallCache = DSCacheFactory('smallCache', { capacity:
2 });\n
Login.c(90): *\n
Login.c(90): * smallCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * smallCache.put('1', 'apple');\n
Login.c(90): * smallCache.put('2', 'banana');\n
Login.c(90): *\n
Login.c(90): * smallCache.info().size; // 2\n
Login.c(90): *\n
Login.c(90): * // Least-recently used items are removed\n
Login.c(90): * // when the cache's new capacity exceeds\n
Login.c(90): * // its size\n
Login.c(90): * smallCache.setCapacity(1);\n
Login.c(90): *\n
Login.c(90): * smallCache.get('1'); // undefined\n
Login.c(90): * smallCache.info().size; // 1\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `capacity` must be `null` or a number greater than
zero.\n
Login.c(90): *\n
Login.c(90): * @param {number|null} capacity The new capacity for this cache.
If `capacity` is `null`
Login.c(90): then the capacity for this cache\n
Login.c(90): * will be reset to the default (`Number.MAX_VALUE`).\n
Login.c(90): * @returns {object} Key-value pairs of any items removed because
this cache's size exceed
Login.c(90): s the new capacity.\n
Login.c(90): */\n
Login.c(90): module.exports = function setCapacity(capacity) {\n
Login.c(90): if (capacity === null) {\n
Login.c(90): delete this.$$capacity;\n
Login.c(90): } else if (!angular.isNumber(capacity)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected capacity to be
a number! Found: {0}.',
Login.c(90): typeof capacity);\n
Login.c(90): } else if (capacity < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected capacity to be
greater than zero! Found
Login.c(90): : {0}.', capacity);\n
Login.c(90): } else {\n
Login.c(90): this.$$capacity = capacity;\n
Login.c(90): }\n
Login.c(90): var removed = {};\n
Login.c(90): while (this.$$lruHeap.size() > this.$$capacity) {\n
Login.c(90): removed[this.$$lruHeap.peek().key] = this.remove(this.$
$lruHeap.peek().key);\n
Login.c(90): }\n
Login.c(90): return removed;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],14:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setDeleteOnExpire\n
Login.c(90): * @name setDeleteOnExpire\n
Login.c(90): * @description\n
Login.c(90): * Set the behavior for this cache for when items expire. This
setting determines what thi
Login.c(90): s cache will do when one of\n
Login.c(90): * its items expires.\n
Login.c(90): *\n
Login.c(90): * ## Possible Values:\n
Login.c(90): * - `"none"` - Do nothing when items expire.\n
Login.c(90): * - `"passive"` - Do nothing when items expire, but if an expired
item is requested, remo
Login.c(90): ve it from the cache and return `undefined`.\n
Login.c(90): * - `"aggressive"` - Scan for expired items on the interval
specified by the `recycleFreq
Login.c(90): ` setting for this cache (defaults\n
Login.c(90): * to `1000ms`) and actively remove any expired items.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setDeleteOnExpire(deleteOnExpire)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache');\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * // Wait a few seconds\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): *\n
Login.c(90): * cache.setDeleteOnExpire('aggressive');\n
Login.c(90): *\n
Login.c(90): * // Wait a few seconds\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `deleteOnExpire` must be `null`, `"none"`,
`"passive"` or `"aggressive"`.\n
Login.c(90): *\n
Login.c(90): * @param {string|null} deleteOnExpire The new deleteOnExpire for
this cache. If `deleteOn
Login.c(90): Expire` is `null` then\n
Login.c(90): * `deleteOnExpire` for this cache will be reset to the default
(`"none"`).\n
Login.c(90): */\n
Login.c(90): module.exports = function setDeleteOnExpire(deleteOnExpire) {\n
Login.c(90): if (deleteOnExpire === null) {\n
Login.c(90): delete this.$$deleteOnExpire;\n
Login.c(90): } else if (!angular.isString(deleteOnExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected deleteOnExpire
to be a string! Found: {
Login.c(90): 0}.', typeof deleteOnExpire);\n
Login.c(90): } else if (deleteOnExpire !== 'none' && deleteOnExpire !==
'passive' && deleteOnExpire !
Login.c(90): == 'aggressive') {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected deleteOnExpire
to be "none", "passive"
Login.c(90): or "aggressive"! Found: {0}.', deleteOnExpire);\n
Login.c(90): } else {\n
Login.c(90): this.$$deleteOnExpire = deleteOnExpire;\n
Login.c(90): }\n
Login.c(90): this.setRecycleFreq(this.$$recycleFreq);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],15:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setMaxAge\n
Login.c(90): * @name setMaxAge\n
Login.c(90): * @description\n
Login.c(90): * Set the `maxAge` setting for this cache. This setting specifies
how long items can be i
Login.c(90): n the cache before they expire.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setMaxAge(maxAge)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var cache = DSCacheFactory('cache', { deleteOnExpire:
'aggressive' });\n
Login.c(90): *\n
Login.c(90): * // This won't expire for a long time\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * // 'apple' will be removed because it\n
Login.c(90): * // has already been in the cache longer\n
Login.c(90): * // than the new maxAge\n
Login.c(90): * var removed = cache.setMaxAge(1000);\n
Login.c(90): *\n
Login.c(90): * removed; // {\n
Login.c(90): * // '1': 'apple'\n
Login.c(90): * // }\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `maxAge must be `null` or a number greater than
zero.\n
Login.c(90): *\n
Login.c(90): * @param {number} maxAge The new maxAge for this cache in
milliseconds. If `maxAge` is `n
Login.c(90): ull` then `maxAge` for this\n
Login.c(90): * cache will be reset to the default (`Number.MAX_VALUE`);\n
Login.c(90): * @returns {object} Key-value pairs of any items aggressively
removed because they are ex
Login.c(90): pired according to the new\n
Login.c(90): * `maxAge`. Items are only removed if the `deleteOnExpire`
setting for this cache is set
Login.c(90): to `"aggressive"`.\n
Login.c(90): */\n
Login.c(90): module.exports = function setMaxAge(maxAge) {\n
Login.c(90): if (maxAge === null) {\n
Login.c(90): delete this.$$maxAge;\n
Login.c(90): } else if (!angular.isNumber(maxAge)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected maxAge to be a
number! Found: {0}.', ty
Login.c(90): peof maxAge);\n
Login.c(90): } else if (maxAge < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected maxAge to be
greater than zero! Found:
Login.c(90): {0}.', maxAge);\n
Login.c(90): } else {\n
Login.c(90): this.$$maxAge = maxAge;\n
Login.c(90): }\n
Login.c(90): var i, keys, key;\n
Login.c(90): \n
Login.c(90): this.$$expiresHeap.removeAll();\n
Login.c(90): \n
Login.c(90): if (this.$$storage) {\n
Login.c(90): var keysJson = this.$$storage.getItem(this.$$prefix +
'.keys');\n
Login.c(90): \n
Login.c(90): keys = keysJson ? angular.fromJson(keysJson) : [];\n
Login.c(90): \n
Login.c(90): for (i = 0; i < keys.length; i++) {\n
Login.c(90): key = keys[i];\n
Login.c(90): var itemJson = this.$$storage.getItem(this.$$prefix +
'.data.' + key);\n
Login.c(90): \n
Login.c(90): if (itemJson) {\n
Login.c(90): var item = angular.fromJson(itemJson);\n
Login.c(90): if (this.$$maxAge === Number.MAX_VALUE) {\n
Login.c(90): item.expires = Number.MAX_VALUE;\n
Login.c(90): } else {\n
Login.c(90): item.expires = item.created + this.$$maxAge;\n
Login.c(90): }\n
Login.c(90): this.$$expiresHeap.push({\n
Login.c(90): key: key,\n
Login.c(90): expires: item.expires\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): keys = utils.keys(this.$$data);\n
Login.c(90): \n
Login.c(90): for (i = 0; i < keys.length; i++) {\n
Login.c(90): key = keys[i];\n
Login.c(90): if (this.$$maxAge === Number.MAX_VALUE) {\n
Login.c(90): this.$$data[key].expires = Number.MAX_VALUE;\n
Login.c(90): } else {\n
Login.c(90): this.$$data[key].expires = this.$$data[key].created +
this.$$maxAge;\n
Login.c(90): }\n
Login.c(90): this.$$expiresHeap.push(this.$$data[key]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (this.$$deleteOnExpire === 'aggressive') {\n
Login.c(90): return this.removeExpired();\n
Login.c(90): } else {\n
Login.c(90): return {};\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{"../utils":21}],16:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setOnExpire\n
Login.c(90): * @name setOnExpire\n
Login.c(90): * @description\n
Login.c(90): * Set the global `onExpire` callback for this cache.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setOnExpire(onExpire)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * onExpire: function (key, value) {\n
Login.c(90): * window.lastExpiredItem = key;\n
Login.c(90): * },\n
Login.c(90): * maxAge: 1000,\n
Login.c(90): * deleteOnExpire: 'aggressive'\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * window.lastExpiredItem; // '1'\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `cacheFlushInterval` must be `null` or a number
greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {function|null} onExpire The new onExpire callback for
this cache. If `onExpire`
Login.c(90): is `null` then the onExpire\n
Login.c(90): * callback for this cache will be removed.\n
Login.c(90): */\n
Login.c(90): module.exports = function setOnExpire(onExpire) {\n
Login.c(90): if (onExpire === null) {\n
Login.c(90): delete this.$$onExpire;\n
Login.c(90): } else if (!angular.isFunction(onExpire)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected onExpire to be
a function! Found: {0}.'
Login.c(90): , typeof onExpire);\n
Login.c(90): } else {\n
Login.c(90): this.$$onExpire = onExpire;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],17:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCache.methods:setRecycleFreq\n
Login.c(90): * @name setRecycleFreq\n
Login.c(90): * @description\n
Login.c(90): * Set the `recycleFreq` setting for this cache. This setting
determines how often this ca
Login.c(90): che will scan for expired\n
Login.c(90): * items. The cache will only scan for expired items if the
`deleteOnExpire` setting for t
Login.c(90): his cache is set to\n
Login.c(90): * `"aggressive"`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCache#setRecycleFreq(recycleFreq)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var options = {\n
Login.c(90): * deleteOnExpire: 'aggressive',\n
Login.c(90): * maxAge: 1000\n
Login.c(90): * };\n
Login.c(90): * var cache = DSCacheFactory('cache', options);\n
Login.c(90): *\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): *\n
Login.c(90): * cache.get('1'); // undefined\n
Login.c(90): * cache.setRecycleFreq(60000);\n
Login.c(90): *\n
Login.c(90): * // This expires after 1 second, but the cache\n
Login.c(90): * // only checks every 60 seconds now\n
Login.c(90): * cache.put('1', 'apple');\n
Login.c(90): *\n
Login.c(90): * setTimeout(function () {\n
Login.c(90): * // expired, but won't be removed\n
Login.c(90): * // until the next check\n
Login.c(90): * cache.get('1'); // "apple"\n
Login.c(90): * cache.info('1').isExpired; // true\n
Login.c(90): * }, 1500);\n
Login.c(90): * }, 1500);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws:\n
Login.c(90): * - `Error` - `recycleFreq` must be `null` or
Login.c(90): t=3872ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): a number greater than zero.\n
Login.c(90): *\n
Login.c(90): * @param {number} recycleFreq The new recycleFreq for this cache
in milliseconds. If `rec
Login.c(90): ycleFreq` is `null` then\n
Login.c(90): * `recycleFreq` for this cache will be reset to the default
(`1000` milliseconds).\n
Login.c(90): */\n
Login.c(90): module.exports = function setRecycleFreq(recycleFreq) {\n
Login.c(90): if (recycleFreq === null) {\n
Login.c(90): delete this.$$recycleFreq;\n
Login.c(90): } else if (!angular.isNumber(recycleFreq)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected recycleFreq to
be a number! Found: {0}.
Login.c(90): ', typeof recycleFreq);\n
Login.c(90): } else if (recycleFreq < 0) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected recycleFreq to
be greater than zero! Fo
Login.c(90): und: {0}.', recycleFreq);\n
Login.c(90): } else {\n
Login.c(90): this.$$recycleFreq = recycleFreq;\n
Login.c(90): }\n
Login.c(90): clearInterval(this.$$recycleFreqId);\n
Login.c(90): if (this.$$deleteOnExpire === 'aggressive') {\n
Login.c(90): (function (_this) {\n
Login.c(90): _this.$$recycleFreqId = setInterval(function () {\n
Login.c(90): _this.removeExpired();\n
Login.c(90): }, _this.$$recycleFreq);\n
Login.c(90): })(this);\n
Login.c(90): } else {\n
Login.c(90): delete this.$$recycleFreqId;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],18:[function(require,module,exports){\n
Login.c(90): var defaults = require('../defaults'),\n
Login.c(90): DSCache = require('../DSCache'),\n
Login.c(90): version = '3.1.1';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCacheFactoryProvider\n
Login.c(90): * @name DSCacheFactoryProvider\n
Login.c(90): */\n
Login.c(90): function DSCacheFactoryProvider() {\n
Login.c(90): \n
Login.c(90): var config = new defaults.Config();\n
Login.c(90): \n
Login.c(90): this.version = version;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactoryProvider.methods:setCacheDefaults\n
Login.c(90): * @name setCacheDefaults\n
Login.c(90): * @desc Set the default configuration for all caches created by
$angularCacheFactory.\n
Login.c(90): * @param {object} options Default configuration options for
each new cache.\n
Login.c(90): */\n
Login.c(90): this.setCacheDefaults = function (options) {\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!angular.isObject(options)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected options to be
an object! Found: {0}.'
Login.c(90): , typeof options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var key in defaults.defaults) {\n
Login.c(90): if (key in options) {\n
Login.c(90): config[key] = options[key];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if ('disabled' in options) {\n
Login.c(90): config.$$disabled = !!options.disabled;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = function () {\n
Login.c(90): var caches = {};\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @method _keys\n
Login.c(90): * @desc Returns an array of the keys of the given
collection.\n
Login.c(90): * @param {object} collection The collection from which to get
the keys.\n
Login.c(90): * @returns {array} An array of the keys of the given
collection.\n
Login.c(90): */\n
Login.c(90): function _keys(collection) {\n
Login.c(90): var keys = [], key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function createCache(cacheId, options) {\n
Login.c(90): if (cacheId in caches) {\n
Login.c(90): throw angular.$$minErr('$cacheFactory')('iid', "CacheId
'{0}' is already taken!",
Login.c(90): cacheId);\n
Login.c(90): } else if (!angular.isString(cacheId)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheId to
be a string! Found: {0}.
Login.c(90): ', typeof cacheId);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): caches[cacheId] = new DSCache(cacheId, angular.extend({},
config, options));\n
Login.c(90): caches[cacheId].destroy = function () {\n
Login.c(90): this.constructor.prototype.destroy.call(this);\n
Login.c(90): delete caches[this.$$id];\n
Login.c(90): };\n
Login.c(90): return caches[cacheId];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSCacheFactory\n
Login.c(90): * @name DSCacheFactory\n
Login.c(90): * @description\n
Login.c(90): * Factory function that produces instances of `DSCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object} options Configuration options.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `null`\n
Login.c(90): * - `{string=}` - `storageMode` - Default: `'none`\n
Login.c(90): * - `{object=}` - `storageImpl` - Default: `null`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): * - `{string=}` - `storagePrefix` - Default: `"angular-
cache.caches."`\n
Login.c(90): *\n
Login.c(90): * @returns {DSCache} New instance of DSCache.\n
Login.c(90): */\n
Login.c(90): function DSCacheFactory(cacheId, options) {\n
Login.c(90): return createCache(cacheId, options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:createCache\n
Login.c(90): * @name createCache\n
Login.c(90): * @description\n
Login.c(90): * Factory function that produces instances of `DSCache`.\n
Login.c(90): *\n
Login.c(90): * @param {string} cacheId The id of the new cache.\n
Login.c(90): * @param {object} options Configuration options.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{number=}` - `capacity` - Default: `Number.MAX_VALUE`\n
Login.c(90): * - `{number=}` - `maxAge` - Default: `null`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `none`\n
Login.c(90): * - `{function=}` - `onExpire` - Default: `null`\n
Login.c(90): * - `{number=}` - `cacheFlushInterval` - Default: `null`\n
Login.c(90): * - `{number=}` - `recycleFreq` - Default: `1000`\n
Login.c(90): * - `{number=}` - `deleteOnExpire` - Default: `null`\n
Login.c(90): * - `{string=}` - `storageMode` - Default: `'none`\n
Login.c(90): * - `{object=}` - `storageImpl` - Default: `null`\n
Login.c(90): * - `{boolean=}` - `disabled` - Default: `false`\n
Login.c(90): * - `{string=}` - `storagePrefix` - Default: `"angular-
cache.caches."`\n
Login.c(90): *\n
Login.c(90): * @returns {DSCache} New instance of DSCache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.createCache = createCache;\n
Login.c(90): \n
Login.c(90): DSCacheFactory.version = version;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:info\n
Login.c(90): * @name info\n
Login.c(90): * @description\n
Login.c(90): * Return the status of `DSCacheFactory`.\n
Login.c(90): * @returns {object} The status of `DSCacheFactory`.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.info = function () {\n
Login.c(90): var keys = _keys(caches);\n
Login.c(90): var info = {\n
Login.c(90): size: keys.length,\n
Login.c(90): caches: {}\n
Login.c(90): };\n
Login.c(90): for (var i = 0; i < keys.length; i++) {\n
Login.c(90): var key = keys[i];\n
Login.c(90): info.caches[key] = caches[key].info();\n
Login.c(90): }\n
Login.c(90): var c = info.cacheDefaults = angular.extend({}, config);\n
Login.c(90): for (var option in defaults.defaults) {\n
Login.c(90): if (!(option in c)) {\n
Login.c(90): c[option] = config['$$' + option];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return info;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Return the cache with the given `cacheId`.\n
Login.c(90): * @param {string} cacheId The id of the desired cache.\n
Login.c(90): * @returns {DSCache} The cache with the specified
`cacheId`.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.get = function (cacheId) {\n
Login.c(90): if (!angular.isString(cacheId)) {\n
Login.c(90): throw angular.$$minErr('ng')('areq', 'Expected cacheId to
be a string! Found: {0}.
Login.c(90): ', typeof cacheId);\n
Login.c(90): }\n
Login.c(90): return caches[cacheId];\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:keySet\n
Login.c(90): * @name keySet\n
Login.c(90): * @description\n
Login.c(90): * Return an object containing the `cacheId` of each cache.\n
Login.c(90): * @returns {object} An object containing the `cacheId` of
each cache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.keySet = function () {\n
Login.c(90): var cacheIds = {}, cacheId;\n
Login.c(90): for (cacheId in caches) {\n
Login.c(90): if (caches.hasOwnProperty(cacheId)) {\n
Login.c(90): cacheIds[cacheId] = cacheId;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return cacheIds;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:keys\n
Login.c(90): * @name keys\n
Login.c(90): * @description\n
Login.c(90): * Return an array containing the `cacheId` of each cache.\n
Login.c(90): * @returns {array} An array containing the `cacheId` of each
cache.\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.keys = function () {\n
Login.c(90): return _keys(caches);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Destroy all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.destroyAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * newCache.put('1', 'apple');\n
Login.c(90): * newCache.put('2', 'banana');\n
Login.c(90): * otherCache.put('abcd', 'horse');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 2\n
Login.c(90): * otherCache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.destroyAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // Error thrown\n
Login.c(90): * otherCache.info().size; // Error thrown\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.get('newCache'); // undefined\n
Login.c(90): * DSCacheFactory.get('otherCache'); // undefined\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.destroyAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].destroy();\n
Login.c(90): }\n
Login.c(90): caches = {};\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:clearAll\n
Login.c(90): * @name clearAll\n
Login.c(90): * @description\n
Login.c(90): * Clear the contents of all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.clearAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): *\n
Login.c(90): * newCache.put('1', 'apple');\n
Login.c(90): * newCache.put('2', 'banana');\n
Login.c(90): * otherCache.put('abcd', 'horse');\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 2\n
Login.c(90): * otherCache.info().size; // 1\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.clearAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().size; // 0\n
Login.c(90): * otherCache.info().size; // 0\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.clearAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].removeAll();\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:enableAll\n
Login.c(90): * @name enableAll\n
Login.c(90): * @description\n
Login.c(90): * Enable any disabled caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.enableAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache', { disabled:
true });\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache', { disabled:
true });\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // true\n
Login.c(90): * otherCache.info().disabled; // true\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.enableAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // false\n
Login.c(90): * otherCache.info().disabled; // false\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.enableAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].$$disabled = false;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSCacheFactory.methods:disableAll\n
Login.c(90): * @name disableAll\n
Login.c(90): * @description\n
Login.c(90): * Disable all caches.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSCacheFactory.disableAll()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * var newCache = DSCacheFactory('newCache');\n
Login.c(90): * var otherCache = DSCacheFactory('otherCache');\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // false\n
Login.c(90): * otherCache.info().disabled; // false\n
Login.c(90): *\n
Login.c(90): * DSCacheFactory.disableAll();\n
Login.c(90): *\n
Login.c(90): * newCache.info().disabled; // true\n
Login.c(90): * otherCache.info().disabled; // true\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): DSCacheFactory.disableAll = function () {\n
Login.c(90): for (var cacheId in caches) {\n
Login.c(90): caches[cacheId].$$disabled = true;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): return DSCacheFactory;\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSCacheFactoryProvider;\n
Login.c(90): \n
Login.c(90): },{"../DSCache":4,"../defaults":19}],19:
[function(require,module,exports){\n
Login.c(90): var defaults = {\n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id capacity\n
Login.c(90): * @name capacity\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `Number.MAX_VALUE`\n
Login.c(90): *\n
Login.c(90): * This option limits the capacity of a cache. With a maximum
capacity set, a cache oper
Login.c(90): ates as an LRU cache,\n
Login.c(90): * deleting the least-recently-used item when the cache exceeds
capacity.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setCapacity(capacity)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): capacity: Number.MAX_VALUE,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id maxAge\n
Login.c(90): * @name maxAge\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `Number.MAX_VALUE`\n
Login.c(90): *\n
Login.c(90): * This option determines how long an item is in a cache before
the item expires.. With
Login.c(90): `maxAge` set, items are\n
Login.c(90): * marked as expired when their time in a cache exceeds
`maxAge`. A cache's behavior whe
Login.c(90): n an item expires is\n
Login.c(90): * determined by the [deleteOnExpire]
(/documentation/api/angular-cache/deleteOnE
Login.c(90): t=3890ms: 11231-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-cache/dist/angular-cache.js"
(RelFrameId=, Internal ID=19)
Login.c(90): xpire) option.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setMaxAge(maxAge)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): maxAge: Number.MAX_VALUE,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id deleteOnExpire\n
Login.c(90): * @name deleteOnExpire\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"none"`\n
Login.c(90): *\n
Login.c(90): * This option determines how long an item is in a cache before
the item expires.. With
Login.c(90): `maxAge` set, items are\n
Login.c(90): * marked as expired when their time in a cache exceeds
`maxAge`. A cache's behavior whe
Login.c(90): n an item expires is\n
Login.c(90): * determined by the [deleteOnExpire]
(/documentation/api/angular-cache/deleteOnExpire) o
Login.c(90): ption.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be `"none"`,
`"passive"` or `"aggressiv
Login.c(90): e"`.\n
Login.c(90): *\n
Login.c(90): * #### "none"\n
Login.c(90): * A cache will do nothing when its items expire.\n
Login.c(90): *\n
Login.c(90): * #### "passive"\n
Login.c(90): * A cache will do nothing when its items expire. If an expired
item is request it is re
Login.c(90): moved from the cache and\n
Login.c(90): * `undefined` is returned.\n
Login.c(90): *\n
Login.c(90): * #### "aggressive"\n
Login.c(90): * A cache will periodically scan for expired items and actively
remove them from the ca
Login.c(90): che if any are found. The\n
Login.c(90): * frequency of the scan is determined by the [recycleFreq]
(/documentation/api/angular-c
Login.c(90): ache/recycleFreq) option.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setRecycleFreq(recycleFreq)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): deleteOnExpire: 'none',\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id onExpire\n
Login.c(90): * @name onExpire\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"none"`\n
Login.c(90): *\n
Login.c(90): * This option is a callback function which will be executed
whenever an expired item is
Login.c(90): removed from a cache by\n
Login.c(90): * either requesting an expired item while the cache is in
`"passive"` `deleteOnExpire`
Login.c(90): mode, or when an expired\n
Login.c(90): * item is actively removed when the cache is in `"aggressive"`
`deleteOnExpire` mode.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a function.
Will be passed the `key`
Login.c(90): and `value` of the expired\n
Login.c(90): * item. Will be passed a third `done` argument (if in
`"passive"` `deleteOnExpire` mode
Login.c(90): ) which is the `onExpire`\n
Login.c(90): * argument passed to [DSCache#get(key[, options])]
(/documentation/api/angular-cache/DSC
Login.c(90): ache.methods:get).\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setOnExpire(onExpire)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): onExpire: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id cacheFlushInterval\n
Login.c(90): * @name cacheFlushInterval\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `null`\n
Login.c(90): *\n
Login.c(90): * This option, if set, will cause a cache to periodically clear
itself of all data.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setCacheFlushInterval(cacheFlushInterval)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): cacheFlushInterval: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id recycleFreq\n
Login.c(90): * @name recycleFreq\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `1000`\n
Login.c(90): *\n
Login.c(90): * This option determines how often a cache will scan for
expired items when in `"aggres
Login.c(90): sive"` `deleteOnExpire`\n
Login.c(90): * mode.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be a number
(milliseconds) greater than
Login.c(90): zero.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setRecycleFreq(recycleFreq)`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): */\n
Login.c(90): recycleFreq: 1000,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storageMode\n
Login.c(90): * @name storageMode\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"memory"`\n
Login.c(90): *\n
Login.c(90): * This option determines the storage mode for a cache.\n
Login.c(90): *\n
Login.c(90): * #### "memory"\n
Login.c(90): * All data will be held in memory.\n
Login.c(90): *\n
Login.c(90): * #### "localStorage"\n
Login.c(90): * Data will be held in `localStorage`, if available (or\n
Login.c(90): * [storageImpl](/documentation/api/angular-cache/storageImpl)
is provided).\n
Login.c(90): *\n
Login.c(90): * #### "sessionStorage"\n
Login.c(90): * Data will be held in `sessionStorage`, if available (or\n
Login.c(90): * [storageImpl](/documentation/api/angular-cache/storageImpl)
is provided).\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be
`"memory"`, `"localStorage"` or
Login.c(90): `"sessionStorage"`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storageMode: 'memory',\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storageImpl\n
Login.c(90): * @name storageImpl\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `null`\n
Login.c(90): *\n
Login.c(90): * This option is available if you want to provide a custom
`localStorage` or `sessionSt
Login.c(90): orage` implementation.\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be an
object that implements `setIt
Login.c(90): em(key, value)`,\n
Login.c(90): * `getItem(key)` and `removeItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storageImpl: null,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id disabled\n
Login.c(90): * @name disabled\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `false`\n
Login.c(90): *\n
Login.c(90): * This option disables or enables cache.\n
Login.c(90): *\n
Login.c(90): * This option is dynamically configurable. Must be `true` or
`false`.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): * - `DSCache.setOptions(options[, strict])`\n
Login.c(90): *\n
Login.c(90): * or just use [DSCache#disable()](/documentation/api/angular-
cache/DSCache.methods:disa
Login.c(90): ble) or\n
Login.c(90): * [DSCache#enable()](/documentation/api/angular-
cache/DSCache.methods:enable).\n
Login.c(90): */\n
Login.c(90): disabled: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id storagePrefix\n
Login.c(90): * @name storagePrefix\n
Login.c(90): * @description\n
Login.c(90): * __Default:__ `"angular-cache.caches."`\n
Login.c(90): *\n
Login.c(90): * This option determines the namespace for a cache when
`storageMode` is `"localStorage
Login.c(90): "` or `"sessionStorage"`.\n
Login.c(90): * Setting this value to something like `"ac."` will save space
when using WebStorage.\n
Login.c(90): *\n
Login.c(90): * This option is NOT dynamically configurable. Must be a
string.\n
Login.c(90): *\n
Login.c(90): * ### Where can it be used?\n
Login.c(90): * - `DSCacheFactoryProvider.setCacheDefaults(options)`\n
Login.c(90): * - `DSCacheFactory(cacheId[, options])`\n
Login.c(90): */\n
Login.c(90): storagePrefix: 'angular-cache.caches.'\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function Config() {\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var option in defaults) {\n
Login.c(90): Config.prototype['$$' + option] = defaults[option];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): Config: Config,\n
Login.c(90): defaults: defaults\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],20:[function(require,module,exports){\n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): angular.$$minErr = angular.$$minErr || function minErr(module)
{\n
Login.c(90): return function () {\n
Login.c(90): var code = arguments[0],\n
Login.c(90): prefix = '[' + (module ? module + ':' : '') + code + ']
',\n
Login.c(90): template = arguments[1],\n
Login.c(90): templateArgs = arguments,\n
Login.c(90): stringify = function (obj) {\n
Login.c(90): if (typeof obj === 'function') {\n
Login.c(90): return obj.toString().replace(/ \\{[\\s\\S]*$/, '');\n
Login.c(90): } else if (typeof obj === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof obj !== 'string') {\n
Login.c(90): return JSON.stringify(obj);\n
Login.c(90): }\n
Login.c(90): return obj;\n
Login.c(90): },\n
Login.c(90): message, i;\n
Login.c(90): \n
Login.c(90): message = prefix + template.replace(/\\{\\d+\\}/g, function
(match) {\n
Login.c(90): var index = +match.slice(1, -1), arg;\n
Login.c(90): \n
Login.c(90): if (index + 2 < templateArgs.length) {\n
Login.c(90): arg = templateArgs[index + 2];\n
Login.c(90): if (typeof arg === 'function') {\n
Login.c(90): return arg.toString().replace(/ ?\\{[\\s\\S]*$/,
'');\n
Login.c(90): } else if (typeof arg === 'undefined') {\n
Login.c(90): return 'undefined';\n
Login.c(90): } else if (typeof arg !== 'string') {\n
Login.c(90): return angular.toJson(arg);\n
Login.c(90): }\n
Login.c(90): return arg;\n
Login.c(90): }\n
Login.c(90): return match;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): message = message + '\\nhttp://errors.angularjs.org/' +
angular.version.full + '/' +
Login.c(90): \n
Login.c(90): (module ? module + '/' : '') + code;\n
Login.c(90): for (i = 2; i < arguments.length; i++) {\n
Login.c(90): message = message + (i == 2 ? '?' : '&') + 'p' + (i - 2) +
'=' +\n
Login.c(90): encodeURIComponent(stringify(arguments[i]));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return new Error(message);\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): angular.module('angular-data.DSBinaryHeap', [])\n
Login.c(90): .provider('DSBinaryHeap',
require('./DSBinaryHeap').DSBinaryHeapProvider);\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id angular-cache\n
Login.c(90): * @name Overview\n
Login.c(90): * @description\n
Login.c(90): * __Version:__ 3.1.1\n
Login.c(90): *\n
Login.c(90): * ## Install\n
Login.c(90): *\n
Login.c(90): * #### Bower\n
Login.c(90): * ```text\n
Login.c(90): * bower install angular-cache\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-cache.js` or `dist/angular-cache.min.js`
onto your web page after
Login.c(90): Angular.js.\n
Login.c(90): *\n
Login.c(90): * #### Npm\n
Login.c(90): * ```text\n
Login.c(90): * npm install angular-cache\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-cache.js` or `dist/angular-cache.min.js`
onto your web page after
Login.c(90): Angular.js. Angular-cache is\n
Login.c(90): * also consumable by Browserify and you should be able to
`require('angular-cache')`. T
Login.c(90): he `main` file is `src/index.js`.\n
Login.c(90): *\n
Login.c(90): * #### Manual download\n
Login.c(90): * Download angular-cache.3.1.1.js from the [Releases]
(https://github.com/jmdobry/angula
Login.c(90): r-cache/releases)\n
Login.c(90): * section of the angular-cache GitHub project.\n
Login.c(90): *\n
Login.c(90): * ## Load into Angular\n
Login.c(90): * Your Angular app must depend on the module `"angular-
data.DSCacheFactory"` in order t
Login.c(90): o use angular-cache. Loading\n
Login.c(90): * angular-cache into your app allows you to inject the
following:\n
Login.c(90): *\n
Login.c(90): * - `DSCacheFactory`\n
Login.c(90): * - `DSBinaryHeap`\n
Login.c(90): *\n
Login.c(90): * [DSCacheFactory](/documentation/api/api/DSCacheFactory) is a
factory function that pr
Login.c(90): oduces instances of\n
Login.c(90): * [DSCache](/documentation/api/api/DSCache), which is API
compatible with caches produc
Login.c(90): ed by Angular's\n
Login.c(90): * [$cacheFactory](http://docs.angularjs.org/api/ng/service/
$cacheFactory).\n
Login.c(90): *\n
Login.c(90): * [DSBinaryHeap](/documentation/api/api/DSBinaryHeap) is a
priority queue implemented a
Login.c(90): s a Binary Heap.\n
Login.c(90): *\n
Login.c(90): * Angular-cache is a dependency of [angular-data]
(/documentation/api/api/angular-data)
Login.c(90): and must be loaded before\n
Login.c(90): * angular-data if you are using angular-data.\n
Login.c(90): */\n
Login.c(90): angular.module('angular-data.DSCacheFactory', ['ng', 'angular-
data.DSBinaryHeap'])\n
Login.c(90): .provider('DSCacheFactory', require('./DSCacheFactory'));\n
Login.c(90): \n
Login.c(90): })(window, window.angular);\n
Login.c(90): \n
Login.c(90): },{"./DSBinaryHeap":1,"./DSCacheFactory":18}],21:
[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): /*!\n
Login.c(90): * Stringify a number.\n
Login.c(90): */\n
Login.c(90): stringifyNumber: function (number) {\n
Login.c(90): if (number && angular.isNumber(number)) {\n
Login.c(90): return number.toString();\n
Login.c(90): }\n
Login.c(90): return number;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Return a hash of the keys in the given collection.\n
Login.c(90): */\n
Login.c(90): keySet: function (collection) {\n
Login.c(90): var keySet = {}, key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keySet[key] = key;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keySet;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * Return an array of the keys in the given collection\n
Login.c(90): */\n
Login.c(90): keys: function (collection) {\n
Login.c(90): var keys = [], key;\n
Login.c(90): for (key in collection) {\n
Login.c(90): if (collection.hasOwnProperty(key)) {\n
Login.c(90): keys.push(key);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return keys;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}]},{},[20]);\n
Login.c(90): t=3906ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): HTTP/1.1 200 OK\r\n
Login.c(90): Server: Apache-Coyote/1.1\r\n
Login.c(90): Accept-Ranges: bytes\r\n
Login.c(90): ETag: W/"235682-1416253773000"\r\n
Login.c(90): Last-Modified: Mon, 17 Nov 2014 19:49:33 GMT\r\n
Login.c(90): Content-Type: application/javascript\r\n
Login.c(90): Content-Length: 235682\r\n
Login.c(90): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(90): \r\n
Login.c(90): t=3906ms: 8396-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): /**\n
Login.c(90): * @author Jason Dobry <jason.dobry@gmail.com>\n
Login.c(90): * @file angular-data.js\n
Login.c(90): * @version 1.0.0-rc.2-1 - Homepage <http://angular-
data.pseudobry.com/>\n
Login.c(90): * @copyright (c) 2014 Jason Dobry <https://github.com/jmdobry/>\n
Login.c(90): * @license MIT <https://github.com/jmdobry/angular-
data/blob/master/LICENSE>\n
Login.c(90): *\n
Login.c(90): * @overview Data store for Angular.js.\n
Login.c(90): */\n
Login.c(90): (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var
a=typeof require=="function"&&r
Login.c(90): equire;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new
Error("Cannot find module '"+
Login.c(90): o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:
{}};t[o][0].call(l.exports,fu
Login.c(90): nction(e){var n=t[o][1][e];return s(n?
n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i
Login.c(90): =typeof require=="function"&&require;for(var o=0;o<r.length;o+
+)s(r[o]);return s})({1:[fun
Login.c(90): ction(require,module,exports){\n
Login.c(90): // Copyright 2012 Google Inc.\n
Login.c(90): //\n
Login.c(90): // Licensed under the Apache License, Version 2.0 (the
"License");\n
Login.c(90): // you may not use this file except in compliance with the
License.\n
Login.c(90): // You may obtain a copy of the License at\n
Login.c(90): //\n
Login.c(90): // http://www.apache.org/licenses/LICENSE-2.0\n
Login.c(90): //\n
Login.c(90): // Unless required by applicable law or agreed to in writing,
software\n
Login.c(90): // distributed under the License is distributed on an "AS IS"
BASIS,\n
Login.c(90): // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.\n
Login.c(90): // See the License for the specific language governing permissions
and\n
Login.c(90): // limitations under the License.\n
Login.c(90): \n
Login.c(90): // Modifications\n
Login.c(90): // Copyright 2014 Jason Dobry\n
Login.c(90): //\n
Login.c(90): // Summary of modifications:\n
Login.c(90): // Removed all code related to:\n
Login.c(90): // - ArrayObserver\n
Login.c(90): // - ArraySplice\n
Login.c(90): // - PathObserver\n
Login.c(90): // - CompoundObserver\n
Login.c(90): // - Path\n
Login.c(90): // - ObserverTransform\n
Login.c(90): (function(global) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): // Detect and do basic sanity checking on
Object/Array.observe.\n
Login.c(90): function detectObjectObserve() {\n
Login.c(90): if (typeof Object.observe !== 'function' ||\n
Login.c(90): typeof Array.observe !== 'function') {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var records = [];\n
Login.c(90): \n
Login.c(90): function callback(recs) {\n
Login.c(90): records = recs;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var test = {};\n
Login.c(90): var arr = [];\n
Login.c(90): Object.observe(test, callback);\n
Login.c(90): Array.observe(arr, callback);\n
Login.c(90): test.id = 1;\n
Login.c(90): test.id = 2;\n
Login.c(90): delete test.id;\n
Login.c(90): arr.push(1, 2);\n
Login.c(90): arr.length = 0;\n
Login.c(90): \n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): if (records.length !== 5)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): if (records[0].type != 'add' ||\n
Login.c(90): records[1].type != 'update' ||\n
Login.c(90): records[2].type != 'delete' ||\n
Login.c(90): records[3].type != 'splice' ||\n
Login.c(90): records[4].type != 'splice') {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Object.unobserve(test, callback);\n
Login.c(90): Array.unobserve(arr, callback);\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var hasObserve = detectObjectObserve();\n
Login.c(90): \n
Login.c(90): function detectEval() {\n
Login.c(90): // Don't test for eval if we're running in a Chrome App
environment.\n
Login.c(90): // We check for APIs set that only exist in a Chrome App
context.\n
Login.c(90): if (typeof chrome !== 'undefined' && chrome.app &&
chrome.app.runtime) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var f = new Function('', 'return true;');\n
Login.c(90): return f();\n
Login.c(90): } catch (ex) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var hasEval = detectEval();\n
Login.c(90): \n
Login.c(90): var createObject = ('__proto__' in {}) ?\n
Login.c(90): function(obj) { return obj; } :\n
Login.c(90): function(obj) {\n
Login.c(90): var proto = obj.__proto__;\n
Login.c(90): if (!proto)\n
Login.c(90): return obj;\n
Login.c(90): var newObject = Object.create(proto);\n
Login.c(90): Object.getOwnPropertyNames(obj).forEach(function(name) {\n
Login.c(90): Object.defineProperty(newObject, name,\n
Login.c(90): Object.getOwnPropertyDescriptor(obj,
name));\n
Login.c(90): });\n
Login.c(90): return newObject;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): var MAX_DIRTY_CHECK_CYCLES = 1000;\n
Login.c(90): \n
Login.c(90): function dirtyCheck(observer) {\n
Login.c(90): var cycles = 0;\n
Login.c(90): while (cycles < MAX_DIRTY_CHECK_CYCLES && observer.check_())
{\n
Login.c(90): cycles++;\n
Login.c(90): }\n
Login.c(90): if (global.testingExposeCycleCount)\n
Login.c(90): global.dirtyCheckCycleCount = cycles;\n
Login.c(90): \n
Login.c(90): return cycles > 0;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function objectIsEmpty(object) {\n
Login.c(90): for (var prop in object)\n
Login.c(90): return false;\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffIsEmpty(diff) {\n
Login.c(90): return objectIsEmpty(diff.added) &&\n
Login.c(90): objectIsEmpty(diff.removed) &&\n
Login.c(90): objectIsEmpty(diff.changed);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffObjectFromOldObject(object, oldObject) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): var changed = {};\n
Login.c(90): \n
Login.c(90): for (var prop in oldObject) {\n
Login.c(90): var newValue = object[prop];\n
Login.c(90): \n
Login.c(90): if (newValue !== undefined && newValue ===
oldObject[prop])\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (!(prop in object)) {\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (newValue !== oldObject[prop])\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop in object) {\n
Login.c(90): if (prop in oldObject)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): added[prop] = object[prop];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (Array.isArray(object) && object.length !==
oldObject.length)\n
Login.c(90): changed.length = object.length;\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var eomTasks = [];\n
Login.c(90): function runEOMTasks() {\n
Login.c(90): if (!eomTasks.length)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < eomTasks.length; i++) {\n
Login.c(90): eomTasks[i]();\n
Login.c(90): }\n
Login.c(90): eomTasks.length = 0;\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var runEOM = hasObserve ? (function(){\n
Login.c(90): var eomObj = { pingPong: true };\n
Login.c(90): var eomRunScheduled = false;\n
Login.c(90): \n
Login.c(90): Object.observe(eomObj, function() {\n
Login.c(90): runEOMTasks();\n
Login.c(90): eomRunScheduled = false;\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return function(fn) {\n
Login.c(90): eomTasks.push(fn);\n
Login.c(90): if (!eomRunScheduled) {\n
Login.c(90): eomRunScheduled = true;\n
Login.c(90): eomObj.pingPong = !eomObj.pingPong;\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): })() :\n
Login.c(90): (function() {\n
Login.c(90): return function(fn) {\n
Login.c(90): eomTasks.push(fn);\n
Login.c(90): };\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): var observedObjectCache = [];\n
Login.c(90): \n
Login.c(90): function newObservedObject() {\n
Login.c(90): var observer;\n
Login.c(90): var object;\n
Login.c(90): var discardRecords = false;\n
Login.c(90): var first = true;\n
Login.c(90): \n
Login.c(90): function callback(records) {\n
Login.c(90): if (observer && observer.state_ === OPENED && !
discardRecords)\n
Login.c(90): observer.check_(records);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): open: function(obs) {\n
Login.c(90): if (observer)\n
Login.c(90): throw Error('ObservedObject in use');\n
Login.c(90): \n
Login.c(90): if (!first)\n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): \n
Login.c(90): observer = obs;\n
Login.c(90): first = false;\n
Login.c(90): },\n
Login.c(90): observe: function(obj, arrayObserve) {\n
Login.c(90): object = obj;\n
Login.c(90): if (arrayObserve)\n
Login.c(90): Array.observe(object, callback);\n
Login.c(90): else\n
Login.c(90): Object.observe(object, callback);\n
Login.c(90): },\n
Login.c(90): deliver: function(discard) {\n
Login.c(90): discardRecords = discard;\n
Login.c(90): Object.deliverChangeRecords(callback);\n
Login.c(90): discardRecords = false;\n
Login.c(90): },\n
Login.c(90): close: function() {\n
Login.c(90): observer = undefined;\n
Login.c(90): Object.unobserve(object, callback);\n
Login.c(90): observedObjectCache.push(this);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /*\n
Login.c(90): * The observedSet abstraction is a perf optimization which
reduces the total\n
Login.c(90): * number of Object.observe observations of a set of objects.
The idea is that\n
Login.c(90): * groups of Observers will have some object dependencies in
common and this\n
Login.c(90): * observed set ensures that each object in the transitive
closure of\n
Login.c(90): * dependencies is only observed once. The observedSet acts as a
write barrier\n
Login.c(90): * such that whenever any change comes through, all Observers
are checked for\n
Login.c(90): * changed values.\n
Login.c(90): *\n
Login.c(90): * Note that this optimization is explicitly moving work from
setup-time to\n
Login.c(90): * change-time.\n
Login.c(90): *\n
Login.c(90): * TODO(rafaelw): Implement "garbage collection". In order to
move work off\n
Login.c(90): * the critical path, when Observers are closed, their observed
objects are\n
Login.c(90): * not Object.unobserve(d). As a result, it's possible that if
the observedSet\n
Login.c(90): * is kept open, but some Observers have been closed, it could
cause "leaks"\n
Login.c(90): * (prevent otherwise collectable objects from being collected).
At some\n
Login.c(90): * point, we should implement incremental "gc" which keeps a
list of\n
Login.c(90): * observedSets which may need clean-up and does small amounts
of cleanup on a\n
Login.c(90): * timeout until all is clean.\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): function getObservedObject(observer, object, arrayObserve) {\n
Login.c(90): var dir = observedObjectCache.pop() || newObservedObject();\n
Login.c(90): dir.open(observer);\n
Login.c(90): dir.observe(object, arrayObserve);\n
Login.c(90): return dir;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var UNOPENED = 0;\n
Login.c(90): var OPENED = 1;\n
Login.c(90): var CLOSED = 2;\n
Login.c(90): \n
Login.c(90): var nextObserverId = 1;\n
Login.c(90): \n
Login.c(90): function Observer() {\n
Login.c(90): this.state_ = UNOPENED;\n
Login.c(90): this.callback_ = undefined;\n
Login.c(90): this.target_ = undefined; // TODO(rafaelw): Should be
WeakRef\n
Login.c(90): this.directObserver_ = undefined;\n
Login.c(90): this.value_ = undefined;\n
Login.c(90): this.id_ = nextObserverId++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Observer.prototype = {\n
Login.c(90): open: function(callback, target) {\n
Login.c(90): if (this.state_ != UNOP
Login.c(90): t=3920ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ENED)\n
Login.c(90): throw Error('Observer has already been opened.');\n
Login.c(90): \n
Login.c(90): addToAll(this);\n
Login.c(90): this.callback_ = callback;\n
Login.c(90): this.target_ = target;\n
Login.c(90): this.connect_();\n
Login.c(90): this.state_ = OPENED;\n
Login.c(90): return this.value_;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): close: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): removeFromAll(this);\n
Login.c(90): this.disconnect_();\n
Login.c(90): this.value_ = undefined;\n
Login.c(90): this.callback_ = undefined;\n
Login.c(90): this.target_ = undefined;\n
Login.c(90): this.state_ = CLOSED;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): deliver: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): dirtyCheck(this);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): report_: function(changes) {\n
Login.c(90): try {\n
Login.c(90): this.callback_.apply(this.target_, changes);\n
Login.c(90): } catch (ex) {\n
Login.c(90): Observer._errorThrownDuringCallback = true;\n
Login.c(90): console.error('Exception caught during observer callback:
' +\n
Login.c(90): (ex.stack || ex));\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): discardChanges: function() {\n
Login.c(90): this.check_(undefined, true);\n
Login.c(90): return this.value_;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var collectObservers = !hasObserve;\n
Login.c(90): var allObservers;\n
Login.c(90): Observer._allObserversCount = 0;\n
Login.c(90): \n
Login.c(90): if (collectObservers) {\n
Login.c(90): allObservers = [];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function addToAll(observer) {\n
Login.c(90): Observer._allObserversCount++;\n
Login.c(90): if (!collectObservers)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): allObservers.push(observer);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function removeFromAll(observer) {\n
Login.c(90): Observer._allObserversCount--;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var runningMicrotaskCheckpoint = false;\n
Login.c(90): \n
Login.c(90): var hasDebugForceFullDelivery = hasObserve && hasEval &&
(function() {\n
Login.c(90): try {\n
Login.c(90): eval('%RunMicrotasks()');\n
Login.c(90): return true;\n
Login.c(90): } catch (ex) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): })();\n
Login.c(90): \n
Login.c(90): global.Platform = global.Platform || {};\n
Login.c(90): \n
Login.c(90): global.Platform.performMicrotaskCheckpoint = function() {\n
Login.c(90): if (runningMicrotaskCheckpoint)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): if (hasDebugForceFullDelivery) {\n
Login.c(90): eval('%RunMicrotasks()');\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!collectObservers)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): runningMicrotaskCheckpoint = true;\n
Login.c(90): \n
Login.c(90): var cycles = 0;\n
Login.c(90): var anyChanged, toCheck;\n
Login.c(90): \n
Login.c(90): do {\n
Login.c(90): cycles++;\n
Login.c(90): toCheck = allObservers;\n
Login.c(90): allObservers = [];\n
Login.c(90): anyChanged = false;\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < toCheck.length; i++) {\n
Login.c(90): var observer = toCheck[i];\n
Login.c(90): if (observer.state_ != OPENED)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (observer.check_())\n
Login.c(90): anyChanged = true;\n
Login.c(90): \n
Login.c(90): allObservers.push(observer);\n
Login.c(90): }\n
Login.c(90): if (runEOMTasks())\n
Login.c(90): anyChanged = true;\n
Login.c(90): } while (cycles < MAX_DIRTY_CHECK_CYCLES && anyChanged);\n
Login.c(90): \n
Login.c(90): if (global.testingExposeCycleCount)\n
Login.c(90): global.dirtyCheckCycleCount = cycles;\n
Login.c(90): \n
Login.c(90): runningMicrotaskCheckpoint = false;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (collectObservers) {\n
Login.c(90): global.Platform.clearObservers = function() {\n
Login.c(90): allObservers = [];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function ObjectObserver(object) {\n
Login.c(90): Observer.call(this);\n
Login.c(90): this.value_ = object;\n
Login.c(90): this.oldObject_ = undefined;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): ObjectObserver.prototype = createObject({\n
Login.c(90): __proto__: Observer.prototype,\n
Login.c(90): \n
Login.c(90): arrayObserve: false,\n
Login.c(90): \n
Login.c(90): connect_: function(callback, target) {\n
Login.c(90): if (hasObserve) {\n
Login.c(90): this.directObserver_ = getObservedObject(this,
this.value_,\n
Login.c(90):
this.arrayObserve);\n
Login.c(90): } else {\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): copyObject: function(object) {\n
Login.c(90): var copy = Array.isArray(object) ? [] : {};\n
Login.c(90): for (var prop in object) {\n
Login.c(90): copy[prop] = object[prop];\n
Login.c(90): };\n
Login.c(90): if (Array.isArray(object))\n
Login.c(90): copy.length = object.length;\n
Login.c(90): return copy;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): check_: function(changeRecords, skipChanges) {\n
Login.c(90): var diff;\n
Login.c(90): var oldValues;\n
Login.c(90): if (hasObserve) {\n
Login.c(90): if (!changeRecords)\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): oldValues = {};\n
Login.c(90): diff = diffObjectFromChangeRecords(this.value_,
changeRecords,\n
Login.c(90): oldValues);\n
Login.c(90): } else {\n
Login.c(90): oldValues = this.oldObject_;\n
Login.c(90): diff = diffObjectFromOldObject(this.value_,
this.oldObject_);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (diffIsEmpty(diff))\n
Login.c(90): return false;\n
Login.c(90): \n
Login.c(90): if (!hasObserve)\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): \n
Login.c(90): this.report_([\n
Login.c(90): diff.added || {},\n
Login.c(90): diff.removed || {},\n
Login.c(90): diff.changed || {},\n
Login.c(90): function(property) {\n
Login.c(90): return oldValues[property];\n
Login.c(90): }\n
Login.c(90): ]);\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): disconnect_: function() {\n
Login.c(90): if (hasObserve) {\n
Login.c(90): this.directObserver_.close();\n
Login.c(90): this.directObserver_ = undefined;\n
Login.c(90): } else {\n
Login.c(90): this.oldObject_ = undefined;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): deliver: function() {\n
Login.c(90): if (this.state_ != OPENED)\n
Login.c(90): return;\n
Login.c(90): \n
Login.c(90): if (hasObserve)\n
Login.c(90): this.directObserver_.deliver(false);\n
Login.c(90): else\n
Login.c(90): dirtyCheck(this);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): discardChanges: function() {\n
Login.c(90): if (this.directObserver_)\n
Login.c(90): this.directObserver_.deliver(true);\n
Login.c(90): else\n
Login.c(90): this.oldObject_ = this.copyObject(this.value_);\n
Login.c(90): \n
Login.c(90): return this.value_;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): var observerSentinel = {};\n
Login.c(90): \n
Login.c(90): var expectedRecordTypes = {\n
Login.c(90): add: true,\n
Login.c(90): update: true,\n
Login.c(90): delete: true\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): function diffObjectFromChangeRecords(object, changeRecords,
oldValues) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): \n
Login.c(90): for (var i = 0; i < changeRecords.length; i++) {\n
Login.c(90): var record = changeRecords[i];\n
Login.c(90): if (!expectedRecordTypes[record.type]) {\n
Login.c(90): console.error('Unknown changeRecord type: ' +
record.type);\n
Login.c(90): console.error(record);\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(record.name in oldValues))\n
Login.c(90): oldValues[record.name] = record.oldValue;\n
Login.c(90): \n
Login.c(90): if (record.type == 'update')\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (record.type == 'add') {\n
Login.c(90): if (record.name in removed)\n
Login.c(90): delete removed[record.name];\n
Login.c(90): else\n
Login.c(90): added[record.name] = true;\n
Login.c(90): \n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // type = 'delete'\n
Login.c(90): if (record.name in added) {\n
Login.c(90): delete added[record.name];\n
Login.c(90): delete oldValues[record.name];\n
Login.c(90): } else {\n
Login.c(90): removed[record.name] = true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop in added)\n
Login.c(90): added[prop] = object[prop];\n
Login.c(90): \n
Login.c(90): for (var prop in removed)\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): \n
Login.c(90): var changed = {};\n
Login.c(90): for (var prop in oldValues) {\n
Login.c(90): if (prop in added || prop in removed)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): var newValue = object[prop];\n
Login.c(90): if (oldValues[prop] !== newValue)\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): global.Observer = Observer;\n
Login.c(90): global.Observer.runEOM_ = runEOM;\n
Login.c(90): global.Observer.observerSentinel_ = observerSentinel; // for
testing.\n
Login.c(90): global.Observer.hasObjectObserve = hasObserve;\n
Login.c(90): \n
Login.c(90): global.ObjectObserver = ObjectObserver;\n
Login.c(90): })((exports.Number = { isNaN: window.isNaN }) ? exports :
exports);\n
Login.c(90): \n
Login.c(90): },{}],2:[function(require,module,exports){\n
Login.c(90): var indexOf = require('./indexOf');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * If array contains values.\n
Login.c(90): */\n
Login.c(90): function contains(arr, val) {\n
Login.c(90): return indexOf(arr, val) !== -1;\n
Login.c(90): }\n
Login.c(90): module.exports = contains;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./indexOf":5}],3:[function(require,module,exports){\n
Login.c(90): var makeIterator = require('../function/makeIterator_');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array filter\n
Login.c(90): */\n
Login.c(90): function filter(arr, callback, thisObj) {\n
Login.c(90): callback = makeIterator(callback, thisObj);\n
Login.c(90): var results = [];\n
Login.c(90): if (arr == null) {\n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var i = -1, len = arr.length, value;\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): if (callback(value, i, arr)) {\n
Login.c(90): results.push(value);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return results;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = filter;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../function/makeIterator_":12}],4:
[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array forEach\n
Login.c(90): */\n
Login.c(90): function forEach(arr, callback, thisObj) {\n
Login.c(90): if (arr == null) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var i = -1,\n
Login.c(90): len = arr.length;\n
Login.c(90): while (++i < len) {\n
Login.c(90): // we iterate over sparse items since there is no way
to make it\n
Login.c(90): // work properly on IE 7-8. see #64\n
Login.c(90): if ( callback.call(thisObj, arr[i], i, arr) ===
false ) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forEach;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],5:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Array.indexOf\n
Login.c(90): */\n
Login.c(90): function indexOf(arr, item, fromIndex) {\n
Login.c(90): fromIndex = fromIndex || 0;\n
Login.c(90): if (arr == null) {\n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var len = arr.length,\n
Login.c(90): i = fromIndex < 0 ? len + fromIndex : fromIndex;\n
Login.c(90): while (i < len) {\n
Login.c(90): // we iterate over sparse items since there is no way
to make it\n
Login.c(90): // work properly on IE 7-8. see #64\n
Login.c(90): if (arr[i] === item) {\n
Login.c(90): return i;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): i++;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return -1;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = indexOf;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],6:[function(require,module,exports){\n
Login.c(90): var filter = require('./filter');\n
Login.c(90): \n
Login.c(90): function isValidString(val) {\n
Login.c(90): return (val != null && val !== '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Joins strings with the specified separator inserted between
each value.\n
Login.c(90): * Null values and empty strings will be excluded.\n
Login.c(90): */\n
Login.c(90): function join(items, separator) {\n
Login.c(90): separator = separator || '';\n
Login.c(90): return filter(items, isValidString).join(separator);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = join;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./filter":3}],7:[function(require,module,exports){\n
Login.c(90): var indexOf = require('./indexOf');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Remove a single item from the array.\n
Login.c(90): * (it won't remove duplicates, just a single item)\n
Login.c(90): */\n
Login.c(90): function remove(arr, item){\n
Login.c(90): var idx = indexOf(arr, item);\n
Login.c(90): if (idx !== -1) arr.splice(idx, 1);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = remove;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./indexOf":5}],8:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Create slice of source array or array-like object\n
Login.c(90): */\n
Login.c(90): function slice(arr, start, end){\n
Login.c(90): var len = arr.length;\n
Login.c(90): \n
Login.c(90): if (start == null) {\n
Login.c(90): start = 0;\n
Login.c(90): } else if (start < 0) {\n
Login.c(90): start = Math.max(len + start, 0);\n
Login.c(90): } else {\n
Login.c(90): start = Math.min(start, len);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (end == null) {\n
Login.c(90): end = len;\n
Login.c(90): } else if (end < 0) {\n
Login.c(90): end = Math.max(len + end, 0);\n
Login.c(90): } else {\n
Login.c(90): end = Math.min(end, len);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var result = [];\n
Login.c(90): while (start < end) {\n
Login.c(90): result.push(arr[start++]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = slice;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],9:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Merge sort (http://en.wikipedia.org/wiki/Merge_sort)\n
Login.c(90): */\n
Login.c(90): function mergeSort(arr, compareFn) {\n
Login.c(90): if (arr == null) {\n
Login.c(90): return [];\n
Login.c(90): } else if (arr.length < 2) {\n
Login.c(90): return arr;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (compareFn == null) {\n
Login.c(90): compareFn = defaultCompare;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var mid, left, right;\n
Login.c(90): \n
Login.c(90): mid = ~~(arr.length / 2);\n
Login.c(90): left = mergeSort( arr.slice(0, mid), compareFn );\n
Login.c(90): right = mergeSort( arr.slice(mid, arr.length),
compareFn );\n
Login.c(90): \n
Login.c(90): return merge(left, right, compareFn);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function defaultCompare(a, b) {\n
Login.c(90): return a < b ? -1 : (a > b? 1 : 0);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function merge(left, right, compareFn) {\n
Login.c(90): var result = [];\n
Login.c(90): \n
Login.c(90): while (left.length && right.length) {\n
Login.c(90): if (compareFn(left[0], right[0]) <= 0) {\n
Login.c(90): // if 0 it should preserve same order (stable)\n
Login.c(90): result.push(left.shift());\n
Login.c(90): } else {\n
Login.c(90): result.push(right.shift());\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (left.length) {\n
Login.c(90): result.push.apply(result, left);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (right.length) {\n
Login.c(90): result.push.apply(result, right);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = mergeSort;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],10:[function(require,module,exports){\n
Login.c(90): var isFunction = require('../lang/isFunction');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Creates an object that holds a lookup for the objects in
the array.\n
Login.c(90): */\n
Login.c(90): function toLookup(arr, key) {\n
Login.c(90): var result = {};\n
Login.c(90): if (arr == null) {\n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var i = -1, len = arr.length, value;\n
Login.c(90): if (isFunction(key)) {\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): result[key(value)] = value;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): while (++i < len) {\n
Login.c(90): value = arr[i];\n
Login.c(90): result[value[key]] = value;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90):
Login.c(90): t=3941ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): module.exports = toLookup;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isFunction":19}],11:[function(require,module,exports)
{\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns the first argument provided to it.\n
Login.c(90): */\n
Login.c(90): function identity(val){\n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = identity;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],12:[function(require,module,exports){\n
Login.c(90): var identity = require('./identity');\n
Login.c(90): var prop = require('./prop');\n
Login.c(90): var deepMatches = require('../object/deepMatches');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Converts argument into a valid iterator.\n
Login.c(90): * Used internally on most array/object/collection methods
that receives a\n
Login.c(90): * callback/iterator providing a shortcut syntax.\n
Login.c(90): */\n
Login.c(90): function makeIterator(src, thisObj){\n
Login.c(90): if (src == null) {\n
Login.c(90): return identity;\n
Login.c(90): }\n
Login.c(90): switch(typeof src) {\n
Login.c(90): case 'function':\n
Login.c(90): // function is the first to improve perf (most
common case)\n
Login.c(90): // also avoid using `Function#call` if not needed,
which boosts\n
Login.c(90): // perf a lot in some cases\n
Login.c(90): return (typeof thisObj !== 'undefined')?
function(val, i, arr){\n
Login.c(90): return src.call(thisObj, val, i, arr);\n
Login.c(90): } : src;\n
Login.c(90): case 'object':\n
Login.c(90): return function(val){\n
Login.c(90): return deepMatches(val, src);\n
Login.c(90): };\n
Login.c(90): case 'string':\n
Login.c(90): case 'number':\n
Login.c(90): return prop(src);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = makeIterator;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/deepMatches":27,"./identity":11,"./prop":13}],13:
[function(require,module,ex
Login.c(90): ports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a function that gets a property of the passed
object\n
Login.c(90): */\n
Login.c(90): function prop(name){\n
Login.c(90): return function(obj){\n
Login.c(90): return obj[name];\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = prop;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],14:[function(require,module,exports){\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): var isPlainObject = require('./isPlainObject');\n
Login.c(90): var mixIn = require('../object/mixIn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Clone native types.\n
Login.c(90): */\n
Login.c(90): function clone(val){\n
Login.c(90): switch (kindOf(val)) {\n
Login.c(90): case 'Object':\n
Login.c(90): return cloneObject(val);\n
Login.c(90): case 'Array':\n
Login.c(90): return cloneArray(val);\n
Login.c(90): case 'RegExp':\n
Login.c(90): return cloneRegExp(val);\n
Login.c(90): case 'Date':\n
Login.c(90): return cloneDate(val);\n
Login.c(90): default:\n
Login.c(90): return val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneObject(source) {\n
Login.c(90): if (isPlainObject(source)) {\n
Login.c(90): return mixIn({}, source);\n
Login.c(90): } else {\n
Login.c(90): return source;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneRegExp(r) {\n
Login.c(90): var flags = '';\n
Login.c(90): flags += r.multiline ? 'm' : '';\n
Login.c(90): flags += r.global ? 'g' : '';\n
Login.c(90): flags += r.ignorecase ? 'i' : '';\n
Login.c(90): return new RegExp(r.source, flags);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneDate(date) {\n
Login.c(90): return new Date(+date);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneArray(arr) {\n
Login.c(90): return arr.slice();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = clone;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/mixIn":34,"./isPlainObject":22,"./kindOf":23}],15:
[function(require,module,e
Login.c(90): xports){\n
Login.c(90): var clone = require('./clone');\n
Login.c(90): var forOwn = require('../object/forOwn');\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): var isPlainObject = require('./isPlainObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Recursively clone native types.\n
Login.c(90): */\n
Login.c(90): function deepClone(val, instanceClone) {\n
Login.c(90): switch ( kindOf(val) ) {\n
Login.c(90): case 'Object':\n
Login.c(90): return cloneObject(val, instanceClone);\n
Login.c(90): case 'Array':\n
Login.c(90): return cloneArray(val, instanceClone);\n
Login.c(90): default:\n
Login.c(90): return clone(val);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneObject(source, instanceClone) {\n
Login.c(90): if (isPlainObject(source)) {\n
Login.c(90): var out = {};\n
Login.c(90): forOwn(source, function(val, key) {\n
Login.c(90): this[key] = deepClone(val, instanceClone);\n
Login.c(90): }, out);\n
Login.c(90): return out;\n
Login.c(90): } else if (instanceClone) {\n
Login.c(90): return instanceClone(source);\n
Login.c(90): } else {\n
Login.c(90): return source;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function cloneArray(arr, instanceClone) {\n
Login.c(90): var out = [],\n
Login.c(90): i = -1,\n
Login.c(90): n = arr.length,\n
Login.c(90): val;\n
Login.c(90): while (++i < n) {\n
Login.c(90): out[i] = deepClone(arr[i], instanceClone);\n
Login.c(90): }\n
Login.c(90): return out;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepClone;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../object/forOwn":30,"./clone":14,"./isPlainObject":22,"./kindOf":23}],16:
[function(re
Login.c(90): quire,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): var isArray = Array.isArray || function (val) {\n
Login.c(90): return isKind(val, 'Array');\n
Login.c(90): };\n
Login.c(90): module.exports = isArray;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],17:[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isBoolean(val) {\n
Login.c(90): return isKind(val, 'Boolean');\n
Login.c(90): }\n
Login.c(90): module.exports = isBoolean;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],18:[function(require,module,exports){\n
Login.c(90): var forOwn = require('../object/forOwn');\n
Login.c(90): var isArray = require('./isArray');\n
Login.c(90): \n
Login.c(90): function isEmpty(val){\n
Login.c(90): if (val == null) {\n
Login.c(90): // typeof null == 'object' so we check it first\n
Login.c(90): return true;\n
Login.c(90): } else if ( typeof val === 'string' || isArray(val) ) {\n
Login.c(90): return !val.length;\n
Login.c(90): } else if ( typeof val === 'object' ) {\n
Login.c(90): var result = true;\n
Login.c(90): forOwn(val, function(){\n
Login.c(90): result = false;\n
Login.c(90): return false; // break loop\n
Login.c(90): });\n
Login.c(90): return result;\n
Login.c(90): } else {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = isEmpty;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../object/forOwn":30,"./isArray":16}],19:
[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isFunction(val) {\n
Login.c(90): return isKind(val, 'Function');\n
Login.c(90): }\n
Login.c(90): module.exports = isFunction;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],20:[function(require,module,exports){\n
Login.c(90): var kindOf = require('./kindOf');\n
Login.c(90): /**\n
Login.c(90): * Check if value is from a specific "kind".\n
Login.c(90): */\n
Login.c(90): function isKind(val, kind){\n
Login.c(90): return kindOf(val) === kind;\n
Login.c(90): }\n
Login.c(90): module.exports = isKind;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./kindOf":23}],21:[function(require,module,exports){\n
Login.c(90): var isKind = require('./isKind');\n
Login.c(90): /**\n
Login.c(90): */\n
Login.c(90): function isObject(val) {\n
Login.c(90): return isKind(val, 'Object');\n
Login.c(90): }\n
Login.c(90): module.exports = isObject;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./isKind":20}],22:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Checks if the value is created by the `Object`
constructor.\n
Login.c(90): */\n
Login.c(90): function isPlainObject(value) {\n
Login.c(90): return (!!value && typeof value === 'object' &&\n
Login.c(90): value.constructor === Object);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = isPlainObject;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],23:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): var _rKind = /^\\[object (.*)\\]$/,\n
Login.c(90): _toString = Object.prototype.toString,\n
Login.c(90): UNDEF;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Gets the "kind" of value. (e.g. "String", "Number", etc)\n
Login.c(90): */\n
Login.c(90): function kindOf(val) {\n
Login.c(90): if (val === null) {\n
Login.c(90): return 'Null';\n
Login.c(90): } else if (val === UNDEF) {\n
Login.c(90): return 'Undefined';\n
Login.c(90): } else {\n
Login.c(90): return _rKind.exec( _toString.call(val) )[1];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): module.exports = kindOf;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],24:[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Typecast a value to a String, using an empty string value
for null or\n
Login.c(90): * undefined.\n
Login.c(90): */\n
Login.c(90): function toString(val){\n
Login.c(90): return val == null ? '' : val.toString();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = toString;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],25:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @constant Maximum 32-bit signed integer value. (2^31 - 1)\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): module.exports = 2147483647;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],26:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @constant Minimum 32-bit signed integer value (-2^31).\n
Login.c(90): */\n
Login.c(90): \n
Login.c(90): module.exports = -2147483648;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],27:[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): var isArray = require('../lang/isArray');\n
Login.c(90): \n
Login.c(90): function containsMatch(array, pattern) {\n
Login.c(90): var i = -1, length = array.length;\n
Login.c(90): while (++i < length) {\n
Login.c(90): if (deepMatches(array[i], pattern)) {\n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchArray(target, pattern) {\n
Login.c(90): var i = -1, patternLength = pattern.length;\n
Login.c(90): while (++i < patternLength) {\n
Login.c(90): if (!containsMatch(target, pattern[i])) {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function matchObject(target, pattern) {\n
Login.c(90): var result = true;\n
Login.c(90): forOwn(pattern, function(val, key) {\n
Login.c(90): if (!deepMatches(target[key], val)) {\n
Login.c(90): // Return false to break out of forOwn early\n
Login.c(90): return (result = false);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return result;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Recursively check if the objects match.\n
Login.c(90): */\n
Login.c(90): function deepMatches(target, pattern){\n
Login.c(90): if (target && typeof target === 'object') {\n
Login.c(90): if (isArray(target) && isArray(pattern)) {\n
Login.c(90): return matchArray(target, pattern);\n
Login.c(90): } else {\n
Login.c(90): return matchObject(target, pattern);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return target === pattern;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepMatches;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isArray":16,"./forOwn":30}],28:
[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): var isPlainObject = require('../lang/isPlainObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Mixes objects into the target object, recursively mixing
existing child\n
Login.c(90): * objects.\n
Login.c(90): */\n
Login.c(90): function deepMixIn(target, objects) {\n
Login.c(90): var i = 0,\n
Login.c(90): n = arguments.length,\n
Login.c(90): obj;\n
Login.c(90): \n
Login.c(90): while(++i < n){\n
Login.c(90): obj = arguments[i];\n
Login.c(90): if (obj) {\n
Login.c(90): forOwn(obj, copyProp, target);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function copyProp(val, key) {\n
Login.c(90): var existing = this[key];\n
Login.c(90): if (isPlainObject(val) && isPlainObject(existing)) {\n
Login.c(90): deepMixIn(existing, val);\n
Login.c(90): } else {\n
Login.c(90): this[key] = val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = deepMixIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isPlainObject":22,"./forOwn":30}],29:
[function(require,module,exports){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): \n
Login.c(90): var _hasDontEnumBug,\n
Login.c(90): _dontEnums;\n
Login.c(90): \n
Login.c(90): function checkDontEnum(){\n
Login.c(90): _dontEnums = [\n
Login.c(90): 'toString',\n
Login.c(90): 'toLocaleString',\n
Login.c(90): 'valueOf',\n
Login.c(90): 'hasOwnProperty',\n
Login.c(90): 'isPrototypeOf',\n
Login.c(90): 'propertyIsEnumerable',\n
Login.c(90): 'constructor'\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): _hasDontEnumBug = true;\n
Login.c(90): \n
Login.c(90): for (var key in {'toString': null}) {\n
Login.c(90): _hasDontEnumBug = false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Similar to Array/forEach but works over object properties
and fixes Don't\n
Login.c(90): * Enum bug on IE.\n
Login.c(90): * based on: http://whattheheadsaid.com/2010/10/a-safer-
object-keys-compatibility-impl
Login.c(90): ementation\n
Login.c(90): */\n
Login.c(90): function forIn(obj, fn, thisObj){\n
Login.c(90): var key, i = 0;\n
Login.c(90): // no need to check if argument is a real object that way
we can use\n
Login.c(90): // it for arrays, functions, date, etc.\n
Login.c(90): \n
Login.c(90): //post-pone check till needed\n
Login.c(90): if (_hasDontEnumBug == null) checkDontEnum();\n
Login.c(90): \n
Login.c(90): for (key in obj) {\n
Login.c(90): if (exec(fn, obj, key, thisObj) === false) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (_hasDontEnumBug) {\n
Login.c(90): var ctor = obj.constructor,\n
Login.c(90): isProto = !!ctor && obj === ctor.prototype;\n
Login.c(90): \n
Login.c(90): while (key = _dontEnums[i++]) {\n
Login.c(90): // For constructor, if it is a prototype object
the constructor\n
Login.c(90): // is always non-enumerable unless defined
otherwise (and\n
Login.c(90): // enumerated above). For non-prototype objects,
it will have\n
Login.c(90): // to be defined on this object, since it cannot
be defined on\n
Login.c(90): // any prototype objects.\n
Login.c(90): //\n
Login.c(90): // For other [[DontEnum]] properties, check if the
value is\n
Login.c(90): // different than Object prototype value.\n
Login.c(90): if (\n
Login.c(90): (key !== 'constructor' ||\n
Login.c(90): (!isProto && hasOwn(obj, key))) &&\n
Login.c(90): obj[key] !== Object.prototype[key]\n
Login.c(90): ) {\n
Login.c(90): if (exec(fn, obj, key, thisObj) === false) {\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function exec(fn, obj, key, thisObj){\n
Login.c(90): return fn.call(thisObj, obj[key], key, obj);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./hasOwn":31}],30:[function(require,module,exp
Login.c(90): t=3961ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): orts){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): var forIn = require('./forIn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Similar to Array/forEach but works over object properties
and fixes Don't\n
Login.c(90): * Enum bug on IE.\n
Login.c(90): * based on: http://whattheheadsaid.com/2010/10/a-safer-
object-keys-compatibility-impl
Login.c(90): ementation\n
Login.c(90): */\n
Login.c(90): function forOwn(obj, fn, thisObj){\n
Login.c(90): forIn(obj, function(val, key){\n
Login.c(90): if (hasOwn(obj, key)) {\n
Login.c(90): return fn.call(thisObj, obj[key], key, obj);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = forOwn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forIn":29,"./hasOwn":31}],31:
[function(require,module,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Safer Object.hasOwnProperty\n
Login.c(90): */\n
Login.c(90): function hasOwn(obj, prop){\n
Login.c(90): return Object.prototype.hasOwnProperty.call(obj, prop);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = hasOwn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],32:[function(require,module,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Get object keys\n
Login.c(90): */\n
Login.c(90): var keys = Object.keys || function (obj) {\n
Login.c(90): var keys = [];\n
Login.c(90): forOwn(obj, function(val, key){\n
Login.c(90): keys.push(key);\n
Login.c(90): });\n
Login.c(90): return keys;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): module.exports = keys;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forOwn":30}],33:[function(require,module,exports){\n
Login.c(90): var hasOwn = require('./hasOwn');\n
Login.c(90): var deepClone = require('../lang/deepClone');\n
Login.c(90): var isObject = require('../lang/isObject');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Deep merge objects.\n
Login.c(90): */\n
Login.c(90): function merge() {\n
Login.c(90): var i = 1,\n
Login.c(90): key, val, obj, target;\n
Login.c(90): \n
Login.c(90): // make sure we don't modify source element and it's
properties\n
Login.c(90): // objects are passed by reference\n
Login.c(90): target = deepClone( arguments[0] );\n
Login.c(90): \n
Login.c(90): while (obj = arguments[i++]) {\n
Login.c(90): for (key in obj) {\n
Login.c(90): if ( ! hasOwn(obj, key) ) {\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): val = obj[key];\n
Login.c(90): \n
Login.c(90): if ( isObject(val) && isObject(target[key]) ){\n
Login.c(90): // inception, deep merge objects\n
Login.c(90): target[key] = merge(target[key], val);\n
Login.c(90): } else {\n
Login.c(90): // make sure arrays, regexp, date, objects are
cloned\n
Login.c(90): target[key] = deepClone(val);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = merge;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../lang/deepClone":15,"../lang/isObject":21,"./hasOwn":31}],34:
[function(require,modul
Login.c(90): e,exports){\n
Login.c(90): var forOwn = require('./forOwn');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Combine properties from all the objects into first one.\n
Login.c(90): * - This method affects target object in place, if you want to
create a new Object pas
Login.c(90): s an empty object as first param.\n
Login.c(90): * @param {object} target Target Object\n
Login.c(90): * @param {...object} objects Objects to be combined (0...n
objects).\n
Login.c(90): * @return {object} Target Object.\n
Login.c(90): */\n
Login.c(90): function mixIn(target, objects){\n
Login.c(90): var i = 0,\n
Login.c(90): n = arguments.length,\n
Login.c(90): obj;\n
Login.c(90): while(++i < n){\n
Login.c(90): obj = arguments[i];\n
Login.c(90): if (obj != null) {\n
Login.c(90): forOwn(obj, copyProp, target);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return target;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function copyProp(val, key){\n
Login.c(90): this[key] = val;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = mixIn;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./forOwn":30}],35:[function(require,module,exports){\n
Login.c(90): var forEach = require('../array/forEach');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Create nested object if non-existent\n
Login.c(90): */\n
Login.c(90): function namespace(obj, path){\n
Login.c(90): if (!path) return obj;\n
Login.c(90): forEach(path.split('.'), function(key){\n
Login.c(90): if (!obj[key]) {\n
Login.c(90): obj[key] = {};\n
Login.c(90): }\n
Login.c(90): obj = obj[key];\n
Login.c(90): });\n
Login.c(90): return obj;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = namespace;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/forEach":4}],36:[function(require,module,exports){\n
Login.c(90): var slice = require('../array/slice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Return a copy of the object, filtered to only have values
for the whitelisted keys.
Login.c(90): \n
Login.c(90): */\n
Login.c(90): function pick(obj, var_keys){\n
Login.c(90): var keys = typeof arguments[1] !== 'string'?
arguments[1] : slice(arguments, 1),\n
Login.c(90): out = {},\n
Login.c(90): i = 0, key;\n
Login.c(90): while (key = keys[i++]) {\n
Login.c(90): out[key] = obj[key];\n
Login.c(90): }\n
Login.c(90): return out;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = pick;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/slice":8}],37:[function(require,module,exports){\n
Login.c(90): var namespace = require('./namespace');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * set "nested" object property\n
Login.c(90): */\n
Login.c(90): function set(obj, prop, val){\n
Login.c(90): var parts = (/^(.+)\\.(.+)$/).exec(prop);\n
Login.c(90): if (parts){\n
Login.c(90): namespace(obj, parts[1])[parts[2]] = val;\n
Login.c(90): } else {\n
Login.c(90): obj[prop] = val;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = set;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./namespace":35}],38:[function(require,module,exports){\n
Login.c(90): var randInt = require('./randInt');\n
Login.c(90): var isArray = require('../lang/isArray');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a random element from the supplied arguments\n
Login.c(90): * or from the array (if single argument is an array).\n
Login.c(90): */\n
Login.c(90): function choice(items) {\n
Login.c(90): var target = (arguments.length === 1 && isArray(items))?
items : arguments;\n
Login.c(90): return target[ randInt(0, target.length - 1) ];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = choice;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/isArray":16,"./randInt":42}],39:
[function(require,module,exports){\n
Login.c(90): var randHex = require('./randHex');\n
Login.c(90): var choice = require('./choice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns pseudo-random guid (UUID v4)\n
Login.c(90): * IMPORTANT: it's not totally "safe" since randHex/choice uses
Math.random\n
Login.c(90): * by default and sequences can be predicted in some cases. See
the\n
Login.c(90): * "random/random" documentation for more info about it and how
to replace\n
Login.c(90): * the default PRNG.\n
Login.c(90): */\n
Login.c(90): function guid() {\n
Login.c(90): return (\n
Login.c(90): randHex(8)+'-'+\n
Login.c(90): randHex(4)+'-'+\n
Login.c(90): // v4 UUID always contain "4" at this position to specify
it was\n
Login.c(90): // randomly generated\n
Login.c(90): '4' + randHex(3) +'-'+\n
Login.c(90): // v4 UUID always contain chars [a,b,8,9] at this
position\n
Login.c(90): choice(8, 9, 'a', 'b') + randHex(3)+'-'+\n
Login.c(90): randHex(12)\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): module.exports = guid;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./choice":38,"./randHex":41}],40:
[function(require,module,exports){\n
Login.c(90): var random = require('./random');\n
Login.c(90): var MIN_INT = require('../number/MIN_INT');\n
Login.c(90): var MAX_INT = require('../number/MAX_INT');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns random number inside range\n
Login.c(90): */\n
Login.c(90): function rand(min, max){\n
Login.c(90): min = min == null? MIN_INT : min;\n
Login.c(90): max = max == null? MAX_INT : max;\n
Login.c(90): return min + (max - min) * random();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = rand;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../number/MAX_INT":25,"../number/MIN_INT":26,"./random":43}],41:
[function(require,modu
Login.c(90): le,exports){\n
Login.c(90): var choice = require('./choice');\n
Login.c(90): \n
Login.c(90): var _chars = '0123456789abcdef'.split('');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Returns a random hexadecimal string\n
Login.c(90): */\n
Login.c(90): function randHex(size){\n
Login.c(90): size = size && size > 0? size : 6;\n
Login.c(90): var str = '';\n
Login.c(90): while (size--) {\n
Login.c(90): str += choice(_chars);\n
Login.c(90): }\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = randHex;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"./choice":38}],42:[function(require,module,exports){\n
Login.c(90): var MIN_INT = require('../number/MIN_INT');\n
Login.c(90): var MAX_INT = require('../number/MAX_INT');\n
Login.c(90): var rand = require('./rand');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Gets random integer inside range or snap to min/max
values.\n
Login.c(90): */\n
Login.c(90): function randInt(min, max){\n
Login.c(90): min = min == null? MIN_INT : ~~min;\n
Login.c(90): max = max == null? MAX_INT : ~~max;\n
Login.c(90): // can't be max + 0.5 otherwise it will round up if
`rand`\n
Login.c(90): // returns `max` causing it to overflow range.\n
Login.c(90): // -0.5 and + 0.49 are required to avoid bias caused by
rounding\n
Login.c(90): return Math.round( rand(min - 0.5, max +
0.499999999999) );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = randInt;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../number/MAX_INT":25,"../number/MIN_INT":26,"./rand":40}],43:
[function(require,module
Login.c(90): ,exports){\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Just a wrapper to Math.random. No methods inside
mout/random should call\n
Login.c(90): * Math.random() directly so we can inject the pseudo-random
number\n
Login.c(90): * generator if needed (ie. in case we need a seeded random or
a better\n
Login.c(90): * algorithm than the native one)\n
Login.c(90): */\n
Login.c(90): function random(){\n
Login.c(90): return random.get();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // we expose the method so it can be swapped if needed\n
Login.c(90): random.get = Math.random;\n
Login.c(90): \n
Login.c(90): module.exports = random;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{}],44:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): var replaceAccents = require('./replaceAccents');\n
Login.c(90): var removeNonWord = require('./removeNonWord');\n
Login.c(90): var upperCase = require('./upperCase');\n
Login.c(90): var lowerCase = require('./lowerCase');\n
Login.c(90): /**\n
Login.c(90): * Convert string to camelCase text.\n
Login.c(90): */\n
Login.c(90): function camelCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): str = replaceAccents(str);\n
Login.c(90): str = removeNonWord(str)\n
Login.c(90): .replace(/[\\-_]/g, ' ') //convert all hyphens and
underscores to spaces\n
Login.c(90): .replace(/\\s[a-z]/g, upperCase) //convert first char
of each word to UPPERCAS
Login.c(90): E\n
Login.c(90): .replace(/\\s+/g, '') //remove spaces\n
Login.c(90): .replace(/^[A-Z]/g, lowerCase); //convert first char
to lowercase\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): module.exports = camelCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },
{"../lang/toString":24,"./lowerCase":45,"./removeNonWord":48,"./replaceAccents":49,
"./up
Login.c(90): perCase":50}],45:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * "Safer" String.toLowerCase()\n
Login.c(90): */\n
Login.c(90): function lowerCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return str.toLowerCase();\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lowerCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],46:[function(require,module,exports){\n
Login.c(90): var join = require('../array/join');\n
Login.c(90): var slice = require('../array/slice');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Group arguments as path segments, if any of the args is
`null` or an\n
Login.c(90): * empty string it will be ignored from resulting path.\n
Login.c(90): */\n
Login.c(90): function makePath(var_args){\n
Login.c(90): var result = join(slice(arguments), '/');\n
Login.c(90): // need to disconsider duplicate '/' after protocol (eg:
'http://')\n
Login.c(90): return result.replace(/([^:\\/]|^)\\/{2,}/g, '$1/');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = makePath;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../array/join":6,"../array/slice":8}],47:
[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): var camelCase = require('./camelCase');\n
Login.c(90): var upperCase = require('./upperCase');\n
Login.c(90): /**\n
Login.c(90): * camelCase + UPPERCASE first char\n
Login.c(90): */\n
Login.c(90): function pascalCase(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return camelCase(str).replace(/^[a-z]/, upperCase);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = pascalCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24,"./camelCase":44,"./upperCase":50}],48:
[function(require,module,e
Login.c(90): xports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): // This pattern is generated by the _build/pattern-
removeNonWord.js script\n
Login.c(90): var PATTERN = /[^\\x20\\x2D0-9A-Z\\x5Fa-
z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\xFF]/g;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Remove non-word chars.\n
Login.c(90): */\n
Login.c(90): function removeNonWord(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): return str.replace(PATTERN, '');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = removeNonWord;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],49:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * Replaces all accented chars with regular ones\n
Login.c(90): */\n
Login.c(90): function replaceAccents(str){\n
Login.c(90): str = toString(str);\n
Login.c(90): \n
Login.c(90): // verifies if the String has accents and replace them\n
Login.c(90): if (str.search(/[\\xC0-\\xFF]/g) > -1) {\n
Login.c(90): str = str\n
Login.c(90): .replace(/[\\xC0-\\xC5]/g, "A")\n
Login.c(90): .replace(/[\\xC6]/g, "AE")\n
Login.c(90): .replace(/[\\xC7]/g, "C")\n
Login.c(90): .replace(/[\\xC8-\\xCB]/g, "E")\n
Login.c(90): .replace(/[\\xCC-\\xCF]/g, "I")\n
Login.c(90): .replace(/[\\xD0]/g, "D")\n
Login.c(90): .replace(/[\\xD1]/g, "N")\n
Login.c(90): .replace(/[\\xD2-\\xD6\\xD8]/g, "O")\n
Login.c(90): .replace(/[\\xD9-\\xDC]/g, "U")\n
Login.c(90): .replace(/[\\xDD]/g, "Y")\n
Login.c(90): .replace(/[\\xDE]/g, "P")\n
Login.c(90): .replace(/[\\xE0-\\xE5]/g, "a")\n
Login.c(90): .replace(/[\\xE6]/g, "ae")\n
Login.c(90): .replace(/[\\xE7]/g, "c")\n
Login.c(90): .replace(/[\\xE8-\\xEB]/g, "e")\n
Login.c(90): .replace(/[\\xEC-\\xEF]/g, "i")\n
Login.c(90): .replace(/[\\xF1]/g, "n")\n
Login.c(90): .replace(/[\\xF2-\\xF6\\xF8]/g, "o")\n
Login.c(90): .replace(/[\\xF9-\\xFC]/g, "u")\n
Login.c(90): .replace(/[\\xFE]/g, "p")\n
Login.c(90): .replace(/[\\xFD\\xFF]/g, "y");\n
Login.c(90): }\n
Login.c(90): return str;\n
Login.c(90): }\n
Login.c(90): module.exports = replaceAccents;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],50:[function(require,module,exports){\n
Login.c(90): var toString = require('../lang/toString');\n
Login.c(90): /**\n
Login.c(90): * "Safer" String.toUpperCase()\n
Login.c(90): */\n
Login.c(90): function upperCase(str){\n
Login.c(90): str = toS
Login.c(90): t=3979ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): tring(str);\n
Login.c(90): return str.toUpperCase();\n
Login.c(90): }\n
Login.c(90): module.exports = upperCase;\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): },{"../lang/toString":24}],51:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSHttpAdapterProvider\n
Login.c(90): * @name DSHttpAdapterProvider\n
Login.c(90): */\n
Login.c(90): function DSHttpAdapterProvider() {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapterProvider.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Default configuration for this adapter.\n
Login.c(90): *\n
Login.c(90): * Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function}` - `queryTransform` - See [the guide]
(/documentation/guide/adapters/ind
Login.c(90): ex). Default: No-op.\n
Login.c(90): */\n
Login.c(90): var defaults = this.defaults = {\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id
DSHttpAdapterProvider.properties:defaults.queryTransform\n
Login.c(90): * @name defaults.queryTransform\n
Login.c(90): * @description\n
Login.c(90): * Transform the angular-data query to something your server
understands. You might ju
Login.c(90): st do this on the server instead.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapterProvider.defaults.queryTransform = function
(resourceName, params) {\n
Login.c(90): * if (params && params.userId) {\n
Login.c(90): * params.user_id = params.userId;\n
Login.c(90): * delete params.userId;\n
Login.c(90): * }\n
Login.c(90): * return params;\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource.\n
Login.c(90): * @param {object} params Params that will be passed to
`$http`.\n
Login.c(90): * @returns {*} By default just returns `params` as-is.\n
Login.c(90): */\n
Login.c(90): queryTransform: function (resourceName, params) {\n
Login.c(90): return params;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): forceTrailingSlash: false,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapterProvider.properties:defaults.$httpConfig\n
Login.c(90): * @name defaults.$httpConfig\n
Login.c(90): * @description\n
Login.c(90): * Default `$http` configuration options used whenever
`DSHttpAdapter` uses `$http`.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * angular.module('myApp').config(function
(DSHttpAdapterProvider) {\n
Login.c(90): * angular.extend(DSHttpAdapterProvider.defaults.
$httpConfig, {\n
Login.c(90): * headers: {\n
Login.c(90): * Authorization: 'Basic YmVlcDpib29w'\n
Login.c(90): * },\n
Login.c(90): * timeout: 20000\n
Login.c(90): * });\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): */\n
Login.c(90): $httpConfig: {}\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): this.$get = ['$http', '$log', 'DSUtils', function ($http, $log,
DSUtils) {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DSHttpAdapter\n
Login.c(90): * @name DSHttpAdapter\n
Login.c(90): * @description\n
Login.c(90): * Default adapter used by angular-data. This adapter uses
AJAX and JSON to send/retri
Login.c(90): eve data to/from a server.\n
Login.c(90): * Developers may provide custom adapters that implement the
adapter interface.\n
Login.c(90): */\n
Login.c(90): return {\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSHttpAdapter.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Reference to [DSHttpAdapterProvider.defaults]
(/documentation/api/api/DSHttpAdapte
Login.c(90): rProvider.properties:defaults).\n
Login.c(90): */\n
Login.c(90): defaults: defaults,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:HTTP\n
Login.c(90): * @name HTTP\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.HTTP(config)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} config Configuration object.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): HTTP: function (config) {\n
Login.c(90): var start = new Date().getTime();\n
Login.c(90): \n
Login.c(90): if (this.defaults.forceTrailingSlash &&
config.url[config.url.length] !== '/') {\n
Login.c(90): config.url += '/';\n
Login.c(90): }\n
Login.c(90): config = DSUtils.deepMixIn(config, defaults.
$httpConfig);\n
Login.c(90): return $http(config).then(function (data) {\n
Login.c(90): $log.debug(data.config.method + ' request:' +
data.config.url + ' Time taken: '
Login.c(90): + (new Date().getTime() - start) + 'ms', arguments);\n
Login.c(90): return data;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:GET\n
Login.c(90): * @name GET\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.get()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.GET(url[, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): GET: function (url, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'GET';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:POST\n
Login.c(90): * @name POST\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.post()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.POST(url[, attrs][, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} attrs Request payload.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): POST: function (url, attrs, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'POST';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url,\n
Login.c(90): data: attrs\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:PUT\n
Login.c(90): * @name PUT\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.put()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.PUT(url[, attrs][, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} attrs Request payload.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): PUT: function (url, attrs, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'PUT';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url,\n
Login.c(90): data: attrs || {}\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:DEL\n
Login.c(90): * @name DEL\n
Login.c(90): * @description\n
Login.c(90): * A wrapper for `$http.delete()`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.DEL(url[, config])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} url The url of the request.\n
Login.c(90): * @param {object=} config Optional configuration.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): DEL: function (url, config) {\n
Login.c(90): config = config || {};\n
Login.c(90): if (!('method' in config)) {\n
Login.c(90): config.method = 'DELETE';\n
Login.c(90): }\n
Login.c(90): return this.HTTP(DSUtils.deepMixIn(config, {\n
Login.c(90): url: url\n
Login.c(90): }));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a single entity from the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `GET` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.find(resourceConfig, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): find: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.GET(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a collection of entities from the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `GET` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.findAll(resourceConfig[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): findAll: function (resourceConfig, params, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.GET(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * Create a new entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `POST` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.create(resourceConfig, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): create: function (resourceConfig, attrs, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.POST(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(attrs, options)),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * Update an entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `PUT` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.update(resourceConfig, id, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): update: function (resourceConfig, id, attrs, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * Update a collection of entities on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `PUT` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.updateAll(resourceConfig, attrs[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs The attribute payload.\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default e
Login.c(90): t=4006ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ndpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): updateAll: function (resourceConfig, attrs, params, options)
{\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): attrs,\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Delete an entity on the server.\n
Login.c(90): *\n
Login.c(90): * Makes a `DELETE` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.destroy(resourceConfig, id[, options)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
update.\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroy: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.DEL(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(id, options), id),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSHttpAdapter.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Delete a collection of entities on the server.\n
Login.c(90): *\n
Login.c(90): * Makes `DELETE` request.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSHttpAdapter.destroyAll(resourceConfig[, params][,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Search query parameters. See the
[query guide](/documenta
Login.c(90): tion/guide/queries/index).\n
Login.c(90): * @param {object=} options Optional configuration. Also
passed along to `$http([con
Login.c(90): fig])`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Override the default base
url.\n
Login.c(90): * - `{string=}` - `endpoint` - Override the default
endpoint.\n
Login.c(90): * - `{object=}` - `params` - Additional query string
parameters to add to the url.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroyAll: function (resourceConfig, params, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (params) {\n
Login.c(90): params = defaults.queryTransform(resourceConfig.name,
params);\n
Login.c(90): DSUtils.deepMixIn(options.params, params);\n
Login.c(90): }\n
Login.c(90): return this.DEL(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(null, options)),\n
Login.c(90): options\n
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSHttpAdapterProvider;\n
Login.c(90): \n
Login.c(90): },{}],52:[function(require,module,exports){\n
Login.c(90): /*!\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSLocalStorageAdapterProvider\n
Login.c(90): * @name DSLocalStorageAdapterProvider\n
Login.c(90): */\n
Login.c(90): function DSLocalStorageAdapterProvider() {\n
Login.c(90): \n
Login.c(90): this.$get = ['$q', 'DSUtils', 'DSErrors', function ($q, DSUtils)
{\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DSLocalStorageAdapter\n
Login.c(90): * @name DSLocalStorageAdapter\n
Login.c(90): * @description\n
Login.c(90): * Adapter that uses `localStorage` as its persistence layer.
The localStorage adapter
Login.c(90): does not support operations\n
Login.c(90): * on collections because localStorage itself is a key-value
store.\n
Login.c(90): */\n
Login.c(90): return {\n
Login.c(90): \n
Login.c(90): getIds: function (name, options) {\n
Login.c(90): var ids;\n
Login.c(90): var idsPath = DSUtils.makePath(options.baseUrl, 'DSKeys',
name);\n
Login.c(90): var idsJson = localStorage.getItem(idsPath);\n
Login.c(90): if (idsJson) {\n
Login.c(90): ids = DSUtils.fromJson(idsJson);\n
Login.c(90): } else {\n
Login.c(90): localStorage.setItem(idsPath, DSUtils.toJson({}));\n
Login.c(90): ids = {};\n
Login.c(90): }\n
Login.c(90): return ids;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): saveKeys: function (ids, name, options) {\n
Login.c(90): var keysPath = DSUtils.makePath(options.baseUrl, 'DSKeys',
name);\n
Login.c(90): localStorage.setItem(keysPath, DSUtils.toJson(ids));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): ensureId: function (id, name, options) {\n
Login.c(90): var ids = this.getIds(name, options);\n
Login.c(90): ids[id] = 1;\n
Login.c(90): this.saveKeys(ids, name, options);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): removeId: function (id, name, options) {\n
Login.c(90): var ids = this.getIds(name, options);\n
Login.c(90): delete ids[id];\n
Login.c(90): this.saveKeys(ids, name, options);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:GET\n
Login.c(90): * @name GET\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for
`localStorage.getItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.GET(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key path of the item to
retrieve.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): GET: function (key) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): try {\n
Login.c(90): var item = localStorage.getItem(key);\n
Login.c(90): deferred.resolve(item ? angular.fromJson(item) :
undefined);\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:PUT\n
Login.c(90): * @name PUT\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for `localStorage.setItem(key,
value)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.PUT(key, value)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key to update.\n
Login.c(90): * @param {object} value Attributes to put.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): PUT: function (key, value) {\n
Login.c(90): var DSLocalStorageAdapter = this;\n
Login.c(90): return DSLocalStorageAdapter.GET(key).then(function (item)
{\n
Login.c(90): if (item) {\n
Login.c(90): DSUtils.deepMixIn(item, value);\n
Login.c(90): }\n
Login.c(90): localStorage.setItem(key, angular.toJson(item ||
value));\n
Login.c(90): return DSLocalStorageAdapter.GET(key);\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:DEL\n
Login.c(90): * @name DEL\n
Login.c(90): * @description\n
Login.c(90): * An asynchronous wrapper for
`localStorage.removeItem(key)`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.DEL(key)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} key The key to remove.\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): DEL: function (key) {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): try {\n
Login.c(90): localStorage.removeItem(key);\n
Login.c(90): deferred.resolve();\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a single entity from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.find(resourceConfig, id[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.find('user', 5, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): find: function find(resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.GET(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.endpoint, id)).then(function (item) {\n
Login.c(90): if (!item) {\n
Login.c(90): return $q.reject(new Error('Not Found!'));\n
Login.c(90): } else {\n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * Retrieve a collections of entities from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.findAll(resourceConfig, params[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): findAll: function (resourceConfig, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): options = options || {};\n
Login.c(90): if (!('allowSimpleWhere' in options)) {\n
Login.c(90): options.allowSimpleWhere = true;\n
Login.c(90): }\n
Login.c(90): var items = [];\n
Login.c(90): var ids = DSUtils.keys(_this.getIds(resourceConfig.name,
options));\n
Login.c(90): DSUtils.forEach(ids, function (id) {\n
Login.c(90): var itemJson =
localStorage.getItem(DSUtils.makePath(options.baseUrl || resource
Login.c(90): Config.baseUrl, resourceConfig.getEndpoint(id, options), id));\n
Login.c(90): if (itemJson) {\n
Login.c(90): items.push(DSUtils.fromJson(itemJson));\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90):
deferred.resolve(_this.DS.defaults.defaultFilter.call(_this.DS, items, resourceCon
Login.c(90): fig.name, params, options));\n
Login.c(90): return deferred.promise;\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * Create an entity in `localStorage`. You must generate the
primary key and include
Login.c(90): it in the `attrs` object.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.create(resourceConfig, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.create('user', {\n
Login.c(90): * id: 1,\n
Login.c(90): * name: 'john'\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 1, name: 'john' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs Attributes to create in
localStorage.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): create: function (resourceConfig, attrs, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): attrs[resourceConfig.idAttribute] =
attrs[resourceConfig.idAttribute] || DSUtils.g
Login.c(90): uid();\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(\n
Login.c(90): DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resourceConfig.getEn
Login.c(90): dpoint(attrs, options), attrs[resourceConfig.idAttribute]),\n
Login.c(90): attrs\n
Login.c(90): ).then(function (item) {\n
Login.c(90): _this.ensureId(item[resourceConfig.idAttribute],
resourceConfig.name, options)
Login.c(90): ;\n
Login.c(90): return item;\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * Update an entity in localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.update(resourceConfig, id, attrs[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.update('user', 5, {\n
Login.c(90): * name: 'john'\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
retrieve.\n
Login.c(90): * @param {object} attrs Attributes with which to update the
entity.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): update: function (resourceConfig, id, attrs, optio
Login.c(90): t=4023ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ns) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.PUT(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.getEndpoint(id, options), id), attrs);\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * Update a collections of entities in localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.updateAll(resourceConfig, attrs,
params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object} attrs Attributes with which to update the
items.\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): updateAll: function (resourceConfig, attrs, params, options)
{\n
Login.c(90): var _this = this;\n
Login.c(90): return this.findAll(resourceConfig, params,
options).then(function (items) {\n
Login.c(90): var tasks = [];\n
Login.c(90): DSUtils.forEach(items, function (item) {\n
Login.c(90): tasks.push(_this.update(resourceConfig,
item[resourceConfig.idAttribute], attr
Login.c(90): s, options));\n
Login.c(90): });\n
Login.c(90): return $q.all(tasks);\n
Login.c(90): });\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * Destroy an entity from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.destroy(resourceConfig, id[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy('user', 5, {\n
Login.c(90): * name: ''\n
Login.c(90): * }, {\n
Login.c(90): * adapter: 'DSLocalStorageAdapter'\n
Login.c(90): * }).then(function (user) {\n
Login.c(90): * user; // { id: 5, ... }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {string|number} id Primary key of the entity to
destroy.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroy: function (resourceConfig, id, options) {\n
Login.c(90): options = options || {};\n
Login.c(90): return this.DEL(DSUtils.makePath(options.baseUrl ||
resourceConfig.baseUrl, resour
Login.c(90): ceConfig.getEndpoint(id, options), id));\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DSLocalStorageAdapter.methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * Destroy a collections of entities from localStorage.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DSLocalStorageAdapter.destroyAll(resourceConfig, params[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {object} resourceConfig DS resource definition
object:\n
Login.c(90): * @param {object=} params Query parameters.\n
Login.c(90): * @param {object=} options Optional configuration.
Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string=}` - `baseUrl` - Base path to use.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise.\n
Login.c(90): */\n
Login.c(90): destroyAll: function (resourceConfig, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): return this.findAll(resourceConfig, params,
options).then(function (items) {\n
Login.c(90): var tasks = [];\n
Login.c(90): DSUtils.forEach(items, function (item) {\n
Login.c(90): tasks.push(_this.destroy(resourceConfig,
item[resourceConfig.idAttribute], opt
Login.c(90): ions));\n
Login.c(90): });\n
Login.c(90): return $q.all(tasks);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSLocalStorageAdapterProvider;\n
Login.c(90): \n
Login.c(90): },{}],53:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.create(' + resourceName + ', attrs[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @description\n
Login.c(90): * The "C" in "CRUD". Delegate to the `create` method of whichever
adapter is being used (
Login.c(90): http by default) and inject the\n
Login.c(90): * result into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.create(resourceName, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.create('document', {\n
Login.c(90): * author: 'John Anderson'\n
Login.c(90): * }).then(function (document) {\n
Login.c(90): * document; // { id: 5, author: 'John Anderson' }\n
Login.c(90): *\n
Login.c(90): * // The new document is already in the data store\n
Login.c(90): * DS.get('document', document.id); // { id: 5, author: 'John
Anderson' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} attrs The attributes with which to create the
item of the type specifie
Login.c(90): d by `resourceName`.\n
Login.c(90): * @param {object=} options Configuration options. Also passed
along to the adapter's `cre
Login.c(90): ate` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `upsert` - If `attrs` already contains a
primary key, then attempt to
Login.c(90): call `DS.update` instead. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `eagerInject` - Eagerly inject the attributes
into the store without w
Login.c(90): aiting for a successful response from the adapter. Default:
`false`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeCreate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterCreate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - A reference to the newly created
item.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function create(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var injected;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'attrs:
Must be an object!');\n
Login.c(90): }\n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('upsert' in options)) {\n
Login.c(90): options.upsert = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('eagerInject' in options)) {\n
Login.c(90): options.eagerInject = definition.eagerInject;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): if (options.upsert && attrs[definition.idAttribute]) {\n
Login.c(90): return DS.update(resourceName,
attrs[definition.idAttribute], attrs, options);\n
Login.c(90): } else {\n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : de
Login.c(90): finition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.val
Login.c(90): idate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defi
Login.c(90): nition.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeCreate ? DS.
$q.promisify(options.beforeCreate) : defini
Login.c(90): tion.beforeCreate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeCreate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.eagerInject && options.cacheResponse) {\n
Login.c(90): attrs[definition.idAttribute] =
attrs[definition.idAttribute] || DS.utils.guid
Login.c(90): ();\n
Login.c(90): injected = DS.inject(resourceName, attrs);\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].create(definiti
Login.c(90): on, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(reso
Login.c(90): urceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterCreate ? DS.
$q.promisify(options.afterCreate) : definiti
Login.c(90): on.afterCreate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : defin
Login.c(90): ition.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterCreate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): if (options.eagerInject) {\n
Login.c(90): var newId = attrs[definition.idAttribute];\n
Login.c(90): var prevId = injected[definition.idAttribute];\n
Login.c(90): var prev = DS.get(resourceName, prevId);\n
Login.c(90): resource.previousAttributes[newId] =
resource.previousAttributes[prevId];\n
Login.c(90): resource.changeHistories[newId] =
resource.changeHistories[prevId];\n
Login.c(90): resource.observers[newId] =
resource.observers[prevId];\n
Login.c(90): resource.modified[newId] =
resource.modified[prevId];\n
Login.c(90): resource.saved[newId] = resource.saved[prevId];\n
Login.c(90): resource.index.put(newId, prev);\n
Login.c(90): DS.eject(resourceName, prevId, { notify: false });\n
Login.c(90): prev[definition.idAttribute] = newId;\n
Login.c(90): resource.collection.push(prev);\n
Login.c(90): }\n
Login.c(90): var created = DS.inject(resourceName, attrs,
options);\n
Login.c(90): var id = created[definition.idAttribute];\n
Login.c(90): resource.completedQueries[id] = new
Date().getTime();\n
Login.c(90): resource.previousAttributes[id] =
DS.utils.deepMixIn({}, created);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): return DS.get(resourceName, id);\n
Login.c(90): } else {\n
Login.c(90): return DS.createInstance(resourceName, attrs,
options);\n
Login.c(90): }\n
Login.c(90): })\n
Login.c(90): .catch(function (err) {\n
Login.c(90): if (options.eagerInject && options.cacheResponse) {\n
Login.c(90): DS.eject(resourceName,
injected[definition.idAttribute], { notify: false });\n
Login.c(90): }\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = create;\n
Login.c(90): \n
Login.c(90): },{}],54:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.destroy(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @description\n
Login.c(90): * The "D" in "CRUD". Delegate to the `destroy` method of
whichever adapter is being used
Login.c(90): (http by default) and eject the\n
Login.c(90): * appropriate item from the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy(resourceName, id[, options]);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroy('document', 5).then(function (id) {\n
Login.c(90): * id; // 5\n
Login.c(90): *\n
Login.c(90): * // The document is gone\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
remove.\n
Login.c(90): * @param {object=} options Configuration options. Also passed
along to the adapter's `des
Login.c(90): troy` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{function=}` - `beforeDestroy` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterDestroy` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{boolean=}` - `eagerEject` - If `true` eagerly eject the
item from the store without
Login.c(90): waiting for the adapter's response, the item will be re-injected
if the adapter operation
Login.c(90): fails. Default: `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{string|number}` - `id` - The primary key of the destroyed
item.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function destroy(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var definition = DS.definitions[resour
Login.c(90): t=4038ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a nu
Login.c(90): mber!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (!item) {\n
Login.c(90): throw new DS.errors.R(errorPrefix(resourceName, id) + 'id:
"' + id + '" not found!')
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(item);\n
Login.c(90): \n
Login.c(90): if (!('eagerEject' in options)) {\n
Login.c(90): options.eagerEject = definition.eagerEject;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeDestroy ? DS.
$q.promisify(options.beforeDestroy) : defini
Login.c(90): tion.beforeDestroy;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeDestroy', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.eagerEject) {\n
Login.c(90): DS.eject(resourceName, id);\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].destroy(definitio
Login.c(90): n, id, options);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): var func = options.afterDestroy ? DS.
$q.promisify(options.afterDestroy) : definiti
Login.c(90): on.afterDestroy;\n
Login.c(90): return func.call(item, resourceName, item);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterDestroy', DS.utils.merge({},
item));\n
Login.c(90): }\n
Login.c(90): DS.eject(resourceName, id);\n
Login.c(90): return id;\n
Login.c(90): }).catch(function (err) {\n
Login.c(90): if (options.eagerEject && item) {\n
Login.c(90): DS.inject(resourceName, item);\n
Login.c(90): }\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = destroy;\n
Login.c(90): \n
Login.c(90): },{}],55:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.destroyAll(' + resourceName + ', params[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @description\n
Login.c(90): * The "D" in "CRUD". Delegate to the `destroyAll` method of
whichever adapter is being us
Login.c(90): ed (http by default) and eject\n
Login.c(90): * the appropriate items from the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.destroyAll(resourceName, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.destroyAll('document', params).then(function (documents) {\n
Login.c(90): * // The documents are gone from the data store\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is serialized into
the query string. Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `de
Login.c(90): stroyAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function destroyAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].destroyAll(defini
Login.c(90): tion, params, options);\n
Login.c(90): })\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.ejectAll(resourceName, params);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = destroyAll;\n
Login.c(90): \n
Login.c(90): },{}],56:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.find(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @description\n
Login.c(90): * The "R" in "CRUD". Delegate to the `find` method of whichever
adapter is being used (ht
Login.c(90): tp by default) and inject the\n
Login.c(90): * resulting item into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.find(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * document; // { id: 5, author: 'John Anderson' }\n
Login.c(90): *\n
Login.c(90): * // the document is now in the data store\n
Login.c(90): * DS.get('document', 5); // { id: 5, author: 'John
Anderson' }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function find(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): var promise = deferred.promise;\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): if (options.bypassCache || !options.cacheResponse) {\n
Login.c(90): delete resource.completedQueries[id];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(id in resource.completedQueries)) {\n
Login.c(90): if (!(id in resource.pendingQueries)) {\n
Login.c(90): promise = resource.pendingQueries[id] =
DS.adapters[options.adapter || definition.
Login.c(90): defaultAdapter].find(definition, id, options)\n
Login.c(90): .then(function (res) {\n
Login.c(90): var data = options.deserialize ?
options.deserialize(resourceName, res) : defi
Login.c(90): nition.deserialize(resourceName, res);\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): // Query is no longer pending\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): resource.completedQueries[id] = new
Date().getTime();\n
Login.c(90): return DS.inject(resourceName, data, options);\n
Login.c(90): } else {\n
Login.c(90): return DS.createInstance(resourceName, data,
options);\n
Login.c(90): }\n
Login.c(90): }, function (err) {\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return resource.pendingQueries[id];\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(DS.get(resourceName, id));\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return promise;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = find;\n
Login.c(90): \n
Login.c(90): },{}],57:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.findAll(' + resourceName + ', params[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function processResults(data, resourceName, queryHash, options)
{\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var idAttribute = DS.definitions[resourceName].idAttribute;\n
Login.c(90): var date = new Date().getTime();\n
Login.c(90): \n
Login.c(90): data = data || [];\n
Login.c(90): \n
Login.c(90): // Query is no longer pending\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): resource.completedQueries[queryHash] = date;\n
Login.c(90): \n
Login.c(90): // Update modified timestamp of collection\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);\n
Login.c(90): \n
Login.c(90): // Merge the new values into the cache\n
Login.c(90): var injected = DS.inject(resourceName, data, options);\n
Login.c(90): \n
Login.c(90): // Make sure each object is added to completedQueries\n
Login.c(90): if (DS.utils.isArray(injected)) {\n
Login.c(90): angular.forEach(injected, function (item) {\n
Login.c(90): if (item && item[idAttribute]) {\n
Login.c(90): resource.completedQueries[item[idAttribute]] = date;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): DS.$log.warn(errorPrefix(resourceName) + 'response is expected
to be an array!');\n
Login.c(90): resource.completedQueries[injected[idAttribute]] = date;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _findAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): \n
Login.c(90): if (options.bypassCache || !options.cacheResponse) {\n
Login.c(90): delete resource.completedQueries[queryHash];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.completedQueries)) {\n
Login.c(90): // This particular query has never been completed\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.pendingQueries)) {\n
Login.c(90): \n
Login.c(90): // This particular query has never even been made\n
Login.c(90): resource.pendingQueries[queryHash] =
DS.adapters[options.adapter || definition.defau
Login.c(90): ltAdapter].findAll(definition, params, options)\n
Login.c(90): .then(function (res) {\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): var data = options.deserialize ?
options.deserialize(resourceName, res) : defini
Login.c(90): tion.deserialize(resourceName, res);\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): try {\n
Login.c(90): return processResults.call(DS, data, resourceName,
queryHash, options);\n
Login.c(90): } catch (err) {\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): DS.utils.forEach(data, function (item, i) {\n
Login.c(90): data[i] = DS.createInstance(resourceName, item,
options);\n
Login.c(90): });\n
Login.c(90): return data;\n
Login.c(90): }\n
Login.c(90): }, function (err) {\n
Login.c(90): delete resource.pendingQueries[queryHash];\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return resource.pendingQueries[queryHash];\n
Login.c(90): } else {\n
Login.c(90): return DS.filter(resourceName, params, options);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @description\n
Login.c(90): * The "R" in "CRUD". Delegate to the `findAll` method of
whichever adapter is being used
Login.c(90): (http by default) and inject\n
Login.c(90): * the resulting collection into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.findAll(resourceName, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): * DS.findAll('document', params).then(function (documents) {\n
Login.c(90): * documents; // [{ id: '1', author: 'John Anderson', title:
'How to cook' },\n
Login.c(90): * // { id: '2', author: 'John Anderson', title:
'How NOT to cook' }]\n
Login.c(90): *\n
Login.c(90): * // The documents are now in the data store\n
Login.c(90): * DS.filter('document', params); // [{ id: '1', author: 'John
Anderson', title: 'How to
Login.c(90): cook' },\n
Login.c(90): * // { id: '2', author: 'John
Anderson', title: 'How NO
Login.c(90): T to cook' }]\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is serialized
into the query string. Defa
Login.c(90): ult properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also p
Login.c(90): t=4054ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): assed along to the adapter's `findAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `bypassCache` - Bypass the cache. Default:
`false`.\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{array}` - `items` - The collection of items returned by the
adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function findAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise.then(function () {\n
Login.c(90): return _findAll.call(DS, resourceName, params, options);\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = findAll;\n
Login.c(90): \n
Login.c(90): },{}],58:[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:create\n
Login.c(90): * @name create\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.create](/documentation/api/api/DS.async
methods:create).\n
Login.c(90): */\n
Login.c(90): create: require('./create'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroy\n
Login.c(90): * @name destroy\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.destroy](/documentation/api/api/DS.async
methods:destroy).\n
Login.c(90): */\n
Login.c(90): destroy: require('./destroy'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:destroyAll\n
Login.c(90): * @name destroyAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.destroyAll](/documentation/api/api/DS.async
methods:destroyAll).\n
Login.c(90): */\n
Login.c(90): destroyAll: require('./destroyAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:find\n
Login.c(90): * @name find\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.find](/documentation/api/api/DS.async
methods:find).\n
Login.c(90): */\n
Login.c(90): find: require('./find'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:findAll\n
Login.c(90): * @name findAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.findAll](/documentation/api/api/DS.async
methods:findAll).\n
Login.c(90): */\n
Login.c(90): findAll: require('./findAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:loadRelations\n
Login.c(90): * @name loadRelations\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.loadRelations](/documentation/api/api/DS.async
methods:loadRelations).\n
Login.c(90): */\n
Login.c(90): loadRelations: require('./loadRelations'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:refresh\n
Login.c(90): * @name refresh\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.refresh](/documentation/api/api/DS.async
methods:refresh).\n
Login.c(90): */\n
Login.c(90): refresh: require('./refresh'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:save\n
Login.c(90): * @name save\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.save](/documentation/api/api/DS.async
methods:save).\n
Login.c(90): */\n
Login.c(90): save: require('./save'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.update](/documentation/api/api/DS.async
methods:update).\n
Login.c(90): */\n
Login.c(90): update: require('./update'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.updateAll](/documentation/api/api/DS.async
methods:updateAll).\n
Login.c(90): */\n
Login.c(90): updateAll: require('./updateAll')\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },
{"./create":53,"./destroy":54,"./destroyAll":55,"./find":56,"./findAll":57,"./loadR
elati
Login.c(90):
ons":59,"./refresh":60,"./save":61,"./update":62,"./updateAll":63}],59:
[function(require,m
Login.c(90): odule,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.loadRelations(' + resourceName + ', instance(Id),
relations[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:loadRelations\n
Login.c(90): * @name loadRelations\n
Login.c(90): * @description\n
Login.c(90): * Asynchronously load the indicated relations of the given
instance.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations(resourceName, instance|id, relations[,
options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations('user', 10, ['profile']).then(function (user)
{\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.deepEqual(user.profile, DS.filter('profile', { userId:
10 })[0]);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var user = DS.get('user', 10);\n
Login.c(90): *\n
Login.c(90): * DS.loadRelations('user', user, ['profile']).then(function
(user) {\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.deepEqual(user.profile, DS.filter('profile', { userId:
10 })[0]);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.loadRelations('user', 10, ['profile'], { cacheResponse:
false }).then(function (user
Login.c(90): ) {\n
Login.c(90): * user.profile; // object\n
Login.c(90): * assert.equal(DS.filter('profile', { userId: 10 }).length,
0);\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number|object} instance The instance or the id
of the instance for which
Login.c(90): relations are to be loaded.\n
Login.c(90): * @param {string|array=} relations The relation(s) to load.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` or `findAll` methods.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The instance with its loaded
relations.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function loadRelations(resourceName, instance, relations, options)
{\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (angular.isString(instance) || angular.isNumber(instance))
{\n
Login.c(90): instance = DS.get(resourceName, instance);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (angular.isString(relations)) {\n
Login.c(90): relations = [relations];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(instance)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'instance(Id): Must
be a string, number or
Login.c(90): object!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
a string or an array!')
Login.c(90): ;\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('findBelongsTo' in options)) {\n
Login.c(90): options.findBelongsTo = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('findHasMany' in options)) {\n
Login.c(90): options.findHasMany = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var tasks = [];\n
Login.c(90): var fields = [];\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (DS.utils.contains(relations, relationName)) {\n
Login.c(90): var task;\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
instance[definition.idAttribute];\n
Login.c(90): \n
Login.c(90): if (def.type === 'hasMany' && params[def.foreignKey]) {\n
Login.c(90): task = DS.findAll(relationName, params, options);\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): if (def.localKey && instance[def.localKey]) {\n
Login.c(90): task = DS.find(relationName, instance[def.localKey],
options);\n
Login.c(90): } else if (def.foreignKey && params[def.foreignKey]) {\n
Login.c(90): task = DS.findAll(relationName, params,
options).then(function (hasOnes) {\n
Login.c(90): return hasOnes.length ? hasOnes[0] : null;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): } else if (instance[def.localKey]) {\n
Login.c(90): task = DS.find(relationName, instance[def.localKey],
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (task) {\n
Login.c(90): tasks.push(task);\n
Login.c(90): fields.push(def.localField);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): deferred.resolve();\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function () {\n
Login.c(90): return DS.$q.all(tasks);\n
Login.c(90): })\n
Login.c(90): .then(function (loadedRelations) {\n
Login.c(90): angular.forEach(fields, function (field, index) {\n
Login.c(90): instance[field] = loadedRelations[index];\n
Login.c(90): });\n
Login.c(90): return instance;\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = loadRelations;\n
Login.c(90): \n
Login.c(90): },{}],60:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.refresh(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:refresh\n
Login.c(90): * @name refresh\n
Login.c(90): * @description\n
Login.c(90): * Like `DS.find`, except the resource is only refreshed from the
adapter if it already ex
Login.c(90): ists in the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.refresh(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // Exists in the data store, but we want a fresh copy\n
Login.c(90): * DS.get('document', 5);\n
Login.c(90): *\n
Login.c(90): * DS.refresh('document', 5).then(function (document) {\n
Login.c(90): * document; // The fresh copy\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * // Does not exist in the data store\n
Login.c(90): * DS.get('document', 6); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.refresh('document', 6).then(function (document) {\n
Login.c(90): * document; // undefined\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
refresh from the adapter.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `fi
Login.c(90): nd` method.\n
Login.c(90): * @returns {Promise} A Promise created by the $q service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object|undefined}` - `item` - The item returned by the
adapter or `undefined` if th
Login.c(90): e item wasn't already in the\n
Login.c(90): * data store.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function refresh(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must be
an object!');\n
Login.c(90): } else {\n
Login.c(90): options.bypassCache = true;\n
Login.c(90): \n
Login.c(90): if (DS.get(resourceName, id)) {\n
Login.c(90): return DS.find(resourceName, id, options);\n
Login.c(90): } else {\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): deferred.resolve();\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = refresh;\n
Login.c(90): \n
Login.c(90): },{}],61:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.save(' + resourceName + ', ' + id + '[, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:save\n
Login.c(90): * @name save\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Persist a single item already in the store
and in it's current form
Login.c(90): to whichever adapter is being\n
Login.c(90): * used (http by default) and inject the resulting item into the
data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.save(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var document = DS.get('document', 5);\n
Login.c(90): *\n
Login.c(90): * document.title = 'How to cook in style';\n
Login.c(90): *\n
Login.c(90): * DS.save('document', 5).then(function (document) {\n
Login.c(90): * document; // A reference to the document that's been
persisted via an adapter\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
save.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): date` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{boolean=}` - `changesOnly` - Only send changed and added
values to the adapter. Def
Login.c(90): ault: `false`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Override t
Login.c(90): t=4083ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): he resource or global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function save(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (!item) {\n
Login.c(90): throw new DS.errors.R(errorPrefix(resourceName, id) + 'id:
"' + id + '" not found!')
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(item);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.changesOnly) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): resource.observers[id].deliver();\n
Login.c(90): var toKeep = [],\n
Login.c(90): changes = DS.changes(resourceName, id);\n
Login.c(90): \n
Login.c(90): for (var key in changes.added) {\n
Login.c(90): toKeep.push(key);\n
Login.c(90): }\n
Login.c(90): for (key in changes.changed) {\n
Login.c(90): toKeep.push(key);\n
Login.c(90): }\n
Login.c(90): changes = DS.utils.pick(attrs, toKeep);\n
Login.c(90): if (DS.utils.isEmpty(changes)) {\n
Login.c(90): // no changes, return\n
Login.c(90): return attrs;\n
Login.c(90): } else {\n
Login.c(90): attrs = changes;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].update(definition
Login.c(90): , id, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(re
Login.c(90): sourceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var saved = DS.inject(definition.name, attrs,
options);\n
Login.c(90): resource.previousAttributes[id] = DS.utils.deepMixIn({},
saved);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): resource.observers[id].discardChanges();\n
Login.c(90): return DS.get(resourceName, id);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = save;\n
Login.c(90): \n
Login.c(90): },{}],62:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.update(' + resourceName + ', ' + id + ', attrs[,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:update\n
Login.c(90): * @name update\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Update the item of type `resourceName` and
primary key `id` with `at
Login.c(90): trs`. This is useful when you\n
Login.c(90): * want to update an item that isn't already in the data store, or
you don't want to updat
Login.c(90): e the item that's in the data\n
Login.c(90): * store until the adapter operation succeeds. This differs from
`DS.save` which simply sa
Login.c(90): ves items in their current\n
Login.c(90): * form that already exist in the data store. The resulting item
(by default) will be inje
Login.c(90): cted into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.update(resourceName, id, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.update('document', 5, {\n
Login.c(90): * title: 'How to cook in style'\n
Login.c(90): * }).then(function (document) {\n
Login.c(90): * document; // A reference to the document that's been saved
via an adapter\n
Login.c(90): * // and now resides in the data store\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
update.\n
Login.c(90): * @param {object} attrs The attributes with which to update the
item.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): date` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the data returned by
the adapter into the dat
Login.c(90): a store. Default: `true`.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `validate` - Override the resource or global
lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterValidate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Override the resource or
global lifecycle hook.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{object}` - `item` - The item returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function update(resourceName, id, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id))
{\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'attrs: Must be
an object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must
be an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].update(definition
Login.c(90): , id, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(re
Login.c(90): sourceName, attrs), options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var updated = DS.inject(definition.name, attrs,
options);\n
Login.c(90): var id = updated[definition.idAttribute];\n
Login.c(90): resource.previousAttributes[id] = DS.utils.deepMixIn({},
updated);\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): resource.observers[id].discardChanges();\n
Login.c(90): return DS.get(definition.name, id);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = update;\n
Login.c(90): \n
Login.c(90): },{}],63:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.updateAll(' + resourceName + ', attrs, params[,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.async methods:updateAll\n
Login.c(90): * @name updateAll\n
Login.c(90): * @description\n
Login.c(90): * The "U" in "CRUD". Update items of type `resourceName` with
`attrs` according to the cr
Login.c(90): iteria specified by `params`.\n
Login.c(90): * This is useful when you want to update multiple items with the
same attributes or you d
Login.c(90): on't want to update the items\n
Login.c(90): * in the data store until the adapter operation succeeds. The
resulting items (by default
Login.c(90): ) will be injected into the\n
Login.c(90): * data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.updateAll(resourceName, attrs, params[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var params = {\n
Login.c(90): * where: {\n
Login.c(90): * author: {\n
Login.c(90): * '==': 'John Anderson'\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * };\n
Login.c(90): *\n
Login.c(90): * DS.filter('document', params); // []\n
Login.c(90): *\n
Login.c(90): * DS.updateAll('document', 5, {\n
Login.c(90): * author: 'Sally'\n
Login.c(90): * }, params).then(function (documents) {\n
Login.c(90): * documents; // The documents that were updated via an
adapter\n
Login.c(90): * // and now reside in the data store\n
Login.c(90): *\n
Login.c(90): * documents[0].author; // "Sally"\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} attrs The attributes with which to update the
items.\n
Login.c(90): * @param {object} params Parameter object that is serialized into
the query string. Defau
Login.c(90): lt properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to the adapter's `up
Login.c(90): dateAll` method. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `cacheResponse` - Inject the items returned by
the adapter into the da
Login.c(90): ta store. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {Promise} Promise produced by the `$q` service.\n
Login.c(90): *\n
Login.c(90): * ## Resolves with:\n
Login.c(90): *\n
Login.c(90): * - `{array}` - `items` - The items returned by the adapter.\n
Login.c(90): *\n
Login.c(90): * ## Rejects with:\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): */\n
Login.c(90): function updateAll(resourceName, attrs, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var deferred = DS.$q.defer();\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'attrs: Must be
Login.c(90): t=4099ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): an object!');\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('cacheResponse' in options)) {\n
Login.c(90): options.cacheResponse = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deferred.resolve(attrs);\n
Login.c(90): \n
Login.c(90): return deferred.promise\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeValidate ? DS.
$q.promisify(options.beforeValidate) : defi
Login.c(90): nition.beforeValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.validate ? DS.
$q.promisify(options.validate) : definition.valid
Login.c(90): ate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.afterValidate ? DS.
$q.promisify(options.afterValidate) : defini
Login.c(90): tion.afterValidate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): var func = options.beforeUpdate ? DS.
$q.promisify(options.beforeUpdate) : definiti
Login.c(90): on.beforeUpdate;\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'beforeUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): return DS.adapters[options.adapter ||
definition.defaultAdapter].updateAll(definit
Login.c(90): ion, options.serialize ? options.serialize(resourceName, attrs) :
definition.serialize(res
Login.c(90): ourceName, attrs), params, options);\n
Login.c(90): })\n
Login.c(90): .then(function (res) {\n
Login.c(90): var func = options.afterUpdate ? DS.
$q.promisify(options.afterUpdate) : definition
Login.c(90): .afterUpdate;\n
Login.c(90): var attrs = options.deserialize ?
options.deserialize(resourceName, res) : definit
Login.c(90): ion.deserialize(resourceName, res);\n
Login.c(90): return func.call(attrs, resourceName, attrs);\n
Login.c(90): })\n
Login.c(90): .then(function (attrs) {\n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'afterUpdate', DS.utils.merge({},
attrs));\n
Login.c(90): }\n
Login.c(90): if (options.cacheResponse) {\n
Login.c(90): return DS.inject(definition.name, attrs, options);\n
Login.c(90): } else {\n
Login.c(90): return attrs;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): return deferred.promise;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = updateAll;\n
Login.c(90): \n
Login.c(90): },{}],64:[function(require,module,exports){\n
Login.c(90): var utils = require('../utils')[0]();\n
Login.c(90): \n
Login.c(90): function lifecycleNoop(resourceName, attrs, cb) {\n
Login.c(90): cb(null, attrs);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function Defaults() {\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): Defaults.prototype.idAttribute = 'id';\n
Login.c(90): Defaults.prototype.defaultAdapter = 'DSHttpAdapter';\n
Login.c(90): Defaults.prototype.defaultFilter = function (collection,
resourceName, params, options) {\n
Login.c(90): var _this = this;\n
Login.c(90): var filtered = collection;\n
Login.c(90): var where = null;\n
Login.c(90): var reserved = {\n
Login.c(90): skip: '',\n
Login.c(90): offset: '',\n
Login.c(90): where: '',\n
Login.c(90): limit: '',\n
Login.c(90): orderBy: '',\n
Login.c(90): sort: ''\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): if (this.utils.isObject(params.where)) {\n
Login.c(90): where = params.where;\n
Login.c(90): } else {\n
Login.c(90): where = {};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.allowSimpleWhere) {\n
Login.c(90): this.utils.forEach(params, function (value, key) {\n
Login.c(90): if (!(key in reserved) && !(key in where)) {\n
Login.c(90): where[key] = {\n
Login.c(90): '==': value\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (this.utils.isEmpty(where)) {\n
Login.c(90): where = null;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (where) {\n
Login.c(90): filtered = this.utils.filter(filtered, function (attrs) {\n
Login.c(90): var first = true;\n
Login.c(90): var keep = true;\n
Login.c(90): _this.utils.forEach(where, function (clause, field) {\n
Login.c(90): if (_this.utils.isString(clause)) {\n
Login.c(90): clause = {\n
Login.c(90): '===': clause\n
Login.c(90): };\n
Login.c(90): } else if (_this.utils.isNumber(clause) ||
_this.utils.isBoolean(clause)) {\n
Login.c(90): clause = {\n
Login.c(90): '==': clause\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): if (_this.utils.isObject(clause)) {\n
Login.c(90): _this.utils.forEach(clause, function (val, op) {\n
Login.c(90): if (op === '==') {\n
Login.c(90): keep = first ? (attrs[field] == val) : keep &&
(attrs[field] == val);\n
Login.c(90): } else if (op === '===') {\n
Login.c(90): keep = first ? (attrs[field] === val) : keep &&
(attrs[field] === val);\n
Login.c(90): } else if (op === '!=') {\n
Login.c(90): keep = first ? (attrs[field] != val) : keep &&
(attrs[field] != val);\n
Login.c(90): } else if (op === '!==') {\n
Login.c(90): keep = first ? (attrs[field] !== val) : keep &&
(attrs[field] !== val);\n
Login.c(90): } else if (op === '>') {\n
Login.c(90): keep = first ? (attrs[field] > val) : keep &&
(attrs[field] > val);\n
Login.c(90): } else if (op === '>=') {\n
Login.c(90): keep = first ? (attrs[field] >= val) : keep &&
(attrs[field] >= val);\n
Login.c(90): } else if (op === '<') {\n
Login.c(90): keep = first ? (attrs[field] < val) : keep &&
(attrs[field] < val);\n
Login.c(90): } else if (op === '<=') {\n
Login.c(90): keep = first ? (attrs[field] <= val) : keep &&
(attrs[field] <= val);\n
Login.c(90): } else if (op === 'in') {\n
Login.c(90): keep = first ? _this.utils.contains(val,
attrs[field]) : keep && _this.utils
Login.c(90): .contains(val, attrs[field]);\n
Login.c(90): } else if (op === 'notIn') {\n
Login.c(90): keep = first ? !_this.utils.contains(val,
attrs[field]) : keep && !_this.uti
Login.c(90): ls.contains(val, attrs[field]);\n
Login.c(90): } else if (op === '|==') {\n
Login.c(90): keep = first ? (attrs[field] == val) : keep ||
(attrs[field] == val);\n
Login.c(90): } else if (op === '|===') {\n
Login.c(90): keep = first ? (attrs[field] === val) : keep ||
(attrs[field] === val);\n
Login.c(90): } else if (op === '|!=') {\n
Login.c(90): keep = first ? (attrs[field] != val) : keep ||
(attrs[field] != val);\n
Login.c(90): } else if (op === '|!==') {\n
Login.c(90): keep = first ? (attrs[field] !== val) : keep ||
(attrs[field] !== val);\n
Login.c(90): } else if (op === '|>') {\n
Login.c(90): keep = first ? (attrs[field] > val) : keep ||
(attrs[field] > val);\n
Login.c(90): } else if (op === '|>=') {\n
Login.c(90): keep = first ? (attrs[field] >= val) : keep ||
(attrs[field] >= val);\n
Login.c(90): } else if (op === '|<') {\n
Login.c(90): keep = first ? (attrs[field] < val) : keep ||
(attrs[field] < val);\n
Login.c(90): } else if (op === '|<=') {\n
Login.c(90): keep = first ? (attrs[field] <= val) : keep ||
(attrs[field] <= val);\n
Login.c(90): } else if (op === '|in') {\n
Login.c(90): keep = first ? _this.utils.contains(val,
attrs[field]) : keep || _this.utils
Login.c(90): .contains(val, attrs[field]);\n
Login.c(90): } else if (op === '|notIn') {\n
Login.c(90): keep = first ? !_this.utils.contains(val,
attrs[field]) : keep || !_this.uti
Login.c(90): ls.contains(val, attrs[field]);\n
Login.c(90): }\n
Login.c(90): first = false;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): return keep;\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var orderBy = null;\n
Login.c(90): \n
Login.c(90): if (this.utils.isString(params.orderBy)) {\n
Login.c(90): orderBy = [\n
Login.c(90): [params.orderBy, 'ASC']\n
Login.c(90): ];\n
Login.c(90): } else if (this.utils.isArray(params.orderBy)) {\n
Login.c(90): orderBy = params.orderBy;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!orderBy && this.utils.isString(params.sort)) {\n
Login.c(90): orderBy = [\n
Login.c(90): [params.sort, 'ASC']\n
Login.c(90): ];\n
Login.c(90): } else if (!orderBy && this.utils.isArray(params.sort)) {\n
Login.c(90): orderBy = params.sort;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Apply 'orderBy'\n
Login.c(90): if (orderBy) {\n
Login.c(90): angular.forEach(orderBy, function (def) {\n
Login.c(90): if (_this.utils.isString(def)) {\n
Login.c(90): def = [def, 'ASC'];\n
Login.c(90): } else if (!_this.utils.isArray(def)) {\n
Login.c(90): throw new
_this.errors.IllegalArgumentError('DS.filter(resourceName[, params][, op
Login.c(90): tions]): ' + angular.toJson(def) + ': Must be a string or an
array!', { params: { 'orderBy
Login.c(90): [i]': { actual: typeof def, expected: 'string|array' } } });\n
Login.c(90): }\n
Login.c(90): filtered = _this.utils.sort(filtered, function (a, b) {\n
Login.c(90): var cA = a[def[0]], cB = b[def[0]];\n
Login.c(90): if (_this.utils.isString(cA)) {\n
Login.c(90): cA = _this.utils.upperCase(cA);\n
Login.c(90): }\n
Login.c(90): if (_this.utils.isString(cB)) {\n
Login.c(90): cB = _this.utils.upperCase(cB);\n
Login.c(90): }\n
Login.c(90): if (def[1] === 'DESC') {\n
Login.c(90): if (cB < cA) {\n
Login.c(90): return -1;\n
Login.c(90): } else if (cB > cA) {\n
Login.c(90): return 1;\n
Login.c(90): } else {\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): if (cA < cB) {\n
Login.c(90): return -1;\n
Login.c(90): } else if (cA > cB) {\n
Login.c(90): return 1;\n
Login.c(90): } else {\n
Login.c(90): return 0;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var limit = angular.isNumber(params.limit) ? params.limit :
null;\n
Login.c(90): var skip = null;\n
Login.c(90): \n
Login.c(90): if (angular.isNumber(params.skip)) {\n
Login.c(90): skip = params.skip;\n
Login.c(90): } else if (angular.isNumber(params.offset)) {\n
Login.c(90): skip = params.offset;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Apply 'limit' and 'skip'\n
Login.c(90): if (limit && skip) {\n
Login.c(90): filtered = this.utils.slice(filtered, skip,
Math.min(filtered.length, skip + limit));\n
Login.c(90): } else if (this.utils.isNumber(limit)) {\n
Login.c(90): filtered = this.utils.slice(filtered, 0,
Math.min(filtered.length, limit));\n
Login.c(90): } else if (this.utils.isNumber(skip)) {\n
Login.c(90): if (skip < filtered.length) {\n
Login.c(90): filtered = this.utils.slice(filtered, skip);\n
Login.c(90): } else {\n
Login.c(90): filtered = [];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return filtered;\n
Login.c(90): };\n
Login.c(90): Defaults.prototype.baseUrl = '';\n
Login.c(90): Defaults.prototype.endpoint = '';\n
Login.c(90): Defaults.prototype.useClass = true;\n
Login.c(90): Defaults.prototype.keepChangeHistory = false;\n
Login.c(90): Defaults.prototype.resetHistoryOnInject = true;\n
Login.c(90): Defaults.prototype.eagerInject = false;\n
Login.c(90): Defaults.prototype.eagerEject = false;\n
Login.c(90): Defaults.prototype.notify = true;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeValidate\n
Login.c(90): * @name defaults.beforeValidate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `validate` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeValidate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeValidate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeValidate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.validate\n
Login.c(90): * @name defaults.validate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `afterValidate` lifecycle step. Can be
overridden per resource as wel
Login.c(90): l.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * validate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.validate = function (resourceName, attrs,
cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.validate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterValidate\n
Login.c(90): * @name defaults.afterValidate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `beforeCreate` or `beforeUpdate` lifecycle
step. Can be overridden pe
Login.c(90): r resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterValidate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterValidate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterValidate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeCreate\n
Login.c(90): * @name defaults.beforeCreate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `create` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeCreate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * li
Login.c(90): t=4116ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): fecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeCreate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeCreate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterCreate\n
Login.c(90): * @name defaults.afterCreate\n
Login.c(90): * @description\n
Login.c(90): * Called after the `create` lifecycle step. Can be overridden per
resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterCreate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterCreate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterCreate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeUpdate\n
Login.c(90): * @name defaults.beforeUpdate\n
Login.c(90): * @description\n
Login.c(90): * Called before the `update` or `save` lifecycle step. Can be
overridden per resource as
Login.c(90): well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeUpdate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeUpdate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeUpdate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterUpdate\n
Login.c(90): * @name defaults.afterUpdate\n
Login.c(90): * @description\n
Login.c(90): * Called after the `update` or `save` lifecycle step. Can be
overridden per resource as w
Login.c(90): ell.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterUpdate(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterUpdate = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterUpdate = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeDestroy\n
Login.c(90): * @name defaults.beforeDestroy\n
Login.c(90): * @description\n
Login.c(90): * Called before the `destroy` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeDestroy(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeDestroy = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeDestroy = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterDestroy\n
Login.c(90): * @name defaults.afterDestroy\n
Login.c(90): * @description\n
Login.c(90): * Called after the `destroy` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterDestroy(resourceName, attrs, cb)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Callback signature:\n
Login.c(90): * ```js\n
Login.c(90): * cb(err, attrs)\n
Login.c(90): * ```\n
Login.c(90): * Remember to pass the attributes along to the next step. Passing
a first argument to the
Login.c(90): callback will abort the\n
Login.c(90): * lifecycle and reject the promise.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterDestroy = function (resourceName,
attrs, cb) {\n
Login.c(90): * // do somthing/inspect attrs\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterDestroy = lifecycleNoop;\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.beforeInject\n
Login.c(90): * @name defaults.beforeInject\n
Login.c(90): * @description\n
Login.c(90): * Called before the `inject` lifecycle step. Can be overridden
per resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * beforeInject(resourceName, attrs)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Throwing an error inside this step will cancel the injection.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.beforeInject = function (resourceName,
attrs) {\n
Login.c(90): * // do somthing/inspect/modify attrs\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.beforeInject = function (resourceName, attrs)
{\n
Login.c(90): return attrs;\n
Login.c(90): };\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.afterInject\n
Login.c(90): * @name defaults.afterInject\n
Login.c(90): * @description\n
Login.c(90): * Called after the `inject` lifecycle step. Can be overridden per
resource as well.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * afterInject(resourceName, attrs)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Throwing an error inside this step will cancel the injection.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.afterInject = function (resourceName,
attrs) {\n
Login.c(90): * // do somthing/inspect/modify attrs\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource moving
through the lifecycle.\n
Login.c(90): * @param {object} attrs Attributes of the item moving through the
lifecycle.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.afterInject = function (resourceName, attrs)
{\n
Login.c(90): return attrs;\n
Login.c(90): };\n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.serialize\n
Login.c(90): * @name defaults.serialize\n
Login.c(90): * @description\n
Login.c(90): * Your server might expect a custom request object rather than
the plain POJO payload. Us
Login.c(90): e `serialize` to\n
Login.c(90): * create your custom request object.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.serialize = function (resourceName, data)
{\n
Login.c(90): * return {\n
Login.c(90): * payload: data\n
Login.c(90): * };\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource to
serialize.\n
Login.c(90): * @param {object} data Data to be sent to the server.\n
Login.c(90): * @returns {*} By default returns `data` as-is.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.serialize = function (resourceName, data) {\n
Login.c(90): return data;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.deserialize\n
Login.c(90): * @name DSProvider.properties:defaults.deserialize\n
Login.c(90): * @description\n
Login.c(90): * Your server might return a custom response object instead of
the plain POJO payload. Us
Login.c(90): e `deserialize` to\n
Login.c(90): * pull the payload out of your response object so angular-data
can use it.\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): * ```js\n
Login.c(90): * DSProvider.defaults.deserialize = function (resourceName,
data) {\n
Login.c(90): * return data ? data.payload : data;\n
Login.c(90): * };\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The name of the resource to
deserialize.\n
Login.c(90): * @param {object} data Response object from `$http()`.\n
Login.c(90): * @returns {*} By default returns `data.data`.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.deserialize = function (resourceName, data) {\n
Login.c(90): return data ? (data.data ? data.data : data) : data;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults.events\n
Login.c(90): * @name DSProvider.properties:defaults.events\n
Login.c(90): * @description\n
Login.c(90): * Whether to broadcast, emit, or disable DS events on the
`$rootScope`.\n
Login.c(90): *\n
Login.c(90): * Possible values are: `"broadcast"`, `"emit"`, `"none"`.\n
Login.c(90): *\n
Login.c(90): * `"broadcast"` events will be [broadcasted]
(https://code.angularjs.org/1.2.22/docs/api/n
Login.c(90): g/type/$rootScope.Scope#$broadcast) on the `$rootScope`.\n
Login.c(90): *\n
Login.c(90): * `"emit"` events will be [emitted]
(https://code.angularjs.org/1.2.22/docs/api/ng/type/$r
Login.c(90): ootScope.Scope#$emit) on the `$rootScope`.\n
Login.c(90): *\n
Login.c(90): * `"none"` events will be will neither be broadcasted nor
emitted.\n
Login.c(90): *\n
Login.c(90): * Current events are `"DS.inject"` and `"DS.eject"`.\n
Login.c(90): *\n
Login.c(90): * Overridable per resource.\n
Login.c(90): */\n
Login.c(90): Defaults.prototype.events = 'broadcast';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id DSProvider\n
Login.c(90): * @name DSProvider\n
Login.c(90): */\n
Login.c(90): function DSProvider() {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DSProvider.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * See the [configuration guide]
(/documentation/guide/configure/global).\n
Login.c(90): *\n
Login.c(90): * Properties:\n
Login.c(90): *\n
Login.c(90): * - `{string}` - `baseUrl` - The url relative to which all AJAX
requests will be made.\n
Login.c(90): * - `{string}` - `idAttribute` - Default: `"id"` - The
attribute that specifies the pri
Login.c(90): mary key for resources.\n
Login.c(90): * - `{string}` - `defaultAdapter` - Default:
`"DSHttpAdapter"`\n
Login.c(90): * - `{string}` - `events` - Default: `"broadcast"`
[DSProvider.defaults.events](/docume
Login.c(90): ntation/api/angular-data/DSProvider.properties:defaults.events)\n
Login.c(90): * - `{function}` - `filter` - Default: See [angular-data query
language](/documentation
Login.c(90): /guide/queries/custom).\n
Login.c(90): * - `{function}` - `beforeValidate` - See
[DSProvider.defaults.beforeValidate](/documen
Login.c(90): tation/api/angular-
data/DSProvider.properties:defaults.beforeValidate). Default: No-op\n
Login.c(90): * - `{function}` - `validate` - See
[DSProvider.defaults.validate](/documentation/api/a
Login.c(90): ngular-data/DSProvider.properties:defaults.validate). Default: No-
op\n
Login.c(90): * - `{function}` - `afterValidate` - See
[DSProvider.defaults.afterValidate](/documenta
Login.c(90): tion/api/angular-
data/DSProvider.properties:defaults.afterValidate). Default: No-op\n
Login.c(90): * - `{function}` - `beforeCreate` - See
[DSProvider.defaults.beforeCreate](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeCreate).
Default: No-op\n
Login.c(90): * - `{function}` - `afterCreate` - See
[DSProvider.defaults.afterCreate](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaul
Login.c(90): t=4130ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ts.afterCreate). Default: No-op\n
Login.c(90): * - `{function}` - `beforeUpdate` - See
[DSProvider.defaults.beforeUpdate](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeUpdate).
Default: No-op\n
Login.c(90): * - `{function}` - `afterUpdate` - See
[DSProvider.defaults.afterUpdate](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.afterUpdate).
Default: No-op\n
Login.c(90): * - `{function}` - `beforeDestroy` - See
[DSProvider.defaults.beforeDestroy](/documenta
Login.c(90): tion/api/angular-
data/DSProvider.properties:defaults.beforeDestroy). Default: No-op\n
Login.c(90): * - `{function}` - `afterDestroy` - See
[DSProvider.defaults.afterDestroy](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.afterDestroy).
Default: No-op\n
Login.c(90): * - `{function}` - `afterInject` - See
[DSProvider.defaults.afterInject](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.afterInject).
Default: No-op\n
Login.c(90): * - `{function}` - `beforeInject` - See
[DSProvider.defaults.beforeInject](/documentati
Login.c(90): on/api/angular-data/DSProvider.properties:defaults.beforeInject).
Default: No-op\n
Login.c(90): * - `{function}` - `serialize` - See
[DSProvider.defaults.serialize](/documentation/api
Login.c(90): /angular-data/DSProvider.properties:defaults.serialize). Default:
No-op\n
Login.c(90): * - `{function}` - `deserialize` - See
[DSProvider.defaults.deserialize](/documentation
Login.c(90): /api/angular-data/DSProvider.properties:defaults.deserialize).
Default: No-op\n
Login.c(90): */\n
Login.c(90): var defaults = this.defaults = new Defaults();\n
Login.c(90): \n
Login.c(90): this.$get = [\n
Login.c(90): '$rootScope', '$log', '$q', 'DSHttpAdapter',
'DSLocalStorageAdapter', 'DSUtils', 'DSEr
Login.c(90): rors',\n
Login.c(90): function ($rootScope, $log, $q, DSHttpAdapter,
DSLocalStorageAdapter, DSUtils, DSError
Login.c(90): s) {\n
Login.c(90): \n
Login.c(90): var syncMethods = require('./sync_methods'),\n
Login.c(90): asyncMethods = require('./async_methods'),\n
Login.c(90): cache;\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): cache = angular.injector(['angular-
data.DSCacheFactory']).get('DSCacheFactory');\n
Login.c(90): } catch (err) {\n
Login.c(90): $log.warn(err);\n
Login.c(90): $log.warn('DSCacheFactory is unavailable. Resorting to the
lesser capabilities of
Login.c(90): $cacheFactory.');\n
Login.c(90): cache = angular.injector(['ng']).get('$cacheFactory');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id DS\n
Login.c(90): * @name DS\n
Login.c(90): * @description\n
Login.c(90): * Public data store interface. Consists of several
properties and a number of metho
Login.c(90): ds. Injectable as `DS`.\n
Login.c(90): *\n
Login.c(90): * See the [guide](/documentation/guide/overview/index).\n
Login.c(90): */\n
Login.c(90): var DS = {\n
Login.c(90): emit: function (definition, event) {\n
Login.c(90): var args = Array.prototype.slice.call(arguments, 2);\n
Login.c(90): args.unshift(definition.name);\n
Login.c(90): args.unshift('DS.' + event);\n
Login.c(90): definition.emit.apply(definition, args);\n
Login.c(90): if (definition.events === 'broadcast') {\n
Login.c(90): $rootScope.$broadcast.apply($rootScope, args);\n
Login.c(90): } else if (definition.events === 'emit') {\n
Login.c(90): $rootScope.$emit.apply($rootScope, args);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): $rootScope: $rootScope,\n
Login.c(90): $log: $log,\n
Login.c(90): $q: $q,\n
Login.c(90): \n
Login.c(90): cacheFactory: cache,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:defaults\n
Login.c(90): * @name defaults\n
Login.c(90): * @description\n
Login.c(90): * Reference to [DSProvider.defaults]
(/documentation/api/api/DSProvider.properties
Login.c(90): :defaults).\n
Login.c(90): */\n
Login.c(90): defaults: defaults,\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:store\n
Login.c(90): * @name store\n
Login.c(90): * @description\n
Login.c(90): * Meta data for each registered resource.\n
Login.c(90): */\n
Login.c(90): store: {},\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:definitions\n
Login.c(90): * @name definitions\n
Login.c(90): * @description\n
Login.c(90): * Registered resource definitions available to the data
store.\n
Login.c(90): */\n
Login.c(90): definitions: {},\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:adapters\n
Login.c(90): * @name adapters\n
Login.c(90): * @description\n
Login.c(90): * Registered adapters available to the data store. Object
consists of key-values
Login.c(90): pairs where the key is\n
Login.c(90): * the name of the adapter and the value is the adapter
itself.\n
Login.c(90): */\n
Login.c(90): adapters: {\n
Login.c(90): DSHttpAdapter: DSHttpAdapter,\n
Login.c(90): DSLocalStorageAdapter: DSLocalStorageAdapter\n
Login.c(90): },\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:errors\n
Login.c(90): * @name errors\n
Login.c(90): * @description\n
Login.c(90): * References to the various [error types]
(/documentation/api/api/errors) used by
Login.c(90): angular-data.\n
Login.c(90): */\n
Login.c(90): errors: DSErrors,\n
Login.c(90): \n
Login.c(90): /*!\n
Login.c(90): * @doc property\n
Login.c(90): * @id DS.properties:utils\n
Login.c(90): * @name utils\n
Login.c(90): * @description\n
Login.c(90): * Utility functions used internally by angular-data.\n
Login.c(90): */\n
Login.c(90): utils: DSUtils\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): DSUtils.deepFreeze(syncMethods);\n
Login.c(90): DSUtils.deepFreeze(asyncMethods);\n
Login.c(90): \n
Login.c(90): DSUtils.deepMixIn(DS, syncMethods);\n
Login.c(90): DSUtils.deepMixIn(DS, asyncMethods);\n
Login.c(90): \n
Login.c(90): DSUtils.deepFreeze(DS.errors);\n
Login.c(90): DSUtils.deepFreeze(DS.utils);\n
Login.c(90): \n
Login.c(90): DSHttpAdapter.DS = DS;\n
Login.c(90): DSLocalStorageAdapter.DS = DS;\n
Login.c(90): \n
Login.c(90): if (typeof Object.observe !== 'function' ||\n
Login.c(90): typeof Array.observe !== 'function') {\n
Login.c(90): $rootScope.$watch(function () {\n
Login.c(90): // Throttle angular-data's digest loop to tenths of a
second\n
Login.c(90): return new Date().getTime() / 100 | 0;\n
Login.c(90): }, function () {\n
Login.c(90): DS.digest();\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return DS;\n
Login.c(90): }\n
Login.c(90): ];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = DSProvider;\n
Login.c(90): \n
Login.c(90): },{"../utils":89,"./async_methods":58,"./sync_methods":78}],65:
[function(require,module,ex
Login.c(90): ports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.bindAll(scope, expr, ' + resourceName + ', params[,
cb]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindAll\n
Login.c(90): * @name bindAll\n
Login.c(90): * @description\n
Login.c(90): * Bind a collection of items in the data store to `scope` under
the property specified by
Login.c(90): `expr` filtered by `params`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.bindAll(scope, expr, resourceName, params[, cb])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // bind the documents with ownerId of 5 to the 'docs' property
of the $scope\n
Login.c(90): * var deregisterFunc = DS.bindAll($scope, 'docs', 'document', {\n
Login.c(90): * where: {\n
Login.c(90): * ownerId: 5\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {object} scope The scope to bind to.\n
Login.c(90): * @param {string} expr An expression used to bind to the scope.
Can be used to set nested
Login.c(90): keys, i.e. `"user.comments"`.\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is used in
filtering the collection. Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {function=} cb Optional callback executed on change.
Signature: `cb(err, items)`
Login.c(90): .\n
Login.c(90): *\n
Login.c(90): * @returns {function} Scope $watch deregistration function.\n
Login.c(90): */\n
Login.c(90): function bindAll(scope, expr, resourceName, params, cb) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if (!DS.utils.isObject(scope)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'scope: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isString(expr)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'expr: Must be a
string!');\n
Login.c(90): } else if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): return scope.$watch(function () {\n
Login.c(90): return DS.lastModified(resourceName);\n
Login.c(90): }, function () {\n
Login.c(90): var items = DS.filter(resourceName, params);\n
Login.c(90): DS.utils.set(scope, expr, items);\n
Login.c(90): if (cb) {\n
Login.c(90): cb(null, items);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): if (cb) {\n
Login.c(90): cb(err);\n
Login.c(90): } else {\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = bindAll;\n
Login.c(90): \n
Login.c(90): },{}],66:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.bindOne(scope, expr, ' + resourceName + ', id[, cb]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindOne\n
Login.c(90): * @name bindOne\n
Login.c(90): * @description\n
Login.c(90): * Bind an item in the data store to `scope` under the property
specified by `expr`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.bindOne(scope, expr, resourceName, id[, cb])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * // bind the document with id 5 to the 'doc' property of the
$scope\n
Login.c(90): * var deregisterFunc = DS.bindOne($scope, 'doc', 'document',
5);\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {object} scope The scope to bind to.\n
Login.c(90): * @param {string} expr An expression used to bind to the scope.
Can be used to set nested
Login.c(90): keys, i.e. `"user.profile"`.\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
bind.\n
Login.c(90): * @param {function=} cb Optional callback executed on change.
Signature: `cb(err, item)`.
Login.c(90): \n
Login.c(90): * @returns {function} Scope $watch deregistration function.\n
Login.c(90): */\n
Login.c(90): function bindOne(scope, expr, resourceName, id, cb) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.utils.isObject(scope)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'scope: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isString(expr)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'expr: Must be a
string!');\n
Login.c(90): } else if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): return scope.$watch(function () {\n
Login.c(90): return DS.lastModified(resourceName, id);\n
Login.c(90): }, function () {\n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): DS.utils.set(scope, expr, item);\n
Login.c(90): if (cb) {\n
Login.c(90): cb(null, item);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } catch (err) {\n
Login.c(90): if (cb) {\n
Login.c(90): cb(err);\n
Login.c(90): } else {\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = bindOne;\n
Login.c(90): \n
Login.c(90): },{}],67:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.changeHistory(' + resourceName + ', id): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changeHistory\n
Login.c(90): * @name changeHistory\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the changeHistory of the item of the type
specified by `resourceNa
Login.c(90): me` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the history of
changes in the item since the
Login.c(90): item was last injected or\n
Login.c(90): * re-injected (on save, update, etc.) into the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.changeHistory(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You might have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.changeHistory('document', 5); // [{...}] Array of changes\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number=} id The primary key of the item for
which to retrieve the change
Login.c(90): History.\n
Login.c(90): * @returns {object} The changeHistory of the item of the type
specified by `resourceName`
Login.c(90): with the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function changeHistory(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var DSUtils = DS.utils;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (resourceName && !DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (id && !DSUtils.isString(id) && !DSUtils.isNumber(id))
{\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'id: Must
be a string or a number!'
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!definition.keepChangeHistory) {\n
Login.c(90): DS.$log.warn(errorPrefix(resourceName) + 'changeHistory is
disabled for this resource!
Login.c(90): ');\n
Login.c(90): } else {\n
Login.c(90): if (resourceName) {\n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (item) {\n
Login.c(90): return resource.changeHistories[id];\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): return resource.changeHistory;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = changeHistory;\n
Login.c(90): \n
Login.c(90): },{}],68:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.changes(' + resourceName + ', id): '
Login.c(90): t=4146ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changes\n
Login.c(90): * @name changes\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the changes object of the item of the type
specified by `resourceN
Login.c(90): ame` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the diff between the
item in its current stat
Login.c(90): e and the state of the item\n
Login.c(90): * the last time it was saved via an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.changes(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You might have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.changes('document', 5); // {...} Object describing changes\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item of the
changes to retrieve.\n
Login.c(90): * @returns {object} The changes of the item of the type specified
by `resourceName` with
Login.c(90): the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function changes(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'id: Must
be a string or a number!'
Login.c(90): );\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item = DS.get(resourceName, id);\n
Login.c(90): if (item) {\n
Login.c(90): DS.store[resourceName].observers[id].deliver();\n
Login.c(90): var diff = DS.utils.diffObjectFromOldObject(item,
DS.store[resourceName].previousAttri
Login.c(90): butes[id]);\n
Login.c(90): DS.utils.forEach(diff, function (changeset, name) {\n
Login.c(90): var toKeep = [];\n
Login.c(90): DS.utils.forEach(changeset, function (value, field) {\n
Login.c(90): if (!angular.isFunction(value)) {\n
Login.c(90): toKeep.push(field);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): diff[name] = DS.utils.pick(diff[name], toKeep);\n
Login.c(90): });\n
Login.c(90): DS.utils.forEach(DS.definitions[resourceName].relationFields,
function (field) {\n
Login.c(90): delete diff.added[field];\n
Login.c(90): delete diff.removed[field];\n
Login.c(90): delete diff.changed[field];\n
Login.c(90): });\n
Login.c(90): return diff;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = changes;\n
Login.c(90): \n
Login.c(90): },{}],69:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.compute(' + resourceName + ', instance): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _compute(fn, field) {\n
Login.c(90): var _this = this;\n
Login.c(90): var args = [];\n
Login.c(90): angular.forEach(fn.deps, function (dep) {\n
Login.c(90): args.push(_this[dep]);\n
Login.c(90): });\n
Login.c(90): // compute property\n
Login.c(90): this[field] = fn[fn.length - 1].apply(this, args);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:compute\n
Login.c(90): * @name compute\n
Login.c(90): * @description\n
Login.c(90): * Force the given instance or the item with the given primary key
to recompute its comput
Login.c(90): ed properties.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.compute(resourceName, instance)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var User = DS.defineResource({\n
Login.c(90): * name: 'user',\n
Login.c(90): * computed: {\n
Login.c(90): * fullName: ['first', 'last', function (first, last) {\n
Login.c(90): * return first + ' ' + last;\n
Login.c(90): * }]\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * var user = User.createInstance({ first: 'John', last:
'Doe' });\n
Login.c(90): * user.fullName; // undefined\n
Login.c(90): *\n
Login.c(90): * User.compute(user);\n
Login.c(90): *\n
Login.c(90): * user.fullName; // "John Doe"\n
Login.c(90): *\n
Login.c(90): * var user2 = User.inject({ id: 2, first: 'Jane', last:
'Doe' });\n
Login.c(90): * user2.fullName; // undefined\n
Login.c(90): *\n
Login.c(90): * User.compute(1);\n
Login.c(90): *\n
Login.c(90): * user2.fullName; // "Jane Doe"\n
Login.c(90): *\n
Login.c(90): * // if you don't pass useClass: false then you can do:\n
Login.c(90): * var user3 = User.createInstance({ first: 'Sally', last:
'Doe' });\n
Login.c(90): * user3.fullName; // undefined\n
Login.c(90): * user3.DSCompute();\n
Login.c(90): * user3.fullName; // "Sally Doe"\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object|string|number} instance Instance or primary key
of the instance (must be
Login.c(90): in the store) for which to recompute properties.\n
Login.c(90): * @returns {Object} The instance.\n
Login.c(90): */\n
Login.c(90): function compute(resourceName, instance) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): instance = DS.utils.resolveItem(DS.store[resourceName],
instance);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(instance) && !
DS.utils.isString(instance) && !DS.utils.isN
Login.c(90): umber(instance)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'instance: Must be an
object, string or numbe
Login.c(90): r!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (DS.utils.isString(instance) || DS.utils.isNumber(instance))
{\n
Login.c(90): instance = DS.get(resourceName, instance);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.computed, function (fn, field) {\n
Login.c(90): _compute.call(instance, fn, field);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): return instance;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = {\n
Login.c(90): compute: compute,\n
Login.c(90): _compute: _compute\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },{}],70:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.createInstance(' + resourceName + '[, attrs][,
options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:createInstance\n
Login.c(90): * @name createInstance\n
Login.c(90): * @description\n
Login.c(90): * Return a new instance of the specified resource.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.createInstance(resourceName[, attrs][, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var User = DS.defineResource({\n
Login.c(90): * name: 'user',\n
Login.c(90): * methods: {\n
Login.c(90): * say: function () {\n
Login.c(90): * return 'hi';\n
Login.c(90): * }\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): *\n
Login.c(90): * var user = User.createInstance();\n
Login.c(90): * var user2 = DS.createInstance('user');\n
Login.c(90): *\n
Login.c(90): * user instanceof User[User.class]; // true\n
Login.c(90): * user2 instanceof User[User.class]; // true\n
Login.c(90): *\n
Login.c(90): * user.say(); // hi\n
Login.c(90): * user2.say(); // hi\n
Login.c(90): *\n
Login.c(90): * var user3 = User.createInstance({ name: 'John' }, { useClass:
false });\n
Login.c(90): * var user4 = DS.createInstance('user', { name: 'John' },
{ useClass: false });\n
Login.c(90): *\n
Login.c(90): * user3; // { name: 'John' }\n
Login.c(90): * user3 instanceof User[User.class]; // false\n
Login.c(90): *\n
Login.c(90): * user4; // { name: 'John' }\n
Login.c(90): * user4 instanceof User[User.class]; // false\n
Login.c(90): *\n
Login.c(90): * user3.say(); // TypeError: undefined is not a function\n
Login.c(90): * user4.say(); // TypeError: undefined is not a function\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} attrs Optional attributes to mix in to the new
instance.\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): *\n
Login.c(90): * @returns {object} The new instance.\n
Login.c(90): */\n
Login.c(90): function createInstance(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): attrs = attrs || {};\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (attrs && !DS.utils.isObject(attrs)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'attrs: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('useClass' in options)) {\n
Login.c(90): options.useClass = definition.useClass;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var item;\n
Login.c(90): \n
Login.c(90): if (options.useClass) {\n
Login.c(90): var Func = definition[definition.class];\n
Login.c(90): item = new Func();\n
Login.c(90): } else {\n
Login.c(90): item = {};\n
Login.c(90): }\n
Login.c(90): return DS.utils.deepMixIn(item, attrs);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = createInstance;\n
Login.c(90): \n
Login.c(90): },{}],71:[function(require,module,exports){\n
Login.c(90): /*jshint evil:true*/\n
Login.c(90): var errorPrefix = 'DS.defineResource(definition): ';\n
Login.c(90): \n
Login.c(90): function Resource(utils, options) {\n
Login.c(90): \n
Login.c(90): utils.deepMixIn(this, options);\n
Login.c(90): \n
Login.c(90): if ('endpoint' in options) {\n
Login.c(90): this.endpoint = options.endpoint;\n
Login.c(90): } else {\n
Login.c(90): this.endpoint = this.name;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var methodsToProxy = [\n
Login.c(90): 'bindAll',\n
Login.c(90): 'bindOne',\n
Login.c(90): 'changes',\n
Login.c(90): 'changeHistory',\n
Login.c(90): 'create',\n
Login.c(90): 'createInstance',\n
Login.c(90): 'destroy',\n
Login.c(90): 'destroyAll',\n
Login.c(90): 'eject',\n
Login.c(90): 'ejectAll',\n
Login.c(90): 'filter',\n
Login.c(90): 'find',\n
Login.c(90): 'findAll',\n
Login.c(90): 'get',\n
Login.c(90): 'hasChanges',\n
Login.c(90): 'inject',\n
Login.c(90): 'lastModified',\n
Login.c(90): 'lastSaved',\n
Login.c(90): 'link',\n
Login.c(90): 'linkAll',\n
Login.c(90): 'linkInverse',\n
Login.c(90): 'loadRelations',\n
Login.c(90): 'previous',\n
Login.c(90): 'refresh',\n
Login.c(90): 'save',\n
Login.c(90): 'update',\n
Login.c(90): 'updateAll'\n
Login.c(90): ];\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:defineResource\n
Login.c(90): * @name defineResource\n
Login.c(90): * @description\n
Login.c(90): * Define a resource and register it with the data store.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.defineResource(definition)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.defineResource({\n
Login.c(90): * name: 'document',\n
Login.c(90): * idAttribute: '_id',\n
Login.c(90): * endpoint: '/documents\n
Login.c(90): * baseUrl: 'http://myapp.com/api',\n
Login.c(90): * beforeDestroy: function (resourceName attrs, cb) {\n
Login.c(90): * console.log('looks good to me');\n
Login.c(90): * cb(null, attrs);\n
Login.c(90): * }\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): *\n
Login.c(90): * @param {string|object} definition Name of resource or resource
definition object: Prope
Login.c(90): rties:\n
Login.c(90): *\n
Login.c(90): * - `{string}` - `name` - The name by which this resource will be
identified.\n
Login.c(90): * - `{string="id"}` - `idAttribute` - The attribute that
specifies the primary key for th
Login.c(90): is resource.\n
Login.c(90): * - `{string=}` - `endpoint` - The attribute that specifies the
primary key for this reso
Login.c(90): urce. Default is the value of `name`.\n
Login.c(90): * - `{string=}` - `baseUrl` - The url relative to which all AJAX
requests will be made.\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to use a wrapper class
created from the ProperCas
Login.c(90): e name of the resource. The wrapper will always be used for
resources that have `methods`
Login.c(90): defined.\n
Login.c(90): * - `{boolean=}` - `keepChangeHistory` - Whether to keep a
history of changes for items i
Login.c(90): n the data store. Default: `false`.\n
Login.c(90): * - `{boolean=}` - `resetHistoryOnInject` - Whether to reset the
history of changes for i
Login.c(90): tems when they are injected of re-injected into the data store.
This will also reset an it
Login.c(90): em's previous attributes. Default: `true`.\n
Login.c(90): * - `{function=}` - `defaultFilter` - Override the filtering used
internally by `DS.filte
Login.c(90): r` with you own function here.\n
Login.c(90): * - `{*=}` - `meta` - A property reserved for developer use. This
will never be used by t
Login.c(90): he API.\n
Login.c(90): * - `{object=}` - `methods` - If provided, items of this resource
will be wrapped in a co
Login.c(90): nstructor function that is\n
Login.c(90): * empty save for the attributes in this option which will be
mixed in to the constructor
Login.c(90): function prototype. Enabling\n
Login.c(90): * this feature for this resource will incur a slight performance
penalty, but allows you
Login.c(90): to give custom behavior to what\n
Login.c(90): * are now "instances" of this resource.\n
Login.c(90): * - `{function=}` - `beforeValidate` - Lifecycle hook. Overrides
global. Signature: `befo
Login.c(90): reValidate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `validate` - Lifecycle hook. Overrides
global. Signature: `validate(r
Login.c(90): esourceName, attrs, cb)`. Callback signature: `cb(err, attrs)`.\n
Login.c(90): * - `{function=}` - `afterValidate` - Lifecycle hook. Overrides
global. Signature: `after
Login.c(90): Validate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeCreate` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Create(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterCreate` - Lifecycle hook. Overrides
global. Signature: `afterCr
Login.c(90): eate(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeUpdate` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Update(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterUpdate` - Lifecycle hook. Overrides
global. Signature: `afterUp
Login.c(90): date(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeDestroy` - Lifecycle hook. Overrides
global. Signature: `befor
Login.c(90): eDestroy(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `afterDestroy` - Lifecycle hook. Overrides
global. Signature: `afterD
Login.c(90): estroy(resourceName, attrs, cb)`. Callback signature: `cb(err,
attrs)`.\n
Login.c(90): * - `{function=}` - `beforeInject` - Lifecycle hook. Overrides
global. Signature: `before
Login.c(90): Inject(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `afterInject` - Lifecycle hook. Overrides
global. Signature: `afterIn
Login.c(90): ject(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `serialize` - Serialization hook. Overrides
global. Signature: `seria
Login.c(90): lize(resourceName, attrs)`.\n
Login.c(90): * - `{function=}` - `deserialize` - Deserialization hook.
Overrides global. Signature: `d
Login.c(90): eserialize(resourceName, attrs)`.\n
Login.c(90): *\n
Login.c(90): * See [DSProvider.defaults](/documentation
Login.c(90): t=4163ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): /api/angular-data/DSProvider.properties:defaults).\n
Login.c(90): */\n
Login.c(90): function defineResource(definition) {\n
Login.c(90): var DS = this;\n
Login.c(90): var DSUtils = DS.utils;\n
Login.c(90): var definitions = DS.definitions;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): if (DSUtils.isString(definition)) {\n
Login.c(90): definition = definition.replace(/\\s/gi, '');\n
Login.c(90): definition = {\n
Login.c(90): name: definition\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): if (!DSUtils.isObject(definition)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition: Must be an
object!');\n
Login.c(90): } else if (!DSUtils.isString(definition.name)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.name: Must be a
string!');\n
Login.c(90): } else if (definition.idAttribute && !
DSUtils.isString(definition.idAttribute)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.idAttribute: Must be a
string!');\n
Login.c(90): } else if (definition.endpoint && !
DSUtils.isString(definition.endpoint)) {\n
Login.c(90): throw new IA(errorPrefix + 'definition.endpoint: Must be a
string!');\n
Login.c(90): } else if (DS.store[definition.name]) {\n
Login.c(90): throw new DS.errors.R(errorPrefix + definition.name + ' is
already registered!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): // Inherit from global defaults\n
Login.c(90): Resource.prototype = DS.defaults;\n
Login.c(90): definitions[definition.name] = new Resource(DSUtils,
definition);\n
Login.c(90): \n
Login.c(90): var def = definitions[definition.name];\n
Login.c(90): \n
Login.c(90): // Setup nested parent configuration\n
Login.c(90): if (def.relations) {\n
Login.c(90): def.relationList = [];\n
Login.c(90): def.relationFields = [];\n
Login.c(90): DSUtils.forEach(def.relations, function (relatedModels,
type) {\n
Login.c(90): DSUtils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (!DSUtils.isArray(defs)) {\n
Login.c(90): relatedModels[relationName] = [defs];\n
Login.c(90): }\n
Login.c(90): DSUtils.forEach(relatedModels[relationName], function
(d) {\n
Login.c(90): d.type = type;\n
Login.c(90): d.relation = relationName;\n
Login.c(90): d.name = def.name;\n
Login.c(90): def.relationList.push(d);\n
Login.c(90): def.relationFields.push(d.localField);\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): if (def.relations.belongsTo) {\n
Login.c(90): DSUtils.forEach(def.relations.belongsTo, function
(relatedModel, modelName) {\n
Login.c(90): DSUtils.forEach(relatedModel, function (relation) {\n
Login.c(90): if (relation.parent) {\n
Login.c(90): def.parent = modelName;\n
Login.c(90): def.parentKey = relation.localKey;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): DSUtils.deepFreeze(def.relations);\n
Login.c(90): DSUtils.deepFreeze(def.relationList);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): def.getEndpoint = function (attrs, options) {\n
Login.c(90): var parent = this.parent;\n
Login.c(90): var parentKey = this.parentKey;\n
Login.c(90): var item;\n
Login.c(90): var endpoint;\n
Login.c(90): var thisEndpoint = options.endpoint || this.endpoint;\n
Login.c(90): delete options.endpoint;\n
Login.c(90): options = options || {};\n
Login.c(90): options.params = options.params || {};\n
Login.c(90): if (parent && parentKey && definitions[parent] &&
options.params[parentKey] !== fals
Login.c(90): e) {\n
Login.c(90): if (DSUtils.isNumber(attrs) || DSUtils.isString(attrs))
{\n
Login.c(90): item = DS.get(this.name, attrs);\n
Login.c(90): }\n
Login.c(90): if (DSUtils.isObject(attrs) && parentKey in attrs) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), att
Login.c(90): rs[parentKey], thisEndpoint);\n
Login.c(90): } else if (item && parentKey in item) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), ite
Login.c(90): m[parentKey], thisEndpoint);\n
Login.c(90): } else if (options && options.params[parentKey]) {\n
Login.c(90): endpoint =
DSUtils.makePath(definitions[parent].getEndpoint(attrs, options), opt
Login.c(90): ions.params[parentKey], thisEndpoint);\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (options.params[parentKey] === false) {\n
Login.c(90): delete options.params[parentKey];\n
Login.c(90): }\n
Login.c(90): return endpoint || thisEndpoint;\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Remove this in v0.11.0 and make a breaking change notice\n
Login.c(90): // the the `filter` option has been renamed to
`defaultFilter`\n
Login.c(90): if (def.filter) {\n
Login.c(90): def.defaultFilter = def.filter;\n
Login.c(90): delete def.filter;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Setup the cache\n
Login.c(90): var cache = DS.cacheFactory('DS.' + def.name, {\n
Login.c(90): maxAge: def.maxAge || null,\n
Login.c(90): recycleFreq: def.recycleFreq || 1000,\n
Login.c(90): cacheFlushInterval: def.cacheFlushInterval || null,\n
Login.c(90): deleteOnExpire: def.deleteOnExpire || 'none',\n
Login.c(90): onExpire: function (id) {\n
Login.c(90): var item = DS.eject(def.name, id);\n
Login.c(90): if (DSUtils.isFunction(def.onExpire)) {\n
Login.c(90): def.onExpire(id, item);\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): capacity: Number.MAX_VALUE,\n
Login.c(90): storageMode: 'memory',\n
Login.c(90): storageImpl: null,\n
Login.c(90): disabled: false,\n
Login.c(90): storagePrefix: 'DS.' + def.name\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): // Create the wrapper class for the new resource\n
Login.c(90): def.class = DSUtils.pascalCase(definition.name);\n
Login.c(90): eval('function ' + def.class + '() {}');\n
Login.c(90): def[def.class] = eval(def.class);\n
Login.c(90): \n
Login.c(90): // Apply developer-defined methods\n
Login.c(90): if (def.methods) {\n
Login.c(90): DSUtils.deepMixIn(def[def.class].prototype, def.methods);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // Prepare for computed properties\n
Login.c(90): if (def.computed) {\n
Login.c(90): DSUtils.forEach(def.computed, function (fn, field) {\n
Login.c(90): if (angular.isFunction(fn)) {\n
Login.c(90): def.computed[field] = [fn];\n
Login.c(90): fn = def.computed[field];\n
Login.c(90): }\n
Login.c(90): if (def.methods && field in def.methods) {\n
Login.c(90): DS.$log.warn(errorPrefix + 'Computed property "' + field
+ '" conflicts with pre
Login.c(90): viously defined prototype method!');\n
Login.c(90): }\n
Login.c(90): var deps;\n
Login.c(90): if (fn.length === 1) {\n
Login.c(90): var match = fn[0].toString().match(/function.*?\\
(([\\s\\S]*?)\\)/);\n
Login.c(90): deps = match[1].split(',');\n
Login.c(90): def.computed[field] = deps.concat(fn);\n
Login.c(90): fn = def.computed[field];\n
Login.c(90): if (deps.length) {\n
Login.c(90): DS.$log.warn(errorPrefix + 'Use the computed property
array syntax for compati
Login.c(90): bility with minified code!');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): deps = fn.slice(0, fn.length - 1);\n
Login.c(90): angular.forEach(deps, function (val, index) {\n
Login.c(90): deps[index] = val.trim();\n
Login.c(90): });\n
Login.c(90): fn.deps = DSUtils.filter(deps, function (dep) {\n
Login.c(90): return !!dep;\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSCompute = function () {\n
Login.c(90): return DS.compute(def.name, this);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSUpdate = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(this[def.idAttribute]);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS.update.apply(DS, args);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): def[def.class].prototype.DSSave = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(this[def.idAttribute]);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS.save.apply(DS, args);\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Initialize store data for the new resource\n
Login.c(90): DS.store[def.name] = {\n
Login.c(90): collection: [],\n
Login.c(90): completedQueries: {},\n
Login.c(90): pendingQueries: {},\n
Login.c(90): index: cache,\n
Login.c(90): modified: {},\n
Login.c(90): saved: {},\n
Login.c(90): previousAttributes: {},\n
Login.c(90): observers: {},\n
Login.c(90): changeHistories: {},\n
Login.c(90): changeHistory: [],\n
Login.c(90): collectionModified: 0\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): // Proxy DS methods with shorthand ones\n
Login.c(90): angular.forEach(methodsToProxy, function (name) {\n
Login.c(90): if (name === 'bindOne' || name === 'bindAll') {\n
Login.c(90): def[name] = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.splice(2, 0, def.name);\n
Login.c(90): return DS[name].apply(DS, args);\n
Login.c(90): };\n
Login.c(90): } else {\n
Login.c(90): def[name] = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): args.unshift(def.name);\n
Login.c(90): return DS[name].apply(DS, args);\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): def.beforeValidate = DS.$q.promisify(def.beforeValidate);\n
Login.c(90): def.validate = DS.$q.promisify(def.validate);\n
Login.c(90): def.afterValidate = DS.$q.promisify(def.afterValidate);\n
Login.c(90): def.beforeCreate = DS.$q.promisify(def.beforeCreate);\n
Login.c(90): def.afterCreate = DS.$q.promisify(def.afterCreate);\n
Login.c(90): def.beforeUpdate = DS.$q.promisify(def.beforeUpdate);\n
Login.c(90): def.afterUpdate = DS.$q.promisify(def.afterUpdate);\n
Login.c(90): def.beforeDestroy = DS.$q.promisify(def.beforeDestroy);\n
Login.c(90): def.afterDestroy = DS.$q.promisify(def.afterDestroy);\n
Login.c(90): \n
Login.c(90): // Mix-in events\n
Login.c(90): DSUtils.Events(def);\n
Login.c(90): \n
Login.c(90): return def;\n
Login.c(90): } catch (err) {\n
Login.c(90): DS.$log.error(err);\n
Login.c(90): delete definitions[definition.name];\n
Login.c(90): delete DS.store[definition.name];\n
Login.c(90): throw err;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = defineResource;\n
Login.c(90): \n
Login.c(90): },{}],72:[function(require,module,exports){\n
Login.c(90): var observe = require('../../../lib/observe-js/observe-js');\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:digest\n
Login.c(90): * @name digest\n
Login.c(90): * @description\n
Login.c(90): * Trigger a digest loop that checks for changes and updates the
`lastModified` timestamp
Login.c(90): if an object has changed.\n
Login.c(90): * Anything $watching `DS.lastModified(...)` will detect the
updated timestamp and execute
Login.c(90): the callback function. If\n
Login.c(90): * your browser supports `Object.observe` then this function has
no effect.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.digest()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * Works like $scope.$apply()\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): */\n
Login.c(90): function digest() {\n
Login.c(90): if (!this.$rootScope.$$phase) {\n
Login.c(90): this.$rootScope.$apply(function () {\n
Login.c(90): observe.Platform.performMicrotaskCheckpoint();\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): observe.Platform.performMicrotaskCheckpoint();\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = digest;\n
Login.c(90): \n
Login.c(90): },{"../../../lib/observe-js/observe-js":1}],73:
[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.eject(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _eject(definition, resource, id, options) {\n
Login.c(90): var item;\n
Login.c(90): var DS = this;\n
Login.c(90): var found = false;\n
Login.c(90): for (var i = 0; i < resource.collection.length; i++) {\n
Login.c(90): if (resource.collection[i][definition.idAttribute] == id) {\n
Login.c(90): item = resource.collection[i];\n
Login.c(90): found = true;\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (found) {\n
Login.c(90): this.unlinkInverse(definition.name, id);\n
Login.c(90): resource.collection.splice(i, 1);\n
Login.c(90): resource.observers[id].close();\n
Login.c(90): delete resource.observers[id];\n
Login.c(90): \n
Login.c(90): resource.index.remove(id);\n
Login.c(90): delete resource.previousAttributes[id];\n
Login.c(90): delete resource.completedQueries[id];\n
Login.c(90): delete resource.pendingQueries[id];\n
Login.c(90): DS.utils.forEach(resource.changeHistories[id], function
(changeRecord) {\n
Login.c(90): DS.utils.remove(resource.changeHistory, changeRecord);\n
Login.c(90): });\n
Login.c(90): delete resource.changeHistories[id];\n
Login.c(90): delete resource.modified[id];\n
Login.c(90): delete resource.saved[id];\n
Login.c(90): resource.collectionModified =
this.utils.updateTimestamp(resource.collectionModified);
Login.c(90): \n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): this.emit(definition, 'eject', item);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:eject\n
Login.c(90): * @name eject\n
Login.c(90): * @description\n
Login.c(90): * Eject the item of the specified type that has the given primary
key from the data store
Login.c(90): . Ejection only removes items\n
Login.c(90): * from the data store and does not attempt to destroy items via
an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.eject(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): *\n
Login.c(90): * DS.eject('document', 45);\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $rootScope.$on('DS.eject', function ($event, resourceName,
ejected) {...});\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
eject.\n
Login.c(90): * @param {object=} options Optional configuration.\n
Login.c(90): * @returns {object} A reference to the item that was ejected from
the data store.\n
Login.c(90): */\n
Login.c(90): function eject(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var ejected;\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): ejected = _eject.call(DS, definition, resource, id,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): ejected = _eject.call(DS, definition, resource, id,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return ejected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = eject;\n
Login.c(90): \n
Login.c(90): },{}],74:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.ejectAll(' + resourceName + '[, params]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _ej
Login.c(90): t=4180ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): ectAll(definition, resource, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): var items = DS.filter(definition.name, params);\n
Login.c(90): var ids = DS.utils.toLookup(items, definition.idAttribute);\n
Login.c(90): \n
Login.c(90): angular.forEach(ids, function (item, id) {\n
Login.c(90): DS.eject(definition.name, id);\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): delete resource.completedQueries[queryHash];\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'eject', items);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return items;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:ejectAll\n
Login.c(90): * @name ejectAll\n
Login.c(90): * @description\n
Login.c(90): * Eject all matching items of the specified type from the data
store. Ejection only remov
Login.c(90): es items from the data store\n
Login.c(90): * and does not attempt to destroy items via an adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.ejectAll(resourceName[, params])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): *\n
Login.c(90): * DS.eject('document', 45);\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Eject all items of the specified type that match the criteria
from the data store.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' }
Login.c(90): ,\n
Login.c(90): * // { title: 'How to Eat', id: 46,
author: 'Sally Jane' } ]\n
Login.c(90): *\n
Login.c(90): * DS.ejectAll('document', { where: { author: 'Sally Jane' } });\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' } ]
Login.c(90): \n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Eject all items of the specified type from the data store.\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45,
author: 'John Anderson' }
Login.c(90): ,\n
Login.c(90): * // { title: 'How to Eat', id: 46,
author: 'Sally Jane' } ]\n
Login.c(90): *\n
Login.c(90): * DS.ejectAll('document');\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration.\n
Login.c(90): *\n
Login.c(90): * @returns {array} The items that were ejected from the data
store.\n
Login.c(90): */\n
Login.c(90): function ejectAll(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): params = params || {};\n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(params)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName) + 'params:
Must be an object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var ejected;\n
Login.c(90): \n
Login.c(90): if (DS.utils.isEmpty(params)) {\n
Login.c(90): resource.completedQueries = {};\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): ejected = _ejectAll.call(DS, definition, resource, params,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): ejected = _ejectAll.call(DS, definition, resource, params,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return ejected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = ejectAll;\n
Login.c(90): \n
Login.c(90): },{}],75:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.filter(' + resourceName + '[, params][, options]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:filter\n
Login.c(90): * @name filter\n
Login.c(90): * @description\n
Login.c(90): * Synchronously filter items in the data store of the type
specified by `resourceName`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter(resourceName[, params][, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * For many examples see the [tests for DS.filter]
(https://github.com/jmdobry/angular-data
Login.c(90): /blob/master/test/integration/datastore/sync
methods/filter.test.js).\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {object=} options Optional configuration. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `loadFromServer` - Send the query to server if
it has not been sent ye
Login.c(90): t. Default: `false`.\n
Login.c(90): * - `{boolean=}` - `allowSimpleWhere` - Treat top-level fields on
the `params` argument a
Login.c(90): s simple "where" equality clauses. Default: `true`.\n
Login.c(90): *\n
Login.c(90): * @returns {array} The filtered collection of items of the type
specified by `resourceNam
Login.c(90): e`.\n
Login.c(90): */\n
Login.c(90): function filter(resourceName, params, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (params && !DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): // Protect against null\n
Login.c(90): params = params || {};\n
Login.c(90): \n
Login.c(90): if ('allowSimpleWhere' in options) {\n
Login.c(90): options.allowSimpleWhere = !!options.allowSimpleWhere;\n
Login.c(90): } else {\n
Login.c(90): options.allowSimpleWhere = true;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var queryHash = DS.utils.toJson(params);\n
Login.c(90): \n
Login.c(90): if (!(queryHash in resource.completedQueries) &&
options.loadFromServer) {\n
Login.c(90): // This particular query has never been completed\n
Login.c(90): \n
Login.c(90): if (!resource.pendingQueries[queryHash]) {\n
Login.c(90): // This particular query has never even been started\n
Login.c(90): DS.findAll(resourceName, params, options);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return definition.defaultFilter.call(DS, resource.collection,
resourceName, params, opti
Login.c(90): ons);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = filter;\n
Login.c(90): \n
Login.c(90): },{}],76:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.get(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the resource with the given id. The data
store will forward the re
Login.c(90): quest to an adapter if\n
Login.c(90): * `loadFromServer` is `true` in the options hash.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.get(resourceName, id[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 5'); // { author: 'John Anderson', id: 5 }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item to
retrieve.\n
Login.c(90): * @param {object=} options Optional configuration. Also passed
along to `DS.find` if `loa
Login.c(90): dFromServer` is `true`. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `loadFromServer` - Send the query to server if
it has not been sent ye
Login.c(90): t. Default: `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {object} The item of the type specified by
`resourceName` with the primary key
Login.c(90): specified by `id`.\n
Login.c(90): */\n
Login.c(90): function get(resourceName, id, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'id: Must be a
string or a number!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName, id) + 'options: Must be
an object!');\n
Login.c(90): }\n
Login.c(90): // cache miss, request resource from server\n
Login.c(90): var item = DS.store[resourceName].index.get(id);\n
Login.c(90): if (!item && options.loadFromServer) {\n
Login.c(90): DS.find(resourceName, id, options).then(null, function (err)
{\n
Login.c(90): return DS.$q.reject(err);\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): return item;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = get;\n
Login.c(90): \n
Login.c(90): },{}],77:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.hasChanges(' + resourceName + ', ' + id + '): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function diffIsEmpty(utils, diff) {\n
Login.c(90): return !(utils.isEmpty(diff.added) &&\n
Login.c(90): utils.isEmpty(diff.removed) &&\n
Login.c(90): utils.isEmpty(diff.changed));\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:hasChanges\n
Login.c(90): * @name hasChanges\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return whether object of the item of the type
specified by `resourceName`
Login.c(90): that has the primary key\n
Login.c(90): * specified by `id` has changes.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.hasChanges(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You may have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.hasChanges('document', 5); // true\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item.\n
Login.c(90): * @returns {boolean} Whether the item of the type specified by
`resourceName` with the pr
Login.c(90): imary key specified by `id` has changes.\n
Login.c(90): */\n
Login.c(90): function hasChanges(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): if (DS.get(resourceName, id)) {\n
Login.c(90): return diffIsEmpty(DS.utils, DS.changes(resourceName, id));\n
Login.c(90): } else {\n
Login.c(90): return false;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = hasChanges;\n
Login.c(90): \n
Login.c(90): },{}],78:[function(require,module,exports){\n
Login.c(90): module.exports = {\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindOne\n
Login.c(90): * @name bindOne\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.bindOne](/documentation/api/api/DS.sync
methods:bindOne).\n
Login.c(90): */\n
Login.c(90): bindOne: require('./bindOne'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:bindAll\n
Login.c(90): * @name bindAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.bindAll](/documentation/api/api/DS.sync
methods:bindAll).\n
Login.c(90): */\n
Login.c(90): bindAll: require('./bindAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changes\n
Login.c(90): * @name changes\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.changes](/documentation/api/api/DS.sync
methods:changes).\n
Login.c(90): */\n
Login.c(90): changes: require('./changes'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:changeHistory\n
Login.c(90): * @name changeHistory\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.changeHistory](/documentation/api/api/DS.sync
methods:changeHistory).\n
Login.c(90): */\n
Login.c(90): changeHistory: require('./changeHistory'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:compute\n
Login.c(90): * @name compute\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.compute](/documentation/api/api/DS.sync
methods:compute).\n
Login.c(90): */\n
Login.c(90): compute: require('./compute').compute,\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:createInstance\n
Login.c(90): * @name createInstance\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.createInstance](/documentation/api/api/DS.sync
methods:createInstance).\n
Login.c(90): */\n
Login.c(90): createInstance: require('./createInstance'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:defineResource\n
Login.c(90): * @name defineResource\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.defineResource](/documentation/api/api/DS.sync
methods:defineResource).\n
Login.c(90): */\n
Login.c(90): defineResource: require('./defineResource'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:digest\n
Login.c(90): * @name digest\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.digest](/documentation/api/api/DS.sync
methods:digest).\n
Login.c(90): */\n
Login.c(90): digest: require('./digest'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:eject\n
Login.c(90): * @name eject\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.eject](/documentation/api/api/DS.sync
methods:eject).\n
Login.c(90): */\n
Login.c(90): eject: require('./eject'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:ejectAll\n
Login.c(90): * @name ejectAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.ejectAll](/documentation/api/api/DS.sync
methods:ejectAll).\n
Login.c(90): */\n
Login.c(90): ejectAll: require('./ejectAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:filter\n
Login.c(90): t=4209ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): * @name filter\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.filter](/documentation/api/api/DS.sync
methods:filter).\n
Login.c(90): */\n
Login.c(90): filter: require('./filter'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:get\n
Login.c(90): * @name get\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.get](/documentation/api/api/DS.sync methods:get).\n
Login.c(90): */\n
Login.c(90): get: require('./get'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:hasChanges\n
Login.c(90): * @name hasChanges\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.hasChanges](/documentation/api/api/DS.sync
methods:hasChanges).\n
Login.c(90): */\n
Login.c(90): hasChanges: require('./hasChanges'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:inject\n
Login.c(90): * @name inject\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.inject](/documentation/api/api/DS.sync
methods:inject).\n
Login.c(90): */\n
Login.c(90): inject: require('./inject'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastModified\n
Login.c(90): * @name lastModified\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.lastModified](/documentation/api/api/DS.sync
methods:lastModified).\n
Login.c(90): */\n
Login.c(90): lastModified: require('./lastModified'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastSaved\n
Login.c(90): * @name lastSaved\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.lastSaved](/documentation/api/api/DS.sync
methods:lastSaved).\n
Login.c(90): */\n
Login.c(90): lastSaved: require('./lastSaved'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:link\n
Login.c(90): * @name link\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.link](/documentation/api/api/DS.sync methods:link).\n
Login.c(90): */\n
Login.c(90): link: require('./link'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkAll\n
Login.c(90): * @name linkAll\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.linkAll](/documentation/api/api/DS.sync
methods:linkAll).\n
Login.c(90): */\n
Login.c(90): linkAll: require('./linkAll'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkInverse\n
Login.c(90): * @name linkInverse\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.linkInverse](/documentation/api/api/DS.sync
methods:linkInverse).\n
Login.c(90): */\n
Login.c(90): linkInverse: require('./linkInverse'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:previous\n
Login.c(90): * @name previous\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.previous](/documentation/api/api/DS.sync
methods:previous).\n
Login.c(90): */\n
Login.c(90): previous: require('./previous'),\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:unlinkInverse\n
Login.c(90): * @name unlinkInverse\n
Login.c(90): * @methodOf DS\n
Login.c(90): * @description\n
Login.c(90): * See [DS.unlinkInverse](/documentation/api/api/DS.sync
methods:unlinkInverse).\n
Login.c(90): */\n
Login.c(90): unlinkInverse: require('./unlinkInverse')\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): },
{"./bindAll":65,"./bindOne":66,"./changeHistory":67,"./changes":68,"./compute":69,"
./cre
Login.c(90):
ateInstance":70,"./defineResource":71,"./digest":72,"./eject":73,"./ejectAll":74,".
/filter
Login.c(90):
":75,"./get":76,"./hasChanges":77,"./inject":79,"./lastModified":80,"./lastSaved":8
1,"./li
Login.c(90):
nk":82,"./linkAll":83,"./linkInverse":84,"./previous":85,"./unlinkInverse":86}],79:
[functi
Login.c(90): on(require,module,exports){\n
Login.c(90): var observe = require('../../../lib/observe-js/observe-js');\n
Login.c(90): var _compute = require('./compute')._compute;\n
Login.c(90): \n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.inject(' + resourceName + ', attrs[, options]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _injectRelations(definition, injected, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): var relationDef = DS.definitions[relationName];\n
Login.c(90): if (relationDef && injected[def.localField]) {\n
Login.c(90): try {\n
Login.c(90): injected[def.localField] = DS.inject(relationName,
injected[def.localField], optio
Login.c(90): ns);\n
Login.c(90): } catch (err) {\n
Login.c(90): DS.$log.error(errorPrefix(definition.name) + 'Failed to
inject ' + def.type + ' re
Login.c(90): lation: "' + relationName + '"!', err);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _inject(definition, resource, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var $log = DS.$log;\n
Login.c(90): \n
Login.c(90): function _react(added, removed, changed, oldValueFn, firstTime)
{\n
Login.c(90): var target = this;\n
Login.c(90): var item;\n
Login.c(90): var innerId = (oldValueFn &&
oldValueFn(definition.idAttribute)) ? oldValueFn(definiti
Login.c(90): on.idAttribute) : target[definition.idAttribute];\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationFields, function (field)
{\n
Login.c(90): delete added[field];\n
Login.c(90): delete removed[field];\n
Login.c(90): delete changed[field];\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): if (!DS.utils.isEmpty(added) || !DS.utils.isEmpty(removed)
|| !DS.utils.isEmpty(change
Login.c(90): d) || firstTime) {\n
Login.c(90): item = DS.get(definition.name, innerId);\n
Login.c(90): resource.modified[innerId] =
DS.utils.updateTimestamp(resource.modified[innerId]);\n
Login.c(90): resource.collectionModified =
DS.utils.updateTimestamp(resource.collectionModified);
Login.c(90): \n
Login.c(90): if (definition.keepChangeHistory) {\n
Login.c(90): var changeRecord = {\n
Login.c(90): resourceName: definition.name,\n
Login.c(90): target: item,\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed,\n
Login.c(90): timestamp: resource.modified[innerId]\n
Login.c(90): };\n
Login.c(90): resource.changeHistories[innerId].push(changeRecord);\n
Login.c(90): resource.changeHistory.push(changeRecord);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.computed) {\n
Login.c(90): item = item || DS.get(definition.name, innerId);\n
Login.c(90): DS.utils.forEach(definition.computed, function (fn, field)
{\n
Login.c(90): var compute = false;\n
Login.c(90): // check if required fields changed\n
Login.c(90): angular.forEach(fn.deps, function (dep) {\n
Login.c(90): if (dep in added || dep in removed || dep in changed
|| !(field in item)) {\n
Login.c(90): compute = true;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): compute = compute || !fn.deps.length;\n
Login.c(90): if (compute) {\n
Login.c(90): _compute.call(item, fn, field);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.relations) {\n
Login.c(90): item = item || DS.get(definition.name, innerId);\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): if (item[def.localField] && (def.localKey in added ||
def.localKey in removed || d
Login.c(90): ef.localKey in changed)) {\n
Login.c(90): DS.link(definition.name, item[definition.idAttribute],
[def.relation]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (definition.idAttribute in changed) {\n
Login.c(90): $log.error('Doh! You just changed the primary key of an
object! ' +\n
Login.c(90): 'I don\\'t know how to handle this yet, so your data for
the "' + definition.name
Login.c(90): +\n
Login.c(90): '" resource is now in an undefined (probably broken)
state.');\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): var injected;\n
Login.c(90): if (DS.utils.isArray(attrs)) {\n
Login.c(90): injected = [];\n
Login.c(90): for (var i = 0; i < attrs.length; i++) {\n
Login.c(90): injected.push(_inject.call(DS, definition, resource,
attrs[i], options));\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): // check if "idAttribute" is a computed property\n
Login.c(90): var c = definition.computed;\n
Login.c(90): var idA = definition.idAttribute;\n
Login.c(90): if (c && c[idA]) {\n
Login.c(90): var args = [];\n
Login.c(90): angular.forEach(c[idA].deps, function (dep) {\n
Login.c(90): args.push(attrs[dep]);\n
Login.c(90): });\n
Login.c(90): attrs[idA] = c[idA][c[idA].length - 1].apply(attrs, args);\n
Login.c(90): }\n
Login.c(90): if (!(idA in attrs)) {\n
Login.c(90): var error = new DS.errors.R(errorPrefix(definition.name) +
'attrs: Must contain the
Login.c(90): property specified by `idAttribute`!');\n
Login.c(90): $log.error(error);\n
Login.c(90): throw error;\n
Login.c(90): } else {\n
Login.c(90): try {\n
Login.c(90): definition.beforeInject(definition.name, attrs);\n
Login.c(90): var id = attrs[idA];\n
Login.c(90): var item = DS.get(definition.name, id);\n
Login.c(90): \n
Login.c(90): if (!item) {\n
Login.c(90): if (options.useClass) {\n
Login.c(90): if (attrs instanceof definition[definition.class]) {\n
Login.c(90): item = attrs;\n
Login.c(90): } else {\n
Login.c(90): item = new definition[definition.class]();\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): item = {};\n
Login.c(90): }\n
Login.c(90): resource.previousAttributes[id] = {};\n
Login.c(90): \n
Login.c(90): DS.utils.deepMixIn(item, attrs);\n
Login.c(90): DS.utils.deepMixIn(resource.previousAttributes[id],
attrs);\n
Login.c(90): \n
Login.c(90): resource.collection.push(item);\n
Login.c(90): \n
Login.c(90): resource.changeHistories[id] = [];\n
Login.c(90): resource.observers[id] = new
observe.ObjectObserver(item);\n
Login.c(90): resource.observers[id].open(_react, item);\n
Login.c(90): resource.index.put(id, item);\n
Login.c(90): \n
Login.c(90): _react.call(item, {}, {}, {}, null, true);\n
Login.c(90): \n
Login.c(90): if (definition.relations) {\n
Login.c(90): _injectRelations.call(DS, definition, item,
options);\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): DS.utils.deepMixIn(item, attrs);\n
Login.c(90): if (definition.resetHistoryOnInject) {\n
Login.c(90): resource.previousAttributes[id] = {};\n
Login.c(90): DS.utils.deepMixIn(resource.previousAttributes[id],
attrs);\n
Login.c(90): if (resource.changeHistories[id].length) {\n
Login.c(90): DS.utils.forEach(resource.changeHistories[id],
function (changeRecord) {\n
Login.c(90): DS.utils.remove(resource.changeHistory,
changeRecord);\n
Login.c(90): });\n
Login.c(90): resource.changeHistories[id].splice(0,
resource.changeHistories[id].length);
Login.c(90): \n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): if (typeof resource.index.touch === 'function') {\n
Login.c(90): resource.index.touch(id);\n
Login.c(90): } else {\n
Login.c(90): resource.index.put(id, resource.index.get(id));\n
Login.c(90): }\n
Login.c(90): resource.observers[id].deliver();\n
Login.c(90): }\n
Login.c(90): resource.saved[id] =
DS.utils.updateTimestamp(resource.saved[id]);\n
Login.c(90): definition.afterInject(definition.name, item);\n
Login.c(90): injected = item;\n
Login.c(90): } catch (err) {\n
Login.c(90): $log.error(err);\n
Login.c(90): $log.error('inject failed!', definition.name, attrs);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _link(definition, injected, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): if (options.findBelongsTo && def.type === 'belongsTo' &&
injected[definition.idAttribu
Login.c(90): te]) {\n
Login.c(90): DS.link(definition.name, injected[definition.idAttribute],
[def.relation]);\n
Login.c(90): } else if ((options.findHasMany && def.type === 'hasMany') ||
(options.findHasOne && d
Login.c(90): ef.type === 'hasOne')) {\n
Login.c(90): DS.link(definition.name, injected[definition.idAttribute],
[def.relation]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:inject\n
Login.c(90): * @name inject\n
Login.c(90): * @description\n
Login.c(90): * Inject the given item into the data store as the specified
type. If `attrs` is an array
Login.c(90): , inject each item into the\n
Login.c(90): * data store. Injecting an item into the data store does not save
it to the server. Emits
Login.c(90): a `"DS.inject"` event.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.inject(resourceName, attrs[, options])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('document', 45); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.inject('document', { title: 'How to Cook', id: 45 });\n
Login.c(90): *\n
Login.c(90): * DS.get('document', 45); // { title: 'How to Cook', id: 45 }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Inject a collection into the data store:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('document'); // [ ]\n
Login.c(90): *\n
Login.c(90): * DS.inject('document', [ { title: 'How to Cook', id: 45 },
{ title: 'How to Eat', id: 46
Login.c(90): } ]);\n
Login.c(90): *\n
Login.c(90): * DS.filter('document'); // [ { title: 'How to Cook', id: 45 }, {
title: 'How to Eat', id
Login.c(90): : 46 } ]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * $rootScope.$on('DS.inject', function ($event, resourceName,
injected) {...});\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{RuntimeError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object|array} attrs The item or collection of items to
inject into the data sto
Login.c(90): re.\n
Login.c(90): * @param {object=} options The item or collection of items to
inject into the data store.
Login.c(90): Properties:\n
Login.c(90): *\n
Login.c(90): * - `{boolean=}` - `useClass` - Whether to wrap the injected item
with the resource's ins
Login.c(90): tance constructor.\n
Login.c(90): * - `{boolean=}` - `findBelongsTo` - Find and attach any existing
"belongsTo" relationshi
Login.c(90): ps to the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `findHasMany` - Find and attach any existing
"hasMany" relationships t
Login.c(90): o the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `findHasOne` - Find and attach any existing
"hasOne" relationships to
Login.c(90): the newly injected item. Potentially expensive if enabled.
Default: `false`.\n
Login.c(90): * - `{boolean=}` - `linkInverse` - Look in the data store for
relations of the injected i
Login.c(90): tem(s) and update their links to the injected. Potentially
expensive if enabled. Default:
Login.c(90): `false`.\n
Login.c(90): *\n
Login.c(90): * @returns {object|array} A reference to the item that was
injected into the data store o
Login.c(90): r an array of references to\n
Login.c(90): * the items that were injected into the data store.\n
Login.c(90): */\n
Login.c(90): function inject(resourceName, attrs, options) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): options = options || {};\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isObject(attrs) && !
DS.utils.isArray(attrs)) {\n
Login.c(90): throw new IA(errorPr
Login.c(90): t=4228ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): efix(resourceName) + 'attrs: Must be an object or an array!');\n
Login.c(90): } else if (!DS.utils.isObject(options)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'options: Must be an
object!');\n
Login.c(90): }\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): var injected;\n
Login.c(90): \n
Login.c(90): if (!('useClass' in options)) {\n
Login.c(90): options.useClass = definition.useClass;\n
Login.c(90): }\n
Login.c(90): if (!('notify' in options)) {\n
Login.c(90): options.notify = definition.notify;\n
Login.c(90): }\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): injected = _inject.call(DS, definition, resource, attrs,
options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): injected = _inject.call(DS, definition, resource, attrs,
options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.linkInverse) {\n
Login.c(90): if (DS.utils.isArray(injected) && injected.length) {\n
Login.c(90): DS.linkInverse(definition.name, injected[0]
[definition.idAttribute]);\n
Login.c(90): } else {\n
Login.c(90): DS.linkInverse(definition.name,
injected[definition.idAttribute]);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (DS.utils.isArray(injected)) {\n
Login.c(90): DS.utils.forEach(injected, function (injectedI) {\n
Login.c(90): _link.call(DS, definition, injectedI, options);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _link.call(DS, definition, injected, options);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (options.notify) {\n
Login.c(90): DS.emit(definition, 'inject', injected);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): return injected;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = inject;\n
Login.c(90): \n
Login.c(90): },{"../../../lib/observe-js/observe-js":1,"./compute":69}],80:
[function(require,module,exp
Login.c(90): orts){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.lastModified(' + resourceName + '[, ' + id + ']):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastModified\n
Login.c(90): * @name lastModified\n
Login.c(90): * @description\n
Login.c(90): * Return the timestamp of the last time either the collection for
`resourceName` or the i
Login.c(90): tem of type `resourceName`\n
Login.c(90): * with the given primary key was modified.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * DS.lastModified('document', 5); // 1234235825494\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number=} id The primary key of the item to
remove.\n
Login.c(90): * @returns {number} The timestamp of the last time either the
collection for `resourceNam
Login.c(90): e` or the item of type\n
Login.c(90): * `resourceName` with the given primary key was modified.\n
Login.c(90): */\n
Login.c(90): function lastModified(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (id && !DS.utils.isString(id) && !
DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): if (id) {\n
Login.c(90): if (!(id in resource.modified)) {\n
Login.c(90): resource.modified[id] = 0;\n
Login.c(90): }\n
Login.c(90): return resource.modified[id];\n
Login.c(90): }\n
Login.c(90): return resource.collectionModified;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lastModified;\n
Login.c(90): \n
Login.c(90): },{}],81:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.lastSaved(' + resourceName + '[, ' + id + ']): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:lastSaved\n
Login.c(90): * @name lastSaved\n
Login.c(90): * @description\n
Login.c(90): * Return the timestamp of the last time either the collection for
`resourceName` or the i
Login.c(90): tem of type `resourceName`\n
Login.c(90): * with the given primary key was saved via an async adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastSaved(resourceName[, id])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * DS.lastModified('document', 5); // undefined\n
Login.c(90): * DS.lastSaved('document', 5); // undefined\n
Login.c(90): *\n
Login.c(90): * DS.find('document', 5).then(function (document) {\n
Login.c(90): * DS.lastModified('document', 5); // 1234235825494\n
Login.c(90): * DS.lastSaved('document', 5); // 1234235825494\n
Login.c(90): *\n
Login.c(90): * document.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * // You may have to call $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.lastModified('document', 5); // 1234304985344 - something
different\n
Login.c(90): * DS.lastSaved('document', 5); // 1234235825494 - still the
same\n
Login.c(90): * });\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for which
to retrieve the lastSav
Login.c(90): ed timestamp.\n
Login.c(90): * @returns {number} The timestamp of the last time the item of
type `resourceName` with t
Login.c(90): he given primary key was saved.\n
Login.c(90): */\n
Login.c(90): function lastSaved(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): var resource = DS.store[resourceName];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): if (!(id in resource.saved)) {\n
Login.c(90): resource.saved[id] = 0;\n
Login.c(90): }\n
Login.c(90): return resource.saved[id];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = lastSaved;\n
Login.c(90): \n
Login.c(90): },{}],82:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.link(' + resourceName + ', id[, relations]): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _link(definition, linked, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
relationName)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): var params = {};\n
Login.c(90): if (def.type === 'belongsTo') {\n
Login.c(90): var parent = linked[def.localKey] ? DS.get(relationName,
linked[def.localKey]) : nul
Login.c(90): l;\n
Login.c(90): if (parent) {\n
Login.c(90): linked[def.localField] = parent;\n
Login.c(90): }\n
Login.c(90): } else if (def.type === 'hasMany') {\n
Login.c(90): params[def.foreignKey] = linked[definition.idAttribute];\n
Login.c(90): linked[def.localField] =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS
Login.c(90): .store[relationName].collection, relationName, params,
{ allowSimpleWhere: true });\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): params[def.foreignKey] = linked[definition.idAttribute];\n
Login.c(90): var children =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS.store[rel
Login.c(90): ationName].collection, relationName, params, { allowSimpleWhere:
true });\n
Login.c(90): if (children.length) {\n
Login.c(90): linked[def.localField] = children[0];\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:link\n
Login.c(90): * @name link\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and link them to the item.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.link(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `user` has `hasMany` relationships to `post` and
`comment`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1 }\n
Login.c(90): *\n
Login.c(90): * // link posts\n
Login.c(90): * DS.link('user', 1, ['post']);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1, posts: [...] }\n
Login.c(90): *\n
Login.c(90): * // link all relations\n
Login.c(90): * DS.link('user', 1);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { name: 'John', id: 1, posts: [...],
comments: [...] }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for to
link relations.\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function link(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _link.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _link.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = link;\n
Login.c(90): \n
Login.c(90): },{}],83:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.linkAll(' + resourceName + '[, params][, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _linkAll(definition, linked, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(definition.relationList, function (def) {\n
Login.c(90): var relationName = def.relation;\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
relationName)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (def.type === 'belongsTo') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var parent = injectedItem[def.localKey] ?
DS.get(relationName, injectedItem[def.lo
Login.c(90): calKey]) : null;\n
Login.c(90): if (parent) {\n
Login.c(90): injectedItem[def.localField] = parent;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): } else if (def.type === 'hasMany') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
injectedItem[definition.idAttribute];\n
Login.c(90): injectedItem[def.localField] =
DS.defaults.constructor.prototype.defaultFilter.cal
Login.c(90): l(DS, DS.store[relationName].collection, relationName, params,
{ allowSimpleWhere: true })
Login.c(90): ;\n
Login.c(90): });\n
Login.c(90): } else if (def.type === 'hasOne') {\n
Login.c(90): DS.utils.forEach(linked, function (injectedItem) {\n
Login.c(90): var params = {};\n
Login.c(90): params[def.foreignKey] =
injectedItem[definition.idAttribute];\n
Login.c(90): var children =
DS.defaults.constructor.prototype.defaultFilter.call(DS, DS.store[r
Login.c(90): elationName].collection, relationName, params, { allowSimpleWhere:
true });\n
Login.c(90): if (children.length) {\n
Login.c(90): injectedItem[def.localField] = children[0];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkAll\n
Login.c(90): * @name linkAll\n
Login.c(90): * @description\n
Login.c(90): * Find relations of a collection of items that are already in the
data store and link the
Login.c(90): m to the items.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.linkAll(resourceName[, params][, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `user` has `hasMany` relationships to `post` and
`comment`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1 }, { name:
'Sally', id: 2 }]\n
Login.c(90): *\n
Login.c(90): * // link posts\n
Login.c(90): * DS.linkAll('user', {\n
Login.c(90): * name: : 'John'\n
Login.c(90): * }, ['post']);\n
Login.c(90): *\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1, posts: [...] }, {
name: 'Sally', id: 2 }]
Login.c(90): \n
Login.c(90): *\n
Login.c(90): * // link all relations\n
Login.c(90): * DS.linkAll('user', { name: : 'John' });\n
Login.c(90): *\n
Login.c(90): * DS.filter('user'); // [{ name: 'John', id: 1, posts: [...],
comments: [...] }, { name:
Login.c(90): 'Sally', id: 2 }]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {object=} params Parameter object that is used to filter
items. Properties:\n
Login.c(90): *\n
Login.c(90): * - `{object=}` - `where` - Where clause.\n
Login.c(90): * - `{number=}` - `limit` - Limit clause.\n
Login.c(90): * - `{number=}` - `skip` - Skip clause.\n
Login.c(90): * - `{number=}` - `offset` - Same as skip.\n
Login.c(90): * - `{string|array=}` - `orderBy` - OrderBy clause.\n
Login.c(90): *\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function linkAll(resourceName, params, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (params && !DS.utils.isObject(params)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'params: Must be an
object!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.filter(resourceName, params);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _linkAll.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _linkAll.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = linkAll;\n
Login.c(90): \n
Login.c(90): },{}],84:[function(requi
Login.c(90): t=4245ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): re,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.linkInverse(' + resourceName + ', id[, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _linkInverse(definition, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(DS.definitions, function (d) {\n
Login.c(90): DS.utils.forEach(d.relations, function (relatedModels) {\n
Login.c(90): DS.utils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (relations.length && !DS.utils.contains(relations,
d.name)) {\n
Login.c(90): return;\n
Login.c(90): }\n
Login.c(90): if (definition.name === relationName) {\n
Login.c(90): DS.linkAll(d.name, {}, [definition.name]);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:linkInverse\n
Login.c(90): * @name linkInverse\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and link this item to those\n
Login.c(90): * relations. This creates links in the opposite direction of
`DS.link`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.linkInverse(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `organization` has `hasMany` relationship to `user` and
`post` has a `belongsTo`
Login.c(90): relationship to `user`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('user', 1); // { organizationId: 5, id: 1 }\n
Login.c(90): * DS.get('organization', 5); // { id: 5 }\n
Login.c(90): * DS.filter('post', { userId: 1 }); // [ { id: 23, userId: 1 }, {
id: 44, userId: 1 }]\n
Login.c(90): *\n
Login.c(90): * // link user to its relations\n
Login.c(90): * DS.linkInverse('user', 1, ['organization']);\n
Login.c(90): *\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): *\n
Login.c(90): * // link user to all of its all relations\n
Login.c(90): * DS.linkInverse('user', 1);\n
Login.c(90): *\n
Login.c(90): * DS.get('user', 1); // { organizationId: 5, id: 1 }\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): * DS.filter('post', { userId: 1 }); // [ { id: 23, userId: 1,
user: {...} }, { id: 44, us
Login.c(90): erId: 1, user: {...} }]\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for to
link relations.\n
Login.c(90): * @param {array=} relations The relations to be linked. If not
provided then all relation
Login.c(90): s will be linked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item with its linked
relations.\n
Login.c(90): */\n
Login.c(90): function linkInverse(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _linkInverse.call(DS, definition, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _linkInverse.call(DS, definition, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = linkInverse;\n
Login.c(90): \n
Login.c(90): },{}],85:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName, id) {\n
Login.c(90): return 'DS.previous(' + resourceName + '[, ' + id + ']): ';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:previous\n
Login.c(90): * @name previous\n
Login.c(90): * @description\n
Login.c(90): * Synchronously return the previous attributes of the item of the
type specified by `reso
Login.c(90): urceName` that has the primary key\n
Login.c(90): * specified by `id`. This object represents the state of the item
the last time it was sa
Login.c(90): ved via an async adapter.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.previous(resourceName, id)\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Example:\n
Login.c(90): *\n
Login.c(90): * ```js\n
Login.c(90): * var d = DS.get('document', 5); // { author: 'John Anderson',
id: 5 }\n
Login.c(90): *\n
Login.c(90): * d.author = 'Sally';\n
Login.c(90): *\n
Login.c(90): * d; // { author: 'Sally', id: 5 }\n
Login.c(90): *\n
Login.c(90): * // You may have to do $scope.$apply() first\n
Login.c(90): *\n
Login.c(90): * DS.previous('document', 5); // { author: 'John Anderson', id: 5
}\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item whose
previous attributes are to
Login.c(90): be retrieved.\n
Login.c(90): * @returns {object} The previous attributes of the item of the
type specified by `resourc
Login.c(90): eName` with the primary key specified by `id`.\n
Login.c(90): */\n
Login.c(90): function previous(resourceName, id) {\n
Login.c(90): var DS = this;\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(DS.definitions[resourceName], id);\n
Login.c(90): if (!DS.definitions[resourceName]) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName, id) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new DS.errors.IA(errorPrefix(resourceName, id) + 'id:
Must be a string or a numb
Login.c(90): er!');\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): // return resource from cache\n
Login.c(90): return
angular.copy(DS.store[resourceName].previousAttributes[id]);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = previous;\n
Login.c(90): \n
Login.c(90): },{}],86:[function(require,module,exports){\n
Login.c(90): function errorPrefix(resourceName) {\n
Login.c(90): return 'DS.unlinkInverse(' + resourceName + ', id[, relations]):
';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): function _unlinkInverse(definition, linked) {\n
Login.c(90): var DS = this;\n
Login.c(90): DS.utils.forEach(DS.definitions, function (d) {\n
Login.c(90): DS.utils.forEach(d.relations, function (relatedModels) {\n
Login.c(90): DS.utils.forEach(relatedModels, function (defs,
relationName) {\n
Login.c(90): if (definition.name === relationName) {\n
Login.c(90): DS.utils.forEach(defs, function (def) {\n
Login.c(90): DS.utils.forEach(DS.store[def.name].collection,
function (item) {\n
Login.c(90): if (def.type === 'hasMany' && item[def.localField])
{\n
Login.c(90): var index;\n
Login.c(90): DS.utils.forEach(item[def.localField], function
(subItem, i) {\n
Login.c(90): if (subItem === linked) {\n
Login.c(90): index = i;\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): if (index !== undefined) {\n
Login.c(90): item[def.localField].splice(index, 1);\n
Login.c(90): }\n
Login.c(90): } else if (item[def.localField] === linked) {\n
Login.c(90): delete item[def.localField];\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): });\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc method\n
Login.c(90): * @id DS.sync methods:unlinkInverse\n
Login.c(90): * @name unlinkInverse\n
Login.c(90): * @description\n
Login.c(90): * Find relations of the item with the given primary key that are
already in the data stor
Login.c(90): e and _unlink_ this item from those\n
Login.c(90): * relations. This unlinks links that would be created by
`DS.linkInverse`.\n
Login.c(90): *\n
Login.c(90): * ## Signature:\n
Login.c(90): * ```js\n
Login.c(90): * DS.unlinkInverse(resourceName, id[, relations])\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Examples:\n
Login.c(90): *\n
Login.c(90): * Assume `organization` has `hasMany` relationship to `user` and
`post` has a `belongsTo`
Login.c(90): relationship to `user`.\n
Login.c(90): * ```js\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users:
[{ organizationId: 5, id: 1 }] }\n
Login.c(90): *\n
Login.c(90): * // unlink user 1 from its relations\n
Login.c(90): * DS.unlinkInverse('user', 1, ['organization']);\n
Login.c(90): *\n
Login.c(90): * DS.get('organization', 5); // { id: 5, users: [] }\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * ## Throws\n
Login.c(90): *\n
Login.c(90): * - `{IllegalArgumentError}`\n
Login.c(90): * - `{NonexistentResourceError}`\n
Login.c(90): *\n
Login.c(90): * @param {string} resourceName The resource type, e.g. 'user',
'comment', etc.\n
Login.c(90): * @param {string|number} id The primary key of the item for which
to unlink relations.\n
Login.c(90): * @param {array=} relations The relations to be unlinked. If not
provided then all relati
Login.c(90): ons will be unlinked. Default: `[]`.\n
Login.c(90): * @returns {object|array} A reference to the item that has been
unlinked.\n
Login.c(90): */\n
Login.c(90): function unlinkInverse(resourceName, id, relations) {\n
Login.c(90): var DS = this;\n
Login.c(90): var IA = DS.errors.IA;\n
Login.c(90): var definition = DS.definitions[resourceName];\n
Login.c(90): \n
Login.c(90): relations = relations || [];\n
Login.c(90): \n
Login.c(90): id = DS.utils.resolveId(definition, id);\n
Login.c(90): if (!definition) {\n
Login.c(90): throw new DS.errors.NER(errorPrefix(resourceName) +
resourceName);\n
Login.c(90): } else if (!DS.utils.isString(id) && !DS.utils.isNumber(id)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'id: Must be a string
or a number!');\n
Login.c(90): } else if (!DS.utils.isArray(relations)) {\n
Login.c(90): throw new IA(errorPrefix(resourceName) + 'relations: Must be
an array!');\n
Login.c(90): }\n
Login.c(90): var linked = DS.get(resourceName, id);\n
Login.c(90): \n
Login.c(90): if (linked) {\n
Login.c(90): if (!DS.$rootScope.$$phase) {\n
Login.c(90): DS.$rootScope.$apply(function () {\n
Login.c(90): _unlinkInverse.call(DS, definition, linked, relations);\n
Login.c(90): });\n
Login.c(90): } else {\n
Login.c(90): _unlinkInverse.call(DS, definition, linked, relations);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return linked;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = unlinkInverse;\n
Login.c(90): \n
Login.c(90): },{}],87:[function(require,module,exports){\n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:IllegalArgumentError\n
Login.c(90): * @name IllegalArgumentError\n
Login.c(90): * @description Error that is thrown/returned when a caller does
not honor the pre-conditi
Login.c(90): ons of a method/function.\n
Login.c(90): * @param {string=} message Error message. Default: `"Illegal
Argument!"`.\n
Login.c(90): * @returns {IllegalArgumentError} A new instance of
`IllegalArgumentError`.\n
Login.c(90): */\n
Login.c(90): function IllegalArgumentError(message) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:IllegalArgumentError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:IllegalArgumentError\n
Login.c(90): * @description Name of error type. Default:
`"IllegalArgumentError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:IllegalArgumentError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:IllegalArgumentError\n
Login.c(90): * @description Error message. Default: `"Illegal Argument!"`.\n
Login.c(90): */\n
Login.c(90): this.message = message || 'Illegal Argument!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): IllegalArgumentError.prototype = Object.create(Error.prototype);\n
Login.c(90): IllegalArgumentError.prototype.constructor =
IllegalArgumentError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:RuntimeError\n
Login.c(90): * @name RuntimeError\n
Login.c(90): * @description Error that is thrown/returned for invalid state
during runtime.\n
Login.c(90): * @param {string=} message Error message. Default: `"Runtime
Error!"`.\n
Login.c(90): * @returns {RuntimeError} A new instance of `RuntimeError`.\n
Login.c(90): */\n
Login.c(90): function RuntimeError(message) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:RuntimeError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:RuntimeError\n
Login.c(90): * @description Name of error type. Default: `"RuntimeError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:RuntimeError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:RuntimeError\n
Login.c(90): * @description Error message. Default: `"Runtime Error!"`.\n
Login.c(90): */\n
Login.c(90): this.message = message || 'RuntimeError Error!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): RuntimeError.prototype = Object.create(Error.prototype);\n
Login.c(90): RuntimeError.prototype.constructor = RuntimeError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc function\n
Login.c(90): * @id errors.types:NonexistentResourceError\n
Login.c(90): * @name NonexistentResourceError\n
Login.c(90): * @description Error that is thrown/returned when trying to
access a resource that does n
Login.c(90): ot exist.\n
Login.c(90): * @param {string=} resourceName Name of non-existent resource.\n
Login.c(90): * @returns {NonexistentResourceError} A new instance of
`NonexistentResourceError`.\n
Login.c(90): */\n
Login.c(90): function NonexistentResourceError(resourceName) {\n
Login.c(90): Error.call(this);\n
Login.c(90): if (typeof Error.captureStackTrace === 'function') {\n
Login.c(90): Error.captureStackTrace(this, this.constructor);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:NonexistentResourceError.type\n
Login.c(90): * @name type\n
Login.c(90): * @propertyOf errors.types:NonexistentResourceError\n
Login.c(90): * @description Name of error type. Default:
`"NonexistentResourceError"`.\n
Login.c(90): */\n
Login.c(90): this.type = this.constructor.name;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc property\n
Login.c(90): * @id errors.types:NonexistentResourceError.message\n
Login.c(90): * @name message\n
Login.c(90): * @propertyOf errors.types:NonexistentResourceError\n
Login.c(90): * @description Error message. Default: `"Runtime Error!"`.\n
Login.c(90): */\n
Login.c(90): this.message = (resourceName || '') + ' is not a registered
resource!';\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): NonexistentResourceError.prototype =
Object.create(Error.prototype);\n
Login.c(90): NonexistentResourceError.prototype.constructor =
NonexistentResourceError;\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc interface\n
Login.c(90): * @id errors\n
Login.c(90): * @name angular-data error types\n
Login.c(90): * @description\n
Login.c(90): * Various error types that may be thrown by angular-data.\n
Login.c(90): *\n
Login.c(90): * - [IllegalArgumentError]
(/documentation/api/api/errors.types:IllegalArgumentError)\n
Login.c(90): * - [RuntimeError]
(/documentation/api/api/errors.types:RuntimeError)\n
Login.c(90): * - [NonexistentResourceError]
(/documentation/api/api/errors.types:NonexistentResourceErr
Login.c(90): or)\n
Login.c(90): *\n
Login.c(90): * References to the constructor functions of the
Login.c(90): t=4262ms: 8132-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/angular-data/dist/angular-data.js"
(RelFrameId=, Internal ID=18)
Login.c(90): se errors can be found in `DS.errors`.\n
Login.c(90): */\n
Login.c(90): module.exports = [function () {\n
Login.c(90): return {\n
Login.c(90): IllegalArgumentError: IllegalArgumentError,\n
Login.c(90): IA: IllegalArgumentError,\n
Login.c(90): RuntimeError: RuntimeError,\n
Login.c(90): R: RuntimeError,\n
Login.c(90): NonexistentResourceError: NonexistentResourceError,\n
Login.c(90): NER: NonexistentResourceError\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): },{}],88:[function(require,module,exports){\n
Login.c(90): (function (window, angular, undefined) {\n
Login.c(90): 'use strict';\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * @doc overview\n
Login.c(90): * @id angular-data\n
Login.c(90): * @name angular-data\n
Login.c(90): * @description\n
Login.c(90): * __Version:__ 1.0.0-rc.1\n
Login.c(90): *\n
Login.c(90): * ## Install\n
Login.c(90): *\n
Login.c(90): * #### Bower\n
Login.c(90): * ```text\n
Login.c(90): * bower install angular-data\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-data.js` or `dist/angular-data.min.js`
onto your web page after An
Login.c(90): gular.js.\n
Login.c(90): *\n
Login.c(90): * #### Npm\n
Login.c(90): * ```text\n
Login.c(90): * npm install angular-data\n
Login.c(90): * ```\n
Login.c(90): *\n
Login.c(90): * Load `dist/angular-data.js` or `dist/angular-data.min.js`
onto your web page after An
Login.c(90): gular.js.\n
Login.c(90): *\n
Login.c(90): * #### Manual download\n
Login.c(90): * Download angular-data from the [Releases]
(https://github.com/jmdobry/angular-data/rel
Login.c(90): eases)\n
Login.c(90): * section of the angular-data GitHub project.\n
Login.c(90): *\n
Login.c(90): * ## Load into Angular\n
Login.c(90): * Your Angular app must depend on the module `"angular-
data.DS"` in order to use angula
Login.c(90): r-data. Loading\n
Login.c(90): * angular-data into your app allows you to inject the
following:\n
Login.c(90): *\n
Login.c(90): * - `DS`\n
Login.c(90): * - `DSHttpAdapter`\n
Login.c(90): * - `DSUtils`\n
Login.c(90): * - `DSErrors`\n
Login.c(90): *\n
Login.c(90): * [DS](/documentation/api/api/DS) is the Data Store itself,
which you will inject often
Login.c(90): .\n
Login.c(90): * [DSHttpAdapter](/documentation/api/api/DSHttpAdapter) is
useful as a wrapper for `$ht
Login.c(90): tp` and is configurable.\n
Login.c(90): * [DSUtils](/documentation/api/api/DSUtils) has some useful
utility methods.\n
Login.c(90): * [DSErrors](/documentation/api/api/DSErrors) provides
references to the various errors
Login.c(90): thrown by the data store.\n
Login.c(90): */\n
Login.c(90): angular.module('angular-data.DS', ['ng'])\n
Login.c(90): .factory('DSUtils', require('./utils'))\n
Login.c(90): .factory('DSErrors', require('./errors'))\n
Login.c(90): .provider('DSHttpAdapter', require('./adapters/http'))\n
Login.c(90): .provider('DSLocalStorageAdapter',
require('./adapters/localStorage'))\n
Login.c(90): .provider('DS', require('./datastore'))\n
Login.c(90): .config(['$provide', function ($provide) {\n
Login.c(90): $provide.decorator('$q', ['$delegate', function ($delegate)
{\n
Login.c(90): // do whatever you you want\n
Login.c(90): $delegate.promisify = function (fn, target) {\n
Login.c(90): if (!fn) {\n
Login.c(90): return;\n
Login.c(90): } else if (typeof fn !== 'function') {\n
Login.c(90): throw new Error('Can only promisify functions!');\n
Login.c(90): }\n
Login.c(90): var $q = this;\n
Login.c(90): return function () {\n
Login.c(90): var deferred = $q.defer();\n
Login.c(90): var args = Array.prototype.slice.apply(arguments);\n
Login.c(90): \n
Login.c(90): args.push(function (err, result) {\n
Login.c(90): if (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): } else {\n
Login.c(90): deferred.resolve(result);\n
Login.c(90): }\n
Login.c(90): });\n
Login.c(90): \n
Login.c(90): try {\n
Login.c(90): var promise = fn.apply(target || this, args);\n
Login.c(90): if (promise && promise.then) {\n
Login.c(90): promise.then(deferred.resolve, deferred.reject);\n
Login.c(90): }\n
Login.c(90): } catch (err) {\n
Login.c(90): deferred.reject(err);\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return deferred.promise;\n
Login.c(90): };\n
Login.c(90): };\n
Login.c(90): return $delegate;\n
Login.c(90): }]);\n
Login.c(90): }]);\n
Login.c(90): \n
Login.c(90): })(window, window.angular);\n
Login.c(90): \n
Login.c(90): },
{"./adapters/http":51,"./adapters/localStorage":52,"./datastore":64,"./errors":87,"
./uti
Login.c(90): ls":89}],89:[function(require,module,exports){\n
Login.c(90): function Events(target) {\n
Login.c(90): var events = {};\n
Login.c(90): target = target || this;\n
Login.c(90): /**\n
Login.c(90): * On: listen to events\n
Login.c(90): */\n
Login.c(90): target.on = function (type, func, ctx) {\n
Login.c(90): events[type] = events[type] || [];\n
Login.c(90): events[type].push({\n
Login.c(90): f: func,\n
Login.c(90): c: ctx\n
Login.c(90): });\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): /**\n
Login.c(90): * Off: stop listening to event / specific callback\n
Login.c(90): */\n
Login.c(90): target.off = function (type, func) {\n
Login.c(90): var listeners = events[type];\n
Login.c(90): if (!listeners) {\n
Login.c(90): events = {};\n
Login.c(90): } else if (func) {\n
Login.c(90): for (var i = 0; i < listeners.length; i++) {\n
Login.c(90): if (listeners[i] === func) {\n
Login.c(90): listeners.splice(i, 1);\n
Login.c(90): break;\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): } else {\n
Login.c(90): listeners.splice(0, listeners.length);\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): \n
Login.c(90): target.emit = function () {\n
Login.c(90): var args = Array.prototype.slice.call(arguments);\n
Login.c(90): var listeners = events[args.shift()] || [];\n
Login.c(90): if (listeners) {\n
Login.c(90): for (var i = 0; i < listeners.length; i++) {\n
Login.c(90): listeners[i].f.apply(listeners[i].c, args);\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): };\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): module.exports = [function () {\n
Login.c(90): return {\n
Login.c(90): isBoolean: require('mout/lang/isBoolean'),\n
Login.c(90): isString: angular.isString,\n
Login.c(90): isArray: angular.isArray,\n
Login.c(90): isObject: angular.isObject,\n
Login.c(90): isNumber: angular.isNumber,\n
Login.c(90): isFunction: angular.isFunction,\n
Login.c(90): isEmpty: require('mout/lang/isEmpty'),\n
Login.c(90): toJson: angular.toJson,\n
Login.c(90): fromJson: angular.fromJson,\n
Login.c(90): makePath: require('mout/string/makePath'),\n
Login.c(90): upperCase: require('mout/string/upperCase'),\n
Login.c(90): pascalCase: require('mout/string/pascalCase'),\n
Login.c(90): deepMixIn: require('mout/object/deepMixIn'),\n
Login.c(90): forEach: angular.forEach,\n
Login.c(90): pick: require('mout/object/pick'),\n
Login.c(90): set: require('mout/object/set'),\n
Login.c(90): merge: require('mout/object/merge'),\n
Login.c(90): contains: require('mout/array/contains'),\n
Login.c(90): filter: require('mout/array/filter'),\n
Login.c(90): toLookup: require('mout/array/toLookup'),\n
Login.c(90): remove: require('mout/array/remove'),\n
Login.c(90): slice: require('mout/array/slice'),\n
Login.c(90): sort: require('mout/array/sort'),\n
Login.c(90): guid: require('mout/random/guid'),\n
Login.c(90): keys: require('mout/object/keys'),\n
Login.c(90): resolveItem: function (resource, idOrInstance) {\n
Login.c(90): if (resource && (this.isString(idOrInstance) ||
this.isNumber(idOrInstance))) {\n
Login.c(90): return resource.index[idOrInstance] || idOrInstance;\n
Login.c(90): } else {\n
Login.c(90): return idOrInstance;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): resolveId: function (definition, idOrInstance) {\n
Login.c(90): if (this.isString(idOrInstance) ||
this.isNumber(idOrInstance)) {\n
Login.c(90): return idOrInstance;\n
Login.c(90): } else if (idOrInstance && definition) {\n
Login.c(90): return idOrInstance[definition.idAttribute] ||
idOrInstance;\n
Login.c(90): } else {\n
Login.c(90): return idOrInstance;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): updateTimestamp: function (timestamp) {\n
Login.c(90): var newTimestamp = typeof Date.now === 'function' ?
Date.now() : new Date().getTime(
Login.c(90): );\n
Login.c(90): if (timestamp && newTimestamp <= timestamp) {\n
Login.c(90): return timestamp + 1;\n
Login.c(90): } else {\n
Login.c(90): return newTimestamp;\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): deepFreeze: function deepFreeze(o) {\n
Login.c(90): if (typeof Object.freeze === 'function') {\n
Login.c(90): var prop, propKey;\n
Login.c(90): Object.freeze(o); // First freeze the object.\n
Login.c(90): for (propKey in o) {\n
Login.c(90): prop = o[propKey];\n
Login.c(90): if (!o.hasOwnProperty(propKey) || typeof prop !==
'object' || Object.isFrozen(pr
Login.c(90): op)) {\n
Login.c(90): // If the object is on the prototype, not an object,
or is already frozen,\n
Login.c(90): // skip it. Note that this might leave an unfrozen
reference somewhere in the\n
Login.c(90): // object if there is an already frozen object
containing an unfrozen object.\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): deepFreeze(prop); // Recursively call deepFreeze.\n
Login.c(90): }\n
Login.c(90): }\n
Login.c(90): },\n
Login.c(90): diffObjectFromOldObject: function (object, oldObject) {\n
Login.c(90): var added = {};\n
Login.c(90): var removed = {};\n
Login.c(90): var changed = {};\n
Login.c(90): \n
Login.c(90): for (var prop in oldObject) {\n
Login.c(90): var newValue = object[prop];\n
Login.c(90): \n
Login.c(90): if (newValue !== undefined && newValue ===
oldObject[prop])\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): if (!(prop in object)) {\n
Login.c(90): removed[prop] = undefined;\n
Login.c(90): continue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): if (newValue !== oldObject[prop])\n
Login.c(90): changed[prop] = newValue;\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): for (var prop2 in object) {\n
Login.c(90): if (prop2 in oldObject)\n
Login.c(90): continue;\n
Login.c(90): \n
Login.c(90): added[prop2] = object[prop2];\n
Login.c(90): }\n
Login.c(90): \n
Login.c(90): return {\n
Login.c(90): added: added,\n
Login.c(90): removed: removed,\n
Login.c(90): changed: changed\n
Login.c(90): };\n
Login.c(90): },\n
Login.c(90): Events: Events\n
Login.c(90): };\n
Login.c(90): }];\n
Login.c(90): \n
Login.c(90): },
{"mout/array/contains":2,"mout/array/filter":3,"mout/array/remove":7,"mout/array/sl
ice":
Login.c(90):
8,"mout/array/sort":9,"mout/array/toLookup":10,"mout/lang/isBoolean":17,"mout/lang/
isEmpty
Login.c(90):
":18,"mout/object/deepMixIn":28,"mout/object/keys":32,"mout/object/merge":33,"mout/
object/
Login.c(90):
pick":36,"mout/object/set":37,"mout/random/guid":39,"mout/string/makePath":46,"mout
/string
Login.c(90): /pascalCase":47,"mout/string/upperCase":50}]},{},[88]);
Login.c(90): web_submit_form("login.do") highest severity level was "warning",
1621389 body bytes, 4709 header bytes, 258 chunking overhead bytes [MsgId:
MMSG-26387]
Login.c(96): web_add_auto_header("acess_token") started [MsgId: MMSG-26355]
Login.c(96): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(96): web_add_auto_header("acess_token") was successful [MsgId: MMSG-
26392]
Login.c(98): web_custom_request("check_token") started [MsgId: MMSG-26355]
Login.c(98): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(98): t=4524ms: 406-byte response headers for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): HTTP/1.1 401 Unauthorized\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): Cache-Control: no-store\r\n
Login.c(98): Pragma: no-cache\r\n
Login.c(98): WWW-Authenticate: Basic realm="UAA/client", error="unauthorized",
error_description="An Au
Login.c(98): thentication object was not found in the SecurityContext"\r\n
Login.c(98): Content-Type: application/json;charset=UTF-8\r\n
Login.c(98): Transfer-Encoding: chunked\r\n
Login.c(98): Content-Encoding: gzip\r\n
Login.c(98): Vary: Accept-Encoding\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): \r\n
Login.c(98): t=4525ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): a\r\n
Login.c(98): t=4525ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 5b\r\n
Login.c(98): t=4525ms: 2-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): t=4525ms: 101-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4525ms: 108-byte DECODED response body for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): {"error":"unauthorized","error_description":"An Authentication
object was not found in the
Login.c(98): SecurityContext"}
Login.c(98): t=4525ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): d\r\n
Login.c(98): t=4526ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 0\r\n
Login.c(98): \r\n
Login.c(98): t=4526ms: 13-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4665ms: 204-byte response headers for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): HTTP/1.1 200 OK\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): Content-Type: application/json;charset=UTF-8\r\n
Login.c(98): Transfer-Encoding: chunked\r\n
Login.c(98): Content-Encoding: gzip\r\n
Login.c(98): Vary: Accept-Encoding\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): \r\n
Login.c(98): t=4721ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): a\r\n
Login.c(98): t=4722ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): de\r\n
Login.c(98): t=4722ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): e\r\n
Login.c(98): t=4722ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): \r\n
Login.c(98): 0\r\n
Login.c(98): \r\n
Login.c(98): t=4722ms: 246-byte ENCODED response body received for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): t=4722ms: 350-byte DECODED response body for
"http://v5devtom.ep.com/uaa/check_token?
token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMx
ZTYiLCJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXN
zd29yZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNG
EtMDUzOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNya
W5pQHVzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtI
mJY6ao15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc" (RelFrameId=1, Internal ID=27)
Login.c(98): {"jti":"2b70137a-52ec-41a1-b9b0-de8a7fa1c1e6","sub":"47691e4a-
0538-48ff-9220-f07bd7b0ebd1"
Login.c(98): ,"scope":
["password.write"],"client_id":"app","cid":"app","user_id":"47691e4a-0538-48ff-92
Login.c(98): 20-
f07bd7b0ebd1","user_name":"XXXX","email":"XXXX@user.from.vpo.cf","iat":1420040504,"
ex
Login.c(98):
p":1420041104,"iss":"https://localhost:8443/uaa/oauth/token","aud":["password"]}
Login.c(98): Downloading resource "http://v5devtom.ep.com/license-service-nbcu-int-
2014-release/v1/license" (specified by argument number 11) [MsgId: MMSG-
26577]
Login.c(98): t=4731ms: 195-byte response headers for
"http://v5devtom.ep.com/license-service-nbcu-int-2014-release/v1/license"
(RelFrameId=, Internal ID=28)
Login.c(98): HTTP/1.1 400 Bad Request\r\n
Login.c(98): Server: Apache-Coyote/1.1\r\n
Login.c(98): X-Powered-By: EP Rest Platform\r\n
Login.c(98): Content-Type: application/json\r\n
Login.c(98): Content-Length: 30\r\n
Login.c(98): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(98): Connection: close\r\n
Login.c(98): \r\n
Login.c(98): t=4732ms: 30-byte response body for "http://v5devtom.ep.com/license-
service-nbcu-int-2014-release/v1/license" (RelFrameId=, Internal ID=28)
Login.c(98): Missing access token in header
Login.c(98): Warning -26631: HTTP Status-Code=400 (Bad Request) for
"http://v5devtom.ep.com/license-service-nbcu-int-2014-release/v1/license"
[MsgId: MWAR-26631]
Login.c(98): web_custom_request("check_token") highest severity level was
"warning", 390 body bytes, 805 header bytes, 42 chunking overhead bytes
[MsgId: MMSG-26387]
Login.c(112): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(112): Value is :
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiLC
JzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29yZ
C53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDUz
OC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQHV
zZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0cH
M6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6ao
15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc
Login.c(116): web_add_auto_header("acess_token") started [MsgId: MMSG-26355]
Login.c(116): Notify: Parameter Substitution: parameter "TOKEN" =
"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyYjcwMTM3YS01MmVjLTQxYTEtYjliMC1kZThhN2ZhMWMxZTYiL
CJzdWIiOiI0NzY5MWU0YS0wNTM4LTQ4ZmYtOTIyMC1mMDdiZDdiMGViZDEiLCJzY29wZSI6WyJwYXNzd29y
ZC53cml0ZSJdLCJjbGllbnRfaWQiOiJhcHAiLCJjaWQiOiJhcHAiLCJ1c2VyX2lkIjoiNDc2OTFlNGEtMDU
zOC00OGZmLTkyMjAtZjA3YmQ3YjBlYmQxIiwidXNlcl9uYW1lIjoic3JpbmkiLCJlbWFpbCI6InNyaW5pQH
VzZXIuZnJvbS52cG8uY2YiLCJpYXQiOjE0MjAwNDA1MDQsImV4cCI6MTQyMDA0MTEwNCwiaXNzIjoiaHR0c
HM6Ly9sb2NhbGhvc3Q6ODQ0My91YWEvb2F1dGgvdG9rZW4iLCJhdWQiOlsicGFzc3dvcmQiXX0.gtImJY6a
o15FWcZ0UYyp7Gs_f_57su1MgqioJaC7usc"
Login.c(116): web_add_auto_header("acess_token") was successful [MsgId:
MMSG-26392]
Login.c(118): web_url("layout") started [MsgId: MMSG-26355]
Login.c(118): t=4789ms: 203-byte response headers for
"http://v5devtom.ep.com/v5/ui/layout" (RelFrameId=1, Internal ID=29)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"4267-1419875080000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:44:40 GMT\r\n
Login.c(118): Content-Length: 4267\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:47 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4796ms: 4267-byte response body for
"http://v5devtom.ep.com/v5/ui/layout" (RelFrameId=1, Internal ID=29)
Login.c(118): <!doctype html>\r\n
Login.c(118): <html ng-app="app">\r\n
Login.c(118): <head>\r\n
Login.c(118): <title>Vista 5</title>\r\n
Login.c(118): <!-- General META -->\r\n
Login.c(118): <meta charset="utf-8">\r\n
Login.c(118): <meta http-equiv="Content-type"
content="text/html;charset=UTF-8">\r\n
Login.c(118): <meta http-equiv="X-UA-Compatible"
content="IE=edge,chrome=1">\r\n
Login.c(118): <meta name="viewport" content="width=device-width, initial-
scale=1, maximum-scale=1, u
Login.c(118): ser-scalable=no">\r\n
Login.c(118): <!-- Latest compiled and minified CSS -->\r\n
Login.c(118): <!-- jQuery (necessary for Bootstrap's JavaScript plugins)
--> \r\n
Login.c(118): <!-- bower -->\r\n
Login.c(118): <link rel="stylesheet"
href="vendor/bootstrap/dist/css/bootstrap.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/font-awesome/css/font-
awesome.css">\r\n
Login.c(118): <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-
awesome/4.2.0/css/font-awes
Login.c(118): ome.min.css">\r\n
Login.c(118): \r\n
Login.c(118): <link rel="stylesheet"
href="vendor/slickgrid/css/slick.grid.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/slickgrid/css/slick-
default-theme.css">\r\n
Login.c(118): <link rel="stylesheet"
href="vendor/slickgrid/css/slick.columnpicker.css">\r\n
Login.c(118): <link rel="stylesheet" href="vendor/slickgrid/css/jquery-
ui.css">\r\n
Login.c(118): \r\n
Login.c(118): <!-- css -->\r\n
Login.c(118): <link href="style.min.css" rel="stylesheet">\r\n
Login.c(118): <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements
and media queries -->\r\n
Login.c(118): <!-- WARNING: Respond.js doesn't work if you view the page
via file:// -->\r\n
Login.c(118): <!--[if lt IE 9]>\r\n
Login.c(118): <script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>\r
Login.c(118): \n
Login.c(118): <script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script
Login.c(118): >\r\n
Login.c(118): <![endif]--> \r\n
Login.c(118): </head>\r\n
Login.c(118): <body>\r\n
Login.c(118): \r\n
Login.c(118): <!-- <header class="navbar navbar-fixed-top"
role="navigation">\r\n
Login.c(118): <div class="container-fluid heading">\r\n
Login.c(118): <div id="logo" class="logo col-md-2">Vista
5</div>\r\n
Login.c(118): <div user-license-header="" class="userName col-md-2
col-md-offset-9"></div>\r
Login.c(118): \n
Login.c(118): </div>\r\n
Login.c(118): </header>\r\n
Login.c(118): \r\n
Login.c(118): <div class="container-fluid"> \r\n
Login.c(118): \r\n
Login.c(118): <div class="row content" ng-controller="ShellCtrl as
shell" data-ng-include="'layo
Login.c(118): ut/templates/shell.tpl.html'"></div> \r\n
Login.c(118): </div> -->\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): <div id="wraper">\r\n
Login.c(118): \r\n
Login.c(118): <div class="row content" ng-controller="ShellCtrl as
shell" data-ng-include="'
Login.c(118): layout/templates/shell.tpl.html'" ng-
show="shell.authenticated"></div> \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): <footer class="footer">\r\n
Login.c(118): <div class="copyright">\r\n
Login.c(118): Copyright 2014. Entertainment Partners, Inc.
\r\n
Login.c(118): </div>\r\n
Login.c(118): </footer>\r\n
Login.c(118): \r\n
Login.c(118): </div>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/jquery/dist/jquery.js"></script>\r\n
Login.c(118): <script
src="vendor/bootstrap/dist/js/bootstrap.js"></script>\r\n
Login.c(118): <!-- menu -->\r\n
Login.c(118): <script src="vendor/menu/metisMenu.min.js"></script>\r\n
Login.c(118): <script src="vendor/menu/sb-admin-2.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/angular/angular.js"></script>\r\n
Login.c(118): <script src="vendor/handlebars/handlebars-
v2.0.0.js"></script>\r\n
Login.c(118): <script src="vendor/angular-ui-router/release/angular-ui-
router.js"></script>\r\n
Login.c(118): <script src="vendor/angular-data/dist/angular-
data.js"></script>\r\n
Login.c(118): <script src="vendor/angular-cache/dist/angular-
cache.js"></script>\r\n
Login.c(118): <script src="vendor/angular-translate/angular-
translate.js"></script>\r\n
Login.c(118): <script src="vendor/angular-translate-loader-static-
files/angular-translate-loader-sta
Login.c(118): tic-files.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <script src="vendor/angular-ui-bootstrap/ui-bootstrap-tpls-
0.11.2.js"></script>\r\n
Login.c(118): <script src="vendor/angular-validation/angular-
validation.js"></script>\r\n
Login.c(118): <script src="vendor/angular-validation/angular-validation-
rule.js"></script>\r\n
Login.c(118): <script src="vendor/ngstorage/ngStorage.min.js"></script>\r\n
Login.c(118): <script src="vendor/angular-
oauth/angularOauth.js"></script>\r\n
Login.c(118): <!-- SlickGrid -->\r\n
Login.c(118): <script src="vendor/slickgrid/jquery-ui.js"></script>\r\n
Login.c(118): <script src="vendor/slickgrid/jquery.event.drag-
2.2.js"></script>\r\n
Login.c(118): <script src="slick_lib.js"></script>\r\n
Login.c(118): <script src="slick_custom.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <!-- UI Utils -->\r\n
Login.c(118): <script src="vendor/ui-utils-0.1.1/ui-utils.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): <!-- js -->\r\n
Login.c(118): <script src="global-templates.js"></script>\r\n
Login.c(118): <script src="ep-global-components.js"></script>\r\n
Login.c(118): <script src="templates.js"></script>\r\n
Login.c(118): <script src="config.js"></script>\r\n
Login.c(118): <script src="app.js"></script>\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): </body>\r\n
Login.c(118): </html>
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/css/bootstrap.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/font-
awesome/css/font-awesome.css" in HTML "http://v5devtom.ep.com/v5/ui/layout"
[MsgId: MMSG-26659]
Login.c(118): Found resource "http://maxcdn.bootstrapcdn.com/font-
awesome/4.2.0/css/font-awesome.min.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick.grid.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick.columnpicker.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/style.min.css" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/jquery/dist/jquery.js"
is in the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-
2.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular/angular.js" is
in the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
router/release/angular-ui-router.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
data/dist/angular-data.js" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
cache/dist/angular-cache.js" is in the cache already and will not be downloaded
again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
translate/angular-translate.js" is in the cache already and will not be downloaded
again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-translate-
loader-static-files/angular-translate-loader-static-files.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-ui-
bootstrap/ui-bootstrap-tpls-0.11.2.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
validation/angular-validation-rule.js" is in the cache already and will not be
downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource
"http://v5devtom.ep.com/v5/ui/vendor/ngstorage/ngStorage.min.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/vendor/angular-
oauth/angularOauth.js" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-
ui.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/slick_lib.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/slick_custom.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/vendor/ui-utils-
0.1.1/ui-utils.js" in HTML "http://v5devtom.ep.com/v5/ui/layout" [MsgId:
MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/global-templates.js" is in the
cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/ep-global-components.js" is in
the cache already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/templates.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Resource "http://v5devtom.ep.com/v5/ui/config.js" is in the cache
already and will not be downloaded again [MsgId: MMSG-26655]
Login.c(118): Found resource "http://v5devtom.ep.com/v5/ui/app.js" in HTML
"http://v5devtom.ep.com/v5/ui/layout" [MsgId: MMSG-26659]
Login.c(118): Downloading resource "http://v5devtom.ep.com/company-setup-service-
nbcu-int-2014-release/v1/leftnav" (specified by argument number 21) [MsgId:
MMSG-26577]
Login.c(118): Downloading resource "http://v5devtom.ep.com/license-service-nbcu-
int-2014-release/v1/license" (specified by argument number 23) [MsgId: MMSG-
26577]
Login.c(118): t=4830ms: 281-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"26651-1416253796000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:56 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4830ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): a\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4831ms: 1155-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): t=4831ms: 3650-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): /*!\n
Login.c(118): * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io -
@fontawesome\n
Login.c(118): * License - http://fontawesome.io/license (Font: SIL OFL 1.1,
CSS: MIT License)\n
Login.c(118): */\n
Login.c(118): /* FONT PATH\n
Login.c(118): * -------------------------- */\n
Login.c(118): @font-face {\n
Login.c(118): font-family: 'FontAwesome';\n
Login.c(118): src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');\n
Login.c(118): src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0')
format('embedded-opentype'),
Login.c(118): url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),
url('../fonts/fontawesom
Login.c(118): e-webfont.ttf?v=4.2.0') format('truetype'),
url('../fonts/fontawesome-webfont.svg?v=4.2.0#
Login.c(118): fontawesomeregular') format('svg');\n
Login.c(118): font-weight: normal;\n
Login.c(118): font-style: normal;\n
Login.c(118): }\n
Login.c(118): .fa {\n
Login.c(118): display: inline-block;\n
Login.c(118): font: normal normal normal 14px/1 FontAwesome;\n
Login.c(118): font-size: inherit;\n
Login.c(118): text-rendering: auto;\n
Login.c(118): -webkit-font-smoothing: antialiased;\n
Login.c(118): -moz-osx-font-smoothing: grayscale;\n
Login.c(118): }\n
Login.c(118): /* makes the font 33% larger relative to the icon container */\n
Login.c(118): .fa-lg {\n
Login.c(118): font-size: 1.33333333em;\n
Login.c(118): line-height: 0.75em;\n
Login.c(118): vertical-align: -15%;\n
Login.c(118): }\n
Login.c(118): .fa-2x {\n
Login.c(118): font-size: 2em;\n
Login.c(118): }\n
Login.c(118): .fa-3x {\n
Login.c(118): font-size: 3em;\n
Login.c(118): }\n
Login.c(118): .fa-4x {\n
Login.c(118): font-size: 4em;\n
Login.c(118): }\n
Login.c(118): .fa-5x {\n
Login.c(118): font-size: 5em;\n
Login.c(118): }\n
Login.c(118): .fa-fw {\n
Login.c(118): width: 1.28571429em;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-ul {\n
Login.c(118): padding-left: 0;\n
Login.c(118): margin-left: 2.14285714em;\n
Login.c(118): list-style-type: none;\n
Login.c(118): }\n
Login.c(118): .fa-ul > li {\n
Login.c(118): position: relative;\n
Login.c(118): }\n
Login.c(118): .fa-li {\n
Login.c(118): position: absolute;\n
Login.c(118): left: -2.14285714em;\n
Login.c(118): width: 2.14285714em;\n
Login.c(118): top: 0.14285714em;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-li.fa-lg {\n
Login.c(118): left: -1.85714286em;\n
Login.c(118): }\n
Login.c(118): .fa-border {\n
Login.c(118): padding: .2em .25em .15em;\n
Login.c(118): border: solid 0.08em #eeeeee;\n
Login.c(118): border-radius: .1em;\n
Login.c(118): }\n
Login.c(118): .pull-right {\n
Login.c(118): float: right;\n
Login.c(118): }\n
Login.c(118): .pull-left {\n
Login.c(118): float: left;\n
Login.c(118): }\n
Login.c(118): .fa.pull-left {\n
Login.c(118): margin-right: .3em;\n
Login.c(118): }\n
Login.c(118): .fa.pull-right {\n
Login.c(118): margin-left: .3em;\n
Login.c(118): }\n
Login.c(118): .fa-spin {\n
Login.c(118): -webkit-animation: fa-spin 2s infinite linear;\n
Login.c(118): animation: fa-spin 2s infinite linear;\n
Login.c(118): }\n
Login.c(118): @-webkit-keyframes fa-spin {\n
Login.c(118): 0% {\n
Login.c(118): -webkit-transform: rotate(0deg);\n
Login.c(118): transform: rotate(0deg);\n
Login.c(118): }\n
Login.c(118): 100% {\n
Login.c(118): -webkit-transform: rotate(359deg);\n
Login.c(118): transform: rotate(359deg);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): @keyframes fa-spin {\n
Login.c(118): 0% {\n
Login.c(118): -webkit-transform: rotate(0deg);\n
Login.c(118): transform: rotate(0deg);\n
Login.c(118): }\n
Login.c(118): 100% {\n
Login.c(118): -webkit-transform: rotate(359deg);\n
Login.c(118): transform: rotate(359deg);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): .fa-rotate-90 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n
Login.c(118): -webkit-transform: rotate(90deg);\n
Login.c(118): -ms-transform: rotate(90deg);\n
Login.c(118): transform: rotate(90deg);\n
Login.c(118): }\n
Login.c(118): .fa-rotate-180 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n
Login.c(118): -webkit-transform: rotate(180deg);\n
Login.c(118): -ms-transform: rotate(180deg);\n
Login.c(118): transform: rotate(180deg);\n
Login.c(118): }\n
Login.c(118): .fa-rotate-270 {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n
Login.c(118): -webkit-transform: rotate(270deg);\n
Login.c(118): -ms-transform: rotate(270deg);\n
Login.c(118): transform: rotate(270deg);\n
Login.c(118): }\n
Login.c(118): .fa-flip-horizontal {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n
Login.c(118): -webkit-transform: scale(-1, 1);\n
Login.c(118): -ms-transform: scale(-1, 1);\n
Login.c(118): transform: scale(-1, 1);\n
Login.c(118): }\n
Login.c(118): .fa-flip-vertical {\n
Login.c(118): filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n
Login.c(118): -webkit-transform: scale(1, -1);\n
Login.c(118): -ms-transform: scale(1, -1);\n
Login.c(118): transform: scale(1, -1);\n
Login.c(118): }\n
Login.c(118): :root .fa-rotate-90,\n
Login.c(118): :root .fa-rotate-180,\n
Login.c(118): :root .fa-rotate-270,\n
Login.c(118): :root .fa-flip-horizontal,\n
Login.c(118): :root .fa-flip-vertical {\n
Login.c(118): filter: none;\n
Login.c(118): }\n
Login.c(118): .fa-stack {\n
Login.c(118): position: relative;\n
Login.c(118): display: inline-block;\n
Login.c(118): width: 2em;\n
Login.c(118): height: 2em;\n
Login.c(118): line-height: 2em;\n
Login.c(118): vertical-align: middle;\n
Login.c(118): }\n
Login.c(118): .fa-stack-1x,\n
Login.c(118): .fa-stack-2x {\n
Login.c(118): position: absolute;\n
Login.c(118): left: 0;\n
Login.c(118): width: 100%;\n
Login.c(118): text-align: center;\n
Login.c(118): }\n
Login.c(118): .fa-stack-1x {\n
Login.c(118): line-height: inherit;\n
Login.c(118): }\n
Login.c(118): .fa-stack-2x {\n
Login.c(118): font-size: 2em;\n
Login.c(118): }\n
Login.c(118): .fa-inverse {\n
Login.c(118): color: #ffffff;\n
Login.c(118): }\n
Login.c(118): /* Font Awesome uses the Unicode P
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4838ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4839ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): d6\r\n
Login.c(118): t=4839ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4839ms: 4189-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): t=4840ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): rivate Use Area (PUA) to ensure screen\n
Login.c(118): readers do not read off random characters that represent icons
*/\n
Login.c(118): .fa-glass:before {\n
Login.c(118): content: "\\f000";\n
Login.c(118): }\n
Login.c(118): .fa-music:before {\n
Login.c(118): content: "\\f001";\n
Login.c(118): }\n
Login.c(118): .fa-search:before {\n
Login.c(118): content: "\\f002";\n
Login.c(118): }\n
Login.c(118): .fa-envelope-o:before {\n
Login.c(118): content: "\\f003";\n
Login.c(118): }\n
Login.c(118): .fa-heart:before {\n
Login.c(118): content: "\\f004";\n
Login.c(118): }\n
Login.c(118): .fa-star:before {\n
Login.c(118): content: "\\f005";\n
Login.c(118): }\n
Login.c(118): .fa-star-o:before {\n
Login.c(118): content: "\\f006";\n
Login.c(118): }\n
Login.c(118): .fa-user:before {\n
Login.c(118): content: "\\f007";\n
Login.c(118): }\n
Login.c(118): .fa-film:before {\n
Login.c(118): content: "\\f008";\n
Login.c(118): }\n
Login.c(118): .fa-th-large:before {\n
Login.c(118): content: "\\f009";\n
Login.c(118): }\n
Login.c(118): .fa-th:before {\n
Login.c(118): content: "\\f00a";\n
Login.c(118): }\n
Login.c(118): .fa-th-list:before {\n
Login.c(118): content: "\\f00b";\n
Login.c(118): }\n
Login.c(118): .fa-check:before {\n
Login.c(118): content: "\\f00c";\n
Login.c(118): }\n
Login.c(118): .fa-remove:before,\n
Login.c(118): .fa-close:before,\n
Login.c(118): .fa-times:before {\n
Login.c(118): content: "\\f00d";\n
Login.c(118): }\n
Login.c(118): .fa-search-plus:before {\n
Login.c(118): content: "\\f00e";\n
Login.c(118): }\n
Login.c(118): .fa-search-minus:before {\n
Login.c(118): content: "\\f010";\n
Login.c(118): }\n
Login.c(118): .fa-power-off:before {\n
Login.c(118): content: "\\f011";\n
Login.c(118): }\n
Login.c(118): .fa-signal:before {\n
Login.c(118): content: "\\f012";\n
Login.c(118): }\n
Login.c(118): .fa-gear:before,\n
Login.c(118): .fa-cog:before {\n
Login.c(118): content: "\\f013";\n
Login.c(118): }\n
Login.c(118): .fa-trash-o:before {\n
Login.c(118): content: "\\f014";\n
Login.c(118): }\n
Login.c(118): .fa-home:before {\n
Login.c(118): content: "\\f015";\n
Login.c(118): }\n
Login.c(118): .fa-file-o:before {\n
Login.c(118): content: "\\f016";\n
Login.c(118): }\n
Login.c(118): .fa-clock-o:before {\n
Login.c(118): content: "\\f017";\n
Login.c(118): }\n
Login.c(118): .fa-road:before {\n
Login.c(118): content: "\\f018";\n
Login.c(118): }\n
Login.c(118): .fa-download:before {\n
Login.c(118): content: "\\f019";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-down:before {\n
Login.c(118): content: "\\f01a";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-up:before {\n
Login.c(118): content: "\\f01b";\n
Login.c(118): }\n
Login.c(118): .fa-inbox:before {\n
Login.c(118): content: "\\f01c";\n
Login.c(118): }\n
Login.c(118): .fa-play-circle-o:before {\n
Login.c(118): content: "\\f01d";\n
Login.c(118): }\n
Login.c(118): .fa-rotate-right:before,\n
Login.c(118): .fa-repeat:before {\n
Login.c(118): content: "\\f01e";\n
Login.c(118): }\n
Login.c(118): .fa-refresh:before {\n
Login.c(118): content: "\\f021";\n
Login.c(118): }\n
Login.c(118): .fa-list-alt:before {\n
Login.c(118): content: "\\f022";\n
Login.c(118): }\n
Login.c(118): .fa-lock:before {\n
Login.c(118): content: "\\f023";\n
Login.c(118): }\n
Login.c(118): .fa-flag:before {\n
Login.c(118): content: "\\f024";\n
Login.c(118): }\n
Login.c(118): .fa-headphones:before {\n
Login.c(118): content: "\\f025";\n
Login.c(118): }\n
Login.c(118): .fa-volume-off:before {\n
Login.c(118): content: "\\f026";\n
Login.c(118): }\n
Login.c(118): .fa-volume-down:before {\n
Login.c(118): content: "\\f027";\n
Login.c(118): }\n
Login.c(118): .fa-volume-up:before {\n
Login.c(118): content: "\\f028";\n
Login.c(118): }\n
Login.c(118): .fa-qrcode:before {\n
Login.c(118): content: "\\f029";\n
Login.c(118): }\n
Login.c(118): .fa-barcode:before {\n
Login.c(118): content: "\\f02a";\n
Login.c(118): }\n
Login.c(118): .fa-tag:before {\n
Login.c(118): content: "\\f02b";\n
Login.c(118): }\n
Login.c(118): .fa-tags:before {\n
Login.c(118): content: "\\f02c";\n
Login.c(118): }\n
Login.c(118): .fa-book:before {\n
Login.c(118): content: "\\f02d";\n
Login.c(118): }\n
Login.c(118): .fa-bookmark:before {\n
Login.c(118): content: "\\f02e";\n
Login.c(118): }\n
Login.c(118): .fa-print:before {\n
Login.c(118): content: "\\f02f";\n
Login.c(118): }\n
Login.c(118): .fa-camera:before {\n
Login.c(118): content: "\\f030";\n
Login.c(118): }\n
Login.c(118): .fa-font:before {\n
Login.c(118): content: "\\f031";\n
Login.c(118): }\n
Login.c(118): .fa-bold:before {\n
Login.c(118): content: "\\f032";\n
Login.c(118): }\n
Login.c(118): .fa-italic:before {\n
Login.c(118): content: "\\f033";\n
Login.c(118): }\n
Login.c(118): .fa-text-height:before {\n
Login.c(118): content: "\\f034";\n
Login.c(118): }\n
Login.c(118): .fa-text-width:before {\n
Login.c(118): content: "\\f035";\n
Login.c(118): }\n
Login.c(118): .fa-align-left:before {\n
Login.c(118): content: "\\f036";\n
Login.c(118): }\n
Login.c(118): .fa-align-center:before {\n
Login.c(118): content: "\\f037";\n
Login.c(118): }\n
Login.c(118): .fa-align-right:before {\n
Login.c(118): content: "\\f038";\n
Login.c(118): }\n
Login.c(118): .fa-align-justify:before {\n
Login.c(118): content: "\\f039";\n
Login.c(118): }\n
Login.c(118): .fa-list:before {\n
Login.c(118): content: "\\f03a";\n
Login.c(118): }\n
Login.c(118): .fa-dedent:before,\n
Login.c(118): .fa-outdent:before {\n
Login.c(118): content: "\\f03b";\n
Login.c(118): }\n
Login.c(118): .fa-indent:before {\n
Login.c(118): content: "\\f03c";\n
Login.c(118): }\n
Login.c(118): .fa-video-camera:before {\n
Login.c(118): content: "\\f03d";\n
Login.c(118): }\n
Login.c(118): .fa-photo:before,\n
Login.c(118): .fa-image:before,\n
Login.c(118): .fa-picture-o:before {\n
Login.c(118): content: "\\f03e";\n
Login.c(118): }\n
Login.c(118): .fa-pencil:before {\n
Login.c(118): content: "\\f040";\n
Login.c(118): }\n
Login.c(118): .fa-map-marker:before {\n
Login.c(118): content: "\\f041";\n
Login.c(118): }\n
Login.c(118): .fa-adjust:before {\n
Login.c(118): content: "\\f042";\n
Login.c(118): }\n
Login.c(118): .fa-tint:before {\n
Login.c(118): content: "\\f043";\n
Login.c(118): }\n
Login.c(118): .fa-edit:before,\n
Login.c(118): .fa-pencil-square-o:before {\n
Login.c(118): content: "\\f044";\n
Login.c(118): }\n
Login.c(118): .fa-share-square-o:before {\n
Login.c(118): content: "\\f045";\n
Login.c(118): }\n
Login.c(118): .fa-check-square-o:before {\n
Login.c(118): content: "\\f046";\n
Login.c(118): }\n
Login.c(118): .fa-arrows:before {\n
Login.c(118): content: "\\f047";\n
Login.c(118): }\n
Login.c(118): .fa-step-backward:before {\n
Login.c(118): content: "\\f048";\n
Login.c(118): }\n
Login.c(118): .fa-fast-backward:before {\n
Login.c(118): content: "\\f049";\n
Login.c(118): }\n
Login.c(118): .fa-backward:before {\n
Login.c(118): content: "\\f04a";\n
Login.c(118): }\n
Login.c(118): .fa-play:before {\n
Login.c(118): content: "\\f04b";\n
Login.c(118): }\n
Login.c(118): .fa-pause:before {\n
Login.c(118): content: "\\f04c";\n
Login.c(118): }\n
Login.c(118): .fa-stop:before {\n
Login.c(118): content: "\\f04d";\n
Login.c(118): }\n
Login.c(118): .fa-forward:before {\n
Login.c(118): content: "\\f04e";\n
Login.c(118): }\n
Login.c(118): .fa-fast-forward:before {\n
Login.c(118): content: "\\f050";\n
Login.c(118): }\n
Login.c(118): .fa-step-forward:before {\n
Login.c(118): content: "\\f051";\n
Login.c(118): }\n
Login.c(118): .fa-eject:before {\n
Login.c(118): content: "\\f052";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-left:before {\n
Login.c(118): content: "\\f053";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-right:before {\n
Login.c(118): content: "\\f054";\n
Login.c(118): }\n
Login.c(118): .fa-plus-circle:before {\n
Login.c(118): content: "\\f055";\n
Login.c(118): }\n
Login.c(118): .fa-minus-circle:before {\n
Login.c(118): content: "\\f056";\n
Login.c(118): }\n
Login.c(118): .fa-times-circle:before {\n
Login.c(118): content: "\\f057";\n
Login.c(118): }\n
Login.c(118): .fa-check-circle:before {\n
Login.c(118): content: "\\f058";\n
Login.c(118): }\n
Login.c(118): .fa-question-circle:before {\n
Login.c(118): content: "\\f059";\n
Login.c(118): }\n
Login.c(118): .fa-info-circle:before {\n
Login.c(118): content: "\\f05a";\n
Login.c(118): }\n
Login.c(118): .fa-crosshairs:before {\n
Login.c(118): content: "\\f05b";\n
Login.c(118): }\n
Login.c(118): .fa-times-circle-o:before {\n
Login.c(118): content: "\\f05c";\n
Login.c(118): }\n
Login.c(118): .fa-check-circle-o:before {\n
Login.c(118): content: "\\f05d";\n
Login.c(118): }\n
Login.c(118): .fa-ban:before {\n
Login.c(118): content: "\\f05e";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-left:before {\n
Login.c(118): content: "\\f060";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-right:before {\n
Login.c(118): content: "\\f061";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-up:before {\n
Login.c(118): content: "\\f062";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-down:before {\n
Login.c(118): content: "\\f063";\n
Login.c(118): }\n
Login.c(118): .fa-mail-forward:before,\n
Login.c(118): .fa-share:before {\n
Login.c(118): content: "\\f064";\n
Login.c(118): }\n
Login.c(118): .fa-expand:before {\n
Login.c(118): content: "\\f065";\n
Login.c(118): }\n
Login.c(118): .fa-compress:before {\n
Login.c(118): content: "\\f066";\n
Login.c(118): }\n
Login.c(118): .fa-plus:before {\n
Login.c(118): content: "\\f067";\n
Login.c(118): }\n
Login.c(118): .fa-minus:before {\n
Login.c(118): content: "\\f068";\n
Login.c(118): }\n
Login.c(118): .fa-asterisk:before {\n
Login.c(118): content: "\\f069";\n
Login.c(118): }\n
Login.c(118): .fa-exclamation-circle:before {\n
Login.c(118): content: "\\f06a";\n
Login.c(118): }\n
Login.c(118): .fa-gift:before {\n
Login.c(118): content: "\\f06b";\n
Login.c(118): }\n
Login.c(118): .fa-leaf:before {\n
Login.c(118): content: "\\f06c";\n
Login.c(118): }\n
Login.c(118): .fa-fire:before {\n
Login.c(118): content: "\\f06d";\n
Login.c(118): }\n
Login.c(118): .fa-eye:before {\n
Login.c(118): content: "\\f06e";\n
Login.c(118): }\n
Login.c(118): .fa-eye-slash:before {\n
Login.c(118): content: "\\f070";\n
Login.c(118): }\n
Login.c(118): .fa-warning:before,\n
Login.c(118): .fa-exclamation-triangle:before {\n
Login.c(118): content: "\\f071";\n
Login.c(118): }\n
Login.c(118): .fa-plane:before {\n
Login.c(118): content: "\\f072";\n
Login.c(118): }\n
Login.c(118): .fa-calendar:before {\n
Login.c(118): content: "\\f073";\n
Login.c(118): }\n
Login.c(118): .fa-random:before {\n
Login.c(118): content: "\\f074";\n
Login.c(118): }\n
Login.c(118): .fa-comment:before {\n
Login.c(118): content: "\\f075";\n
Login.c(118): }\n
Login.c(118): .fa-magnet:before {\n
Login.c(118): content: "\\f076";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-up:before {\n
Login.c(118): content: "\\f077";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-down:before {\n
Login.c(118): content: "\\f078";\n
Login.c(118): }\n
Login.c(118): .fa-retweet:before {\n
Login.c(118): content: "\\f079";\n
Login.c(118): }\n
Login.c(118): .fa-shopping-cart:before {\n
Login.c(118): content: "\\f07a";\n
Login.c(118): }\n
Login.c(118): .fa-folder:before {\n
Login.c(118): content: "\\f07b";\n
Login.c(118): }\n
Login.c(118): .fa-folder-open:before {\n
Login.c(118): content: "\\f07c";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-v:before {\n
Login.c(118): content: "\\f07d";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-h:before {\n
Login.c(118): content: "\\f07e";\n
Login.c(118): }\n
Login.c(118): .fa-bar-chart-o:before,\n
Login.c(118): .fa-bar-chart:before {\n
Login.c(118): content: "\\f080";\n
Login.c(118): }\n
Login.c(118): .fa-twitter-square:before {\n
Login.c(118): content: "\\f081";\n
Login.c(118): }\n
Login.c(118): .fa-facebook-square:before {\n
Login.c(118): content: "\\f082";\n
Login.c(118): }\n
Login.c(118): .fa-camera-retro:before {\n
Login.c(118): content: "\\f083";\n
Login.c(118): }\n
Login.c(118): .fa-key:before {\n
Login.c(118): content: "\\f084";\n
Login.c(118): }\n
Login.c(118): .fa-gears:before,\n
Login.c(118): .fa-cogs:before {\n
Login.c(118): content: "\\f085";\n
Login.c(118): }\n
Login.c(118): .fa-comments:before {\n
Login.c(118): content: "\\f086";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-o-up:before {\n
Login.c(118): content: "\\f087";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-o-down:before {\n
Login.c(118): content: "\\f088";\n
Login.c(118): }\n
Login.c(118): .fa-star-half:before {\n
Login.c(118): content: "\\f089";\n
Login.c(118): }\n
Login.c(118): .fa-heart-o:before {\n
Login.c(118): content: "\\f08a";\n
Login.c(118): }\n
Login.c(118): .fa-sign-out:before {\n
Login.c(118): content: "\\f08b";\n
Login.c(118): }\n
Login.c(118): .fa-linkedin-square:before {\n
Login.c(118): content: "\\f08c";\n
Login.c(118): }\n
Login.c(118): .fa-thumb-tack:before {\n
Login.c(118): content: "\\f08d";\n
Login.c(118): }\n
Login.c(118): .fa-external-link:before {\n
Login.c(118): content: "\\f08e";\n
Login.c(118): }\n
Login.c(118): .fa-sign-in:before {\n
Login.c(118): content: "\\f090";\n
Login.c(118): }\n
Login.c(118): .fa-trophy:before {\n
Login.c(118): content: "\\f091";\n
Login.c(118): }\n
Login.c(118): .fa-github-square:before {\n
Login.c(118): content: "\\f092";\n
Login.c(118): }\n
Login.c(118): .fa-upload:before {\n
Login.c(118): content: "\\f093";\n
Login.c(118): }\n
Login.c(118): .fa-lemon-o:before {\n
Login.c(118): content: "\\f094";\n
Login.c(118): }\n
Login.c(118): .fa-phone:before {\n
Login.c(118): content: "\\f095";\n
Login.c(118): }\n
Login.c(118): .fa-square-o:before {\n
Login.c(118): content: "\\f096";\n
Login.c(118): }\n
Login.c(118): .fa-bookmark-o:before {\n
Login.c(118): content: "\\f097";\n
Login.c(118): }\n
Login.c(118): .fa-phone-square:before {\n
Login.c(118): content: "\\f098";\n
Login.c(118): }\n
Login.c(118): .fa-twitter:before {\n
Login.c(118): content: "\\f099";\n
Login.c(118): }\n
Login.c(118): .fa-facebook:before {\n
Login.c(118): content: "\\f09a";\n
Login.c(118): }\n
Login.c(118): .fa-github:before {\n
Login.c(118): content: "\\f09b";\n
Login.c(118): }\n
Login.c(118): .fa-unlock:before {\n
Login.c(118): content: "\\f09c";\n
Login.c(118): }\n
Login.c(118): .fa-credit-card:before {\n
Login.c(118): content: "\\f09d";\n
Login.c(118): }\n
Login.c(118): .fa-rss:before {\n
Login.c(118): content: "\\f09e";\n
Login.c(118): }\n
Login.c(118): .fa-hdd-o:before {\n
Login.c(118): content: "\\f0a0";\n
Login.c(118): }\n
Login.c(118): .fa-bullhorn:before {\n
Login.c(118): content: "\\f0a1";\n
Login.c(118): }\n
Login.c(118): .fa-bell:before {\n
Login.c(118): content: "\\f0f3";\n
Login.c(118): }\n
Login.c(118): .fa-certificate:before {\n
Login.c(118): content: "\\f0a3";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-right:before {\n
Login.c(118): content: "\\f0a4";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-left:before {\n
Login.c(118): content: "\\f0a5";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-up:before {\n
Login.c(118): content: "\\f0a6";\n
Login.c(118): }\n
Login.c(118): .fa-hand-o-down:before {\n
Login.c(118): content: "\\f0a7";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-left:before {\n
Login.c(118): content: "\\f0a8";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-right:before {\n
Login.c(118): content: "\\f0a9";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-up:before {\n
Login.c(118): content: "\\f0aa";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-down:before {\n
Login.c(118): content: "\\f0ab";\n
Login.c(118): }\n
Login.c(118): .fa-globe:before {\n
Login.c(118): content: "\\f0ac";\n
Login.c(118): }\n
Login.c(118): .fa-wrench:before {\n
Login.c(118): content: "\\f0ad";\n
Login.c(118): }\n
Login.c(118): .fa-tasks:before {\n
Login.c(118): content: "\\f0ae";\n
Login.c(118): }\n
Login.c(118): .fa-filter:before {\n
Login.c(118): content: "\\f0b0";\n
Login.c(118): }\n
Login.c(118): .fa-briefcase:before {\n
Login.c(118): content: "\\f0b1";\n
Login.c(118): }\n
Login.c(118): .fa-arrows-alt:before {\n
Login.c(118): content: "\\f0b2";\n
Login.c(118): }\n
Login.c(118): .fa-group:before,\n
Login.c(118): .fa-users:before {\n
Login.c(118): content: "\\f0c0";\n
Login.c(118): }\n
Login.c(118): .fa-chain:before,\n
Login.c(118): .fa-link:before {\n
Login.c(118): content: "\\f0c1";\n
Login.c(118): }\n
Login.c(118): .fa-cloud:before {\n
Login.c(118): content: "\\f0c2";\n
Login.c(118): }\n
Login.c(118): .fa-flask:before {\n
Login.c(118): content: "\\f0c3";\n
Login.c(118): }\n
Login.c(118): .fa-cut:before,\n
Login.c(118): .fa-scissors:before {\n
Login.c(118): content: "\\f0c4";\n
Login.c(118): }\n
Login.c(118): .fa-copy:before,\n
Login.c(118): .fa-files-o:before {\n
Login.c(118): content: "\\f0c5";\n
Login.c(118): }\n
Login.c(118): .fa-paperclip:before {\n
Login.c(118): content: "\\f0c6";\n
Login.c(118): }\n
Login.c(118): .fa-save:before,\n
Login.c(118): .fa-floppy-o:before {\n
Login.c(118): content: "\\f0c7";\n
Login.c(118): }\n
Login.c(118): .fa-square:before {\n
Login.c(118): content: "\\f0c8";\n
Login.c(118): }\n
Login.c(118): .fa-navicon:before,\n
Login.c(118): .fa-reorder:before,\n
Login.c(118): .fa-bars:before {\n
Login.c(118): content: "\\f0c9";\n
Login.c(118): }\n
Login.c(118): .fa-list-ul:before {\n
Login.c(118): content: "\\f0ca";\n
Login.c(118): }\n
Login.c(118): .fa-list-ol:before {\n
Login.c(118): content: "\\f0cb";\n
Login.c(118): }\n
Login.c(118): .fa-strikethrough:before {\n
Login.c(118): content: "\\f0cc";\n
Login.c(118): }\n
Login.c(118): .fa-underline:before {\n
Login.c(118): content: "\\f0cd";\n
Login.c(118): }\n
Login.c(118): .fa-table:before {\n
Login.c(118): content: "\\f0ce";\n
Login.c(118): }\n
Login.c(118): .fa-magic:before {\n
Login.c(118): content: "\\f0d0";\n
Login.c(118): }\n
Login.c(118): .fa-truck:before {\n
Login.c(118): content: "\\f0d1";\n
Login.c(118): }\n
Login.c(118): .fa-pinterest:before {\n
Login.c(118): content: "\\f0d2";\n
Login.c(118): }\n
Login.c(118): .fa-pinterest-square:before {\n
Login.c(118): content: "\\f0d3";\n
Login.c(118): }\n
Login.c(118): .fa-google-plus-square:before {\n
Login.c(118): content: "\\f0d4";\n
Login.c(118): }\n
Login.c(118): .fa-google-plus:before {\n
Login.c(118): content: "\\f0d5";\n
Login.c(118): }\n
Login.c(118): .fa-money:before {\n
Login.c(118): content: "\\f0d6";\n
Login.c(118): }\n
Login.c(118): .fa-caret-down:before {\n
Login.c(118): content: "\\f0d7";\n
Login.c(118): }\n
Login.c(118): .fa-caret-up:before {\n
Login.c(118): content: "\\f0d8";\n
Login.c(118): }\n
Login.c(118): .fa-caret-left:before {\n
Login.c(118): content: "\\f0d9";\n
Login.c(118): }\n
Login.c(118): .fa-caret-right:before {\n
Login.c(118): content: "\\f0da";\n
Login.c(118): }\n
Login.c(118): .fa-columns:before {\n
Login.c(118): content: "\\f0db";\n
Login.c(118): }\n
Login.c(118): .fa-unsorted:before,\n
Login.c(118): .fa-sort:before {\n
Login.c(118): content: "\\f0dc";\n
Login.c(118): }\n
Login.c(118): .fa-sort-down:before,\n
Login.c(118): .fa-sort-desc:before {\n
Login.c(118): content: "\\f0dd";\n
Login.c(118): }\n
Login.c(118): .fa-sort-up:before,\n
Login.c(118): .fa-sort-asc:before {\n
Login.c(118): content: "\\f0de";\n
Login.c(118): }\n
Login.c(118): .fa-envelope:before {\n
Login.c(118): content: "\\f0e0";\n
Login.c(118): }\n
Login.c(118): .fa-linkedin:before {\n
Login.c(118): content: "\\f0e1";\n
Login.c(118): }\n
Login.c(118): .fa-rotate-left:before,\n
Login.c(118): .fa-undo:before {\n
Login.c(118): content: "\\f0e2";\n
Login.c(118): }\n
Login.c(118): .fa-legal:before,\n
Login.c(118): .fa-gavel:before {\n
Login.c(118): content: "\\f0e3";\n
Login.c(118): }\n
Login.c(118): .fa-dashboard:before,\n
Login.c(118): .fa-tachometer:before {\n
Login.c(118): content: "\\f0e4";\n
Login.c(118): }\n
Login.c(118): .fa-comment-o:before {\n
Login.c(118): content: "\\f0e5";\n
Login.c(118): }\n
Login.c(118): .fa-comments-o:before {\n
Login.c(118): content: "\\f0e6";\n
Login.c(118): }\n
Login.c(118): .fa-flash:before,\n
Login.c(118): .fa-bolt:before {\n
Login.c(118): content: "\\f0e7";\n
Login.c(118): }\n
Login.c(118): .fa-sitemap:before {\n
Login.c(118): content: "\\f0e8";\n
Login.c(118): }\n
Login.c(118): .fa-umbrella:before {\n
Login.c(118): content: "\\f0e9";\n
Login.c(118): }\n
Login.c(118): .fa-paste:before,\n
Login.c(118): .fa-clipboard:before {\n
Login.c(118): content: "\\f0ea";\n
Login.c(118): }\n
Login.c(118): .fa-lightbulb-o:before {\n
Login.c(118): content: "\\f0eb";\n
Login.c(118): }\n
Login.c(118): .fa-exchange:before {\n
Login.c(118): content: "\\f0ec";\n
Login.c(118): }\n
Login.c(118): .fa-cloud-download:before {\n
Login.c(118): content: "\\f0ed";\n
Login.c(118): }\n
Login.c(118): .fa-cloud-upload:before {\n
Login.c(118): content: "\\f0ee";\n
Login.c(118): }\n
Login.c(118): .fa-user-md:before {\n
Login.c(118): content: "\\f0f0";\n
Login.c(118): }\n
Login.c(118): .fa-stethoscope:before {\n
Login.c(118): content: "\\f0f1";\n
Login.c(118): }\n
Login.c(118): .fa-suitcase:before {\n
Login.c(118): content: "\\f0f2";\n
Login.c(118): }\n
Login.c(118): .fa-bell-o:before {\n
Login.c(118): content: "\\f0a2";\n
Login.c(118): }\n
Login.c(118): .fa-coffee:before {\n
Login.c(118): content: "\\f0f4";\n
Login.c(118): }\n
Login.c(118): .fa-cutlery:before {\n
Login.c(118): content: "\\f0f5";\n
Login.c(118): }\n
Login.c(118): .fa-file-text-o:before {\n
Login.c(118): content: "\\f0f6";\n
Login.c(118): }\n
Login.c(118): .fa-building-o:before {\n
Login.c(118): content: "\\f0f7";\n
Login.c(118): }\n
Login.c(118): .fa-hospital-o:before {\n
Login.c(118): content: "\\f0f8";\n
Login.c(118): }\n
Login.c(118): .fa-ambulance:before {\n
Login.c(118): content: "\\f0f9";\n
Login.c(118): }\n
Login.c(118): .fa-medkit:before {\n
Login.c(118): content: "\\f0fa";\n
Login.c(118): }\n
Login.c(118): .fa-fighter-jet:before {\n
Login.c(118): content: "\\f0fb";\n
Login.c(118): }\n
Login.c(118): .fa-beer:before {\n
Login.c(118): content: "\\f0fc";\n
Login.c(118): }\n
Login.c(118): .fa-h-square:before {\n
Login.c(118): content: "\\f0fd";\n
Login.c(118): }\n
Login.c(118): .fa-plus-square:before {\n
Login.c(118): content: "\\f0fe";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-left:before {\n
Login.c(118): content: "\\f100";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-right:before {\n
Login.c(118): content: "\\f101";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-up:before {\n
Login.c(118): content: "\\f102";\n
Login.c(118): }\n
Login.c(118): .fa-angle-double-down:before {\n
Login.c(118): content: "\\f103";\n
Login.c(118): }\n
Login.c(118): .fa-angle-left:before {\n
Login.c(118): content: "\\f104";\n
Login.c(118): }\n
Login.c(118): .fa-angle-right:before {\n
Login.c(118): content: "\\f105";\n
Login.c(118): }\n
Login.c(118): .fa-angle-up:before {\n
Login.c(118): content: "\\f106";\n
Login.c(118): }\n
Login.c(118): .fa-angle-down:before {\n
Login.c(118): content: "\\f107";\n
Login.c(118): }\n
Login.c(118): .fa-desktop:before {\n
Login.c(118): content: "\\f108";\n
Login.c(118): }\n
Login.c(118): .fa-laptop:before {\n
Login.c(118): content: "\\f109";\n
Login.c(118): }\n
Login.c(118): .fa-tablet:before {\n
Login.c(118): content: "\\f10a";\n
Login.c(118): }\n
Login.c(118): .fa-mobile-phone:before,\n
Login.c(118): .fa-mobile:before {\n
Login.c(118): content: "\\f10b";\n
Login.c(118): }\n
Login.c(118): .fa-circle-o:before {\n
Login.c(118): content: "\\f10c";\n
Login.c(118): }\n
Login.c(118): .fa-quote-left:before {\n
Login.c(118): content: "\\f10d";\n
Login.c(118): }\n
Login.c(118): .fa-quote-right:before {\n
Login.c(118): content: "\\f10e";\n
Login.c(118): }\n
Login.c(118): .fa-spinner:before {\n
Login.c(118): content: "\\f110";\n
Login.c(118): }\n
Login.c(118): .fa-circle:before {\n
Login.c(118): content: "\\f111";\n
Login.c(118): }\n
Login.c(118): .fa-mail-reply:before,\n
Login.c(118): .fa-reply:before {\n
Login.c(118): content: "\\f112";\n
Login.c(118): }\n
Login.c(118): .fa-github-alt:before {\n
Login.c(118): content: "\\f113";\n
Login.c(118): }\n
Login.c(118): .fa-folder-o:before {\n
Login.c(118): content: "\\f114";\n
Login.c(118): }\n
Login.c(118): .fa-folder-open-o:before {\n
Login.c(118): content: "\\f115";\n
Login.c(118): }\n
Login.c(118): .fa-smile-o:before {\n
Login.c(118): content: "\\f118";\n
Login.c(118): }\n
Login.c(118): .fa-frown-o:before {\n
Login.c(118): content: "\\f119";\n
Login.c(118): }\n
Login.c(118): .fa-meh-o:before {\n
Login.c(118): content: "\\f11a";\n
Login.c(118): }\n
Login.c(118): .fa-gamepad:before {\n
Login.c(118): content: "\\f11b";\n
Login.c(118): }\n
Login.c(118): .fa-keyboard-o:before {\n
Login.c(118): content: "\\f11c";\n
Login.c(118): }\n
Login.c(118): .fa-flag-o:before {\n
Login.c(118): content: "\\f11d";\n
Login.c(118): }\n
Login.c(118): .fa-flag-checkered:before {\n
Login.c(118): content: "\\f11e";\n
Login.c(118): }\n
Login.c(118): .fa-terminal:before {\n
Login.c(118): content: "\\f120";\n
Login.c(118): }\n
Login.c(118): .fa-code:before {\n
Login.c(118): content: "\\f121";\n
Login.c(118): }\n
Login.c(118): .fa-mail-reply-all:before,\n
Login.c(118): .fa-reply-all:before {\n
Login.c(118): content: "\\f122";\n
Login.c(118): }\n
Login.c(118): .fa-star-half-empty:before,\n
Login.c(118): .fa-star-half-full:before,
Login.c(118): t=4873ms: 10713-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/font-awesome/css/font-awesome.css"
(RelFrameId=, Internal ID=31)
Login.c(118): \n
Login.c(118): .fa-star-half-o:before {\n
Login.c(118): content: "\\f123";\n
Login.c(118): }\n
Login.c(118): .fa-location-arrow:before {\n
Login.c(118): content: "\\f124";\n
Login.c(118): }\n
Login.c(118): .fa-crop:before {\n
Login.c(118): content: "\\f125";\n
Login.c(118): }\n
Login.c(118): .fa-code-fork:before {\n
Login.c(118): content: "\\f126";\n
Login.c(118): }\n
Login.c(118): .fa-unlink:before,\n
Login.c(118): .fa-chain-broken:before {\n
Login.c(118): content: "\\f127";\n
Login.c(118): }\n
Login.c(118): .fa-question:before {\n
Login.c(118): content: "\\f128";\n
Login.c(118): }\n
Login.c(118): .fa-info:before {\n
Login.c(118): content: "\\f129";\n
Login.c(118): }\n
Login.c(118): .fa-exclamation:before {\n
Login.c(118): content: "\\f12a";\n
Login.c(118): }\n
Login.c(118): .fa-superscript:before {\n
Login.c(118): content: "\\f12b";\n
Login.c(118): }\n
Login.c(118): .fa-subscript:before {\n
Login.c(118): content: "\\f12c";\n
Login.c(118): }\n
Login.c(118): .fa-eraser:before {\n
Login.c(118): content: "\\f12d";\n
Login.c(118): }\n
Login.c(118): .fa-puzzle-piece:before {\n
Login.c(118): content: "\\f12e";\n
Login.c(118): }\n
Login.c(118): .fa-microphone:before {\n
Login.c(118): content: "\\f130";\n
Login.c(118): }\n
Login.c(118): .fa-microphone-slash:before {\n
Login.c(118): content: "\\f131";\n
Login.c(118): }\n
Login.c(118): .fa-shield:before {\n
Login.c(118): content: "\\f132";\n
Login.c(118): }\n
Login.c(118): .fa-calendar-o:before {\n
Login.c(118): content: "\\f133";\n
Login.c(118): }\n
Login.c(118): .fa-fire-extinguisher:before {\n
Login.c(118): content: "\\f134";\n
Login.c(118): }\n
Login.c(118): .fa-rocket:before {\n
Login.c(118): content: "\\f135";\n
Login.c(118): }\n
Login.c(118): .fa-maxcdn:before {\n
Login.c(118): content: "\\f136";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-left:before {\n
Login.c(118): content: "\\f137";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-right:before {\n
Login.c(118): content: "\\f138";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-up:before {\n
Login.c(118): content: "\\f139";\n
Login.c(118): }\n
Login.c(118): .fa-chevron-circle-down:before {\n
Login.c(118): content: "\\f13a";\n
Login.c(118): }\n
Login.c(118): .fa-html5:before {\n
Login.c(118): content: "\\f13b";\n
Login.c(118): }\n
Login.c(118): .fa-css3:before {\n
Login.c(118): content: "\\f13c";\n
Login.c(118): }\n
Login.c(118): .fa-anchor:before {\n
Login.c(118): content: "\\f13d";\n
Login.c(118): }\n
Login.c(118): .fa-unlock-alt:before {\n
Login.c(118): content: "\\f13e";\n
Login.c(118): }\n
Login.c(118): .fa-bullseye:before {\n
Login.c(118): content: "\\f140";\n
Login.c(118): }\n
Login.c(118): .fa-ellipsis-h:before {\n
Login.c(118): content: "\\f141";\n
Login.c(118): }\n
Login.c(118): .fa-ellipsis-v:before {\n
Login.c(118): content: "\\f142";\n
Login.c(118): }\n
Login.c(118): .fa-rss-square:before {\n
Login.c(118): content: "\\f143";\n
Login.c(118): }\n
Login.c(118): .fa-play-circle:before {\n
Login.c(118): content: "\\f144";\n
Login.c(118): }\n
Login.c(118): .fa-ticket:before {\n
Login.c(118): content: "\\f145";\n
Login.c(118): }\n
Login.c(118): .fa-minus-square:before {\n
Login.c(118): content: "\\f146";\n
Login.c(118): }\n
Login.c(118): .fa-minus-square-o:before {\n
Login.c(118): content: "\\f147";\n
Login.c(118): }\n
Login.c(118): .fa-level-up:before {\n
Login.c(118): content: "\\f148";\n
Login.c(118): }\n
Login.c(118): .fa-level-down:before {\n
Login.c(118): content: "\\f149";\n
Login.c(118): }\n
Login.c(118): .fa-check-square:before {\n
Login.c(118): content: "\\f14a";\n
Login.c(118): }\n
Login.c(118): .fa-pencil-square:before {\n
Login.c(118): content: "\\f14b";\n
Login.c(118): }\n
Login.c(118): .fa-external-link-square:before {\n
Login.c(118): content: "\\f14c";\n
Login.c(118): }\n
Login.c(118): .fa-share-square:before {\n
Login.c(118): content: "\\f14d";\n
Login.c(118): }\n
Login.c(118): .fa-compass:before {\n
Login.c(118): content: "\\f14e";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-down:before,\n
Login.c(118): .fa-caret-square-o-down:before {\n
Login.c(118): content: "\\f150";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-up:before,\n
Login.c(118): .fa-caret-square-o-up:before {\n
Login.c(118): content: "\\f151";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-right:before,\n
Login.c(118): .fa-caret-square-o-right:before {\n
Login.c(118): content: "\\f152";\n
Login.c(118): }\n
Login.c(118): .fa-euro:before,\n
Login.c(118): .fa-eur:before {\n
Login.c(118): content: "\\f153";\n
Login.c(118): }\n
Login.c(118): .fa-gbp:before {\n
Login.c(118): content: "\\f154";\n
Login.c(118): }\n
Login.c(118): .fa-dollar:before,\n
Login.c(118): .fa-usd:before {\n
Login.c(118): content: "\\f155";\n
Login.c(118): }\n
Login.c(118): .fa-rupee:before,\n
Login.c(118): .fa-inr:before {\n
Login.c(118): content: "\\f156";\n
Login.c(118): }\n
Login.c(118): .fa-cny:before,\n
Login.c(118): .fa-rmb:before,\n
Login.c(118): .fa-yen:before,\n
Login.c(118): .fa-jpy:before {\n
Login.c(118): content: "\\f157";\n
Login.c(118): }\n
Login.c(118): .fa-ruble:before,\n
Login.c(118): .fa-rouble:before,\n
Login.c(118): .fa-rub:before {\n
Login.c(118): content: "\\f158";\n
Login.c(118): }\n
Login.c(118): .fa-won:before,\n
Login.c(118): .fa-krw:before {\n
Login.c(118): content: "\\f159";\n
Login.c(118): }\n
Login.c(118): .fa-bitcoin:before,\n
Login.c(118): .fa-btc:before {\n
Login.c(118): content: "\\f15a";\n
Login.c(118): }\n
Login.c(118): .fa-file:before {\n
Login.c(118): content: "\\f15b";\n
Login.c(118): }\n
Login.c(118): .fa-file-text:before {\n
Login.c(118): content: "\\f15c";\n
Login.c(118): }\n
Login.c(118): .fa-sort-alpha-asc:before {\n
Login.c(118): content: "\\f15d";\n
Login.c(118): }\n
Login.c(118): .fa-sort-alpha-desc:before {\n
Login.c(118): content: "\\f15e";\n
Login.c(118): }\n
Login.c(118): .fa-sort-amount-asc:before {\n
Login.c(118): content: "\\f160";\n
Login.c(118): }\n
Login.c(118): .fa-sort-amount-desc:before {\n
Login.c(118): content: "\\f161";\n
Login.c(118): }\n
Login.c(118): .fa-sort-numeric-asc:before {\n
Login.c(118): content: "\\f162";\n
Login.c(118): }\n
Login.c(118): .fa-sort-numeric-desc:before {\n
Login.c(118): content: "\\f163";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-up:before {\n
Login.c(118): content: "\\f164";\n
Login.c(118): }\n
Login.c(118): .fa-thumbs-down:before {\n
Login.c(118): content: "\\f165";\n
Login.c(118): }\n
Login.c(118): .fa-youtube-square:before {\n
Login.c(118): content: "\\f166";\n
Login.c(118): }\n
Login.c(118): .fa-youtube:before {\n
Login.c(118): content: "\\f167";\n
Login.c(118): }\n
Login.c(118): .fa-xing:before {\n
Login.c(118): content: "\\f168";\n
Login.c(118): }\n
Login.c(118): .fa-xing-square:before {\n
Login.c(118): content: "\\f169";\n
Login.c(118): }\n
Login.c(118): .fa-youtube-play:before {\n
Login.c(118): content: "\\f16a";\n
Login.c(118): }\n
Login.c(118): .fa-dropbox:before {\n
Login.c(118): content: "\\f16b";\n
Login.c(118): }\n
Login.c(118): .fa-stack-overflow:before {\n
Login.c(118): content: "\\f16c";\n
Login.c(118): }\n
Login.c(118): .fa-instagram:before {\n
Login.c(118): content: "\\f16d";\n
Login.c(118): }\n
Login.c(118): .fa-flickr:before {\n
Login.c(118): content: "\\f16e";\n
Login.c(118): }\n
Login.c(118): .fa-adn:before {\n
Login.c(118): content: "\\f170";\n
Login.c(118): }\n
Login.c(118): .fa-bitbucket:before {\n
Login.c(118): content: "\\f171";\n
Login.c(118): }\n
Login.c(118): .fa-bitbucket-square:before {\n
Login.c(118): content: "\\f172";\n
Login.c(118): }\n
Login.c(118): .fa-tumblr:before {\n
Login.c(118): content: "\\f173";\n
Login.c(118): }\n
Login.c(118): .fa-tumblr-square:before {\n
Login.c(118): content: "\\f174";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-down:before {\n
Login.c(118): content: "\\f175";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-up:before {\n
Login.c(118): content: "\\f176";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-left:before {\n
Login.c(118): content: "\\f177";\n
Login.c(118): }\n
Login.c(118): .fa-long-arrow-right:before {\n
Login.c(118): content: "\\f178";\n
Login.c(118): }\n
Login.c(118): .fa-apple:before {\n
Login.c(118): content: "\\f179";\n
Login.c(118): }\n
Login.c(118): .fa-windows:before {\n
Login.c(118): content: "\\f17a";\n
Login.c(118): }\n
Login.c(118): .fa-android:before {\n
Login.c(118): content: "\\f17b";\n
Login.c(118): }\n
Login.c(118): .fa-linux:before {\n
Login.c(118): content: "\\f17c";\n
Login.c(118): }\n
Login.c(118): .fa-dribbble:before {\n
Login.c(118): content: "\\f17d";\n
Login.c(118): }\n
Login.c(118): .fa-skype:before {\n
Login.c(118): content: "\\f17e";\n
Login.c(118): }\n
Login.c(118): .fa-foursquare:before {\n
Login.c(118): content: "\\f180";\n
Login.c(118): }\n
Login.c(118): .fa-trello:before {\n
Login.c(118): content: "\\f181";\n
Login.c(118): }\n
Login.c(118): .fa-female:before {\n
Login.c(118): content: "\\f182";\n
Login.c(118): }\n
Login.c(118): .fa-male:before {\n
Login.c(118): content: "\\f183";\n
Login.c(118): }\n
Login.c(118): .fa-gittip:before {\n
Login.c(118): content: "\\f184";\n
Login.c(118): }\n
Login.c(118): .fa-sun-o:before {\n
Login.c(118): content: "\\f185";\n
Login.c(118): }\n
Login.c(118): .fa-moon-o:before {\n
Login.c(118): content: "\\f186";\n
Login.c(118): }\n
Login.c(118): .fa-archive:before {\n
Login.c(118): content: "\\f187";\n
Login.c(118): }\n
Login.c(118): .fa-bug:before {\n
Login.c(118): content: "\\f188";\n
Login.c(118): }\n
Login.c(118): .fa-vk:before {\n
Login.c(118): content: "\\f189";\n
Login.c(118): }\n
Login.c(118): .fa-weibo:before {\n
Login.c(118): content: "\\f18a";\n
Login.c(118): }\n
Login.c(118): .fa-renren:before {\n
Login.c(118): content: "\\f18b";\n
Login.c(118): }\n
Login.c(118): .fa-pagelines:before {\n
Login.c(118): content: "\\f18c";\n
Login.c(118): }\n
Login.c(118): .fa-stack-exchange:before {\n
Login.c(118): content: "\\f18d";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-right:before {\n
Login.c(118): content: "\\f18e";\n
Login.c(118): }\n
Login.c(118): .fa-arrow-circle-o-left:before {\n
Login.c(118): content: "\\f190";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-left:before,\n
Login.c(118): .fa-caret-square-o-left:before {\n
Login.c(118): content: "\\f191";\n
Login.c(118): }\n
Login.c(118): .fa-dot-circle-o:before {\n
Login.c(118): content: "\\f192";\n
Login.c(118): }\n
Login.c(118): .fa-wheelchair:before {\n
Login.c(118): content: "\\f193";\n
Login.c(118): }\n
Login.c(118): .fa-vimeo-square:before {\n
Login.c(118): content: "\\f194";\n
Login.c(118): }\n
Login.c(118): .fa-turkish-lira:before,\n
Login.c(118): .fa-try:before {\n
Login.c(118): content: "\\f195";\n
Login.c(118): }\n
Login.c(118): .fa-plus-square-o:before {\n
Login.c(118): content: "\\f196";\n
Login.c(118): }\n
Login.c(118): .fa-space-shuttle:before {\n
Login.c(118): content: "\\f197";\n
Login.c(118): }\n
Login.c(118): .fa-slack:before {\n
Login.c(118): content: "\\f198";\n
Login.c(118): }\n
Login.c(118): .fa-envelope-square:before {\n
Login.c(118): content: "\\f199";\n
Login.c(118): }\n
Login.c(118): .fa-wordpress:before {\n
Login.c(118): content: "\\f19a";\n
Login.c(118): }\n
Login.c(118): .fa-openid:before {\n
Login.c(118): content: "\\f19b";\n
Login.c(118): }\n
Login.c(118): .fa-institution:before,\n
Login.c(118): .fa-bank:before,\n
Login.c(118): .fa-university:before {\n
Login.c(118): content: "\\f19c";\n
Login.c(118): }\n
Login.c(118): .fa-mortar-board:before,\n
Login.c(118): .fa-graduation-cap:before {\n
Login.c(118): content: "\\f19d";\n
Login.c(118): }\n
Login.c(118): .fa-yahoo:before {\n
Login.c(118): content: "\\f19e";\n
Login.c(118): }\n
Login.c(118): .fa-google:before {\n
Login.c(118): content: "\\f1a0";\n
Login.c(118): }\n
Login.c(118): .fa-reddit:before {\n
Login.c(118): content: "\\f1a1";\n
Login.c(118): }\n
Login.c(118): .fa-reddit-square:before {\n
Login.c(118): content: "\\f1a2";\n
Login.c(118): }\n
Login.c(118): .fa-stumbleupon-circle:before {\n
Login.c(118): content: "\\f1a3";\n
Login.c(118): }\n
Login.c(118): .fa-stumbleupon:before {\n
Login.c(118): content: "\\f1a4";\n
Login.c(118): }\n
Login.c(118): .fa-delicious:before {\n
Login.c(118): content: "\\f1a5";\n
Login.c(118): }\n
Login.c(118): .fa-digg:before {\n
Login.c(118): content: "\\f1a6";\n
Login.c(118): }\n
Login.c(118): .fa-pied-piper:before {\n
Login.c(118): content: "\\f1a7";\n
Login.c(118): }\n
Login.c(118): .fa-pied-piper-alt:before {\n
Login.c(118): content: "\\f1a8";\n
Login.c(118): }\n
Login.c(118): .fa-drupal:before {\n
Login.c(118): content: "\\f1a9";\n
Login.c(118): }\n
Login.c(118): .fa-joomla:before {\n
Login.c(118): content: "\\f1aa";\n
Login.c(118): }\n
Login.c(118): .fa-language:before {\n
Login.c(118): content: "\\f1ab";\n
Login.c(118): }\n
Login.c(118): .fa-fax:before {\n
Login.c(118): content: "\\f1ac";\n
Login.c(118): }\n
Login.c(118): .fa-building:before {\n
Login.c(118): content: "\\f1ad";\n
Login.c(118): }\n
Login.c(118): .fa-child:before {\n
Login.c(118): content: "\\f1ae";\n
Login.c(118): }\n
Login.c(118): .fa-paw:before {\n
Login.c(118): content: "\\f1b0";\n
Login.c(118): }\n
Login.c(118): .fa-spoon:before {\n
Login.c(118): content: "\\f1b1";\n
Login.c(118): }\n
Login.c(118): .fa-cube:before {\n
Login.c(118): content: "\\f1b2";\n
Login.c(118): }\n
Login.c(118): .fa-cubes:before {\n
Login.c(118): content: "\\f1b3";\n
Login.c(118): }\n
Login.c(118): .fa-behance:before {\n
Login.c(118): content: "\\f1b4";\n
Login.c(118): }\n
Login.c(118): .fa-behance-square:before {\n
Login.c(118): content: "\\f1b5";\n
Login.c(118): }\n
Login.c(118): .fa-steam:before {\n
Login.c(118): content: "\\f1b6";\n
Login.c(118): }\n
Login.c(118): .fa-steam-square:before {\n
Login.c(118): content: "\\f1b7";\n
Login.c(118): }\n
Login.c(118): .fa-recycle:before {\n
Login.c(118): content: "\\f1b8";\n
Login.c(118): }\n
Login.c(118): .fa-automobile:before,\n
Login.c(118): .fa-car:before {\n
Login.c(118): content: "\\f1b9";\n
Login.c(118): }\n
Login.c(118): .fa-cab:before,\n
Login.c(118): .fa-taxi:before {\n
Login.c(118): content: "\\f1ba";\n
Login.c(118): }\n
Login.c(118): .fa-tree:before {\n
Login.c(118): content: "\\f1bb";\n
Login.c(118): }\n
Login.c(118): .fa-spotify:before {\n
Login.c(118): content: "\\f1bc";\n
Login.c(118): }\n
Login.c(118): .fa-deviantart:before {\n
Login.c(118): content: "\\f1bd";\n
Login.c(118): }\n
Login.c(118): .fa-soundcloud:before {\n
Login.c(118): content: "\\f1be";\n
Login.c(118): }\n
Login.c(118): .fa-database:before {\n
Login.c(118): content: "\\f1c0";\n
Login.c(118): }\n
Login.c(118): .fa-file-pdf-o:before {\n
Login.c(118): content: "\\f1c1";\n
Login.c(118): }\n
Login.c(118): .fa-file-word-o:before {\n
Login.c(118): content: "\\f1c2";\n
Login.c(118): }\n
Login.c(118): .fa-file-excel-o:before {\n
Login.c(118): content: "\\f1c3";\n
Login.c(118): }\n
Login.c(118): .fa-file-powerpoint-o:before {\n
Login.c(118): content: "\\f1c4";\n
Login.c(118): }\n
Login.c(118): .fa-file-photo-o:before,\n
Login.c(118): .fa-file-picture-o:before,\n
Login.c(118): .fa-file-image-o:before {\n
Login.c(118): content: "\\f1c5";\n
Login.c(118): }\n
Login.c(118): .fa-file-zip-o:before,\n
Login.c(118): .fa-file-archive-o:before {\n
Login.c(118): content: "\\f1c6";\n
Login.c(118): }\n
Login.c(118): .fa-file-sound-o:before,\n
Login.c(118): .fa-file-audio-o:before {\n
Login.c(118): content: "\\f1c7";\n
Login.c(118): }\n
Login.c(118): .fa-file-movie-o:before,\n
Login.c(118): .fa-file-video-o:before {\n
Login.c(118): content: "\\f1c8";\n
Login.c(118): }\n
Login.c(118): .fa-file-code-o:before {\n
Login.c(118): content: "\\f1c9";\n
Login.c(118): }\n
Login.c(118): .fa-vine:before {\n
Login.c(118): content: "\\f1ca";\n
Login.c(118): }\n
Login.c(118): .fa-codepen:before {\n
Login.c(118): content: "\\f1cb";\n
Login.c(118): }\n
Login.c(118): .fa-jsfiddle:before {\n
Login.c(118): content: "\\f1cc";\n
Login.c(118): }\n
Login.c(118): .fa-life-bouy:before,\n
Login.c(118): .fa-life-buoy:before,\n
Login.c(118): .fa-life-saver:before,\n
Login.c(118): .fa-support:before,\n
Login.c(118): .fa-life-ring:before {\n
Login.c(118): content: "\\f1cd";\n
Login.c(118): }\n
Login.c(118): .fa-circle-o-notch:before {\n
Login.c(118): content: "\\f1ce";\n
Login.c(118): }\n
Login.c(118): .fa-ra:before,\n
Login.c(118): .fa-rebel:before {\n
Login.c(118): content: "\\f1d0";\n
Login.c(118): }\n
Login.c(118): .fa-ge:before,\n
Login.c(118): .fa-empire:before {\n
Login.c(118): content: "\\f1d1";\n
Login.c(118): }\n
Login.c(118): .fa-git-square:before {\n
Login.c(118): content: "\\f1d2";\n
Login.c(118): }\n
Login.c(118): .fa-git:before {\n
Login.c(118): content: "\\f1d3";\n
Login.c(118): }\n
Login.c(118): .fa-hacker-news:before {\n
Login.c(118): content: "\\f1d4";\n
Login.c(118): }\n
Login.c(118): .fa-tencent-weibo:before {\n
Login.c(118): content: "\\f1d5";\n
Login.c(118): }\n
Login.c(118): .fa-qq:before {\n
Login.c(118): content: "\\f1d6";\n
Login.c(118): }\n
Login.c(118): .fa-wechat:before,\n
Login.c(118): .fa-weixin:before {\n
Login.c(118): content: "\\f1d7";\n
Login.c(118): }\n
Login.c(118): .fa-send:before,\n
Login.c(118): .fa-paper-plane:before {\n
Login.c(118): content: "\\f1d8";\n
Login.c(118): }\n
Login.c(118): .fa-send-o:before,\n
Login.c(118): .fa-paper-plane-o:before {\n
Login.c(118): content: "\\f1d9";\n
Login.c(118): }\n
Login.c(118): .fa-history:before {\n
Login.c(118): content: "\\f1da";\n
Login.c(118): }\n
Login.c(118): .fa-circle-thin:before {\n
Login.c(118): content: "\\f1db";\n
Login.c(118): }\n
Login.c(118): .fa-header:before {\n
Login.c(118): content: "\\f1dc";\n
Login.c(118): }\n
Login.c(118): .fa-paragraph:before {\n
Login.c(118): content: "\\f1dd";\n
Login.c(118): }\n
Login.c(118): .fa-sliders:before {\n
Login.c(118): content: "\\f1de";\n
Login.c(118): }\n
Login.c(118): .fa-share-alt:before {\n
Login.c(118): content: "\\f1e0";\n
Login.c(118): }\n
Login.c(118): .fa-share-alt-square:before {\n
Login.c(118): content: "\\f1e1";\n
Login.c(118): }\n
Login.c(118): .fa-bomb:before {\n
Login.c(118): content: "\\f1e2";\n
Login.c(118): }\n
Login.c(118): .fa-soccer-ball-o:before,\n
Login.c(118): .fa-futbol-o:before {\n
Login.c(118): content: "\\f1e3";\n
Login.c(118): }\n
Login.c(118): .fa-tty:before {\n
Login.c(118): content: "\\f1e4";\n
Login.c(118): }\n
Login.c(118): .fa-binoculars:before {\n
Login.c(118): content: "\\f1e5";\n
Login.c(118): }\n
Login.c(118): .fa-plug:before {\n
Login.c(118): content: "\\f1e6";\n
Login.c(118): }\n
Login.c(118): .fa-slideshare:before {\n
Login.c(118): content: "\\f1e7";\n
Login.c(118): }\n
Login.c(118): .fa-twitch:before {\n
Login.c(118): content: "\\f1e8";\n
Login.c(118): }\n
Login.c(118): .fa-yelp:before {\n
Login.c(118): content: "\\f1e9";\n
Login.c(118): }\n
Login.c(118): .fa-newspaper-o:before {\n
Login.c(118): content: "\\f1ea";\n
Login.c(118): }\n
Login.c(118): .fa-wifi:before {\n
Login.c(118): content: "\\f1eb";\n
Login.c(118): }\n
Login.c(118): .fa-calculator:before {\n
Login.c(118): content: "\\f1ec";\n
Login.c(118): }\n
Login.c(118): .fa-paypal:before {\n
Login.c(118): content: "\\f1ed";\n
Login.c(118): }\n
Login.c(118): .fa-google-wallet:before {\n
Login.c(118): content: "\\f1ee";\n
Login.c(118): }\n
Login.c(118): .fa-cc-visa:before {\n
Login.c(118): content: "\\f1f0";\n
Login.c(118): }\n
Login.c(118): .fa-cc-mastercard:before {\n
Login.c(118): content: "\\f1f1";\n
Login.c(118): }\n
Login.c(118): .fa-cc-discover:before {\n
Login.c(118): content: "\\f1f2";\n
Login.c(118): }\n
Login.c(118): .fa-cc-amex:before {\n
Login.c(118): content: "\\f1f3";\n
Login.c(118): }\n
Login.c(118): .fa-cc-paypal:before {\n
Login.c(118): content: "\\f1f4";\n
Login.c(118): }\n
Login.c(118): .fa-cc-stripe:before {\n
Login.c(118): content: "\\f1f5";\n
Login.c(118): }\n
Login.c(118): .fa-bell-slash:before {\n
Login.c(118): content: "\\f1f6";\n
Login.c(118): }\n
Login.c(118): .fa-bell-slash-o:before {\n
Login.c(118): content: "\\f1f7";\n
Login.c(118): }\n
Login.c(118): .fa-trash:before {\n
Login.c(118): content: "\\f1f8";\n
Login.c(118): }\n
Login.c(118): .fa-copyright:before {\n
Login.c(118): content: "\\f1f9";\n
Login.c(118): }\n
Login.c(118): .fa-at:before {\n
Login.c(118): content: "\\f1fa";\n
Login.c(118): }\n
Login.c(118): .fa-eyedropper:before {\n
Login.c(118): content: "\\f1fb";\n
Login.c(118): }\n
Login.c(118): .fa-paint-brush:before {\n
Login.c(118): content: "\\f1fc";\n
Login.c(118): }\n
Login.c(118): .fa-birthday-cake:before {\n
Login.c(118): content: "\\f1fd";\n
Login.c(118): }\n
Login.c(118): .fa-area-chart:before {\n
Login.c(118): content: "\\f1fe";\n
Login.c(118): }\n
Login.c(118): .fa-pie-chart:before {\n
Login.c(118): content: "\\f200";\n
Login.c(118): }\n
Login.c(118): .fa-line-chart:before {\n
Login.c(118): content: "\\f201";\n
Login.c(118): }\n
Login.c(118): .fa-lastfm:before {\n
Login.c(118): content: "\\f202";\n
Login.c(118): }\n
Login.c(118): .fa-lastfm-square:before {\n
Login.c(118): content: "\\f203";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-off:before {\n
Login.c(118): content: "\\f204";\n
Login.c(118): }\n
Login.c(118): .fa-toggle-on:before {\n
Login.c(118): content: "\\f205";\n
Login.c(118): }\n
Login.c(118): .fa-bicycle:before {\n
Login.c(118): content: "\\f206";\n
Login.c(118): }\n
Login.c(118): .fa-bus:before {\n
Login.c(118): content: "\\f207";\n
Login.c(118): }\n
Login.c(118): .fa-ioxhost:before {\n
Login.c(118): content: "\\f208";\n
Login.c(118): }\n
Login.c(118): .fa-angellist:before {\n
Login.c(118): content: "\\f209";\n
Login.c(118): }\n
Login.c(118): .fa-cc:before {\n
Login.c(118): content: "\\f20a";\n
Login.c(118): }\n
Login.c(118): .fa-shekel:before,\n
Login.c(118): .fa-sheqel:before,\n
Login.c(118): .fa-ils:before {\n
Login.c(118): content: "\\f20b";\n
Login.c(118): }\n
Login.c(118): .fa-meanpath:before {\n
Login.c(118): content: "\\f20c";\n
Login.c(118): }\n
Login.c(118): t=4904ms: 522-byte response headers for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Connection: keep-alive\r\n
Login.c(118): Last-Modified: Tue, 26 Aug 2014 20:38:35 GMT\r\n
Login.c(118): ETag: W/"feda974a77ea5783b8be673f142b7c88"\r\n
Login.c(118): Server: NetDNA-cache/2.2\r\n
Login.c(118): Expires: Sat, 26 Dec 2015 15:41:48 GMT\r\n
Login.c(118): Cache-Control: max-age=31104000\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Access-Control-Allow-Origin: *\r\n
Login.c(118): X-Hello-Human: You should work for us! Email:
jdorfman+theheader@maxcdn.com or @MaxCDNDeve
Login.c(118): loper on Twitter\r\n
Login.c(118): X-Cache: HIT\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): \r\n
Login.c(118): t=4904ms: 6-byte chunked response overhead for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): 161b\r\n
Login.c(118): t=4905ms: 7-byte chunked response overhead for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4905ms: 5659-byte ENCODED response body received for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): t=4905ms: 12288-byte DECODED response body for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): /*!\n
Login.c(118): * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io -
@fontawesome\n
Login.c(118): * License - http://fontawesome.io/license (Font: SIL OFL 1.1,
CSS: MIT License)\n
Login.c(118): */@font-face{font-
family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0'
Login.c(118): );src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0')
format('embedded-opentype'),u
Login.c(118): rl('../fonts/fontawesome-webfont.woff?v=4.2.0')
format('woff'),url('../fonts/fontawesome-w
Login.c(118): ebfont.ttf?v=4.2.0')
format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#font
Login.c(118): awesomeregular') format('svg');font-weight:normal;font-
style:normal}.fa{display:inline-blo
Login.c(118): ck;font:normal normal normal 14px/1 FontAwesome;font-
size:inherit;text-rendering:auto;-web
Login.c(118): kit-font-smoothing:antialiased;-moz-osx-font-
smoothing:grayscale}.fa-lg{font-size:1.333333
Login.c(118): 33em;line-height:.75em;vertical-align:-15%}.fa-2x{font-
size:2em}.fa-3x{font-size:3em}.fa-4
Login.c(118): x{font-size:4em}.fa-5x{font-size:5em}.fa-
fw{width:1.28571429em;text-align:center}.fa-ul{pa
Login.c(118): dding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-
ul>li{position:relative}.fa
Login.c(118): -li{position:absolute;left:-
2.14285714em;width:2.14285714em;top:.14285714em;text-align:cen
Login.c(118): ter}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em
.15em;border:solid .08em
Login.c(118): #eee;border-radius:.1em}.pull-right{float:right}.pull-
left{float:left}.fa.pull-left{margi
Login.c(118): n-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-
animation:fa-spin 2s infinit
Login.c(118): e linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes
fa-spin{0%{-webkit-transf
Login.c(118): orm:rotate(0deg);transform:rotate(0deg)}100%{-webkit-
transform:rotate(359deg);transform:ro
Login.c(118): tate(359deg)}}@keyframes fa-spin{0%{-webkit-
transform:rotate(0deg);transform:rotate(0deg)}
Login.c(118): 100%{-webkit-
transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progi
Login.c(118): d:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-
transform:rotate(90deg);-ms-tr
Login.c(118): ansform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-
180{filter:progid:DXImageTransfor
Login.c(118): m.Microsoft.BasicImage(rotation=2);-webkit-
transform:rotate(180deg);-ms-transform:rotate(1
Login.c(118): 80deg);transform:rotate(180deg)}.fa-rotate-
270{filter:progid:DXImageTransform.Microsoft.Ba
Login.c(118): sicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-
transform:rotate(270deg);transfo
Login.c(118): rm:rotate(270deg)}.fa-flip-
horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(
Login.c(118): rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-
transform:scale(-1, 1);transform:
Login.c(118): scale(-1, 1)}.fa-flip-
vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotatio
Login.c(118): n=2, mirror=1);-webkit-transform:scale(1, -1);-ms-
transform:scale(1, -1);transform:scale(1
Login.c(118): , -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-
270,:root .fa-flip-horizon
Login.c(118): tal,:root .fa-flip-vertical{filter:none}.fa-
stack{position:relative;display:inline-block;w
Login.c(118): idth:2em;height:2em;line-height:2em;vertical-align:middle}.fa-
stack-1x,.fa-stack-2x{positi
Login.c(118): on:absolute;left:0;width:100%;text-align:center}.fa-stack-
1x{line-height:inherit}.fa-stack
Login.c(118): -2x{font-size:2em}.fa-inverse{color:#fff}.fa-
glass:before{content:"\\f000"}.fa-music:befor
Login.c(118): e{content:"\\f001"}.fa-search:before{content:"\\f002"}.fa-
envelope-o:before{content:"\\f00
Login.c(118): 3"}.fa-heart:before{content:"\\f004"}.fa-
star:before{content:"\\f005"}.fa-star-o:before{co
Login.c(118): ntent:"\\f006"}.fa-user:before{content:"\\f007"}.fa-
film:before{content:"\\f008"}.fa-th-la
Login.c(118): rge:before{content:"\\f009"}.fa-th:before{content:"\\f00a"}.fa-
th-list:before{content:"\\f
Login.c(118): 00b"}.fa-check:before{content:"\\f00c"}.fa-remove:before,.fa-
close:before,.fa-times:before
Login.c(118): {content:"\\f00d"}.fa-search-plus:before{content:"\\f00e"}.fa-
search-minus:before{content:
Login.c(118): "\\f010"}.fa-power-off:before{content:"\\f011"}.fa-
signal:before{content:"\\f012"}.fa-gear
Login.c(118): :before,.fa-cog:before{content:"\\f013"}.fa-trash-
o:before{content:"\\f014"}.fa-home:befor
Login.c(118): e{content:"\\f015"}.fa-file-o:before{content:"\\f016"}.fa-clock-
o:before{content:"\\f017"}
Login.c(118): .fa-road:before{content:"\\f018"}.fa-
download:before{content:"\\f019"}.fa-arrow-circle-o-d
Login.c(118): own:before{content:"\\f01a"}.fa-arrow-circle-o-
up:before{content:"\\f01b"}.fa-inbox:before
Login.c(118): {content:"\\f01c"}.fa-play-circle-o:before{content:"\\f01d"}.fa-
rotate-right:before,.fa-re
Login.c(118): peat:before{content:"\\f01e"}.fa-
refresh:before{content:"\\f021"}.fa-list-alt:before{conte
Login.c(118): nt:"\\f022"}.fa-lock:before{content:"\\f023"}.fa-
flag:before{content:"\\f024"}.fa-headphon
Login.c(118): es:before{content:"\\f025"}.fa-volume-
off:before{content:"\\f026"}.fa-volume-down:before{c
Login.c(118): ontent:"\\f027"}.fa-volume-up:before{content:"\\f028"}.fa-
qrcode:before{content:"\\f029"}.
Login.c(118): fa-barcode:before{content:"\\f02a"}.fa-
tag:before{content:"\\f02b"}.fa-tags:before{content
Login.c(118): :"\\f02c"}.fa-book:before{content:"\\f02d"}.fa-
bookmark:before{content:"\\f02e"}.fa-print:
Login.c(118): before{content:"\\f02f"}.fa-camera:before{content:"\\f030"}.fa-
font:before{content:"\\f031
Login.c(118): "}.fa-bold:before{content:"\\f032"}.fa-
italic:before{content:"\\f033"}.fa-text-height:befo
Login.c(118): re{content:"\\f034"}.fa-text-width:before{content:"\\f035"}.fa-
align-left:before{content:"
Login.c(118): \\f036"}.fa-align-center:before{content:"\\f037"}.fa-align-
right:before{content:"\\f038"}.
Login.c(118): fa-align-justify:before{content:"\\f039"}.fa-
list:before{content:"\\f03a"}.fa-dedent:befor
Login.c(118): e,.fa-outdent:before{content:"\\f03b"}.fa-
indent:before{content:"\\f03c"}.fa-video-camera:
Login.c(118): before{content:"\\f03d"}.fa-photo:before,.fa-image:before,.fa-
picture-o:before{content:"\\
Login.c(118): f03e"}.fa-pencil:before{content:"\\f040"}.fa-map-
marker:before{content:"\\f041"}.fa-adjust
Login.c(118): :before{content:"\\f042"}.fa-tint:before{content:"\\f043"}.fa-
edit:before,.fa-pencil-squar
Login.c(118): e-o:before{content:"\\f044"}.fa-share-square-
o:before{content:"\\f045"}.fa-check-square-o:
Login.c(118): before{content:"\\f046"}.fa-arrows:before{content:"\\f047"}.fa-
step-backward:before{conten
Login.c(118): t:"\\f048"}.fa-fast-backward:before{content:"\\f049"}.fa-
backward:before{content:"\\f04a"}
Login.c(118): .fa-play:before{content:"\\f04b"}.fa-
pause:before{content:"\\f04c"}.fa-stop:before{content
Login.c(118): :"\\f04d"}.fa-forward:before{content:"\\f04e"}.fa-fast-
forward:before{content:"\\f050"}.fa
Login.c(118): -step-forward:before{content:"\\f051"}.fa-
eject:before{content:"\\f052"}.fa-chevron-left:b
Login.c(118): efore{content:"\\f053"}.fa-chevron-
right:before{content:"\\f054"}.fa-plus-circle:before{co
Login.c(118): ntent:"\\f055"}.fa-minus-circle:before{content:"\\f056"}.fa-
times-circle:before{content:"\\
Login.c(118): f057"}.fa-check-circle:before{content:"\\f058"}.fa-question-
circle:before{content:"\\f059"
Login.c(118): }.fa-info-circle:before{content:"\\f05a"}.fa-
crosshairs:before{content:"\\f05b"}.fa-times-
Login.c(118): circle-o:before{content:"\\f05c"}.fa-check-circle-
o:before{content:"\\f05d"}.fa-ban:before
Login.c(118): {content:"\\f05e"}.fa-arrow-left:before{content:"\\f060"}.fa-
arrow-right:before{content:"\\
Login.c(118): f061"}.fa-arrow-up:before{content:"\\f062"}.fa-arrow-
down:before{content:"\\f063"}.fa-mail
Login.c(118): -forward:before,.fa-share:before{content:"\\f064"}.fa-
expand:before{content:"\\f065"}.fa-c
Login.c(118): ompress:before{content:"\\f066"}.fa-
plus:before{content:"\\f067"}.fa-minus:before{content:
Login.c(118): "\\f068"}.fa-asterisk:before{content:"\\f069"}.fa-exclamation-
circle:before{content:"\\f06
Login.c(118): a"}.fa-gift:before{content:"\\f06b"}.fa-
leaf:before{content:"\\f06c"}.fa-fire:before{conte
Login.c(118): nt:"\\f06d"}.fa-eye:before{content:"\\f06e"}.fa-eye-
slash:before{content:"\\f070"}.fa-warn
Login.c(118): ing:before,.fa-exclamation-triangle:before{content:"\\f071"}.fa-
plane:before{content:"\\f0
Login.c(118): 72"}.fa-calendar:before{content:"\\f073"}.fa-
random:before{content:"\\f074"}.fa-comment:be
Login.c(118): fore{content:"\\f075"}.fa-magnet:before{content:"\\f076"}.fa-
chevron-up:before{content:"\\
Login.c(118): f077"}.fa-chevron-down:before{content:"\\f078"}.fa-
retweet:before{content:"\\f079"}.fa-sho
Login.c(118): pping-cart:before{content:"\\f07a"}.fa-
folder:before{content:"\\f07b"}.fa-folder-open:befo
Login.c(118): re{content:"\\f07c"}.fa-arrows-v:before{content:"\\f07d"}.fa-
arrows-h:before{content:"\\f0
Login.c(118): 7e"}.fa-bar-chart-o:before,.fa-bar-
chart:before{content:"\\f080"}.fa-twitter-square:before
Login.c(118): {content:"\\f081"}.fa-facebook-
square:before{content:"\\f082"}.fa-camera-retro:before{cont
Login.c(118): ent:"\\f083"}.fa-key:before{content:"\\f084"}.fa-
gears:before,.fa-cogs:before{content:"\\f
Login.c(118): 085"}.fa-comments:before{content:"\\f086"}.fa-thumbs-o-
up:before{content:"\\f087"}.fa-thum
Login.c(118): bs-o-down:before{content:"\\f088"}.fa-star-
half:before{content:"\\f089"}.fa-heart-o:before
Login.c(118): {content:"\\f08a"}.fa-sign-out:before{content:"\\f08b"}.fa-
linkedin-square:before{content:
Login.c(118): "\\f08c"}.fa-thumb-tack:before{content:"\\f08d"}.fa-external-
link:before{content:"\\f08e"}
Login.c(118): .fa-sign-in:before{content:"\\f090"}.fa-
trophy:before{content:"\\f091"}.fa-github-square:b
Login.c(118): efore{content:"\\f092"}.fa-upload:before{content:"\\f093"}.fa-
lemon-o:before{content:"\\f0
Login.c(118): 94"}.fa-phone:before{content:"\\f095"}.fa-square-
o:before{content:"\\f096"}.fa-bookmark-o:
Login.c(118): before{content:"\\f097"}.fa-phone-
square:before{content:"\\f098"}.fa-twitter:before{conten
Login.c(118): t:"\\f099"}.fa-facebook:before{content:"\\f09a"}.fa-
github:before{content:"\\f09b"}.fa-unl
Login.c(118): ock:before{content:"\\f09c"}.fa-credit-
card:before{content:"\\f09d"}.fa-rss:before{content
Login.c(118): :"\\f09e"}.fa-hdd-o:before{content:"\\f0a0"}.fa-
bullhorn:before{content:"\\f0a1"}.fa-bell:
Login.c(118): before{content:"\\f0f3"}.fa-
certificate:before{content:"\\f0a3"}.fa-hand-o-right:before{co
Login.c(118): ntent:"\\f0a4"}.fa-hand-o-left:before{content:"\\f0a5"}.fa-hand-
o-up:before{content:"\\f0a
Login.c(118): 6"}.fa-hand-o-down:before{content:"\\f0a7"}.fa-arrow-circle-
left:before{content:"\\f0a8"}.
Login.c(118): fa-arrow-circle-right:before{content:"\\f0a9"}.fa-arrow-circle-
up:before{content:"\\f0aa"}
Login.c(118): .fa-arrow-circle-down:before{content:"\\f0ab"}.fa-
globe:before{content:"\\f0ac"}.fa-wrench
Login.c(118): :before{content:"\\f0ad"}.fa-tasks:before{content:"\\f0ae"}.fa-
filter:before{content:"\\f0
Login.c(118): b0"}.fa-briefcase:before{content:"\\f0b1"}.fa-arrows-
alt:before{content:"\\f0b2"}.fa-group
Login.c(118): :before,.fa-users:before{content:"\\f0c0"}.fa-chain:before,.fa-
link:before{content:"\\f0c1
Login.c(118): "}.fa-cloud:before{content:"\\f0c2"}.fa-
flask:before{content:"\\f0c3"}.fa-cut:before,.fa-s
Login.c(118): cissors:before{content:"\\f0c4"}.fa-copy:before,.fa-files-
o:before{content:"\\f0c5"}.fa-pa
Login.c(118): perclip:before{content:"\\f0c6"}.fa-save:before,.fa-floppy-
o:before{content:"\\f0c7"}.fa-s
Login.c(118): quare:before{content:"\\f0c8"}.fa-navicon:before,.fa-
reorder:before,.fa-bars:before{conten
Login.c(118): t:"\\f0c9"}.fa-list-ul:before{content:"\\f0ca"}.fa-list-
ol:before{content:"\\f0cb"}.fa-str
Login.c(118): ikethrough:before{content:"\\f0cc"}.fa-
underline:before{content:"\\f0cd"}.fa-table:before{
Login.c(118): content:"\\f0ce"}.fa-magic:before{content:"\\f0d0"}.fa-
truck:before{content:"\\f0d1"}.fa-p
Login.c(118): interest:before{content:"\\f0d2"}.fa-pinterest-
square:before{content:"\\f0d3"}.fa-google-p
Login.c(118): lus-square:before{content:"\\f0d4"}.fa-google-
plus:before{content:"\\f0d5"}.fa-money:befor
Login.c(118): e{content:"\\f0d6"}.fa-caret-down:before{content:"\\f0d7"}.fa-
caret-up:before{content:"\\f
Login.c(118): 0d8"}.fa-caret-left:before{content:"\\f0d9"}.fa-caret-
right:before{content:"\\f0da"}.fa-co
Login.c(118): lumns:before{content:"\\f0db"}.fa-unsorted:before,.fa-
sort:before{content:"\\f0dc"}.fa-sor
Login.c(118): t-down:before,.fa-sort-desc:before{content:"\\f0dd"}.fa-sort-
up:before,.fa-sort-asc:before
Login.c(118): {content:"\\f0de"}.fa-envelope:before{content:"\\f0e0"}.fa-
linkedin:before{content:"\\f0e1
Login.c(118): "}.fa-rotate-left:before,.fa-undo:before{content:"\\f0e2"}.fa-
legal:before,.fa-gavel:befor
Login.c(118): e{content:"\\f0e3"}.fa-dashboard:before,.fa-
tachometer:before{content:"\\f0e4"}.fa-comment
Login.c(118): -o:before{content:"\\f0e5"}.fa-comments-
o:before{content:"\\f0e6"}.fa-flash:before,.fa-bol
Login.c(118): t:before{content:"\\f0e7"}.fa-
sitemap:before{content:"\\f0e8"}.fa-umbrella:before{content:
Login.c(118): "\\f0e9"}.fa-paste:before,.fa-
clipboard:before{content:"\\f0ea"}.fa-lightbulb-o:before{con
Login.c(118): tent:"\\f0eb"}.fa-exchange:before{content:"\\f0ec"}.fa-cloud-
download:before{content:"\\f0
Login.c(118): ed"}.fa-cloud-upload:before{content:"\\f0ee"}.fa-user-
md:before{content:"\\f0f0"}.fa-steth
Login.c(118): oscope:before{content:"\\f0f1"}.fa-
suitcase:before{content:"\\f0f2"}.fa-bell-o:before{cont
Login.c(118): ent:"\\f0a2"}.fa-coffee:before{content:"\\f0f4"}.fa-
cutlery:before{content:"\\f0f5"}.fa-fi
Login.c(118): le-text-o:before{content:"\\f0f6"}.fa-building-
o:before{content:"\\f0f7"}.fa-hospital-o:be
Login.c(118): fore{content:"\\f0f8"}.fa-ambulance:before{content:"\\f0f9"}.fa-
medkit:before{content:"\\f
Login.c(118): 0fa"}.fa-fighter-jet:before{content:"\\f0fb"}.fa-
beer:before{content:"\\f0fc"}.fa-h-square
Login.c(118): :before{content:"\\f0fd"}.fa-plus-
square:before{content:"\\f0fe"}.fa-angle-double-left:bef
Login.c(118): ore{content:"\\f100"}.fa-angle-double-
right:before{content:"\\f101"}.fa-angle-double-up:be
Login.c(118): fore{content:"\\f102"}.fa-angle-double-
down:before{content:"\\f103"}.fa-angle-left:before{
Login.c(118): content:"\\f104"}.fa-angle-right:before{content:"\\f105"}.fa-
angle-up:before{content:"\\f1
Login.c(118): 06"}.fa-angle-down:before{content:"\\f107"}.fa-
desktop:before{content:"\\f108"}.fa-laptop:
Login.c(118): before{content:"\\f109"}.fa-tablet:before{content:"\\f10a"}.fa-
mobile-phone:before,.fa-mob
Login.c(118): ile:before{content:"\\f10b"}.fa-ci
Login.c(118): t=4919ms: 9696-byte DECODED response body for
"http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
(RelFrameId=, Internal ID=32)
Login.c(118): rcle-o:before{content:"\\f10c"}.fa-quote-
left:before{content:"\\f10d"}.fa-quote-right:befo
Login.c(118): re{content:"\\f10e"}.fa-spinner:before{content:"\\f110"}.fa-
circle:before{content:"\\f111"
Login.c(118): }.fa-mail-reply:before,.fa-reply:before{content:"\\f112"}.fa-
github-alt:before{content:"\\
Login.c(118): f113"}.fa-folder-o:before{content:"\\f114"}.fa-folder-open-
o:before{content:"\\f115"}.fa-s
Login.c(118): mile-o:before{content:"\\f118"}.fa-frown-
o:before{content:"\\f119"}.fa-meh-o:before{conten
Login.c(118): t:"\\f11a"}.fa-gamepad:before{content:"\\f11b"}.fa-keyboard-
o:before{content:"\\f11c"}.fa-
Login.c(118): flag-o:before{content:"\\f11d"}.fa-flag-
checkered:before{content:"\\f11e"}.fa-terminal:bef
Login.c(118): ore{content:"\\f120"}.fa-code:before{content:"\\f121"}.fa-mail-
reply-all:before,.fa-reply-
Login.c(118): all:before{content:"\\f122"}.fa-star-half-empty:before,.fa-star-
half-full:before,.fa-star-
Login.c(118): half-o:before{content:"\\f123"}.fa-location-
arrow:before{content:"\\f124"}.fa-crop:before{
Login.c(118): content:"\\f125"}.fa-code-fork:before{content:"\\f126"}.fa-
unlink:before,.fa-chain-broken:
Login.c(118): before{content:"\\f127"}.fa-question:before{content:"\\f128"}.fa-
info:before{content:"\\f1
Login.c(118): 29"}.fa-exclamation:before{content:"\\f12a"}.fa-
superscript:before{content:"\\f12b"}.fa-su
Login.c(118): bscript:before{content:"\\f12c"}.fa-
eraser:before{content:"\\f12d"}.fa-puzzle-piece:before
Login.c(118): {content:"\\f12e"}.fa-microphone:before{content:"\\f130"}.fa-
microphone-slash:before{conte
Login.c(118): nt:"\\f131"}.fa-shield:before{content:"\\f132"}.fa-calendar-
o:before{content:"\\f133"}.fa-
Login.c(118): fire-extinguisher:before{content:"\\f134"}.fa-
rocket:before{content:"\\f135"}.fa-maxcdn:be
Login.c(118): fore{content:"\\f136"}.fa-chevron-circle-
left:before{content:"\\f137"}.fa-chevron-circle-r
Login.c(118): ight:before{content:"\\f138"}.fa-chevron-circle-
up:before{content:"\\f139"}.fa-chevron-cir
Login.c(118): cle-down:before{content:"\\f13a"}.fa-
html5:before{content:"\\f13b"}.fa-css3:before{content
Login.c(118): :"\\f13c"}.fa-anchor:before{content:"\\f13d"}.fa-unlock-
alt:before{content:"\\f13e"}.fa-bu
Login.c(118): llseye:before{content:"\\f140"}.fa-ellipsis-
h:before{content:"\\f141"}.fa-ellipsis-v:befor
Login.c(118): e{content:"\\f142"}.fa-rss-square:before{content:"\\f143"}.fa-
play-circle:before{content:"
Login.c(118): \\f144"}.fa-ticket:before{content:"\\f145"}.fa-minus-
square:before{content:"\\f146"}.fa-mi
Login.c(118): nus-square-o:before{content:"\\f147"}.fa-level-
up:before{content:"\\f148"}.fa-level-down:b
Login.c(118): efore{content:"\\f149"}.fa-check-
square:before{content:"\\f14a"}.fa-pencil-square:before{c
Login.c(118): ontent:"\\f14b"}.fa-external-link-
square:before{content:"\\f14c"}.fa-share-square:before{c
Login.c(118): ontent:"\\f14d"}.fa-compass:before{content:"\\f14e"}.fa-toggle-
down:before,.fa-caret-squar
Login.c(118): e-o-down:before{content:"\\f150"}.fa-toggle-up:before,.fa-caret-
square-o-up:before{content
Login.c(118): :"\\f151"}.fa-toggle-right:before,.fa-caret-square-o-
right:before{content:"\\f152"}.fa-eur
Login.c(118): o:before,.fa-eur:before{content:"\\f153"}.fa-
gbp:before{content:"\\f154"}.fa-dollar:before
Login.c(118): ,.fa-usd:before{content:"\\f155"}.fa-rupee:before,.fa-
inr:before{content:"\\f156"}.fa-cny:
Login.c(118): before,.fa-rmb:before,.fa-yen:before,.fa-
jpy:before{content:"\\f157"}.fa-ruble:before,.fa-
Login.c(118): rouble:before,.fa-rub:before{content:"\\f158"}.fa-won:before,.fa-
krw:before{content:"\\f15
Login.c(118): 9"}.fa-bitcoin:before,.fa-btc:before{content:"\\f15a"}.fa-
file:before{content:"\\f15b"}.fa
Login.c(118): -file-text:before{content:"\\f15c"}.fa-sort-alpha-
asc:before{content:"\\f15d"}.fa-sort-alp
Login.c(118): ha-desc:before{content:"\\f15e"}.fa-sort-amount-
asc:before{content:"\\f160"}.fa-sort-amoun
Login.c(118): t-desc:before{content:"\\f161"}.fa-sort-numeric-
asc:before{content:"\\f162"}.fa-sort-numer
Login.c(118): ic-desc:before{content:"\\f163"}.fa-thumbs-
up:before{content:"\\f164"}.fa-thumbs-down:befo
Login.c(118): re{content:"\\f165"}.fa-youtube-
square:before{content:"\\f166"}.fa-youtube:before{content:
Login.c(118): "\\f167"}.fa-xing:before{content:"\\f168"}.fa-xing-
square:before{content:"\\f169"}.fa-yout
Login.c(118): ube-play:before{content:"\\f16a"}.fa-
dropbox:before{content:"\\f16b"}.fa-stack-overflow:be
Login.c(118): fore{content:"\\f16c"}.fa-instagram:before{content:"\\f16d"}.fa-
flickr:before{content:"\\f
Login.c(118): 16e"}.fa-adn:before{content:"\\f170"}.fa-
bitbucket:before{content:"\\f171"}.fa-bitbucket-s
Login.c(118): quare:before{content:"\\f172"}.fa-
tumblr:before{content:"\\f173"}.fa-tumblr-square:before{
Login.c(118): content:"\\f174"}.fa-long-arrow-down:before{content:"\\f175"}.fa-
long-arrow-up:before{cont
Login.c(118): ent:"\\f176"}.fa-long-arrow-left:before{content:"\\f177"}.fa-
long-arrow-right:before{conte
Login.c(118): nt:"\\f178"}.fa-apple:before{content:"\\f179"}.fa-
windows:before{content:"\\f17a"}.fa-andr
Login.c(118): oid:before{content:"\\f17b"}.fa-
linux:before{content:"\\f17c"}.fa-dribbble:before{content:
Login.c(118): "\\f17d"}.fa-skype:before{content:"\\f17e"}.fa-
foursquare:before{content:"\\f180"}.fa-trel
Login.c(118): lo:before{content:"\\f181"}.fa-
female:before{content:"\\f182"}.fa-male:before{content:"\\f
Login.c(118): 183"}.fa-gittip:before{content:"\\f184"}.fa-sun-
o:before{content:"\\f185"}.fa-moon-o:befor
Login.c(118): e{content:"\\f186"}.fa-archive:before{content:"\\f187"}.fa-
bug:before{content:"\\f188"}.fa
Login.c(118): -vk:before{content:"\\f189"}.fa-
weibo:before{content:"\\f18a"}.fa-renren:before{content:"\\
Login.c(118): f18b"}.fa-pagelines:before{content:"\\f18c"}.fa-stack-
exchange:before{content:"\\f18d"}.fa
Login.c(118): -arrow-circle-o-right:before{content:"\\f18e"}.fa-arrow-circle-o-
left:before{content:"\\f1
Login.c(118): 90"}.fa-toggle-left:before,.fa-caret-square-o-
left:before{content:"\\f191"}.fa-dot-circle-
Login.c(118): o:before{content:"\\f192"}.fa-
wheelchair:before{content:"\\f193"}.fa-vimeo-square:before{c
Login.c(118): ontent:"\\f194"}.fa-turkish-lira:before,.fa-
try:before{content:"\\f195"}.fa-plus-square-o:
Login.c(118): before{content:"\\f196"}.fa-space-
shuttle:before{content:"\\f197"}.fa-slack:before{content
Login.c(118): :"\\f198"}.fa-envelope-square:before{content:"\\f199"}.fa-
wordpress:before{content:"\\f19a
Login.c(118): "}.fa-openid:before{content:"\\f19b"}.fa-institution:before,.fa-
bank:before,.fa-university
Login.c(118): :before{content:"\\f19c"}.fa-mortar-board:before,.fa-graduation-
cap:before{content:"\\f19d
Login.c(118): "}.fa-yahoo:before{content:"\\f19e"}.fa-
google:before{content:"\\f1a0"}.fa-reddit:before{c
Login.c(118): ontent:"\\f1a1"}.fa-reddit-square:before{content:"\\f1a2"}.fa-
stumbleupon-circle:before{co
Login.c(118): ntent:"\\f1a3"}.fa-stumbleupon:before{content:"\\f1a4"}.fa-
delicious:before{content:"\\f1a
Login.c(118): 5"}.fa-digg:before{content:"\\f1a6"}.fa-pied-
piper:before{content:"\\f1a7"}.fa-pied-piper-
Login.c(118): alt:before{content:"\\f1a8"}.fa-
drupal:before{content:"\\f1a9"}.fa-joomla:before{content:"
Login.c(118): \\f1aa"}.fa-language:before{content:"\\f1ab"}.fa-
fax:before{content:"\\f1ac"}.fa-building:
Login.c(118): before{content:"\\f1ad"}.fa-child:before{content:"\\f1ae"}.fa-
paw:before{content:"\\f1b0"}
Login.c(118): .fa-spoon:before{content:"\\f1b1"}.fa-
cube:before{content:"\\f1b2"}.fa-cubes:before{conten
Login.c(118): t:"\\f1b3"}.fa-behance:before{content:"\\f1b4"}.fa-behance-
square:before{content:"\\f1b5"}
Login.c(118): .fa-steam:before{content:"\\f1b6"}.fa-steam-
square:before{content:"\\f1b7"}.fa-recycle:bef
Login.c(118): ore{content:"\\f1b8"}.fa-automobile:before,.fa-
car:before{content:"\\f1b9"}.fa-cab:before,
Login.c(118): .fa-taxi:before{content:"\\f1ba"}.fa-
tree:before{content:"\\f1bb"}.fa-spotify:before{conte
Login.c(118): nt:"\\f1bc"}.fa-deviantart:before{content:"\\f1bd"}.fa-
soundcloud:before{content:"\\f1be"}
Login.c(118): .fa-database:before{content:"\\f1c0"}.fa-file-pdf-
o:before{content:"\\f1c1"}.fa-file-word-
Login.c(118): o:before{content:"\\f1c2"}.fa-file-excel-
o:before{content:"\\f1c3"}.fa-file-powerpoint-o:b
Login.c(118): efore{content:"\\f1c4"}.fa-file-photo-o:before,.fa-file-picture-
o:before,.fa-file-image-o:
Login.c(118): before{content:"\\f1c5"}.fa-file-zip-o:before,.fa-file-archive-
o:before{content:"\\f1c6"}.
Login.c(118): fa-file-sound-o:before,.fa-file-audio-
o:before{content:"\\f1c7"}.fa-file-movie-o:before,.f
Login.c(118): a-file-video-o:before{content:"\\f1c8"}.fa-file-code-
o:before{content:"\\f1c9"}.fa-vine:be
Login.c(118): fore{content:"\\f1ca"}.fa-codepen:before{content:"\\f1cb"}.fa-
jsfiddle:before{content:"\\f
Login.c(118): 1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-
saver:before,.fa-support:before,.f
Login.c(118): a-life-ring:before{content:"\\f1cd"}.fa-circle-o-
notch:before{content:"\\f1ce"}.fa-ra:befo
Login.c(118): re,.fa-rebel:before{content:"\\f1d0"}.fa-ge:before,.fa-
empire:before{content:"\\f1d1"}.fa-
Login.c(118): git-square:before{content:"\\f1d2"}.fa-
git:before{content:"\\f1d3"}.fa-hacker-news:before{
Login.c(118): content:"\\f1d4"}.fa-tencent-weibo:before{content:"\\f1d5"}.fa-
qq:before{content:"\\f1d6"}
Login.c(118): .fa-wechat:before,.fa-weixin:before{content:"\\f1d7"}.fa-
send:before,.fa-paper-plane:befor
Login.c(118): e{content:"\\f1d8"}.fa-send-o:before,.fa-paper-plane-
o:before{content:"\\f1d9"}.fa-history
Login.c(118): :before{content:"\\f1da"}.fa-circle-
thin:before{content:"\\f1db"}.fa-header:before{content
Login.c(118): :"\\f1dc"}.fa-paragraph:before{content:"\\f1dd"}.fa-
sliders:before{content:"\\f1de"}.fa-sh
Login.c(118): are-alt:before{content:"\\f1e0"}.fa-share-alt-
square:before{content:"\\f1e1"}.fa-bomb:befo
Login.c(118): re{content:"\\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-
o:before{content:"\\f1e3"}.fa-tty:
Login.c(118): before{content:"\\f1e4"}.fa-
binoculars:before{content:"\\f1e5"}.fa-plug:before{content:"\\
Login.c(118): f1e6"}.fa-slideshare:before{content:"\\f1e7"}.fa-
twitch:before{content:"\\f1e8"}.fa-yelp:b
Login.c(118): efore{content:"\\f1e9"}.fa-newspaper-
o:before{content:"\\f1ea"}.fa-wifi:before{content:"\\
Login.c(118): f1eb"}.fa-calculator:before{content:"\\f1ec"}.fa-
paypal:before{content:"\\f1ed"}.fa-google
Login.c(118): -wallet:before{content:"\\f1ee"}.fa-cc-
visa:before{content:"\\f1f0"}.fa-cc-mastercard:befo
Login.c(118): re{content:"\\f1f1"}.fa-cc-discover:before{content:"\\f1f2"}.fa-
cc-amex:before{content:"\\
Login.c(118): f1f3"}.fa-cc-paypal:before{content:"\\f1f4"}.fa-cc-
stripe:before{content:"\\f1f5"}.fa-bell
Login.c(118): -slash:before{content:"\\f1f6"}.fa-bell-slash-
o:before{content:"\\f1f7"}.fa-trash:before{c
Login.c(118): ontent:"\\f1f8"}.fa-copyright:before{content:"\\f1f9"}.fa-
at:before{content:"\\f1fa"}.fa-e
Login.c(118): yedropper:before{content:"\\f1fb"}.fa-paint-
brush:before{content:"\\f1fc"}.fa-birthday-cak
Login.c(118): e:before{content:"\\f1fd"}.fa-area-
chart:before{content:"\\f1fe"}.fa-pie-chart:before{cont
Login.c(118): ent:"\\f200"}.fa-line-chart:before{content:"\\f201"}.fa-
lastfm:before{content:"\\f202"}.fa
Login.c(118): -lastfm-square:before{content:"\\f203"}.fa-toggle-
off:before{content:"\\f204"}.fa-toggle-o
Login.c(118): n:before{content:"\\f205"}.fa-
bicycle:before{content:"\\f206"}.fa-bus:before{content:"\\f2
Login.c(118): 07"}.fa-ioxhost:before{content:"\\f208"}.fa-
angellist:before{content:"\\f209"}.fa-cc:befor
Login.c(118): e{content:"\\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-
ils:before{content:"\\f20b"}.fa
Login.c(118): -meanpath:before{content:"\\f20c"}
Login.c(118): t=4924ms: 280-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"2261-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4925ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): a\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 103\r\n
Login.c(118): t=4925ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4925ms: 781-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): t=4925ms: 2261-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/slick-default-theme.css"
(RelFrameId=, Internal ID=34)
Login.c(118): /*\n
Login.c(118): IMPORTANT:\n
Login.c(118): In order to preserve the uniform grid appearance, all cell styles
need to have padding, ma
Login.c(118): rgin and border sizes.\n
Login.c(118): No built-in (selected, editable, highlight, flashing, invalid,
loading, :focus) or user-sp
Login.c(118): ecified CSS\n
Login.c(118): classes should alter those!\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): .slick-header-columns {\n
Login.c(118): background: url('images/header-columns-bg.gif') repeat-x center
bottom;\n
Login.c(118): border-bottom: 1px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-header-column {\n
Login.c(118): background: url('images/header-columns-bg.gif') repeat-x center
bottom;\n
Login.c(118): border-right: 1px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-header-column:hover, .slick-header-column-active {\n
Login.c(118): background: white url('images/header-columns-over-bg.gif')
repeat-x center bottom;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-headerrow {\n
Login.c(118): background: #fafafa;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-headerrow-column {\n
Login.c(118): background: #fafafa;\n
Login.c(118): border-bottom: 0;\n
Login.c(118): height: 100%;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.ui-state-active {\n
Login.c(118): background: #F5F7D7;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row {\n
Login.c(118): position: absolute;\n
Login.c(118): background: white;\n
Login.c(118): border: 0px;\n
Login.c(118): line-height: 20px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.selected {\n
Login.c(118): z-index: 10;\n
Login.c(118): background: #DFE8F6;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell {\n
Login.c(118): padding-left: 4px;\n
Login.c(118): padding-right: 4px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group {\n
Login.c(118): border-bottom: 2px solid silver;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle {\n
Login.c(118): width: 9px;\n
Login.c(118): height: 9px;\n
Login.c(118): margin-right: 5px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle.expanded {\n
Login.c(118): background: url(images/collapse.gif) no-repeat center center;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-toggle.collapsed {\n
Login.c(118): background: url(images/expand.gif) no-repeat center center;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-group-totals {\n
Login.c(118): color: gray;\n
Login.c(118): background: white;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.selected {\n
Login.c(118): background-color: beige;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.active {\n
Login.c(118): border-color: gray;\n
Login.c(118): border-style: solid;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-sortable-placeholder {\n
Login.c(118): background: silver !important;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.odd {\n
Login.c(118): background: #fafafa;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.ui-state-active {\n
Login.c(118): background: #F5F7D7;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-row.loading {\n
Login.c(118): opacity: 0.5;\n
Login.c(118): filter: alpha(opacity = 50);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .slick-cell.invalid {\n
Login.c(118): border-color: red;\n
Login.c(118): -moz-animation-duration: 0.2s;\n
Login.c(118): -webkit-animation-duration: 0.2s;\n
Login.c(118): -moz-animation-name: slickgrid-invalid-hilite;\n
Login.c(118): -webkit-animation-name: slickgrid-invalid-hilite; \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): @-moz-keyframes slickgrid-invalid-hilite {\n
Login.c(118): from { box-shadow: 0 0 6px red; }\n
Login.c(118): to { box-shadow: none; }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): @-webkit-keyframes slickgrid-invalid-hilite {\n
Login.c(118): from { box-shadow: 0 0 6px red; }\n
Login.c(118): to { box-shadow: none; }\n
Login.c(118): }
Login.c(118): t=4931ms: 281-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"35212-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: text/css\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4932ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): a\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4932ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4933ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 1b2\r\n
Login.c(118): t=4934ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=4935ms: 8124-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): t=4935ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): /*! jQuery UI - v1.11.1 - 2014-08-13\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): * Includes: core.css, accordion.css, autocomplete.css,
button.css, datepicker.css, dialog.
Login.c(118): css, draggable.css, menu.css, progressbar.css, resizable.css,
selectable.css, selectmenu.c
Login.c(118): ss, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css,
theme.css\n
Login.c(118): * To view and modify this theme, visit
http://jqueryui.com/themeroller/?ffDefault=Verdana%
Login.c(118): 2CArial%2Csans-
serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=ccccc
Login.c(118):
c&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcH
eader=2
Login.c(118):
22222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpaci
tyConte
Login.c(118):
nt=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDef
ault=e6
Login.c(118):
e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefa
ult=555
Login.c(118):
555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHo
ver=75&
Login.c(118):
borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&b
gTextur
Login.c(118):
eActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconCo
lorActi
Login.c(118):
ve=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55
&border
Login.c(118):
ColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef
1ec&bgT
Login.c(118):
extureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconC
olorErr
Login.c(118):
or=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacity
Overlay
Login.c(118):
=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30
&thickn
Login.c(118): essShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-
8px&cornerRadiusShadow=8px\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors;
Licensed MIT */\n
Login.c(118): \n
Login.c(118): /* Layout helpers\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-helper-hidden {\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-helper-hidden-accessible {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tclip: rect(0 0 0 0);\n
Login.c(118): \theight: 1px;\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \twidth: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-helper-reset {\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \toutline: 0;\n
Login.c(118): \tline-height: 1.3;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): \tfont-size: 100%;\n
Login.c(118): \tlist-style: none;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix:before,\n
Login.c(118): .ui-helper-clearfix:after {\n
Login.c(118): \tcontent: "";\n
Login.c(118): \tdisplay: table;\n
Login.c(118): \tborder-collapse: collapse;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix:after {\n
Login.c(118): \tclear: both;\n
Login.c(118): }\n
Login.c(118): .ui-helper-clearfix {\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): }\n
Login.c(118): .ui-helper-zfix {\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \theight: 100%;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \topacity: 0;\n
Login.c(118): \tfilter:Alpha(Opacity=0); /* support: IE8 */\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-front {\n
Login.c(118): \tz-index: 100;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Interaction Cues\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-disabled {\n
Login.c(118): \tcursor: default !important;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Icons\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* states and images */\n
Login.c(118): .ui-icon {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \ttext-indent: -99999px;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tbackground-repeat: no-repeat;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Misc visuals\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* Overlays */\n
Login.c(118): .ui-widget-overlay {\n
Login.c(118): \tposition: fixed;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-header {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tmargin: 2px 0 0 0;\n
Login.c(118): \tpadding: .5em .5em .5em .7em;\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): \tfont-size: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-icons {\n
Login.c(118): \tpadding-left: 2.2em;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-icons .ui-accordion-icons {\n
Login.c(118): \tpadding-left: 2.2em;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tleft: .5em;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-accordion .ui-accordion-content {\n
Login.c(118): \tpadding: 1em 2.2em;\n
Login.c(118): \tborder-top: 0;\n
Login.c(118): \toverflow: auto;\n
Login.c(118): }\n
Login.c(118): .ui-autocomplete {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tcursor: default;\n
Login.c(118): }\n
Login.c(118): .ui-button {\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tline-height: normal;\n
Login.c(118): \tmargin-right: .1em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \toverflow: visible; /* removes extra width in IE */\n
Login.c(118): }\n
Login.c(118): .ui-button,\n
Login.c(118): .ui-button:link,\n
Login.c(118): .ui-button:visited,\n
Login.c(118): .ui-button:hover,\n
Login.c(118): .ui-button:active {\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): /* to make room for the icon, a width needs to be set here */\n
Login.c(118): .ui-button-icon-only {\n
Login.c(118): \twidth: 2.2em;\n
Login.c(118): }\n
Login.c(118): /* button elements seem to need a little more width */\n
Login.c(118): button.ui-button-icon-only {\n
Login.c(118): \twidth: 2.4em;\n
Login.c(118): }\n
Login.c(118): .ui-button-icons-only {\n
Login.c(118): \twidth: 3.4em;\n
Login.c(118): }\n
Login.c(118): button.ui-button-icons-only {\n
Login.c(118): \twidth: 3.7em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button text element */\n
Login.c(118): .ui-button .ui-button-text {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tline-height: normal;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-only .ui-button-text {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-icon-only .ui-button-text,\n
Login.c(118): .ui-button-icons-only .ui-button-text {\n
Login.c(118): \tpadding: .4em;\n
Login.c(118): \ttext-indent: -9999999px;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-primary .ui-button-text,\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding: .4em 1em .4em 2.1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-secondary .ui-button-text,\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding: .4em 2.1em .4em 1em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icons .ui-button-text {\n
Login.c(118): \tpadding-left: 2.1em;\n
Login.c(118): \tpadding-right: 2.1em;\n
Login.c(118): }\n
Login.c(118): /* no icon support for input elements, provide padding by default
*/\n
Login.c(118): input.ui-button {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button icon element(s) */\n
Login.c(118): .ui-button-icon-only .ui-icon,\n
Login.c(118): .ui-button-text-icon-primary .ui-icon,\n
Login.c(118): .ui-button-text-icon-secondary .ui-icon,\n
Login.c(118): .ui-button-text-icons .ui-icon,\n
Login.c(118): .ui-button-icons-only .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-button-icon-only .ui-icon {\n
Login.c(118): \tleft: 50%;\n
Login.c(118): \tmargin-left: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-primary .ui-button-icon-primary,\n
Login.c(118): .ui-button-text-icons .ui-button-icon-primary,\n
Login.c(118): .ui-button-icons-only .ui-button-icon-primary {\n
Login.c(118): \tleft: .5em;\n
Login.c(118): }\n
Login.c(118): .ui-button-text-icon-secondary .ui-button-icon-secondary,\n
Login.c(118): .ui-button-text-icons .ui-button-icon-secondary,\n
Login.c(118): .ui-button-icons-only .ui-button-icon-secondary {\n
Login.c(118): \tright: .5em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* button sets */\n
Login.c(118): .ui-buttonset {\n
Login.c(118): \tmargin-right: 7px;\n
Login.c(118): }\n
Login.c(118): .ui-buttonset .ui-button {\n
Login.c(118): \tmargin-left: 0;\n
Login.c(118): \tmargin-right: -.3em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* workarounds */\n
Login.c(118): /* reset extra padding in Firefox, see h5bp.com/l */\n
Login.c(118): input.ui-button::-moz-focus-inner,\n
Login.c(118): button.ui-button::-moz-focus-inner {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker {\n
Login.c(118): \twidth: 17em;\n
Login.c(118): \tpadding: .2em .2em 0;\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-header {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tpadding: .2em 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev,\n
Login.c(118): .ui-datepicker .ui-datepicker-next {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 2px;\n
Login.c(118): \twidth: 1.8em;\n
Login.c(118): \theight: 1.8em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev-hover,\n
Login.c(118): .ui-datepicker .ui-datepicker-next-hover {\n
Login.c(118): \ttop: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev {\n
Login.c(118): \tleft: 2px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-next {\n
Login.c(118): \tright: 2px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev-hover {\n
Login.c(118): \tleft: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-next-hover {\n
Login.c(118): \tright: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-prev span,\n
Login.c(118): .ui-datepicker .ui-datepicker-next span {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tleft: 50%;\n
Login.c(118): \tmargin-left: -8px;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-title {\n
Login.c(118): \tmargin: 0 2.3em;\n
Login.c(118): \tline-height: 1.8em;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-title select {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): \tmargin: 1px 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker select.ui-datepicker-month,\n
Login.c(118): .ui-datepicker select.ui-datepicker-year {\n
Login.c(118): \twidth: 45%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker table {\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tfont-size: .9em;\n
Login.c(118): \tborder-collapse: collapse;\n
Login.c(118): \tmargin: 0 0 .4em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker th {\n
Login.c(118): \tpadding: .7em .3em;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): \tborder: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker td {\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker td span,\n
Login.c(118): .ui-datepicker td a {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): \ttext-align: right;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane {\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): \tmargin: .7em 0 0 0;\n
Login.c(118): \tpadding: 0 .2em;\n
Login.c(118): \tborder-left: 0;\n
Login.c(118): \tborder-right: 0;\n
Login.c(118): \tborder-bottom: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane button {\n
Login.c(118): \tfloat: right;\n
Login.c(118): \tmargin: .5em .2em .4em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tpadding: .2em .6em .3em .6em;\n
Login.c(118): \twidth: auto;\n
Login.c(118): \toverflow: visible;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-
current {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* with multiple calendars */\n
Login.c(118): .ui-datepicker.ui-datepicker-multi {\n
Login.c(118): \twidth: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group table {\n
Login.c(118): \twidth: 95%;\n
Login.c(118): \tmargin: 0 auto .4em;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-2 .ui-datepicker-group {\n
Login.c(118): \twidth: 50%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-3 .ui-datepicker-group {\n
Login.c(118): \twidth: 33.3%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi-4 .ui-datepicker-group {\n
Login.c(118): \twidth: 25%;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-
header,\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-
header {\n
Login.c(118): \tborder-left-width: 0;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-multi .ui-datepicker-buttonpane {\n
Login.c(118): \tclear: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-row-break {\n
Login.c(118): \tclear: both;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tfont-size: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* RTL support */\n
Login.c(118): .ui-datepicker-rtl {\n
Login.c(118): \tdirection: rtl;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-prev {\n
Login.c(118): \tright: 2px;\n
Login.c(118): \tleft: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-next {\n
Login.c(118): \tleft: 2px;\n
Login.c(118): \tright: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-prev:hover {\n
Login.c(118): \tright: 1px;\n
Login.c(118): \tleft: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-next:hover {\n
Login.c(118): \tleft: 1px;\n
Login.c(118): \tright: auto;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane {\n
Login.c(118): \tclear: right;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane button {\n
Login.c(118): \tfloat: left;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-
datepicker-current,\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group {\n
Login.c(118): \tfloat: right;\n
Login.c(118): }\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-
header,\n
Login.c(118): .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-
header {\n
Login.c(118): \tborder-right-width: 0;\n
Login.c(118): \tborder-left-width: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-dialog {\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): \toutline: 0;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-titlebar {\n
Login.c(118): \tpadding: .4em 1em;\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-title {\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tmargin: .1em 0;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): \twidth: 90%;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \ttext-overflow: ellipsis;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-titlebar-close {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tright: .3em;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \twidth: 20px;\n
Login.c(118): \tmargin: -10px 0 0 0;\n
Login.c(118): \tpadding: 1px;\n
Login.c(118): \theight: 20px;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-content {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tpadding: .5em 1em;\n
Login.c(118): \tbackground: none;\n
Login.c(118): \toverflow: auto;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane {\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \tborder-width: 1px 0 0 0;\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): \tmargin-top: .5em;\n
Login.c(118): \tpadding: .3em 1em .5em .4em;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n
Login.c(118): \tfloat: right;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-dialog-buttonpane button {\n
Login.c(118): \tmargin: .5em .4em .5em 0;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-dialog .ui-resizable-se {\n
Login.c(118): \twidth: 12px;\n
Login.c(118): \theight: 12px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): \tbackground-position: 16px 16px;\n
Login.c(118): }\n
Login.c(118): .ui-draggable .ui-dialog-titlebar {\n
Login.c(118): \tcursor: move;\n
Login.c(118): }\n
Login.c(118): .ui-draggable-handle {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-menu {\n
Login.c(118): \tlist-style: none;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \toutline: none;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu-item {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: 3px 1em 3px .4em;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): \tmin-height: 0; /* support: IE7 */\n
Login.c(118): \t/* support: IE10, see #8844 */\n
Login.c(118): \tlist-style-image:
url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAA
Login.c(118): BAAEAAAIBRAA7");\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-menu-divider {\n
Login.c(118): \tmargin: 5px 0;\n
Login.c(118): \theight: 0;\n
Login.c(118): \tfont-size: 0;\n
Login.c(118): \tline-height: 0;\n
Login.c(118): \tborder-width: 1px 0 0 0;\n
Login.c(118): }\n
Login.c(118): .ui-menu .ui-state-focus,\n
Login.c(118): .ui-menu .ui-state-active {\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* icon support */\n
Login.c(118): .ui-menu-icons {\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-menu-icons .ui-menu-item {\n
Login.c(118): \tpadding-left: 2em;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* left-aligned */\n
Login.c(118): .ui-menu .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tbottom: 0;\n
Login.c(118): \tleft: .2em;\n
Login.c(118): \tmargin: auto 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* right-aligned */\n
Login.c(118): .ui-menu .ui-menu-icon {\n
Login.c(118): \tleft: auto;\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar {\n
Login.c(118): \theight: 2em;\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar .ui-progressbar-value {\n
Login.c(118): \tmargin: -1px;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar .ui-progressbar-overlay {\n
Login.c(118): \tbackground:
url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAA
Login.c(118):
AAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w
9XgU2FB
Login.c(118):
3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6
W459gnW
Login.c(118):
GfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2
uuzDmmH
Login.c(118):
UBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9
VpZRedY
Login.c(118):
cflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq6
2lAAACH
Login.c(118):
5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhB
VeT/Lz7
Login.c(118):
ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlK
Login.c(118): t=4957ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118):
jn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb
6HLgd/i
Login.c(118):
O7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHO
GpWMyor
Login.c(118):
blKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHG
hqp6ilY
Login.c(118):
uWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V
80/X02p
Login.c(118):
Ke8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/
+Xdie499XHd2g4
Login.c(118):
h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAA
oAAACko
Login.c(118):
QRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNY
rSgZdYr
Login.c(118):
TX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfk
JGkha6j
Login.c(118):
mY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqi
p61i9E3
Login.c(118):
vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+M
XSFi4Bn
Login.c(118):
iGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoA
CgAAAKX
Login.c(118):
jI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6no
mtJjp1t
Login.c(118):
utKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4G
BqJ+ckI
Login.c(118):
OqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbR
a2/gF8G
Login.c(118):
u2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1
rseztfX
Login.c(118):
ZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAA
AAAAoAC
Login.c(118):
gAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU
8xTqlLG
Login.c(118):
htCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvj
WKcnoGQ
Login.c(118): pqyPlpOhr3aElaqrq56Bq7VAAAOw==");\n
Login.c(118): \theight: 100%;\n
Login.c(118): \tfilter: alpha(opacity=25); /* support: IE8 */\n
Login.c(118): \topacity: 0.25;\n
Login.c(118): }\n
Login.c(118): .ui-progressbar-indeterminate .ui-progressbar-value {\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable {\n
Login.c(118): \tposition: relative;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-handle {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tfont-size: 0.1px;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-disabled .ui-resizable-handle,\n
Login.c(118): .ui-resizable-autohide .ui-resizable-handle {\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-n {\n
Login.c(118): \tcursor: n-resize;\n
Login.c(118): \theight: 7px;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-s {\n
Login.c(118): \tcursor: s-resize;\n
Login.c(118): \theight: 7px;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-e {\n
Login.c(118): \tcursor: e-resize;\n
Login.c(118): \twidth: 7px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-w {\n
Login.c(118): \tcursor: w-resize;\n
Login.c(118): \twidth: 7px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-se {\n
Login.c(118): \tcursor: se-resize;\n
Login.c(118): \twidth: 12px;\n
Login.c(118): \theight: 12px;\n
Login.c(118): \tright: 1px;\n
Login.c(118): \tbottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-sw {\n
Login.c(118): \tcursor: sw-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \tbottom: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-nw {\n
Login.c(118): \tcursor: nw-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tleft: -5px;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-resizable-ne {\n
Login.c(118): \tcursor: ne-resize;\n
Login.c(118): \twidth: 9px;\n
Login.c(118): \theight: 9px;\n
Login.c(118): \tright: -5px;\n
Login.c(118): \ttop: -5px;\n
Login.c(118): }\n
Login.c(118): .ui-selectable {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-selectable-helper {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 100;\n
Login.c(118): \tborder: 1px dotted black;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu {\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tleft: 0;\n
Login.c(118): \tdisplay: none;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu .ui-menu {\n
Login.c(118): \toverflow: auto;\n
Login.c(118): \t/* Support: IE7 */\n
Login.c(118): \toverflow-x: hidden;\n
Login.c(118): \tpadding-bottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): \tline-height: 1.5;\n
Login.c(118): \tpadding: 2px 0.4em;\n
Login.c(118): \tmargin: 0.5em 0 0 0;\n
Login.c(118): \theight: auto;\n
Login.c(118): \tborder: 0;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-open {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button {\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button span.ui-icon {\n
Login.c(118): \tright: 0.5em;\n
Login.c(118): \tleft: auto;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): }\n
Login.c(118): .ui-selectmenu-button span.ui-selectmenu-text {\n
Login.c(118): \ttext-align: left;\n
Login.c(118): \tpadding: 0.4em 2.1em 0.4em 1em;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tline-height: 1.4;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \ttext-overflow: ellipsis;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): }\n
Login.c(118): .ui-slider {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttext-align: left;\n
Login.c(118): }\n
Login.c(118): .ui-slider .ui-slider-handle {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 2;\n
Login.c(118): \twidth: 1.2em;\n
Login.c(118): \theight: 1.2em;\n
Login.c(118): \tcursor: default;\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-slider .ui-slider-range {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 1;\n
Login.c(118): \tfont-size: .7em;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tborder: 0;\n
Login.c(118): \tbackground-position: 0 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* support: IE8 - See #6727 */\n
Login.c(118): .ui-slider.ui-state-disabled .ui-slider-handle,\n
Login.c(118): .ui-slider.ui-state-disabled .ui-slider-range {\n
Login.c(118): \tfilter: inherit;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-slider-horizontal {\n
Login.c(118): \theight: .8em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-handle {\n
Login.c(118): \ttop: -.3em;\n
Login.c(118): \tmargin-left: -.6em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range {\n
Login.c(118): \ttop: 0;\n
Login.c(118): \theight: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range-min {\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-slider-horizontal .ui-slider-range-max {\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): .ui-slider-vertical {\n
Login.c(118): \twidth: .8em;\n
Login.c(118): \theight: 100px;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-handle {\n
Login.c(118): \tleft: -.3em;\n
Login.c(118): \tmargin-left: 0;\n
Login.c(118): \tmargin-bottom: -.6em;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range {\n
Login.c(118): \tleft: 0;\n
Login.c(118): \twidth: 100%;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range-min {\n
Login.c(118): \tbottom: 0;\n
Login.c(118): }\n
Login.c(118): .ui-slider-vertical .ui-slider-range-max {\n
Login.c(118): \ttop: 0;\n
Login.c(118): }\n
Login.c(118): .ui-sortable-handle {\n
Login.c(118): \t-ms-touch-action: none;\n
Login.c(118): \ttouch-action: none;\n
Login.c(118): }\n
Login.c(118): .ui-spinner {\n
Login.c(118): \tposition: relative;\n
Login.c(118): \tdisplay: inline-block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-input {\n
Login.c(118): \tborder: none;\n
Login.c(118): \tbackground: none;\n
Login.c(118): \tcolor: inherit;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: .2em 0;\n
Login.c(118): \tvertical-align: middle;\n
Login.c(118): \tmargin-left: .4em;\n
Login.c(118): \tmargin-right: 22px;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-button {\n
Login.c(118): \twidth: 16px;\n
Login.c(118): \theight: 50%;\n
Login.c(118): \tfont-size: .5em;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \ttext-align: center;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tcursor: default;\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \toverflow: hidden;\n
Login.c(118): \tright: 0;\n
Login.c(118): }\n
Login.c(118): /* more specificity required here to override default borders
*/\n
Login.c(118): .ui-spinner a.ui-spinner-button {\n
Login.c(118): \tborder-top: none;\n
Login.c(118): \tborder-bottom: none;\n
Login.c(118): \tborder-right: none;\n
Login.c(118): }\n
Login.c(118): /* vertically center icon */\n
Login.c(118): .ui-spinner .ui-icon {\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tmargin-top: -8px;\n
Login.c(118): \ttop: 50%;\n
Login.c(118): \tleft: 0;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-up {\n
Login.c(118): \ttop: 0;\n
Login.c(118): }\n
Login.c(118): .ui-spinner-down {\n
Login.c(118): \tbottom: 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* TR overrides */\n
Login.c(118): .ui-spinner .ui-icon-triangle-1-s {\n
Login.c(118): \t/* need to fix icons sprite */\n
Login.c(118): \tbackground-position: -65px -16px;\n
Login.c(118): }\n
Login.c(118): .ui-tabs {\n
Login.c(118): \tposition: relative;/* position: relative prevents IE scroll bug
(element with position:
Login.c(118): relative inside container with overflow: auto appear as "fixed")
*/\n
Login.c(118): \tpadding: .2em;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav {\n
Login.c(118): \tmargin: 0;\n
Login.c(118): \tpadding: .2em .2em 0;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li {\n
Login.c(118): \tlist-style: none;\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tposition: relative;\n
Login.c(118): \ttop: 0;\n
Login.c(118): \tmargin: 1px .2em 0 0;\n
Login.c(118): \tborder-bottom-width: 0;\n
Login.c(118): \tpadding: 0;\n
Login.c(118): \twhite-space: nowrap;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n
Login.c(118): \tfloat: left;\n
Login.c(118): \tpadding: .5em 1em;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-active {\n
Login.c(118): \tmargin-bottom: -1px;\n
Login.c(118): \tpadding-bottom: 1px;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n
Login.c(118): .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n
Login.c(118): \tcursor: text;\n
Login.c(118): }\n
Login.c(118): .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-
anchor {\n
Login.c(118): \tcursor: pointer;\n
Login.c(118): }\n
Login.c(118): .ui-tabs .ui-tabs-panel {\n
Login.c(118): \tdisplay: block;\n
Login.c(118): \tborder-width: 0;\n
Login.c(118): \tpadding: 1em 1.4em;\n
Login.c(118): \tbackground: none;\n
Login.c(118): }\n
Login.c(118): .ui-tooltip {\n
Login.c(118): \tpadding: 8px;\n
Login.c(118): \tposition: absolute;\n
Login.c(118): \tz-index: 9999;\n
Login.c(118): \tmax-width: 300px;\n
Login.c(118): \t-webkit-box-shadow: 0 0 5px #aaa;\n
Login.c(118): \tbox-shadow: 0 0 5px #aaa;\n
Login.c(118): }\n
Login.c(118): body .ui-tooltip {\n
Login.c(118): \tborder-width: 2px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Component containers\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-widget {\n
Login.c(118): \tfont-family: Verdana,Arial,sans-serif;\n
Login.c(118): \tfont-size: 1.1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget .ui-widget {\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget input,\n
Login.c(118): .ui-widget select,\n
Login.c(118): .ui-widget textarea,\n
Login.c(118): .ui-widget button {\n
Login.c(118): \tfont-family: Verdana,Arial,sans-serif;\n
Login.c(118): \tfont-size: 1em;\n
Login.c(118): }\n
Login.c(118): .ui-widget-content {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #ffffff url("images/ui-
bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): .ui-widget-content a {\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): .ui-widget-header {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #cccccc url("images/ui-bg_highlight-
soft_75_cccccc_1x100.png") 50% 50% repea
Login.c(118): t-x;\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): }\n
Login.c(118): .ui-widget-header a {\n
Login.c(118): \tcolor: #222222;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Interaction states\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-default,\n
Login.c(118): .ui-widget-content .ui-state-default,\n
Login.c(118): .ui-widget-header .ui-state-default {\n
Login.c(118): \tborder: 1px solid #d3d3d3;\n
Login.c(118): \tbackground: #e6e6e6 url("images/ui-
bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #555555;\n
Login.c(118): }\n
Login.c(118): .ui-state-default a,\n
Login.c(118): .ui-state-default a:link,\n
Login.c(118): .ui-state-default a:visited {\n
Login.c(118): \tcolor: #555555;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-hover,\n
Login.c(118): .ui-widget-content .ui-state-hover,\n
Login.c(118): .ui-widget-header .ui-state-hover,\n
Login.c(118): .ui-state-focus,\n
Login.c(118): .ui-widget-content .ui-state-focus,\n
Login.c(118): .ui-widget-header .ui-state-focus {\n
Login.c(118): \tborder: 1px solid #999999;\n
Login.c(118): \tbackground: #dadada url("images/ui-
bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): }\n
Login.c(118): .ui-state-hover a,\n
Login.c(118): .ui-state-hover a:hover,\n
Login.c(118): .ui-state-hover a:link,\n
Login.c(118): .ui-state-hover a:visited,\n
Login.c(118): .ui-state-focus a,\n
Login.c(118): .ui-state-focus a:hover,\n
Login.c(118): .ui-state-focus a:link,\n
Login.c(118): .ui-state-focus a:visited {\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-active,\n
Login.c(118): .ui-widget-content .ui-state-active,\n
Login.c(118): .ui-widget-header .ui-state-active {\n
Login.c(118): \tborder: 1px solid #aaaaaa;\n
Login.c(118): \tbackground: #ffffff url("images/ui-
bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): }\n
Login.c(118): .ui-state-active a,\n
Login.c(118): .ui-state-active a:link,\n
Login.c(118): .ui-state-active a:visited {\n
Login.c(118): \tcolor: #212121;\n
Login.c(118): \ttext-decoration: none;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Interaction Cues\n
Login.c(118): ----------------------------------*/\n
Login.c(118): .ui-state-highlight,\n
Login.c(118): .ui-widget-content .ui-state-highlight,\n
Login.c(118): .ui-widget-header .ui-state-highlight {\n
Login.c(118): \tborder: 1px solid #fcefa1;\n
Login.c(118): \tbackground: #fbf9ee url("images/ui-
bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #363636;\n
Login.c(118): }\n
Login.c(118): .ui-state-highlight a,\n
Login.c(118): .ui-widget-content .ui-state-highlight a,\n
Login.c(118): .ui-widget-header .ui-state-highlight a {\n
Login.c(118): \tcolor: #363636;\n
Login.c(118): }\n
Login.c(118): .ui-state-error,\n
Login.c(118): .ui-widget-content .ui-state-error,\n
Login.c(118): .ui-widget-header .ui-state-error {\n
Login.c(118): \tborder: 1px solid #cd0a0a;\n
Login.c(118): \tbackground: #fef1ec url("images/ui-
bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-state-error a,\n
Login.c(118): .ui-widget-content .ui-state-error a,\n
Login.c(118): .ui-widget-header .ui-state-error a {\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-state-error-text,\n
Login.c(118): .ui-widget-content .ui-state-error-text,\n
Login.c(118): .ui-widget-header .ui-state-error-text {\n
Login.c(118): \tcolor: #cd0a0a;\n
Login.c(118): }\n
Login.c(118): .ui-priority-primary,\n
Login.c(118): .ui-widget-content .ui-priority-primary,\n
Login.c(118): .ui-widget-header .ui-priority-primary {\n
Login.c(118): \tfont-weight: bold;\n
Login.c(118): }\n
Login.c(118): .ui-priority-secondary,\n
Login.c(118): .ui-widget-content .ui-priority-secondary,\n
Login.c(118): .ui-widget-header .ui-priority-secondary {\n
Login.c(118): \topacity: .7;\n
Login.c(118): \tfilter:Alpha(Opacity=70); /* support: IE8 */\n
Login.c(118): \tfont-weight: normal;\n
Login.c(118): }\n
Login.c(118): .ui-state-disabled,\n
Login.c(118): .ui-widget-content .ui-state-disabled,\n
Login.c(118): .ui-widget-header .ui-state-disabled {\n
Login.c(118): \topacity: .35;\n
Login.c(118): \tfilter:Alpha(Opacity=35); /* support: IE8 */\n
Login.c(118): \tbackground-image: none;\n
Login.c(118): }\n
Login.c(118): .ui-state-disabled .ui-icon {\n
Login.c(118): \tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Icons\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* states and images */\n
Login.c(118): .ui-icon {\n
Login.c(118): \twidth: 16px;\n
Login.c(118): \theight: 16px;\n
Login.c(118): }\n
Login.c(118): .ui-icon,\n
Login.c(118): .ui-widget-content .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_cd0a0a_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-widget-header .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_222222_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-default .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_888888_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-hover .ui-icon,\n
Login.c(118): .ui-state-focus .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_454545_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-active .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_454545_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-highlight .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_2e83ff_256x240.png");\n
Login.c(118): }\n
Login.c(118): .ui-state-error .ui-icon,\n
Login.c(118): .ui-state-error-text .ui-icon {\n
Login.c(118): \tbackground-image: url("images/ui-icons_cd0a0a_256x240.png");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* positioning */\n
Login.c(118): .ui-icon-blank { background-position: 16px 16px; }\n
Login.c(118): .ui-icon-carat-1-n { background-position: 0 0; }\n
Login.c(118): .ui-icon-carat-1-ne { background-position: -16px 0; }\n
Login.c(118): .ui-icon-carat-1-e { background-position: -32px 0; }\n
Login.c(118): .ui-icon-carat-1-se { background-position: -48px 0; }\n
Login.c(118): .ui-icon-carat-1-s { background-position: -64px 0; }\n
Login.c(118): .ui-icon-carat-1-sw { background-position: -80px 0; }\n
Login.c(118): .ui-icon-carat-1-w { background-position: -96px 0; }\n
Login.c(118): .ui-icon-carat-1-nw { background-position: -112px 0; }\n
Login.c(118): .ui-icon-carat-2-n-s { background-position: -128px 0; }\n
Login.c(118): .ui-icon-carat-2-e-w { background-position: -144px 0; }\n
Login.c(118): .ui-icon-triangle-1-n { background-position: 0 -16px; }\n
Login.c(118): .ui-icon-t
Login.c(118): t=4978ms: 10636-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/css/jquery-ui.css" (RelFrameId=,
Internal ID=36)
Login.c(118): riangle-1-ne { background-position: -16px -16px; }\n
Login.c(118): .ui-icon-triangle-1-e { background-position: -32px -16px; }\n
Login.c(118): .ui-icon-triangle-1-se { background-position: -48px -16px; }\n
Login.c(118): .ui-icon-triangle-1-s { background-position: -64px -16px; }\n
Login.c(118): .ui-icon-triangle-1-sw { background-position: -80px -16px; }\n
Login.c(118): .ui-icon-triangle-1-w { background-position: -96px -16px; }\n
Login.c(118): .ui-icon-triangle-1-nw { background-position: -112px -16px; }\n
Login.c(118): .ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n
Login.c(118): .ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n
Login.c(118): .ui-icon-arrow-1-n { background-position: 0 -32px; }\n
Login.c(118): .ui-icon-arrow-1-ne { background-position: -16px -32px; }\n
Login.c(118): .ui-icon-arrow-1-e { background-position: -32px -32px; }\n
Login.c(118): .ui-icon-arrow-1-se { background-position: -48px -32px; }\n
Login.c(118): .ui-icon-arrow-1-s { background-position: -64px -32px; }\n
Login.c(118): .ui-icon-arrow-1-sw { background-position: -80px -32px; }\n
Login.c(118): .ui-icon-arrow-1-w { background-position: -96px -32px; }\n
Login.c(118): .ui-icon-arrow-1-nw { background-position: -112px -32px; }\n
Login.c(118): .ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n
Login.c(118): .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n
Login.c(118): .ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n
Login.c(118): .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n
Login.c(118): .ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n
Login.c(118): .ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n
Login.c(118): .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n
Login.c(118): .ui-icon-arrowthick-2-n-s { background-position: -128px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-ne-sw { background-position: -144px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-e-w { background-position: -160px
-48px; }\n
Login.c(118): .ui-icon-arrowthick-2-se-nw { background-position: -176px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-n { background-position: -192px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-e { background-position: -208px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-s { background-position: -224px
-48px; }\n
Login.c(118): .ui-icon-arrowthickstop-1-w { background-position: -240px
-48px; }\n
Login.c(118): .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n
Login.c(118): .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px;
}\n
Login.c(118): .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px;
}\n
Login.c(118): .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px;
}\n
Login.c(118): .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n
Login.c(118): .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-w { background-position: -128px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-n { background-position: -144px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-e { background-position: -160px
-64px; }\n
Login.c(118): .ui-icon-arrowrefresh-1-s { background-position: -176px
-64px; }\n
Login.c(118): .ui-icon-arrow-4 { background-position: 0 -80px; }\n
Login.c(118): .ui-icon-arrow-4-diag { background-position: -16px -80px; }\n
Login.c(118): .ui-icon-extlink { background-position: -32px -80px; }\n
Login.c(118): .ui-icon-newwin { background-position: -48px -80px; }\n
Login.c(118): .ui-icon-refresh { background-position: -64px -80px; }\n
Login.c(118): .ui-icon-shuffle { background-position: -80px -80px; }\n
Login.c(118): .ui-icon-transfer-e-w { background-position: -96px -80px; }\n
Login.c(118): .ui-icon-transferthick-e-w { background-position: -112px
-80px; }\n
Login.c(118): .ui-icon-folder-collapsed { background-position: 0 -96px; }\n
Login.c(118): .ui-icon-folder-open { background-position: -16px -96px; }\n
Login.c(118): .ui-icon-document { background-position: -32px -96px; }\n
Login.c(118): .ui-icon-document-b { background-position: -48px -96px; }\n
Login.c(118): .ui-icon-note { background-position: -64px -96px; }\n
Login.c(118): .ui-icon-mail-closed { background-position: -80px -96px; }\n
Login.c(118): .ui-icon-mail-open { background-position: -96px -96px; }\n
Login.c(118): .ui-icon-suitcase { background-position: -112px -96px; }\n
Login.c(118): .ui-icon-comment { background-position: -128px -96px; }\n
Login.c(118): .ui-icon-person { background-position: -144px -96px; }\n
Login.c(118): .ui-icon-print { background-position: -160px -96px; }\n
Login.c(118): .ui-icon-trash { background-position: -176px -96px; }\n
Login.c(118): .ui-icon-locked { background-position: -192px -96px; }\n
Login.c(118): .ui-icon-unlocked { background-position: -208px -96px; }\n
Login.c(118): .ui-icon-bookmark { background-position: -224px -96px; }\n
Login.c(118): .ui-icon-tag { background-position: -240px -96px; }\n
Login.c(118): .ui-icon-home { background-position: 0 -112px; }\n
Login.c(118): .ui-icon-flag { background-position: -16px -112px; }\n
Login.c(118): .ui-icon-calendar { background-position: -32px -112px; }\n
Login.c(118): .ui-icon-cart { background-position: -48px -112px; }\n
Login.c(118): .ui-icon-pencil { background-position: -64px -112px; }\n
Login.c(118): .ui-icon-clock { background-position: -80px -112px; }\n
Login.c(118): .ui-icon-disk { background-position: -96px -112px; }\n
Login.c(118): .ui-icon-calculator { background-position: -112px -112px; }\n
Login.c(118): .ui-icon-zoomin { background-position: -128px -112px; }\n
Login.c(118): .ui-icon-zoomout { background-position: -144px -112px; }\n
Login.c(118): .ui-icon-search { background-position: -160px -112px; }\n
Login.c(118): .ui-icon-wrench { background-position: -176px -112px; }\n
Login.c(118): .ui-icon-gear { background-position: -192px -112px; }\n
Login.c(118): .ui-icon-heart { background-position: -208px -112px; }\n
Login.c(118): .ui-icon-star { background-position: -224px -112px; }\n
Login.c(118): .ui-icon-link { background-position: -240px -112px; }\n
Login.c(118): .ui-icon-cancel { background-position: 0 -128px; }\n
Login.c(118): .ui-icon-plus { background-position: -16px -128px; }\n
Login.c(118): .ui-icon-plusthick { background-position: -32px -128px; }\n
Login.c(118): .ui-icon-minus { background-position: -48px -128px; }\n
Login.c(118): .ui-icon-minusthick { background-position: -64px -128px; }\n
Login.c(118): .ui-icon-close { background-position: -80px -128px; }\n
Login.c(118): .ui-icon-closethick { background-position: -96px -128px; }\n
Login.c(118): .ui-icon-key { background-position: -112px -128px; }\n
Login.c(118): .ui-icon-lightbulb { background-position: -128px -128px; }\n
Login.c(118): .ui-icon-scissors { background-position: -144px -128px; }\n
Login.c(118): .ui-icon-clipboard { background-position: -160px -128px; }\n
Login.c(118): .ui-icon-copy { background-position: -176px -128px; }\n
Login.c(118): .ui-icon-contact { background-position: -192px -128px; }\n
Login.c(118): .ui-icon-image { background-position: -208px -128px; }\n
Login.c(118): .ui-icon-video { background-position: -224px -128px; }\n
Login.c(118): .ui-icon-script { background-position: -240px -128px; }\n
Login.c(118): .ui-icon-alert { background-position: 0 -144px; }\n
Login.c(118): .ui-icon-info { background-position: -16px -144px; }\n
Login.c(118): .ui-icon-notice { background-position: -32px -144px; }\n
Login.c(118): .ui-icon-help { background-position: -48px -144px; }\n
Login.c(118): .ui-icon-check { background-position: -64px -144px; }\n
Login.c(118): .ui-icon-bullet { background-position: -80px -144px; }\n
Login.c(118): .ui-icon-radio-on { background-position: -96px -144px; }\n
Login.c(118): .ui-icon-radio-off { background-position: -112px -144px; }\n
Login.c(118): .ui-icon-pin-w { background-position: -128px -144px; }\n
Login.c(118): .ui-icon-pin-s { background-position: -144px -144px; }\n
Login.c(118): .ui-icon-play { background-position: 0 -160px; }\n
Login.c(118): .ui-icon-pause { background-position: -16px -160px; }\n
Login.c(118): .ui-icon-seek-next { background-position: -32px -160px; }\n
Login.c(118): .ui-icon-seek-prev { background-position: -48px -160px; }\n
Login.c(118): .ui-icon-seek-end { background-position: -64px -160px; }\n
Login.c(118): .ui-icon-seek-start { background-position: -80px -160px; }\n
Login.c(118): /* ui-icon-seek-first is deprecated, use ui-icon-seek-start
instead */\n
Login.c(118): .ui-icon-seek-first { background-position: -80px -160px; }\n
Login.c(118): .ui-icon-stop { background-position: -96px -160px; }\n
Login.c(118): .ui-icon-eject { background-position: -112px -160px; }\n
Login.c(118): .ui-icon-volume-off { background-position: -128px -160px; }\n
Login.c(118): .ui-icon-volume-on { background-position: -144px -160px; }\n
Login.c(118): .ui-icon-power { background-position: 0 -176px; }\n
Login.c(118): .ui-icon-signal-diag { background-position: -16px -176px; }\n
Login.c(118): .ui-icon-signal { background-position: -32px -176px; }\n
Login.c(118): .ui-icon-battery-0 { background-position: -48px -176px; }\n
Login.c(118): .ui-icon-battery-1 { background-position: -64px -176px; }\n
Login.c(118): .ui-icon-battery-2 { background-position: -80px -176px; }\n
Login.c(118): .ui-icon-battery-3 { background-position: -96px -176px; }\n
Login.c(118): .ui-icon-circle-plus { background-position: 0 -192px; }\n
Login.c(118): .ui-icon-circle-minus { background-position: -16px -192px; }\n
Login.c(118): .ui-icon-circle-close { background-position: -32px -192px; }\n
Login.c(118): .ui-icon-circle-triangle-e { background-position: -48px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-s { background-position: -64px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-w { background-position: -80px
-192px; }\n
Login.c(118): .ui-icon-circle-triangle-n { background-position: -96px
-192px; }\n
Login.c(118): .ui-icon-circle-arrow-e { background-position: -112px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-s { background-position: -128px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-w { background-position: -144px -192px; }\n
Login.c(118): .ui-icon-circle-arrow-n { background-position: -160px -192px; }\n
Login.c(118): .ui-icon-circle-zoomin { background-position: -176px -192px; }\n
Login.c(118): .ui-icon-circle-zoomout { background-position: -192px -192px; }\n
Login.c(118): .ui-icon-circle-check { background-position: -208px -192px; }\n
Login.c(118): .ui-icon-circlesmall-plus { background-position: 0 -208px; }\n
Login.c(118): .ui-icon-circlesmall-minus { background-position: -16px
-208px; }\n
Login.c(118): .ui-icon-circlesmall-close { background-position: -32px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-plus { background-position: -48px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-minus { background-position: -64px
-208px; }\n
Login.c(118): .ui-icon-squaresmall-close { background-position: -80px
-208px; }\n
Login.c(118): .ui-icon-grip-dotted-vertical { background-position: 0
-224px; }\n
Login.c(118): .ui-icon-grip-dotted-horizontal { background-position: -16px
-224px; }\n
Login.c(118): .ui-icon-grip-solid-vertical { background-position: -32px -224px;
}\n
Login.c(118): .ui-icon-grip-solid-horizontal { background-position: -48px
-224px; }\n
Login.c(118): .ui-icon-gripsmall-diagonal-se { background-position: -64px
-224px; }\n
Login.c(118): .ui-icon-grip-diagonal-se { background-position: -80px
-224px; }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /* Misc visuals\n
Login.c(118): ----------------------------------*/\n
Login.c(118): \n
Login.c(118): /* Corner radius */\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-top,\n
Login.c(118): .ui-corner-left,\n
Login.c(118): .ui-corner-tl {\n
Login.c(118): \tborder-top-left-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-top,\n
Login.c(118): .ui-corner-right,\n
Login.c(118): .ui-corner-tr {\n
Login.c(118): \tborder-top-right-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-bottom,\n
Login.c(118): .ui-corner-left,\n
Login.c(118): .ui-corner-bl {\n
Login.c(118): \tborder-bottom-left-radius: 4px;\n
Login.c(118): }\n
Login.c(118): .ui-corner-all,\n
Login.c(118): .ui-corner-bottom,\n
Login.c(118): .ui-corner-right,\n
Login.c(118): .ui-corner-br {\n
Login.c(118): \tborder-bottom-right-radius: 4px;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Overlays */\n
Login.c(118): .ui-widget-overlay {\n
Login.c(118): \tbackground: #aaaaaa url("images/ui-
bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \topacity: .3;\n
Login.c(118): \tfilter: Alpha(Opacity=30); /* support: IE8 */\n
Login.c(118): }\n
Login.c(118): .ui-widget-shadow {\n
Login.c(118): \tmargin: -8px 0 0 -8px;\n
Login.c(118): \tpadding: 8px;\n
Login.c(118): \tbackground: #aaaaaa url("images/ui-
bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;\n
Login.c(118): \topacity: .3;\n
Login.c(118): \tfilter: Alpha(Opacity=30); /* support: IE8 */\n
Login.c(118): \tborder-radius: 8px;\n
Login.c(118): }\n
Login.c(118): t=4987ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"60681-1416253782000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 60681\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=4988ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): /*!\n
Login.c(118): * Bootstrap v3.2.0 (http://getbootstrap.com)\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): if (typeof jQuery === 'undefined') { throw new
Error('Bootstrap\\'s JavaScript requires jQ
Login.c(118): uery') }\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: transition.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#transitions\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // CSS TRANSITION SUPPORT (Shoutout:
http://www.modernizr.com/)\n
Login.c(118): //
============================================================\n
Login.c(118): \n
Login.c(118): function transitionEnd() {\n
Login.c(118): var el = document.createElement('bootstrap')\n
Login.c(118): \n
Login.c(118): var transEndEventNames = {\n
Login.c(118): WebkitTransition : 'webkitTransitionEnd',\n
Login.c(118): MozTransition : 'transitionend',\n
Login.c(118): OTransition : 'oTransitionEnd otransitionend',\n
Login.c(118): transition : 'transitionend'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var name in transEndEventNames) {\n
Login.c(118): if (el.style[name] !== undefined) {\n
Login.c(118): return { end: transEndEventNames[name] }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return false // explicit for ie8 ( ._.)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // http://blog.alexmaccaw.com/css-transitions\n
Login.c(118): $.fn.emulateTransitionEnd = function (duration) {\n
Login.c(118): var called = false\n
Login.c(118): var $el = this\n
Login.c(118): $(this).one('bsTransitionEnd', function () { called =
true })\n
Login.c(118): var callback = function () { if (!called) $
($el).trigger($.support.transition.end) }\n
Login.c(118): setTimeout(callback, duration)\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $(function () {\n
Login.c(118): $.support.transition = transitionEnd()\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return\n
Login.c(118): \n
Login.c(118): $.event.special.bsTransitionEnd = {\n
Login.c(118): bindType: $.support.transition.end,\n
Login.c(118): delegateType: $.support.transition.end,\n
Login.c(118): handle: function (e) {\n
Login.c(118): if ($(e.target).is(this)) return
e.handleObj.handler.apply(this, arguments)\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: alert.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#alerts\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // ALERT CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var dismiss = '[data-dismiss="alert"]'\n
Login.c(118): var Alert = function (el) {\n
Login.c(118): $(el).on('click', dismiss, this.close)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Alert.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Alert.prototype.close = function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var selector = $this.attr('data-target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && selector.replace(/.*(?=#[^\\s]*$)/,
'') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var $parent = $(selector)\n
Login.c(118): \n
Login.c(118): if (e) e.preventDefault()\n
Login.c(118): \n
Login.c(118): if (!$parent.length) {\n
Login.c(118): $parent = $this.hasClass('alert') ? $this :
$this.parent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $parent.trigger(e = $.Event('close.bs.alert'))\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $parent.removeClass('in')\n
Login.c(118): \n
Login.c(118): function removeElement() {\n
Login.c(118): // detach from parent, fire event then clean up data\n
Login.c(118): $parent.detach().trigger('closed.bs.alert').remove()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.support.transition && $parent.hasClass('fade') ?\n
Login.c(118): $parent\n
Login.c(118): .one('bsTransitionEnd', removeElement)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): removeElement()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.alert')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.alert', (data = new
Alert(this)))\n
Login.c(118): if (typeof option == 'string') data[option].call($this)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.alert\n
Login.c(118): \n
Login.c(118): $.fn.alert = Plugin\n
Login.c(118): $.fn.alert.Constructor = Alert\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.alert.noConflict = function () {\n
Login.c(118): $.fn.alert = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // ALERT DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.alert.data-api', dismiss,
Alert.prototype.close)\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: button.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#buttons\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // BUTTON PUBLIC CLASS DEFINITION\n
Login.c(118): // ==============================\n
Login.c(118): \n
Login.c(118): var Button = function (element, options) {\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = $.extend({}, Button.DEFAULTS, options)\n
Login.c(118): this.isLoading = false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Button.DEFAULTS = {\n
Login.c(118): loadingText: 'loading...'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.prototype.setState = function (state) {\n
Login.c(118): var d = 'disabled'\n
Login.c(118): var $el = this.$element\n
Login.c(118): var val = $el.is('input') ? 'val' : 'html'\n
Login.c(118): var data = $el.data()\n
Login.c(118): \n
Login.c(118): state = state + 'Text'\n
Login.c(118): \n
Login.c(118): if (data.resetText == null) $el.data('resetText', $el[val]
())\n
Login.c(118): \n
Login.c(118): $el[val](data[state] == null ? this.options[state] :
data[state])\n
Login.c(118): \n
Login.c(118): // push to event loop to allow forms to submit\n
Login.c(118): setTimeout($.proxy(function () {\n
Login.c(118): if (state == 'loadingText') {\n
Login.c(118): this.isLoading = true\n
Login.c(118): $el.addClass(d).attr(d, d)\n
Login.c(118): } else if (this.isLoading) {\n
Login.c(118): this.isLoading = false\n
Login.c(118): $el.removeClass(d).removeAttr(d)\n
Login.c(118): }\n
Login.c(118): }, this), 0)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Button.prototype.toggle = function () {\n
Login.c(118): var changed = true\n
Login.c(118): var $parent = this.$element.closest('[data-
toggle="buttons"]')\n
Login.c(118): \n
Login.c(118): if ($parent.length) {\n
Login.c(118): var $input = this.$element.find('input')\n
Login.c(118): if ($input.prop('type') == 'radio') {\n
Login.c(118): if ($input.prop('checked') && this.
$element.hasClass('active')) changed = false\n
Login.c(118): else $parent.find('.active').removeClass('active')\n
Login.c(118): }\n
Login.c(118): if (changed) $input.prop('checked', !this.
$element.hasClass('active')).trigger('chan
Login.c(118): ge')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (changed) this.$element.toggleClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON PLUGIN DEFINITION\n
Login.c(118): // ========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.button')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.button', (data = new Button(this,
options)))\n
Login.c(118): \n
Login.c(118): if (option == 'toggle') data.toggle()\n
Login.c(118): else if (option) data.setState(option)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.button\n
Login.c(118): \n
Login.c(118): $.fn.button = Plugin\n
Login.c(118): $.fn.button.Constructor = Button\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON NO CONFLICT\n
Login.c(118): // ==================\n
Login.c(118): \n
Login.c(118): $.fn.button.noConflict = function () {\n
Login.c(118): $.fn.button = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // BUTTON DATA-API\n
Login.c(118): // ===============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.button.data-api', '[data-
toggle^="button"]', function (e) {\n
Login.c(118): var $btn = $(e.target)\n
Login.c(118): if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n
Login.c(118): Plugin.call($btn, 'toggle')\n
Login.c(118): e.preventDefault()\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: carousel.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#carousel\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // CAROUSEL CLASS DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): var Carousel = function (element, options) {\n
Login.c(118): this.$element = $(element).on('keydown.bs.carousel',
$.proxy(this.keydown, this))\n
Login.c(118): this.$indicators = this.$element.find('.carousel-
indicators')\n
Login.c(118): this.options = options\n
Login.c(118): this.paused =\n
Login.c(118): this.sliding =\n
Login.c(118): this.interval =\n
Login.c(118): this.$active =\n
Login.c(118): this.$items = null\n
Login.c(118): \n
Login.c(118): this.options.pause == 'hover' && this.$element\n
Login.c(118): .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n
Login.c(118): .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Carousel.DEFAULTS = {\n
Login.c(118): interval: 5000,\n
Login.c(118): pause: 'hover',\n
Login.c(118): wrap: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.keydown = function (e) {\n
Login.c(118): switch (e.which) {\n
Login.c(118): case 37: this.prev(); break\n
Login.c(118): case 39: this.next(); break\n
Login.c(118): default: return\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Ca
Login.c(118): t=5003ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): rousel.prototype.cycle = function (e) {\n
Login.c(118): e || (this.paused = false)\n
Login.c(118): \n
Login.c(118): this.interval && clearInterval(this.interval)\n
Login.c(118): \n
Login.c(118): this.options.interval\n
Login.c(118): && !this.paused\n
Login.c(118): && (this.interval = setInterval($.proxy(this.next, this),
this.options.interval))\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.getItemIndex = function (item) {\n
Login.c(118): this.$items = item.parent().children('.item')\n
Login.c(118): return this.$items.index(item || this.$active)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.to = function (pos) {\n
Login.c(118): var that = this\n
Login.c(118): var activeIndex = this.getItemIndex(this.$active = this.
$element.find('.item.active'))
Login.c(118): \n
Login.c(118): \n
Login.c(118): if (pos > (this.$items.length - 1) || pos < 0) return\n
Login.c(118): \n
Login.c(118): if (this.sliding) return this.
$element.one('slid.bs.carousel', function () { tha
Login.c(118): t.to(pos) }) // yes, "slid"\n
Login.c(118): if (activeIndex == pos) return this.pause().cycle()\n
Login.c(118): \n
Login.c(118): return this.slide(pos > activeIndex ? 'next' : 'prev', $
(this.$items[pos]))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.pause = function (e) {\n
Login.c(118): e || (this.paused = true)\n
Login.c(118): \n
Login.c(118): if (this.$element.find('.next, .prev').length &&
$.support.transition) {\n
Login.c(118): this.$element.trigger($.support.transition.end)\n
Login.c(118): this.cycle(true)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.interval = clearInterval(this.interval)\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.next = function () {\n
Login.c(118): if (this.sliding) return\n
Login.c(118): return this.slide('next')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.prev = function () {\n
Login.c(118): if (this.sliding) return\n
Login.c(118): return this.slide('prev')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Carousel.prototype.slide = function (type, next) {\n
Login.c(118): var $active = this.$element.find('.item.active')\n
Login.c(118): var $next = next || $active[type]()\n
Login.c(118): var isCycling = this.interval\n
Login.c(118): var direction = type == 'next' ? 'left' : 'right'\n
Login.c(118): var fallback = type == 'next' ? 'first' : 'last'\n
Login.c(118): var that = this\n
Login.c(118): \n
Login.c(118): if (!$next.length) {\n
Login.c(118): if (!this.options.wrap) return\n
Login.c(118): $next = this.$element.find('.item')[fallback]()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($next.hasClass('active')) return (this.sliding = false)\n
Login.c(118): \n
Login.c(118): var relatedTarget = $next[0]\n
Login.c(118): var slideEvent = $.Event('slide.bs.carousel', {\n
Login.c(118): relatedTarget: relatedTarget,\n
Login.c(118): direction: direction\n
Login.c(118): })\n
Login.c(118): this.$element.trigger(slideEvent)\n
Login.c(118): if (slideEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.sliding = true\n
Login.c(118): \n
Login.c(118): isCycling && this.pause()\n
Login.c(118): \n
Login.c(118): if (this.$indicators.length) {\n
Login.c(118): this.$indicators.find('.active').removeClass('active')\n
Login.c(118): var $nextIndicator = $(this.$indicators.children()
[this.getItemIndex($next)])\n
Login.c(118): $nextIndicator && $nextIndicator.addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var slidEvent = $.Event('slid.bs.carousel', { relatedTarget:
relatedTarget, direction:
Login.c(118): direction }) // yes, "slid"\n
Login.c(118): if ($.support.transition && this.$element.hasClass('slide'))
{\n
Login.c(118): $next.addClass(type)\n
Login.c(118): $next[0].offsetWidth // force reflow\n
Login.c(118): $active.addClass(direction)\n
Login.c(118): $next.addClass(direction)\n
Login.c(118): $active\n
Login.c(118): .one('bsTransitionEnd', function () {\n
Login.c(118): $next.removeClass([type, direction].join('
')).addClass('active')\n
Login.c(118): $active.removeClass(['active', direction].join(' '))\n
Login.c(118): that.sliding = false\n
Login.c(118): setTimeout(function () {\n
Login.c(118): that.$element.trigger(slidEvent)\n
Login.c(118): }, 0)\n
Login.c(118): })\n
Login.c(118): .emulateTransitionEnd($active.css('transition-
duration').slice(0, -1) * 1000)\n
Login.c(118): } else {\n
Login.c(118): $active.removeClass('active')\n
Login.c(118): $next.addClass('active')\n
Login.c(118): this.sliding = false\n
Login.c(118): this.$element.trigger(slidEvent)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): isCycling && this.cycle()\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.carousel')\n
Login.c(118): var options = $.extend({}, Carousel.DEFAULTS, $this.data(),
typeof option == 'object
Login.c(118): ' && option)\n
Login.c(118): var action = typeof option == 'string' ? option :
options.slide\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.carousel', (data = new
Carousel(this, options)))\n
Login.c(118): if (typeof option == 'number') data.to(option)\n
Login.c(118): else if (action) data[action]()\n
Login.c(118): else if (options.interval) data.pause().cycle()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.carousel\n
Login.c(118): \n
Login.c(118): $.fn.carousel = Plugin\n
Login.c(118): $.fn.carousel.Constructor = Carousel\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.carousel.noConflict = function () {\n
Login.c(118): $.fn.carousel = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // CAROUSEL DATA-API\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.carousel.data-api', '[data-slide],
[data-slide-to]', function (
Login.c(118): e) {\n
Login.c(118): var href\n
Login.c(118): var $this = $(this)\n
Login.c(118): var $target = $($this.attr('data-target') || (href =
$this.attr('href')) && href.repla
Login.c(118): ce(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n
Login.c(118): if (!$target.hasClass('carousel')) return\n
Login.c(118): var options = $.extend({}, $target.data(), $this.data())\n
Login.c(118): var slideIndex = $this.attr('data-slide-to')\n
Login.c(118): if (slideIndex) options.interval = false\n
Login.c(118): \n
Login.c(118): Plugin.call($target, options)\n
Login.c(118): \n
Login.c(118): if (slideIndex) {\n
Login.c(118): $target.data('bs.carousel').to(slideIndex)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): $(window).on('load', function () {\n
Login.c(118): $('[data-ride="carousel"]').each(function () {\n
Login.c(118): var $carousel = $(this)\n
Login.c(118): Plugin.call($carousel, $carousel.data())\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: collapse.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#collapse\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // COLLAPSE PUBLIC CLASS DEFINITION\n
Login.c(118): // ================================\n
Login.c(118): \n
Login.c(118): var Collapse = function (element, options) {\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = $.extend({}, Collapse.DEFAULTS,
options)\n
Login.c(118): this.transitioning = null\n
Login.c(118): \n
Login.c(118): if (this.options.parent) this.$parent = $
(this.options.parent)\n
Login.c(118): if (this.options.toggle) this.toggle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Collapse.DEFAULTS = {\n
Login.c(118): toggle: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.dimension = function () {\n
Login.c(118): var hasWidth = this.$element.hasClass('width')\n
Login.c(118): return hasWidth ? 'width' : 'height'\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.show = function () {\n
Login.c(118): if (this.transitioning || this.$element.hasClass('in'))
return\n
Login.c(118): \n
Login.c(118): var startEvent = $.Event('show.bs.collapse')\n
Login.c(118): this.$element.trigger(startEvent)\n
Login.c(118): if (startEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var actives = this.$parent && this.$parent.find('> .panel
> .in')\n
Login.c(118): \n
Login.c(118): if (actives && actives.length) {\n
Login.c(118): var hasData = actives.data('bs.collapse')\n
Login.c(118): if (hasData && hasData.transitioning) return\n
Login.c(118): Plugin.call(actives, 'hide')\n
Login.c(118): hasData || actives.data('bs.collapse', null)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var dimension = this.dimension()\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass('collapse')\n
Login.c(118): .addClass('collapsing')[dimension](0)\n
Login.c(118): \n
Login.c(118): this.transitioning = 1\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): this.$element\n
Login.c(118): .removeClass('collapsing')\n
Login.c(118): .addClass('collapse in')[dimension]('')\n
Login.c(118): this.transitioning = 0\n
Login.c(118): this.$element\n
Login.c(118): .trigger('shown.bs.collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return complete.call(this)\n
Login.c(118): \n
Login.c(118): var scrollSize = $.camelCase(['scroll',
dimension].join('-'))\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .one('bsTransitionEnd', $.proxy(complete, this))\n
Login.c(118): .emulateTransitionEnd(350)[dimension](this.$element[0]
[scrollSize])\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.hide = function () {\n
Login.c(118): if (this.transitioning || !this.$element.hasClass('in'))
return\n
Login.c(118): \n
Login.c(118): var startEvent = $.Event('hide.bs.collapse')\n
Login.c(118): this.$element.trigger(startEvent)\n
Login.c(118): if (startEvent.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var dimension = this.dimension()\n
Login.c(118): \n
Login.c(118): this.$element[dimension](this.$element[dimension]())
[0].offsetHeight\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .addClass('collapsing')\n
Login.c(118): .removeClass('collapse')\n
Login.c(118): .removeClass('in')\n
Login.c(118): \n
Login.c(118): this.transitioning = 1\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): this.transitioning = 0\n
Login.c(118): this.$element\n
Login.c(118): .trigger('hidden.bs.collapse')\n
Login.c(118): .removeClass('collapsing')\n
Login.c(118): .addClass('collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.support.transition) return complete.call(this)\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): [dimension](0)\n
Login.c(118): .one('bsTransitionEnd', $.proxy(complete, this))\n
Login.c(118): .emulateTransitionEnd(350)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Collapse.prototype.toggle = function () {\n
Login.c(118): this[this.$element.hasClass('in') ? 'hide' : 'show']()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.collapse')\n
Login.c(118): var options = $.extend({}, Collapse.DEFAULTS, $this.data(),
typeof option == 'object
Login.c(118): ' && option)\n
Login.c(118): \n
Login.c(118): if (!data && options.toggle && option == 'show') option = !
option\n
Login.c(118): if (!data) $this.data('bs.collapse', (data = new
Collapse(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.collapse\n
Login.c(118): \n
Login.c(118): $.fn.collapse = Plugin\n
Login.c(118): $.fn.collapse.Constructor = Collapse\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.collapse.noConflict = function () {\n
Login.c(118): $.fn.collapse = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // COLLAPSE DATA-API\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.collapse.data-api', '[data-
toggle="collapse"]', function (e) {\n
Login.c(118): var href\n
Login.c(118): var $this = $(this)\n
Login.c(118): var target = $this.attr('data-target')\n
Login.c(118): || e.preventDefault()\n
Login.c(118): || (href = $this.attr('href')) && href.replace(/.*(?
=#[^\\s]+$)/, '') // strip for
Login.c(118): ie7\n
Login.c(118): var $target = $(target)\n
Login.c(118): var data = $target.data('bs.collapse')\n
Login.c(118): var option = data ? 'toggle' : $this.data()\n
Login.c(118): var parent = $this.attr('data-parent')\n
Login.c(118): var $parent = parent && $(parent)\n
Login.c(118): \n
Login.c(118): if (!data || !data.transitioning) {\n
Login.c(118): if ($parent) $parent.find('[data-toggle="collapse"][data-
parent="' + parent + '"]').
Login.c(118): not($this).addClass('collapsed')\n
Login.c(118): $this[$target.hasClass('in') ? 'addClass' : 'removeClass']
('collapsed')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Plugin.call($target, option)\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: dropdown.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#dropdowns\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // DROPDOWN CLASS DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): var backdrop = '.dropdown-backdrop'\n
Login.c(118): var toggle = '[data-toggle="dropdown"]'\n
Login.c(118): var Dropdown = function (element) {\n
Login.c(118): $(element).on('click.bs.dropdown', this.toggle)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Dropdown.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Dropdown.prototype.toggle = function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): \n
Login.c(118): if ($this.is('.disabled, :disabled')) return\n
Login.c(118): \n
Login.c(118): var $parent = getParent($this)\n
Login.c(118): var isActive = $parent.hasClass('open')\n
Login.c(118): \n
Login.c(118): clearMenus()\n
Login.c(118): \n
Login.c(118): if (!isActive) {\n
Login.c(118): if ('ontouchstart' in document.documentElement && !
$parent.closest('.navbar-nav').le
Login.c(118): ngth) {\n
Login.c(118): // if mobile we use a backdrop because click events don't
delegate\n
Login.c(118): $('<div class="dropdown-backdrop"/>').insertAfter($
(this)).on('click', clearMenus)
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var relatedTarget = { relatedTarget: this }\n
Login.c(118): $parent.trigger(e = $.Event('show.bs.dropdown',
relatedTarget))\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $this.trigger('focus')\n
Login.c(118): \n
Login.c(118): $parent\n
Login.c(118): .toggleClass('open')\n
Login.c(118): .trigger('shown.bs.dropdown', relatedTarget)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Dropdown.prototype.keydown = function (e) {\n
Login.c(118): if (!/(38|40|27)/.test(e.keyCode)) return\n
Login.c(118): \n
Login.c(118): var $this = $(this)\n
Login.c(118): \n
Login.c(118): e.preventDefault()\n
Login.c(118): e.stopPropagation()\n
Login.c(118): \n
Login.c(118): if ($this.is('.disabled, :disabled')) return\n
Login.c(118): \n
Login.c(118): var $parent = getParent($this)\n
Login.c(118): var isActive = $parent.hasClass('open')\n
Login.c(118): \n
Login.c(118): if (!isActive || (isActive && e.keyCode == 27)) {\n
Login.c(118): if (e.which == 27) $parent.find(toggle).trigger('focus')\n
Login.c(118): return $this.trigger('click')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var desc = ' li:not(.divider):visible a'\n
Login.c(118): var $items = $parent.find('[role="menu"]' + desc + ',
[role="listbox"]' + desc)\n
Login.c(118): \n
Login.c(118): if (!$items.length) return\n
Login.c(118): \n
Login.c(118): var index = $items.index($items.filter(':focus'))\n
Login.c(118): \n
Login.c(118): if (e.keyCode == 38
Login.c(118): t=5022ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): && index > 0) index-- //
up\n
Login.c(118): if (e.keyCode == 40 && index < $items.length - 1) index++
// do
Login.c(118): wn\n
Login.c(118): if (!~index) index = 0\n
Login.c(118): \n
Login.c(118): $items.eq(index).trigger('focus')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function clearMenus(e) {\n
Login.c(118): if (e && e.which === 3) return\n
Login.c(118): $(backdrop).remove()\n
Login.c(118): $(toggle).each(function () {\n
Login.c(118): var $parent = getParent($(this))\n
Login.c(118): var relatedTarget = { relatedTarget: this }\n
Login.c(118): if (!$parent.hasClass('open')) return\n
Login.c(118): $parent.trigger(e = $.Event('hide.bs.dropdown',
relatedTarget))\n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): $parent.removeClass('open').trigger('hidden.bs.dropdown',
relatedTarget)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getParent($this) {\n
Login.c(118): var selector = $this.attr('data-target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && /#[A-Za-z]/.test(selector) &&
selector.replace(/.*(?=#[^\\s]*
Login.c(118): $)/, '') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var $parent = selector && $(selector)\n
Login.c(118): \n
Login.c(118): return $parent && $parent.length ? $parent : $this.parent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // DROPDOWN PLUGIN DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.dropdown')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.dropdown', (data = new
Dropdown(this)))\n
Login.c(118): if (typeof option == 'string') data[option].call($this)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.dropdown\n
Login.c(118): \n
Login.c(118): $.fn.dropdown = Plugin\n
Login.c(118): $.fn.dropdown.Constructor = Dropdown\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // DROPDOWN NO CONFLICT\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): $.fn.dropdown.noConflict = function () {\n
Login.c(118): $.fn.dropdown = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // APPLY TO STANDARD DROPDOWN ELEMENTS\n
Login.c(118): // ===================================\n
Login.c(118): \n
Login.c(118): $(document)\n
Login.c(118): .on('click.bs.dropdown.data-api', clearMenus)\n
Login.c(118): .on('click.bs.dropdown.data-api', '.dropdown form', function
(e) { e.stopPropagation()
Login.c(118): })\n
Login.c(118): .on('click.bs.dropdown.data-api', toggle,
Dropdown.prototype.toggle)\n
Login.c(118): .on('keydown.bs.dropdown.data-api', toggle + ',
[role="menu"], [role="listbox"]', Drop
Login.c(118): down.prototype.keydown)\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: modal.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#modals\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // MODAL CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var Modal = function (element, options) {\n
Login.c(118): this.options = options\n
Login.c(118): this.$body = $(document.body)\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.$backdrop =\n
Login.c(118): this.isShown = null\n
Login.c(118): this.scrollbarWidth = 0\n
Login.c(118): \n
Login.c(118): if (this.options.remote) {\n
Login.c(118): this.$element\n
Login.c(118): .find('.modal-content')\n
Login.c(118): .load(this.options.remote, $.proxy(function () {\n
Login.c(118): this.$element.trigger('loaded.bs.modal')\n
Login.c(118): }, this))\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Modal.DEFAULTS = {\n
Login.c(118): backdrop: true,\n
Login.c(118): keyboard: true,\n
Login.c(118): show: true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.toggle = function (_relatedTarget) {\n
Login.c(118): return this.isShown ? this.hide() :
this.show(_relatedTarget)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.show = function (_relatedTarget) {\n
Login.c(118): var that = this\n
Login.c(118): var e = $.Event('show.bs.modal', { relatedTarget:
_relatedTarget })\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (this.isShown || e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.isShown = true\n
Login.c(118): \n
Login.c(118): this.checkScrollbar()\n
Login.c(118): this.$body.addClass('modal-open')\n
Login.c(118): \n
Login.c(118): this.setScrollbar()\n
Login.c(118): this.escape()\n
Login.c(118): \n
Login.c(118): this.$element.on('click.dismiss.bs.modal', '[data-
dismiss="modal"]', $.proxy(this.hide
Login.c(118): , this))\n
Login.c(118): \n
Login.c(118): this.backdrop(function () {\n
Login.c(118): var transition = $.support.transition && that.
$element.hasClass('fade')\n
Login.c(118): \n
Login.c(118): if (!that.$element.parent().length) {\n
Login.c(118): that.$element.appendTo(that.$body) // don't move modals
dom position\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): that.$element\n
Login.c(118): .show()\n
Login.c(118): .scrollTop(0)\n
Login.c(118): \n
Login.c(118): if (transition) {\n
Login.c(118): that.$element[0].offsetWidth // force reflow\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): that.$element\n
Login.c(118): .addClass('in')\n
Login.c(118): .attr('aria-hidden', false)\n
Login.c(118): \n
Login.c(118): that.enforceFocus()\n
Login.c(118): \n
Login.c(118): var e = $.Event('shown.bs.modal', { relatedTarget:
_relatedTarget })\n
Login.c(118): \n
Login.c(118): transition ?\n
Login.c(118): that.$element.find('.modal-dialog') // wait for modal to
slide in\n
Login.c(118): .one('bsTransitionEnd', function () {\n
Login.c(118): that.$element.trigger('focus').trigger(e)\n
Login.c(118): })\n
Login.c(118): .emulateTransitionEnd(300) :\n
Login.c(118): that.$element.trigger('focus').trigger(e)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.hide = function (e) {\n
Login.c(118): if (e) e.preventDefault()\n
Login.c(118): \n
Login.c(118): e = $.Event('hide.bs.modal')\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (!this.isShown || e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.isShown = false\n
Login.c(118): \n
Login.c(118): this.$body.removeClass('modal-open')\n
Login.c(118): \n
Login.c(118): this.resetScrollbar()\n
Login.c(118): this.escape()\n
Login.c(118): \n
Login.c(118): $(document).off('focusin.bs.modal')\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass('in')\n
Login.c(118): .attr('aria-hidden', true)\n
Login.c(118): .off('click.dismiss.bs.modal')\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$element.hasClass('fade') ?\n
Login.c(118): this.$element\n
Login.c(118): .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n
Login.c(118): .emulateTransitionEnd(300) :\n
Login.c(118): this.hideModal()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.enforceFocus = function () {\n
Login.c(118): $(document)\n
Login.c(118): .off('focusin.bs.modal') // guard against infinite focus
loop\n
Login.c(118): .on('focusin.bs.modal', $.proxy(function (e) {\n
Login.c(118): if (this.$element[0] !== e.target && !this.
$element.has(e.target).length) {\n
Login.c(118): this.$element.trigger('focus')\n
Login.c(118): }\n
Login.c(118): }, this))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.escape = function () {\n
Login.c(118): if (this.isShown && this.options.keyboard) {\n
Login.c(118): this.$element.on('keyup.dismiss.bs.modal', $.proxy(function
(e) {\n
Login.c(118): e.which == 27 && this.hide()\n
Login.c(118): }, this))\n
Login.c(118): } else if (!this.isShown) {\n
Login.c(118): this.$element.off('keyup.dismiss.bs.modal')\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.hideModal = function () {\n
Login.c(118): var that = this\n
Login.c(118): this.$element.hide()\n
Login.c(118): this.backdrop(function () {\n
Login.c(118): that.$element.trigger('hidden.bs.modal')\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.removeBackdrop = function () {\n
Login.c(118): this.$backdrop && this.$backdrop.remove()\n
Login.c(118): this.$backdrop = null\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.backdrop = function (callback) {\n
Login.c(118): var that = this\n
Login.c(118): var animate = this.$element.hasClass('fade') ? 'fade' : ''\n
Login.c(118): \n
Login.c(118): if (this.isShown && this.options.backdrop) {\n
Login.c(118): var doAnimate = $.support.transition && animate\n
Login.c(118): \n
Login.c(118): this.$backdrop = $('<div class="modal-backdrop ' + animate
+ '" />')\n
Login.c(118): .appendTo(this.$body)\n
Login.c(118): \n
Login.c(118): this.$element.on('click.dismiss.bs.modal', $.proxy(function
(e) {\n
Login.c(118): if (e.target !== e.currentTarget) return\n
Login.c(118): this.options.backdrop == 'static'\n
Login.c(118): ? this.$element[0].focus.call(this.$element[0])\n
Login.c(118): : this.hide.call(this)\n
Login.c(118): }, this))\n
Login.c(118): \n
Login.c(118): if (doAnimate) this.$backdrop[0].offsetWidth // force
reflow\n
Login.c(118): \n
Login.c(118): this.$backdrop.addClass('in')\n
Login.c(118): \n
Login.c(118): if (!callback) return\n
Login.c(118): \n
Login.c(118): doAnimate ?\n
Login.c(118): this.$backdrop\n
Login.c(118): .one('bsTransitionEnd', callback)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): callback()\n
Login.c(118): \n
Login.c(118): } else if (!this.isShown && this.$backdrop) {\n
Login.c(118): this.$backdrop.removeClass('in')\n
Login.c(118): \n
Login.c(118): var callbackRemove = function () {\n
Login.c(118): that.removeBackdrop()\n
Login.c(118): callback && callback()\n
Login.c(118): }\n
Login.c(118): $.support.transition && this.$element.hasClass('fade') ?\n
Login.c(118): this.$backdrop\n
Login.c(118): .one('bsTransitionEnd', callbackRemove)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): callbackRemove()\n
Login.c(118): \n
Login.c(118): } else if (callback) {\n
Login.c(118): callback()\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.checkScrollbar = function () {\n
Login.c(118): if (document.body.clientWidth >= window.innerWidth) return\n
Login.c(118): this.scrollbarWidth = this.scrollbarWidth ||
this.measureScrollbar()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.setScrollbar = function () {\n
Login.c(118): var bodyPad = parseInt((this.$body.css('padding-right') ||
0), 10)\n
Login.c(118): if (this.scrollbarWidth) this.$body.css('padding-right',
bodyPad + this.scrollbarWidth
Login.c(118): )\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.resetScrollbar = function () {\n
Login.c(118): this.$body.css('padding-right', '')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Modal.prototype.measureScrollbar = function () { // thx walsh\n
Login.c(118): var scrollDiv = document.createElement('div')\n
Login.c(118): scrollDiv.className = 'modal-scrollbar-measure'\n
Login.c(118): this.$body.append(scrollDiv)\n
Login.c(118): var scrollbarWidth = scrollDiv.offsetWidth -
scrollDiv.clientWidth\n
Login.c(118): this.$body[0].removeChild(scrollDiv)\n
Login.c(118): return scrollbarWidth\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option, _relatedTarget) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.modal')\n
Login.c(118): var options = $.extend({}, Modal.DEFAULTS, $this.data(),
typeof option == 'object' &
Login.c(118): & option)\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.modal', (data = new Modal(this,
options)))\n
Login.c(118): if (typeof option == 'string') data[option]
(_relatedTarget)\n
Login.c(118): else if (options.show) data.show(_relatedTarget)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.modal\n
Login.c(118): \n
Login.c(118): $.fn.modal = Plugin\n
Login.c(118): $.fn.modal.Constructor = Modal\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.modal.noConflict = function () {\n
Login.c(118): $.fn.modal = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // MODAL DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.modal.data-api', '[data-
toggle="modal"]', function (e) {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var href = $this.attr('href')\n
Login.c(118): var $target = $($this.attr('data-target') || (href &&
href.replace(/.*(?=#[^\\s]+$)/,
Login.c(118): ''))) // strip for ie7\n
Login.c(118): var option = $target.data('bs.modal') ? 'toggle' :
$.extend({ remote: !/#/.test(href)
Login.c(118): && href }, $target.data(), $this.data())\n
Login.c(118): \n
Login.c(118): if ($this.is('a')) e.preventDefault()\n
Login.c(118): \n
Login.c(118): $target.one('show.bs.modal', function (showEvent) {\n
Login.c(118): if (showEvent.isDefaultPrevented()) return // only register
focus restorer if modal
Login.c(118): will actually get shown\n
Login.c(118): $target.one('hidden.bs.modal', function () {\n
Login.c(118): $this.is(':visible') && $this.trigger('focus')\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): Plugin.call($target, option, this)\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: tooltip.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#tooltip\n
Login.c(118): * Inspired by the original jQuery.tipsy by Jason Frame\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // TOOLTIP PUBLIC CLASS DEFINITION\n
Login.c(118): // ===============================\n
Login.c(118): \n
Login.c(118): var Tooltip = function (element, options) {\n
Login.c(118): this.type =\n
Login.c(118): this.options =\n
Login.c(118): this.enabled =\n
Login.c(118): this.timeout =\n
Login.c(118): this.hoverState =\n
Login.c(118): this.$element = null\n
Login.c(118): \n
Login.c(118): this.init('tooltip', element, options)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Tooltip.DEFAULTS = {\n
Login.c(118): animation: true,\n
Login.c(118): placement: 'top',\n
Login.c(118): selector: false,\n
Login.c(118): template: '<div class="tooltip" role="tooltip"><div
class="tooltip-arrow"></div><div c
Login.c(118): lass="tooltip-inner"></div></div>',\n
Login.c(118): trigger: 'hover focus',\n
Login.c(118): title: '',\n
Login.c(118): delay: 0,\n
Login.c(118): html: false,\n
Login.c(118): container: false,\n
Login.c(118): viewport: {\n
Login.c(118): selector: 'body',\n
Login.c(118): padding: 0\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.init = function (type, element, options) {\n
Login.c(118): this.enabled = true\n
Login.c(118): this.type = type\n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.options = this.getOptions(options)\n
Login.c(118): this.$viewport = this.options.viewport && $
(this.options.viewport.selector || this.opt
Login.c(118): ions.viewport)\n
Login.c(118): \n
Login.c(118): var triggers = this.options.trigger.split(' ')\n
Login.c(118): \n
Login.c(118): for (var i = triggers.length; i--;) {\n
Login.c(118): var trigger = triggers[i]\n
Login.c(118): \n
Login.c(118): if (trigger == 'click') {\n
Login.c(118): this.$element.on('click.' + this.type,
this.options.selector, $.proxy(this.toggle,
Login.c(118): this))\n
Login.c(118): } else if (trigger != 'manual') {\n
Login.c(118): var eventIn = trigger == 'hover' ? 'mouseenter' :
'focusin'\n
Login.c(118): var eventOut = trigger == 'hover' ? 'mouseleave' :
'focusout'\n
Login.c(118): \n
Login.c(118): this.$element.on(eventIn + '.' + this.type,
this.options.selector, $.proxy(this.e
Login.c(118): nter, this))\n
Login.c(118): this.$element.on(eventOut + '.' + this.type,
this.options.selector, $.proxy(this.l
Login.c(118): eave, this))\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.options.selector ?\n
Login.c(118):
Login.c(118): t=5048ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): (this._options = $.extend({}, this.options, { trigger: 'manual',
selector: '' })) :\n
Login.c(118): this.fixTitle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getDefaults = function () {\n
Login.c(118): return Tooltip.DEFAULTS\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getOptions = function (options) {\n
Login.c(118): options = $.extend({}, this.getDefaults(), this.
$element.data(), options)\n
Login.c(118): \n
Login.c(118): if (options.delay && typeof options.delay == 'number') {\n
Login.c(118): options.delay = {\n
Login.c(118): show: options.delay,\n
Login.c(118): hide: options.delay\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return options\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getDelegateOptions = function () {\n
Login.c(118): var options = {}\n
Login.c(118): var defaults = this.getDefaults()\n
Login.c(118): \n
Login.c(118): this._options && $.each(this._options, function (key, value)
{\n
Login.c(118): if (defaults[key] != value) options[key] = value\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): return options\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.enter = function (obj) {\n
Login.c(118): var self = obj instanceof this.constructor ?\n
Login.c(118): obj : $(obj.currentTarget).data('bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(obj.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(obj.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): clearTimeout(self.timeout)\n
Login.c(118): \n
Login.c(118): self.hoverState = 'in'\n
Login.c(118): \n
Login.c(118): if (!self.options.delay || !self.options.delay.show) return
self.show()\n
Login.c(118): \n
Login.c(118): self.timeout = setTimeout(function () {\n
Login.c(118): if (self.hoverState == 'in') self.show()\n
Login.c(118): }, self.options.delay.show)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.leave = function (obj) {\n
Login.c(118): var self = obj instanceof this.constructor ?\n
Login.c(118): obj : $(obj.currentTarget).data('bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(obj.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(obj.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): clearTimeout(self.timeout)\n
Login.c(118): \n
Login.c(118): self.hoverState = 'out'\n
Login.c(118): \n
Login.c(118): if (!self.options.delay || !self.options.delay.hide) return
self.hide()\n
Login.c(118): \n
Login.c(118): self.timeout = setTimeout(function () {\n
Login.c(118): if (self.hoverState == 'out') self.hide()\n
Login.c(118): }, self.options.delay.hide)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.show = function () {\n
Login.c(118): var e = $.Event('show.bs.' + this.type)\n
Login.c(118): \n
Login.c(118): if (this.hasContent() && this.enabled) {\n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): var inDom = $.contains(document.documentElement, this.
$element[0])\n
Login.c(118): if (e.isDefaultPrevented() || !inDom) return\n
Login.c(118): var that = this\n
Login.c(118): \n
Login.c(118): var $tip = this.tip()\n
Login.c(118): \n
Login.c(118): var tipId = this.getUID(this.type)\n
Login.c(118): \n
Login.c(118): this.setContent()\n
Login.c(118): $tip.attr('id', tipId)\n
Login.c(118): this.$element.attr('aria-describedby', tipId)\n
Login.c(118): \n
Login.c(118): if (this.options.animation) $tip.addClass('fade')\n
Login.c(118): \n
Login.c(118): var placement = typeof this.options.placement == 'function'
?\n
Login.c(118): this.options.placement.call(this, $tip[0], this.
$element[0]) :\n
Login.c(118): this.options.placement\n
Login.c(118): \n
Login.c(118): var autoToken = /\\s?auto?\\s?/i\n
Login.c(118): var autoPlace = autoToken.test(placement)\n
Login.c(118): if (autoPlace) placement = placement.replace(autoToken, '')
|| 'top'\n
Login.c(118): \n
Login.c(118): $tip\n
Login.c(118): .detach()\n
Login.c(118): .css({ top: 0, left: 0, display: 'block' })\n
Login.c(118): .addClass(placement)\n
Login.c(118): .data('bs.' + this.type, this)\n
Login.c(118): \n
Login.c(118): this.options.container ?
$tip.appendTo(this.options.container) : $tip.insertAfter(th
Login.c(118): is.$element)\n
Login.c(118): \n
Login.c(118): var pos = this.getPosition()\n
Login.c(118): var actualWidth = $tip[0].offsetWidth\n
Login.c(118): var actualHeight = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): if (autoPlace) {\n
Login.c(118): var orgPlacement = placement\n
Login.c(118): var $parent = this.$element.parent()\n
Login.c(118): var parentDim = this.getPosition($parent)\n
Login.c(118): \n
Login.c(118): placement = placement == 'bottom' && pos.top +
pos.height + actualHeight -
Login.c(118): parentDim.scroll > parentDim.height ? 'top' :\n
Login.c(118): placement == 'top' && pos.top -
parentDim.scroll - actualHeight <
Login.c(118): 0 ? 'bottom' :\n
Login.c(118): placement == 'right' && pos.right +
actualWidth > parentDim.widt
Login.c(118): h ? 'left' :\n
Login.c(118): placement == 'left' && pos.left -
actualWidth < parentDim.left
Login.c(118): ? 'right' :\n
Login.c(118): placement\n
Login.c(118): \n
Login.c(118): $tip\n
Login.c(118): .removeClass(orgPlacement)\n
Login.c(118): .addClass(placement)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var calculatedOffset = this.getCalculatedOffset(placement,
pos, actualWidth, actualH
Login.c(118): eight)\n
Login.c(118): \n
Login.c(118): this.applyPlacement(calculatedOffset, placement)\n
Login.c(118): \n
Login.c(118): var complete = function () {\n
Login.c(118): that.$element.trigger('shown.bs.' + that.type)\n
Login.c(118): that.hoverState = null\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$tip.hasClass('fade') ?\n
Login.c(118): $tip\n
Login.c(118): .one('bsTransitionEnd', complete)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): complete()\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.applyPlacement = function (offset, placement)
{\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var width = $tip[0].offsetWidth\n
Login.c(118): var height = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): // manually read margins because getBoundingClientRect
includes difference\n
Login.c(118): var marginTop = parseInt($tip.css('margin-top'), 10)\n
Login.c(118): var marginLeft = parseInt($tip.css('margin-left'), 10)\n
Login.c(118): \n
Login.c(118): // we must check for NaN for ie 8/9\n
Login.c(118): if (isNaN(marginTop)) marginTop = 0\n
Login.c(118): if (isNaN(marginLeft)) marginLeft = 0\n
Login.c(118): \n
Login.c(118): offset.top = offset.top + marginTop\n
Login.c(118): offset.left = offset.left + marginLeft\n
Login.c(118): \n
Login.c(118): // $.fn.offset doesn't round pixel values\n
Login.c(118): // so we use setOffset directly with our own function B-0\n
Login.c(118): $.offset.setOffset($tip[0], $.extend({\n
Login.c(118): using: function (props) {\n
Login.c(118): $tip.css({\n
Login.c(118): top: Math.round(props.top),\n
Login.c(118): left: Math.round(props.left)\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): }, offset), 0)\n
Login.c(118): \n
Login.c(118): $tip.addClass('in')\n
Login.c(118): \n
Login.c(118): // check to see if placing tip in new offset caused the tip
to resize itself\n
Login.c(118): var actualWidth = $tip[0].offsetWidth\n
Login.c(118): var actualHeight = $tip[0].offsetHeight\n
Login.c(118): \n
Login.c(118): if (placement == 'top' && actualHeight != height) {\n
Login.c(118): offset.top = offset.top + height - actualHeight\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var delta = this.getViewportAdjustedDelta(placement, offset,
actualWidth, actualHeight
Login.c(118): )\n
Login.c(118): \n
Login.c(118): if (delta.left) offset.left += delta.left\n
Login.c(118): else offset.top += delta.top\n
Login.c(118): \n
Login.c(118): var arrowDelta = delta.left ? delta.left * 2 - width
+ actualWidth : delta.to
Login.c(118): p * 2 - height + actualHeight\n
Login.c(118): var arrowPosition = delta.left ? 'left' :
'top'\n
Login.c(118): var arrowOffsetPosition = delta.left ? 'offsetWidth' :
'offsetHeight'\n
Login.c(118): \n
Login.c(118): $tip.offset(offset)\n
Login.c(118): this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition],
arrowPosition)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.replaceArrow = function (delta, dimension,
position) {\n
Login.c(118): this.arrow().css(position, delta ? (50 * (1 - delta /
dimension) + '%') : '')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.setContent = function () {\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var title = this.getTitle()\n
Login.c(118): \n
Login.c(118): $tip.find('.tooltip-inner')[this.options.html ? 'html' :
'text'](title)\n
Login.c(118): $tip.removeClass('fade in top bottom left right')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.hide = function () {\n
Login.c(118): var that = this\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var e = $.Event('hide.bs.' + this.type)\n
Login.c(118): \n
Login.c(118): this.$element.removeAttr('aria-describedby')\n
Login.c(118): \n
Login.c(118): function complete() {\n
Login.c(118): if (that.hoverState != 'in') $tip.detach()\n
Login.c(118): that.$element.trigger('hidden.bs.' + that.type)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): $tip.removeClass('in')\n
Login.c(118): \n
Login.c(118): $.support.transition && this.$tip.hasClass('fade') ?\n
Login.c(118): $tip\n
Login.c(118): .one('bsTransitionEnd', complete)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): complete()\n
Login.c(118): \n
Login.c(118): this.hoverState = null\n
Login.c(118): \n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.fixTitle = function () {\n
Login.c(118): var $e = this.$element\n
Login.c(118): if ($e.attr('title') || typeof ($e.attr('data-original-
title')) != 'string') {\n
Login.c(118): $e.attr('data-original-title', $e.attr('title') ||
'').attr('title', '')\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.hasContent = function () {\n
Login.c(118): return this.getTitle()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getPosition = function ($element) {\n
Login.c(118): $element = $element || this.$element\n
Login.c(118): var el = $element[0]\n
Login.c(118): var isBody = el.tagName == 'BODY'\n
Login.c(118): return $.extend({}, (typeof el.getBoundingClientRect ==
'function') ? el.getBoundingCl
Login.c(118): ientRect() : null, {\n
Login.c(118): scroll: isBody ? document.documentElement.scrollTop ||
document.body.scrollTop : $el
Login.c(118): ement.scrollTop(),\n
Login.c(118): width: isBody ? $(window).width() :
$element.outerWidth(),\n
Login.c(118): height: isBody ? $(window).height() :
$element.outerHeight()\n
Login.c(118): }, isBody ? { top: 0, left: 0 } : $element.offset())\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getCalculatedOffset = function (placement,
pos, actualWidth, actualHei
Login.c(118): ght) {\n
Login.c(118): return placement == 'bottom' ? { top: pos.top + pos.height,
left: pos.left + pos.wid
Login.c(118): th / 2 - actualWidth / 2 } :\n
Login.c(118): placement == 'top' ? { top: pos.top - actualHeight,
left: pos.left + pos.wid
Login.c(118): th / 2 - actualWidth / 2 } :\n
Login.c(118): placement == 'left' ? { top: pos.top + pos.height /
2 - actualHeight / 2, lef
Login.c(118): t: pos.left - actualWidth } :\n
Login.c(118): /* placement == 'right' */ { top: pos.top + pos.height /
2 - actualHeight / 2, lef
Login.c(118): t: pos.left + pos.width }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getViewportAdjustedDelta = function
(placement, pos, actualWidth, actu
Login.c(118): alHeight) {\n
Login.c(118): var delta = { top: 0, left: 0 }\n
Login.c(118): if (!this.$viewport) return delta\n
Login.c(118): \n
Login.c(118): var viewportPadding = this.options.viewport &&
this.options.viewport.padding || 0\n
Login.c(118): var viewportDimensions = this.getPosition(this.$viewport)\n
Login.c(118): \n
Login.c(118): if (/right|left/.test(placement)) {\n
Login.c(118): var topEdgeOffset = pos.top - viewportPadding -
viewportDimensions.scroll\n
Login.c(118): var bottomEdgeOffset = pos.top + viewportPadding -
viewportDimensions.scroll + actua
Login.c(118): lHeight\n
Login.c(118): if (topEdgeOffset < viewportDimensions.top) { // top
overflow\n
Login.c(118): delta.top = viewportDimensions.top - topEdgeOffset\n
Login.c(118): } else if (bottomEdgeOffset > viewportDimensions.top +
viewportDimensions.height) {
Login.c(118): // bottom overflow\n
Login.c(118): delta.top = viewportDimensions.top +
viewportDimensions.height - bottomEdgeOffset\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): var leftEdgeOffset = pos.left - viewportPadding\n
Login.c(118): var rightEdgeOffset = pos.left + viewportPadding +
actualWidth\n
Login.c(118): if (leftEdgeOffset < viewportDimensions.left) { // left
overflow\n
Login.c(118): delta.left = viewportDimensions.left - leftEdgeOffset\n
Login.c(118): } else if (rightEdgeOffset > viewportDimensions.width) { //
right overflow\n
Login.c(118): delta.left = viewportDimensions.left +
viewportDimensions.width - rightEdgeOffset\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return delta\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getTitle = function () {\n
Login.c(118): var title\n
Login.c(118): var $e = this.$element\n
Login.c(118): var o = this.options\n
Login.c(118): \n
Login.c(118): title = $e.attr('data-original-title')\n
Login.c(118): || (typeof o.title == 'function' ? o.title.call($e[0]) :
o.title)\n
Login.c(118): \n
Login.c(118): return title\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.getUID = function (prefix) {\n
Login.c(118): do prefix += ~~(Math.random() * 1000000)\n
Login.c(118): while (document.getElementById(prefix))\n
Login.c(118): return prefix\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.tip = function () {\n
Login.c(118): return (this.$tip = this.$tip || $(this.options.template))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.arrow = function () {\n
Login.c(118): return (this.$arrow = this.$arrow ||
this.tip().find('.tooltip-arrow'))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.validate = function () {\n
Login.c(118): if (!this.$element[0].parentNode) {\n
Login.c(118): this.hide()\n
Login.c(118): this.$element = null\n
Login.c(118): this.options = null\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.enable = function () {\n
Login.c(118): this.enabled = true\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.disable = function () {\n
Login.c(118): this.enabled = false\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.toggleEnabled = function () {\n
Login.c(118): this.enabled = !this.enabled\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.toggle = function (e) {\n
Login.c(118): var self = this\n
Login.c(118): if (e) {\n
Login.c(118): self = $(e.currentTarget).data('bs.' + this.type)\n
Login.c(118): if (!self) {\n
Login.c(118): self = new this.constructor(e.currentTarget,
this.getDelegateOptions())\n
Login.c(118): $(e.currentTarget).data('bs.' + this.type, self)\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): self.tip().hasClass('in') ? self.leave(self) :
self.enter(self)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tooltip.prototype.destroy = function () {\n
Login.c(118): clearTimeout(this.timeout)\n
Login.c(118): this.hide().$element.off('.' + this.type).removeData('bs.' +
this.type)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TOOLTIP PLUGIN DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.tooltip')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data && option == 'destroy') return\n
Login.c(118): if (!data) $this.data('bs.tooltip', (data = new
Tooltip(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.tooltip\n
Login.c(118): \n
Login.c(118): $.fn.tooltip = Plugin\n
Login.c(118): $.fn.tooltip.Constructor = Tooltip\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TOOLTIP N
Login.c(118): t=5069ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): O CONFLICT\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): $.fn.tooltip.noConflict = function () {\n
Login.c(118): $.fn.tooltip = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: popover.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#popovers\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // POPOVER PUBLIC CLASS DEFINITION\n
Login.c(118): // ===============================\n
Login.c(118): \n
Login.c(118): var Popover = function (element, options) {\n
Login.c(118): this.init('popover', element, options)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!$.fn.tooltip) throw new Error('Popover requires
tooltip.js')\n
Login.c(118): \n
Login.c(118): Popover.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Popover.DEFAULTS = $.extend({},
$.fn.tooltip.Constructor.DEFAULTS, {\n
Login.c(118): placement: 'right',\n
Login.c(118): trigger: 'click',\n
Login.c(118): content: '',\n
Login.c(118): template: '<div class="popover" role="tooltip"><div
class="arrow"></div><h3 class="pop
Login.c(118): over-title"></h3><div class="popover-content"></div></div>'\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // NOTE: POPOVER EXTENDS tooltip.js\n
Login.c(118): // ================================\n
Login.c(118): \n
Login.c(118): Popover.prototype = $.extend({},
$.fn.tooltip.Constructor.prototype)\n
Login.c(118): \n
Login.c(118): Popover.prototype.constructor = Popover\n
Login.c(118): \n
Login.c(118): Popover.prototype.getDefaults = function () {\n
Login.c(118): return Popover.DEFAULTS\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.setContent = function () {\n
Login.c(118): var $tip = this.tip()\n
Login.c(118): var title = this.getTitle()\n
Login.c(118): var content = this.getContent()\n
Login.c(118): \n
Login.c(118): $tip.find('.popover-title')[this.options.html ? 'html' :
'text'](title)\n
Login.c(118): $tip.find('.popover-content').empty()[ // we use append for
html objects to maintain j
Login.c(118): s events\n
Login.c(118): this.options.html ? (typeof content == 'string' ? 'html' :
'append') : 'text'\n
Login.c(118): ](content)\n
Login.c(118): \n
Login.c(118): $tip.removeClass('fade top bottom left right in')\n
Login.c(118): \n
Login.c(118): // IE8 doesn't accept hiding via the `:empty` pseudo
selector, we have to do\n
Login.c(118): // this manually by checking the contents.\n
Login.c(118): if (!$tip.find('.popover-title').html()) $tip.find('.popover-
title').hide()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.hasContent = function () {\n
Login.c(118): return this.getTitle() || this.getContent()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.getContent = function () {\n
Login.c(118): var $e = this.$element\n
Login.c(118): var o = this.options\n
Login.c(118): \n
Login.c(118): return $e.attr('data-content')\n
Login.c(118): || (typeof o.content == 'function' ?\n
Login.c(118): o.content.call($e[0]) :\n
Login.c(118): o.content)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.arrow = function () {\n
Login.c(118): return (this.$arrow = this.$arrow ||
this.tip().find('.arrow'))\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Popover.prototype.tip = function () {\n
Login.c(118): if (!this.$tip) this.$tip = $(this.options.template)\n
Login.c(118): return this.$tip\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // POPOVER PLUGIN DEFINITION\n
Login.c(118): // =========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.popover')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data && option == 'destroy') return\n
Login.c(118): if (!data) $this.data('bs.popover', (data = new
Popover(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.popover\n
Login.c(118): \n
Login.c(118): $.fn.popover = Plugin\n
Login.c(118): $.fn.popover.Constructor = Popover\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // POPOVER NO CONFLICT\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): $.fn.popover.noConflict = function () {\n
Login.c(118): $.fn.popover = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: scrollspy.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#scrollspy\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // SCROLLSPY CLASS DEFINITION\n
Login.c(118): // ==========================\n
Login.c(118): \n
Login.c(118): function ScrollSpy(element, options) {\n
Login.c(118): var process = $.proxy(this.process, this)\n
Login.c(118): \n
Login.c(118): this.$body = $('body')\n
Login.c(118): this.$scrollElement = $(element).is('body') ? $(window) : $
(element)\n
Login.c(118): this.options = $.extend({}, ScrollSpy.DEFAULTS,
options)\n
Login.c(118): this.selector = (this.options.target || '') + ' .nav li
> a'\n
Login.c(118): this.offsets = []\n
Login.c(118): this.targets = []\n
Login.c(118): this.activeTarget = null\n
Login.c(118): this.scrollHeight = 0\n
Login.c(118): \n
Login.c(118): this.$scrollElement.on('scroll.bs.scrollspy', process)\n
Login.c(118): this.refresh()\n
Login.c(118): this.process()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): ScrollSpy.DEFAULTS = {\n
Login.c(118): offset: 10\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.getScrollHeight = function () {\n
Login.c(118): return this.$scrollElement[0].scrollHeight || Math.max(this.
$body[0].scrollHeight, doc
Login.c(118): ument.documentElement.scrollHeight)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.refresh = function () {\n
Login.c(118): var offsetMethod = 'offset'\n
Login.c(118): var offsetBase = 0\n
Login.c(118): \n
Login.c(118): if (!$.isWindow(this.$scrollElement[0])) {\n
Login.c(118): offsetMethod = 'position'\n
Login.c(118): offsetBase = this.$scrollElement.scrollTop()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.offsets = []\n
Login.c(118): this.targets = []\n
Login.c(118): this.scrollHeight = this.getScrollHeight()\n
Login.c(118): \n
Login.c(118): var self = this\n
Login.c(118): \n
Login.c(118): this.$body\n
Login.c(118): .find(this.selector)\n
Login.c(118): .map(function () {\n
Login.c(118): var $el = $(this)\n
Login.c(118): var href = $el.data('target') || $el.attr('href')\n
Login.c(118): var $href = /^#./.test(href) && $(href)\n
Login.c(118): \n
Login.c(118): return ($href\n
Login.c(118): && $href.length\n
Login.c(118): && $href.is(':visible')\n
Login.c(118): && [[$href[offsetMethod]().top + offsetBase, href]]) ||
null\n
Login.c(118): })\n
Login.c(118): .sort(function (a, b) { return a[0] - b[0] })\n
Login.c(118): .each(function () {\n
Login.c(118): self.offsets.push(this[0])\n
Login.c(118): self.targets.push(this[1])\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.process = function () {\n
Login.c(118): var scrollTop = this.$scrollElement.scrollTop() +
this.options.offset\n
Login.c(118): var scrollHeight = this.getScrollHeight()\n
Login.c(118): var maxScroll = this.options.offset + scrollHeight - this.
$scrollElement.height()\n
Login.c(118): var offsets = this.offsets\n
Login.c(118): var targets = this.targets\n
Login.c(118): var activeTarget = this.activeTarget\n
Login.c(118): var i\n
Login.c(118): \n
Login.c(118): if (this.scrollHeight != scrollHeight) {\n
Login.c(118): this.refresh()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (scrollTop >= maxScroll) {\n
Login.c(118): return activeTarget != (i = targets[targets.length - 1]) &&
this.activate(i)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (activeTarget && scrollTop <= offsets[0]) {\n
Login.c(118): return activeTarget != (i = targets[0]) &&
this.activate(i)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (i = offsets.length; i--;) {\n
Login.c(118): activeTarget != targets[i]\n
Login.c(118): && scrollTop >= offsets[i]\n
Login.c(118): && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n
Login.c(118): && this.activate(targets[i])\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): ScrollSpy.prototype.activate = function (target) {\n
Login.c(118): this.activeTarget = target\n
Login.c(118): \n
Login.c(118): $(this.selector)\n
Login.c(118): .parentsUntil(this.options.target, '.active')\n
Login.c(118): .removeClass('active')\n
Login.c(118): \n
Login.c(118): var selector = this.selector +\n
Login.c(118): '[data-target="' + target + '"],' +\n
Login.c(118): this.selector + '[href="' + target + '"]'\n
Login.c(118): \n
Login.c(118): var active = $(selector)\n
Login.c(118): .parents('li')\n
Login.c(118): .addClass('active')\n
Login.c(118): \n
Login.c(118): if (active.parent('.dropdown-menu').length) {\n
Login.c(118): active = active\n
Login.c(118): .closest('li.dropdown')\n
Login.c(118): .addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): active.trigger('activate.bs.scrollspy')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY PLUGIN DEFINITION\n
Login.c(118): // ===========================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.scrollspy')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.scrollspy', (data = new
ScrollSpy(this, options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.scrollspy\n
Login.c(118): \n
Login.c(118): $.fn.scrollspy = Plugin\n
Login.c(118): $.fn.scrollspy.Constructor = ScrollSpy\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY NO CONFLICT\n
Login.c(118): // =====================\n
Login.c(118): \n
Login.c(118): $.fn.scrollspy.noConflict = function () {\n
Login.c(118): $.fn.scrollspy = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // SCROLLSPY DATA-API\n
Login.c(118): // ==================\n
Login.c(118): \n
Login.c(118): $(window).on('load.bs.scrollspy.data-api', function () {\n
Login.c(118): $('[data-spy="scroll"]').each(function () {\n
Login.c(118): var $spy = $(this)\n
Login.c(118): Plugin.call($spy, $spy.data())\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: tab.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#tabs\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // TAB CLASS DEFINITION\n
Login.c(118): // ====================\n
Login.c(118): \n
Login.c(118): var Tab = function (element) {\n
Login.c(118): this.element = $(element)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tab.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Tab.prototype.show = function () {\n
Login.c(118): var $this = this.element\n
Login.c(118): var $ul = $this.closest('ul:not(.dropdown-menu)')\n
Login.c(118): var selector = $this.data('target')\n
Login.c(118): \n
Login.c(118): if (!selector) {\n
Login.c(118): selector = $this.attr('href')\n
Login.c(118): selector = selector && selector.replace(/.*(?=#[^\\s]*$)/,
'') // strip for ie7\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($this.parent('li').hasClass('active')) return\n
Login.c(118): \n
Login.c(118): var previous = $ul.find('.active:last a')[0]\n
Login.c(118): var e = $.Event('show.bs.tab', {\n
Login.c(118): relatedTarget: previous\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): $this.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): var $target = $(selector)\n
Login.c(118): \n
Login.c(118): this.activate($this.closest('li'), $ul)\n
Login.c(118): this.activate($target, $target.parent(), function () {\n
Login.c(118): $this.trigger({\n
Login.c(118): type: 'shown.bs.tab',\n
Login.c(118): relatedTarget: previous\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Tab.prototype.activate = function (element, container,
callback) {\n
Login.c(118): var $active = container.find('> .active')\n
Login.c(118): var transition = callback\n
Login.c(118): && $.support.transition\n
Login.c(118): && $active.hasClass('fade')\n
Login.c(118): \n
Login.c(118): function next() {\n
Login.c(118): $active\n
Login.c(118): .removeClass('active')\n
Login.c(118): .find('> .dropdown-menu > .active')\n
Login.c(118): .removeClass('active')\n
Login.c(118): \n
Login.c(118): element.addClass('active')\n
Login.c(118): \n
Login.c(118): if (transition) {\n
Login.c(118): element[0].offsetWidth // reflow for transition\n
Login.c(118): element.addClass('in')\n
Login.c(118): } else {\n
Login.c(118): element.removeClass('fade')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (element.parent('.dropdown-menu')) {\n
Login.c(118): element.closest('li.dropdown').addClass('active')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): callback && callback()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): transition ?\n
Login.c(118): $active\n
Login.c(118): .one('bsTransitionEnd', next)\n
Login.c(118): .emulateTransitionEnd(150) :\n
Login.c(118): next()\n
Login.c(118): \n
Login.c(118): $active.removeClass('in')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB PLUGIN DEFINITION\n
Login.c(118): // =====================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.tab')\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.tab', (data = new Tab(this)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.tab\n
Login.c(118): \n
Login.c(118): $.fn.tab = Plugin\n
Login.c(118): $.fn.tab.Constructor = Tab\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB NO CONFLICT\n
Login.c(118): // ===============\n
Login.c(118): \n
Login.c(118): $.fn.tab.noConflict = function () {\n
Login.c(118): $.fn.tab = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // TAB DATA-API\n
Login.c(118): // ============\n
Login.c(118): \n
Login.c(118): $(document).on('click.bs.tab.data-api', '[data-toggle="tab"],
[data-toggle="pill"]', fun
Login.c(118): ction (e) {\n
Login.c(118): e.preventDefault()\n
Login.c(118): Plugin.call($(this), 'show')\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): \n
Login.c(118): /*
========================================================================\n
Login.c(118): * Bootstrap: affix.js v3.2.0\n
Login.c(118): * http://getbootstrap.com/javascript/#affix\n
Login.c(118): *
========================================================================\n
Login.c(118): * Copyright 2011-2014 Twitter, Inc.\n
Login.c(118): * Licensed under MIT
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n
Login.c(118): *
======================================================================== */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): +function ($) {\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // AFFIX CLASS DEFINITION\n
Login.c(118): // ======================\n
Login.c(118): \n
Login.c(118): var Affix = function (element, options) {\n
Login.c(118): this.options = $.extend({}, Affix.DEFAULTS, options)\n
Login.c(118): \n
Login.c(118): this.$target = $(this.options.target)\n
Login.c(118): .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition,
this))\n
Login.c(118): .on('click.bs.affix.data-api',
$.proxy(this.checkPositionWithEventLoop, this))\n
Login.c(118): \n
Login.c(118): this.$element = $(element)\n
Login.c(118): this.affixed =\n
Login.c(118): this.unpin =\n
Login.c(118): this.pinnedOffset = null\n
Login.c(118): \n
Login.c(118): this.checkPosition()\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.VERSION = '3.2.0'\n
Login.c(118): \n
Login.c(118): Affix.RESET = 'affix affix-top affix-bottom'\n
Login.c(118): \n
Login.c(118): Affix.DEFAULTS = {\n
Login.c(118): offset: 0,\n
Login.c(118): target: window\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.getPinnedOffset = function () {\n
Login.c(118): if (this.pinnedOffset) return this.pinnedOffset\n
Login.c(118): this.$element.removeClass(Affix.RESET).addCl
Login.c(118): t=5352ms: 2853-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/bootstrap/dist/js/bootstrap.js" (RelFrameId=,
Internal ID=38)
Login.c(118): ass('affix')\n
Login.c(118): var scrollTop = this.$target.scrollTop()\n
Login.c(118): var position = this.$element.offset()\n
Login.c(118): return (this.pinnedOffset = position.top - scrollTop)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.checkPositionWithEventLoop = function () {\n
Login.c(118): setTimeout($.proxy(this.checkPosition, this), 1)\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Affix.prototype.checkPosition = function () {\n
Login.c(118): if (!this.$element.is(':visible')) return\n
Login.c(118): \n
Login.c(118): var scrollHeight = $(document).height()\n
Login.c(118): var scrollTop = this.$target.scrollTop()\n
Login.c(118): var position = this.$element.offset()\n
Login.c(118): var offset = this.options.offset\n
Login.c(118): var offsetTop = offset.top\n
Login.c(118): var offsetBottom = offset.bottom\n
Login.c(118): \n
Login.c(118): if (typeof offset != 'object') offsetBottom =
offsetTop = offset\n
Login.c(118): if (typeof offsetTop == 'function') offsetTop =
offset.top(this.$element)\n
Login.c(118): if (typeof offsetBottom == 'function') offsetBottom =
offset.bottom(this.$element)\n
Login.c(118): \n
Login.c(118): var affix = this.unpin != null && (scrollTop + this.unpin
<= position.top) ? false :
Login.c(118): \n
Login.c(118): offsetBottom != null && (position.top + this.
$element.height() >= scrollHe
Login.c(118): ight - offsetBottom) ? 'bottom' :\n
Login.c(118): offsetTop != null && (scrollTop <=
offsetTop) ? 'top' : false\n
Login.c(118): \n
Login.c(118): if (this.affixed === affix) return\n
Login.c(118): if (this.unpin != null) this.$element.css('top', '')\n
Login.c(118): \n
Login.c(118): var affixType = 'affix' + (affix ? '-' + affix : '')\n
Login.c(118): var e = $.Event(affixType + '.bs.affix')\n
Login.c(118): \n
Login.c(118): this.$element.trigger(e)\n
Login.c(118): \n
Login.c(118): if (e.isDefaultPrevented()) return\n
Login.c(118): \n
Login.c(118): this.affixed = affix\n
Login.c(118): this.unpin = affix == 'bottom' ? this.getPinnedOffset() :
null\n
Login.c(118): \n
Login.c(118): this.$element\n
Login.c(118): .removeClass(Affix.RESET)\n
Login.c(118): .addClass(affixType)\n
Login.c(118): .trigger($.Event(affixType.replace('affix', 'affixed')))\n
Login.c(118): \n
Login.c(118): if (affix == 'bottom') {\n
Login.c(118): this.$element.offset({\n
Login.c(118): top: scrollHeight - this.$element.height() -
offsetBottom\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX PLUGIN DEFINITION\n
Login.c(118): // =======================\n
Login.c(118): \n
Login.c(118): function Plugin(option) {\n
Login.c(118): return this.each(function () {\n
Login.c(118): var $this = $(this)\n
Login.c(118): var data = $this.data('bs.affix')\n
Login.c(118): var options = typeof option == 'object' && option\n
Login.c(118): \n
Login.c(118): if (!data) $this.data('bs.affix', (data = new Affix(this,
options)))\n
Login.c(118): if (typeof option == 'string') data[option]()\n
Login.c(118): })\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var old = $.fn.affix\n
Login.c(118): \n
Login.c(118): $.fn.affix = Plugin\n
Login.c(118): $.fn.affix.Constructor = Affix\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX NO CONFLICT\n
Login.c(118): // =================\n
Login.c(118): \n
Login.c(118): $.fn.affix.noConflict = function () {\n
Login.c(118): $.fn.affix = old\n
Login.c(118): return this\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // AFFIX DATA-API\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): $(window).on('load', function () {\n
Login.c(118): $('[data-spy="affix"]').each(function () {\n
Login.c(118): var $spy = $(this)\n
Login.c(118): var data = $spy.data()\n
Login.c(118): \n
Login.c(118): data.offset = data.offset || {}\n
Login.c(118): \n
Login.c(118): if (data.offsetBottom) data.offset.bottom =
data.offsetBottom\n
Login.c(118): if (data.offsetTop) data.offset.top =
data.offsetTop\n
Login.c(118): \n
Login.c(118): Plugin.call($spy, data)\n
Login.c(118): })\n
Login.c(118): })\n
Login.c(118): \n
Login.c(118): }(jQuery);\n
Login.c(118): t=5360ms: 294-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"1254-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5361ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): a\r\n
Login.c(118): t=5361ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=5361ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 74\r\n
Login.c(118): t=5361ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=5361ms: 638-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): t=5361ms: 1254-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/menu/metisMenu.min.js" (RelFrameId=, Internal
ID=39)
Login.c(118): /*\n
Login.c(118): * metismenu - v1.0.3\n
Login.c(118): * Easy menu jQuery plugin for Twitter Bootstrap 3\n
Login.c(118): * https://github.com/onokumus/metisMenu\n
Login.c(118): *\n
Login.c(118): * Made by Osman Nuri Okumu\xC5\x9F\n
Login.c(118): * Under MIT License\n
Login.c(118): */\n
Login.c(118): !function(a,b,c){function d(b,c)
{this.element=b,this.settings=a.extend({},f,c),this._defau
Login.c(118): lts=f,this._name=e,this.init()}var e="metisMenu",f={toggle:!
0};d.prototype={init:function(
Login.c(118): ){var b=a(this.element),c=this.settings.toggle;this.isIE()<=9?
(b.find("li.active").has("ul
Login.c(118):
").children("ul").collapse("show"),b.find("li").not(".active").has("ul").children("
ul").co
Login.c(118): llapse("hide")):
(b.find("li.active").has("ul").children("ul").addClass("collapse in"),b.fi
Login.c(118):
nd("li").not(".active").has("ul").children("ul").addClass("collapse")),b.find("li")
.has("u
Login.c(118): l").children("a").on("click",function(b)
{b.preventDefault(),a(this).parent("li").toggleCla
Login.c(118):
ss("active").children("ul").collapse("toggle"),c&&a(this).parent("li").siblings().r
emoveCl
Login.c(118):
ass("active").children("ul.in").collapse("hide")})},isIE:function(){for(var
a,b=3,d=c.crea
Login.c(118): teElement("div"),e=d.getElementsByTagName("i");d.innerHTML="<!--
[if gt IE "+ ++b+"]><i></i
Login.c(118): ><![endif]-->",e[0];)return b>4?b:a}},a.fn[e]=function(b){return
this.each(function(){a.da
Login.c(118): ta(this,"plugin_"+e)||a.data(this,"plugin_"+e,new d(this,b))})}}
(jQuery,window,document);
Login.c(118): t=5365ms: 293-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"880-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5365ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): a\r\n
Login.c(118): t=5365ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): \r\n
Login.c(118): 175\r\n
Login.c(118): t=5365ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=5366ms: 383-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): t=5366ms: 880-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/menu/sb-admin-2.js" (RelFrameId=, Internal
ID=40)
Login.c(118): $(function() {\n
Login.c(118): \n
Login.c(118): $('#side-menu').metisMenu();\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): //Loads the correct sidebar on window load,\n
Login.c(118): //collapses the sidebar on window resize.\n
Login.c(118): // Sets the min-height of #page-wrapper to window size\n
Login.c(118): $(function() {\n
Login.c(118): $(window).bind("load resize", function() {\n
Login.c(118): topOffset = 50;\n
Login.c(118): width = (this.window.innerWidth > 0) ?
this.window.innerWidth : this.screen.width;
Login.c(118): \n
Login.c(118): if (width < 768) {\n
Login.c(118): $('div.navbar-collapse').addClass('collapse')\n
Login.c(118): topOffset = 100; // 2-row-menu\n
Login.c(118): } else {\n
Login.c(118): $('div.navbar-collapse').removeClass('collapse')\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): height = (this.window.innerHeight > 0) ?
this.window.innerHeight : this.screen.hei
Login.c(118): ght;\n
Login.c(118): height = height - topOffset;\n
Login.c(118): if (height < 1) height = 1;\n
Login.c(118): if (height > topOffset) {\n
Login.c(118): $("#page-wrapper").css("min-height", (height) +
"px");\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): });\n
Login.c(118): t=5369ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"100900-1416253797000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:49:57 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 100900\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5370ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): /*!\n
Login.c(118): \n
Login.c(118): handlebars v2.0.0\n
Login.c(118): \n
Login.c(118): Copyright (C) 2011-2014 by Yehuda Katz\n
Login.c(118): \n
Login.c(118): Permission is hereby granted, free of charge, to any person
obtaining a copy\n
Login.c(118): of this software and associated documentation files (the
"Software"), to deal\n
Login.c(118): in the Software without restriction, including without limitation
the rights\n
Login.c(118): to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell\n
Login.c(118): copies of the Software, and to permit persons to whom the
Software is\n
Login.c(118): furnished to do so, subject to the following conditions:\n
Login.c(118): \n
Login.c(118): The above copyright notice and this permission notice shall be
included in\n
Login.c(118): all copies or substantial portions of the Software.\n
Login.c(118): \n
Login.c(118): THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR\n
Login.c(118): IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,\n
Login.c(118): FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE\n
Login.c(118): AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER\n
Login.c(118): LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM,\n
Login.c(118): OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN\n
Login.c(118): THE SOFTWARE.\n
Login.c(118): \n
Login.c(118): @license\n
Login.c(118): */\n
Login.c(118): /* exported Handlebars */\n
Login.c(118): (function (root, factory) {\n
Login.c(118): if (typeof define === 'function' && define.amd) {\n
Login.c(118): define([], factory);\n
Login.c(118): } else if (typeof exports === 'object') {\n
Login.c(118): module.exports = factory();\n
Login.c(118): } else {\n
Login.c(118): root.Handlebars = root.Handlebars || factory();\n
Login.c(118): }\n
Login.c(118): }(this, function () {\n
Login.c(118): // handlebars/safe-string.js\n
Login.c(118): var __module4__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): // Build out our basic SafeString type\n
Login.c(118): function SafeString(string) {\n
Login.c(118): this.string = string;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): SafeString.prototype.toString = function() {\n
Login.c(118): return "" + this.string;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): __exports__ = SafeString;\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/utils.js\n
Login.c(118): var __module3__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): /*jshint -W004 */\n
Login.c(118): var SafeString = __dependency1__;\n
Login.c(118): \n
Login.c(118): var escape = {\n
Login.c(118): "&": "&amp;",\n
Login.c(118): "<": "&lt;",\n
Login.c(118): ">": "&gt;",\n
Login.c(118): '"': "&quot;",\n
Login.c(118): "'": "&#x27;",\n
Login.c(118): "`": "&#x60;"\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var badChars = /[&<>"'`]/g;\n
Login.c(118): var possible = /[&<>"'`]/;\n
Login.c(118): \n
Login.c(118): function escapeChar(chr) {\n
Login.c(118): return escape[chr];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function extend(obj /* , ...source */) {\n
Login.c(118): for (var i = 1; i < arguments.length; i++) {\n
Login.c(118): for (var key in arguments[i]) {\n
Login.c(118): if (Object.prototype.hasOwnProperty.call(arguments[i],
key)) {\n
Login.c(118): obj[key] = arguments[i][key];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return obj;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.extend = extend;var toString =
Object.prototype.toString;\n
Login.c(118): __exports__.toString = toString;\n
Login.c(118): // Sourced from lodash\n
Login.c(118): // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n
Login.c(118): var isFunction = function(value) {\n
Login.c(118): return typeof value === 'function';\n
Login.c(118): };\n
Login.c(118): // fallback for older versions of Chrome and Safari\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (isFunction(/x/)) {\n
Login.c(118): isFunction = function(value) {\n
Login.c(118): return typeof value === 'function' && toString.call(value)
=== '[object Function]';\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): var isFunction;\n
Login.c(118): __exports__.isFunction = isFunction;\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): var isArray = Array.isArray || function(value) {\n
Login.c(118): return (value && typeof value === 'object') ?
toString.call(value) === '[object Array]
Login.c(118): ' : false;\n
Login.c(118): };\n
Login.c(118): __exports__.isArray = isArray;\n
Login.c(118): \n
Login.c(118): function escapeExpression(string) {\n
Login.c(118): // don't escape SafeStrings, since they're already safe\n
Login.c(118): if (string instanceof SafeString) {\n
Login.c(118): return string.toString();\n
Login.c(118): } else if (string == null) {\n
Login.c(118): return "";\n
Login.c(118): } else if (!string) {\n
Login.c(118): return string + '';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Force a string conversion as this will be done by the
append regardless and\n
Login.c(118): // the regex test will do this transparently behind the
scenes, causing issues if\n
Login.c(118): // an object's to string has escaped characters in it.\n
Login.c(118): string = "" + string;\n
Login.c(118): \n
Login.c(118): if(!possible.test(string)) { return string; }\n
Login.c(118): return string.replace(badChars, escapeChar);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.escapeExpression = escapeExpression;function
isEmpty(value) {\n
Login.c(118): if (!value && value !== 0) {\n
Login.c(118): return true;\n
Login.c(118): } else if (isArray(value) && value.length === 0) {\n
Login.c(118): return true;\n
Login.c(118): } else {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.isEmpty = isEmpty;function
appendContextPath(contextPath, id) {\n
Login.c(118): return (contextPath ? contextPath + '.' : '') + id;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.appendContextPath = appendContextPath;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module4__);\n
Login.c(118): \n
Login.c(118): // handlebars/exception.js\n
Login.c(118): var __module5__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): \n
Login.c(118): var errorProps = ['description', 'fileName', 'lineNumber',
'message', 'name', 'number',
Login.c(118): 'stack'];\n
Login.c(118): \n
Login.c(118): function Exception(message, node) {\n
Login.c(118): var line;\n
Login.c(118): if (node && node.firstLine) {\n
Login.c(118): line = node.firstLine;\n
Login.c(118): \n
Login.c(118): message += ' - ' + line + ':' + node.firstColumn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var tmp = Error.prototype.constructor.call(this, message);\n
Login.c(118): \n
Login.c(118): // Unfortunately errors are not enumerable in Chrome (at
least), so `for prop in tmp`
Login.c(118): doesn't work.\n
Login.c(118): for (var idx = 0; idx < errorProps.length; idx++) {\n
Login.c(118): this[errorProps[idx]] = tmp[errorProps[idx]];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (line) {\n
Login.c(118): this.lineNumber = line;\n
Login.c(118): this.column = node.firstColumn;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Exception.prototype = new Error();\n
Login.c(118): \n
Login.c(118): __exports__ = Exception;\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/base.js\n
Login.c(118): var __module2__ = (function(__dependency1__, __dependency2__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Utils = __dependency1__;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): \n
Login.c(118): var VERSION = "2.0.0";\n
Login.c(118): __exports__.VERSION = VERSION;var COMPILER_REVISION = 6;\n
Login.c(118): __exports__.COMPILER_REVISION = COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = {\n
Login.c(118): 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't
report it\n
Login.c(118): 2: '== 1.0.0-rc.3',\n
Login.c(118): 3: '== 1.0.0-rc.4',\n
Login.c(118): 4: '== 1.x.x',\n
Login.c(118): 5: '== 2.0.0-alpha.x',\n
Login.c(118): 6: '>= 2.0.0-beta.1'\n
Login.c(118): };\n
Login.c(118): __exports__.REVISION_CHANGES = REVISION_CHANGES;\n
Login.c(118): var isArray = Utils.isArray,\n
Login.c(118): isFunction = Utils.isFunction,\n
Login.c(118): toString = Utils.toString,\n
Login.c(118): objectType = '[object Object]';\n
Login.c(118): \n
Login.c(118): function HandlebarsEnvironment(helpers, partials) {\n
Login.c(118): this.helpers = helpers || {};\n
Login.c(118): this.partials = partials || {};\n
Login.c(118): \n
Login.c(118): registerDefaultHelpers(this);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.HandlebarsEnvironment =
HandlebarsEnvironment;HandlebarsEnvironment.prototyp
Login.c(118): e = {\n
Login.c(118): constructor: HandlebarsEnvironment,\n
Login.c(118): \n
Login.c(118): logger: logger,\n
Login.c(118): log: log,\n
Login.c(118): \n
Login.c(118): registerHelper: function(name, fn) {\n
Login.c(118): if (toString.call(name) === objectType) {\n
Login.c(118): if (fn) { throw new Exception('Arg not supported with
multiple helpers'); }\n
Login.c(118): Utils.extend(this.helpers, name);\n
Login.c(118): } else {\n
Login.c(118): this.helpers[name] = fn;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): unregisterHelper: function(name) {\n
Login.c(118): delete this.helpers[name];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): registerPartial: function(name, partial) {\n
Login.c(118): if (toString.call(name) === objectType) {\n
Login.c(118): Utils.extend(this.partials, name);\n
Login.c(118): } else {\n
Login.c(118): this.partials[name] = partial;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): unregisterPartial: function(name) {\n
Login.c(118): delete this.partials[name];\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function registerDefaultHelpers(instance) {\n
Login.c(118): instance.registerHelper('helperMissing', function(/* [args, ]
options */) {\n
Login.c(118): if(arguments.length === 1) {\n
Login.c(118): // A missing field in a {{foo}} constuct.\n
Login.c(118): return undefined;\n
Login.c(118): } else {\n
Login.c(118): // Someone is actually trying to call something, blow
up.\n
Login.c(118): throw new Exception("Missing helper: '" +
arguments[arguments.length-1].name + "'"
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('blockHelperMissing',
function(context, options) {\n
Login.c(118): var inverse = options.inverse,\n
Login.c(118): fn = options.fn;\n
Login.c(118): \n
Login.c(118): if(context === true) {\n
Login.c(118): return fn(this);\n
Login.c(118): } else if(context === false || context == null) {\n
Login.c(118): return inverse(this);\n
Login.c(118): } else if (isArray(context)) {\n
Login.c(118): if(context.length > 0) {\n
Login.c(118): if (options.ids) {\n
Login.c(118): options.ids = [options.name];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return instance.helpers.each(context, options);\n
Login.c(118): } else {\n
Login.c(118): return inverse(this);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): var data = createFrame(options.data);\n
Login.c(118): data.contextPath =
Utils.appendContextPath(options.data.contextPath, options.nam
Login.c(118): e);\n
Login.c(118): options = {data: data};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return fn(context, options);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('each', function(context, options)
{\n
Login.c(118): if (!options) {\n
Login.c(118): throw new Exception('Must pass iterator to #each');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var fn = options.fn, inverse = options.inverse;\n
Login.c(118): var i = 0, ret = "", data;\n
Login.c(118): \n
Login.c(118): var contextPath;\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): contextPath =
Utils.appendContextPath(options.data.contextPath, options.ids[0]) +
Login.c(118): '.';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isFunction(context)) { context = context.ca
Login.c(118): t=5595ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): ll(this); }\n
Login.c(118): \n
Login.c(118): if (options.data) {\n
Login.c(118): data = createFrame(options.data);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(context && typeof context === 'object') {\n
Login.c(118): if (isArray(context)) {\n
Login.c(118): for(var j = context.length; i<j; i++) {\n
Login.c(118): if (data) {\n
Login.c(118): data.index = i;\n
Login.c(118): data.first = (i === 0);\n
Login.c(118): data.last = (i === (context.length-1));\n
Login.c(118): \n
Login.c(118): if (contextPath) {\n
Login.c(118): data.contextPath = contextPath + i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ret = ret + fn(context[i], { data: data });\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): for(var key in context) {\n
Login.c(118): if(context.hasOwnProperty(key)) {\n
Login.c(118): if(data) {\n
Login.c(118): data.key = key;\n
Login.c(118): data.index = i;\n
Login.c(118): data.first = (i === 0);\n
Login.c(118): \n
Login.c(118): if (contextPath) {\n
Login.c(118): data.contextPath = contextPath + key;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ret = ret + fn(context[key], {data: data});\n
Login.c(118): i++;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(i === 0){\n
Login.c(118): ret = inverse(this);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('if', function(conditional, options)
{\n
Login.c(118): if (isFunction(conditional)) { conditional =
conditional.call(this); }\n
Login.c(118): \n
Login.c(118): // Default behavior is to render the positive path if the
value is truthy and not em
Login.c(118): pty.\n
Login.c(118): // The `includeZero` option may be set to treat the
condtional as purely not empty b
Login.c(118): ased on the\n
Login.c(118): // behavior of isEmpty. Effectively this determines if 0 is
handled by the positive
Login.c(118): path or negative.\n
Login.c(118): if ((!options.hash.includeZero && !conditional) ||
Utils.isEmpty(conditional)) {\n
Login.c(118): return options.inverse(this);\n
Login.c(118): } else {\n
Login.c(118): return options.fn(this);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('unless', function(conditional,
options) {\n
Login.c(118): return instance.helpers['if'].call(this, conditional, {fn:
options.inverse, inverse:
Login.c(118): options.fn, hash: options.hash});\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('with', function(context, options)
{\n
Login.c(118): if (isFunction(context)) { context =
context.call(this); }\n
Login.c(118): \n
Login.c(118): var fn = options.fn;\n
Login.c(118): \n
Login.c(118): if (!Utils.isEmpty(context)) {\n
Login.c(118): if (options.data && options.ids) {\n
Login.c(118): var data = createFrame(options.data);\n
Login.c(118): data.contextPath =
Utils.appendContextPath(options.data.contextPath, options.ids
Login.c(118): [0]);\n
Login.c(118): options = {data:data};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return fn(context, options);\n
Login.c(118): } else {\n
Login.c(118): return options.inverse(this);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('log', function(message, options) {\n
Login.c(118): var level = options.data && options.data.level != null ?
parseInt(options.data.level
Login.c(118): , 10) : 1;\n
Login.c(118): instance.log(level, message);\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): instance.registerHelper('lookup', function(obj, field) {\n
Login.c(118): return obj && obj[field];\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var logger = {\n
Login.c(118): methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3:
'error' },\n
Login.c(118): \n
Login.c(118): // State enum\n
Login.c(118): DEBUG: 0,\n
Login.c(118): INFO: 1,\n
Login.c(118): WARN: 2,\n
Login.c(118): ERROR: 3,\n
Login.c(118): level: 3,\n
Login.c(118): \n
Login.c(118): // can be overridden in the host environment\n
Login.c(118): log: function(level, message) {\n
Login.c(118): if (logger.level <= level) {\n
Login.c(118): var method = logger.methodMap[level];\n
Login.c(118): if (typeof console !== 'undefined' && console[method])
{\n
Login.c(118): console[method].call(console, message);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): __exports__.logger = logger;\n
Login.c(118): var log = logger.log;\n
Login.c(118): __exports__.log = log;\n
Login.c(118): var createFrame = function(object) {\n
Login.c(118): var frame = Utils.extend({}, object);\n
Login.c(118): frame._parent = object;\n
Login.c(118): return frame;\n
Login.c(118): };\n
Login.c(118): __exports__.createFrame = createFrame;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module3__, __module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/runtime.js\n
Login.c(118): var __module6__ = (function(__dependency1__, __dependency2__,
__dependency3__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Utils = __dependency1__;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = __dependency3__.REVISION_CHANGES;\n
Login.c(118): var createFrame = __dependency3__.createFrame;\n
Login.c(118): \n
Login.c(118): function checkRevision(compilerInfo) {\n
Login.c(118): var compilerRevision = compilerInfo && compilerInfo[0] ||
1,\n
Login.c(118): currentRevision = COMPILER_REVISION;\n
Login.c(118): \n
Login.c(118): if (compilerRevision !== currentRevision) {\n
Login.c(118): if (compilerRevision < currentRevision) {\n
Login.c(118): var runtimeVersions =
REVISION_CHANGES[currentRevision],\n
Login.c(118): compilerVersions =
REVISION_CHANGES[compilerRevision];\n
Login.c(118): throw new Exception("Template was precompiled with an
older version of Handlebars
Login.c(118): than the current runtime. "+\n
Login.c(118): "Please update your precompiler to a newer version
("+runtimeVersions+") or
Login.c(118): downgrade your runtime to an older version
("+compilerVersions+").");\n
Login.c(118): } else {\n
Login.c(118): // Use the embedded version info since the runtime
doesn't know about this revisio
Login.c(118): n yet\n
Login.c(118): throw new Exception("Template was precompiled with a
newer version of Handlebars t
Login.c(118): han the current runtime. "+\n
Login.c(118): "Please update your runtime to a newer version
("+compilerInfo[1]+").");\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.checkRevision = checkRevision;// TODO: Remove this
line and break up compile
Login.c(118): Partial\n
Login.c(118): \n
Login.c(118): function template(templateSpec, env) {\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!env) {\n
Login.c(118): throw new Exception("No environment passed to template");\n
Login.c(118): }\n
Login.c(118): if (!templateSpec || !templateSpec.main) {\n
Login.c(118): throw new Exception('Unknown template object: ' + typeof
templateSpec);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Note: Using env.VM references rather than local var
references throughout this sect
Login.c(118): ion to allow\n
Login.c(118): // for external users to override these as psuedo-supported
APIs.\n
Login.c(118): env.VM.checkRevision(templateSpec.compiler);\n
Login.c(118): \n
Login.c(118): var invokePartialWrapper = function(partial, indent, name,
context, hash, helpers, par
Login.c(118): tials, data, depths) {\n
Login.c(118): if (hash) {\n
Login.c(118): context = Utils.extend({}, context, hash);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var result = env.VM.invokePartial.call(this, partial, name,
context, helpers, partia
Login.c(118): ls, data, depths);\n
Login.c(118): \n
Login.c(118): if (result == null && env.compile) {\n
Login.c(118): var options = { helpers: helpers, partials: partials,
data: data, depths: depths }
Login.c(118): ;\n
Login.c(118): partials[name] = env.compile(partial, { data: data !==
undefined, compat: template
Login.c(118): Spec.compat }, env);\n
Login.c(118): result = partials[name](context, options);\n
Login.c(118): }\n
Login.c(118): if (result != null) {\n
Login.c(118): if (indent) {\n
Login.c(118): var lines = result.split('\\n');\n
Login.c(118): for (var i = 0, l = lines.length; i < l; i++) {\n
Login.c(118): if (!lines[i] && i + 1 === l) {\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): lines[i] = indent + lines[i];\n
Login.c(118): }\n
Login.c(118): result = lines.join('\\n');\n
Login.c(118): }\n
Login.c(118): return result;\n
Login.c(118): } else {\n
Login.c(118): throw new Exception("The partial " + name + " could not
be compiled when running i
Login.c(118): n runtime-only mode");\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // Just add water\n
Login.c(118): var container = {\n
Login.c(118): lookup: function(depths, name) {\n
Login.c(118): var len = depths.length;\n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): if (depths[i] && depths[i][name] != null) {\n
Login.c(118): return depths[i][name];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): lambda: function(current, context) {\n
Login.c(118): return typeof current === 'function' ?
current.call(context) : current;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): escapeExpression: Utils.escapeExpression,\n
Login.c(118): invokePartial: invokePartialWrapper,\n
Login.c(118): \n
Login.c(118): fn: function(i) {\n
Login.c(118): return templateSpec[i];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): programs: [],\n
Login.c(118): program: function(i, data, depths) {\n
Login.c(118): var programWrapper = this.programs[i],\n
Login.c(118): fn = this.fn(i);\n
Login.c(118): if (data || depths) {\n
Login.c(118): programWrapper = program(this, i, fn, data, depths);\n
Login.c(118): } else if (!programWrapper) {\n
Login.c(118): programWrapper = this.programs[i] = program(this, i,
fn);\n
Login.c(118): }\n
Login.c(118): return programWrapper;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): data: function(data, depth) {\n
Login.c(118): while (data && depth--) {\n
Login.c(118): data = data._parent;\n
Login.c(118): }\n
Login.c(118): return data;\n
Login.c(118): },\n
Login.c(118): merge: function(param, common) {\n
Login.c(118): var ret = param || common;\n
Login.c(118): \n
Login.c(118): if (param && common && (param !== common)) {\n
Login.c(118): ret = Utils.extend({}, common, param);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): noop: env.VM.noop,\n
Login.c(118): compilerInfo: templateSpec.compiler\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var ret = function(context, options) {\n
Login.c(118): options = options || {};\n
Login.c(118): var data = options.data;\n
Login.c(118): \n
Login.c(118): ret._setup(options);\n
Login.c(118): if (!options.partial && templateSpec.useData) {\n
Login.c(118): data = initData(context, data);\n
Login.c(118): }\n
Login.c(118): var depths;\n
Login.c(118): if (templateSpec.useDepths) {\n
Login.c(118): depths = options.depths ?
[context].concat(options.depths) : [context];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return templateSpec.main.call(container, context,
container.helpers, container.parti
Login.c(118): als, data, depths);\n
Login.c(118): };\n
Login.c(118): ret.isTop = true;\n
Login.c(118): \n
Login.c(118): ret._setup = function(options) {\n
Login.c(118): if (!options.partial) {\n
Login.c(118): container.helpers = container.merge(options.helpers,
env.helpers);\n
Login.c(118): \n
Login.c(118): if (templateSpec.usePartial) {\n
Login.c(118): container.partials = container.merge(options.partials,
env.partials);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): container.helpers = options.helpers;\n
Login.c(118): container.partials = options.partials;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): ret._child = function(i, data, depths) {\n
Login.c(118): if (templateSpec.useDepths && !depths) {\n
Login.c(118): throw new Exception('must pass parent depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return program(container, i, templateSpec[i], data,
depths);\n
Login.c(118): };\n
Login.c(118): return ret;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.template = template;function program(container, i,
fn, data, depths) {\n
Login.c(118): var prog = function(context, options) {\n
Login.c(118): options = options || {};\n
Login.c(118): \n
Login.c(118): return fn.call(container, context, container.helpers,
container.partials, options.da
Login.c(118): ta || data, depths && [context].concat(depths));\n
Login.c(118): };\n
Login.c(118): prog.program = i;\n
Login.c(118): prog.depth = depths ? depths.length : 0;\n
Login.c(118): return prog;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.program = program;function invokePartial(partial,
name, context, helpers, pa
Login.c(118): rtials, data, depths) {\n
Login.c(118): var options = { partial: true, helpers: helpers, partials:
partials, data: data, depth
Login.c(118): s: depths };\n
Login.c(118): \n
Login.c(118): if(partial === undefined) {\n
Login.c(118): throw new Exception("The partial " + name + " could not be
found");\n
Login.c(118): } else if(partial instanceof Function) {\n
Login.c(118): return partial(context, options);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.invokePartial = invokePartial;function noop()
{ return ""; }\n
Login.c(118): \n
Login.c(118): __exports__.noop = noop;function initData(context, data) {\n
Login.c(118): if (!data || !('root' in data)) {\n
Login.c(118): data = data ? createFrame(data) : {};\n
Login.c(118): data.root = context;\n
Login.c(118): }\n
Login.c(118): return data;\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module3__, __module5__, __module2__);\n
Login.c(118): \n
Login.c(118): // handlebars.runtime.js\n
Login.c(118): var __module1__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__, __dependency5__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /*globals Handlebars: true */\n
Login.c(118): var base = __dependency1__;\n
Login.c(118): \n
Login.c(118): // Each of these augment the Handlebars object. No need to
setup here.\n
Login.c(118): // (This is done to easily share code between commonjs and
browse envs)\n
Login.c(118): var SafeString = __dependency2__;\n
Login.c(118): var Exception = __dependency3__;\n
Login.c(118): var Utils = __dependency4__;\n
Login.c(118): var runtime = __dependency5__;\n
Login.c(118): \n
Login.c(118): // For compatibility and usage outside of module systems, make
the Handlebars object a n
Login.c(118): amespace\n
Login.c(118): var create = function() {\n
Login.c(118): var hb = new base.HandlebarsEnvironment();\n
Login.c(118): \n
Login.c(118): Utils.extend(hb, base);\n
Login.c(118): hb.SafeString = SafeString;\n
Login.c(118): hb.Exception = Exception;\n
Login.c(118): hb.Utils = Utils;\n
Login.c(118): hb.escapeExpression = Utils.escapeExpression;\n
Login.c(118): \n
Login.c(118): hb.VM = runtime;\n
Login.c(118): hb.template = function(spec) {\n
Login.c(118): return runtime.template(spec, hb);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return hb;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var Handlebars = create();\n
Login.c(118): Handlebars.create = create;\n
Login.c(118): \n
Login.c(118): Handlebars['default'] = Handlebars;\n
Login.c(118): \n
Login.c(118): __exports__ = Handlebars;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module2__, __module4__, __module5__, __module3__,
__module6__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/ast.js\n
Login.c(118): var __module7__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): \n
Login.c(118): function LocationInfo(locInfo) {\n
Login.c(118): locInfo = locInfo || {};\n
Login.c(118): this.firstLine = locInfo.first_line;\n
Login.c(118): this.firstColumn = locInfo.first_column;\n
Login.c(118): this.lastColumn = locInfo.last_column;\n
Login.c(118): this.lastLine = locInfo.last_line;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var AST = {\n
Login.c(118): ProgramNode: function(statements, strip, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "program";\n
Login.c(118): this.statements = statements;\n
Login.c(118): this.strip = strip;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): MustacheNode: function(rawParams, hash, open, strip, locInfo)
{\n
Login.c(118): LocationInf
Login.c(118): t=5613ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): o.call(this, locInfo);\n
Login.c(118): this.type = "mustache";\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): // Open may be a string parsed from the parser or a passed
boolean flag\n
Login.c(118): if (open != null && open.charAt) {\n
Login.c(118): // Must use charAt to support IE pre-10\n
Login.c(118): var escapeFlag = open.charAt(3) || open.charAt(2);\n
Login.c(118): this.escaped = escapeFlag !== '{' && escapeFlag !==
'&';\n
Login.c(118): } else {\n
Login.c(118): this.escaped = !!open;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (rawParams instanceof AST.SexprNode) {\n
Login.c(118): this.sexpr = rawParams;\n
Login.c(118): } else {\n
Login.c(118): // Support old AST API\n
Login.c(118): this.sexpr = new AST.SexprNode(rawParams, hash);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Support old AST API that stored this info in
MustacheNode\n
Login.c(118): this.id = this.sexpr.id;\n
Login.c(118): this.params = this.sexpr.params;\n
Login.c(118): this.hash = this.sexpr.hash;\n
Login.c(118): this.eligibleHelper = this.sexpr.eligibleHelper;\n
Login.c(118): this.isHelper = this.sexpr.isHelper;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): SexprNode: function(rawParams, hash, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = "sexpr";\n
Login.c(118): this.hash = hash;\n
Login.c(118): \n
Login.c(118): var id = this.id = rawParams[0];\n
Login.c(118): var params = this.params = rawParams.slice(1);\n
Login.c(118): \n
Login.c(118): // a mustache is definitely a helper if:\n
Login.c(118): // * it is an eligible helper, and\n
Login.c(118): // * it has at least one parameter or hash segment\n
Login.c(118): this.isHelper = !!(params.length || hash);\n
Login.c(118): \n
Login.c(118): // a mustache is an eligible helper if:\n
Login.c(118): // * its id is simple (a single part, not `this` or `..`)\n
Login.c(118): this.eligibleHelper = this.isHelper || id.isSimple;\n
Login.c(118): \n
Login.c(118): // if a mustache is an eligible helper but not a definite\n
Login.c(118): // helper, it is ambiguous, and will be resolved in a
later\n
Login.c(118): // pass or at runtime.\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): PartialNode: function(partialName, context, hash, strip,
locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "partial";\n
Login.c(118): this.partialName = partialName;\n
Login.c(118): this.context = context;\n
Login.c(118): this.hash = hash;\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): this.strip.inlineStandalone = true;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BlockNode: function(mustache, program, inverse, strip,
locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = 'block';\n
Login.c(118): this.mustache = mustache;\n
Login.c(118): this.program = program;\n
Login.c(118): this.inverse = inverse;\n
Login.c(118): this.strip = strip;\n
Login.c(118): \n
Login.c(118): if (inverse && !program) {\n
Login.c(118): this.isInverse = true;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): RawBlockNode: function(mustache, content, close, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): \n
Login.c(118): if (mustache.sexpr.id.original !== close) {\n
Login.c(118): throw new Exception(mustache.sexpr.id.original + "
doesn't match " + close, this);
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): content = new AST.ContentNode(content, locInfo);\n
Login.c(118): \n
Login.c(118): this.type = 'block';\n
Login.c(118): this.mustache = mustache;\n
Login.c(118): this.program = new AST.ProgramNode([content], {},
locInfo);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ContentNode: function(string, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "content";\n
Login.c(118): this.original = this.string = string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): HashNode: function(pairs, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "hash";\n
Login.c(118): this.pairs = pairs;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): IdNode: function(parts, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "ID";\n
Login.c(118): \n
Login.c(118): var original = "",\n
Login.c(118): dig = [],\n
Login.c(118): depth = 0,\n
Login.c(118): depthString = '';\n
Login.c(118): \n
Login.c(118): for(var i=0,l=parts.length; i<l; i++) {\n
Login.c(118): var part = parts[i].part;\n
Login.c(118): original += (parts[i].separator || '') + part;\n
Login.c(118): \n
Login.c(118): if (part === ".." || part === "." || part === "this") {\n
Login.c(118): if (dig.length > 0) {\n
Login.c(118): throw new Exception("Invalid path: " + original,
this);\n
Login.c(118): } else if (part === "..") {\n
Login.c(118): depth++;\n
Login.c(118): depthString += '../';\n
Login.c(118): } else {\n
Login.c(118): this.isScoped = true;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): dig.push(part);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.original = original;\n
Login.c(118): this.parts = dig;\n
Login.c(118): this.string = dig.join('.');\n
Login.c(118): this.depth = depth;\n
Login.c(118): this.idName = depthString + this.string;\n
Login.c(118): \n
Login.c(118): // an ID is simple if it only has one part, and that part
is not\n
Login.c(118): // `..` or `this`.\n
Login.c(118): this.isSimple = parts.length === 1 && !this.isScoped &&
depth === 0;\n
Login.c(118): \n
Login.c(118): this.stringModeValue = this.string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): PartialNameNode: function(name, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "PARTIAL_NAME";\n
Login.c(118): this.name = name.original;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): DataNode: function(id, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "DATA";\n
Login.c(118): this.id = id;\n
Login.c(118): this.stringModeValue = id.stringModeValue;\n
Login.c(118): this.idName = '@' + id.stringModeValue;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): StringNode: function(string, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "STRING";\n
Login.c(118): this.original =\n
Login.c(118): this.string =\n
Login.c(118): this.stringModeValue = string;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): NumberNode: function(number, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "NUMBER";\n
Login.c(118): this.original =\n
Login.c(118): this.number = number;\n
Login.c(118): this.stringModeValue = Number(number);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BooleanNode: function(bool, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "BOOLEAN";\n
Login.c(118): this.bool = bool;\n
Login.c(118): this.stringModeValue = bool === "true";\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): CommentNode: function(comment, locInfo) {\n
Login.c(118): LocationInfo.call(this, locInfo);\n
Login.c(118): this.type = "comment";\n
Login.c(118): this.comment = comment;\n
Login.c(118): \n
Login.c(118): this.strip = {\n
Login.c(118): inlineStandalone: true\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // Must be exported as an object rather than the root of the
module as the jison lexer\n
Login.c(118): // most modify the object to operate properly.\n
Login.c(118): __exports__ = AST;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/parser.js\n
Login.c(118): var __module9__ = (function() {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /* jshint ignore:start */\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): /* Jison generated parser */\n
Login.c(118): var handlebars = (function(){\n
Login.c(118): var parser = {trace: function trace() { },\n
Login.c(118): yy: {},\n
Login.c(118): symbols_:
{"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,
Login.c(118):
"mustache":8,"block":9,"rawBlock":10,"partial":11,"CONTENT":12,"COMMENT":13,"openRa
wBlock"
Login.c(118): :
14,"END_RAW_BLOCK":15,"OPEN_RAW_BLOCK":16,"sexpr":17,"CLOSE_RAW_BLOCK":18,"openBloc
k":19,
Login.c(118):
"block_option0":20,"closeBlock":21,"openInverse":22,"block_option1":23,"OPEN_BLOCK"
:24,"CL
Login.c(118):
OSE":25,"OPEN_INVERSE":26,"inverseAndProgram":27,"INVERSE":28,"OPEN_ENDBLOCK":29,"p
ath":30
Login.c(118): ,"OPEN":31,"OPEN_UNESCAPED":32,"CLOSE_UNESCAPED":33,"OPEN_PARTIAL
":34,"partialName":35,"pa
Login.c(118):
ram":36,"partial_option0":37,"partial_option1":38,"sexpr_repetition0":39,"sexpr_opt
ion0":4
Login.c(118):
0,"dataName":41,"STRING":42,"NUMBER":43,"BOOLEAN":44,"OPEN_SEXPR":45,"CLOSE_SEXPR":
46,"has
Login.c(118):
h":47,"hash_repetition_plus0":48,"hashSegment":49,"ID":50,"EQUALS":51,"DATA":52,"pa
thSegme
Login.c(118): nts":53,"SEP":54,"$accept":0,"$end":1},\n
Login.c(118): terminals_:
{2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW
Login.c(118):
_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVER
SE",29:
Login.c(118):
"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL
",42:"S
Login.c(118):
TRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS
",52:"D
Login.c(118): ATA",54:"SEP"},\n
Login.c(118): productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],
[7,1],[10,3],[14,3],[9,4],[9,
Login.c(118): 4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],
[17,1],[36,1],[36,1],[36,1
Login.c(118): ],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],
[30,1],[53,3],[53,1],[6,0
Login.c(118): ],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],
[39,0],[39,2],[40,0],[40,1
Login.c(118): ],[48,1],[48,2]],\n
Login.c(118): performAction: function
anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {\n
Login.c(118): \n
Login.c(118): var $0 = $$.length - 1;\n
Login.c(118): switch (yystate) {\n
Login.c(118): case 1: yy.prepareProgram($$[$0-1].statements, true); return $$
[$0-1]; \n
Login.c(118): break;\n
Login.c(118): case 2:this.$ = new yy.ProgramNode(yy.prepareProgram($$[$0]),
{}, this._$);\n
Login.c(118): break;\n
Login.c(118): case 3:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 4:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 5:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 6:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 7:this.$ = new yy.ContentNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 8:this.$ = new yy.CommentNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 9:this.$ = new yy.RawBlockNode($$[$0-2], $$[$0-1], $$[$0],
this._$);\n
Login.c(118): break;\n
Login.c(118): case 10:this.$ = new yy.MustacheNode($$[$0-1], null, '', '',
this._$);\n
Login.c(118): break;\n
Login.c(118): case 11:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1],
$$[$0], false, this._$);\n
Login.c(118): break;\n
Login.c(118): case 12:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1],
$$[$0], true, this._$);\n
Login.c(118): break;\n
Login.c(118): case 13:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 14:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 15:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]),
program: $$[$0] };\n
Login.c(118): break;\n
Login.c(118): case 16:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-
2], $$[$0])};\n
Login.c(118): break;\n
Login.c(118): case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2],
yy.stripFlags($$[$0-2], $
Login.c(118): $[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 19:this.$ = new yy.PartialNode($$[$0-3], $$[$0-2], $$[$0-
1], yy.stripFlags($$[$0-4]
Login.c(118): , $$[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 20:this.$ = new yy.PartialNode($$[$0-2], undefined, $$[$0-
1], yy.stripFlags($$[$0-3
Login.c(118): ], $$[$0]), this._$);\n
Login.c(118): break;\n
Login.c(118): case 21:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]),
$$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 22:this.$ = new yy.SexprNode([$$[$0]], null, this._$);\n
Login.c(118): break;\n
Login.c(118): case 23:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 24:this.$ = new yy.StringNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 25:this.$ = new yy.NumberNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 26:this.$ = new yy.BooleanNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 27:this.$ = $$[$0];\n
Login.c(118): break;\n
Login.c(118): case 28:$$[$0-1].isHelper = true; this.$ = $$[$0-1];\n
Login.c(118): break;\n
Login.c(118): case 29:this.$ = new yy.HashNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 30:this.$ = [$$[$0-2], $$[$0]];\n
Login.c(118): break;\n
Login.c(118): case 31:this.$ = new yy.PartialNameNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 32:this.$ = new yy.PartialNameNode(new yy.StringNode($$
[$0], this._$), this._$);\n
Login.c(118): break;\n
Login.c(118): case 33:this.$ = new yy.PartialNameNode(new yy.NumberNode($$
[$0], this._$));\n
Login.c(118): break;\n
Login.c(118): case 34:this.$ = new yy.DataNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 35:this.$ = new yy.IdNode($$[$0], this._$);\n
Login.c(118): break;\n
Login.c(118): case 36: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]});
this.$ = $$[$0-2]; \n
Login.c(118): break;\n
Login.c(118): case 37:this.$ = [{part: $$[$0]}];\n
Login.c(118): break;\n
Login.c(118): case 38:this.$ = [];\n
Login.c(118): break;\n
Login.c(118): case 39:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): case 48:this.$ = [];\n
Login.c(118): break;\n
Login.c(118): case 49:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): case 52:this.$ = [$$[$0]];\n
Login.c(118): break;\n
Login.c(118): case 53:$$[$0-1].push($$[$0]);\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): table: [{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:
[2,38],26:[2,38],31:[2,38
Login.c(118): ],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:
[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11
Login.c(118): ],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:
[2,2],31:[1,12],32:[1,13],34
Login.c(118): :[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:
[2,39],26:[2,39],28:[2,39],2
Login.c(118): 9:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:
[2,3],16:[2,3],24:[2,3],26:[2
Login.c(118): ,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:
[2,4],13:[2,4],16:[2,4],24:[
Login.c(118): 2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:
[2,5],12:[2,5],13:[2,5],16:
Login.c(118): [2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:
[2,5]},{5:[2,6],12:[2,6],13
Login.c(118): :[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:
[2,6],34:[2,6]},{5:[2,7],1
Login.c(118): 2:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:
[2,7],32:[2,7],34:[2,7]},
Login.c(118): {5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:
[2,8],29:[2,8],31:[2,8],32:[2,8],
Login.c(118): 34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},
{17:27,30:22,41:23,50:[1,26],52:[1
Login.c(118): ,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:
[2,38],28:[2,38],29:[2,38
Login.c(118): ],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:
[2,38],16:[2,38],24:[2,38],26:[2,3
Login.c(118): 8],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:
[1,30]},{30:32,35:31,42:[1,33],4
Login.c(118): 3:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:
[1,25],53:24},{17:36,30:22,41:23
Login.c(118): ,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:
[1,25],53:24},{25:[1,38]},{18:
Login.c(118): [2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:
[2,48],45:[2,48],46:[2,48],50:[2,4
Login.c(118): 8],52:[
Login.c(118): t=5633ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): 2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:
[2,35],33:[2,35],42:[2,35],
Login.c(118): 43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:
[1,40]},{30:41,50:[1,26],53
Login.c(118): :24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:
[2,37],45:[2,37],46:[2,37],50:[
Login.c(118): 2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:
[2,40]},{23:46,27:47,28:[
Login.c(118): 1,45],29:[2,42]},{15:[1,48]},{25:
[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,
Login.c(118): 54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:
[2,31],42:[2,31],43:[2,31],
Login.c(118): 44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:
[2,32],44:[2,32],45:[2,32
Login.c(118): ],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:
[2,33],45:[2,33],50:[2,33],52:[2,
Login.c(118): 33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:
[2,17],16:[2,17],24:[2,17]
Login.c(118): ,26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},
{18:[2,50],25:[2,50],30:51,3
Login.c(118): 3:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:
[1,56],46:[2,50],47:66,48:58,4
Login.c(118): 9:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:
[2,34],33:[2,34],42:[2,34],43:[2
Login.c(118): ,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:
[2,18],12:[2,18],13:[2,18],16:[
Login.c(118): 2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:
[2,18],34:[2,18]},{21:68,29:[1,
Login.c(118): 69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:
[2,38],26:[2,38],29:[2,38],31:
Login.c(118): [2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:
[2,9],12:[2,9],13:[2,9],16:[2
Login.c(118): ,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:
[2,9]},{25:[2,44],37:72,47:73
Login.c(118): ,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:
[2,23],42:[2,23],43:[2,23],44:
Login.c(118): [2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:
[2,24],33:[2,24],42:[2,24],4
Login.c(118): 3:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:
[2,25],25:[2,25],33:[2,25]
Login.c(118): ,42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:
[2,25]},{18:[2,26],25:[2,2
Login.c(118): 6],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:
[2,26],50:[2,26],52:[2,26]},{18:[2
Login.c(118): ,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:
[2,27],46:[2,27],50:[2,27],52:[2
Login.c(118): ,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},
{18:[2,29],25:[2,29],33:[2
Login.c(118): ,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:
[2,37],42:[2,37],43:[2,37],44:[2,3
Login.c(118): 7],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},
{18:[2,52],25:[2,52],33:[2
Login.c(118): ,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:
[2,13],26:[2,13],28:[2,13],29:
Login.c(118): [2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:
[2,14],24:[2,14],26:[2,14],2
Login.c(118): 8:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},
{18:[2,21],25:[2,21],33:[2,2
Login.c(118): 1],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:
[2,49],44:[2,49],45:[2,49],46:[2
Login.c(118): ,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:
[2,51]},{18:[2,36],25:[2,36],3
Login.c(118): 3:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:
[2,36],52:[2,36],54:[2,36]},
Login.c(118): {5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:
[2,11],29:[2,11],31:[2,11],
Login.c(118): 32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:
[2,12],12:[2,12],13:[2,12],16:
Login.c(118): [2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:
[2,12],34:[2,12]},{25:[1,80]},
Login.c(118): {25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:
[2,20],24:[2,20],26:[2,20],28:[2,
Login.c(118): 20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:
[2,53],25:[2,53],33:[2,53],46
Login.c(118): :[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:
[1,54],45:[1,56],50:[1,26],52
Login.c(118): :[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:
[2,19],24:[2,19],26:[2,19],28:
Login.c(118): [2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:
[2,28],33:[2,28],42:[2,28],4
Login.c(118): 3:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:
[2,30],25:[2,30],33:[2,30]
Login.c(118): ,46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:
[2,16],26:[2,16],28:[2,16
Login.c(118): ],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}],\n
Login.c(118): defaultActions: {4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:
[2,10],70:[2,15],73:[2,45]},\n
Login.c(118): parseError: function parseError(str, hash) {\n
Login.c(118): throw new Error(str);\n
Login.c(118): },\n
Login.c(118): parse: function parse(input) {\n
Login.c(118): var self = this, stack = [0], vstack = [null], lstack = [],
table = this.table, yyte
Login.c(118): xt = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2,
EOF = 1;\n
Login.c(118): this.lexer.setInput(input);\n
Login.c(118): this.lexer.yy = this.yy;\n
Login.c(118): this.yy.lexer = this.lexer;\n
Login.c(118): this.yy.parser = this;\n
Login.c(118): if (typeof this.lexer.yylloc == "undefined")\n
Login.c(118): this.lexer.yylloc = {};\n
Login.c(118): var yyloc = this.lexer.yylloc;\n
Login.c(118): lstack.push(yyloc);\n
Login.c(118): var ranges = this.lexer.options &&
this.lexer.options.ranges;\n
Login.c(118): if (typeof this.yy.parseError === "function")\n
Login.c(118): this.parseError = this.yy.parseError;\n
Login.c(118): function popStack(n) {\n
Login.c(118): stack.length = stack.length - 2 * n;\n
Login.c(118): vstack.length = vstack.length - n;\n
Login.c(118): lstack.length = lstack.length - n;\n
Login.c(118): }\n
Login.c(118): function lex() {\n
Login.c(118): var token;\n
Login.c(118): token = self.lexer.lex() || 1;\n
Login.c(118): if (typeof token !== "number") {\n
Login.c(118): token = self.symbols_[token] || token;\n
Login.c(118): }\n
Login.c(118): return token;\n
Login.c(118): }\n
Login.c(118): var symbol, preErrorSymbol, state, action, a, r, yyval =
{}, p, len, newState, expec
Login.c(118): ted;\n
Login.c(118): while (true) {\n
Login.c(118): state = stack[stack.length - 1];\n
Login.c(118): if (this.defaultActions[state]) {\n
Login.c(118): action = this.defaultActions[state];\n
Login.c(118): } else {\n
Login.c(118): if (symbol === null || typeof symbol ==
"undefined") {\n
Login.c(118): symbol = lex();\n
Login.c(118): }\n
Login.c(118): action = table[state] && table[state][symbol];\n
Login.c(118): }\n
Login.c(118): if (typeof action === "undefined" || !action.length
|| !action[0]) {\n
Login.c(118): var errStr = "";\n
Login.c(118): if (!recovering) {\n
Login.c(118): expected = [];\n
Login.c(118): for (p in table[state])\n
Login.c(118): if (this.terminals_[p] && p > 2) {\n
Login.c(118): expected.push("'" + this.terminals_[p]
+ "'");\n
Login.c(118): }\n
Login.c(118): if (this.lexer.showPosition) {\n
Login.c(118): errStr = "Parse error on line " + (yylineno
+ 1) + ":\\n" + this.lex
Login.c(118): er.showPosition() + "\\nExpecting " + expected.join(", ") + ",
got '" + (this.terminals_[s
Login.c(118): ymbol] || symbol) + "'";\n
Login.c(118): } else {\n
Login.c(118): errStr = "Parse error on line " + (yylineno
+ 1) + ": Unexpected " +
Login.c(118): (symbol == 1?"end of input":"'" + (this.terminals_[symbol] ||
symbol) + "'");\n
Login.c(118): }\n
Login.c(118): this.parseError(errStr, {text:
this.lexer.match, token: this.terminals_[
Login.c(118): symbol] || symbol, line: this.lexer.yylineno, loc: yyloc,
expected: expected});\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (action[0] instanceof Array && action.length > 1)
{\n
Login.c(118): throw new Error("Parse Error: multiple actions
possible at state: " + state
Login.c(118): + ", token: " + symbol);\n
Login.c(118): }\n
Login.c(118): switch (action[0]) {\n
Login.c(118): case 1:\n
Login.c(118): stack.push(symbol);\n
Login.c(118): vstack.push(this.lexer.yytext);\n
Login.c(118): lstack.push(this.lexer.yylloc);\n
Login.c(118): stack.push(action[1]);\n
Login.c(118): symbol = null;\n
Login.c(118): if (!preErrorSymbol) {\n
Login.c(118): yyleng = this.lexer.yyleng;\n
Login.c(118): yytext = this.lexer.yytext;\n
Login.c(118): yylineno = this.lexer.yylineno;\n
Login.c(118): yyloc = this.lexer.yylloc;\n
Login.c(118): if (recovering > 0)\n
Login.c(118): recovering--;\n
Login.c(118): } else {\n
Login.c(118): symbol = preErrorSymbol;\n
Login.c(118): preErrorSymbol = null;\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 2:\n
Login.c(118): len = this.productions_[action[1]][1];\n
Login.c(118): yyval.$ = vstack[vstack.length - len];\n
Login.c(118): yyval._$ = {first_line: lstack[lstack.length - (len
|| 1)].first_line, last_
Login.c(118): line: lstack[lstack.length - 1].last_line, first_column:
lstack[lstack.length - (len || 1)
Login.c(118): ].first_column, last_column: lstack[lstack.length -
1].last_column};\n
Login.c(118): if (ranges) {\n
Login.c(118): yyval._$.range = [lstack[lstack.length - (len
|| 1)].range[0], lstack[ls
Login.c(118): tack.length - 1].range[1]];\n
Login.c(118): }\n
Login.c(118): r = this.performAction.call(yyval, yytext, yyleng,
yylineno, this.yy, action
Login.c(118): [1], vstack, lstack);\n
Login.c(118): if (typeof r !== "undefined") {\n
Login.c(118): return r;\n
Login.c(118): }\n
Login.c(118): if (len) {\n
Login.c(118): stack = stack.slice(0, -1 * len * 2);\n
Login.c(118): vstack = vstack.slice(0, -1 * len);\n
Login.c(118): lstack = lstack.slice(0, -1 * len);\n
Login.c(118): }\n
Login.c(118): stack.push(this.productions_[action[1]][0]);\n
Login.c(118): vstack.push(yyval.$);\n
Login.c(118): lstack.push(yyval._$);\n
Login.c(118): newState = table[stack[stack.length - 2]]
[stack[stack.length - 1]];\n
Login.c(118): stack.push(newState);\n
Login.c(118): break;\n
Login.c(118): case 3:\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): /* Jison generated lexer */\n
Login.c(118): var lexer = (function(){\n
Login.c(118): var lexer = ({EOF:1,\n
Login.c(118): parseError:function parseError(str, hash) {\n
Login.c(118): if (this.yy.parser) {\n
Login.c(118): this.yy.parser.parseError(str, hash);\n
Login.c(118): } else {\n
Login.c(118): throw new Error(str);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): setInput:function (input) {\n
Login.c(118): this._input = input;\n
Login.c(118): this._more = this._less = this.done = false;\n
Login.c(118): this.yylineno = this.yyleng = 0;\n
Login.c(118): this.yytext = this.matched = this.match = '';\n
Login.c(118): this.conditionStack = ['INITIAL'];\n
Login.c(118): this.yylloc =
{first_line:1,first_column:0,last_line:1,last_column:0};\n
Login.c(118): if (this.options.ranges) this.yylloc.range = [0,0];\n
Login.c(118): this.offset = 0;\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): input:function () {\n
Login.c(118): var ch = this._input[0];\n
Login.c(118): this.yytext += ch;\n
Login.c(118): this.yyleng++;\n
Login.c(118): this.offset++;\n
Login.c(118): this.match += ch;\n
Login.c(118): this.matched += ch;\n
Login.c(118): var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n
Login.c(118): if (lines) {\n
Login.c(118): this.yylineno++;\n
Login.c(118): this.yylloc.last_line++;\n
Login.c(118): } else {\n
Login.c(118): this.yylloc.last_column++;\n
Login.c(118): }\n
Login.c(118): if (this.options.ranges) this.yylloc.range[1]++;\n
Login.c(118): \n
Login.c(118): this._input = this._input.slice(1);\n
Login.c(118): return ch;\n
Login.c(118): },\n
Login.c(118): unput:function (ch) {\n
Login.c(118): var len = ch.length;\n
Login.c(118): var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n
Login.c(118): \n
Login.c(118): this._input = ch + this._input;\n
Login.c(118): this.yytext = this.yytext.substr(0, this.yytext.length-
len-1);\n
Login.c(118): //this.yyleng -= len;\n
Login.c(118): this.offset -= len;\n
Login.c(118): var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n
Login.c(118): this.match = this.match.substr(0, this.match.length-
1);\n
Login.c(118): this.matched = this.matched.substr(0,
this.matched.length-1);\n
Login.c(118): \n
Login.c(118): if (lines.length-1) this.yylineno -= lines.length-1;\n
Login.c(118): var r = this.yylloc.range;\n
Login.c(118): \n
Login.c(118): this.yylloc = {first_line: this.yylloc.first_line,\n
Login.c(118): last_line: this.yylineno+1,\n
Login.c(118): first_column: this.yylloc.first_column,\n
Login.c(118): last_column: lines ?\n
Login.c(118): (lines.length === oldLines.length ?
this.yylloc.first_column : 0) + oldLin
Login.c(118): es[oldLines.length - lines.length].length - lines[0].length:\n
Login.c(118): this.yylloc.first_column - len\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if (this.options.ranges) {\n
Login.c(118): this.yylloc.range = [r[0], r[0] + this.yyleng -
len];\n
Login.c(118): }\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): more:function () {\n
Login.c(118): this._more = true;\n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): less:function (n) {\n
Login.c(118): this.unput(this.match.slice(n));\n
Login.c(118): },\n
Login.c(118): pastInput:function () {\n
Login.c(118): var past = this.matched.substr(0, this.matched.length -
this.match.length);\n
Login.c(118): return (past.length > 20 ? '...':'') + past.substr(-
20).replace(/\\n/g, "");\n
Login.c(118): },\n
Login.c(118): upcomingInput:function () {\n
Login.c(118): var next = this.match;\n
Login.c(118): if (next.length < 20) {\n
Login.c(118): next += this._input.substr(0, 20-next.length);\n
Login.c(118): }\n
Login.c(118): return (next.substr(0,20)+(next.length > 20 ?
'...':'')).replace(/\\n/g, "");\n
Login.c(118): },\n
Login.c(118): showPosition:function () {\n
Login.c(118): var pre = this.pastInput();\n
Login.c(118): var c = new Array(pre.length + 1).join("-");\n
Login.c(118): return pre + this.upcomingInput() + "\\n" + c+"^";\n
Login.c(118): },\n
Login.c(118): next:function () {\n
Login.c(118): if (this.done) {\n
Login.c(118): return this.EOF;\n
Login.c(118): }\n
Login.c(118): if (!this._input) this.done = true;\n
Login.c(118): \n
Login.c(118): var token,\n
Login.c(118): match,\n
Login.c(118): tempMatch,\n
Login.c(118): index,\n
Login.c(118): col,\n
Login.c(118): lines;\n
Login.c(118): if (!this._more) {\n
Login.c(118): this.yytext = '';
Login.c(118): t=5645ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): \n
Login.c(118): this.match = '';\n
Login.c(118): }\n
Login.c(118): var rules = this._currentRules();\n
Login.c(118): for (var i=0;i < rules.length; i++) {\n
Login.c(118): tempMatch =
this._input.match(this.rules[rules[i]]);\n
Login.c(118): if (tempMatch && (!match || tempMatch[0].length >
match[0].length)) {\n
Login.c(118): match = tempMatch;\n
Login.c(118): index = i;\n
Login.c(118): if (!this.options.flex) break;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (match) {\n
Login.c(118): lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n
Login.c(118): if (lines) this.yylineno += lines.length;\n
Login.c(118): this.yylloc = {first_line: this.yylloc.last_line,\n
Login.c(118): last_line: this.yylineno+1,\n
Login.c(118): first_column:
this.yylloc.last_column,\n
Login.c(118): last_column: lines ?
lines[lines.length-1].length-lines[lines
Login.c(118): .length-1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column
+ match[0].length};\n
Login.c(118): this.yytext += match[0];\n
Login.c(118): this.match += match[0];\n
Login.c(118): this.matches = match;\n
Login.c(118): this.yyleng = this.yytext.length;\n
Login.c(118): if (this.options.ranges) {\n
Login.c(118): this.yylloc.range = [this.offset, this.offset
+= this.yyleng];\n
Login.c(118): }\n
Login.c(118): this._more = false;\n
Login.c(118): this._input = this._input.slice(match[0].length);\n
Login.c(118): this.matched += match[0];\n
Login.c(118): token = this.performAction.call(this, this.yy,
this, rules[index],this.condi
Login.c(118): tionStack[this.conditionStack.length-1]);\n
Login.c(118): if (this.done && this._input) this.done = false;\n
Login.c(118): if (token) return token;\n
Login.c(118): else return;\n
Login.c(118): }\n
Login.c(118): if (this._input === "") {\n
Login.c(118): return this.EOF;\n
Login.c(118): } else {\n
Login.c(118): return this.parseError('Lexical error on line '+
(this.yylineno+1)+'. Unrecog
Login.c(118): nized text.\\n'+this.showPosition(),\n
Login.c(118): {text: "", token: null, line:
this.yylineno});\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): lex:function lex() {\n
Login.c(118): var r = this.next();\n
Login.c(118): if (typeof r !== 'undefined') {\n
Login.c(118): return r;\n
Login.c(118): } else {\n
Login.c(118): return this.lex();\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): begin:function begin(condition) {\n
Login.c(118): this.conditionStack.push(condition);\n
Login.c(118): },\n
Login.c(118): popState:function popState() {\n
Login.c(118): return this.conditionStack.pop();\n
Login.c(118): },\n
Login.c(118): _currentRules:function _currentRules() {\n
Login.c(118): return
this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
Login.c(118): \n
Login.c(118): },\n
Login.c(118): topState:function () {\n
Login.c(118): return this.conditionStack[this.conditionStack.length-
2];\n
Login.c(118): },\n
Login.c(118): pushState:function begin(condition) {\n
Login.c(118): this.begin(condition);\n
Login.c(118): }});\n
Login.c(118): lexer.options = {};\n
Login.c(118): lexer.performAction = function anonymous(yy,yy_,
$avoiding_name_collisions,YY_START) {\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function strip(start, end) {\n
Login.c(118): return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-
end);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var YYSTATE=YY_START\n
Login.c(118): switch($avoiding_name_collisions) {\n
Login.c(118): case 0:\n
Login.c(118): if(yy_.yytext.slice(-2) ===
"\\\\\\\\") {\n
Login.c(118): strip(0,1);\n
Login.c(118): this.begin("mu");\n
Login.c(118): } else if(yy_.yytext.slice(-
1) === "\\\\") {\n
Login.c(118): strip(0,1);\n
Login.c(118): this.begin("emu");\n
Login.c(118): } else {\n
Login.c(118): this.begin("mu");\n
Login.c(118): }\n
Login.c(118): if(yy_.yytext) return 12;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 1:return 12;\n
Login.c(118): break;\n
Login.c(118): case 2:\n
Login.c(118): this.popState();\n
Login.c(118): return 12;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 3:\n
Login.c(118): yy_.yytext =
yy_.yytext.substr(5, yy_.yyleng-9);\n
Login.c(118): this.popState();\n
Login.c(118): return 15;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 4: return 12; \n
Login.c(118): break;\n
Login.c(118): case 5:strip(0,4); this.popState(); return 13;\n
Login.c(118): break;\n
Login.c(118): case 6:return 45;\n
Login.c(118): break;\n
Login.c(118): case 7:return 46;\n
Login.c(118): break;\n
Login.c(118): case 8: return 16; \n
Login.c(118): break;\n
Login.c(118): case 9:\n
Login.c(118): this.popState();\n
Login.c(118): this.begin('raw');\n
Login.c(118): return 18;\n
Login.c(118): \n
Login.c(118): break;\n
Login.c(118): case 10:return 34;\n
Login.c(118): break;\n
Login.c(118): case 11:return 24;\n
Login.c(118): break;\n
Login.c(118): case 12:return 29;\n
Login.c(118): break;\n
Login.c(118): case 13:this.popState(); return 28;\n
Login.c(118): break;\n
Login.c(118): case 14:this.popState(); return 28;\n
Login.c(118): break;\n
Login.c(118): case 15:return 26;\n
Login.c(118): break;\n
Login.c(118): case 16:return 26;\n
Login.c(118): break;\n
Login.c(118): case 17:return 32;\n
Login.c(118): break;\n
Login.c(118): case 18:return 31;\n
Login.c(118): break;\n
Login.c(118): case 19:this.popState(); this.begin('com');\n
Login.c(118): break;\n
Login.c(118): case 20:strip(3,5); this.popState(); return 13;\n
Login.c(118): break;\n
Login.c(118): case 21:return 31;\n
Login.c(118): break;\n
Login.c(118): case 22:return 51;\n
Login.c(118): break;\n
Login.c(118): case 23:return 50;\n
Login.c(118): break;\n
Login.c(118): case 24:return 50;\n
Login.c(118): break;\n
Login.c(118): case 25:return 54;\n
Login.c(118): break;\n
Login.c(118): case 26:// ignore whitespace\n
Login.c(118): break;\n
Login.c(118): case 27:this.popState(); return 33;\n
Login.c(118): break;\n
Login.c(118): case 28:this.popState(); return 25;\n
Login.c(118): break;\n
Login.c(118): case 29:yy_.yytext = strip(1,2).replace(/\\\\"/g,'"'); return
42;\n
Login.c(118): break;\n
Login.c(118): case 30:yy_.yytext = strip(1,2).replace(/\\\\'/g,"'"); return
42;\n
Login.c(118): break;\n
Login.c(118): case 31:return 52;\n
Login.c(118): break;\n
Login.c(118): case 32:return 44;\n
Login.c(118): break;\n
Login.c(118): case 33:return 44;\n
Login.c(118): break;\n
Login.c(118): case 34:return 43;\n
Login.c(118): break;\n
Login.c(118): case 35:return 50;\n
Login.c(118): break;\n
Login.c(118): case 36:yy_.yytext = strip(1,2); return 50;\n
Login.c(118): break;\n
Login.c(118): case 37:return 'INVALID';\n
Login.c(118): break;\n
Login.c(118): case 38:return 5;\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:
[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\
Login.c(118): {|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{\\/[^\\s!"#
%-,\\.\\/;->@\\[-\\^`\\{-~]+
Login.c(118): (?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]*?(?=(\\{\\{\\{\\
{\\/)))/,/^(?:[\\s\\S]*?--\\}\\
Login.c(118): })/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\
{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:
Login.c(118): \\{\\{(~)?#)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\
{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*e
Login.c(118): lse\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\
{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/
Login.c(118): ,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{!--)/,/^(?:\\{\\{!
[\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?)/,/^(?
Login.c(118): :=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)])))/,/^(?:
[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}
Login.c(118): \\})/,/^(?:(~)?\\}\\})/,/^(?:"(\\\\["]|[^"])*")/,/^(?:'(\\\\[']|
[^'])*')/,/^(?:@)/,/^(?:tr
Login.c(118): ue(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.
[0-9]+)?(?=([~}\\s)])))/,
Login.c(118): /^(?:([^\\s!"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?
=([=~}\\s\\/.)]))))/,/^(?:\\[[^\\]]*\\])/,/^(?
Login.c(118): :.)/,/^(?:$)/];\n
Login.c(118): lexer.conditions = {"mu":{"rules":
[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
Login.c(118):
25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":false},"emu":{"rules":
[2],"inclusiv
Login.c(118): e":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":
[3,4],"inclusive":false},"I
Login.c(118): NITIAL":{"rules":[0,1,38],"inclusive":true}};\n
Login.c(118): return lexer;})()\n
Login.c(118): parser.lexer = lexer;\n
Login.c(118): function Parser () { this.yy = {}; }Parser.prototype =
parser;parser.Parser = Parser;\n
Login.c(118): return new Parser;\n
Login.c(118): })();__exports__ = handlebars;\n
Login.c(118): /* jshint ignore:end */\n
Login.c(118): return __exports__;\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/helpers.js\n
Login.c(118): var __module10__ = (function(__dependency1__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): \n
Login.c(118): function stripFlags(open, close) {\n
Login.c(118): return {\n
Login.c(118): left: open.charAt(2) === '~',\n
Login.c(118): right: close.charAt(close.length-3) === '~'\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.stripFlags = stripFlags;\n
Login.c(118): function prepareBlock(mustache, program, inverseAndProgram,
close, inverted, locInfo) {\n
Login.c(118): /*jshint -W040 */\n
Login.c(118): if (mustache.sexpr.id.original !== close.path.original) {\n
Login.c(118): throw new Exception(mustache.sexpr.id.original + '
doesn\\'t match ' + close.path.or
Login.c(118): iginal, mustache);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var inverse = inverseAndProgram &&
inverseAndProgram.program;\n
Login.c(118): \n
Login.c(118): var strip = {\n
Login.c(118): left: mustache.strip.left,\n
Login.c(118): right: close.strip.right,\n
Login.c(118): \n
Login.c(118): // Determine the standalone candiacy. Basically flag our
content as being possibly s
Login.c(118): tandalone\n
Login.c(118): // so our parent can determine if we actually are
standalone\n
Login.c(118): openStandalone: isNextWhitespace(program.statements),\n
Login.c(118): closeStandalone: isPrevWhitespace((inverse ||
program).statements)\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if (mustache.strip.right) {\n
Login.c(118): omitRight(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverse) {\n
Login.c(118): var inverseStrip = inverseAndProgram.strip;\n
Login.c(118): \n
Login.c(118): if (inverseStrip.left) {\n
Login.c(118): omitLeft(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): if (inverseStrip.right) {\n
Login.c(118): omitRight(inverse.statements, null, true);\n
Login.c(118): }\n
Login.c(118): if (close.strip.left) {\n
Login.c(118): omitLeft(inverse.statements, null, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Find standalone else statments\n
Login.c(118): if (isPrevWhitespace(program.statements)\n
Login.c(118): && isNextWhitespace(inverse.statements)) {\n
Login.c(118): \n
Login.c(118): omitLeft(program.statements);\n
Login.c(118): omitRight(inverse.statements);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (close.strip.left) {\n
Login.c(118): omitLeft(program.statements, null, true);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverted) {\n
Login.c(118): return new this.BlockNode(mustache, inverse, program,
strip, locInfo);\n
Login.c(118): } else {\n
Login.c(118): return new this.BlockNode(mustache, program, inverse,
strip, locInfo);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.prepareBlock = prepareBlock;\n
Login.c(118): function prepareProgram(statements, isRoot) {\n
Login.c(118): for (var i = 0, l = statements.length; i < l; i++) {\n
Login.c(118): var current = statements[i],\n
Login.c(118): strip = current.strip;\n
Login.c(118): \n
Login.c(118): if (!strip) {\n
Login.c(118): continue;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var _isPrevWhitespace = isPrevWhitespace(statements, i,
isRoot, current.type === 'pa
Login.c(118): rtial'),\n
Login.c(118): _isNextWhitespace = isNextWhitespace(statements, i,
isRoot),\n
Login.c(118): \n
Login.c(118): openStandalone = strip.openStandalone &&
_isPrevWhitespace,\n
Login.c(118): closeStandalone = strip.closeStandalone &&
_isNextWhitespace,\n
Login.c(118): inlineStandalone = strip.inlineStandalone &&
_isPrevWhitespace && _isNextWhitesp
Login.c(118): ace;\n
Login.c(118): \n
Login.c(118): if (strip.right) {\n
Login.c(118): omitRight(statements, i, true);\n
Login.c(118): }\n
Login.c(118): if (strip.left) {\n
Login.c(118): omitLeft(statements, i, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inlineStandalone) {\n
Login.c(118): omitRight(statements, i);\n
Login.c(118): \n
Login.c(118): if (omitLeft(statements, i)) {\n
Login.c(118): // If we are on a standalone node, save the indent info
for partials\n
Login.c(118): if (current.type === 'partial') {\n
Login.c(118): current.indent = (/([ \\t]+$)/).exec(statements[i-
1].original) ? RegExp.$1 : '
Login.c(118): ';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (openStandalone) {\n
Login.c(118): omitRight((current.program ||
current.inverse).statements);\n
Login.c(118): \n
Login.c(118): // Strip out the previous content node if it's whitespace
only\n
Login.c(118): omitLeft(statements, i);\n
Login.c(118): }\n
Login.c(118): if (closeStandalone) {\n
Login.c(118): // Always strip the next node\n
Login.c(118): omitRight(statements, i);\n
Login.c(118): \n
Login.c(118): omitLeft((current.inverse ||
current.program).statements);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return statements;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.prepareProgram = prepareProgram;function
isPrevWhitespace(statements, i, isR
Login.c(118): oot) {\n
Login.c(118): if (i === undefined) {\n
Login.c(118): i = statements.length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Nodes that end with newlines are considered whitespace
(but are special\n
Login.c(118): // cased for strip operations)\n
Login.c(118): var prev = statements[i-1],\n
Login.c(118): sibling = statements[i-2];\n
Login.c(118): if (!prev) {\n
Login.c(118): return isRoot;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (prev.type === 'content') {\n
Login.c(118): return (sibling || !isRoot ? (/\\r?\\n\\s*?$/) : (/
(^|\\r?\\n)\\s*?$/)).test(prev.or
Login.c(118): iginal);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): function isNextWhitespace(statements, i, isRoot) {\n
Login.c(118): if (i === undefined) {\n
Login.c(118): i = -1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var next = statements[i+1],\n
Login.c(118): sibling = statements[i+2];\n
Login.c(118): if (!next) {\n
Login.c(118): return isRoot;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (next.type === 'content') {\n
Login.c(118): return (sibling || !isRoot ? (/^\\s*?\\r?\\n/) : (/^\\s*?
(\\r?\\n|$)/)).test(next.or
Login.c(118): iginal);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Marks the node to the right of the position as omitted.\n
Login.c(118): // I.e. {{foo}}' ' will mark the ' ' node as omitted.\n
Login.c(118): //\n
Login.c(118): // If i is undefined, then the first child will be marked as
such.\n
Login.c(118): //\n
Login.c(118): // If mulitple is truthy then all whitespace will be stripped
out until non-whitespace\n
Login.c(118): // content is met.\n
Login.c(118): function omitRight(statements, i, multiple) {\n
Login.c(118): var current = statements[i == null ? 0 : i + 1];\n
Login.c(118): if (!current || current.type !== 'content' || (!multiple &&
current.rightStripped)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var original = current.string;\n
Login.c(118): current.string = current.string.replace(multiple ?
(/^\\s+/) : (/^[ \\t]*\\r?\\n?/), '
Login.c(118): ');\n
Login.c(118): current.rightStripped = current.string !== original;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Marks the node to the left of the position as omitted.\n
Login.c(118): // I.e. ' '{{foo}} will mark the ' ' node as omitted.\n
Login.c(118): //\n
Login.c(118): // If i is
Login.c(118): t=5668ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): undefined then the last child will be marked as such.\n
Login.c(118): //\n
Login.c(118): // If mulitple is truthy then all whitespace will be stripped
out until non-whitespace\n
Login.c(118): // content is met.\n
Login.c(118): function omitLeft(statements, i, multiple) {\n
Login.c(118): var current = statements[i == null ? statements.length - 1 :
i - 1];\n
Login.c(118): if (!current || current.type !== 'content' || (!multiple &&
current.leftStripped)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We omit the last node if it's whitespace only and not
preceeded by a non-content no
Login.c(118): de.\n
Login.c(118): var original = current.string;\n
Login.c(118): current.string = current.string.replace(multiple ? (/\\s+
$/) : (/[ \\t]+$/), '');\n
Login.c(118): current.leftStripped = current.string !== original;\n
Login.c(118): return current.leftStripped;\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/base.js\n
Login.c(118): var __module8__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var parser = __dependency1__;\n
Login.c(118): var AST = __dependency2__;\n
Login.c(118): var Helpers = __dependency3__;\n
Login.c(118): var extend = __dependency4__.extend;\n
Login.c(118): \n
Login.c(118): __exports__.parser = parser;\n
Login.c(118): \n
Login.c(118): var yy = {};\n
Login.c(118): extend(yy, Helpers, AST);\n
Login.c(118): \n
Login.c(118): function parse(input) {\n
Login.c(118): // Just return if an already-compile AST was passed in.\n
Login.c(118): if (input.constructor === AST.ProgramNode) { return
input; }\n
Login.c(118): \n
Login.c(118): parser.yy = yy;\n
Login.c(118): \n
Login.c(118): return parser.parse(input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.parse = parse;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module9__, __module7__, __module10__, __module3__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/compiler.js\n
Login.c(118): var __module11__ = (function(__dependency1__, __dependency2__)
{\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__ = {};\n
Login.c(118): var Exception = __dependency1__;\n
Login.c(118): var isArray = __dependency2__.isArray;\n
Login.c(118): \n
Login.c(118): var slice = [].slice;\n
Login.c(118): \n
Login.c(118): function Compiler() {}\n
Login.c(118): \n
Login.c(118): __exports__.Compiler = Compiler;// the foundHelper register
will disambiguate helper loo
Login.c(118): kup from finding a\n
Login.c(118): // function in a context. This is necessary for mustache
compatibility, which\n
Login.c(118): // requires that context functions in blocks are evaluated by
blockHelperMissing,\n
Login.c(118): // and then proceed as if the resulting value was provided to
blockHelperMissing.\n
Login.c(118): \n
Login.c(118): Compiler.prototype = {\n
Login.c(118): compiler: Compiler,\n
Login.c(118): \n
Login.c(118): equals: function(other) {\n
Login.c(118): var len = this.opcodes.length;\n
Login.c(118): if (other.opcodes.length !== len) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): var opcode = this.opcodes[i],\n
Login.c(118): otherOpcode = other.opcodes[i];\n
Login.c(118): if (opcode.opcode !== otherOpcode.opcode || !
argEquals(opcode.args, otherOpcode.ar
Login.c(118): gs)) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We know that length is the same between the two arrays
because they are directly
Login.c(118): tied\n
Login.c(118): // to the opcode behavior above.\n
Login.c(118): len = this.children.length;\n
Login.c(118): for (i = 0; i < len; i++) {\n
Login.c(118): if (!this.children[i].equals(other.children[i])) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return true;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): guid: 0,\n
Login.c(118): \n
Login.c(118): compile: function(program, options) {\n
Login.c(118): this.opcodes = [];\n
Login.c(118): this.children = [];\n
Login.c(118): this.depths = {list: []};\n
Login.c(118): this.options = options;\n
Login.c(118): this.stringParams = options.stringParams;\n
Login.c(118): this.trackIds = options.trackIds;\n
Login.c(118): \n
Login.c(118): // These changes will propagate to the other compiler
components\n
Login.c(118): var knownHelpers = this.options.knownHelpers;\n
Login.c(118): this.options.knownHelpers = {\n
Login.c(118): 'helperMissing': true,\n
Login.c(118): 'blockHelperMissing': true,\n
Login.c(118): 'each': true,\n
Login.c(118): 'if': true,\n
Login.c(118): 'unless': true,\n
Login.c(118): 'with': true,\n
Login.c(118): 'log': true,\n
Login.c(118): 'lookup': true\n
Login.c(118): };\n
Login.c(118): if (knownHelpers) {\n
Login.c(118): for (var name in knownHelpers) {\n
Login.c(118): this.options.knownHelpers[name] = knownHelpers[name];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return this.accept(program);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): accept: function(node) {\n
Login.c(118): return this[node.type](node);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): program: function(program) {\n
Login.c(118): var statements = program.statements;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=statements.length; i<l; i++) {\n
Login.c(118): this.accept(statements[i]);\n
Login.c(118): }\n
Login.c(118): this.isSimple = l === 1;\n
Login.c(118): \n
Login.c(118): this.depths.list = this.depths.list.sort(function(a, b) {\n
Login.c(118): return a - b;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): return this;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): compileProgram: function(program) {\n
Login.c(118): var result = new this.compiler().compile(program,
this.options);\n
Login.c(118): var guid = this.guid++, depth;\n
Login.c(118): \n
Login.c(118): this.usePartial = this.usePartial || result.usePartial;\n
Login.c(118): \n
Login.c(118): this.children[guid] = result;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=result.depths.list.length; i<l; i++) {\n
Login.c(118): depth = result.depths.list[i];\n
Login.c(118): \n
Login.c(118): if(depth < 2) { continue; }\n
Login.c(118): else { this.addDepth(depth - 1); }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return guid;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): block: function(block) {\n
Login.c(118): var mustache = block.mustache,\n
Login.c(118): program = block.program,\n
Login.c(118): inverse = block.inverse;\n
Login.c(118): \n
Login.c(118): if (program) {\n
Login.c(118): program = this.compileProgram(program);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (inverse) {\n
Login.c(118): inverse = this.compileProgram(inverse);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var sexpr = mustache.sexpr;\n
Login.c(118): var type = this.classifySexpr(sexpr);\n
Login.c(118): \n
Login.c(118): if (type === "helper") {\n
Login.c(118): this.helperSexpr(sexpr, program, inverse);\n
Login.c(118): } else if (type === "simple") {\n
Login.c(118): this.simpleSexpr(sexpr);\n
Login.c(118): \n
Login.c(118): // now that the simple mustache is resolved, we need to\n
Login.c(118): // evaluate it by executing `blockHelperMissing`\n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): this.opcode('blockValue', sexpr.id.original);\n
Login.c(118): } else {\n
Login.c(118): this.ambiguousSexpr(sexpr, program, inverse);\n
Login.c(118): \n
Login.c(118): // now that the simple mustache is resolved, we need to\n
Login.c(118): // evaluate it by executing `blockHelperMissing`\n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): this.opcode('ambiguousBlockValue');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('append');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): hash: function(hash) {\n
Login.c(118): var pairs = hash.pairs, i, l;\n
Login.c(118): \n
Login.c(118): this.opcode('pushHash');\n
Login.c(118): \n
Login.c(118): for(i=0, l=pairs.length; i<l; i++) {\n
Login.c(118): this.pushParam(pairs[i][1]);\n
Login.c(118): }\n
Login.c(118): while(i--) {\n
Login.c(118): this.opcode('assignToHash', pairs[i][0]);\n
Login.c(118): }\n
Login.c(118): this.opcode('popHash');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): partial: function(partial) {\n
Login.c(118): var partialName = partial.partialName;\n
Login.c(118): this.usePartial = true;\n
Login.c(118): \n
Login.c(118): if (partial.hash) {\n
Login.c(118): this.accept(partial.hash);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('push', 'undefined');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (partial.context) {\n
Login.c(118): this.accept(partial.context);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('getContext', 0);\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('invokePartial', partialName.name,
partial.indent || '');\n
Login.c(118): this.opcode('append');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): content: function(content) {\n
Login.c(118): if (content.string) {\n
Login.c(118): this.opcode('appendContent', content.string);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): mustache: function(mustache) {\n
Login.c(118): this.sexpr(mustache.sexpr);\n
Login.c(118): \n
Login.c(118): if(mustache.escaped && !this.options.noEscape) {\n
Login.c(118): this.opcode('appendEscaped');\n
Login.c(118): } else {\n
Login.c(118): this.opcode('append');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ambiguousSexpr: function(sexpr, program, inverse) {\n
Login.c(118): var id = sexpr.id,\n
Login.c(118): name = id.parts[0],\n
Login.c(118): isBlock = program != null || inverse != null;\n
Login.c(118): \n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): \n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): \n
Login.c(118): this.ID(id);\n
Login.c(118): \n
Login.c(118): this.opcode('invokeAmbiguous', name, isBlock);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): simpleSexpr: function(sexpr) {\n
Login.c(118): var id = sexpr.id;\n
Login.c(118): \n
Login.c(118): if (id.type === 'DATA') {\n
Login.c(118): this.DATA(id);\n
Login.c(118): } else if (id.parts.length) {\n
Login.c(118): this.ID(id);\n
Login.c(118): } else {\n
Login.c(118): // Simplified ID for `this`\n
Login.c(118): this.addDepth(id.depth);\n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.opcode('resolvePossibleLambda');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): helperSexpr: function(sexpr, program, inverse) {\n
Login.c(118): var params = this.setupFullMustacheParams(sexpr, program,
inverse),\n
Login.c(118): id = sexpr.id,\n
Login.c(118): name = id.parts[0];\n
Login.c(118): \n
Login.c(118): if (this.options.knownHelpers[name]) {\n
Login.c(118): this.opcode('invokeKnownHelper', params.length, name);\n
Login.c(118): } else if (this.options.knownHelpersOnly) {\n
Login.c(118): throw new Exception("You specified knownHelpersOnly, but
used the unknown helper "
Login.c(118): + name, sexpr);\n
Login.c(118): } else {\n
Login.c(118): id.falsy = true;\n
Login.c(118): \n
Login.c(118): this.ID(id);\n
Login.c(118): this.opcode('invokeHelper', params.length, id.original,
id.isSimple);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): sexpr: function(sexpr) {\n
Login.c(118): var type = this.classifySexpr(sexpr);\n
Login.c(118): \n
Login.c(118): if (type === "simple") {\n
Login.c(118): this.simpleSexpr(sexpr);\n
Login.c(118): } else if (type === "helper") {\n
Login.c(118): this.helperSexpr(sexpr);\n
Login.c(118): } else {\n
Login.c(118): this.ambiguousSexpr(sexpr);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): ID: function(id) {\n
Login.c(118): this.addDepth(id.depth);\n
Login.c(118): this.opcode('getContext', id.depth);\n
Login.c(118): \n
Login.c(118): var name = id.parts[0];\n
Login.c(118): if (!name) {\n
Login.c(118): // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n
Login.c(118): this.opcode('pushContext');\n
Login.c(118): } else {\n
Login.c(118): this.opcode('lookupOnContext', id.parts, id.falsy,
id.isScoped);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): DATA: function(data) {\n
Login.c(118): this.options.data = true;\n
Login.c(118): this.opcode('lookupData', data.id.depth, data.id.parts);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): STRING: function(string) {\n
Login.c(118): this.opcode('pushString', string.string);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): NUMBER: function(number) {\n
Login.c(118): this.opcode('pushLiteral', number.number);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): BOOLEAN: function(bool) {\n
Login.c(118): this.opcode('pushLiteral', bool.bool);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): comment: function() {},\n
Login.c(118): \n
Login.c(118): // HELPERS\n
Login.c(118): opcode: function(name) {\n
Login.c(118): this.opcodes.push({ opcode: name, args:
slice.call(arguments, 1) });\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): addDepth: function(depth) {\n
Login.c(118): if(depth === 0) { return; }\n
Login.c(118): \n
Login.c(118): if(!this.depths[depth]) {\n
Login.c(118): this.depths[depth] = true;\n
Login.c(118): this.depths.list.push(depth);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): classifySexpr: function(sexpr) {\n
Login.c(118): var isHelper = sexpr.isHelper;\n
Login.c(118): var isEligible = sexpr.eligibleHelper;\n
Login.c(118): var options = this.options;\n
Login.c(118): \n
Login.c(118): // if ambiguous, we can possibly resolve the ambiguity
now\n
Login.c(118): // An eligible helper is one that does not have a complex
path, i.e. `this.foo`, `..
Login.c(118): /foo` etc.\n
Login.c(118): if (isEligible && !isHelper) {\n
Login.c(118): var name = sexpr.id.parts[0];\n
Login.c(118): \n
Login.c(118): if (options.knownHelpers[name]) {\n
Login.c(118): isHelper = true;\n
Login.c(118): } else if (options.knownHelpersOnly) {\n
Login.c(118): isEligible = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isHelper) { return "helper"; }\n
Login.c(118): else if (isEligible) { return "ambiguous"; }\n
Login.c(118): else { return "simple"; }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushParams: function(params) {\n
Login.c(118): for(var i=0, l=params.length; i<l; i++) {\n
Login.c(118): this.pushParam(params[i]);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushParam: function(val) {\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): if(val.depth) {\n
Login.c(118): this.addDepth(val.depth);\n
Login.c(118): }\n
Login.c(118): this.opcode('getContext', val.depth || 0);\n
Login.c(118): this.opcode('pushStringParam', val.stringModeValue,
val.type);\n
Login.c(118): \n
Login.c(118): if (val.type === 'sexpr') {\n
Login.c(118): // Subexpressions get evaluated and passed in\n
Login.c(118): // in string params mode.\n
Login.c(118): this.sexpr(val);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.opcode('pushId', val.type, val.idName ||
val.stringModeValue);\n
Login.c(118): }\n
Login.c(118): this.accept(val);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupFullMustacheParams: function(sexpr, program, inverse)
{\n
Login.c(118): var params = sexpr.params;\n
Login.c(118): this.pushParams(params);\n
Login.c(118): \n
Login.c(118): this.opcode('pushProgram', program);\n
Login.c(118): this.opcode('pushProgram', inverse);\n
Login.c(118): \n
Login.c(118): if (sexpr.hash) {\n
Login.c(118): this.hash(sexpr.hash);\n
Login.c(118): } else {\n
Login.c(118): this.opcode('emptyHash');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return params;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function precompile(input, options, env) {\n
Login.c(118): if (input == null || (typeof input !== 'string' &&
input.constructor !== env.AST.Progr
Login.c(118): amNode)) {\n
Login.c(118): throw new Exception("You must pass a string or Handlebars
AST to Handlebars.precompi
Login.c(118): le. You passed " + input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options = options || {};\n
Login.c(118): if (!('data' in options)) {\n
Login.c(118): options.data = true;\n
Login.c(118): }\n
Login.c(118): if (options.compat) {\n
Login.c(118): options.useDepths = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var ast = env.parse(input);\n
Login.c(118): var environment = new env.Compiler().compile(ast, options);\n
Login.c(118): return new env.JavaScriptCompiler().compile(environment,
options);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.precompile = precompile;function compile(input,
options, env) {\n
Login.c(118): if (input == null || (typeof input !== 'string' &&
input.constructor !== env.AST.Progr
Login.c(118): amNode)) {\n
Login.c(118): throw new Exception("You must pass a
Login.c(118): t=5690ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): string or Handlebars AST to Handlebars.compile. You passed " +
input);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options = options || {};\n
Login.c(118): \n
Login.c(118): if (!('data' in options)) {\n
Login.c(118): options.data = true;\n
Login.c(118): }\n
Login.c(118): if (options.compat) {\n
Login.c(118): options.useDepths = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var compiled;\n
Login.c(118): \n
Login.c(118): function compileInput() {\n
Login.c(118): var ast = env.parse(input);\n
Login.c(118): var environment = new env.Compiler().compile(ast,
options);\n
Login.c(118): var templateSpec = new
env.JavaScriptCompiler().compile(environment, options, undefi
Login.c(118): ned, true);\n
Login.c(118): return env.template(templateSpec);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Template is only compiled on first use and cached after
that point.\n
Login.c(118): var ret = function(context, options) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled.call(this, context, options);\n
Login.c(118): };\n
Login.c(118): ret._setup = function(options) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled._setup(options);\n
Login.c(118): };\n
Login.c(118): ret._child = function(i, data, depths) {\n
Login.c(118): if (!compiled) {\n
Login.c(118): compiled = compileInput();\n
Login.c(118): }\n
Login.c(118): return compiled._child(i, data, depths);\n
Login.c(118): };\n
Login.c(118): return ret;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): __exports__.compile = compile;function argEquals(a, b) {\n
Login.c(118): if (a === b) {\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (isArray(a) && isArray(b) && a.length === b.length) {\n
Login.c(118): for (var i = 0; i < a.length; i++) {\n
Login.c(118): if (!argEquals(a[i], b[i])) {\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module5__, __module3__);\n
Login.c(118): \n
Login.c(118): // handlebars/compiler/javascript-compiler.js\n
Login.c(118): var __module12__ = (function(__dependency1__, __dependency2__)
{\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): var COMPILER_REVISION = __dependency1__.COMPILER_REVISION;\n
Login.c(118): var REVISION_CHANGES = __dependency1__.REVISION_CHANGES;\n
Login.c(118): var Exception = __dependency2__;\n
Login.c(118): \n
Login.c(118): function Literal(value) {\n
Login.c(118): this.value = value;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function JavaScriptCompiler() {}\n
Login.c(118): \n
Login.c(118): JavaScriptCompiler.prototype = {\n
Login.c(118): // PUBLIC API: You can override these methods in a subclass
to provide\n
Login.c(118): // alternative compiled forms for name lookup and buffering
semantics\n
Login.c(118): nameLookup: function(parent, name /* , type*/) {\n
Login.c(118): if (JavaScriptCompiler.isValidJavaScriptVariableName(name))
{\n
Login.c(118): return parent + "." + name;\n
Login.c(118): } else {\n
Login.c(118): return parent + "['" + name + "']";\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): depthedLookup: function(name) {\n
Login.c(118): this.aliases.lookup = 'this.lookup';\n
Login.c(118): \n
Login.c(118): return 'lookup(depths, "' + name + '")';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): compilerInfo: function() {\n
Login.c(118): var revision = COMPILER_REVISION,\n
Login.c(118): versions = REVISION_CHANGES[revision];\n
Login.c(118): return [revision, versions];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): appendToBuffer: function(string) {\n
Login.c(118): if (this.environment.isSimple) {\n
Login.c(118): return "return " + string + ";";\n
Login.c(118): } else {\n
Login.c(118): return {\n
Login.c(118): appendToBuffer: true,\n
Login.c(118): content: string,\n
Login.c(118): toString: function() { return "buffer += " + string +
";"; }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): initializeBuffer: function() {\n
Login.c(118): return this.quotedString("");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): namespace: "Handlebars",\n
Login.c(118): // END PUBLIC API\n
Login.c(118): \n
Login.c(118): compile: function(environment, options, context, asObject)
{\n
Login.c(118): this.environment = environment;\n
Login.c(118): this.options = options;\n
Login.c(118): this.stringParams = this.options.stringParams;\n
Login.c(118): this.trackIds = this.options.trackIds;\n
Login.c(118): this.precompile = !asObject;\n
Login.c(118): \n
Login.c(118): this.name = this.environment.name;\n
Login.c(118): this.isChild = !!context;\n
Login.c(118): this.context = context || {\n
Login.c(118): programs: [],\n
Login.c(118): environments: []\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.preamble();\n
Login.c(118): \n
Login.c(118): this.stackSlot = 0;\n
Login.c(118): this.stackVars = [];\n
Login.c(118): this.aliases = {};\n
Login.c(118): this.registers = { list: [] };\n
Login.c(118): this.hashes = [];\n
Login.c(118): this.compileStack = [];\n
Login.c(118): this.inlineStack = [];\n
Login.c(118): \n
Login.c(118): this.compileChildren(environment, options);\n
Login.c(118): \n
Login.c(118): this.useDepths = this.useDepths ||
environment.depths.list.length || this.options.co
Login.c(118): mpat;\n
Login.c(118): \n
Login.c(118): var opcodes = environment.opcodes,\n
Login.c(118): opcode,\n
Login.c(118): i,\n
Login.c(118): l;\n
Login.c(118): \n
Login.c(118): for (i = 0, l = opcodes.length; i < l; i++) {\n
Login.c(118): opcode = opcodes[i];\n
Login.c(118): \n
Login.c(118): this[opcode.opcode].apply(this, opcode.args);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Flush any trailing content that might be pending.\n
Login.c(118): this.pushSource('');\n
Login.c(118): \n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (this.stackSlot || this.inlineStack.length ||
this.compileStack.length) {\n
Login.c(118): throw new Exception('Compile completed with content left
on stack');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var fn = this.createFunctionContext(asObject);\n
Login.c(118): if (!this.isChild) {\n
Login.c(118): var ret = {\n
Login.c(118): compiler: this.compilerInfo(),\n
Login.c(118): main: fn\n
Login.c(118): };\n
Login.c(118): var programs = this.context.programs;\n
Login.c(118): for (i = 0, l = programs.length; i < l; i++) {\n
Login.c(118): if (programs[i]) {\n
Login.c(118): ret[i] = programs[i];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.environment.usePartial) {\n
Login.c(118): ret.usePartial = true;\n
Login.c(118): }\n
Login.c(118): if (this.options.data) {\n
Login.c(118): ret.useData = true;\n
Login.c(118): }\n
Login.c(118): if (this.useDepths) {\n
Login.c(118): ret.useDepths = true;\n
Login.c(118): }\n
Login.c(118): if (this.options.compat) {\n
Login.c(118): ret.compat = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!asObject) {\n
Login.c(118): ret.compiler = JSON.stringify(ret.compiler);\n
Login.c(118): ret = this.objectLiteral(ret);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return ret;\n
Login.c(118): } else {\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): preamble: function() {\n
Login.c(118): // track the last context pushed into place to allow
skipping the\n
Login.c(118): // getContext opcode when it would be a noop\n
Login.c(118): this.lastContext = 0;\n
Login.c(118): this.source = [];\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): createFunctionContext: function(asObject) {\n
Login.c(118): var varDeclarations = '';\n
Login.c(118): \n
Login.c(118): var locals = this.stackVars.concat(this.registers.list);\n
Login.c(118): if(locals.length > 0) {\n
Login.c(118): varDeclarations += ", " + locals.join(", ");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Generate minimizer alias mappings\n
Login.c(118): for (var alias in this.aliases) {\n
Login.c(118): if (this.aliases.hasOwnProperty(alias)) {\n
Login.c(118): varDeclarations += ', ' + alias + '=' +
this.aliases[alias];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var params = ["depth0", "helpers", "partials", "data"];\n
Login.c(118): \n
Login.c(118): if (this.useDepths) {\n
Login.c(118): params.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Perform a second pass over the output to merge content
when possible\n
Login.c(118): var source = this.mergeSource(varDeclarations);\n
Login.c(118): \n
Login.c(118): if (asObject) {\n
Login.c(118): params.push(source);\n
Login.c(118): \n
Login.c(118): return Function.apply(this, params);\n
Login.c(118): } else {\n
Login.c(118): return 'function(' + params.join(',') + ') {\\n ' +
source + '}';\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): mergeSource: function(varDeclarations) {\n
Login.c(118): var source = '',\n
Login.c(118): buffer,\n
Login.c(118): appendOnly = !this.forceBuffer,\n
Login.c(118): appendFirst;\n
Login.c(118): \n
Login.c(118): for (var i = 0, len = this.source.length; i < len; i++) {\n
Login.c(118): var line = this.source[i];\n
Login.c(118): if (line.appendToBuffer) {\n
Login.c(118): if (buffer) {\n
Login.c(118): buffer = buffer + '\\n + ' + line.content;\n
Login.c(118): } else {\n
Login.c(118): buffer = line.content;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (buffer) {\n
Login.c(118): if (!source) {\n
Login.c(118): appendFirst = true;\n
Login.c(118): source = buffer + ';\\n ';\n
Login.c(118): } else {\n
Login.c(118): source += 'buffer += ' + buffer + ';\\n ';\n
Login.c(118): }\n
Login.c(118): buffer = undefined;\n
Login.c(118): }\n
Login.c(118): source += line + '\\n ';\n
Login.c(118): \n
Login.c(118): if (!this.environment.isSimple) {\n
Login.c(118): appendOnly = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (appendOnly) {\n
Login.c(118): if (buffer || !source) {\n
Login.c(118): source += 'return ' + (buffer || '""') + ';\\n';\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): varDeclarations += ", buffer = " + (appendFirst ? '' :
this.initializeBuffer());\n
Login.c(118): if (buffer) {\n
Login.c(118): source += 'return buffer + ' + buffer + ';\\n';\n
Login.c(118): } else {\n
Login.c(118): source += 'return buffer;\\n';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (varDeclarations) {\n
Login.c(118): source = 'var ' + varDeclarations.substring(2) +
(appendFirst ? '' : ';\\n ') + s
Login.c(118): ource;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return source;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [blockValue]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, value\n
Login.c(118): // On stack, after: return value of blockHelperMissing\n
Login.c(118): //\n
Login.c(118): // The purpose of this opcode is to take a block of the
form\n
Login.c(118): // `{{#this.foo}}...{{/this.foo}}`, resolve the value of
`foo`, and\n
Login.c(118): // replace it on the stack with the result of properly\n
Login.c(118): // invoking blockHelperMissing.\n
Login.c(118): blockValue: function(name) {\n
Login.c(118): this.aliases.blockHelperMissing =
'helpers.blockHelperMissing';\n
Login.c(118): \n
Login.c(118): var params = [this.contextName(0)];\n
Login.c(118): this.setupParams(name, 0, params);\n
Login.c(118): \n
Login.c(118): var blockName = this.popStack();\n
Login.c(118): params.splice(1, 0, blockName);\n
Login.c(118): \n
Login.c(118): this.push('blockHelperMissing.call(' + params.join(', ') +
')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [ambiguousBlockValue]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, value\n
Login.c(118): // Compiler value, before: lastHelper=value of last found
helper, if any\n
Login.c(118): // On stack, after, if no lastHelper: same as [blockValue]\n
Login.c(118): // On stack, after, if lastHelper: value\n
Login.c(118): ambiguousBlockValue: function() {\n
Login.c(118): this.aliases.blockHelperMissing =
'helpers.blockHelperMissing';\n
Login.c(118): \n
Login.c(118): // We're being a bit cheeky and reusing the options value
from the prior exec\n
Login.c(118): var params = [this.contextName(0)];\n
Login.c(118): this.setupParams('', 0, params, true);\n
Login.c(118): \n
Login.c(118): this.flushInline();\n
Login.c(118): \n
Login.c(118): var current = this.topStack();\n
Login.c(118): params.splice(1, 0, current);\n
Login.c(118): \n
Login.c(118): this.pushSource("if (!" + this.lastHelper + ") { " +
current + " = blockHelperMissin
Login.c(118): g.call(" + params.join(", ") + "); }");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [appendContent]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Appends the string value of `content` to the current
buffer\n
Login.c(118): appendContent: function(content) {\n
Login.c(118): if (this.pendingContent) {\n
Login.c(118): content = this.pendingContent + content;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.pendingContent = content;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [append]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Coerces `value` to a String and appends it to the current
buffer.\n
Login.c(118): //\n
Login.c(118): // If `value` is truthy, or 0, it is coerced into a string
and appended\n
Login.c(118): // Otherwise, the empty string is appended\n
Login.c(118): append: function() {\n
Login.c(118): // Force anything that is inlined onto the stack so we
don't have duplication\n
Login.c(118): // when we examine local\n
Login.c(118): this.flushInline();\n
Login.c(118): var local = this.popStack();\n
Login.c(118): this.pushSource('if (' + local + ' != null) { ' +
this.appendToBuffer(local) + ' }')
Login.c(118): ;\n
Login.c(118): if (this.environment.isSimple) {\n
Login.c(118): this.pushSource("else { " + this.appendToBuffer("''") + "
}");\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [appendEscaped]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): //\n
Login.c(118): // Escape `value` and append it to the buffer\n
Login.c(118): appendEscaped: function() {\n
Login.c(118): this.aliases.escapeExpression = 'this.escapeExpression';\n
Login.c(118): \n
Login.c(118): this.pushSource(this.appendToBuffer("escapeExpression(" +
this.popStack() + ")"));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [getContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: ...\n
Login.c(118): // Compiler value, after: lastContext=depth\n
Login.c(118): //\n
Login.c(118): // Set the value of the `lastContext` compiler value to the
depth\n
Login.c(118): getContext: function(depth) {\n
Login.c(118): this.lastContext = depth;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: currentContext, ...\n
Login.c(118): //\n
Login.c(118): // Pushes the value of the current context onto the stack.\n
Login.c(118): pushContext: function() {\n
Login.c(118):
this.pushStackLiteral(this.contextName(this.lastContext));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [lookupOnContext]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: currentContext[name], ...\n
Login.c(118): //\n
Login.c(118): // Looks up the value of `name` on the current context and
pushes\n
Login.c(118): // it onto the stack.\n
Login.c(118): lookupOnContext: function(parts, falsy, scoped) {\n
Login.c(118): /*jshint -W083 */\n
Login.c(118): var i = 0,\n
Login.c(118): len = parts.length;\n
Login.c(118): \n
Login.c(118): if (!scoped && this.options.compat && !this.lastContext)
{\n
Login.c(118): // The depthed query is expected to handle the undefined
logic for the root level
Login.c(118): that\n
Login.c(118): // is implemented below, so we evaluate that directly in
compat mode\n
Login.c(118): this.push(this.depthedLookup(parts[i++]));\n
Login.c(118): } else {\n
Login.c(118): this.pushContext();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (; i < len; i++) {\n
Login.c(118): this.replaceStack(function(current) {\n
Login.c(118): var lookup = this.nameLookup(current, parts[i],
'context');\n
Login.c(118): // We want to ensure that zero and false are handled
properly if the context (fa
Login.c(118): lsy flag)\n
Login.c(118): // needs to have the special handling for these
values.\n
Login.c(118): if (!falsy) {\n
Login.c(118): return ' != null ? ' + lookup
Login.c(118): t=5714ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): + ' : ' + current;\n
Login.c(118): } else {\n
Login.c(118): // Otherwise we can use generic falsy handling\n
Login.c(118): return ' && ' + lookup;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [lookupData]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: data, ...\n
Login.c(118): //\n
Login.c(118): // Push the data lookup operator\n
Login.c(118): lookupData: function(depth, parts) {\n
Login.c(118): /*jshint -W083 */\n
Login.c(118): if (!depth) {\n
Login.c(118): this.pushStackLiteral('data');\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral('this.data(data, ' + depth +
')');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var len = parts.length;\n
Login.c(118): for (var i = 0; i < len; i++) {\n
Login.c(118): this.replaceStack(function(current) {\n
Login.c(118): return ' && ' + this.nameLookup(current, parts[i],
'data');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [resolvePossibleLambda]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ...\n
Login.c(118): // On stack, after: resolved value, ...\n
Login.c(118): //\n
Login.c(118): // If the `value` is a lambda, replace it on the stack by\n
Login.c(118): // the return value of the lambda\n
Login.c(118): resolvePossibleLambda: function() {\n
Login.c(118): this.aliases.lambda = 'this.lambda';\n
Login.c(118): \n
Login.c(118): this.push('lambda(' + this.popStack() + ', ' +
this.contextName(0) + ')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushStringParam]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: string, currentContext, ...\n
Login.c(118): //\n
Login.c(118): // This opcode is designed for use in string mode, which\n
Login.c(118): // provides the string value of a parameter along with its\n
Login.c(118): // depth rather than resolving it immediately.\n
Login.c(118): pushStringParam: function(string, type) {\n
Login.c(118): this.pushContext();\n
Login.c(118): this.pushString(type);\n
Login.c(118): \n
Login.c(118): // If it's a subexpression, the string result\n
Login.c(118): // will be pushed after this opcode.\n
Login.c(118): if (type !== 'sexpr') {\n
Login.c(118): if (typeof string === 'string') {\n
Login.c(118): this.pushString(string);\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral(string);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): emptyHash: function() {\n
Login.c(118): this.pushStackLiteral('{}');\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.push('{}'); // hashIds\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): this.push('{}'); // hashContexts\n
Login.c(118): this.push('{}'); // hashTypes\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): pushHash: function() {\n
Login.c(118): if (this.hash) {\n
Login.c(118): this.hashes.push(this.hash);\n
Login.c(118): }\n
Login.c(118): this.hash = {values: [], types: [], contexts: [], ids:
[]};\n
Login.c(118): },\n
Login.c(118): popHash: function() {\n
Login.c(118): var hash = this.hash;\n
Login.c(118): this.hash = this.hashes.pop();\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): this.push('{' + hash.ids.join(',') + '}');\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): this.push('{' + hash.contexts.join(',') + '}');\n
Login.c(118): this.push('{' + hash.types.join(',') + '}');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.push('{\\n ' + hash.values.join(',\\n ') + '\\n
}');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushString]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: quotedString(string), ...\n
Login.c(118): //\n
Login.c(118): // Push a quoted version of `string` onto the stack\n
Login.c(118): pushString: function(string) {\n
Login.c(118): this.pushStackLiteral(this.quotedString(string));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [push]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: expr, ...\n
Login.c(118): //\n
Login.c(118): // Push an expression onto the stack\n
Login.c(118): push: function(expr) {\n
Login.c(118): this.inlineStack.push(expr);\n
Login.c(118): return expr;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushLiteral]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: value, ...\n
Login.c(118): //\n
Login.c(118): // Pushes a value onto the stack. This operation prevents\n
Login.c(118): // the compiler from creating a temporary variable to hold\n
Login.c(118): // it.\n
Login.c(118): pushLiteral: function(value) {\n
Login.c(118): this.pushStackLiteral(value);\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [pushProgram]\n
Login.c(118): //\n
Login.c(118): // On stack, before: ...\n
Login.c(118): // On stack, after: program(guid), ...\n
Login.c(118): //\n
Login.c(118): // Push a program expression onto the stack. This takes\n
Login.c(118): // a compile-time guid and converts it into a runtime-
accessible\n
Login.c(118): // expression.\n
Login.c(118): pushProgram: function(guid) {\n
Login.c(118): if (guid != null) {\n
Login.c(118): this.pushStackLiteral(this.programExpression(guid));\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral(null);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeHelper]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of helper invocation\n
Login.c(118): //\n
Login.c(118): // Pops off the helper's parameters, invokes the helper,\n
Login.c(118): // and pushes the helper's return value onto the stack.\n
Login.c(118): //\n
Login.c(118): // If the helper is not found, `helperMissing` is called.\n
Login.c(118): invokeHelper: function(paramSize, name, isSimple) {\n
Login.c(118): this.aliases.helperMissing = 'helpers.helperMissing';\n
Login.c(118): \n
Login.c(118): var nonHelper = this.popStack();\n
Login.c(118): var helper = this.setupHelper(paramSize, name);\n
Login.c(118): \n
Login.c(118): var lookup = (isSimple ? helper.name + ' || ' : '') +
nonHelper + ' || helperMissing
Login.c(118): ';\n
Login.c(118): this.push('((' + lookup + ').call(' + helper.callParams +
'))');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeKnownHelper]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of helper invocation\n
Login.c(118): //\n
Login.c(118): // This operation is used when the helper is known to
exist,\n
Login.c(118): // so a `helperMissing` fallback is not required.\n
Login.c(118): invokeKnownHelper: function(paramSize, name) {\n
Login.c(118): var helper = this.setupHelper(paramSize, name);\n
Login.c(118): this.push(helper.name + ".call(" + helper.callParams +
")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokeAmbiguous]\n
Login.c(118): //\n
Login.c(118): // On stack, before: hash, inverse, program, params..., ...\n
Login.c(118): // On stack, after: result of disambiguation\n
Login.c(118): //\n
Login.c(118): // This operation is used when an expression like `{{foo}}`\n
Login.c(118): // is provided, but we don't know at compile-time whether
it\n
Login.c(118): // is a helper or a path.\n
Login.c(118): //\n
Login.c(118): // This operation emits more code than the other options,\n
Login.c(118): // and can be avoided by passing the `knownHelpers` and\n
Login.c(118): // `knownHelpersOnly` flags at compile-time.\n
Login.c(118): invokeAmbiguous: function(name, helperCall) {\n
Login.c(118): this.aliases.functionType = '"function"';\n
Login.c(118): this.aliases.helperMissing = 'helpers.helperMissing';\n
Login.c(118): this.useRegister('helper');\n
Login.c(118): \n
Login.c(118): var nonHelper = this.popStack();\n
Login.c(118): \n
Login.c(118): this.emptyHash();\n
Login.c(118): var helper = this.setupHelper(0, name, helperCall);\n
Login.c(118): \n
Login.c(118): var helperName = this.lastHelper =
this.nameLookup('helpers', name, 'helper');\n
Login.c(118): \n
Login.c(118): this.push(\n
Login.c(118): '((helper = (helper = ' + helperName + ' || ' + nonHelper
+ ') != null ? helper :
Login.c(118): helperMissing'\n
Login.c(118): + (helper.paramsInit ? '),(' + helper.paramsInit : '')
+ '),'\n
Login.c(118): + '(typeof helper === functionType ? helper.call(' +
helper.callParams + ') : help
Login.c(118): er))');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [invokePartial]\n
Login.c(118): //\n
Login.c(118): // On stack, before: context, ...\n
Login.c(118): // On stack after: result of partial invocation\n
Login.c(118): //\n
Login.c(118): // This operation pops off a context, invokes a partial with
that context,\n
Login.c(118): // and pushes the result of the invocation back.\n
Login.c(118): invokePartial: function(name, indent) {\n
Login.c(118): var params = [this.nameLookup('partials', name, 'partial'),
"'" + indent + "'", "'"
Login.c(118): + name + "'", this.popStack(), this.popStack(), "helpers",
"partials"];\n
Login.c(118): \n
Login.c(118): if (this.options.data) {\n
Login.c(118): params.push("data");\n
Login.c(118): } else if (this.options.compat) {\n
Login.c(118): params.push('undefined');\n
Login.c(118): }\n
Login.c(118): if (this.options.compat) {\n
Login.c(118): params.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): this.push("this.invokePartial(" + params.join(", ") +
")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // [assignToHash]\n
Login.c(118): //\n
Login.c(118): // On stack, before: value, ..., hash, ...\n
Login.c(118): // On stack, after: ..., hash, ...\n
Login.c(118): //\n
Login.c(118): // Pops a value off the stack and assigns it to the current
hash\n
Login.c(118): assignToHash: function(key) {\n
Login.c(118): var value = this.popStack(),\n
Login.c(118): context,\n
Login.c(118): type,\n
Login.c(118): id;\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): id = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): type = this.popStack();\n
Login.c(118): context = this.popStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var hash = this.hash;\n
Login.c(118): if (context) {\n
Login.c(118): hash.contexts.push("'" + key + "': " + context);\n
Login.c(118): }\n
Login.c(118): if (type) {\n
Login.c(118): hash.types.push("'" + key + "': " + type);\n
Login.c(118): }\n
Login.c(118): if (id) {\n
Login.c(118): hash.ids.push("'" + key + "': " + id);\n
Login.c(118): }\n
Login.c(118): hash.values.push("'" + key + "': (" + value + ")");\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushId: function(type, name) {\n
Login.c(118): if (type === 'ID' || type === 'DATA') {\n
Login.c(118): this.pushString(name);\n
Login.c(118): } else if (type === 'sexpr') {\n
Login.c(118): this.pushStackLiteral('true');\n
Login.c(118): } else {\n
Login.c(118): this.pushStackLiteral('null');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // HELPERS\n
Login.c(118): \n
Login.c(118): compiler: JavaScriptCompiler,\n
Login.c(118): \n
Login.c(118): compileChildren: function(environment, options) {\n
Login.c(118): var children = environment.children, child, compiler;\n
Login.c(118): \n
Login.c(118): for(var i=0, l=children.length; i<l; i++) {\n
Login.c(118): child = children[i];\n
Login.c(118): compiler = new this.compiler();\n
Login.c(118): \n
Login.c(118): var index = this.matchExistingProgram(child);\n
Login.c(118): \n
Login.c(118): if (index == null) {\n
Login.c(118): this.context.programs.push(''); // Placeholder to
prevent name conflicts for
Login.c(118): nested children\n
Login.c(118): index = this.context.programs.length;\n
Login.c(118): child.index = index;\n
Login.c(118): child.name = 'program' + index;\n
Login.c(118): this.context.programs[index] = compiler.compile(child,
options, this.context, !t
Login.c(118): his.precompile);\n
Login.c(118): this.context.environments[index] = child;\n
Login.c(118): \n
Login.c(118): this.useDepths = this.useDepths ||
compiler.useDepths;\n
Login.c(118): } else {\n
Login.c(118): child.index = index;\n
Login.c(118): child.name = 'program' + index;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): matchExistingProgram: function(child) {\n
Login.c(118): for (var i = 0, len = this.context.environments.length; i <
len; i++) {\n
Login.c(118): var environment = this.context.environments[i];\n
Login.c(118): if (environment && environment.equals(child)) {\n
Login.c(118): return i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): programExpression: function(guid) {\n
Login.c(118): var child = this.environment.children[guid],\n
Login.c(118): depths = child.depths.list,\n
Login.c(118): useDepths = this.useDepths,\n
Login.c(118): depth;\n
Login.c(118): \n
Login.c(118): var programParams = [child.index, 'data'];\n
Login.c(118): \n
Login.c(118): if (useDepths) {\n
Login.c(118): programParams.push('depths');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return 'this.program(' + programParams.join(', ') + ')';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): useRegister: function(name) {\n
Login.c(118): if(!this.registers[name]) {\n
Login.c(118): this.registers[name] = true;\n
Login.c(118): this.registers.list.push(name);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushStackLiteral: function(item) {\n
Login.c(118): return this.push(new Literal(item));\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushSource: function(source) {\n
Login.c(118): if (this.pendingContent) {\n
Login.c(118):
this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent)));\n
Login.c(118): this.pendingContent = undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (source) {\n
Login.c(118): this.source.push(source);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): pushStack: function(item) {\n
Login.c(118): this.flushInline();\n
Login.c(118): \n
Login.c(118): var stack = this.incrStack();\n
Login.c(118): this.pushSource(stack + " = " + item + ";");\n
Login.c(118): this.compileStack.push(stack);\n
Login.c(118): return stack;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): replaceStack: function(callback) {\n
Login.c(118): var prefix = '',\n
Login.c(118): inline = this.isInline(),\n
Login.c(118): stack,\n
Login.c(118): createdStack,\n
Login.c(118): usedLiteral;\n
Login.c(118): \n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!this.isInline()) {\n
Login.c(118): throw new Exception('replaceStack on non-inline');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // We want to merge the inline statement into the
replacement statement via ','\n
Login.c(118): var top = this.popStack(true);\n
Login.c(118): \n
Login.c(118): if (top instanceof Literal) {\n
Login.c(118): // Literals do not need to be inlined\n
Login.c(118): prefix = stack = top.value;\n
Login.c(118): usedLiteral = true;\n
Login.c(118): } else {\n
Login.c(118): // Get or create the current stack name for use by the
inline\n
Login.c(118): createdStack = !this.stackSlot;\n
Login.c(118): var name = !createdStack ? this.topStackName() :
this.incrStack();\n
Login.c(118): \n
Login.c(118): prefix = '(' + this.push(name) + ' = ' + top + ')';\n
Login.c(118): stack = this.topStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var item = callback.call(this, stack);\n
Login.c(118): \n
Login.c(118): if (!usedLiteral) {\n
Login.c(118): this.popStack();\n
Login.c(118): }\n
Login.c(118): if (createdStack) {\n
Login.c(118): this.stackSlot--;\n
Login.c(118): }\n
Login.c(118): this.push('(' + prefix + item + ')');\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): incrStack: function() {\n
Login.c(118): this.stackSlot++;\n
Login.c(118): if(this.stackSlot > this.stackVars.length)
{ this.stackVars.push("stack" + this.stac
Login.c(118): kSlot); }\n
Login.c(118): return this.topStackName();\n
Login.c(118): },\n
Login.c(118): topStackName: function() {\n
Login.c(118): return "stack" + this.stackSlot;\n
Login.c(118): },\n
Login.c(118): flushInline: function() {\n
Login.c(118): var inlineStack = this.inlineStack;\n
Login.c(118): if (inlineStack.length) {\n
Login.c(118): this.inlineStack = [];\n
Login.c(118): for (var i = 0, len = inlineStack.length; i < len; i++)
{\n
Login.c(118): var entry = inlineStack[i];\n
Login.c(118): if (entry instanceof Literal) {\n
Login.c(118): this.compileStack.push(entry);\n
Login.c(118): } else {\n
Login.c(118): this.pushStack(entry);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): isInline: function() {\n
Login.c(118): return this.inlineStack.length;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): popStack: function(wrapp
Login.c(118): t=5739ms: 6211-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/handlebars/handlebars-v2.0.0.js" (RelFrameId=,
Internal ID=41)
Login.c(118): ed) {\n
Login.c(118): var inline = this.isInline(),\n
Login.c(118): item = (inline ? this.inlineStack :
this.compileStack).pop();\n
Login.c(118): \n
Login.c(118): if (!wrapped && (item instanceof Literal)) {\n
Login.c(118): return item.value;\n
Login.c(118): } else {\n
Login.c(118): if (!inline) {\n
Login.c(118): /* istanbul ignore next */\n
Login.c(118): if (!this.stackSlot) {\n
Login.c(118): throw new Exception('Invalid stack pop');\n
Login.c(118): }\n
Login.c(118): this.stackSlot--;\n
Login.c(118): }\n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): topStack: function() {\n
Login.c(118): var stack = (this.isInline() ? this.inlineStack :
this.compileStack),\n
Login.c(118): item = stack[stack.length - 1];\n
Login.c(118): \n
Login.c(118): if (item instanceof Literal) {\n
Login.c(118): return item.value;\n
Login.c(118): } else {\n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): contextName: function(context) {\n
Login.c(118): if (this.useDepths && context) {\n
Login.c(118): return 'depths[' + context + ']';\n
Login.c(118): } else {\n
Login.c(118): return 'depth' + context;\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): quotedString: function(str) {\n
Login.c(118): return '"' + str\n
Login.c(118): .replace(/\\\\/g, '\\\\\\\\')\n
Login.c(118): .replace(/"/g, '\\\\"')\n
Login.c(118): .replace(/\\n/g, '\\\\n')\n
Login.c(118): .replace(/\\r/g, '\\\\r')\n
Login.c(118): .replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 +
7.8.4\n
Login.c(118): .replace(/\\u2029/g, '\\\\u2029') + '"';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): objectLiteral: function(obj) {\n
Login.c(118): var pairs = [];\n
Login.c(118): \n
Login.c(118): for (var key in obj) {\n
Login.c(118): if (obj.hasOwnProperty(key)) {\n
Login.c(118): pairs.push(this.quotedString(key) + ':' + obj[key]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return '{' + pairs.join(',') + '}';\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupHelper: function(paramSize, name, blockHelper) {\n
Login.c(118): var params = [],\n
Login.c(118): paramsInit = this.setupParams(name, paramSize, params,
blockHelper);\n
Login.c(118): var foundHelper = this.nameLookup('helpers', name,
'helper');\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): params: params,\n
Login.c(118): paramsInit: paramsInit,\n
Login.c(118): name: foundHelper,\n
Login.c(118): callParams: [this.contextName(0)].concat(params).join(",
")\n
Login.c(118): };\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): setupOptions: function(helper, paramSize, params) {\n
Login.c(118): var options = {}, contexts = [], types = [], ids = [],
param, inverse, program;\n
Login.c(118): \n
Login.c(118): options.name = this.quotedString(helper);\n
Login.c(118): options.hash = this.popStack();\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): options.hashIds = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): options.hashTypes = this.popStack();\n
Login.c(118): options.hashContexts = this.popStack();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): inverse = this.popStack();\n
Login.c(118): program = this.popStack();\n
Login.c(118): \n
Login.c(118): // Avoid setting fn and inverse if neither are set. This
allows\n
Login.c(118): // helpers to do a check for `if (options.fn)`\n
Login.c(118): if (program || inverse) {\n
Login.c(118): if (!program) {\n
Login.c(118): program = 'this.noop';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (!inverse) {\n
Login.c(118): inverse = 'this.noop';\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): options.fn = program;\n
Login.c(118): options.inverse = inverse;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // The parameters go on to the stack in order (making sure
that they are evaluated i
Login.c(118): n order)\n
Login.c(118): // so we need to pop them off the stack in reverse order\n
Login.c(118): var i = paramSize;\n
Login.c(118): while (i--) {\n
Login.c(118): param = this.popStack();\n
Login.c(118): params[i] = param;\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): ids[i] = this.popStack();\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): types[i] = this.popStack();\n
Login.c(118): contexts[i] = this.popStack();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.trackIds) {\n
Login.c(118): options.ids = "[" + ids.join(",") + "]";\n
Login.c(118): }\n
Login.c(118): if (this.stringParams) {\n
Login.c(118): options.types = "[" + types.join(",") + "]";\n
Login.c(118): options.contexts = "[" + contexts.join(",") + "]";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (this.options.data) {\n
Login.c(118): options.data = "data";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return options;\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): // the params and contexts arguments are passed in arrays\n
Login.c(118): // to fill in\n
Login.c(118): setupParams: function(helperName, paramSize, params,
useRegister) {\n
Login.c(118): var options =
this.objectLiteral(this.setupOptions(helperName, paramSize, params));\n
Login.c(118): \n
Login.c(118): if (useRegister) {\n
Login.c(118): this.useRegister('options');\n
Login.c(118): params.push('options');\n
Login.c(118): return 'options=' + options;\n
Login.c(118): } else {\n
Login.c(118): params.push(options);\n
Login.c(118): return '';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var reservedWords = (\n
Login.c(118): "break else new var" +\n
Login.c(118): " case finally return void" +\n
Login.c(118): " catch for switch while" +\n
Login.c(118): " continue function this with" +\n
Login.c(118): " default if throw" +\n
Login.c(118): " delete in try" +\n
Login.c(118): " do instanceof typeof" +\n
Login.c(118): " abstract enum int short" +\n
Login.c(118): " boolean export interface static" +\n
Login.c(118): " byte extends long super" +\n
Login.c(118): " char final native synchronized" +\n
Login.c(118): " class float package throws" +\n
Login.c(118): " const goto private transient" +\n
Login.c(118): " debugger implements protected volatile" +\n
Login.c(118): " double import public let yield"\n
Login.c(118): ).split(" ");\n
Login.c(118): \n
Login.c(118): var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n
Login.c(118): \n
Login.c(118): for(var i=0, l=reservedWords.length; i<l; i++) {\n
Login.c(118): compilerWords[reservedWords[i]] = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): JavaScriptCompiler.isValidJavaScriptVariableName =
function(name) {\n
Login.c(118): return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-
Z_$][0-9a-zA-Z_$]*$/.test(n
Login.c(118): ame);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): __exports__ = JavaScriptCompiler;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module2__, __module5__);\n
Login.c(118): \n
Login.c(118): // handlebars.js\n
Login.c(118): var __module0__ = (function(__dependency1__, __dependency2__,
__dependency3__, __dependenc
Login.c(118): y4__, __dependency5__) {\n
Login.c(118): "use strict";\n
Login.c(118): var __exports__;\n
Login.c(118): /*globals Handlebars: true */\n
Login.c(118): var Handlebars = __dependency1__;\n
Login.c(118): \n
Login.c(118): // Compiler imports\n
Login.c(118): var AST = __dependency2__;\n
Login.c(118): var Parser = __dependency3__.parser;\n
Login.c(118): var parse = __dependency3__.parse;\n
Login.c(118): var Compiler = __dependency4__.Compiler;\n
Login.c(118): var compile = __dependency4__.compile;\n
Login.c(118): var precompile = __dependency4__.precompile;\n
Login.c(118): var JavaScriptCompiler = __dependency5__;\n
Login.c(118): \n
Login.c(118): var _create = Handlebars.create;\n
Login.c(118): var create = function() {\n
Login.c(118): var hb = _create();\n
Login.c(118): \n
Login.c(118): hb.compile = function(input, options) {\n
Login.c(118): return compile(input, options, hb);\n
Login.c(118): };\n
Login.c(118): hb.precompile = function (input, options) {\n
Login.c(118): return precompile(input, options, hb);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): hb.AST = AST;\n
Login.c(118): hb.Compiler = Compiler;\n
Login.c(118): hb.JavaScriptCompiler = JavaScriptCompiler;\n
Login.c(118): hb.Parser = Parser;\n
Login.c(118): hb.parse = parse;\n
Login.c(118): \n
Login.c(118): return hb;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): Handlebars = create();\n
Login.c(118): Handlebars.create = create;\n
Login.c(118): \n
Login.c(118): Handlebars['default'] = Handlebars;\n
Login.c(118): \n
Login.c(118): __exports__ = Handlebars;\n
Login.c(118): return __exports__;\n
Login.c(118): })(__module1__, __module7__, __module8__, __module11__,
__module12__);\n
Login.c(118): \n
Login.c(118): return __module0__;\n
Login.c(118): }));\n
Login.c(118): t=5753ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"464435-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 464435\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=5896ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): /*! jQuery UI - v1.11.1 - 2014-08-13\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): * Includes: core.js, widget.js, mouse.js, position.js,
accordion.js, autocomplete.js, butt
Login.c(118): on.js, datepicker.js, dialog.js, draggable.js, droppable.js,
effect.js, effect-blind.js, e
Login.c(118): ffect-bounce.js, effect-clip.js, effect-drop.js, effect-
explode.js, effect-fade.js, effect
Login.c(118): -fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js,
effect-scale.js, effect-
Login.c(118): shake.js, effect-size.js, effect-slide.js, effect-transfer.js,
menu.js, progressbar.js, re
Login.c(118): sizable.js, selectable.js, selectmenu.js, slider.js, sortable.js,
spinner.js, tabs.js, too
Login.c(118): ltip.js\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors;
Licensed MIT */\n
Login.c(118): \n
Login.c(118): (function( factory ) {\n
Login.c(118): \tif ( typeof define === "function" && define.amd ) {\n
Login.c(118): \n
Login.c(118): \t\t// AMD. Register as an anonymous module.\n
Login.c(118): \t\tdefine([ "jquery" ], factory );\n
Login.c(118): \t} else {\n
Login.c(118): \n
Login.c(118): \t\t// Browser globals\n
Login.c(118): \t\tfactory( jQuery );\n
Login.c(118): \t}\n
Login.c(118): }(function( $ ) {\n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Core 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/category/ui-core/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // $.ui might exist from components with no dependencies, e.g.,
$.ui.position\n
Login.c(118): $.ui = $.ui || {};\n
Login.c(118): \n
Login.c(118): $.extend( $.ui, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \n
Login.c(118): \tkeyCode: {\n
Login.c(118): \t\tBACKSPACE: 8,\n
Login.c(118): \t\tCOMMA: 188,\n
Login.c(118): \t\tDELETE: 46,\n
Login.c(118): \t\tDOWN: 40,\n
Login.c(118): \t\tEND: 35,\n
Login.c(118): \t\tENTER: 13,\n
Login.c(118): \t\tESCAPE: 27,\n
Login.c(118): \t\tHOME: 36,\n
Login.c(118): \t\tLEFT: 37,\n
Login.c(118): \t\tPAGE_DOWN: 34,\n
Login.c(118): \t\tPAGE_UP: 33,\n
Login.c(118): \t\tPERIOD: 190,\n
Login.c(118): \t\tRIGHT: 39,\n
Login.c(118): \t\tSPACE: 32,\n
Login.c(118): \t\tTAB: 9,\n
Login.c(118): \t\tUP: 38\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // plugins\n
Login.c(118): $.fn.extend({\n
Login.c(118): \tscrollParent: function( includeHidden ) {\n
Login.c(118): \t\tvar position = this.css( "position" ),\n
Login.c(118): \t\t\texcludeStaticParent = position === "absolute",\n
Login.c(118): \t\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /
(auto|scroll)/,\n
Login.c(118): \t\t\tscrollParent = this.parents().filter( function() {\n
Login.c(118): \t\t\t\tvar parent = $( this );\n
Login.c(118): \t\t\t\tif ( excludeStaticParent && parent.css( "position" ) ===
"static" ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn overflowRegex.test( parent.css( "overflow" ) +
parent.css( "overflow-y" ) +
Login.c(118): parent.css( "overflow-x" ) );\n
Login.c(118): \t\t\t}).eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\treturn position === "fixed" || !scrollParent.length ? $
( this[ 0 ].ownerDocument || do
Login.c(118): cument ) : scrollParent;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tuniqueId: (function() {\n
Login.c(118): \t\tvar uuid = 0;\n
Login.c(118): \n
Login.c(118): \t\treturn function() {\n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\tif ( !this.id ) {\n
Login.c(118): \t\t\t\t\tthis.id = "ui-id-" + ( ++uuid );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \tremoveUniqueId: function() {\n
Login.c(118): \t\treturn this.each(function() {\n
Login.c(118): \t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n
Login.c(118): \t\t\t\t$( this ).removeAttr( "id" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // selectors\n
Login.c(118): function focusable( element, isTabIndexNotNaN ) {\n
Login.c(118): \tvar map, mapName, img,\n
Login.c(118): \t\tnodeName = element.nodeName.toLowerCase();\n
Login.c(118): \tif ( "area" === nodeName ) {\n
Login.c(118): \t\tmap = element.parentNode;\n
Login.c(118): \t\tmapName = map.name;\n
Login.c(118): \t\tif ( !element.href || !mapName ||
map.nodeName.toLowerCase() !== "map" ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\timg = $( "img[usemap='#" + mapName + "']" )[ 0 ];\n
Login.c(118): \t\treturn !!img && visible( img );\n
Login.c(118): \t}\n
Login.c(118): \treturn ( /input|select|textarea|button|object/.test( nodeName )
?\n
Login.c(118): \t\t!element.disabled :\n
Login.c(118): \t\t"a" === nodeName ?\n
Login.c(118): \t\t\telement.href || isTabIndexNotNaN :\n
Login.c(118): \t\t\tisTabIndexNotNaN) &&\n
Login.c(118): \t\t// the element and all of its ancestors must be visible\n
Login.c(118): \t\tvisible( element );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function visible( element ) {\n
Login.c(118): \treturn $.expr.filters.visible( element ) &&\n
Login.c(118): \t\t!$( element ).parents().addBack().filter(function() {\n
Login.c(118): \t\t\treturn $.css( this, "visibility" ) === "hidden";\n
Login.c(118): \t\t}).length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend( $.expr[ ":" ], {\n
Login.c(118): \tdata: $.expr.createPseudo ?\n
Login.c(118): \t\t$.expr.createPseudo(function( dataName ) {\n
Login.c(118): \t\t\treturn function( elem ) {\n
Login.c(118): \t\t\t\treturn !!$.data( elem, dataName );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}) :\n
Login.c(118): \t\t// support: jQuery <1.8\n
Login.c(118): \t\tfunction( elem, i, match ) {\n
Login.c(118): \t\t\treturn !!$.data( elem, match[ 3 ] );\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \tfocusable: function( element ) {\n
Login.c(118): \t\treturn focusable( element, !isNaN( $.attr( element,
"tabindex" ) ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \ttabbable: function( element ) {\n
Login.c(118): \t\tvar tabIndex = $.attr( element, "tabindex" ),\n
Login.c(118): \t\t\tisTabIndexNaN = isNaN( tabIndex );\n
Login.c(118): \t\treturn ( isTabIndexNaN || tabIndex >= 0 ) &&
focusable( element, !isTabIndexNaN );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {\n
Login.c(118): \t$.each( [ "Width", "Height" ], function( i, name ) {\n
Login.c(118): \t\tvar side = name === "Width" ? [ "Left", "Right" ] : [ "Top",
"Bottom" ],\n
Login.c(118): \t\t\ttype = name.toLowerCase(),\n
Login.c(118): \t\t\torig = {\n
Login.c(118): \t\t\t\tinnerWidth: $.fn.innerWidth,\n
Login.c(118): \t\t\t\tinnerHeight: $.fn.innerHeight,\n
Login.c(118): \t\t\t\touterWidth: $.fn.outerWidth,\n
Login.c(118): \t\t\t\touterHeight: $.fn.outerHeight\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfunction reduce( elem, size, border, margin ) {\n
Login.c(118): \t\t\t$.each( side, function() {\n
Login.c(118): \t\t\t\tsize -= parseFloat( $.css( elem, "padding" + this ) ) ||
0;\n
Login.c(118): \t\t\t\tif ( border ) {\n
Login.c(118): \t\t\t\t\tsize -= parseFloat( $.css( elem, "border" + this +
"Width" ) ) || 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( margin ) {\n
Login.c(118): \t\t\t\t\tsize -= parseFloat( $.css( elem, "margin" + this ) ) ||
0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\treturn size;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.fn[ "inner" + name ] = function( size ) {\n
Login.c(118): \t\t\tif ( size === undefined ) {\n
Login.c(118): \t\t\t\treturn orig[ "inner" + name ].call( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\t$( this ).css( type, reduce( this, size ) + "px" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.fn[ "outer" + name] = function( size, margin ) {\n
Login.c(118): \t\t\tif ( typeof size !== "number" ) {\n
Login.c(118): \t\t\t\treturn orig[ "outer" + name ].call( this, size );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn this.each(function() {\n
Login.c(118): \t\t\t\t$( this).css( type, reduce( this, size, true, margin ) +
"px" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$.fn.addBack ) {\n
Login.c(118): \t$.fn.addBack = function( selector ) {\n
Login.c(118): \t\treturn this.add( selector == null ?\n
Login.c(118): \t\t\tthis.prevObject : this.prevObject.filter( selector )\n
Login.c(118): \t\t);\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery 1.6.1, 1.6.2
(http://bugs.jquery.com/ticket/9413)\n
Login.c(118): if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-
b" ) ) {\n
Login.c(118): \t$.fn.removeData = (function( removeData ) {\n
Login.c(118): \t\treturn function( key ) {\n
Login.c(118): \t\t\tif ( arguments.length ) {\n
Login.c(118): \t\t\t\treturn removeData.call( this, $.camelCase( key ) );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\treturn removeData.call( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.removeData );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // deprecated\n
Login.c(118): $.ui.ie = !!/msie [\\w.]
+/.exec( navigator.userAgent.toLowerCase() );\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \tfocus: (function( orig ) {\n
Login.c(118): \t\treturn function( delay, fn ) {\n
Login.c(118): \t\t\treturn typeof delay === "number" ?\n
Login.c(118): \t\t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\t\tvar elem = this;\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\t$( elem ).focus();\n
Login.c(118): \t\t\t\t\t\tif ( fn ) {\n
Login.c(118): \t\t\t\t\t\t\tfn.call( elem );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}, delay );\n
Login.c(118): \t\t\t\t}) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.focus ),\n
Login.c(118): \n
Login.c(118): \tdisableSelection: (function() {\n
Login.c(118): \t\tvar eventType = "onselectstart" in
document.createElement( "div" ) ?\n
Login.c(118): \t\t\t"selectstart" :\n
Login.c(118): \t\t\t"mousedown";\n
Login.c(118): \n
Login.c(118): \t\treturn function() {\n
Login.c(118): \t\t\treturn this.bind( eventType + ".ui-disableSelection",
function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \tenableSelection: function() {\n
Login.c(118): \t\treturn this.unbind( ".ui-disableSelection" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tzIndex: function( zIndex ) {\n
Login.c(118): \t\tif ( zIndex !== undefined ) {\n
Login.c(118): \t\t\treturn this.css( "zIndex", zIndex );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.length ) {\n
Login.c(118): \t\t\tvar elem = $( this[ 0 ] ), position, value;\n
Login.c(118): \t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\n
Login.c(118): \t\t\t\t// Ignore z-index if position is set to a value where z-
index is ignored by the br
Login.c(118): owser\n
Login.c(118): \t\t\t\t// This makes behavior of this function consistent across
browsers\n
Login.c(118): \t\t\t\t// WebKit always returns auto if the element is
positioned\n
Login.c(118): \t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "relative"
|| position === "fixed" )
Login.c(118): {\n
Login.c(118): \t\t\t\t\t// IE returns 0 when zIndex is not specified\n
Login.c(118): \t\t\t\t\t// other browsers return a string\n
Login.c(118): \t\t\t\t\t// we ignore the case of nested elements with an
explicit value of 0\n
Login.c(118): \t\t\t\t\t// <div style="z-index: -10;"><div style="z-index:
0;"></div></div>\n
Login.c(118): \t\t\t\t\tvalue = parseInt( elem.css( "zIndex" ), 10 );\n
Login.c(118): \t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n
Login.c(118): \t\t\t\t\t\treturn value;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telem = elem.parent();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn 0;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // $.ui.plugin is deprecated. Use $.widget() extensions
instead.\n
Login.c(118): $.ui.plugin = {\n
Login.c(118): \tadd: function( module, option, set ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tproto = $.ui[ module ].prototype;\n
Login.c(118): \t\tfor ( i in set ) {\n
Login.c(118): \t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\n
Login.c(118): \t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tcall: function( instance, name, args, allowDisconnected ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tset = instance.plugins[ name ];\n
Login.c(118): \n
Login.c(118): \t\tif ( !set ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !allowDisconnected && ( !
instance.element[ 0 ].parentNode || instance.element[ 0
Login.c(118): ].parentNode.nodeType === 11 ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor ( i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\n
Login.c(118): \t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Widget 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/jQuery.widget/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var widget_uuid = 0,\n
Login.c(118): \twidget_slice = Array.prototype.slice;\n
Login.c(118): \n
Login.c(118): $.cleanData = (function( orig ) {\n
Login.c(118): \treturn func
Login.c(118): t=5967ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): tion( elems ) {\n
Login.c(118): \t\tvar events, elem, i;\n
Login.c(118): \t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Only trigger remove when necessary to save time\n
Login.c(118): \t\t\t\tevents = $._data( elem, "events" );\n
Login.c(118): \t\t\t\tif ( events && events.remove ) {\n
Login.c(118): \t\t\t\t\t$( elem ).triggerHandler( "remove" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// http://bugs.jquery.com/ticket/8235\n
Login.c(118): \t\t\t} catch( e ) {}\n
Login.c(118): \t\t}\n
Login.c(118): \t\torig( elems );\n
Login.c(118): \t};\n
Login.c(118): })( $.cleanData );\n
Login.c(118): \n
Login.c(118): $.widget = function( name, base, prototype ) {\n
Login.c(118): \tvar fullName, existingConstructor, constructor,
basePrototype,\n
Login.c(118): \t\t// proxiedPrototype allows the provided prototype to remain
unmodified\n
Login.c(118): \t\t// so that it can be used as a mixin for multiple widgets
(#8876)\n
Login.c(118): \t\tproxiedPrototype = {},\n
Login.c(118): \t\tnamespace = name.split( "." )[ 0 ];\n
Login.c(118): \n
Login.c(118): \tname = name.split( "." )[ 1 ];\n
Login.c(118): \tfullName = namespace + "-" + name;\n
Login.c(118): \n
Login.c(118): \tif ( !prototype ) {\n
Login.c(118): \t\tprototype = base;\n
Login.c(118): \t\tbase = $.Widget;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// create selector for plugin\n
Login.c(118): \t$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {\n
Login.c(118): \t\treturn !!$.data( elem, fullName );\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t$[ namespace ] = $[ namespace ] || {};\n
Login.c(118): \texistingConstructor = $[ namespace ][ name ];\n
Login.c(118): \tconstructor = $[ namespace ][ name ] = function( options,
element ) {\n
Login.c(118): \t\t// allow instantiation without "new" keyword\n
Login.c(118): \t\tif ( !this._createWidget ) {\n
Login.c(118): \t\t\treturn new constructor( options, element );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// allow instantiation without initializing for simple
inheritance\n
Login.c(118): \t\t// must use "new" keyword (the code above always passes
args)\n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tthis._createWidget( options, element );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \t// extend with the existing constructor to carry over any
static properties\n
Login.c(118): \t$.extend( constructor, existingConstructor, {\n
Login.c(118): \t\tversion: prototype.version,\n
Login.c(118): \t\t// copy the object used to create the prototype in case we
need to\n
Login.c(118): \t\t// redefine the widget later\n
Login.c(118): \t\t_proto: $.extend( {}, prototype ),\n
Login.c(118): \t\t// track widgets that inherit from this widget in case this
widget is\n
Login.c(118): \t\t// redefined after a widget inherits from it\n
Login.c(118): \t\t_childConstructors: []\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tbasePrototype = new base();\n
Login.c(118): \t// we need to make the options hash a property directly on the
new instance\n
Login.c(118): \t// otherwise we'll modify the options hash on the prototype
that we're\n
Login.c(118): \t// inheriting from\n
Login.c(118): \tbasePrototype.options = $.widget.extend( {},
basePrototype.options );\n
Login.c(118): \t$.each( prototype, function( prop, value ) {\n
Login.c(118): \t\tif ( !$.isFunction( value ) ) {\n
Login.c(118): \t\t\tproxiedPrototype[ prop ] = value;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tproxiedPrototype[ prop ] = (function() {\n
Login.c(118): \t\t\tvar _super = function() {\n
Login.c(118): \t\t\t\t\treturn base.prototype[ prop ].apply( this,
arguments );\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\t_superApply = function( args ) {\n
Login.c(118): \t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\treturn function() {\n
Login.c(118): \t\t\t\tvar __super = this._super,\n
Login.c(118): \t\t\t\t\t__superApply = this._superApply,\n
Login.c(118): \t\t\t\t\treturnValue;\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._super = _super;\n
Login.c(118): \t\t\t\tthis._superApply = _superApply;\n
Login.c(118): \n
Login.c(118): \t\t\t\treturnValue = value.apply( this, arguments );\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._super = __super;\n
Login.c(118): \t\t\t\tthis._superApply = __superApply;\n
Login.c(118): \n
Login.c(118): \t\t\t\treturn returnValue;\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t})();\n
Login.c(118): \t});\n
Login.c(118): \tconstructor.prototype = $.widget.extend( basePrototype, {\n
Login.c(118): \t\t// TODO: remove support for widgetEventPrefix\n
Login.c(118): \t\t// always use the name + a colon as the prefix, e.g.,
draggable:start\n
Login.c(118): \t\t// don't prefix for widgets that aren't DOM-based\n
Login.c(118): \t\twidgetEventPrefix: existingConstructor ?
(basePrototype.widgetEventPrefix || name) : n
Login.c(118): ame\n
Login.c(118): \t}, proxiedPrototype, {\n
Login.c(118): \t\tconstructor: constructor,\n
Login.c(118): \t\tnamespace: namespace,\n
Login.c(118): \t\twidgetName: name,\n
Login.c(118): \t\twidgetFullName: fullName\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// If this widget is being redefined then we need to find all
widgets that\n
Login.c(118): \t// are inheriting from it and redefine all of them so that they
inherit from\n
Login.c(118): \t// the new version of this widget. We're essentially trying to
replace one\n
Login.c(118): \t// level in the prototype chain.\n
Login.c(118): \tif ( existingConstructor ) {\n
Login.c(118): \t\t$.each( existingConstructor._childConstructors, function( i,
child ) {\n
Login.c(118): \t\t\tvar childPrototype = child.prototype;\n
Login.c(118): \n
Login.c(118): \t\t\t// redefine the child widget using the same prototype that
was\n
Login.c(118): \t\t\t// originally used, but inherit from the new version of the
base\n
Login.c(118): \t\t\t$.widget( childPrototype.namespace + "." +
childPrototype.widgetName, constructor, c
Login.c(118): hild._proto );\n
Login.c(118): \t\t});\n
Login.c(118): \t\t// remove the list of existing child constructors from the
old constructor\n
Login.c(118): \t\t// so the old child constructors can be garbage collected\n
Login.c(118): \t\tdelete existingConstructor._childConstructors;\n
Login.c(118): \t} else {\n
Login.c(118): \t\tbase._childConstructors.push( constructor );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.widget.bridge( name, constructor );\n
Login.c(118): \n
Login.c(118): \treturn constructor;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.widget.extend = function( target ) {\n
Login.c(118): \tvar input = widget_slice.call( arguments, 1 ),\n
Login.c(118): \t\tinputIndex = 0,\n
Login.c(118): \t\tinputLength = input.length,\n
Login.c(118): \t\tkey,\n
Login.c(118): \t\tvalue;\n
Login.c(118): \tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n
Login.c(118): \t\tfor ( key in input[ inputIndex ] ) {\n
Login.c(118): \t\t\tvalue = input[ inputIndex ][ key ];\n
Login.c(118): \t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !==
undefined ) {\n
Login.c(118): \t\t\t\t// Clone objects\n
Login.c(118): \t\t\t\tif ( $.isPlainObject( value ) ) {\n
Login.c(118): \t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n
Login.c(118): \t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n
Login.c(118): \t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n
Login.c(118): \t\t\t\t\t\t$.widget.extend( {}, value );\n
Login.c(118): \t\t\t\t// Copy everything else by reference\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\ttarget[ key ] = value;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \treturn target;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.widget.bridge = function( name, object ) {\n
Login.c(118): \tvar fullName = object.prototype.widgetFullName || name;\n
Login.c(118): \t$.fn[ name ] = function( options ) {\n
Login.c(118): \t\tvar isMethodCall = typeof options === "string",\n
Login.c(118): \t\t\targs = widget_slice.call( arguments, 1 ),\n
Login.c(118): \t\t\treturnValue = this;\n
Login.c(118): \n
Login.c(118): \t\t// allow multiple hashes to be passed on init\n
Login.c(118): \t\toptions = !isMethodCall && args.length ?\n
Login.c(118): \t\t\t$.widget.extend.apply( null, [ options ].concat(args) ) :\n
Login.c(118): \t\t\toptions;\n
Login.c(118): \n
Login.c(118): \t\tif ( isMethodCall ) {\n
Login.c(118): \t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\tvar methodValue,\n
Login.c(118): \t\t\t\t\tinstance = $.data( this, fullName );\n
Login.c(118): \t\t\t\tif ( options === "instance" ) {\n
Login.c(118): \t\t\t\t\treturnValue = instance;\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( !instance ) {\n
Login.c(118): \t\t\t\t\treturn $.error( "cannot call methods on " + name + "
prior to initialization; "
Login.c(118): +\n
Login.c(118): \t\t\t\t\t\t"attempted to call method '" + options + "'" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( !$.isFunction( instance[options] ) ||
options.charAt( 0 ) === "_" ) {\n
Login.c(118): \t\t\t\t\treturn $.error( "no such method '" + options + "' for "
+ name + " widget instan
Login.c(118): ce" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmethodValue = instance[ options ].apply( instance,
args );\n
Login.c(118): \t\t\t\tif ( methodValue !== instance && methodValue !==
undefined ) {\n
Login.c(118): \t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n
Login.c(118): \t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n
Login.c(118): \t\t\t\t\t\tmethodValue;\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.each(function() {\n
Login.c(118): \t\t\t\tvar instance = $.data( this, fullName );\n
Login.c(118): \t\t\t\tif ( instance ) {\n
Login.c(118): \t\t\t\t\tinstance.option( options || {} );\n
Login.c(118): \t\t\t\t\tif ( instance._init ) {\n
Login.c(118): \t\t\t\t\t\tinstance._init();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.data( this, fullName, new object( options,
this ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn returnValue;\n
Login.c(118): \t};\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.Widget = function( /* options, element */ ) {};\n
Login.c(118): $.Widget._childConstructors = [];\n
Login.c(118): \n
Login.c(118): $.Widget.prototype = {\n
Login.c(118): \twidgetName: "widget",\n
Login.c(118): \twidgetEventPrefix: "",\n
Login.c(118): \tdefaultElement: "<div>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tdisabled: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tcreate: null\n
Login.c(118): \t},\n
Login.c(118): \t_createWidget: function( options, element ) {\n
Login.c(118): \t\telement = $( element || this.defaultElement || this )[ 0 ];\n
Login.c(118): \t\tthis.element = $( element );\n
Login.c(118): \t\tthis.uuid = widget_uuid++;\n
Login.c(118): \t\tthis.eventNamespace = "." + this.widgetName + this.uuid;\n
Login.c(118): \t\tthis.options = $.widget.extend( {},\n
Login.c(118): \t\t\tthis.options,\n
Login.c(118): \t\t\tthis._getCreateOptions(),\n
Login.c(118): \t\t\toptions );\n
Login.c(118): \n
Login.c(118): \t\tthis.bindings = $();\n
Login.c(118): \t\tthis.hoverable = $();\n
Login.c(118): \t\tthis.focusable = $();\n
Login.c(118): \n
Login.c(118): \t\tif ( element !== this ) {\n
Login.c(118): \t\t\t$.data( element, this.widgetFullName, this );\n
Login.c(118): \t\t\tthis._on( true, this.element, {\n
Login.c(118): \t\t\t\tremove: function( event ) {\n
Login.c(118): \t\t\t\t\tif ( event.target === element ) {\n
Login.c(118): \t\t\t\t\t\tthis.destroy();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tthis.document = $( element.style ?\n
Login.c(118): \t\t\t\t// element within the document\n
Login.c(118): \t\t\t\telement.ownerDocument :\n
Login.c(118): \t\t\t\t// element is window or document\n
Login.c(118): \t\t\t\telement.document || element );\n
Login.c(118): \t\t\tthis.window = $( this.document[0].defaultView ||
this.document[0].parentWindow );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._create();\n
Login.c(118): \t\tthis._trigger( "create", null,
this._getCreateEventData() );\n
Login.c(118): \t\tthis._init();\n
Login.c(118): \t},\n
Login.c(118): \t_getCreateOptions: $.noop,\n
Login.c(118): \t_getCreateEventData: $.noop,\n
Login.c(118): \t_create: $.noop,\n
Login.c(118): \t_init: $.noop,\n
Login.c(118): \n
Login.c(118): \tdestroy: function() {\n
Login.c(118): \t\tthis._destroy();\n
Login.c(118): \t\t// we can probably remove the unbind calls in 2.0\n
Login.c(118): \t\t// all event bindings should go through this._on()\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.unbind( this.eventNamespace )\n
Login.c(118): \t\t\t.removeData( this.widgetFullName )\n
Login.c(118): \t\t\t// support: jquery <1.6.3\n
Login.c(118): \t\t\t// http://bugs.jquery.com/ticket/9413\n
Login.c(118): \t\t\t.removeData( $.camelCase( this.widgetFullName ) );\n
Login.c(118): \t\tthis.widget()\n
Login.c(118): \t\t\t.unbind( this.eventNamespace )\n
Login.c(118): \t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t.removeClass(\n
Login.c(118): \t\t\t\tthis.widgetFullName + "-disabled " +\n
Login.c(118): \t\t\t\t"ui-state-disabled" );\n
Login.c(118): \n
Login.c(118): \t\t// clean up events and states\n
Login.c(118): \t\tthis.bindings.unbind( this.eventNamespace );\n
Login.c(118): \t\tthis.hoverable.removeClass( "ui-state-hover" );\n
Login.c(118): \t\tthis.focusable.removeClass( "ui-state-focus" );\n
Login.c(118): \t},\n
Login.c(118): \t_destroy: $.noop,\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \toption: function( key, value ) {\n
Login.c(118): \t\tvar options = key,\n
Login.c(118): \t\t\tparts,\n
Login.c(118): \t\t\tcurOption,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length === 0 ) {\n
Login.c(118): \t\t\t// don't return a reference to the internal hash\n
Login.c(118): \t\t\treturn $.widget.extend( {}, this.options );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof key === "string" ) {\n
Login.c(118): \t\t\t// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___
} }\n
Login.c(118): \t\t\toptions = {};\n
Login.c(118): \t\t\tparts = key.split( "." );\n
Login.c(118): \t\t\tkey = parts.shift();\n
Login.c(118): \t\t\tif ( parts.length ) {\n
Login.c(118): \t\t\t\tcurOption = options[ key ] = $.widget.extend( {},
this.options[ key ] );\n
Login.c(118): \t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n
Login.c(118): \t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] ||
{};\n
Login.c(118): \t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tkey = parts.pop();\n
Login.c(118): \t\t\t\tif ( arguments.length === 1 ) {\n
Login.c(118): \t\t\t\t\treturn curOption[ key ] === undefined ? null :
curOption[ key ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcurOption[ key ] = value;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( arguments.length === 1 ) {\n
Login.c(118): \t\t\t\t\treturn this.options[ key ] === undefined ? null :
this.options[ key ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\toptions[ key ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._setOptions( options );\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\tvar key;\n
Login.c(118): \n
Login.c(118): \t\tfor ( key in options ) {\n
Login.c(118): \t\t\tthis._setOption( key, options[ key ] );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis.options[ key ] = value;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget()\n
Login.c(118): \t\t\t\t.toggleClass( this.widgetFullName + "-disabled", !!
value );\n
Login.c(118): \n
Login.c(118): \t\t\t// If the widget is becoming disabled, then nothing is
interactive\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis.hoverable.removeClass( "ui-state-hover" );\n
Login.c(118): \t\t\t\tthis.focusable.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tenable: function() {\n
Login.c(118): \t\treturn this._setOptions({ disabled: false });\n
Login.c(118): \t},\n
Login.c(118): \tdisable: function() {\n
Login.c(118): \t\treturn this._setOptions({ disabled: true });\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_on: function( suppressDisabledCheck, element, handlers ) {\n
Login.c(118): \t\tvar delegateElement,\n
Login.c(118): \t\t\tinstance = this;\n
Login.c(118): \n
Login.c(118): \t\t// no suppressDisabledCheck flag, shuffle arguments\n
Login.c(118): \t\tif ( typeof suppressDisabledCheck !== "boolean" ) {\n
Login.c(118): \t\t\thandlers = element;\n
Login.c(118): \t\t\telement = suppressDisabledCheck;\n
Login.c(118): \t\t\tsuppressDisabledCheck = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// no element argument, shuffle and use this.element\n
Login.c(118): \t\tif ( !handlers ) {\n
Login.c(118): \t\t\thandlers = element;\n
Login.c(118): \t\t\telement = this.element;\n
Login.c(118): \t\t\tdelegateElement = this.widget();\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement = delegateElement = $( element );\n
Login.c(118): \t\t\tthis.bindings = this.bindings.add( element );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.each( handlers, function( event, handler ) {\n
Login.c(118): \t\t\tfunction handlerProxy() {\n
Login.c(118): \t\t\t\t// allow widgets to customize the disabled handling\n
Login.c(118): \t\t\t\t// - disabled as an array instead of boolean\n
Login.c(118): \t\t\t\t// - disabled class as method for disabling individual
parts\n
Login.c(118): \t\t\t\tif ( !suppressDisabledCheck &&\n
Login.c(118): \t\t\t\t\t\t( instance.options.disabled === true ||\n
Login.c(118): \t\t\t\t\t\t\t$( this ).hasClass( "ui-state-disabled" ) ) ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn ( typeof handler === "string" ?
instance[ handler ] : handler )\n
Login.c(118): \t\t\t\t\t.apply( instance, arguments );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// copy the guid so direct unbinding works\n
Login.c(118): \t\t\tif ( typeof handler !== "string" ) {\n
Login.c(118): \t\t\t\thandlerProxy.guid = handler.guid =\n
Login.c(118): \t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ ),\n
Login.c(118): \t\t\t\teventName = match[1] + instance.eventNamespace,\n
Login.c(118): \t\t\t\tselector = match[2];\n
Login.c(118): \t\t\tif ( selector ) {\n
Login.c(118): \t\t\t\tdelegateElement.delegate( selector, eventName,
handlerProxy );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\telement.bind( eventName, handlerProxy );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_off: function( element, eventName ) {\n
Login.c(118): \t\teventName = (eventName || "").split( "
" ).join( this.eventNamespace + " " ) + this.ev
Login.c(118): entNamespace;\n
Login.c(118): \t\telement.unbind( eventName ).undelegate( eventName );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_delay: function( handler, delay ) {\n
Login.c(118): \t\tfun
Login.c(118): t=5995ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ction handlerProxy() {\n
Login.c(118): \t\t\treturn ( typeof handler === "string" ?
instance[ handler ] : handler )\n
Login.c(118): \t\t\t\t.apply( instance, arguments );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar instance = this;\n
Login.c(118): \t\treturn setTimeout( handlerProxy, delay || 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hoverable: function( element ) {\n
Login.c(118): \t\tthis.hoverable = this.hoverable.add( element );\n
Login.c(118): \t\tthis._on( element, {\n
Login.c(118): \t\t\tmouseenter: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).addClass( "ui-state-hover" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmouseleave: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).removeClass( "ui-state-
hover" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusable: function( element ) {\n
Login.c(118): \t\tthis.focusable = this.focusable.add( element );\n
Login.c(118): \t\tthis._on( element, {\n
Login.c(118): \t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).addClass( "ui-state-focus" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tfocusout: function( event ) {\n
Login.c(118): \t\t\t\t$( event.currentTarget ).removeClass( "ui-state-
focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trigger: function( type, event, data ) {\n
Login.c(118): \t\tvar prop, orig,\n
Login.c(118): \t\t\tcallback = this.options[ type ];\n
Login.c(118): \n
Login.c(118): \t\tdata = data || {};\n
Login.c(118): \t\tevent = $.Event( event );\n
Login.c(118): \t\tevent.type = ( type === this.widgetEventPrefix ?\n
Login.c(118): \t\t\ttype :\n
Login.c(118): \t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n
Login.c(118): \t\t// the original event may come from any element\n
Login.c(118): \t\t// so we need to reset the target on the new event\n
Login.c(118): \t\tevent.target = this.element[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// copy original event properties over to the new event\n
Login.c(118): \t\torig = event.originalEvent;\n
Login.c(118): \t\tif ( orig ) {\n
Login.c(118): \t\t\tfor ( prop in orig ) {\n
Login.c(118): \t\t\t\tif ( !( prop in event ) ) {\n
Login.c(118): \t\t\t\t\tevent[ prop ] = orig[ prop ];\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.trigger( event, data );\n
Login.c(118): \t\treturn !( $.isFunction( callback ) &&\n
Login.c(118): \t\t\tcallback.apply( this.element[0], [ event ].concat( data ) )
=== false ||\n
Login.c(118): \t\t\tevent.isDefaultPrevented() );\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.each( { show: "fadeIn", hide: "fadeOut" }, function( method,
defaultEffect ) {\n
Login.c(118): \t$.Widget.prototype[ "_" + method ] = function( element,
options, callback ) {\n
Login.c(118): \t\tif ( typeof options === "string" ) {\n
Login.c(118): \t\t\toptions = { effect: options };\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar hasOptions,\n
Login.c(118): \t\t\teffectName = !options ?\n
Login.c(118): \t\t\t\tmethod :\n
Login.c(118): \t\t\t\toptions === true || typeof options === "number" ?\n
Login.c(118): \t\t\t\t\tdefaultEffect :\n
Login.c(118): \t\t\t\t\toptions.effect || defaultEffect;\n
Login.c(118): \t\toptions = options || {};\n
Login.c(118): \t\tif ( typeof options === "number" ) {\n
Login.c(118): \t\t\toptions = { duration: options };\n
Login.c(118): \t\t}\n
Login.c(118): \t\thasOptions = !$.isEmptyObject( options );\n
Login.c(118): \t\toptions.complete = callback;\n
Login.c(118): \t\tif ( options.delay ) {\n
Login.c(118): \t\t\telement.delay( options.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( hasOptions && $.effects &&
$.effects.effect[ effectName ] ) {\n
Login.c(118): \t\t\telement[ method ]( options );\n
Login.c(118): \t\t} else if ( effectName !== method && element[ effectName ] )
{\n
Login.c(118): \t\t\telement[ effectName ]( options.duration, options.easing,
callback );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement.queue(function( next ) {\n
Login.c(118): \t\t\t\t$( this )[ method ]();\n
Login.c(118): \t\t\t\tif ( callback ) {\n
Login.c(118): \t\t\t\t\tcallback.call( element[ 0 ] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tnext();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var widget = $.widget;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Mouse 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/mouse/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var mouseHandled = false;\n
Login.c(118): $( document ).mouseup( function() {\n
Login.c(118): \tmouseHandled = false;\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var mouse = $.widget("ui.mouse", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tcancel: "input,textarea,button,select,option",\n
Login.c(118): \t\tdistance: 1,\n
Login.c(118): \t\tdelay: 0\n
Login.c(118): \t},\n
Login.c(118): \t_mouseInit: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.bind("mousedown." + this.widgetName, function(event) {\n
Login.c(118): \t\t\t\treturn that._mouseDown(event);\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind("click." + this.widgetName, function(event) {\n
Login.c(118): \t\t\t\tif (true === $.data(event.target, that.widgetName +
".preventClickEvent")) {\n
Login.c(118): \t\t\t\t\t$.removeData(event.target, that.widgetName +
".preventClickEvent");\n
Login.c(118): \t\t\t\t\tevent.stopImmediatePropagation();\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.started = false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// TODO: make sure destroying one instance of mouse doesn't
mess with\n
Login.c(118): \t// other instances of mouse\n
Login.c(118): \t_mouseDestroy: function() {\n
Login.c(118): \t\tthis.element.unbind("." + this.widgetName);\n
Login.c(118): \t\tif ( this._mouseMoveDelegate ) {\n
Login.c(118): \t\t\tthis.document\n
Login.c(118): \t\t\t\t.unbind("mousemove." + this.widgetName,
this._mouseMoveDelegate)\n
Login.c(118): \t\t\t\t.unbind("mouseup." + this.widgetName,
this._mouseUpDelegate);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDown: function(event) {\n
Login.c(118): \t\t// don't let more than one widget handle mouseStart\n
Login.c(118): \t\tif ( mouseHandled ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// we may have missed mouseup (out of window)\n
Login.c(118): \t\t(this._mouseStarted && this._mouseUp(event));\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDownEvent = event;\n
Login.c(118): \n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tbtnIsLeft = (event.which === 1),\n
Login.c(118): \t\t\t// event.target.nodeName works around a bug in IE 8 with\n
Login.c(118): \t\t\t// disabled inputs (#7620)\n
Login.c(118): \t\t\telIsCancel = (typeof this.options.cancel === "string" &&
event.target.nodeName ? $(e
Login.c(118): vent.target).closest(this.options.cancel).length : false);\n
Login.c(118): \t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event))
{\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.mouseDelayMet = !this.options.delay;\n
Login.c(118): \t\tif (!this.mouseDelayMet) {\n
Login.c(118): \t\t\tthis._mouseDelayTimer = setTimeout(function() {\n
Login.c(118): \t\t\t\tthat.mouseDelayMet = true;\n
Login.c(118): \t\t\t}, this.options.delay);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseDistanceMet(event) &&
this._mouseDelayMet(event)) {\n
Login.c(118): \t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\n
Login.c(118): \t\t\tif (!this._mouseStarted) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\treturn true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Click event may never have fired (Gecko & Opera)\n
Login.c(118): \t\tif (true === $.data(event.target, this.widgetName +
".preventClickEvent")) {\n
Login.c(118): \t\t\t$.removeData(event.target, this.widgetName +
".preventClickEvent");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// these delegates are required to keep context\n
Login.c(118): \t\tthis._mouseMoveDelegate = function(event) {\n
Login.c(118): \t\t\treturn that._mouseMove(event);\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis._mouseUpDelegate = function(event) {\n
Login.c(118): \t\t\treturn that._mouseUp(event);\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.document\n
Login.c(118): \t\t\t.bind( "mousemove." + this.widgetName,
this._mouseMoveDelegate )\n
Login.c(118): \t\t\t.bind( "mouseup." + this.widgetName,
this._mouseUpDelegate );\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tmouseHandled = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseMove: function(event) {\n
Login.c(118): \t\t// IE mouseup check - mouseup happened when mouse was out of
window\n
Login.c(118): \t\tif ($.ui.ie && ( !document.documentMode ||
document.documentMode < 9 ) && !event.butto
Login.c(118): n) {\n
Login.c(118): \t\t\treturn this._mouseUp(event);\n
Login.c(118): \n
Login.c(118): \t\t// Iframe mouseup check - mouseup occurred in another
document\n
Login.c(118): \t\t} else if ( !event.which ) {\n
Login.c(118): \t\t\treturn this._mouseUp( event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseStarted) {\n
Login.c(118): \t\t\tthis._mouseDrag(event);\n
Login.c(118): \t\t\treturn event.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseDistanceMet(event) &&
this._mouseDelayMet(event)) {\n
Login.c(118): \t\t\tthis._mouseStarted =\n
Login.c(118): \t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !==
false);\n
Login.c(118): \t\t\t(this._mouseStarted ? this._mouseDrag(event) :
this._mouseUp(event));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn !this._mouseStarted;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseUp: function(event) {\n
Login.c(118): \t\tthis.document\n
Login.c(118): \t\t\t.unbind( "mousemove." + this.widgetName,
this._mouseMoveDelegate )\n
Login.c(118): \t\t\t.unbind( "mouseup." + this.widgetName,
this._mouseUpDelegate );\n
Login.c(118): \n
Login.c(118): \t\tif (this._mouseStarted) {\n
Login.c(118): \t\t\tthis._mouseStarted = false;\n
Login.c(118): \n
Login.c(118): \t\t\tif (event.target === this._mouseDownEvent.target) {\n
Login.c(118): \t\t\t\t$.data(event.target, this.widgetName +
".preventClickEvent", true);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._mouseStop(event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tmouseHandled = false;\n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDistanceMet: function(event) {\n
Login.c(118): \t\treturn (Math.max(\n
Login.c(118): \t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\n
Login.c(118): \t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\n
Login.c(118): \t\t\t) >= this.options.distance\n
Login.c(118): \t\t);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDelayMet: function(/* event */) {\n
Login.c(118): \t\treturn this.mouseDelayMet;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// These are placeholder methods, to be overriden by extending
plugin\n
Login.c(118): \t_mouseStart: function(/* event */) {},\n
Login.c(118): \t_mouseDrag: function(/* event */) {},\n
Login.c(118): \t_mouseStop: function(/* event */) {},\n
Login.c(118): \t_mouseCapture: function(/* event */) { return true; }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Position 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/position/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): $.ui = $.ui || {};\n
Login.c(118): \n
Login.c(118): var cachedScrollbarWidth, supportsOffsetFractions,\n
Login.c(118): \tmax = Math.max,\n
Login.c(118): \tabs = Math.abs,\n
Login.c(118): \tround = Math.round,\n
Login.c(118): \trhorizontal = /left|center|right/,\n
Login.c(118): \trvertical = /top|center|bottom/,\n
Login.c(118): \troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n
Login.c(118): \trposition = /^\\w+/,\n
Login.c(118): \trpercent = /%$/,\n
Login.c(118): \t_position = $.fn.position;\n
Login.c(118): \n
Login.c(118): function getOffsets( offsets, width, height ) {\n
Login.c(118): \treturn [\n
Login.c(118): \t\tparseFloat( offsets[ 0 ] ) *
( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n
Login.c(118): \t\tparseFloat( offsets[ 1 ] ) *
( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n
Login.c(118): \t];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function parseCss( element, property ) {\n
Login.c(118): \treturn parseInt( $.css( element, property ), 10 ) || 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getDimensions( elem ) {\n
Login.c(118): \tvar raw = elem[0];\n
Login.c(118): \tif ( raw.nodeType === 9 ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\toffset: { top: 0, left: 0 }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \tif ( $.isWindow( raw ) ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\toffset: { top: elem.scrollTop(), left:
elem.scrollLeft() }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \tif ( raw.preventDefault ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: 0,\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\toffset: { top: raw.pageY, left: raw.pageX }\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \treturn {\n
Login.c(118): \t\twidth: elem.outerWidth(),\n
Login.c(118): \t\theight: elem.outerHeight(),\n
Login.c(118): \t\toffset: elem.offset()\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.position = {\n
Login.c(118): \tscrollbarWidth: function() {\n
Login.c(118): \t\tif ( cachedScrollbarWidth !== undefined ) {\n
Login.c(118): \t\t\treturn cachedScrollbarWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar w1, w2,\n
Login.c(118): \t\t\tdiv = $( "<div
style='display:block;position:absolute;width:50px;height:50px;overflo
Login.c(118): w:hidden;'><div
style='height:100px;width:auto;'></div></div>" ),\n
Login.c(118): \t\t\tinnerDiv = div.children()[0];\n
Login.c(118): \n
Login.c(118): \t\t$( "body" ).append( div );\n
Login.c(118): \t\tw1 = innerDiv.offsetWidth;\n
Login.c(118): \t\tdiv.css( "overflow", "scroll" );\n
Login.c(118): \n
Login.c(118): \t\tw2 = innerDiv.offsetWidth;\n
Login.c(118): \n
Login.c(118): \t\tif ( w1 === w2 ) {\n
Login.c(118): \t\t\tw2 = div[0].clientWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdiv.remove();\n
Login.c(118): \n
Login.c(118): \t\treturn (cachedScrollbarWidth = w1 - w2);\n
Login.c(118): \t},\n
Login.c(118): \tgetScrollInfo: function( within ) {\n
Login.c(118): \t\tvar overflowX = within.isWindow || within.isDocument ? "" :\n
Login.c(118): \t\t\t\twithin.element.css( "overflow-x" ),\n
Login.c(118): \t\t\toverflowY = within.isWindow || within.isDocument ? "" :\n
Login.c(118): \t\t\t\twithin.element.css( "overflow-y" ),\n
Login.c(118): \t\t\thasOverflowX = overflowX === "scroll" ||\n
Login.c(118): \t\t\t\t( overflowX === "auto" && within.width <
within.element[0].scrollWidth ),\n
Login.c(118): \t\t\thasOverflowY = overflowY === "scroll" ||\n
Login.c(118): \t\t\t\t( overflowY === "auto" && within.height <
within.element[0].scrollHeight );\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n
Login.c(118): \t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \tgetWithinInfo: function( element ) {\n
Login.c(118): \t\tvar withinElement = $( element || window ),\n
Login.c(118): \t\t\tisWindow = $.isWindow( withinElement[0] ),\n
Login.c(118): \t\t\tisDocument = !!withinElement[ 0 ] &&
withinElement[ 0 ].nodeType === 9;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\telement: withinElement,\n
Login.c(118): \t\t\tisWindow: isWindow,\n
Login.c(118): \t\t\tisDocument: isDocument,\n
Login.c(118): \t\t\toffset: withinElement.offset() || { left: 0, top: 0 },\n
Login.c(118): \t\t\tscrollLeft: withinElement.scrollLeft(),\n
Login.c(118): \t\t\tscrollTop: withinElement.scrollTop(),\n
Login.c(118): \n
Login.c(118): \t\t\t// support: jQuery 1.6.x\n
Login.c(118): \t\t\t// jQuery 1.6 doesn't support .outerWidth/Height() on
documents or windows\n
Login.c(118): \t\t\twidth: isWindow || isDocument ? withinElement.width() :
withinElement.outerWidth(),\n
Login.c(118): \t\t\theight: isWindow || isDocument ? withinElement.height() :
withinElement.outerHeight(
Login.c(118): )\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.fn.position = function( options ) {\n
Login.c(118): \tif ( !options || !options.of ) {\n
Login.c(118): \t\treturn _position.apply( this, arguments );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// make a copy, we don't want to modify arguments\n
Login.c(118): \toptions = $.extend( {}, options );\n
Login.c(118): \n
Login.c(118): \tvar atOffset, targetWidth, targetHeight, targetOffset,
basePosition, dimensions,\n
Login.c(118): \t\ttarget = $( options.of ),\n
Login.c(118): \t\twithin = $.position.getWithinInfo( options.within ),\n
Login.c(118): \t\tscrollInfo = $.position.getScrollInfo( within ),\n
Login.c(118): \t\tcollision = ( options.collision || "flip" ).split( " " ),\n
Login.c(118): \t\toffsets = {};\n
Login.c(118): \n
Login.c(118): \tdimensions = getDimensions( target );\n
Login.c(118): \tif ( target[0].preventDefault ) {\n
Login.c(118): \t\t// force left top to allow flipping\n
Login.c(118): \t\toptions.at = "left top";\n
Login.c(118): \t}\n
Login.c(118): \ttargetWidth = dimensions.width;\n
Login.c(118): \ttargetHeight = dimensions.height;\n
Login.c(118): \ttargetOffset = dimensions.offset;\n
Login.c(118): \t// clone to reuse original targetOffset later\n
Login.c(118): \tbasePosition = $.extend( {}, targetOffset );\n
Login.c(118): \n
Login.c(118): \t// force my and at to have valid horizontal and vertical
positions\n
Login.c(118): \t// if a value is missing or invalid, it will be converted to
center\n
Login.c(118): \t$.each( [ "my", "at" ], function() {\n
Login.c(118): \t\tvar pos = ( options[ this ] || "" ).split( " " ),\n
Login.c(118): \t\t\thorizontalOffset,\n
Login.c(118): \t\t\tverticalOffset;\n
Login.c(118): \n
Login.c(118): \t\tif ( pos.length === 1) {\n
Login.c(118): \t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n
Login.c(118): \t\t\t\tpos.concat( [ "center" ] ) :\n
Login.c(118): \t\t\t\trvertical.test( pos[ 0 ] ) ?\n
Login.c(118): \t\t\t\t\t[ "center" ].concat( pos ) :\n
Login.c(118): \t\t\t\t\t[ "center", "center" ];\n
Login.c(118): \t\t}\n
Login.c(118): \t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] :
"center";\n
Login.c(118): \t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] :
"center";\n
Login.c(118): \n
Login.c(118): \t\t// calculate offsets\n
Login.c(118): \t\thorizontalOffset = roffset.exec(
Login.c(118): t=6018ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): pos[ 0 ] );\n
Login.c(118): \t\tverticalOffset = roffset.exec( pos[ 1 ] );\n
Login.c(118): \t\toffsets[ this ] = [\n
Login.c(118): \t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n
Login.c(118): \t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n
Login.c(118): \t\t];\n
Login.c(118): \n
Login.c(118): \t\t// reduce to just the positions without the offsets\n
Login.c(118): \t\toptions[ this ] = [\n
Login.c(118): \t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n
Login.c(118): \t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n
Login.c(118): \t\t];\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// normalize collision option\n
Login.c(118): \tif ( collision.length === 1 ) {\n
Login.c(118): \t\tcollision[ 1 ] = collision[ 0 ];\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( options.at[ 0 ] === "right" ) {\n
Login.c(118): \t\tbasePosition.left += targetWidth;\n
Login.c(118): \t} else if ( options.at[ 0 ] === "center" ) {\n
Login.c(118): \t\tbasePosition.left += targetWidth / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( options.at[ 1 ] === "bottom" ) {\n
Login.c(118): \t\tbasePosition.top += targetHeight;\n
Login.c(118): \t} else if ( options.at[ 1 ] === "center" ) {\n
Login.c(118): \t\tbasePosition.top += targetHeight / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tatOffset = getOffsets( offsets.at, targetWidth,
targetHeight );\n
Login.c(118): \tbasePosition.left += atOffset[ 0 ];\n
Login.c(118): \tbasePosition.top += atOffset[ 1 ];\n
Login.c(118): \n
Login.c(118): \treturn this.each(function() {\n
Login.c(118): \t\tvar collisionPosition, using,\n
Login.c(118): \t\t\telem = $( this ),\n
Login.c(118): \t\t\telemWidth = elem.outerWidth(),\n
Login.c(118): \t\t\telemHeight = elem.outerHeight(),\n
Login.c(118): \t\t\tmarginLeft = parseCss( this, "marginLeft" ),\n
Login.c(118): \t\t\tmarginTop = parseCss( this, "marginTop" ),\n
Login.c(118): \t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this,
"marginRight" ) + scrollIn
Login.c(118): fo.width,\n
Login.c(118): \t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this,
"marginBottom" ) + scroll
Login.c(118): Info.height,\n
Login.c(118): \t\t\tposition = $.extend( {}, basePosition ),\n
Login.c(118): \t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(),
elem.outerHeight() );\n
Login.c(118): \n
Login.c(118): \t\tif ( options.my[ 0 ] === "right" ) {\n
Login.c(118): \t\t\tposition.left -= elemWidth;\n
Login.c(118): \t\t} else if ( options.my[ 0 ] === "center" ) {\n
Login.c(118): \t\t\tposition.left -= elemWidth / 2;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( options.my[ 1 ] === "bottom" ) {\n
Login.c(118): \t\t\tposition.top -= elemHeight;\n
Login.c(118): \t\t} else if ( options.my[ 1 ] === "center" ) {\n
Login.c(118): \t\t\tposition.top -= elemHeight / 2;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tposition.left += myOffset[ 0 ];\n
Login.c(118): \t\tposition.top += myOffset[ 1 ];\n
Login.c(118): \n
Login.c(118): \t\t// if the browser doesn't support fractions, then round for
consistent results\n
Login.c(118): \t\tif ( !supportsOffsetFractions ) {\n
Login.c(118): \t\t\tposition.left = round( position.left );\n
Login.c(118): \t\t\tposition.top = round( position.top );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tcollisionPosition = {\n
Login.c(118): \t\t\tmarginLeft: marginLeft,\n
Login.c(118): \t\t\tmarginTop: marginTop\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "left", "top" ], function( i, dir ) {\n
Login.c(118): \t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n
Login.c(118): \t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n
Login.c(118): \t\t\t\t\ttargetWidth: targetWidth,\n
Login.c(118): \t\t\t\t\ttargetHeight: targetHeight,\n
Login.c(118): \t\t\t\t\telemWidth: elemWidth,\n
Login.c(118): \t\t\t\t\telemHeight: elemHeight,\n
Login.c(118): \t\t\t\t\tcollisionPosition: collisionPosition,\n
Login.c(118): \t\t\t\t\tcollisionWidth: collisionWidth,\n
Login.c(118): \t\t\t\t\tcollisionHeight: collisionHeight,\n
Login.c(118): \t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ]
+ myOffset[ 1 ] ],\n
Login.c(118): \t\t\t\t\tmy: options.my,\n
Login.c(118): \t\t\t\t\tat: options.at,\n
Login.c(118): \t\t\t\t\twithin: within,\n
Login.c(118): \t\t\t\t\telem: elem\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( options.using ) {\n
Login.c(118): \t\t\t// adds feedback as second argument to using callback, if
present\n
Login.c(118): \t\t\tusing = function( props ) {\n
Login.c(118): \t\t\t\tvar left = targetOffset.left - position.left,\n
Login.c(118): \t\t\t\t\tright = left + targetWidth - elemWidth,\n
Login.c(118): \t\t\t\t\ttop = targetOffset.top - position.top,\n
Login.c(118): \t\t\t\t\tbottom = top + targetHeight - elemHeight,\n
Login.c(118): \t\t\t\t\tfeedback = {\n
Login.c(118): \t\t\t\t\t\ttarget: {\n
Login.c(118): \t\t\t\t\t\t\telement: target,\n
Login.c(118): \t\t\t\t\t\t\tleft: targetOffset.left,\n
Login.c(118): \t\t\t\t\t\t\ttop: targetOffset.top,\n
Login.c(118): \t\t\t\t\t\t\twidth: targetWidth,\n
Login.c(118): \t\t\t\t\t\t\theight: targetHeight\n
Login.c(118): \t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\telement: {\n
Login.c(118): \t\t\t\t\t\t\telement: elem,\n
Login.c(118): \t\t\t\t\t\t\tleft: position.left,\n
Login.c(118): \t\t\t\t\t\t\ttop: position.top,\n
Login.c(118): \t\t\t\t\t\t\twidth: elemWidth,\n
Login.c(118): \t\t\t\t\t\t\theight: elemHeight\n
Login.c(118): \t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\thorizontal: right < 0 ? "left" : left > 0 ? "right" :
"center",\n
Login.c(118): \t\t\t\t\t\tvertical: bottom < 0 ? "top" : top > 0 ? "bottom" :
"middle"\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) <
targetWidth ) {\n
Login.c(118): \t\t\t\t\tfeedback.horizontal = "center";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) <
targetHeight ) {\n
Login.c(118): \t\t\t\t\tfeedback.vertical = "middle";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ),
abs( bottom ) ) ) {\n
Login.c(118): \t\t\t\t\tfeedback.important = "horizontal";\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tfeedback.important = "vertical";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\toptions.using.call( this, props, feedback );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telem.offset( $.extend( position, { using: using } ) );\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.ui.position = {\n
Login.c(118): \tfit: {\n
Login.c(118): \t\tleft: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.isWindow ? within.scrollLeft :
within.offset.left,\n
Login.c(118): \t\t\t\touterWidth = within.width,\n
Login.c(118): \t\t\t\tcollisionPosLeft = position.left -
data.collisionPosition.marginLeft,\n
Login.c(118): \t\t\t\toverLeft = withinOffset - collisionPosLeft,\n
Login.c(118): \t\t\t\toverRight = collisionPosLeft + data.collisionWidth -
outerWidth - withinOffset,\n
Login.c(118): \t\t\t\tnewOverRight;\n
Login.c(118): \n
Login.c(118): \t\t\t// element is wider than within\n
Login.c(118): \t\t\tif ( data.collisionWidth > outerWidth ) {\n
Login.c(118): \t\t\t\t// element is initially over the left side of within\n
Login.c(118): \t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n
Login.c(118): \t\t\t\t\tnewOverRight = position.left + overLeft +
data.collisionWidth - outerWidth - wit
Login.c(118): hinOffset;\n
Login.c(118): \t\t\t\t\tposition.left += overLeft - newOverRight;\n
Login.c(118): \t\t\t\t// element is initially over right side of within\n
Login.c(118): \t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n
Login.c(118): \t\t\t\t\tposition.left = withinOffset;\n
Login.c(118): \t\t\t\t// element is initially over both left and right sides of
within\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tif ( overLeft > overRight ) {\n
Login.c(118): \t\t\t\t\t\tposition.left = withinOffset + outerWidth -
data.collisionWidth;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tposition.left = withinOffset;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// too far left -> align with left edge\n
Login.c(118): \t\t\t} else if ( overLeft > 0 ) {\n
Login.c(118): \t\t\t\tposition.left += overLeft;\n
Login.c(118): \t\t\t// too far right -> align with right edge\n
Login.c(118): \t\t\t} else if ( overRight > 0 ) {\n
Login.c(118): \t\t\t\tposition.left -= overRight;\n
Login.c(118): \t\t\t// adjust based on position and margin\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tposition.left = max( position.left - collisionPosLeft,
position.left );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.isWindow ? within.scrollTop :
within.offset.top,\n
Login.c(118): \t\t\t\touterHeight = data.within.height,\n
Login.c(118): \t\t\t\tcollisionPosTop = position.top -
data.collisionPosition.marginTop,\n
Login.c(118): \t\t\t\toverTop = withinOffset - collisionPosTop,\n
Login.c(118): \t\t\t\toverBottom = collisionPosTop + data.collisionHeight -
outerHeight - withinOffset,\n
Login.c(118): \t\t\t\tnewOverBottom;\n
Login.c(118): \n
Login.c(118): \t\t\t// element is taller than within\n
Login.c(118): \t\t\tif ( data.collisionHeight > outerHeight ) {\n
Login.c(118): \t\t\t\t// element is initially over the top of within\n
Login.c(118): \t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n
Login.c(118): \t\t\t\t\tnewOverBottom = position.top + overTop +
data.collisionHeight - outerHeight - wi
Login.c(118): thinOffset;\n
Login.c(118): \t\t\t\t\tposition.top += overTop - newOverBottom;\n
Login.c(118): \t\t\t\t// element is initially over bottom of within\n
Login.c(118): \t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n
Login.c(118): \t\t\t\t\tposition.top = withinOffset;\n
Login.c(118): \t\t\t\t// element is initially over both top and bottom of
within\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tif ( overTop > overBottom ) {\n
Login.c(118): \t\t\t\t\t\tposition.top = withinOffset + outerHeight -
data.collisionHeight;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tposition.top = withinOffset;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// too far up -> align with top\n
Login.c(118): \t\t\t} else if ( overTop > 0 ) {\n
Login.c(118): \t\t\t\tposition.top += overTop;\n
Login.c(118): \t\t\t// too far down -> align with bottom edge\n
Login.c(118): \t\t\t} else if ( overBottom > 0 ) {\n
Login.c(118): \t\t\t\tposition.top -= overBottom;\n
Login.c(118): \t\t\t// adjust based on position and margin\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tposition.top = max( position.top - collisionPosTop,
position.top );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tflip: {\n
Login.c(118): \t\tleft: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n
Login.c(118): \t\t\t\touterWidth = within.width,\n
Login.c(118): \t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft :
within.offset.left,\n
Login.c(118): \t\t\t\tcollisionPosLeft = position.left -
data.collisionPosition.marginLeft,\n
Login.c(118): \t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n
Login.c(118): \t\t\t\toverRight = collisionPosLeft + data.collisionWidth -
outerWidth - offsetLeft,\n
Login.c(118): \t\t\t\tmyOffset = data.my[ 0 ] === "left" ?\n
Login.c(118): \t\t\t\t\t-data.elemWidth :\n
Login.c(118): \t\t\t\t\tdata.my[ 0 ] === "right" ?\n
Login.c(118): \t\t\t\t\t\tdata.elemWidth :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\tatOffset = data.at[ 0 ] === "left" ?\n
Login.c(118): \t\t\t\t\tdata.targetWidth :\n
Login.c(118): \t\t\t\t\tdata.at[ 0 ] === "right" ?\n
Login.c(118): \t\t\t\t\t\t-data.targetWidth :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\toffset = -2 * data.offset[ 0 ],\n
Login.c(118): \t\t\t\tnewOverRight,\n
Login.c(118): \t\t\t\tnewOverLeft;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( overLeft < 0 ) {\n
Login.c(118): \t\t\t\tnewOverRight = position.left + myOffset + atOffset +
offset + data.collisionWidth
Login.c(118): - outerWidth - withinOffset;\n
Login.c(118): \t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) )
{\n
Login.c(118): \t\t\t\t\tposition.left += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else if ( overRight > 0 ) {\n
Login.c(118): \t\t\t\tnewOverLeft = position.left -
data.collisionPosition.marginLeft + myOffset + atOff
Login.c(118): set + offset - offsetLeft;\n
Login.c(118): \t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight )
{\n
Login.c(118): \t\t\t\t\tposition.left += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function( position, data ) {\n
Login.c(118): \t\t\tvar within = data.within,\n
Login.c(118): \t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n
Login.c(118): \t\t\t\touterHeight = within.height,\n
Login.c(118): \t\t\t\toffsetTop = within.isWindow ? within.scrollTop :
within.offset.top,\n
Login.c(118): \t\t\t\tcollisionPosTop = position.top -
data.collisionPosition.marginTop,\n
Login.c(118): \t\t\t\toverTop = collisionPosTop - offsetTop,\n
Login.c(118): \t\t\t\toverBottom = collisionPosTop + data.collisionHeight -
outerHeight - offsetTop,\n
Login.c(118): \t\t\t\ttop = data.my[ 1 ] === "top",\n
Login.c(118): \t\t\t\tmyOffset = top ?\n
Login.c(118): \t\t\t\t\t-data.elemHeight :\n
Login.c(118): \t\t\t\t\tdata.my[ 1 ] === "bottom" ?\n
Login.c(118): \t\t\t\t\t\tdata.elemHeight :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\tatOffset = data.at[ 1 ] === "top" ?\n
Login.c(118): \t\t\t\t\tdata.targetHeight :\n
Login.c(118): \t\t\t\t\tdata.at[ 1 ] === "bottom" ?\n
Login.c(118): \t\t\t\t\t\t-data.targetHeight :\n
Login.c(118): \t\t\t\t\t\t0,\n
Login.c(118): \t\t\t\toffset = -2 * data.offset[ 1 ],\n
Login.c(118): \t\t\t\tnewOverTop,\n
Login.c(118): \t\t\t\tnewOverBottom;\n
Login.c(118): \t\t\tif ( overTop < 0 ) {\n
Login.c(118): \t\t\t\tnewOverBottom = position.top + myOffset + atOffset +
offset + data.collisionHeight
Login.c(118): - outerHeight - withinOffset;\n
Login.c(118): \t\t\t\tif ( ( position.top + myOffset + atOffset + offset) >
overTop && ( newOverBottom <
Login.c(118): 0 || newOverBottom < abs( overTop ) ) ) {\n
Login.c(118): \t\t\t\t\tposition.top += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else if ( overBottom > 0 ) {\n
Login.c(118): \t\t\t\tnewOverTop = position.top -
data.collisionPosition.marginTop + myOffset + atOffset
Login.c(118): + offset - offsetTop;\n
Login.c(118): \t\t\t\tif ( ( position.top + myOffset + atOffset + offset) >
overBottom && ( newOverTop >
Login.c(118): 0 || abs( newOverTop ) < overBottom ) ) {\n
Login.c(118): \t\t\t\t\tposition.top += myOffset + atOffset + offset;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tflipfit: {\n
Login.c(118): \t\tleft: function() {\n
Login.c(118): \t\t\t$.ui.position.flip.left.apply( this, arguments );\n
Login.c(118): \t\t\t$.ui.position.fit.left.apply( this, arguments );\n
Login.c(118): \t\t},\n
Login.c(118): \t\ttop: function() {\n
Login.c(118): \t\t\t$.ui.position.flip.top.apply( this, arguments );\n
Login.c(118): \t\t\t$.ui.position.fit.top.apply( this, arguments );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // fraction support test\n
Login.c(118): (function() {\n
Login.c(118): \tvar testElement, testElementParent, testElementStyle,
offsetLeft, i,\n
Login.c(118): \t\tbody = document.getElementsByTagName( "body" )[ 0 ],\n
Login.c(118): \t\tdiv = document.createElement( "div" );\n
Login.c(118): \n
Login.c(118): \t//Create a "fake body" for testing based on method used in
jQuery.support\n
Login.c(118): \ttestElement = document.createElement( body ? "div" :
"body" );\n
Login.c(118): \ttestElementStyle = {\n
Login.c(118): \t\tvisibility: "hidden",\n
Login.c(118): \t\twidth: 0,\n
Login.c(118): \t\theight: 0,\n
Login.c(118): \t\tborder: 0,\n
Login.c(118): \t\tmargin: 0,\n
Login.c(118): \t\tbackground: "none"\n
Login.c(118): \t};\n
Login.c(118): \tif ( body ) {\n
Login.c(118): \t\t$.extend( testElementStyle, {\n
Login.c(118): \t\t\tposition: "absolute",\n
Login.c(118): \t\t\tleft: "-1000px",\n
Login.c(118): \t\t\ttop: "-1000px"\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \tfor ( i in testElementStyle ) {\n
Login.c(118): \t\ttestElement.style[ i ] = testElementStyle[ i ];\n
Login.c(118): \t}\n
Login.c(118): \ttestElement.appendChild( div );\n
Login.c(118): \ttestElementParent = body || document.documentElement;\n
Login.c(118): \ttestElementParent.insertBefore( testElement,
testElementParent.firstChild );\n
Login.c(118): \n
Login.c(118): \tdiv.style.cssText = "position: absolute; left:
10.7432222px;";\n
Login.c(118): \n
Login.c(118): \toffsetLeft = $( div ).offset().left;\n
Login.c(118): \tsupportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;\n
Login.c(118): \n
Login.c(118): \ttestElement.innerHTML = "";\n
Login.c(118): \ttestElementParent.removeChild( testElement );\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): var position = $.ui.position;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Accordion 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/accordion/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var accordion = $.widget( "ui.accordion", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tactive: 0,\n
Login.c(118): \t\tanimate: {},\n
Login.c(118): \t\tcollapsible: false,\n
Login.c(118): \t\tevent: "click",\n
Login.c(118): \t\theader: "> li > :first-child,> :not(li):even",\n
Login.c(118): \t\theightStyle: "auto",\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tactiveHeader: "ui-icon-triangle-1-s",\n
Login.c(118): \t\t\theader: "ui-icon-triangle-1-e"\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeActivate: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \thideProps: {\n
Login.c(118): \t\tborderTopWidth: "hide",\n
Login.c(118): \t\tborderBottomWidth: "hide",\n
Login.c(118): \t\tpaddingTop: "hide",\n
Login.c(118): \t\tpaddingBottom: "hide",\n
Login.c(118): \t\theight: "hide"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tshowProps: {\n
Login.c(118): \t\tborderTopWidth: "show",\n
Login.c(118): \t\tborderBottomWidth: "show",\n
Login.c(118): \t\tpaddingTop: "show",\n
Login.c(118): \t\tpaddingBottom: "show",\n
Login.c(118): \t\theight: "show"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\tthis.prevShow = this.prevHide = $();\n
Login.c(118): \t\tthis.element.addClass( "ui-accordion ui-widget ui-helper-
reset" )\n
Login.c(118): \t\t\t// ARIA\n
Login.c(118): \t\t\t.attr( "role", "tablist" );\n
Login.c(118): \n
Login.c(118): \t\t// don't allow collapsible: false and active: false / nu
Login.c(118): t=6038ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ll\n
Login.c(118): \t\tif ( !options.collapsible && (options.active === false ||
options.active == null) ) {\n
Login.c(118): \t\t\toptions.active = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._processPanels();\n
Login.c(118): \t\t// handle negative values\n
Login.c(118): \t\tif ( options.active < 0 ) {\n
Login.c(118): \t\t\toptions.active += this.headers.length;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateEventData: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\theader: this.active,\n
Login.c(118): \t\t\tpanel: !this.active.length ? $() : this.active.next()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createIcons: function() {\n
Login.c(118): \t\tvar icons = this.options.icons;\n
Login.c(118): \t\tif ( icons ) {\n
Login.c(118): \t\t\t$( "<span>" )\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-header-icon ui-icon " +
icons.header )\n
Login.c(118): \t\t\t\t.prependTo( this.headers );\n
Login.c(118): \t\t\tthis.active.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.removeClass( icons.header )\n
Login.c(118): \t\t\t\t.addClass( icons.activeHeader );\n
Login.c(118): \t\t\tthis.headers.addClass( "ui-accordion-icons" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroyIcons: function() {\n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-icons" )\n
Login.c(118): \t\t\t.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar contents;\n
Login.c(118): \n
Login.c(118): \t\t// clean up main element\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-accordion ui-widget ui-helper-reset" )\n
Login.c(118): \t\t\t.removeAttr( "role" );\n
Login.c(118): \n
Login.c(118): \t\t// clean up headers\n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-header ui-accordion-header-
active ui-state-default " +\n
Login.c(118): \t\t\t\t"ui-corner-all ui-state-active ui-state-disabled ui-
corner-top" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t.removeAttr( "aria-selected" )\n
Login.c(118): \t\t\t.removeAttr( "aria-controls" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyIcons();\n
Login.c(118): \n
Login.c(118): \t\t// clean up content panels\n
Login.c(118): \t\tcontents = this.headers.next()\n
Login.c(118): \t\t\t.removeClass( "ui-helper-reset ui-widget-content ui-corner-
bottom " +\n
Login.c(118): \t\t\t\t"ui-accordion-content ui-accordion-content-active ui-
state-disabled" )\n
Login.c(118): \t\t\t.css( "display", "" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.heightStyle !== "content" ) {\n
Login.c(118): \t\t\tcontents.css( "height", "" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "active" ) {\n
Login.c(118): \t\t\t// _activate() will handle invalid values and update
this.options\n
Login.c(118): \t\t\tthis._activate( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "event" ) {\n
Login.c(118): \t\t\tif ( this.options.event ) {\n
Login.c(118): \t\t\t\tthis._off( this.headers, this.options.event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._setupEvents( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\t// setting collapsible: false while collapsed; open first
panel\n
Login.c(118): \t\tif ( key === "collapsible" && !value && this.options.active
=== false ) {\n
Login.c(118): \t\t\tthis._activate( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis._destroyIcons();\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis._createIcons();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// #5332 - opacity doesn't cascade to positioned elements in
IE\n
Login.c(118): \t\t// so we need to add the disabled class to the headers and
panels\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t\tthis.headers.add( this.headers.next() )\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tif ( event.altKey || event.ctrlKey ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar keyCode = $.ui.keyCode,\n
Login.c(118): \t\t\tlength = this.headers.length,\n
Login.c(118): \t\t\tcurrentIndex = this.headers.index( event.target ),\n
Login.c(118): \t\t\ttoFocus = false;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\tcase keyCode.RIGHT:\n
Login.c(118): \t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) %
length ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.LEFT:\n
Login.c(118): \t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) %
length ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.SPACE:\n
Login.c(118): \t\t\tcase keyCode.ENTER:\n
Login.c(118): \t\t\t\tthis._eventHandler( event );\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.HOME:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ 0 ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase keyCode.END:\n
Login.c(118): \t\t\t\ttoFocus = this.headers[ length - 1 ];\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( toFocus ) {\n
Login.c(118): \t\t\t$( event.target ).attr( "tabIndex", -1 );\n
Login.c(118): \t\t\t$( toFocus ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t\ttoFocus.focus();\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_panelKeyDown: function( event ) {\n
Login.c(118): \t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n
Login.c(118): \t\t\t$( event.currentTarget ).prev().focus();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\tthis._processPanels();\n
Login.c(118): \n
Login.c(118): \t\t// was collapsed or no panel\n
Login.c(118): \t\tif ( ( options.active === false && options.collapsible ===
true ) || !this.headers.len
Login.c(118): gth ) {\n
Login.c(118): \t\t\toptions.active = false;\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t// active false only when collapsible is true\n
Login.c(118): \t\t} else if ( options.active === false ) {\n
Login.c(118): \t\t\tthis._activate( 0 );\n
Login.c(118): \t\t// was active, but active panel is gone\n
Login.c(118): \t\t} else if ( this.active.length && !
$.contains( this.element[ 0 ], this.active[ 0 ] ) )
Login.c(118): {\n
Login.c(118): \t\t\t// all remaining panel are disabled\n
Login.c(118): \t\t\tif ( this.headers.length === this.headers.find(".ui-state-
disabled").length ) {\n
Login.c(118): \t\t\t\toptions.active = false;\n
Login.c(118): \t\t\t\tthis.active = $();\n
Login.c(118): \t\t\t// activate previous panel\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t// was active, active panel still exists\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// make sure active index is correct\n
Login.c(118): \t\t\toptions.active = this.headers.index( this.active );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyIcons();\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_processPanels: function() {\n
Login.c(118): \t\tthis.headers = this.element.find( this.options.header )\n
Login.c(118): \t\t\t.addClass( "ui-accordion-header ui-state-default ui-corner-
all" );\n
Login.c(118): \n
Login.c(118): \t\tthis.headers.next()\n
Login.c(118): \t\t\t.addClass( "ui-accordion-content ui-helper-reset ui-widget-
content ui-corner-bottom"
Login.c(118): )\n
Login.c(118): \t\t\t.filter( ":not(.ui-accordion-content-active)" )\n
Login.c(118): \t\t\t.hide();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tvar maxHeight,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\theightStyle = options.heightStyle,\n
Login.c(118): \t\t\tparent = this.element.parent();\n
Login.c(118): \n
Login.c(118): \t\tthis.active = this._findActive( options.active )\n
Login.c(118): \t\t\t.addClass( "ui-accordion-header-active ui-state-active ui-
corner-top" )\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \t\tthis.active.next()\n
Login.c(118): \t\t\t.addClass( "ui-accordion-content-active" )\n
Login.c(118): \t\t\t.show();\n
Login.c(118): \n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.attr( "role", "tab" )\n
Login.c(118): \t\t\t.each(function() {\n
Login.c(118): \t\t\t\tvar header = $( this ),\n
Login.c(118): \t\t\t\t\theaderId = header.uniqueId().attr( "id" ),\n
Login.c(118): \t\t\t\t\tpanel = header.next(),\n
Login.c(118): \t\t\t\t\tpanelId = panel.uniqueId().attr( "id" );\n
Login.c(118): \t\t\t\theader.attr( "aria-controls", panelId );\n
Login.c(118): \t\t\t\tpanel.attr( "aria-labelledby", headerId );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr( "role", "tabpanel" );\n
Login.c(118): \n
Login.c(118): \t\tthis.headers\n
Login.c(118): \t\t\t.not( this.active )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.hide();\n
Login.c(118): \n
Login.c(118): \t\t// make sure at least one header is in the tab order\n
Login.c(118): \t\tif ( !this.active.length ) {\n
Login.c(118): \t\t\tthis.headers.eq( 0 ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active.attr({\n
Login.c(118): \t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.next()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "false"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._createIcons();\n
Login.c(118): \n
Login.c(118): \t\tthis._setupEvents( options.event );\n
Login.c(118): \n
Login.c(118): \t\tif ( heightStyle === "fill" ) {\n
Login.c(118): \t\t\tmaxHeight = parent.height();\n
Login.c(118): \t\t\tthis.element.siblings( ":visible" ).each(function() {\n
Login.c(118): \t\t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "fixed" )
{\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmaxHeight -= elem.outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.headers.each(function() {\n
Login.c(118): \t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.headers.next()\n
Login.c(118): \t\t\t\t.each(function() {\n
Login.c(118): \t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n
Login.c(118): \t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.css( "overflow", "auto" );\n
Login.c(118): \t\t} else if ( heightStyle === "auto" ) {\n
Login.c(118): \t\t\tmaxHeight = 0;\n
Login.c(118): \t\t\tthis.headers.next()\n
Login.c(118): \t\t\t\t.each(function() {\n
Login.c(118): \t\t\t\t\tmaxHeight = Math.max( maxHeight, $
( this ).css( "height", "" ).height() );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.height( maxHeight );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( index ) {\n
Login.c(118): \t\tvar active = this._findActive( index )[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// trying to activate the already active panel\n
Login.c(118): \t\tif ( active === this.active[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// trying to collapse, simulate a click on the currently
active header\n
Login.c(118): \t\tactive = active || this.active[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tthis._eventHandler({\n
Login.c(118): \t\t\ttarget: active,\n
Login.c(118): \t\t\tcurrentTarget: active,\n
Login.c(118): \t\t\tpreventDefault: $.noop\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findActive: function( selector ) {\n
Login.c(118): \t\treturn typeof selector === "number" ?
this.headers.eq( selector ) : $();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function( event ) {\n
Login.c(118): \t\tvar events = {\n
Login.c(118): \t\t\tkeydown: "_keydown"\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( event ) {\n
Login.c(118): \t\t\t$.each( event.split( " " ), function( index, eventName )
{\n
Login.c(118): \t\t\t\tevents[ eventName ] = "_eventHandler";\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._off( this.headers.add( this.headers.next() ) );\n
Login.c(118): \t\tthis._on( this.headers, events );\n
Login.c(118): \t\tthis._on( this.headers.next(), { keydown:
"_panelKeyDown" });\n
Login.c(118): \t\tthis._hoverable( this.headers );\n
Login.c(118): \t\tthis._focusable( this.headers );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_eventHandler: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tactive = this.active,\n
Login.c(118): \t\t\tclicked = $( event.currentTarget ),\n
Login.c(118): \t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n
Login.c(118): \t\t\tcollapsing = clickedIsActive && options.collapsible,\n
Login.c(118): \t\t\ttoShow = collapsing ? $() : clicked.next(),\n
Login.c(118): \t\t\ttoHide = active.next(),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\toldHeader: active,\n
Login.c(118): \t\t\t\toldPanel: toHide,\n
Login.c(118): \t\t\t\tnewHeader: collapsing ? $() : clicked,\n
Login.c(118): \t\t\t\tnewPanel: toShow\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tif (\n
Login.c(118): \t\t\t\t// click on active header, but not collapsible\n
Login.c(118): \t\t\t\t( clickedIsActive && !options.collapsible ) ||\n
Login.c(118): \t\t\t\t// allow canceling activation\n
Login.c(118): \t\t\t\t( this._trigger( "beforeActivate", event, eventData ) ===
false ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\toptions.active = collapsing ? false :
this.headers.index( clicked );\n
Login.c(118): \n
Login.c(118): \t\t// when the call to ._toggle() comes after the class
changes\n
Login.c(118): \t\t// it causes a very odd bug in IE 8 (see #6720)\n
Login.c(118): \t\tthis.active = clickedIsActive ? $() : clicked;\n
Login.c(118): \t\tthis._toggle( eventData );\n
Login.c(118): \n
Login.c(118): \t\t// switch classes\n
Login.c(118): \t\t// corner classes on the previously active header stay after
the animation\n
Login.c(118): \t\tactive.removeClass( "ui-accordion-header-active ui-state-
active" );\n
Login.c(118): \t\tif ( options.icons ) {\n
Login.c(118): \t\t\tactive.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t.removeClass( options.icons.activeHeader )\n
Login.c(118): \t\t\t\t.addClass( options.icons.header );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !clickedIsActive ) {\n
Login.c(118): \t\t\tclicked\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-all" )\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-header-active ui-state-active
ui-corner-top" );\n
Login.c(118): \t\t\tif ( options.icons ) {\n
Login.c(118): \t\t\t\tclicked.children( ".ui-accordion-header-icon" )\n
Login.c(118): \t\t\t\t\t.removeClass( options.icons.header )\n
Login.c(118): \t\t\t\t\t.addClass( options.icons.activeHeader );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tclicked\n
Login.c(118): \t\t\t\t.next()\n
Login.c(118): \t\t\t\t.addClass( "ui-accordion-content-active" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggle: function( data ) {\n
Login.c(118): \t\tvar toShow = data.newPanel,\n
Login.c(118): \t\t\ttoHide = this.prevShow.length ? this.prevShow :
data.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\t// handle activating a panel during the animation for another
activation\n
Login.c(118): \t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n
Login.c(118): \t\tthis.prevShow = toShow;\n
Login.c(118): \t\tthis.prevHide = toHide;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.animate ) {\n
Login.c(118): \t\t\tthis._animate( toShow, toHide, data );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ttoHide.hide();\n
Login.c(118): \t\t\ttoShow.show();\n
Login.c(118): \t\t\tthis._toggleComplete( data );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoHide.attr({\n
Login.c(118): \t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t});\n
Login.c(118): \t\ttoHide.prev().attr( "aria-selected", "false" );\n
Login.c(118): \t\t// if we're switching panels, remove the old header from the
tab order\n
Login.c(118): \t\t// if we're opening from collapsed state, remove the previous
header from the tab orde
Login.c(118): r\n
Login.c(118): \t\t// if we're collapsing, then keep the collapsing header in
the tab order\n
Login.c(118): \t\tif ( toShow.length && toHide.length ) {\n
Login.c(118): \t\t\ttoHide.prev().attr({\n
Login.c(118): \t\t\t\t"tabIndex": -1,\n
Login.c(118): \t\t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( toShow.length ) {\n
Login.c(118): \t\t\tthis.headers.filter(function() {\n
Login.c(118): \t\t\t\treturn $( this ).attr( "tabIndex" ) === 0;\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoShow\n
Login.c(118): \t\t\t.attr( "aria-hidden", "false" )\n
Login.c(118): \t\t\t.prev()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t\ttabIndex: 0,\n
Login.c(118): \t\t\t\t\t"aria-expanded": "true"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_animate: function( toShow, toHide, data ) {\n
Login.c(118): \t\tvar total, easing, duration,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\tadjust = 0,\n
Login.c(118): \t\t\tdown = toShow.length &&\n
Login.c(118): \t\t\t\t( !toHide.length || ( toShow.index() <
toHide.index() ) ),\n
Login.c(118): \t\t\tanimate = this.options.animate || {},\n
Login.c(118): \t\t\toptions = down && animate.down || animate,\n
Login.c(118): \t\t\tcomplete = function() {\n
Login.c(118): \t\t\t\tthat._toggleComplete( data );\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof options === "number" ) {\n
Login.c(118): \t\t\tduration = options;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( typeof options === "string" ) {\n
Login.c(118): \t\t\teasing = options;\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// fall back from options to animation in case of partial
down settings\n
Login.c(118): \t\teasing = easing || options.easing || animate.easing;\n
Login.c(118): \t\tduration = duration || options.duration ||
animate.duration;\n
Login.c(118): \n
Login.c(118): \t\tif ( !toHide.length ) {\n
Login.c(118): \t\t\treturn toShow.animate( this.showProps, duration, easing,
complete );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !toShow.length ) {\n
Login.c(118): \t\t\treturn toHide.animate( this.hideProps, duration, easing,
complete );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttotal = toShow.show().outerHeight();\n
Login.c(118): \t\ttoH
Login.c(118): t=6061ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ide.animate( this.hideProps, {\n
Login.c(118): \t\t\tduration: duration,\n
Login.c(118): \t\t\teasing: easing,\n
Login.c(118): \t\t\tstep: function( now, fx ) {\n
Login.c(118): \t\t\t\tfx.now = Math.round( now );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\ttoShow\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.animate( this.showProps, {\n
Login.c(118): \t\t\t\tduration: duration,\n
Login.c(118): \t\t\t\teasing: easing,\n
Login.c(118): \t\t\t\tcomplete: complete,\n
Login.c(118): \t\t\t\tstep: function( now, fx ) {\n
Login.c(118): \t\t\t\t\tfx.now = Math.round( now );\n
Login.c(118): \t\t\t\t\tif ( fx.prop !== "height" ) {\n
Login.c(118): \t\t\t\t\t\tadjust += fx.now;\n
Login.c(118): \t\t\t\t\t} else if ( that.options.heightStyle !== "content" )
{\n
Login.c(118): \t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() -
adjust );\n
Login.c(118): \t\t\t\t\t\tadjust = 0;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggleComplete: function( data ) {\n
Login.c(118): \t\tvar toHide = data.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\ttoHide\n
Login.c(118): \t\t\t.removeClass( "ui-accordion-content-active" )\n
Login.c(118): \t\t\t.prev()\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-top" )\n
Login.c(118): \t\t\t\t.addClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// Work around for rendering bug in IE (#5421)\n
Login.c(118): \t\tif ( toHide.length ) {\n
Login.c(118): \t\t\ttoHide.parent()[ 0 ].className = toHide.parent()
[ 0 ].className;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "activate", null, data );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Menu 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/menu/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var menu = $.widget( "ui.menu", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<ul>",\n
Login.c(118): \tdelay: 300,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tsubmenu: "ui-icon-carat-1-e"\n
Login.c(118): \t\t},\n
Login.c(118): \t\titems: "> *",\n
Login.c(118): \t\tmenus: "ul",\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left-1 top",\n
Login.c(118): \t\t\tat: "right top"\n
Login.c(118): \t\t},\n
Login.c(118): \t\trole: "menu",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tblur: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.activeMenu = this.element;\n
Login.c(118): \n
Login.c(118): \t\t// Flag used to prevent firing of the click handler\n
Login.c(118): \t\t// as the event bubbles up through nested menus\n
Login.c(118): \t\tthis.mouseHandled = false;\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.addClass( "ui-menu ui-widget ui-widget-content" )\n
Login.c(118): \t\t\t.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-
icon" ).length )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: this.options.role,\n
Login.c(118): \t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.addClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", "true" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\t// Prevent focus from sticking to links inside menu after
clicking\n
Login.c(118): \t\t\t// them (focus should always stay on UL during
navigation).\n
Login.c(118): \t\t\t"mousedown .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t"click .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tvar target = $( event.target );\n
Login.c(118): \t\t\t\tif ( !this.mouseHandled && target.not( ".ui-state-
disabled" ).length ) {\n
Login.c(118): \t\t\t\t\tthis.select( event );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Only set the mouseHandled flag if the event will
bubble, see #9469.\n
Login.c(118): \t\t\t\t\tif ( !event.isPropagationStopped() ) {\n
Login.c(118): \t\t\t\t\t\tthis.mouseHandled = true;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Open submenu on click\n
Login.c(118): \t\t\t\t\tif ( target.has( ".ui-menu" ).length ) {\n
Login.c(118): \t\t\t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t\t\t} else if ( !this.element.is( ":focus" ) && $
( this.document[ 0 ].activeElement
Login.c(118): ).closest( ".ui-menu" ).length ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// Redirect focus to the menu\n
Login.c(118): \t\t\t\t\t\tthis.element.trigger( "focus", [ true ] );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// If the active item is on the top level, let it
stay active.\n
Login.c(118): \t\t\t\t\t\t// Otherwise, blur the active item since it is no
longer visible.\n
Login.c(118): \t\t\t\t\t\tif ( this.active && this.active.parents( ".ui-
menu" ).length === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tclearTimeout( this.timer );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t"mouseenter .ui-menu-item": function( event ) {\n
Login.c(118): \t\t\t\tvar target = $( event.currentTarget );\n
Login.c(118): \t\t\t\t// Remove ui-state-active class from siblings of the
newly focused menu item\n
Login.c(118): \t\t\t\t// to avoid a jump caused by adjacent elements both
having a class with a border\n
Login.c(118): \t\t\t\ttarget.siblings( ".ui-state-active" ).removeClass( "ui-
state-active" );\n
Login.c(118): \t\t\t\tthis.focus( event, target );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmouseleave: "collapseAll",\n
Login.c(118): \t\t\t"mouseleave .ui-menu": "collapseAll",\n
Login.c(118): \t\t\tfocus: function( event, keepActiveItem ) {\n
Login.c(118): \t\t\t\t// If there's already an active item, keep it active\n
Login.c(118): \t\t\t\t// If not, activate the first item\n
Login.c(118): \t\t\t\tvar item = this.active ||
this.element.find( this.options.items ).eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( !keepActiveItem ) {\n
Login.c(118): \t\t\t\t\tthis.focus( event, item );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function( event ) {\n
Login.c(118): \t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\tif ( !$.contains( this.element[0],
this.document[0].activeElement ) ) {\n
Login.c(118): \t\t\t\t\t\tthis.collapseAll( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tkeydown: "_keydown"\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\t// Clicks outside of a menu collapse any open menus\n
Login.c(118): \t\tthis._on( this.document, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tif ( this._closeOnDocumentClick( event ) ) {\n
Login.c(118): \t\t\t\t\tthis.collapseAll( event );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Reset the mouseHandled flag\n
Login.c(118): \t\t\t\tthis.mouseHandled = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\t// Destroy (sub)menus\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeAttr( "aria-activedescendant" )\n
Login.c(118): \t\t\t.find( ".ui-menu" ).addBack()\n
Login.c(118): \t\t\t\t.removeClass( "ui-menu ui-widget ui-widget-content ui-
menu-icons ui-front" )\n
Login.c(118): \t\t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t\t.show();\n
Login.c(118): \n
Login.c(118): \t\t// Destroy menu items\n
Login.c(118): \t\tthis.element.find( ".ui-menu-item" )\n
Login.c(118): \t\t\t.removeClass( "ui-menu-item" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-disabled" )\n
Login.c(118): \t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t.removeClass( "ui-state-hover" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-haspopup" )\n
Login.c(118): \t\t\t.children().each( function() {\n
Login.c(118): \t\t\t\tvar elem = $( this );\n
Login.c(118): \t\t\t\tif ( elem.data( "ui-menu-submenu-carat" ) ) {\n
Login.c(118): \t\t\t\t\telem.remove();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Destroy menu dividers\n
Login.c(118): \t\tthis.element.find( ".ui-menu-divider" ).removeClass( "ui-
menu-divider ui-widget-conten
Login.c(118): t" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tvar match, prev, character, skip, regex,\n
Login.c(118): \t\t\tpreventDefault = true;\n
Login.c(118): \n
Login.c(118): \t\tfunction escape( value ) {\n
Login.c(118): \t\t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,
"\\\\$&" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\tthis.previousPage( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\tthis.nextPage( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\tthis._move( "first", "first", event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\tthis._move( "last", "last", event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\tthis.previous( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\tthis.collapse( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\tif ( this.active && !this.active.is( ".ui-state-disabled" )
) {\n
Login.c(118): \t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\tthis._activate( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tcase $.ui.keyCode.ESCAPE:\n
Login.c(118): \t\t\tthis.collapse( event );\n
Login.c(118): \t\t\tbreak;\n
Login.c(118): \t\tdefault:\n
Login.c(118): \t\t\tpreventDefault = false;\n
Login.c(118): \t\t\tprev = this.previousFilter || "";\n
Login.c(118): \t\t\tcharacter = String.fromCharCode( event.keyCode );\n
Login.c(118): \t\t\tskip = false;\n
Login.c(118): \n
Login.c(118): \t\t\tclearTimeout( this.filterTimer );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( character === prev ) {\n
Login.c(118): \t\t\t\tskip = true;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tcharacter = prev + character;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tregex = new RegExp( "^" + escape( character ), "i" );\n
Login.c(118): \t\t\tmatch =
this.activeMenu.find( this.options.items ).filter(function() {\n
Login.c(118): \t\t\t\treturn regex.test( $( this ).text() );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tmatch = skip && match.index( this.active.next() ) !==
-1 ?\n
Login.c(118): \t\t\t\tthis.active.nextAll( ".ui-menu-item" ) :\n
Login.c(118): \t\t\t\tmatch;\n
Login.c(118): \n
Login.c(118): \t\t\t// If no matches on the current filter, reset to the last
character pressed\n
Login.c(118): \t\t\t// to move down the menu to the first item that starts with
that character\n
Login.c(118): \t\t\tif ( !match.length ) {\n
Login.c(118): \t\t\t\tcharacter = String.fromCharCode( event.keyCode );\n
Login.c(118): \t\t\t\tregex = new RegExp( "^" + escape( character ), "i" );\n
Login.c(118): \t\t\t\tmatch =
this.activeMenu.find( this.options.items ).filter(function() {\n
Login.c(118): \t\t\t\t\treturn regex.test( $( this ).text() );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( match.length ) {\n
Login.c(118): \t\t\t\tthis.focus( event, match );\n
Login.c(118): \t\t\t\tif ( match.length > 1 ) {\n
Login.c(118): \t\t\t\t\tthis.previousFilter = character;\n
Login.c(118): \t\t\t\t\tthis.filterTimer = this._delay(function() {\n
Login.c(118): \t\t\t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t\t\t}, 1000 );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdelete this.previousFilter;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( preventDefault ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( event ) {\n
Login.c(118): \t\tif ( !this.active.is( ".ui-state-disabled" ) ) {\n
Login.c(118): \t\t\tif ( this.active.is( "[aria-haspopup='true']" ) ) {\n
Login.c(118): \t\t\t\tthis.expand( event );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.select( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar menus, items,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\ticon = this.options.icons.submenu,\n
Login.c(118): \t\t\tsubmenus = this.element.find( this.options.menus );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.toggleClass( "ui-menu-icons", !!
this.element.find( ".ui-icon" ).length );
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t// Initialize nested menus\n
Login.c(118): \t\tsubmenus.filter( ":not(.ui-menu)" )\n
Login.c(118): \t\t\t.addClass( "ui-menu ui-widget ui-widget-content ui-
front" )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: this.options.role,\n
Login.c(118): \t\t\t\t"aria-hidden": "true",\n
Login.c(118): \t\t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.each(function() {\n
Login.c(118): \t\t\t\tvar menu = $( this ),\n
Login.c(118): \t\t\t\t\titem = menu.parent(),\n
Login.c(118): \t\t\t\t\tsubmenuCarat = $( "<span>" )\n
Login.c(118): \t\t\t\t\t\t.addClass( "ui-menu-icon ui-icon " + icon )\n
Login.c(118): \t\t\t\t\t\t.data( "ui-menu-submenu-carat", true );\n
Login.c(118): \n
Login.c(118): \t\t\t\titem\n
Login.c(118): \t\t\t\t\t.attr( "aria-haspopup", "true" )\n
Login.c(118): \t\t\t\t\t.prepend( submenuCarat );\n
Login.c(118): \t\t\t\tmenu.attr( "aria-labelledby", item.attr( "id" ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tmenus = submenus.add( this.element );\n
Login.c(118): \t\titems = menus.find( this.options.items );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize menu-items containing spaces and/or dashes only
as dividers\n
Login.c(118): \t\titems.not( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\tvar item = $( this );\n
Login.c(118): \t\t\tif ( that._isDivider( item ) ) {\n
Login.c(118): \t\t\t\titem.addClass( "ui-widget-content ui-menu-divider" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Don't refresh list items that are already adapted\n
Login.c(118): \t\titems.not( ".ui-menu-item, .ui-menu-divider" )\n
Login.c(118): \t\t\t.addClass( "ui-menu-item" )\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\ttabIndex: -1,\n
Login.c(118): \t\t\t\trole: this._itemRole()\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Add aria-disabled attribute to any disabled menu item\n
Login.c(118): \t\titems.filter( ".ui-state-disabled" ).attr( "aria-disabled",
"true" );\n
Login.c(118): \n
Login.c(118): \t\t// If the active item has been removed, blur the menu\n
Login.c(118): \t\tif ( this.active && !$.contains( this.element[ 0 ],
this.active[ 0 ] ) ) {\n
Login.c(118): \t\t\tthis.blur();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_itemRole: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tmenu: "menuitem",\n
Login.c(118): \t\t\tlistbox: "option"\n
Login.c(118): \t\t}[ this.options.role ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.element.find( ".ui-menu-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.submenu )\n
Login.c(118): \t\t\t\t.addClass( value.submenu );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tfocus: function( event, item ) {\n
Login.c(118): \t\tvar nested, focused;\n
Login.c(118): \t\tthis.blur( event, event && event.type === "focus" );\n
Login.c(118): \n
Login.c(118): \t\tthis._scrollIntoView( item );\n
Login.c(118): \n
Login.c(118): \t\tthis.active = item.first();\n
Login.c(118): \t\tfocused = this.active.addClass( "ui-state-
focus" ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t// Only update aria-activedescendant if there's a role\n
Login.c(118): \t\t// otherwise we assume focus is managed elsewhere\n
Login.c(118): \t\tif ( this.options.role ) {\n
Login.c(118): \t\t\tthis.element.attr( "aria-activedescendant",
focused.attr( "id" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Highlight active parent menu item, if any\n
Login.c(118): \t\tthis.active\n
Login.c(118): \t\t\t.parent()\n
Login.c(118): \t\t\t.closest( ".ui-menu-item" )\n
Login.c(118): \t\t\t.addClass( "ui-state-active" );\n
Login.c(118): \n
Login.c(118): \t\tif ( event && event.type === "keydown" ) {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\t\tthis._close();\n
Login.c(118): \t\t\t}, this.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnested = item.children( ".ui-menu" );\n
Login.c(118): \t\tif ( nested.length && event && (
/^mouse/.test( event.type ) ) ) {\n
Login.c(118): \t\t\tthis._startOpening(nested);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.activeMenu = item.parent();\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "focus", event, { item: item } );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_scrollIntoView: function( item ) {\n
Login.c(118): \t\tvar borderTop, paddingTop, offset, scroll, elementHeight,
itemHeight;\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tborderTop = parseFloat( $.css( this.activeMenu[0],
"borderTopWidth" ) ) || 0;\n
Login.c(118): \t\t\tpaddingTop = parseFloat( $.css( this.activeMenu[0],
"paddingTop" ) ) || 0;\n
Login.c(118): \t\t\toffset = item.offset().top - this.activeMenu.offset().top -
borderTop - paddingTop;\n
Login.c(118): \t\t\tscroll = this.activeMenu.scrollTop();\n
Login.c(118): \t\t\telementHeight = this.activeMenu.height();\n
Login.c(118): \t\t\titemHeight = item.outerHeight();\n
Login.c(118): \n
Login.c(118): \t\t\tif ( offset < 0 ) {\n
Login.c(118): \t\t\t\tthis.activeMenu.scrollTop( scroll + offset );\n
Login.c(118): \t\t\t} else if ( offset + itemHeight > elementHeight ) {\n
Login.c(118): \t\t\t\tthis.activeMenu.scrollTop( scroll + offset -
elementHeight + itemHeight );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tblur: function( event, fromFocus ) {\n
Login.c(118): \t\tif ( !fromFocus ) {\n
Login.c(118): \t\t\tclearTimeout( this.timer );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.active.removeClass( "ui-state-focus" );\n
Login.c(118): \t\tthis.active = null;\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "blur", event, { item: this.active } );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_startOpe
Login.c(118): t=6083ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ning: function( submenu ) {\n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \n
Login.c(118): \t\t// Don't open if already open fixes a Firefox bug that caused
a .5 pixel\n
Login.c(118): \t\t// shift in the submenu position when mousing over the carat
icon\n
Login.c(118): \t\tif ( submenu.attr( "aria-hidden" ) !== "true" ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t\tthis._open( submenu );\n
Login.c(118): \t\t}, this.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_open: function( submenu ) {\n
Login.c(118): \t\tvar position = $.extend({\n
Login.c(118): \t\t\tof: this.active\n
Login.c(118): \t\t}, this.options.position );\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.element.find( ".ui-menu" ).not( submenu.parents( ".ui-
menu" ) )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr( "aria-hidden", "true" );\n
Login.c(118): \n
Login.c(118): \t\tsubmenu\n
Login.c(118): \t\t\t.show()\n
Login.c(118): \t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t.attr( "aria-expanded", "true" )\n
Login.c(118): \t\t\t.position( position );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcollapseAll: function( event, all ) {\n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\t// If we were passed an event, look for the submenu that
contains the event\n
Login.c(118): \t\t\tvar currentMenu = all ? this.element :\n
Login.c(118): \t\t\t\t$( event &&
event.target ).closest( this.element.find( ".ui-menu" ) );\n
Login.c(118): \n
Login.c(118): \t\t\t// If we found no valid submenu ancestor, use the main menu
to close all sub menus a
Login.c(118): nyway\n
Login.c(118): \t\t\tif ( !currentMenu.length ) {\n
Login.c(118): \t\t\t\tcurrentMenu = this.element;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._close( currentMenu );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.blur( event );\n
Login.c(118): \t\t\tthis.activeMenu = currentMenu;\n
Login.c(118): \t\t}, this.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// With no arguments, closes the currently active menu - if
nothing is active\n
Login.c(118): \t// it closes all menus. If passed an argument, it will search
for menus BELOW\n
Login.c(118): \t_close: function( startMenu ) {\n
Login.c(118): \t\tif ( !startMenu ) {\n
Login.c(118): \t\t\tstartMenu = this.active ? this.active.parent() :
this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tstartMenu\n
Login.c(118): \t\t\t.find( ".ui-menu" )\n
Login.c(118): \t\t\t\t.hide()\n
Login.c(118): \t\t\t\t.attr( "aria-hidden", "true" )\n
Login.c(118): \t\t\t\t.attr( "aria-expanded", "false" )\n
Login.c(118): \t\t\t.end()\n
Login.c(118): \t\t\t.find( ".ui-state-active" ).not( ".ui-state-focus" )\n
Login.c(118): \t\t\t\t.removeClass( "ui-state-active" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_closeOnDocumentClick: function( event ) {\n
Login.c(118): \t\treturn !$( event.target ).closest( ".ui-menu" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isDivider: function( item ) {\n
Login.c(118): \n
Login.c(118): \t\t// Match hyphen, em dash, en dash\n
Login.c(118): \t\treturn !/[^\\-\\u2014\\u2013\\s]/.test( item.text() );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcollapse: function( event ) {\n
Login.c(118): \t\tvar newItem = this.active &&\n
Login.c(118): \t\t\tthis.active.parent().closest( ".ui-menu-item", this.element
);\n
Login.c(118): \t\tif ( newItem && newItem.length ) {\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t\tthis.focus( event, newItem );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \texpand: function( event ) {\n
Login.c(118): \t\tvar newItem = this.active &&\n
Login.c(118): \t\t\tthis.active\n
Login.c(118): \t\t\t\t.children( ".ui-menu " )\n
Login.c(118): \t\t\t\t.find( this.options.items )\n
Login.c(118): \t\t\t\t.first();\n
Login.c(118): \n
Login.c(118): \t\tif ( newItem && newItem.length ) {\n
Login.c(118): \t\t\tthis._open( newItem.parent() );\n
Login.c(118): \n
Login.c(118): \t\t\t// Delay so Firefox will not hide activedescendant change
in expanding submenu from
Login.c(118): AT\n
Login.c(118): \t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\tthis.focus( event, newItem );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tnext: function( event ) {\n
Login.c(118): \t\tthis._move( "next", "first", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tprevious: function( event ) {\n
Login.c(118): \t\tthis._move( "prev", "last", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisFirstItem: function() {\n
Login.c(118): \t\treturn this.active && !this.active.prevAll( ".ui-menu-
item" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisLastItem: function() {\n
Login.c(118): \t\treturn this.active && !this.active.nextAll( ".ui-menu-
item" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, filter, event ) {\n
Login.c(118): \t\tvar next;\n
Login.c(118): \t\tif ( this.active ) {\n
Login.c(118): \t\t\tif ( direction === "first" || direction === "last" ) {\n
Login.c(118): \t\t\t\tnext = this.active\n
Login.c(118): \t\t\t\t\t[ direction === "first" ? "prevAll" : "nextAll" ]
( ".ui-menu-item" )\n
Login.c(118): \t\t\t\t\t.eq( -1 );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnext = this.active\n
Login.c(118): \t\t\t\t\t[ direction + "All" ]( ".ui-menu-item" )\n
Login.c(118): \t\t\t\t\t.eq( 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !next || !next.length || !this.active ) {\n
Login.c(118): \t\t\tnext = this.activeMenu.find( this.options.items )[ filter ]
();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.focus( event, next );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tnextPage: function( event ) {\n
Login.c(118): \t\tvar item, base, height;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.isLastItem() ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tbase = this.active.offset().top;\n
Login.c(118): \t\t\theight = this.element.height();\n
Login.c(118): \t\t\tthis.active.nextAll( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\t\titem = $( this );\n
Login.c(118): \t\t\t\treturn item.offset().top - base - height < 0;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.focus( event, item );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.focus( event, this.activeMenu.find( this.options.items
)\n
Login.c(118): \t\t\t\t[ !this.active ? "first" : "last" ]() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tpreviousPage: function( event ) {\n
Login.c(118): \t\tvar item, base, height;\n
Login.c(118): \t\tif ( !this.active ) {\n
Login.c(118): \t\t\tthis.next( event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.isFirstItem() ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this._hasScroll() ) {\n
Login.c(118): \t\t\tbase = this.active.offset().top;\n
Login.c(118): \t\t\theight = this.element.height();\n
Login.c(118): \t\t\tthis.active.prevAll( ".ui-menu-item" ).each(function() {\n
Login.c(118): \t\t\t\titem = $( this );\n
Login.c(118): \t\t\t\treturn item.offset().top - base + height > 0;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.focus( event, item );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.focus( event, this.activeMenu.find( this.options.items
).first() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hasScroll: function() {\n
Login.c(118): \t\treturn this.element.outerHeight() <
this.element.prop( "scrollHeight" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tselect: function( event ) {\n
Login.c(118): \t\t// TODO: It should never be possible to not have an active
item at this\n
Login.c(118): \t\t// point, but the tests don't trigger mouseenter before
click.\n
Login.c(118): \t\tthis.active = this.active || $( event.target ).closest( ".ui-
menu-item" );\n
Login.c(118): \t\tvar ui = { item: this.active };\n
Login.c(118): \t\tif ( !this.active.has( ".ui-menu" ).length ) {\n
Login.c(118): \t\t\tthis.collapseAll( event, true );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "select", event, ui );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Autocomplete 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/autocomplete/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget( "ui.autocomplete", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<input>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: null,\n
Login.c(118): \t\tautoFocus: false,\n
Login.c(118): \t\tdelay: 300,\n
Login.c(118): \t\tminLength: 1,\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "none"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tsource: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tresponse: null,\n
Login.c(118): \t\tsearch: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trequestIndex: 0,\n
Login.c(118): \tpending: 0,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// Some browsers only repeat keydown events, not keypress
events,\n
Login.c(118): \t\t// so we use the suppressKeyPress flag to determine if we've
already\n
Login.c(118): \t\t// handled the keydown event. #7269\n
Login.c(118): \t\t// Unfortunately the code for & in keypress is the same as
the up arrow,\n
Login.c(118): \t\t// so we use the suppressKeyPressRepeat flag to avoid
handling keypress\n
Login.c(118): \t\t// events when we know the keydown event was used to modify
the\n
Login.c(118): \t\t// search term. #7799\n
Login.c(118): \t\tvar suppressKeyPress, suppressKeyPressRepeat,
suppressInput,\n
Login.c(118): \t\t\tnodeName = this.element[ 0 ].nodeName.toLowerCase(),\n
Login.c(118): \t\t\tisTextarea = nodeName === "textarea",\n
Login.c(118): \t\t\tisInput = nodeName === "input";\n
Login.c(118): \n
Login.c(118): \t\tthis.isMultiLine =\n
Login.c(118): \t\t\t// Textareas are always multi-line\n
Login.c(118): \t\t\tisTextarea ? true :\n
Login.c(118): \t\t\t// Inputs are always single-line, even if inside a
contentEditable element\n
Login.c(118): \t\t\t// IE also treats inputs as contentEditable\n
Login.c(118): \t\t\tisInput ? false :\n
Login.c(118): \t\t\t// All other element types are determined by whether or not
they're contentEditable\n
Login.c(118): \t\t\tthis.element.prop( "isContentEditable" );\n
Login.c(118): \n
Login.c(118): \t\tthis.valueMethod = this.element[ isTextarea || isInput ?
"val" : "text" ];\n
Login.c(118): \t\tthis.isNewMenu = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-autocomplete-input" )\n
Login.c(118): \t\t\t.attr( "autocomplete", "off" );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.element, {\n
Login.c(118): \t\t\tkeydown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.element.prop( "readOnly" ) ) {\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tsuppressInput = true;\n
Login.c(118): \t\t\t\t\tsuppressKeyPressRepeat = true;\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tsuppressKeyPress = false;\n
Login.c(118): \t\t\t\tsuppressInput = false;\n
Login.c(118): \t\t\t\tsuppressKeyPressRepeat = false;\n
Login.c(118): \t\t\t\tvar keyCode = $.ui.keyCode;\n
Login.c(118): \t\t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._move( "previousPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._move( "nextPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "previous", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.ENTER:\n
Login.c(118): \t\t\t\t\t// when menu is open and has focus\n
Login.c(118): \t\t\t\t\tif ( this.menu.active ) {\n
Login.c(118): \t\t\t\t\t\t// #6055 - Opera still allows the keypress to occur\n
Login.c(118): \t\t\t\t\t\t// which causes forms to submit\n
Login.c(118): \t\t\t\t\t\tsuppressKeyPress = true;\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t\tthis.menu.select( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.TAB:\n
Login.c(118): \t\t\t\t\tif ( this.menu.active ) {\n
Login.c(118): \t\t\t\t\t\tthis.menu.select( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.ESCAPE:\n
Login.c(118): \t\t\t\t\tif ( this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\t\tif ( !this.isMultiLine ) {\n
Login.c(118): \t\t\t\t\t\t\tthis._value( this.term );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\t\t// Different browsers have different default behavior
for escape\n
Login.c(118): \t\t\t\t\t\t// Single press can mean undo or clear\n
Login.c(118): \t\t\t\t\t\t// Double press in IE means clear the whole form\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\tsuppressKeyPressRepeat = true;\n
Login.c(118): \t\t\t\t\t// search timeout should be triggered before the input
value is changed\n
Login.c(118): \t\t\t\t\tthis._searchTimeout( event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tkeypress: function( event ) {\n
Login.c(118): \t\t\t\tif ( suppressKeyPress ) {\n
Login.c(118): \t\t\t\t\tsuppressKeyPress = false;\n
Login.c(118): \t\t\t\t\tif ( !this.isMultiLine ||
this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( suppressKeyPressRepeat ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// replicate some key handlers to allow them to repeat in
Firefox and Opera\n
Login.c(118): \t\t\t\tvar keyCode = $.ui.keyCode;\n
Login.c(118): \t\t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tthis._move( "previousPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tthis._move( "nextPage", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.UP:\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "previous", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tthis._keyEvent( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tinput: function( event ) {\n
Login.c(118): \t\t\t\tif ( suppressInput ) {\n
Login.c(118): \t\t\t\t\tsuppressInput = false;\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._searchTimeout( event );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tfocus: function() {\n
Login.c(118): \t\t\t\tthis.selectedItem = null;\n
Login.c(118): \t\t\t\tthis.previous = this._value();\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.cancelBlur ) {\n
Login.c(118): \t\t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tclearTimeout( this.searching );\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\tthis._change( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis._initSource();\n
Login.c(118): \t\tthis.menu = $( "<ul>" )\n
Login.c(118): \t\t\t.addClass( "ui-autocomplete ui-front" )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() )\n
Login.c(118): \t\t\t.menu({\n
Login.c(118): \t\t\t\t// disable ARIA support, the live region takes care of
that\n
Login.c(118): \t\t\t\trole: null\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.menu( "instance" );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.menu.element, {\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\t// prevent moving focus out of the text field\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\t\t\t// IE doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t\t\t// so we set a flag to know when we should ignore the
blur event\n
Login.c(118): \t\t\t\tthis.cancelBlur = true;\n
Login.c(118): \t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t// clicking on the scrollbar causes focus to shift to the
body\n
Login.c(118): \t\t\t\t// but we can't detect a mouseup or a click immediately
afterward\n
Login.c(118): \t\t\t\t// so we have to track the next mousedown and close the
menu if\n
Login.c(118): \t\t\t\t// the user clicks somewhere outside of the
autocomplete\n
Login.c(118): \t\t\t\tvar menuElement = this.menu.element[ 0 ];\n
Login.c(118): \t\t\t\tif ( !$( event.target ).closest( ".ui-menu-item" ).length
) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tvar that = this;\n
Login.c(118): \t\t\t\t\t\tthis.document.one( "mousedown", function( event ) {\n
Login.c(118): \t\t\t\t\t\t\tif ( event.target !== that.element[ 0 ] &&\n
Login.c(118): \t\t\t\t\t\t\t\t\tevent.target !== menuElement &&\n
Login.c(118): \t\t\t\t\t\t\t\t\t!$.contains( menuElement, event.target ) ) {\n
Login.c(118): \t\t\t\t\t\t\t\tthat.close();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmenufocus: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar label, item;\n
Login.c(118): \t\t\t\t// support: Firefox\n
Login.c(118): \t\t\t\t// Prevent accidental activation of menu items in Firefox
(#7024 #9118)\n
Login.c(118): \t\t\t\tif ( this.isNewMenu ) {\n
Login.c(118): \t\t\t\t\tthis.isNewMenu = false;\n
Login.c(118): \t\t\t\t\tif ( event.originalEvent &&
/^mouse/.test( event.originalEvent.type ) ) {\n
Login.c(118): \t\t\t\t\t\tthis.menu.blur();\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tthis.document.one( "mousemove", function() {\n
Login.c(118): \t\t\t\t\t\t\t$( event.target ).trigger( event.originalEvent );\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\titem = ui.item.data( "ui-autocomplete-item" );\n
Login.c(118): \t\t\t\tif ( false !== this._trigger( "focus", event, { item:
item } ) ) {\n
Login.c(118): \t\t\t\t\t// use value to match what will end up in the input, if
it was a key event\n
Login.c(118): \t\t\t\t\tif ( event.originalEvent &&
/^key/.test( event.originalEvent.type ) ) {\n
Login.c(118): \t\t\t\t\t\tthis._value( item.value );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Announce the value in the liveRegion\n
Login.c(118): \t\t\t\tlabel = ui.item.attr( "aria-label" ) || item.value;\n
Login.c(118): \t\t\t\tif ( label && $.trim( l
Login.c(118): t=6106ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): abel ).length ) {\n
Login.c(118): \t\t\t\t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\t\t\t\t$
( "<div>" ).text( label ).appendTo( this.liveRegion );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmenuselect: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar item = ui.item.data( "ui-autocomplete-item" ),\n
Login.c(118): \t\t\t\t\tprevious = this.previous;\n
Login.c(118): \n
Login.c(118): \t\t\t\t// only trigger when focus was lost (click on menu)\n
Login.c(118): \t\t\t\tif ( this.element[ 0 ] !==
this.document[ 0 ].activeElement ) {\n
Login.c(118): \t\t\t\t\tthis.element.focus();\n
Login.c(118): \t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t// #6109 - IE triggers two focus events and the
second\n
Login.c(118): \t\t\t\t\t// is asynchronous, so we need to reset the previous\n
Login.c(118): \t\t\t\t\t// term synchronously and asynchronously :-(\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t\tthis.selectedItem = item;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( false !== this._trigger( "select", event, { item:
item } ) ) {\n
Login.c(118): \t\t\t\t\tthis._value( item.value );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t// reset the term after the select event\n
Login.c(118): \t\t\t\t// this allows custom select handling to work properly\n
Login.c(118): \t\t\t\tthis.term = this._value();\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\tthis.selectedItem = item;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.liveRegion = $( "<span>", {\n
Login.c(118): \t\t\t\trole: "status",\n
Login.c(118): \t\t\t\t"aria-live": "assertive",\n
Login.c(118): \t\t\t\t"aria-relevant": "additions"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-helper-hidden-accessible" )\n
Login.c(118): \t\t\t.appendTo( this.document[ 0 ].body );\n
Login.c(118): \n
Login.c(118): \t\t// turning off autocomplete prevents the browser from
remembering the\n
Login.c(118): \t\t// value when navigating through history, so we re-enable
autocomplete\n
Login.c(118): \t\t// if the page is unloaded before the widget is destroyed.
#7790\n
Login.c(118): \t\tthis._on( this.window, {\n
Login.c(118): \t\t\tbeforeunload: function() {\n
Login.c(118): \t\t\t\tthis.element.removeAttr( "autocomplete" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tclearTimeout( this.searching );\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-autocomplete-input" )\n
Login.c(118): \t\t\t.removeAttr( "autocomplete" );\n
Login.c(118): \t\tthis.menu.element.remove();\n
Login.c(118): \t\tthis.liveRegion.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "source" ) {\n
Login.c(118): \t\t\tthis._initSource();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.menu.element.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" && value && this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \n
Login.c(118): \t\tif ( element ) {\n
Login.c(118): \t\t\telement = element.jquery || element.nodeType ?\n
Login.c(118): \t\t\t\t$( element ) :\n
Login.c(118): \t\t\t\tthis.document.find( element ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element || !element[ 0 ] ) {\n
Login.c(118): \t\t\telement = this.element.closest( ".ui-front" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element.length ) {\n
Login.c(118): \t\t\telement = this.document[ 0 ].body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_initSource: function() {\n
Login.c(118): \t\tvar array, url,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \t\tif ( $.isArray( this.options.source ) ) {\n
Login.c(118): \t\t\tarray = this.options.source;\n
Login.c(118): \t\t\tthis.source = function( request, response ) {\n
Login.c(118): \t\t\t\tresponse( $.ui.autocomplete.filter( array, request.term )
);\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else if ( typeof this.options.source === "string" ) {\n
Login.c(118): \t\t\turl = this.options.source;\n
Login.c(118): \t\t\tthis.source = function( request, response ) {\n
Login.c(118): \t\t\t\tif ( that.xhr ) {\n
Login.c(118): \t\t\t\t\tthat.xhr.abort();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthat.xhr = $.ajax({\n
Login.c(118): \t\t\t\t\turl: url,\n
Login.c(118): \t\t\t\t\tdata: request,\n
Login.c(118): \t\t\t\t\tdataType: "json",\n
Login.c(118): \t\t\t\t\tsuccess: function( data ) {\n
Login.c(118): \t\t\t\t\t\tresponse( data );\n
Login.c(118): \t\t\t\t\t},\n
Login.c(118): \t\t\t\t\terror: function() {\n
Login.c(118): \t\t\t\t\t\tresponse([]);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.source = this.options.source;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_searchTimeout: function( event ) {\n
Login.c(118): \t\tclearTimeout( this.searching );\n
Login.c(118): \t\tthis.searching = this._delay(function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// Search if the value has changed, or if the user retypes
the same value (see #7434
Login.c(118): )\n
Login.c(118): \t\t\tvar equalValues = this.term === this._value(),\n
Login.c(118): \t\t\t\tmenuVisible = this.menu.element.is( ":visible" ),\n
Login.c(118): \t\t\t\tmodifierKey = event.altKey || event.ctrlKey ||
event.metaKey || event.shiftKey;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !equalValues || ( equalValues && !menuVisible && !
modifierKey ) ) {\n
Login.c(118): \t\t\t\tthis.selectedItem = null;\n
Login.c(118): \t\t\t\tthis.search( null, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, this.options.delay );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsearch: function( value, event ) {\n
Login.c(118): \t\tvalue = value != null ? value : this._value();\n
Login.c(118): \n
Login.c(118): \t\t// always save the actual value, not the one passed as an
argument\n
Login.c(118): \t\tthis.term = this._value();\n
Login.c(118): \n
Login.c(118): \t\tif ( value.length < this.options.minLength ) {\n
Login.c(118): \t\t\treturn this.close( event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this._trigger( "search", event ) === false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this._search( value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_search: function( value ) {\n
Login.c(118): \t\tthis.pending++;\n
Login.c(118): \t\tthis.element.addClass( "ui-autocomplete-loading" );\n
Login.c(118): \t\tthis.cancelSearch = false;\n
Login.c(118): \n
Login.c(118): \t\tthis.source( { term: value }, this._response() );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_response: function() {\n
Login.c(118): \t\tvar index = ++this.requestIndex;\n
Login.c(118): \n
Login.c(118): \t\treturn $.proxy(function( content ) {\n
Login.c(118): \t\t\tif ( index === this.requestIndex ) {\n
Login.c(118): \t\t\t\tthis.__response( content );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.pending--;\n
Login.c(118): \t\t\tif ( !this.pending ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( "ui-autocomplete-loading" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t__response: function( content ) {\n
Login.c(118): \t\tif ( content ) {\n
Login.c(118): \t\t\tcontent = this._normalize( content );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._trigger( "response", null, { content: content } );\n
Login.c(118): \t\tif ( !this.options.disabled && content && content.length && !
this.cancelSearch ) {\n
Login.c(118): \t\t\tthis._suggest( content );\n
Login.c(118): \t\t\tthis._trigger( "open" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// use ._close() instead of .close() so we don't cancel
future searches\n
Login.c(118): \t\t\tthis._close();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tthis.cancelSearch = true;\n
Login.c(118): \t\tthis._close( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_close: function( event ) {\n
Login.c(118): \t\tif ( this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis.menu.element.hide();\n
Login.c(118): \t\t\tthis.menu.blur();\n
Login.c(118): \t\t\tthis.isNewMenu = true;\n
Login.c(118): \t\t\tthis._trigger( "close", event );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: function( event ) {\n
Login.c(118): \t\tif ( this.previous !== this._value() ) {\n
Login.c(118): \t\t\tthis._trigger( "change", event, { item: this.selectedItem }
);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_normalize: function( items ) {\n
Login.c(118): \t\t// assume all items have the right format when the first item
is complete\n
Login.c(118): \t\tif ( items.length && items[ 0 ].label && items[ 0 ].value )
{\n
Login.c(118): \t\t\treturn items;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn $.map( items, function( item ) {\n
Login.c(118): \t\t\tif ( typeof item === "string" ) {\n
Login.c(118): \t\t\t\treturn {\n
Login.c(118): \t\t\t\t\tlabel: item,\n
Login.c(118): \t\t\t\t\tvalue: item\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn $.extend( {}, item, {\n
Login.c(118): \t\t\t\tlabel: item.label || item.value,\n
Login.c(118): \t\t\t\tvalue: item.value || item.label\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_suggest: function( items ) {\n
Login.c(118): \t\tvar ul = this.menu.element.empty();\n
Login.c(118): \t\tthis._renderMenu( ul, items );\n
Login.c(118): \t\tthis.isNewMenu = true;\n
Login.c(118): \t\tthis.menu.refresh();\n
Login.c(118): \n
Login.c(118): \t\t// size and position menu\n
Login.c(118): \t\tul.show();\n
Login.c(118): \t\tthis._resizeMenu();\n
Login.c(118): \t\tul.position( $.extend({\n
Login.c(118): \t\t\tof: this.element\n
Login.c(118): \t\t}, this.options.position ) );\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.autoFocus ) {\n
Login.c(118): \t\t\tthis.menu.next();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeMenu: function() {\n
Login.c(118): \t\tvar ul = this.menu.element;\n
Login.c(118): \t\tul.outerWidth( Math.max(\n
Login.c(118): \t\t\t// Firefox wraps long text (possibly a rounding bug)\n
Login.c(118): \t\t\t// so we add 1px to avoid the wrapping (#7513)\n
Login.c(118): \t\t\tul.width( "" ).outerWidth() + 1,\n
Login.c(118): \t\t\tthis.element.outerWidth()\n
Login.c(118): \t\t) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderMenu: function( ul, items ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\t$.each( items, function( index, item ) {\n
Login.c(118): \t\t\tthat._renderItemData( ul, item );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItemData: function( ul, item ) {\n
Login.c(118): \t\treturn this._renderItem( ul, item ).data( "ui-autocomplete-
item", item );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItem: function( ul, item ) {\n
Login.c(118): \t\treturn $( "<li>" ).text( item.label ).appendTo( ul );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, event ) {\n
Login.c(118): \t\tif ( !this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis.search( null, event );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.menu.isFirstItem() && /^previous/.test( direction )
||\n
Login.c(118): \t\t\t\tthis.menu.isLastItem() && /^next/.test( direction ) ) {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.isMultiLine ) {\n
Login.c(118): \t\t\t\tthis._value( this.term );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.menu.blur();\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.menu[ direction ]( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.menu.element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_value: function() {\n
Login.c(118): \t\treturn this.valueMethod.apply( this.element, arguments );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keyEvent: function( keyEvent, event ) {\n
Login.c(118): \t\tif ( !this.isMultiLine ||
this.menu.element.is( ":visible" ) ) {\n
Login.c(118): \t\t\tthis._move( keyEvent, event );\n
Login.c(118): \n
Login.c(118): \t\t\t// prevents moving cursor to beginning/end of the text
field in some browsers\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.extend( $.ui.autocomplete, {\n
Login.c(118): \tescapeRegex: function( value ) {\n
Login.c(118): \t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,
"\\\\$&" );\n
Login.c(118): \t},\n
Login.c(118): \tfilter: function( array, term ) {\n
Login.c(118): \t\tvar matcher = new RegExp( $.ui.autocomplete.escapeRegex( term
), "i" );\n
Login.c(118): \t\treturn $.grep( array, function( value ) {\n
Login.c(118): \t\t\treturn matcher.test( value.label || value.value ||
value );\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // live region extension, adding a `messages` option\n
Login.c(118): // NOTE: This is an experimental API. We are still
investigating\n
Login.c(118): // a full solution for string manipulation and
internationalization.\n
Login.c(118): $.widget( "ui.autocomplete", $.ui.autocomplete, {\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tmessages: {\n
Login.c(118): \t\t\tnoResults: "No search results.",\n
Login.c(118): \t\t\tresults: function( amount ) {\n
Login.c(118): \t\t\t\treturn amount + ( amount > 1 ? " results are" : " result
is" ) +\n
Login.c(118): \t\t\t\t\t" available, use up and down arrow keys to
navigate.";\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t__response: function( content ) {\n
Login.c(118): \t\tvar message;\n
Login.c(118): \t\tthis._superApply( arguments );\n
Login.c(118): \t\tif ( this.options.disabled || this.cancelSearch ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( content && content.length ) {\n
Login.c(118): \t\t\tmessage =
this.options.messages.results( content.length );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tmessage = this.options.messages.noResults;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\t$( "<div>" ).text( message ).appendTo( this.liveRegion );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var autocomplete = $.ui.autocomplete;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Button 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/button/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var lastActive,\n
Login.c(118): \tbaseClasses = "ui-button ui-widget ui-state-default ui-corner-
all",\n
Login.c(118): \ttypeClasses = "ui-button-icons-only ui-button-icon-only ui-
button-text-icons ui-button-t
Login.c(118): ext-icon-primary ui-button-text-icon-secondary ui-button-text-
only",\n
Login.c(118): \tformResetHandler = function() {\n
Login.c(118): \t\tvar form = $( this );\n
Login.c(118): \t\tsetTimeout(function() {\n
Login.c(118): \t\t\tform.find( ":ui-button" ).button( "refresh" );\n
Login.c(118): \t\t}, 1 );\n
Login.c(118): \t},\n
Login.c(118): \tradioGroup = function( radio ) {\n
Login.c(118): \t\tvar name = radio.name,\n
Login.c(118): \t\t\tform = radio.form,\n
Login.c(118): \t\t\tradios = $( [] );\n
Login.c(118): \t\tif ( name ) {\n
Login.c(118): \t\t\tname = name.replace( /'/g, "\\\\'" );\n
Login.c(118): \t\t\tif ( form ) {\n
Login.c(118): \t\t\t\tradios = $( form ).find( "[name='" + name + "']
[type=radio]" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tradios = $( "[name='" + name + "'][type=radio]",
radio.ownerDocument )\n
Login.c(118): \t\t\t\t\t.filter(function() {\n
Login.c(118): \t\t\t\t\t\treturn !this.form;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn radios;\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): $.widget( "ui.button", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<button>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tdisabled: null,\n
Login.c(118): \t\ttext: true,\n
Login.c(118): \t\tlabel: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tprimary: null,\n
Login.c(118): \t\t\tsecondary: null\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.element.closest( "form" )\n
Login.c(118): \t\t\t.unbind( "reset" + this.eventNamespace )\n
Login.c(118): \t\t\t.bind( "reset" + this.eventNamespace, formResetHandler );\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof this.options.disabled !== "boolean" ) {\n
Login.c(118): \t\t\tthis.options.disabled = !!
this.element.prop( "disabled" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.prop( "disabled", this.options.disabled );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._determineButtonType();\n
Login.c(118): \t\tthis.hasTitle = !!this.buttonElement.attr( "title" );\n
Login.c(118): \n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\ttoggleButton = this.type === "checkbox" || this.type ===
"radio",\n
Login.c(118): \t\t\tactiveClass = !toggleButton ? "ui-state-active" : "";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.label === null ) {\n
Login.c(118): \t\t\toptions.label = (this.type === "input" ?
this.buttonElement.val() : this.buttonEleme
Login.c(118): nt.html());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._hoverable( this.buttonElement );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttonElement\n
Login.c(118): \t\t\t.addClass( baseClasses )\n
Login.c(118): \t\t\t.attr( "role", "button" )\n
Login.c(118): \t\t\t.bind( "mouseenter" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( this === lastActive ) {\n
Login.c(118): \t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind( "mouseleave" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$( this ).removeClass( activeClass );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.bind( "click" + this.eventNamespace, function( event ) {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tevent.stopImmediatePropagation();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Can't use _focusable() because the element that receives
focus\n
Login.c(118): \t\t// and the element that gets the ui-state-focus class are
different\n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\tfocus: function() {\n
Login.c(118): \t\t\t\tthis.buttonElement.addClass( "ui-state-focus" );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tblur: function() {\n
Login.c(118): \t\t\t\tthis.buttonElement.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( toggleButton ) {\n
Login.c(118): \t\t\tthis.element.bind( "change" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tthat.refresh();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.type === "checkbox" ) {\n
Login.c(118): \t\t\tthis.buttonElement.bind( "click" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( this.type === "radio" )
Login.c(118): t=6130ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): {\n
Login.c(118): \t\t\tthis.buttonElement.bind( "click" + this.eventNamespace,
function() {\n
Login.c(118): \t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\tthat.buttonElement.attr( "aria-pressed", "true" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tvar radio = that.element[ 0 ];\n
Login.c(118): \t\t\t\tradioGroup( radio )\n
Login.c(118): \t\t\t\t\t.not( radio )\n
Login.c(118): \t\t\t\t\t.map(function() {\n
Login.c(118): \t\t\t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t\t\t})\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t.bind( "mousedown" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\tlastActive = this;\n
Login.c(118): \t\t\t\t\tthat.document.one( "mouseup", function() {\n
Login.c(118): \t\t\t\t\t\tlastActive = null;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.bind( "mouseup" + this.eventNamespace, function() {\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$( this ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.bind( "keydown" + this.eventNamespace, function(event)
{\n
Login.c(118): \t\t\t\t\tif ( options.disabled ) {\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ||
event.keyCode === $.ui.keyCode.ENTE
Login.c(118): R ) {\n
Login.c(118): \t\t\t\t\t\t$( this ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t// see #8559, we bind to blur here in case the button
element loses\n
Login.c(118): \t\t\t\t// focus between keydown and keyup, it would be left in
an "active" state\n
Login.c(118): \t\t\t\t.bind( "keyup" + this.eventNamespace + " blur" +
this.eventNamespace, function() {
Login.c(118): \n
Login.c(118): \t\t\t\t\t$( this ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.buttonElement.is("a") ) {\n
Login.c(118): \t\t\t\tthis.buttonElement.keyup(function(event) {\n
Login.c(118): \t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ) {\n
Login.c(118): \t\t\t\t\t\t// TODO pass through original event correctly (just
as 2nd argument doesn't wo
Login.c(118): rk)\n
Login.c(118): \t\t\t\t\t\t$( this ).click();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._setOption( "disabled", options.disabled );\n
Login.c(118): \t\tthis._resetButton();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_determineButtonType: function() {\n
Login.c(118): \t\tvar ancestor, labelSelector, checked;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.element.is("[type=checkbox]") ) {\n
Login.c(118): \t\t\tthis.type = "checkbox";\n
Login.c(118): \t\t} else if ( this.element.is("[type=radio]") ) {\n
Login.c(118): \t\t\tthis.type = "radio";\n
Login.c(118): \t\t} else if ( this.element.is("input") ) {\n
Login.c(118): \t\t\tthis.type = "input";\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.type = "button";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.type === "checkbox" || this.type === "radio" ) {\n
Login.c(118): \t\t\t// we don't search against the document in case the
element\n
Login.c(118): \t\t\t// is disconnected from the DOM\n
Login.c(118): \t\t\tancestor = this.element.parents().last();\n
Login.c(118): \t\t\tlabelSelector = "label[for='" + this.element.attr("id") +
"']";\n
Login.c(118): \t\t\tthis.buttonElement = ancestor.find( labelSelector );\n
Login.c(118): \t\t\tif ( !this.buttonElement.length ) {\n
Login.c(118): \t\t\t\tancestor = ancestor.length ? ancestor.siblings() :
this.element.siblings();\n
Login.c(118): \t\t\t\tthis.buttonElement = ancestor.filter( labelSelector );\n
Login.c(118): \t\t\t\tif ( !this.buttonElement.length ) {\n
Login.c(118): \t\t\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.element.addClass( "ui-helper-hidden-accessible" );\n
Login.c(118): \n
Login.c(118): \t\t\tchecked = this.element.is( ":checked" );\n
Login.c(118): \t\t\tif ( checked ) {\n
Login.c(118): \t\t\t\tthis.buttonElement.addClass( "ui-state-active" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.buttonElement.prop( "aria-pressed", checked );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.buttonElement = this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.buttonElement;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-helper-hidden-accessible" );\n
Login.c(118): \t\tthis.buttonElement\n
Login.c(118): \t\t\t.removeClass( baseClasses + " ui-state-active " +
typeClasses )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-pressed" )\n
Login.c(118): \t\t\t.html( this.buttonElement.find(".ui-button-
text").html() );\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.hasTitle ) {\n
Login.c(118): \t\t\tthis.buttonElement.removeAttr( "title" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget().toggleClass( "ui-state-disabled", !!
value );\n
Login.c(118): \t\t\tthis.element.prop( "disabled", !!value );\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tif ( this.type === "checkbox" || this.type === "radio" )
{\n
Login.c(118): \t\t\t\t\tthis.buttonElement.removeClass( "ui-state-focus" );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthis.buttonElement.removeClass( "ui-state-focus ui-
state-active" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._resetButton();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\t//See #8237 & #8828\n
Login.c(118): \t\tvar isDisabled = this.element.is( "input, button" ) ?
this.element.is( ":disabled" ) :
Login.c(118): this.element.hasClass( "ui-button-disabled" );\n
Login.c(118): \n
Login.c(118): \t\tif ( isDisabled !== this.options.disabled ) {\n
Login.c(118): \t\t\tthis._setOption( "disabled", isDisabled );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.type === "radio" ) {\n
Login.c(118): \t\t\tradioGroup( this.element[0] ).each(function() {\n
Login.c(118): \t\t\t\tif ( $( this ).is( ":checked" ) ) {\n
Login.c(118): \t\t\t\t\t$( this ).button( "widget" )\n
Login.c(118): \t\t\t\t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t\t.attr( "aria-pressed", "true" );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$( this ).button( "widget" )\n
Login.c(118): \t\t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else if ( this.type === "checkbox" ) {\n
Login.c(118): \t\t\tif ( this.element.is( ":checked" ) ) {\n
Login.c(118): \t\t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "true" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.buttonElement\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-active" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-pressed", "false" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resetButton: function() {\n
Login.c(118): \t\tif ( this.type === "input" ) {\n
Login.c(118): \t\t\tif ( this.options.label ) {\n
Login.c(118): \t\t\t\tthis.element.val( this.options.label );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar buttonElement =
this.buttonElement.removeClass( typeClasses ),\n
Login.c(118): \t\t\tbuttonText = $( "<span></span>", this.document[0] )\n
Login.c(118): \t\t\t\t.addClass( "ui-button-text" )\n
Login.c(118): \t\t\t\t.html( this.options.label )\n
Login.c(118): \t\t\t\t.appendTo( buttonElement.empty() )\n
Login.c(118): \t\t\t\t.text(),\n
Login.c(118): \t\t\ticons = this.options.icons,\n
Login.c(118): \t\t\tmultipleIcons = icons.primary && icons.secondary,\n
Login.c(118): \t\t\tbuttonClasses = [];\n
Login.c(118): \n
Login.c(118): \t\tif ( icons.primary || icons.secondary ) {\n
Login.c(118): \t\t\tif ( this.options.text ) {\n
Login.c(118): \t\t\t\tbuttonClasses.push( "ui-button-text-icon" +
( multipleIcons ? "s" : ( icons.primar
Login.c(118): y ? "-primary" : "-secondary" ) ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( icons.primary ) {\n
Login.c(118): \t\t\t\tbuttonElement.prepend( "<span class='ui-button-icon-
primary ui-icon " + icons.prim
Login.c(118): ary + "'></span>" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( icons.secondary ) {\n
Login.c(118): \t\t\t\tbuttonElement.append( "<span class='ui-button-icon-
secondary ui-icon " + icons.sec
Login.c(118): ondary + "'></span>" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options.text ) {\n
Login.c(118): \t\t\t\tbuttonClasses.push( multipleIcons ? "ui-button-icons-
only" : "ui-button-icon-only"
Login.c(118): );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( !this.hasTitle ) {\n
Login.c(118): \t\t\t\t\tbuttonElement.attr( "title", $.trim( buttonText ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tbuttonClasses.push( "ui-button-text-only" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tbuttonElement.addClass( buttonClasses.join( " " ) );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.widget( "ui.buttonset", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\titems: "button, input[type=button], input[type=submit],
input[type=reset], input[type=
Login.c(118): checkbox], input[type=radio], a, :data(ui-button)"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.element.addClass( "ui-buttonset" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_init: function() {\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.buttons.button( "option", key, value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar rtl = this.element.css( "direction" ) === "rtl",\n
Login.c(118): \t\t\tallButtons = this.element.find( this.options.items ),\n
Login.c(118): \t\t\texistingButtons = allButtons.filter( ":ui-button" );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize new buttons\n
Login.c(118): \t\tallButtons.not( ":ui-button" ).button();\n
Login.c(118): \n
Login.c(118): \t\t// Refresh existing buttons\n
Login.c(118): \t\texistingButtons.button( "refresh" );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttons = allButtons\n
Login.c(118): \t\t\t.map(function() {\n
Login.c(118): \t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-all ui-corner-left ui-corner-
right" )\n
Login.c(118): \t\t\t\t.filter( ":first" )\n
Login.c(118): \t\t\t\t\t.addClass( rtl ? "ui-corner-right" : "ui-corner-
left" )\n
Login.c(118): \t\t\t\t.end()\n
Login.c(118): \t\t\t\t.filter( ":last" )\n
Login.c(118): \t\t\t\t\t.addClass( rtl ? "ui-corner-left" : "ui-corner-
right" )\n
Login.c(118): \t\t\t\t.end()\n
Login.c(118): \t\t\t.end();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element.removeClass( "ui-buttonset" );\n
Login.c(118): \t\tthis.buttons\n
Login.c(118): \t\t\t.map(function() {\n
Login.c(118): \t\t\t\treturn $( this ).button( "widget" )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t\t.removeClass( "ui-corner-left ui-corner-right" )\n
Login.c(118): \t\t\t.end()\n
Login.c(118): \t\t\t.button( "destroy" );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var button = $.ui.button;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Datepicker 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/datepicker/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.extend($.ui, { datepicker: { version: "1.11.1" } });\n
Login.c(118): \n
Login.c(118): var datepicker_instActive;\n
Login.c(118): \n
Login.c(118): function datepicker_getZindex( elem ) {\n
Login.c(118): \tvar position, value;\n
Login.c(118): \twhile ( elem.length && elem[ 0 ] !== document ) {\n
Login.c(118): \t\t// Ignore z-index if position is set to a value where z-index
is ignored by the browse
Login.c(118): r\n
Login.c(118): \t\t// This makes behavior of this function consistent across
browsers\n
Login.c(118): \t\t// WebKit always returns auto if the element is positioned\n
Login.c(118): \t\tposition = elem.css( "position" );\n
Login.c(118): \t\tif ( position === "absolute" || position === "relative" ||
position === "fixed" ) {\n
Login.c(118): \t\t\t// IE returns 0 when zIndex is not specified\n
Login.c(118): \t\t\t// other browsers return a string\n
Login.c(118): \t\t\t// we ignore the case of nested elements with an explicit
value of 0\n
Login.c(118): \t\t\t// <div style="z-index: -10;"><div style="z-index:
0;"></div></div>\n
Login.c(118): \t\t\tvalue = parseInt( elem.css( "zIndex" ), 10 );\n
Login.c(118): \t\t\tif ( !isNaN( value ) && value !== 0 ) {\n
Login.c(118): \t\t\t\treturn value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\telem = elem.parent();\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn 0;\n
Login.c(118): }\n
Login.c(118): /* Date picker manager.\n
Login.c(118): Use the singleton instance of this class, $.datepicker, to
interact with the date picke
Login.c(118): r.\n
Login.c(118): Settings for (groups of) date pickers are maintained in an
instance object,\n
Login.c(118): allowing multiple different settings on the same page. */\n
Login.c(118): \n
Login.c(118): function Datepicker() {\n
Login.c(118): \tthis._curInst = null; // The current instance in use\n
Login.c(118): \tthis._keyEvent = false; // If the last event was a key event\n
Login.c(118): \tthis._disabledInputs = []; // List of date picker inputs that
have been disabled\n
Login.c(118): \tthis._datepickerShowing = false; // True if the popup picker is
showing , false if not\n
Login.c(118): \tthis._inDialog = false; // True if showing within a "dialog",
false if not\n
Login.c(118): \tthis._mainDivId = "ui-datepicker-div"; // The ID of the main
datepicker division\n
Login.c(118): \tthis._inlineClass = "ui-datepicker-inline"; // The name of the
inline marker class\n
Login.c(118): \tthis._appendClass = "ui-datepicker-append"; // The name of the
append marker class\n
Login.c(118): \tthis._triggerClass = "ui-datepicker-trigger"; // The name of
the trigger marker class\n
Login.c(118): \tthis._dialogClass = "ui-datepicker-dialog"; // The name of the
dialog marker class\n
Login.c(118): \tthis._disableClass = "ui-datepicker-disabled"; // The name of
the disabled covering mark
Login.c(118): er class\n
Login.c(118): \tthis._unselectableClass = "ui-datepicker-unselectable"; // The
name of the unselectable
Login.c(118): cell marker class\n
Login.c(118): \tthis._currentClass = "ui-datepicker-current-day"; // The name
of the current day marker
Login.c(118): class\n
Login.c(118): \tthis._dayOverClass = "ui-datepicker-days-cell-over"; // The
name of the day hover marker
Login.c(118): class\n
Login.c(118): \tthis.regional = []; // Available regional settings, indexed by
language code\n
Login.c(118): \tthis.regional[""] = { // Default regional settings\n
Login.c(118): \t\tcloseText: "Done", // Display text for close link\n
Login.c(118): \t\tprevText: "Prev", // Display text for previous month link\n
Login.c(118): \t\tnextText: "Next", // Display text for next month link\n
Login.c(118): \t\tcurrentText: "Today", // Display text for current month
link\n
Login.c(118): \t\tmonthNames:
["January","February","March","April","May","June",\n
Login.c(118):
\t\t\t"July","August","September","October","November","December"], // Names of
months for
Login.c(118): drop-down and formatting\n
Login.c(118): \t\tmonthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct"
Login.c(118): , "Nov", "Dec"], // For formatting\n
Login.c(118): \t\tdayNames: ["Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday
Login.c(118): "], // For formatting\n
Login.c(118): \t\tdayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
"Sat"], // For formatting\n
Login.c(118): \t\tdayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column
headings for days startin
Login.c(118): g at Sunday\n
Login.c(118): \t\tweekHeader: "Wk", // Column header for week of the year\n
Login.c(118): \t\tdateFormat: "mm/dd/yy", // See format options on parseDate\n
Login.c(118): \t\tfirstDay: 0, // The first day of the week, Sun = 0, Mon =
1, ...\n
Login.c(118): \t\tisRTL: false, // True if right-to-left language, false if
left-to-right\n
Login.c(118): \t\tshowMonthAfterYear: false, // True if the year select
precedes month, false for month
Login.c(118): then year\n
Login.c(118): \t\tyearSuffix: "" // Additional text to append to the year in
the month headers\n
Login.c(118): \t};\n
Login.c(118): \tthis._defaults = { // Global defaults for all the date picker
instances\n
Login.c(118): \t\tshowOn: "focus", // "focus" for popup on focus,\n
Login.c(118): \t\t\t// "button" for trigger button, or "both" for either\n
Login.c(118): \t\tshowAnim: "fadeIn", // Name of jQuery animation for popup\n
Login.c(118): \t\tshowOptions: {}, // Options for enhanced animations\n
Login.c(118): \t\tdefaultDate: null, // Used when field is blank: actual
date,\n
Login.c(118): \t\t\t// +/-number for offset from today, null for today\n
Login.c(118): \t\tappendText: "", // Display text following the input box,
Login.c(118): t=6148ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): e.g. showing the format\n
Login.c(118): \t\tbuttonText: "...", // Text for trigger button\n
Login.c(118): \t\tbuttonImage: "", // URL for trigger button image\n
Login.c(118): \t\tbuttonImageOnly: false, // True if the image appears alone,
false if it appears on a b
Login.c(118): utton\n
Login.c(118): \t\thideIfNoPrevNext: false, // True to hide next/previous month
links\n
Login.c(118): \t\t\t// if not applicable, false to just disable them\n
Login.c(118): \t\tnavigationAsDateFormat: false, // True if date formatting
applied to prev/today/next l
Login.c(118): inks\n
Login.c(118): \t\tgotoCurrent: false, // True if today link goes back to
current selection instead\n
Login.c(118): \t\tchangeMonth: false, // True if month can be selected
directly, false if only prev/next
Login.c(118): \n
Login.c(118): \t\tchangeYear: false, // True if year can be selected directly,
false if only prev/next\n
Login.c(118): \t\tyearRange: "c-10:c+10", // Range of years to display in drop-
down,\n
Login.c(118): \t\t\t// either relative to today's year (-nn:+nn), relative to
currently displayed year\n
Login.c(118): \t\t\t// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of
the above (nnnn:-n)\n
Login.c(118): \t\tshowOtherMonths: false, // True to show dates in other
months, false to leave blank\n
Login.c(118): \t\tselectOtherMonths: false, // True to allow selection of dates
in other months, false f
Login.c(118): or unselectable\n
Login.c(118): \t\tshowWeek: false, // True to show week of the year, false to
not show it\n
Login.c(118): \t\tcalculateWeek: this.iso8601Week, // How to calculate the week
of the year,\n
Login.c(118): \t\t\t// takes a Date and returns the number of the week for it\n
Login.c(118): \t\tshortYearCutoff: "+10", // Short year values < this are in
the current century,\n
Login.c(118): \t\t\t// > this are in the previous century,\n
Login.c(118): \t\t\t// string value starting with "+" for current year +
value\n
Login.c(118): \t\tminDate: null, // The earliest selectable date, or null for
no limit\n
Login.c(118): \t\tmaxDate: null, // The latest selectable date, or null for no
limit\n
Login.c(118): \t\tduration: "fast", // Duration of display/closure\n
Login.c(118): \t\tbeforeShowDay: null, // Function that takes a date and
returns an array with\n
Login.c(118): \t\t\t// [0] = true if selectable, false if not, [1] = custom CSS
class name(s) or "",\n
Login.c(118): \t\t\t// [2] = cell title (optional), e.g.
$.datepicker.noWeekends\n
Login.c(118): \t\tbeforeShow: null, // Function that takes an input field and\n
Login.c(118): \t\t\t// returns a set of custom settings for the date picker\n
Login.c(118): \t\tonSelect: null, // Define a callback function when a date is
selected\n
Login.c(118): \t\tonChangeMonthYear: null, // Define a callback function when
the month or year is chang
Login.c(118): ed\n
Login.c(118): \t\tonClose: null, // Define a callback function when the
datepicker is closed\n
Login.c(118): \t\tnumberOfMonths: 1, // Number of months to show at a time\n
Login.c(118): \t\tshowCurrentAtPos: 0, // The position in multipe months at
which to show the current mo
Login.c(118): nth (starting at 0)\n
Login.c(118): \t\tstepMonths: 1, // Number of months to step back/forward\n
Login.c(118): \t\tstepBigMonths: 12, // Number of months to step back/forward
for the big links\n
Login.c(118): \t\taltField: "", // Selector for an alternate field to store
selected dates into\n
Login.c(118): \t\taltFormat: "", // The date format to use for the alternate
field\n
Login.c(118): \t\tconstrainInput: true, // The input is constrained by the
current date format\n
Login.c(118): \t\tshowButtonPanel: false, // True to show button panel, false
to not show it\n
Login.c(118): \t\tautoSize: false, // True to size the input for the date
format, false to leave as is\n
Login.c(118): \t\tdisabled: false // The initial disabled state\n
Login.c(118): \t};\n
Login.c(118): \t$.extend(this._defaults, this.regional[""]);\n
Login.c(118): \tthis.regional.en = $.extend( true, {}, this.regional[ "" ]);\n
Login.c(118): \tthis.regional[ "en-US" ] = $.extend( true, {}, this.regional.en
);\n
Login.c(118): \tthis.dpDiv = datepicker_bindHover($("<div id='" +
this._mainDivId + "' class='ui-datepic
Login.c(118): ker ui-widget ui-widget-content ui-helper-clearfix ui-corner-
all'></div>"));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(Datepicker.prototype, {\n
Login.c(118): \t/* Class name added to elements to indicate already configured
with a date picker. */\n
Login.c(118): \tmarkerClassName: "hasDatepicker",\n
Login.c(118): \n
Login.c(118): \t//Keep track of the maximum number of rows displayed (see
#7043)\n
Login.c(118): \tmaxRows: 4,\n
Login.c(118): \n
Login.c(118): \t// TODO rename to "widget" when switching to widget factory\n
Login.c(118): \t_widgetDatepicker: function() {\n
Login.c(118): \t\treturn this.dpDiv;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Override the default settings for all instances of the date
picker.\n
Login.c(118): \t * @param settings object - the new settings to use as
defaults (anonymous object)\n
Login.c(118): \t * @return the manager object\n
Login.c(118): \t */\n
Login.c(118): \tsetDefaults: function(settings) {\n
Login.c(118): \t\tdatepicker_extendRemove(this._defaults, settings || {});\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t * @param settings object - the new settings to use for this
date picker instance (ano
Login.c(118): nymous)\n
Login.c(118): \t */\n
Login.c(118): \t_attachDatepicker: function(target, settings) {\n
Login.c(118): \t\tvar nodeName, inline, inst;\n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tinline = (nodeName === "div" || nodeName === "span");\n
Login.c(118): \t\tif (!target.id) {\n
Login.c(118): \t\t\tthis.uuid += 1;\n
Login.c(118): \t\t\ttarget.id = "dp" + this.uuid;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst = this._newInst($(target), inline);\n
Login.c(118): \t\tinst.settings = $.extend({}, settings || {});\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\tthis._connectDatepicker(target, inst);\n
Login.c(118): \t\t} else if (inline) {\n
Login.c(118): \t\t\tthis._inlineDatepicker(target, inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Create a new instance object. */\n
Login.c(118): \t_newInst: function(target, inline) {\n
Login.c(118): \t\tvar id = target[0].id.replace(/([^A-Za-z0-9_\\-])/g,
"\\\\\\\\$1"); // escape jQuery m
Login.c(118): eta chars\n
Login.c(118): \t\treturn {id: id, input: target, // associated target\n
Login.c(118): \t\t\tselectedDay: 0, selectedMonth: 0, selectedYear: 0, //
current selection\n
Login.c(118): \t\t\tdrawMonth: 0, drawYear: 0, // month being drawn\n
Login.c(118): \t\t\tinline: inline, // is datepicker inline or not\n
Login.c(118): \t\t\tdpDiv: (!inline ? this.dpDiv : // presentation div\n
Login.c(118): \t\t\tdatepicker_bindHover($("<div class='" + this._inlineClass +
" ui-datepicker ui-widge
Login.c(118): t ui-widget-content ui-helper-clearfix ui-corner-
all'></div>")))};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the date picker to an input field. */\n
Login.c(118): \t_connectDatepicker: function(target, inst) {\n
Login.c(118): \t\tvar input = $(target);\n
Login.c(118): \t\tinst.append = $([]);\n
Login.c(118): \t\tinst.trigger = $([]);\n
Login.c(118): \t\tif (input.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._attachments(input, inst);\n
Login.c(118):
\t\tinput.addClass(this.markerClassName).keydown(this._doKeyDown).\n
Login.c(118): \t\t\tkeypress(this._doKeyPress).keyup(this._doKeyUp);\n
Login.c(118): \t\tthis._autoSize(inst);\n
Login.c(118): \t\t$.data(target, "datepicker", inst);\n
Login.c(118): \t\t//If disabled option is true, disable the datepicker once it
has been attached to the
Login.c(118): input (see ticket #5665)\n
Login.c(118): \t\tif( inst.settings.disabled ) {\n
Login.c(118): \t\t\tthis._disableDatepicker( target );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Make attachments based on settings. */\n
Login.c(118): \t_attachments: function(input, inst) {\n
Login.c(118): \t\tvar showOn, buttonText, buttonImage,\n
Login.c(118): \t\t\tappendText = this._get(inst, "appendText"),\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL");\n
Login.c(118): \n
Login.c(118): \t\tif (inst.append) {\n
Login.c(118): \t\t\tinst.append.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (appendText) {\n
Login.c(118): \t\t\tinst.append = $("<span class='" + this._appendClass + "'>"
+ appendText + "</span>")
Login.c(118): ;\n
Login.c(118): \t\t\tinput[isRTL ? "before" : "after"](inst.append);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinput.unbind("focus", this._showDatepicker);\n
Login.c(118): \n
Login.c(118): \t\tif (inst.trigger) {\n
Login.c(118): \t\t\tinst.trigger.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tshowOn = this._get(inst, "showOn");\n
Login.c(118): \t\tif (showOn === "focus" || showOn === "both") { // pop-up date
picker when in the marke
Login.c(118): d field\n
Login.c(118): \t\t\tinput.focus(this._showDatepicker);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (showOn === "button" || showOn === "both") { // pop-up
date picker when button clic
Login.c(118): ked\n
Login.c(118): \t\t\tbuttonText = this._get(inst, "buttonText");\n
Login.c(118): \t\t\tbuttonImage = this._get(inst, "buttonImage");\n
Login.c(118): \t\t\tinst.trigger = $(this._get(inst, "buttonImageOnly") ?\n
Login.c(118): \t\t\t\t$("<img/>").addClass(this._triggerClass).\n
Login.c(118): \t\t\t\t\tattr({ src: buttonImage, alt: buttonText, title:
buttonText }) :\n
Login.c(118): \t\t\t\t$("<button
type='button'></button>").addClass(this._triggerClass).\n
Login.c(118): \t\t\t\t\thtml(!buttonImage ? buttonText : $("<img/>").attr(\n
Login.c(118): \t\t\t\t\t{ src:buttonImage, alt:buttonText,
title:buttonText })));\n
Login.c(118): \t\t\tinput[isRTL ? "before" : "after"](inst.trigger);\n
Login.c(118): \t\t\tinst.trigger.click(function() {\n
Login.c(118): \t\t\t\tif ($.datepicker._datepickerShowing &&
$.datepicker._lastInput === input[0]) {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t} else if ($.datepicker._datepickerShowing &&
$.datepicker._lastInput !== input[0]
Login.c(118): ) {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Apply the maximum length for the date format. */\n
Login.c(118): \t_autoSize: function(inst) {\n
Login.c(118): \t\tif (this._get(inst, "autoSize") && !inst.inline) {\n
Login.c(118): \t\t\tvar findMax, max, maxI, i,\n
Login.c(118): \t\t\t\tdate = new Date(2009, 12 - 1, 20), // Ensure double
digits\n
Login.c(118): \t\t\t\tdateFormat = this._get(inst, "dateFormat");\n
Login.c(118): \n
Login.c(118): \t\t\tif (dateFormat.match(/[DM]/)) {\n
Login.c(118): \t\t\t\tfindMax = function(names) {\n
Login.c(118): \t\t\t\t\tmax = 0;\n
Login.c(118): \t\t\t\t\tmaxI = 0;\n
Login.c(118): \t\t\t\t\tfor (i = 0; i < names.length; i++) {\n
Login.c(118): \t\t\t\t\t\tif (names[i].length > max) {\n
Login.c(118): \t\t\t\t\t\t\tmax = names[i].length;\n
Login.c(118): \t\t\t\t\t\t\tmaxI = i;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn maxI;\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\tdate.setMonth(findMax(this._get(inst,
(dateFormat.match(/MM/) ?\n
Login.c(118): \t\t\t\t\t"monthNames" : "monthNamesShort"))));\n
Login.c(118): \t\t\t\tdate.setDate(findMax(this._get(inst,
(dateFormat.match(/DD/) ?\n
Login.c(118): \t\t\t\t\t"dayNames" : "dayNamesShort"))) + 20 -
date.getDay());\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tinst.input.attr("size", this._formatDate(inst,
date).length);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach an inline date picker to a div. */\n
Login.c(118): \t_inlineDatepicker: function(target, inst) {\n
Login.c(118): \t\tvar divSpan = $(target);\n
Login.c(118): \t\tif (divSpan.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdivSpan.addClass(this.markerClassName).append(inst.dpDiv);\n
Login.c(118): \t\t$.data(target, "datepicker", inst);\n
Login.c(118): \t\tthis._setDate(inst, this._getDefaultDate(inst), true);\n
Login.c(118): \t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t//If disabled option is true, disable the datepicker before
showing it (see ticket #56
Login.c(118): 65)\n
Login.c(118): \t\tif( inst.settings.disabled ) {\n
Login.c(118): \t\t\tthis._disableDatepicker( target );\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// Set display:block in place of inst.dpDiv.show() which
won't work on disconnected el
Login.c(118): ements\n
Login.c(118): \t\t// http://bugs.jqueryui.com/ticket/7552 - A Datepicker
created on a detached div has z
Login.c(118): ero height\n
Login.c(118): \t\tinst.dpDiv.css( "display", "block" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Pop-up the date picker in a "dialog" box.\n
Login.c(118): \t * @param input element - ignored\n
Login.c(118): \t * @param date\tstring or Date - the initial date to display\n
Login.c(118): \t * @param onSelect function - the function to call when a
date is selected\n
Login.c(118): \t * @param settings object - update the dialog date picker
instance's settings (anonymo
Login.c(118): us object)\n
Login.c(118): \t * @param pos int[2] - coordinates for the dialog's position
within the screen or\n
Login.c(118): \t *\t\t\t\t\tevent - with x/y coordinates or\n
Login.c(118): \t *\t\t\t\t\tleave empty for default (screen centre)\n
Login.c(118): \t * @return the manager object\n
Login.c(118): \t */\n
Login.c(118): \t_dialogDatepicker: function(input, date, onSelect, settings,
pos) {\n
Login.c(118): \t\tvar id, browserWidth, browserHeight, scrollX, scrollY,\n
Login.c(118): \t\t\tinst = this._dialogInst; // internal instance\n
Login.c(118): \n
Login.c(118): \t\tif (!inst) {\n
Login.c(118): \t\t\tthis.uuid += 1;\n
Login.c(118): \t\t\tid = "dp" + this.uuid;\n
Login.c(118): \t\t\tthis._dialogInput = $("<input type='text' id='" + id +\n
Login.c(118): \t\t\t\t"' style='position: absolute; top: -100px; width:
0px;'/>");\n
Login.c(118): \t\t\tthis._dialogInput.keydown(this._doKeyDown);\n
Login.c(118): \t\t\t$("body").append(this._dialogInput);\n
Login.c(118): \t\t\tinst = this._dialogInst = this._newInst(this._dialogInput,
false);\n
Login.c(118): \t\t\tinst.settings = {};\n
Login.c(118): \t\t\t$.data(this._dialogInput[0], "datepicker", inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdatepicker_extendRemove(inst.settings, settings || {});\n
Login.c(118): \t\tdate = (date && date.constructor === Date ?
this._formatDate(inst, date) : date);\n
Login.c(118): \t\tthis._dialogInput.val(date);\n
Login.c(118): \n
Login.c(118): \t\tthis._pos = (pos ? (pos.length ? pos : [pos.pageX,
pos.pageY]) : null);\n
Login.c(118): \t\tif (!this._pos) {\n
Login.c(118): \t\t\tbrowserWidth = document.documentElement.clientWidth;\n
Login.c(118): \t\t\tbrowserHeight = document.documentElement.clientHeight;\n
Login.c(118): \t\t\tscrollX = document.documentElement.scrollLeft ||
document.body.scrollLeft;\n
Login.c(118): \t\t\tscrollY = document.documentElement.scrollTop ||
document.body.scrollTop;\n
Login.c(118): \t\t\tthis._pos = // should use actual width/height below\n
Login.c(118): \t\t\t\t[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2)
- 150 + scrollY];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// move input on screen for focus, but hidden behind dialog\n
Login.c(118): \t\tthis._dialogInput.css("left", (this._pos[0] + 20) +
"px").css("top", this._pos[1] + "p
Login.c(118): x");\n
Login.c(118): \t\tinst.settings.onSelect = onSelect;\n
Login.c(118): \t\tthis._inDialog = true;\n
Login.c(118): \t\tthis.dpDiv.addClass(this._dialogClass);\n
Login.c(118): \t\tthis._showDatepicker(this._dialogInput[0]);\n
Login.c(118): \t\tif ($.blockUI) {\n
Login.c(118): \t\t\t$.blockUI(this.dpDiv);\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$.data(this._dialogInput[0], "datepicker", inst);\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Detach a datepicker from its control.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_destroyDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\t$.removeData(target, "datepicker");\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\tinst.append.remove();\n
Login.c(118): \t\t\tinst.trigger.remove();\n
Login.c(118): \t\t\t$target.removeClass(this.markerClassName).\n
Login.c(118): \t\t\t\tunbind("focus", this._showDatepicker).\n
Login.c(118): \t\t\t\tunbind("keydown", this._doKeyDown).\n
Login.c(118): \t\t\t\tunbind("keypress", this._doKeyPress).\n
Login.c(118): \t\t\t\tunbind("keyup", this.
Login.c(118): t=6164ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): _doKeyUp);\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\t$target.removeClass(this.markerClassName).empty();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Enable the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_enableDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName, inline,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\ttarget.disabled = false;\n
Login.c(118): \t\t\tinst.trigger.filter("button").\n
Login.c(118): \t\t\t\teach(function() { this.disabled = false; }).end().\n
Login.c(118): \t\t\t\tfilter("img").css({opacity: "1.0", cursor: ""});\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\tinline = $target.children("." + this._inlineClass);\n
Login.c(118): \t\t\tinline.children().removeClass("ui-state-disabled");\n
Login.c(118): \t\t\tinline.find("select.ui-datepicker-month, select.ui-
datepicker-year").\n
Login.c(118): \t\t\t\tprop("disabled", false);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._disabledInputs = $.map(this._disabledInputs,\n
Login.c(118): \t\t\tfunction(value) { return (value === target ? null : value);
}); // delete entry\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Disable the date picker to a jQuery selection.\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_disableDatepicker: function(target) {\n
Login.c(118): \t\tvar nodeName, inline,\n
Login.c(118): \t\t\t$target = $(target),\n
Login.c(118): \t\t\tinst = $.data(target, "datepicker");\n
Login.c(118): \n
Login.c(118): \t\tif (!$target.hasClass(this.markerClassName)) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnodeName = target.nodeName.toLowerCase();\n
Login.c(118): \t\tif (nodeName === "input") {\n
Login.c(118): \t\t\ttarget.disabled = true;\n
Login.c(118): \t\t\tinst.trigger.filter("button").\n
Login.c(118): \t\t\t\teach(function() { this.disabled = true; }).end().\n
Login.c(118): \t\t\t\tfilter("img").css({opacity: "0.5", cursor: "default"});\n
Login.c(118): \t\t} else if (nodeName === "div" || nodeName === "span") {\n
Login.c(118): \t\t\tinline = $target.children("." + this._inlineClass);\n
Login.c(118): \t\t\tinline.children().addClass("ui-state-disabled");\n
Login.c(118): \t\t\tinline.find("select.ui-datepicker-month, select.ui-
datepicker-year").\n
Login.c(118): \t\t\t\tprop("disabled", true);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._disabledInputs = $.map(this._disabledInputs,\n
Login.c(118): \t\t\tfunction(value) { return (value === target ? null : value);
}); // delete entry\n
Login.c(118): \t\tthis._disabledInputs[this._disabledInputs.length] = target;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Is the first field in a jQuery collection disabled as a
datepicker?\n
Login.c(118): \t * @param target\telement - the target input field or division
or span\n
Login.c(118): \t * @return boolean - true if disabled, false if enabled\n
Login.c(118): \t */\n
Login.c(118): \t_isDisabledDatepicker: function(target) {\n
Login.c(118): \t\tif (!target) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (var i = 0; i < this._disabledInputs.length; i++) {\n
Login.c(118): \t\t\tif (this._disabledInputs[i] === target) {\n
Login.c(118): \t\t\t\treturn true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the instance data for the target control.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @return object - the associated instance data\n
Login.c(118): \t * @throws error if a jQuery problem getting data\n
Login.c(118): \t */\n
Login.c(118): \t_getInst: function(target) {\n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\treturn $.data(target, "datepicker");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tcatch (err) {\n
Login.c(118): \t\t\tthrow "Missing instance data for this datepicker";\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update or retrieve the settings for a date picker attached
to an input field or divis
Login.c(118): ion.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param name\tobject - the new settings to update or\n
Login.c(118): \t *\t\t\t\tstring - the name of the setting to change or
retrieve,\n
Login.c(118): \t *\t\t\t\twhen retrieving also "all" for all instance settings
or\n
Login.c(118): \t *\t\t\t\t"defaults" for all global defaults\n
Login.c(118): \t * @param value any - the new value for the setting\n
Login.c(118): \t *\t\t\t\t(omit if above is an object or to retrieve a value)\n
Login.c(118): \t */\n
Login.c(118): \t_optionDatepicker: function(target, name, value) {\n
Login.c(118): \t\tvar settings, date, minDate, maxDate,\n
Login.c(118): \t\t\tinst = this._getInst(target);\n
Login.c(118): \n
Login.c(118): \t\tif (arguments.length === 2 && typeof name === "string") {\n
Login.c(118): \t\t\treturn (name === "defaults" ? $.extend({},
$.datepicker._defaults) :\n
Login.c(118): \t\t\t\t(inst ? (name === "all" ? $.extend({}, inst.settings) :\n
Login.c(118): \t\t\t\tthis._get(inst, name)) : null));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tsettings = name || {};\n
Login.c(118): \t\tif (typeof name === "string") {\n
Login.c(118): \t\t\tsettings = {};\n
Login.c(118): \t\t\tsettings[name] = value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tif (this._curInst === inst) {\n
Login.c(118): \t\t\t\tthis._hideDatepicker();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tdate = this._getDateDatepicker(target, true);\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min");\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max");\n
Login.c(118): \t\t\tdatepicker_extendRemove(inst.settings, settings);\n
Login.c(118): \t\t\t// reformat the old minDate/maxDate values if dateFormat
changes and a new minDate/m
Login.c(118): axDate isn't provided\n
Login.c(118): \t\t\tif (minDate !== null && settings.dateFormat !== undefined
&& settings.minDate === un
Login.c(118): defined) {\n
Login.c(118): \t\t\t\tinst.settings.minDate = this._formatDate(inst,
minDate);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (maxDate !== null && settings.dateFormat !== undefined
&& settings.maxDate === un
Login.c(118): defined) {\n
Login.c(118): \t\t\t\tinst.settings.maxDate = this._formatDate(inst,
maxDate);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( "disabled" in settings ) {\n
Login.c(118): \t\t\t\tif ( settings.disabled ) {\n
Login.c(118): \t\t\t\t\tthis._disableDatepicker(target);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthis._enableDatepicker(target);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._attachments($(target), inst);\n
Login.c(118): \t\t\tthis._autoSize(inst);\n
Login.c(118): \t\t\tthis._setDate(inst, date);\n
Login.c(118): \t\t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// change method deprecated\n
Login.c(118): \t_changeDatepicker: function(target, name, value) {\n
Login.c(118): \t\tthis._optionDatepicker(target, name, value);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Redraw the date picker attached to an input field or
division.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t */\n
Login.c(118): \t_refreshDatepicker: function(target) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set the dates for a jQuery selection.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param date\tDate - the new date\n
Login.c(118): \t */\n
Login.c(118): \t_setDateDatepicker: function(target, date) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst) {\n
Login.c(118): \t\t\tthis._setDate(inst, date);\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t\tthis._updateAlternate(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Get the date(s) for the first entry in a jQuery selection.\n
Login.c(118): \t * @param target element - the target input field or division
or span\n
Login.c(118): \t * @param noDefault boolean - true if no default date is to be
used\n
Login.c(118): \t * @return Date - the current date\n
Login.c(118): \t */\n
Login.c(118): \t_getDateDatepicker: function(target, noDefault) {\n
Login.c(118): \t\tvar inst = this._getInst(target);\n
Login.c(118): \t\tif (inst && !inst.inline) {\n
Login.c(118): \t\t\tthis._setDateFromField(inst, noDefault);\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn (inst ? this._getDate(inst) : null);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Handle keystrokes. */\n
Login.c(118): \t_doKeyDown: function(event) {\n
Login.c(118): \t\tvar onSelect, dateStr, sel,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target),\n
Login.c(118): \t\t\thandled = true,\n
Login.c(118): \t\t\tisRTL = inst.dpDiv.is(".ui-datepicker-rtl");\n
Login.c(118): \n
Login.c(118): \t\tinst._keyEvent = true;\n
Login.c(118): \t\tif ($.datepicker._datepickerShowing) {\n
Login.c(118): \t\t\tswitch (event.keyCode) {\n
Login.c(118): \t\t\t\tcase 9: $.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\thandled = false;\n
Login.c(118): \t\t\t\t\t\tbreak; // hide on tab out\n
Login.c(118): \t\t\t\tcase 13: sel = $("td." + $.datepicker._dayOverClass +
":not(." +\n
Login.c(118): \t\t\t\t\t\t\t\t\t$.datepicker._currentClass + ")",
inst.dpDiv);\n
Login.c(118): \t\t\t\t\t\tif (sel[0]) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._selectDay(event.target,
inst.selectedMonth, inst.selectedYear,
Login.c(118): sel[0]);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tonSelect = $.datepicker._get(inst, "onSelect");\n
Login.c(118): \t\t\t\t\t\tif (onSelect) {\n
Login.c(118): \t\t\t\t\t\t\tdateStr = $.datepicker._formatDate(inst);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// trigger custom callback\n
Login.c(118): \t\t\t\t\t\t\tonSelect.apply((inst.input ? inst.input[0] : null),
[dateStr, inst]);\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\treturn false; // don't submit the form\n
Login.c(118): \t\t\t\tcase 27: $.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t\t\tbreak; // hide on escape\n
Login.c(118): \t\t\t\tcase 33: $.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t-$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t-$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\tbreak; // previous month/year on page up/+ ctrl\n
Login.c(118): \t\t\t\tcase 34: $.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t+$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t+$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\tbreak; // next month/year on page down/+ ctrl\n
Login.c(118): \t\t\t\tcase 35: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._clearDate(event.target);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // clear on ctrl or command +end\n
Login.c(118): \t\t\t\tcase 36: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._gotoToday(event.target);\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // current on ctrl or command +home\n
Login.c(118): \t\t\t\tcase 37: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ?
+1 : -1), "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\t// -1 day on ctrl or command +left\n
Login.c(118): \t\t\t\t\t\tif (event.originalEvent.altKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t\t-$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t\t-$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// next month/year on alt +left on Mac\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase 38: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, -7, "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // -1 week on ctrl or command +up\n
Login.c(118): \t\t\t\tcase 39: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ?
-1 : +1), "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\t// +1 day on ctrl or command +right\n
Login.c(118): \t\t\t\t\t\tif (event.originalEvent.altKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target,
(event.ctrlKey ?\n
Login.c(118): \t\t\t\t\t\t\t\t+$.datepicker._get(inst, "stepBigMonths") :\n
Login.c(118): \t\t\t\t\t\t\t\t+$.datepicker._get(inst, "stepMonths")), "M");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// next month/year on alt +right\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase 40: if (event.ctrlKey || event.metaKey) {\n
Login.c(118): \t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, +7, "D");\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n
Login.c(118): \t\t\t\t\t\tbreak; // +1 week on ctrl or command +down\n
Login.c(118): \t\t\t\tdefault: handled = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else if (event.keyCode === 36 && event.ctrlKey) { //
display the date picker on ctrl
Login.c(118): +home\n
Login.c(118): \t\t\t$.datepicker._showDatepicker(this);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\thandled = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (handled) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tevent.stopPropagation();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Filter entered characters - based on date format. */\n
Login.c(118): \t_doKeyPress: function(event) {\n
Login.c(118): \t\tvar chars, chr,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target);\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._get(inst, "constrainInput")) {\n
Login.c(118): \t\t\tchars = $.datepicker._possibleChars($.datepicker._get(inst,
"dateFormat"));\n
Login.c(118): \t\t\tchr = String.fromCharCode(event.charCode == null ?
event.keyCode : event.charCode);\n
Login.c(118): \t\t\treturn event.ctrlKey || event.metaKey || (chr < " " || !
chars || chars.indexOf(chr)
Login.c(118): > -1);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Synchronise manual entry and field/alternate field. */\n
Login.c(118): \t_doKeyUp: function(event) {\n
Login.c(118): \t\tvar date,\n
Login.c(118): \t\t\tinst = $.datepicker._getInst(event.target);\n
Login.c(118): \n
Login.c(118): \t\tif (inst.input.val() !== inst.lastVal) {\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tdate = $.datepicker.parseDate($.datepicker._get(inst,
"dateFormat"),\n
Login.c(118): \t\t\t\t\t(inst.input ? inst.input.val() : null),\n
Login.c(118): \t\t\t\t\t$.datepicker._getFormatConfig(inst));\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (date) { // only if valid\n
Login.c(118): \t\t\t\t\t$.datepicker._setDateFromField(inst);\n
Login.c(118): \t\t\t\t\t$.datepicker._updateAlternate(inst);\n
Login.c(118): \t\t\t\t\t$.datepicker._updateDatepicker(inst);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tcatch (err) {\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Pop-up the date picker for a given input field.\n
Login.c(118): \t * If false returned from beforeShow event handler do not
show.\n
Login.c(118): \t * @param input element - the input field attached to the
date picker or\n
Login.c(118): \t *\t\t\t\t\tevent - if triggered by focus\n
Login.c(118): \t */\n
Login.c(118): \t_showDatepicker: function(input) {\n
Login.c(118): \t\tinput = input.target || input;\n
Login.c(118): \t\tif (input.nodeName.toLowerCase() !== "input") { // find from
button/image trigger\n
Login.c(118): \t\t\tinput = $("input", input.parentNode)[0];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._isDisabledDatepicker(input) ||
$.datepicker._lastInput === input) {
Login.c(118): // already here\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar inst, beforeShow, beforeShowSettings, isFixed,\n
Login.c(118): \t\t\toffset, showAnim, duration;\n
Login.c(118): \n
Login.c(118): \t\tinst = $.datepicker._getInst(input);\n
Login.c(118): \t\tif ($.datepicker._curInst && $.datepicker._curInst !== inst)
{\n
Login.c(118): \t\t\t$.datepicker._curInst.dpDiv.stop(true, true);\n
Login.c(118): \t\t\tif ( inst && $.datepicker._datepickerShowing ) {\n
Login.c(118):
\t\t\t\t$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tbeforeShow = $.datepicker._get(inst, "beforeShow");\n
Login.c(118): \t\tbeforeShowSettings = beforeShow ? beforeShow.apply(input,
[input, inst]) : {};\n
Login.c(118): \t\tif(beforeShowSettings === false){\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdatepicker_extendRemove(inst.settings, beforeShowSettings);\n
Login.c(118): \n
Login.c(118): \t\tinst.lastVal = null;\n
Login.c(118): \t\t$.datepicker._lastInput = input;\n
Login.c(118): \t\t$.datepicker._setDateFromField(inst);\n
Login.c(118): \n
Login.c(118): \t\tif ($.datepicker._inDialog) { // hide cursor\n
Login.c(118): \t\t\tinput.value = "";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (!$.datepicker._pos) { // p
Login.c(118): t=6211ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): osition below input\n
Login.c(118): \t\t\t$.datepicker._pos = $.datepicker._findPos(input);\n
Login.c(118): \t\t\t$.datepicker._pos[1] += input.offsetHeight; // add the
height\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tisFixed = false;\n
Login.c(118): \t\t$(input).parents().each(function() {\n
Login.c(118): \t\t\tisFixed |= $(this).css("position") === "fixed";\n
Login.c(118): \t\t\treturn !isFixed;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\toffset = {left: $.datepicker._pos[0], top:
$.datepicker._pos[1]};\n
Login.c(118): \t\t$.datepicker._pos = null;\n
Login.c(118): \t\t//to avoid flashes on Firefox\n
Login.c(118): \t\tinst.dpDiv.empty();\n
Login.c(118): \t\t// determine sizing offscreen\n
Login.c(118): \t\tinst.dpDiv.css({position: "absolute", display: "block", top:
"-1000px"});\n
Login.c(118): \t\t$.datepicker._updateDatepicker(inst);\n
Login.c(118): \t\t// fix width for dynamic number of date pickers\n
Login.c(118): \t\t// and adjust position before showing\n
Login.c(118): \t\toffset = $.datepicker._checkOffset(inst, offset, isFixed);\n
Login.c(118): \t\tinst.dpDiv.css({position: ($.datepicker._inDialog &&
$.blockUI ?\n
Login.c(118): \t\t\t"static" : (isFixed ? "fixed" : "absolute")), display:
"none",\n
Login.c(118): \t\t\tleft: offset.left + "px", top: offset.top + "px"});\n
Login.c(118): \n
Login.c(118): \t\tif (!inst.inline) {\n
Login.c(118): \t\t\tshowAnim = $.datepicker._get(inst, "showAnim");\n
Login.c(118): \t\t\tduration = $.datepicker._get(inst, "duration");\n
Login.c(118): \t\t\tinst.dpDiv.css( "z-index", datepicker_getZindex( $( input )
) + 1 );\n
Login.c(118): \t\t\t$.datepicker._datepickerShowing = true;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( $.effects && $.effects.effect[ showAnim ] ) {\n
Login.c(118): \t\t\t\tinst.dpDiv.show(showAnim, $.datepicker._get(inst,
"showOptions"), duration);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tinst.dpDiv[showAnim || "show"](showAnim ? duration :
null);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( $.datepicker._shouldFocusInput( inst ) ) {\n
Login.c(118): \t\t\t\tinst.input.focus();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.datepicker._curInst = inst;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the date picker content. */\n
Login.c(118): \t_updateDatepicker: function(inst) {\n
Login.c(118): \t\tthis.maxRows = 4; //Reset the max number of rows being
displayed (see #7043)\n
Login.c(118): \t\tdatepicker_instActive = inst; // for delegate hover events\n
Login.c(118): \t\tinst.dpDiv.empty().append(this._generateHTML(inst));\n
Login.c(118): \t\tthis._attachHandlers(inst);\n
Login.c(118): \n
Login.c(118): \t\tvar origyearshtml,\n
Login.c(118): \t\t\tnumMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tcols = numMonths[1],\n
Login.c(118): \t\t\twidth = 17,\n
Login.c(118): \t\t\tactiveCell = inst.dpDiv.find( "." + this._dayOverClass + "
a" );\n
Login.c(118): \n
Login.c(118): \t\tif ( activeCell.length > 0 ) {\n
Login.c(118): \t\t\tdatepicker_handleMouseover.apply( activeCell.get( 0 ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-
multi-3 ui-datepicker-mult
Login.c(118): i-4").width("");\n
Login.c(118): \t\tif (cols > 1) {\n
Login.c(118): \t\t\tinst.dpDiv.addClass("ui-datepicker-multi-" +
cols).css("width", (width * cols) + "em
Login.c(118): ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ?
"add" : "remove") +\n
Login.c(118): \t\t\t"Class"]("ui-datepicker-multi");\n
Login.c(118): \t\tinst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +\n
Login.c(118): \t\t\t"Class"]("ui-datepicker-rtl");\n
Login.c(118): \n
Login.c(118): \t\tif (inst === $.datepicker._curInst &&
$.datepicker._datepickerShowing && $.datepicker.
Login.c(118): _shouldFocusInput( inst ) ) {\n
Login.c(118): \t\t\tinst.input.focus();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// deffered render of the years select (to avoid flashes on
Firefox)\n
Login.c(118): \t\tif( inst.yearshtml ){\n
Login.c(118): \t\t\torigyearshtml = inst.yearshtml;\n
Login.c(118): \t\t\tsetTimeout(function(){\n
Login.c(118): \t\t\t\t//assure that inst.yearshtml didn't change.\n
Login.c(118): \t\t\t\tif( origyearshtml === inst.yearshtml && inst.yearshtml )
{\n
Login.c(118): \t\t\t\t\tinst.dpDiv.find("select.ui-datepicker-
year:first").replaceWith(inst.yearshtml);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\torigyearshtml = inst.yearshtml = null;\n
Login.c(118): \t\t\t}, 0);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// #6694 - don't focus the input if it's already focused\n
Login.c(118): \t// this breaks the change event in IE\n
Login.c(118): \t// Support: IE and jQuery <1.9\n
Login.c(118): \t_shouldFocusInput: function( inst ) {\n
Login.c(118): \t\treturn inst.input && inst.input.is( ":visible" ) && !
inst.input.is( ":disabled" ) && !
Login.c(118): inst.input.is( ":focus" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Check positioning to remain on screen. */\n
Login.c(118): \t_checkOffset: function(inst, offset, isFixed) {\n
Login.c(118): \t\tvar dpWidth = inst.dpDiv.outerWidth(),\n
Login.c(118): \t\t\tdpHeight = inst.dpDiv.outerHeight(),\n
Login.c(118): \t\t\tinputWidth = inst.input ? inst.input.outerWidth() : 0,\n
Login.c(118): \t\t\tinputHeight = inst.input ? inst.input.outerHeight() : 0,\n
Login.c(118): \t\t\tviewWidth = document.documentElement.clientWidth + (isFixed
? 0 : $(document).scroll
Login.c(118): Left()),\n
Login.c(118): \t\t\tviewHeight = document.documentElement.clientHeight +
(isFixed ? 0 : $(document).scro
Login.c(118): llTop());\n
Login.c(118): \n
Login.c(118): \t\toffset.left -= (this._get(inst, "isRTL") ? (dpWidth -
inputWidth) : 0);\n
Login.c(118): \t\toffset.left -= (isFixed && offset.left ===
inst.input.offset().left) ? $(document).scr
Login.c(118): ollLeft() : 0;\n
Login.c(118): \t\toffset.top -= (isFixed && offset.top ===
(inst.input.offset().top + inputHeight)) ? $(
Login.c(118): document).scrollTop() : 0;\n
Login.c(118): \n
Login.c(118): \t\t// now check if datepicker is showing outside window viewport
- move to a better place
Login.c(118): if so.\n
Login.c(118): \t\toffset.left -= Math.min(offset.left, (offset.left + dpWidth >
viewWidth && viewWidth >
Login.c(118): dpWidth) ?\n
Login.c(118): \t\t\tMath.abs(offset.left + dpWidth - viewWidth) : 0);\n
Login.c(118): \t\toffset.top -= Math.min(offset.top, (offset.top + dpHeight >
viewHeight && viewHeight >
Login.c(118): dpHeight) ?\n
Login.c(118): \t\t\tMath.abs(dpHeight + inputHeight) : 0);\n
Login.c(118): \n
Login.c(118): \t\treturn offset;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find an object's position on the screen. */\n
Login.c(118): \t_findPos: function(obj) {\n
Login.c(118): \t\tvar position,\n
Login.c(118): \t\t\tinst = this._getInst(obj),\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL");\n
Login.c(118): \n
Login.c(118): \t\twhile (obj && (obj.type === "hidden" || obj.nodeType !== 1 ||
$.expr.filters.hidden(ob
Login.c(118): j))) {\n
Login.c(118): \t\t\tobj = obj[isRTL ? "previousSibling" : "nextSibling"];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tposition = $(obj).offset();\n
Login.c(118): \t\treturn [position.left, position.top];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Hide the date picker from view.\n
Login.c(118): \t * @param input element - the input field attached to the
date picker\n
Login.c(118): \t */\n
Login.c(118): \t_hideDatepicker: function(input) {\n
Login.c(118): \t\tvar showAnim, duration, postProcess, onClose,\n
Login.c(118): \t\t\tinst = this._curInst;\n
Login.c(118): \n
Login.c(118): \t\tif (!inst || (input && inst !== $.data(input, "datepicker")))
{\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this._datepickerShowing) {\n
Login.c(118): \t\t\tshowAnim = this._get(inst, "showAnim");\n
Login.c(118): \t\t\tduration = this._get(inst, "duration");\n
Login.c(118): \t\t\tpostProcess = function() {\n
Login.c(118): \t\t\t\t$.datepicker._tidyDialog(inst);\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is
not needed\n
Login.c(118): \t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] ||
$.effects[ showAnim ] ) ) {\n
Login.c(118): \t\t\t\tinst.dpDiv.hide(showAnim, $.datepicker._get(inst,
"showOptions"), duration, postPr
Login.c(118): ocess);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tinst.dpDiv[(showAnim === "slideDown" ? "slideUp" :\n
Login.c(118): \t\t\t\t\t(showAnim === "fadeIn" ? "fadeOut" : "hide"))]
((showAnim ? duration : null), pos
Login.c(118): tProcess);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!showAnim) {\n
Login.c(118): \t\t\t\tpostProcess();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._datepickerShowing = false;\n
Login.c(118): \n
Login.c(118): \t\t\tonClose = this._get(inst, "onClose");\n
Login.c(118): \t\t\tif (onClose) {\n
Login.c(118): \t\t\t\tonClose.apply((inst.input ? inst.input[0] : null),
[(inst.input ? inst.input.val()
Login.c(118): : ""), inst]);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._lastInput = null;\n
Login.c(118): \t\t\tif (this._inDialog) {\n
Login.c(118): \t\t\t\tthis._dialogInput.css({ position: "absolute", left: "0",
top: "-100px" });\n
Login.c(118): \t\t\t\tif ($.blockUI) {\n
Login.c(118): \t\t\t\t\t$.unblockUI();\n
Login.c(118): \t\t\t\t\t$("body").append(this.dpDiv);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._inDialog = false;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Tidy up after a dialog display. */\n
Login.c(118): \t_tidyDialog: function(inst) {\n
Login.c(118): \t\tinst.dpDiv.removeClass(this._dialogClass).unbind(".ui-
datepicker-calendar");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Close date picker if clicked elsewhere. */\n
Login.c(118): \t_checkExternalClick: function(event) {\n
Login.c(118): \t\tif (!$.datepicker._curInst) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar $target = $(event.target),\n
Login.c(118): \t\t\tinst = $.datepicker._getInst($target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif ( ( ( $target[0].id !== $.datepicker._mainDivId &&\n
Login.c(118): \t\t\t\t$target.parents("#" + $.datepicker._mainDivId).length ===
0 &&\n
Login.c(118): \t\t\t\t!$target.hasClass($.datepicker.markerClassName) &&\n
Login.c(118): \t\t\t\t!$target.closest("." + $.datepicker._triggerClass).length
&&\n
Login.c(118): \t\t\t\t$.datepicker._datepickerShowing && !
($.datepicker._inDialog && $.blockUI) ) ) ||\n
Login.c(118): \t\t\t( $target.hasClass($.datepicker.markerClassName) &&
$.datepicker._curInst !== inst )
Login.c(118): ) {\n
Login.c(118): \t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Adjust one of the date sub-fields. */\n
Login.c(118): \t_adjustDate: function(id, offset, period) {\n
Login.c(118): \t\tvar target = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif (this._isDisabledDatepicker(target[0])) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._adjustInstDate(inst, offset +\n
Login.c(118): \t\t\t(period === "M" ? this._get(inst, "showCurrentAtPos") : 0),
// undo positioning\n
Login.c(118): \t\t\tperiod);\n
Login.c(118): \t\tthis._updateDatepicker(inst);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for current link. */\n
Login.c(118): \t_gotoToday: function(id) {\n
Login.c(118): \t\tvar date,\n
Login.c(118): \t\t\ttarget = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tif (this._get(inst, "gotoCurrent") && inst.currentDay) {\n
Login.c(118): \t\t\tinst.selectedDay = inst.currentDay;\n
Login.c(118): \t\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth;\n
Login.c(118): \t\t\tinst.drawYear = inst.selectedYear = inst.currentYear;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tdate = new Date();\n
Login.c(118): \t\t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._notifyChange(inst);\n
Login.c(118): \t\tthis._adjustDate(target);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for selecting a new month/year. */\n
Login.c(118): \t_selectMonthYear: function(id, select, period) {\n
Login.c(118): \t\tvar target = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tinst["selected" + (period === "M" ? "Month" : "Year")] =\n
Login.c(118): \t\tinst["draw" + (period === "M" ? "Month" : "Year")] =\n
Login.c(118): \t\t\tparseInt(select.options[select.selectedIndex].value,10);\n
Login.c(118): \n
Login.c(118): \t\tthis._notifyChange(inst);\n
Login.c(118): \t\tthis._adjustDate(target);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Action for selecting a day. */\n
Login.c(118): \t_selectDay: function(id, month, year, td) {\n
Login.c(118): \t\tvar inst,\n
Login.c(118): \t\t\ttarget = $(id);\n
Login.c(118): \n
Login.c(118): \t\tif ($(td).hasClass(this._unselectableClass) ||
this._isDisabledDatepicker(target[0]))
Login.c(118): {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tinst = this._getInst(target[0]);\n
Login.c(118): \t\tinst.selectedDay = inst.currentDay = $("a", td).html();\n
Login.c(118): \t\tinst.selectedMonth = inst.currentMonth = month;\n
Login.c(118): \t\tinst.selectedYear = inst.currentYear = year;\n
Login.c(118): \t\tthis._selectDate(id, this._formatDate(inst,\n
Login.c(118): \t\t\tinst.currentDay, inst.currentMonth, inst.currentYear));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Erase the input field and hide the date picker. */\n
Login.c(118): \t_clearDate: function(id) {\n
Login.c(118): \t\tvar target = $(id);\n
Login.c(118): \t\tthis._selectDate(target, "");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update the input field with the selected date. */\n
Login.c(118): \t_selectDate: function(id, dateStr) {\n
Login.c(118): \t\tvar onSelect,\n
Login.c(118): \t\t\ttarget = $(id),\n
Login.c(118): \t\t\tinst = this._getInst(target[0]);\n
Login.c(118): \n
Login.c(118): \t\tdateStr = (dateStr != null ? dateStr :
this._formatDate(inst));\n
Login.c(118): \t\tif (inst.input) {\n
Login.c(118): \t\t\tinst.input.val(dateStr);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._updateAlternate(inst);\n
Login.c(118): \n
Login.c(118): \t\tonSelect = this._get(inst, "onSelect");\n
Login.c(118): \t\tif (onSelect) {\n
Login.c(118): \t\t\tonSelect.apply((inst.input ? inst.input[0] : null),
[dateStr, inst]); // trigger cu
Login.c(118): stom callback\n
Login.c(118): \t\t} else if (inst.input) {\n
Login.c(118): \t\t\tinst.input.trigger("change"); // fire the change event\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (inst.inline){\n
Login.c(118): \t\t\tthis._updateDatepicker(inst);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._hideDatepicker();\n
Login.c(118): \t\t\tthis._lastInput = inst.input[0];\n
Login.c(118): \t\t\tif (typeof(inst.input[0]) !== "object") {\n
Login.c(118): \t\t\t\tinst.input.focus(); // restore focus\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._lastInput = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Update any alternate field to synchronise with the main
field. */\n
Login.c(118): \t_updateAlternate: function(inst) {\n
Login.c(118): \t\tvar altFormat, date, dateStr,\n
Login.c(118): \t\t\taltField = this._get(inst, "altField");\n
Login.c(118): \n
Login.c(118): \t\tif (altField) { // update alternate field too\n
Login.c(118): \t\t\taltFormat = this._get(inst, "altFormat") || this._ge
Login.c(118): t=6227ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): t(inst, "dateFormat");\n
Login.c(118): \t\t\tdate = this._getDate(inst);\n
Login.c(118): \t\t\tdateStr = this.formatDate(altFormat, date,
this._getFormatConfig(inst));\n
Login.c(118): \t\t\t$(altField).each(function() { $(this).val(dateStr); });\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set as beforeShowDay function to prevent selection of
weekends.\n
Login.c(118): \t * @param date Date - the date to customise\n
Login.c(118): \t * @return [boolean, string] - is this date selectable?, what
is its CSS class?\n
Login.c(118): \t */\n
Login.c(118): \tnoWeekends: function(date) {\n
Login.c(118): \t\tvar day = date.getDay();\n
Login.c(118): \t\treturn [(day > 0 && day < 6), ""];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set as calculateWeek to determine the week of the year based
on the ISO 8601 definiti
Login.c(118): on.\n
Login.c(118): \t * @param date Date - the date to get the week for\n
Login.c(118): \t * @return number - the number of the week within the year
that contains this date\n
Login.c(118): \t */\n
Login.c(118): \tiso8601Week: function(date) {\n
Login.c(118): \t\tvar time,\n
Login.c(118): \t\t\tcheckDate = new Date(date.getTime());\n
Login.c(118): \n
Login.c(118): \t\t// Find Thursday of this week starting on Monday\n
Login.c(118): \t\tcheckDate.setDate(checkDate.getDate() + 4 -
(checkDate.getDay() || 7));\n
Login.c(118): \n
Login.c(118): \t\ttime = checkDate.getTime();\n
Login.c(118): \t\tcheckDate.setMonth(0); // Compare with Jan 1\n
Login.c(118): \t\tcheckDate.setDate(1);\n
Login.c(118): \t\treturn Math.floor(Math.round((time - checkDate) / 86400000) /
7) + 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Parse a string value into a date object.\n
Login.c(118): \t * See formatDate below for the possible formats.\n
Login.c(118): \t *\n
Login.c(118): \t * @param format string - the expected format of the date\n
Login.c(118): \t * @param value string - the date in the above format\n
Login.c(118): \t * @param settings Object - attributes include:\n
Login.c(118): \t *\t\t\t\t\tshortYearCutoff number - the cutoff year for
determining the century (optio
Login.c(118): nal)\n
Login.c(118): \t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the
days from Sunday (option
Login.c(118): al)\n
Login.c(118): \t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from
Sunday (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of
the months (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months
(optional)\n
Login.c(118): \t * @return Date - the extracted date value or null if value is
blank\n
Login.c(118): \t */\n
Login.c(118): \tparseDate: function (format, value, settings) {\n
Login.c(118): \t\tif (format == null || value == null) {\n
Login.c(118): \t\t\tthrow "Invalid arguments";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalue = (typeof value === "object" ? value.toString() : value
+ "");\n
Login.c(118): \t\tif (value === "") {\n
Login.c(118): \t\t\treturn null;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar iFormat, dim, extra,\n
Login.c(118): \t\t\tiValue = 0,\n
Login.c(118): \t\t\tshortYearCutoffTemp = (settings ?
settings.shortYearCutoff : null) || this._defaults
Login.c(118): .shortYearCutoff,\n
Login.c(118): \t\t\tshortYearCutoff = (typeof shortYearCutoffTemp !==
"string" ? shortYearCutoffTemp :\n
Login.c(118): \t\t\t\tnew Date().getFullYear() % 100 +
parseInt(shortYearCutoffTemp, 10)),\n
Login.c(118): \t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null)
|| this._defaults.dayName
Login.c(118): sShort,\n
Login.c(118): \t\t\tdayNames = (settings ? settings.dayNames : null) ||
this._defaults.dayNames,\n
Login.c(118): \t\t\tmonthNamesShort = (settings ? settings.monthNamesShort :
null) || this._defaults.mon
Login.c(118): thNamesShort,\n
Login.c(118): \t\t\tmonthNames = (settings ? settings.monthNames : null) ||
this._defaults.monthNames,\n
Login.c(118): \t\t\tyear = -1,\n
Login.c(118): \t\t\tmonth = -1,\n
Login.c(118): \t\t\tday = -1,\n
Login.c(118): \t\t\tdoy = -1,\n
Login.c(118): \t\t\tliteral = false,\n
Login.c(118): \t\t\tdate,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Extract a number from the string value\n
Login.c(118): \t\t\tgetNumber = function(match) {\n
Login.c(118): \t\t\t\tvar isDoubled = lookAhead(match),\n
Login.c(118): \t\t\t\t\tsize = (match === "@" ? 14 : (match === "!" ? 20 :\n
Login.c(118): \t\t\t\t\t(match === "y" && isDoubled ? 4 : (match === "o" ? 3 :
2)))),\n
Login.c(118): \t\t\t\t\tminSize = (match === "y" ? size : 1),\n
Login.c(118): \t\t\t\t\tdigits = new RegExp("^\\\\d{" + minSize + "," + size +
"}"),\n
Login.c(118): \t\t\t\t\tnum = value.substring(iValue).match(digits);\n
Login.c(118): \t\t\t\tif (!num) {\n
Login.c(118): \t\t\t\t\tthrow "Missing number at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tiValue += num[0].length;\n
Login.c(118): \t\t\t\treturn parseInt(num[0], 10);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Extract a name from the string value and convert to an
index\n
Login.c(118): \t\t\tgetName = function(match, shortNames, longNames) {\n
Login.c(118): \t\t\t\tvar index = -1,\n
Login.c(118): \t\t\t\t\tnames = $.map(lookAhead(match) ? longNames :
shortNames, function (v, k) {\n
Login.c(118): \t\t\t\t\t\treturn [ [k, v] ];\n
Login.c(118): \t\t\t\t\t}).sort(function (a, b) {\n
Login.c(118): \t\t\t\t\t\treturn -(a[1].length - b[1].length);\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t$.each(names, function (i, pair) {\n
Login.c(118): \t\t\t\t\tvar name = pair[1];\n
Login.c(118): \t\t\t\t\tif (value.substr(iValue, name.length).toLowerCase() ===
name.toLowerCase()) {\n
Login.c(118): \t\t\t\t\t\tindex = pair[0];\n
Login.c(118): \t\t\t\t\t\tiValue += name.length;\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t\tif (index !== -1) {\n
Login.c(118): \t\t\t\t\treturn index + 1;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthrow "Unknown name at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Confirm that a literal character matches the string
value\n
Login.c(118): \t\t\tcheckLiteral = function() {\n
Login.c(118): \t\t\t\tif (value.charAt(iValue) !== format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tthrow "Unexpected literal at position " + iValue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tiValue++;\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\tif (literal) {\n
Login.c(118): \t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tcase "d":\n
Login.c(118): \t\t\t\t\t\tday = getNumber("d");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "D":\n
Login.c(118): \t\t\t\t\t\tgetName("D", dayNamesShort, dayNames);\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "o":\n
Login.c(118): \t\t\t\t\t\tdoy = getNumber("o");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "m":\n
Login.c(118): \t\t\t\t\t\tmonth = getNumber("m");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "M":\n
Login.c(118): \t\t\t\t\t\tmonth = getName("M", monthNamesShort, monthNames);\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "y":\n
Login.c(118): \t\t\t\t\t\tyear = getNumber("y");\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "@":\n
Login.c(118): \t\t\t\t\t\tdate = new Date(getNumber("@"));\n
Login.c(118): \t\t\t\t\t\tyear = date.getFullYear();\n
Login.c(118): \t\t\t\t\t\tmonth = date.getMonth() + 1;\n
Login.c(118): \t\t\t\t\t\tday = date.getDate();\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "!":\n
Login.c(118): \t\t\t\t\t\tdate = new Date((getNumber("!") -
this._ticksTo1970) / 10000);\n
Login.c(118): \t\t\t\t\t\tyear = date.getFullYear();\n
Login.c(118): \t\t\t\t\t\tmonth = date.getMonth() + 1;\n
Login.c(118): \t\t\t\t\t\tday = date.getDate();\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\tif (lookAhead("'")){\n
Login.c(118): \t\t\t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\tcheckLiteral();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (iValue < value.length){\n
Login.c(118): \t\t\textra = value.substr(iValue);\n
Login.c(118): \t\t\tif (!/^\\s+/.test(extra)) {\n
Login.c(118): \t\t\t\tthrow "Extra/unparsed characters found in date: " +
extra;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (year === -1) {\n
Login.c(118): \t\t\tyear = new Date().getFullYear();\n
Login.c(118): \t\t} else if (year < 100) {\n
Login.c(118): \t\t\tyear += new Date().getFullYear() - new Date().getFullYear()
% 100 +\n
Login.c(118): \t\t\t\t(year <= shortYearCutoff ? 0 : -100);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (doy > -1) {\n
Login.c(118): \t\t\tmonth = 1;\n
Login.c(118): \t\t\tday = doy;\n
Login.c(118): \t\t\tdo {\n
Login.c(118): \t\t\t\tdim = this._getDaysInMonth(year, month - 1);\n
Login.c(118): \t\t\t\tif (day <= dim) {\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmonth++;\n
Login.c(118): \t\t\t\tday -= dim;\n
Login.c(118): \t\t\t} while (true);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdate = this._daylightSavingAdjust(new Date(year, month - 1,
day));\n
Login.c(118): \t\tif (date.getFullYear() !== year || date.getMonth() + 1 !==
month || date.getDate() !==
Login.c(118): day) {\n
Login.c(118): \t\t\tthrow "Invalid date"; // E.g. 31/02/00\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn date;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Standard date formats. */\n
Login.c(118): \tATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)\n
Login.c(118): \tCOOKIE: "D, dd M yy",\n
Login.c(118): \tISO_8601: "yy-mm-dd",\n
Login.c(118): \tRFC_822: "D, d M y",\n
Login.c(118): \tRFC_850: "DD, dd-M-y",\n
Login.c(118): \tRFC_1036: "D, d M y",\n
Login.c(118): \tRFC_1123: "D, d M yy",\n
Login.c(118): \tRFC_2822: "D, d M yy",\n
Login.c(118): \tRSS: "D, d M y", // RFC 822\n
Login.c(118): \tTICKS: "!",\n
Login.c(118): \tTIMESTAMP: "@",\n
Login.c(118): \tW3C: "yy-mm-dd", // ISO 8601\n
Login.c(118): \n
Login.c(118): \t_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) -
Math.floor(1970 / 100) +\n
Login.c(118): \t\tMath.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),\n
Login.c(118): \n
Login.c(118): \t/* Format a date object into a string value.\n
Login.c(118): \t * The format can be combinations of the following:\n
Login.c(118): \t * d - day of month (no leading zero)\n
Login.c(118): \t * dd - day of month (two digit)\n
Login.c(118): \t * o - day of year (no leading zeros)\n
Login.c(118): \t * oo - day of year (three digit)\n
Login.c(118): \t * D - day name short\n
Login.c(118): \t * DD - day name long\n
Login.c(118): \t * m - month of year (no leading zero)\n
Login.c(118): \t * mm - month of year (two digit)\n
Login.c(118): \t * M - month name short\n
Login.c(118): \t * MM - month name long\n
Login.c(118): \t * y - year (two digit)\n
Login.c(118): \t * yy - year (four digit)\n
Login.c(118): \t * @ - Unix timestamp (ms since 01/01/1970)\n
Login.c(118): \t * ! - Windows ticks (100ns since 01/01/0001)\n
Login.c(118): \t * "..." - literal text\n
Login.c(118): \t * '' - single quote\n
Login.c(118): \t *\n
Login.c(118): \t * @param format string - the desired format of the date\n
Login.c(118): \t * @param date Date - the date value to format\n
Login.c(118): \t * @param settings Object - attributes include:\n
Login.c(118): \t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the
days from Sunday (option
Login.c(118): al)\n
Login.c(118): \t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from
Sunday (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of
the months (optional)\n
Login.c(118): \t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months
(optional)\n
Login.c(118): \t * @return string - the date in the above format\n
Login.c(118): \t */\n
Login.c(118): \tformatDate: function (format, date, settings) {\n
Login.c(118): \t\tif (!date) {\n
Login.c(118): \t\t\treturn "";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar iFormat,\n
Login.c(118): \t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null)
|| this._defaults.dayName
Login.c(118): sShort,\n
Login.c(118): \t\t\tdayNames = (settings ? settings.dayNames : null) ||
this._defaults.dayNames,\n
Login.c(118): \t\t\tmonthNamesShort = (settings ? settings.monthNamesShort :
null) || this._defaults.mon
Login.c(118): thNamesShort,\n
Login.c(118): \t\t\tmonthNames = (settings ? settings.monthNames : null) ||
this._defaults.monthNames,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Format a number, with leading zero if necessary\n
Login.c(118): \t\t\tformatNumber = function(match, value, len) {\n
Login.c(118): \t\t\t\tvar num = "" + value;\n
Login.c(118): \t\t\t\tif (lookAhead(match)) {\n
Login.c(118): \t\t\t\t\twhile (num.length < len) {\n
Login.c(118): \t\t\t\t\t\tnum = "0" + num;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn num;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\t// Format a name, short or long as requested\n
Login.c(118): \t\t\tformatName = function(match, value, shortNames, longNames)
{\n
Login.c(118): \t\t\t\treturn (lookAhead(match) ? longNames[value] :
shortNames[value]);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\toutput = "",\n
Login.c(118): \t\t\tliteral = false;\n
Login.c(118): \n
Login.c(118): \t\tif (date) {\n
Login.c(118): \t\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\t\tif (literal) {\n
Login.c(118): \t\t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\toutput += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\t\tcase "d":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("d", date.getDate(), 2);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "D":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatName("D", date.getDay(),
dayNamesShort, dayNames);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "o":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("o",\n
Login.c(118): \t\t\t\t\t\t\t\tMath.round((new Date(date.getFullYear(),
date.getMonth(), date.getDate()).
Login.c(118): getTime() - new Date(date.getFullYear(), 0, 0).getTime()) /
86400000), 3);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "m":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatNumber("m", date.getMonth() + 1,
2);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "M":\n
Login.c(118): \t\t\t\t\t\t\toutput += formatName("M", date.getMonth(),
monthNamesShort, monthNames);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "y":\n
Login.c(118): \t\t\t\t\t\t\toutput += (lookAhead("y") ? date.getFullYear() :\n
Login.c(118): \t\t\t\t\t\t\t\t(date.getYear() % 100 < 10 ? "0" : "") +
date.getYear() % 100);\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "@":\n
Login.c(118): \t\t\t\t\t\t\toutput += date.getTime();\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "!":\n
Login.c(118): \t\t\t\t\t\t\toutput += date.getTime() * 10000 +
this._ticksTo1970;\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\t\tif (lookAhead("'")) {\n
Login.c(118): \t\t\t\t\t\t\t\toutput += "'";\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\t\toutput += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn output;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Extract all possible characters from the date format. */\n
Login.c(118): \t_possibleChars: function (format) {\n
Login.c(118): \t\tvar iFormat,\n
Login.c(118): \t\t\tchars = "",\n
Login.c(118): \t\t\tliteral = false,\n
Login.c(118): \t\t\t// Check whether a format character is doubled\n
Login.c(118): \t\t\tlookAhead = function(match) {\n
Login.c(118): \t\t\t\tvar matches = (iFormat + 1 < format.length &&
format.charAt(iFormat + 1) === match
Login.c(118): );\n
Login.c(118): \t\t\t\tif (matches) {\n
Login.c(118): \t\t\t\t\tiFormat++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn matches;\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n
Login.c(118): \t\t\tif (literal) {\n
Login.c(118): \t\t\t\tif (format.charAt(iFormat) === "'" && !lookAhead("'"))
{\n
Login.c(118): \t\t\t\t\tliteral = false;\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tchars += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tswitch (format.charAt(iFormat)) {\n
Login.c(118): \t\t\t\t\tcase "d": case "m": case "y": case "@":\n
Login.c(118): \t\t\t\t\t\tchars += "0123456789";\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tcase "D": case "M":\n
Login.c(118): \t\t\t\t\t\treturn null; // Accept anything\n
Login.c(118): \t\t\t\t\tcase "'":\n
Login.c(118): \t\t\t\t\t\tif (lookAhead("'")) {\n
Login.c(118): \t\t\t\t\t\t\tchars += "'";\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\tliteral = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\tchars += format.charAt(iFormat);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn chars;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Get a setting value, defaulting if necessary. */\n
Login.c(118): \t_get: function(inst, name) {\n
Login.c(118): \t\treturn inst.settings[name] !== undefined ?\n
Login.c(118): \t\t\tinst.settings[name] : this._defaults[name];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Parse existing date and initialise date picker. */\n
Login.c(118): \t_setDateFromField: function(inst, noDefault) {\n
Login.c(118): \t\tif (inst.input.val() === inst.lastVal) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar dateFormat = this._get(inst, "dateFormat"),\n
Login.c(118): \t\t\tdates = inst.lastVal = inst.input ? inst.input.val() :
null,\n
Login.c(118): \t\t\tdefaultDate = this._getDefaultDate(inst),\n
Login.c(118): \t\t\tdate = defaultDate,\n
Login.c(118): \t\t\tsettings = this._getFormat
Login.c(118): t=6248ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Config(inst);\n
Login.c(118): \n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\tdate = this.parseDate(dateFormat, dates, settings) ||
defaultDate;\n
Login.c(118): \t\t} catch (event) {\n
Login.c(118): \t\t\tdates = (noDefault ? "" : dates);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\tinst.currentDay = (dates ? date.getDate() : 0);\n
Login.c(118): \t\tinst.currentMonth = (dates ? date.getMonth() : 0);\n
Login.c(118): \t\tinst.currentYear = (dates ? date.getFullYear() : 0);\n
Login.c(118): \t\tthis._adjustInstDate(inst);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the default date shown on opening. */\n
Login.c(118): \t_getDefaultDate: function(inst) {\n
Login.c(118): \t\treturn this._restrictMinMax(inst,\n
Login.c(118): \t\t\tthis._determineDate(inst, this._get(inst, "defaultDate"),
new Date()));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* A date may be specified as an exact value or a relative one.
*/\n
Login.c(118): \t_determineDate: function(inst, date, defaultDate) {\n
Login.c(118): \t\tvar offsetNumeric = function(offset) {\n
Login.c(118): \t\t\t\tvar date = new Date();\n
Login.c(118): \t\t\t\tdate.setDate(date.getDate() + offset);\n
Login.c(118): \t\t\t\treturn date;\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\toffsetString = function(offset) {\n
Login.c(118): \t\t\t\ttry {\n
Login.c(118): \t\t\t\t\treturn $.datepicker.parseDate($.datepicker._get(inst,
"dateFormat"),\n
Login.c(118): \t\t\t\t\t\toffset, $.datepicker._getFormatConfig(inst));\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcatch (e) {\n
Login.c(118): \t\t\t\t\t// Ignore\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tvar date = (offset.toLowerCase().match(/^c/) ?\n
Login.c(118): \t\t\t\t\t$.datepicker._getDate(inst) : null) || new Date(),\n
Login.c(118): \t\t\t\t\tyear = date.getFullYear(),\n
Login.c(118): \t\t\t\t\tmonth = date.getMonth(),\n
Login.c(118): \t\t\t\t\tday = date.getDate(),\n
Login.c(118): \t\t\t\t\tpattern = /([+\\-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,\n
Login.c(118): \t\t\t\t\tmatches = pattern.exec(offset);\n
Login.c(118): \n
Login.c(118): \t\t\t\twhile (matches) {\n
Login.c(118): \t\t\t\t\tswitch (matches[2] || "d") {\n
Login.c(118): \t\t\t\t\t\tcase "d" : case "D" :\n
Login.c(118): \t\t\t\t\t\t\tday += parseInt(matches[1],10); break;\n
Login.c(118): \t\t\t\t\t\tcase "w" : case "W" :\n
Login.c(118): \t\t\t\t\t\t\tday += parseInt(matches[1],10) * 7; break;\n
Login.c(118): \t\t\t\t\t\tcase "m" : case "M" :\n
Login.c(118): \t\t\t\t\t\t\tmonth += parseInt(matches[1],10);\n
Login.c(118): \t\t\t\t\t\t\tday = Math.min(day,
$.datepicker._getDaysInMonth(year, month));\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\tcase "y": case "Y" :\n
Login.c(118): \t\t\t\t\t\t\tyear += parseInt(matches[1],10);\n
Login.c(118): \t\t\t\t\t\t\tday = Math.min(day,
$.datepicker._getDaysInMonth(year, month));\n
Login.c(118): \t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tmatches = pattern.exec(offset);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn new Date(year, month, day);\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tnewDate = (date == null || date === "" ? defaultDate :
(typeof date === "string" ? o
Login.c(118): ffsetString(date) :\n
Login.c(118): \t\t\t\t(typeof date === "number" ? (isNaN(date) ? defaultDate :
offsetNumeric(date)) : ne
Login.c(118): w Date(date.getTime()))));\n
Login.c(118): \n
Login.c(118): \t\tnewDate = (newDate && newDate.toString() === "Invalid Date" ?
defaultDate : newDate);\n
Login.c(118): \t\tif (newDate) {\n
Login.c(118): \t\t\tnewDate.setHours(0);\n
Login.c(118): \t\t\tnewDate.setMinutes(0);\n
Login.c(118): \t\t\tnewDate.setSeconds(0);\n
Login.c(118): \t\t\tnewDate.setMilliseconds(0);\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._daylightSavingAdjust(newDate);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Handle switch to/from daylight saving.\n
Login.c(118): \t * Hours may be non-zero on daylight saving cut-over:\n
Login.c(118): \t * > 12 when midnight changeover, but then cannot generate\n
Login.c(118): \t * midnight datetime, so jump to 1AM, otherwise reset.\n
Login.c(118): \t * @param date (Date) the date to check\n
Login.c(118): \t * @return (Date) the corrected date\n
Login.c(118): \t */\n
Login.c(118): \t_daylightSavingAdjust: function(date) {\n
Login.c(118): \t\tif (!date) {\n
Login.c(118): \t\t\treturn null;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdate.setHours(date.getHours() > 12 ? date.getHours() + 2 :
0);\n
Login.c(118): \t\treturn date;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Set the date(s) directly. */\n
Login.c(118): \t_setDate: function(inst, date, noChange) {\n
Login.c(118): \t\tvar clear = !date,\n
Login.c(118): \t\t\torigMonth = inst.selectedMonth,\n
Login.c(118): \t\t\torigYear = inst.selectedYear,\n
Login.c(118): \t\t\tnewDate = this._restrictMinMax(inst,
this._determineDate(inst, date, new Date()));\n
Login.c(118): \n
Login.c(118): \t\tinst.selectedDay = inst.currentDay = newDate.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth =
newDate.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = inst.currentYear =
newDate.getFullYear();\n
Login.c(118): \t\tif ((origMonth !== inst.selectedMonth || origYear !==
inst.selectedYear) && !noChange)
Login.c(118): {\n
Login.c(118): \t\t\tthis._notifyChange(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._adjustInstDate(inst);\n
Login.c(118): \t\tif (inst.input) {\n
Login.c(118): \t\t\tinst.input.val(clear ? "" : this._formatDate(inst));\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Retrieve the date(s) directly. */\n
Login.c(118): \t_getDate: function(inst) {\n
Login.c(118): \t\tvar startDate = (!inst.currentYear || (inst.input &&
inst.input.val() === "") ? null :
Login.c(118): \n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(\n
Login.c(118): \t\t\tinst.currentYear, inst.currentMonth, inst.currentDay)));\n
Login.c(118): \t\t\treturn startDate;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Attach the onxxx handlers. These are declared statically
so\n
Login.c(118): \t * they work with static code transformers like Caja.\n
Login.c(118): \t */\n
Login.c(118): \t_attachHandlers: function(inst) {\n
Login.c(118): \t\tvar stepMonths = this._get(inst, "stepMonths"),\n
Login.c(118): \t\t\tid = "#" + inst.id.replace( /\\\\\\\\/g, "\\\\" );\n
Login.c(118): \t\tinst.dpDiv.find("[data-handler]").map(function () {\n
Login.c(118): \t\t\tvar handler = {\n
Login.c(118): \t\t\t\tprev: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._adjustDate(id, -stepMonths, "M");\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tnext: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._adjustDate(id, +stepMonths, "M");\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\thide: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._hideDatepicker();\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\ttoday: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._gotoToday(id);\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectDay: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectDay(id, +this.getAttribute("data-
month"), +this.getAttribute
Login.c(118): ("data-year"), this);\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectMonth: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectMonthYear(id, this, "M");\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tselectYear: function () {\n
Login.c(118): \t\t\t\t\t$.datepicker._selectMonthYear(id, this, "Y");\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\t$(this).bind(this.getAttribute("data-event"),
handler[this.getAttribute("data-handle
Login.c(118): r")]);\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the HTML for the current state of the date picker.
*/\n
Login.c(118): \t_generateHTML: function(inst) {\n
Login.c(118): \t\tvar maxDraw, prevText, prev, nextText, next, currentText,
gotoDate,\n
Login.c(118): \t\t\tcontrols, buttonPanel, firstDay, showWeek, dayNames,
dayNamesMin,\n
Login.c(118): \t\t\tmonthNames, monthNamesShort, beforeShowDay,
showOtherMonths,\n
Login.c(118): \t\t\tselectOtherMonths, defaultDate, html, dow, row, group, col,
selectedDate,\n
Login.c(118): \t\t\tcornerClass, calender, thead, day, daysInMonth, leadDays,
curRows, numRows,\n
Login.c(118): \t\t\tprintDate, dRow, tbody, daySettings, otherMonth,
unselectable,\n
Login.c(118): \t\t\ttempDate = new Date(),\n
Login.c(118): \t\t\ttoday = this._daylightSavingAdjust(\n
Login.c(118): \t\t\t\tnew Date(tempDate.getFullYear(), tempDate.getMonth(),
tempDate.getDate())), // cle
Login.c(118): ar time\n
Login.c(118): \t\t\tisRTL = this._get(inst, "isRTL"),\n
Login.c(118): \t\t\tshowButtonPanel = this._get(inst, "showButtonPanel"),\n
Login.c(118): \t\t\thideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),\n
Login.c(118): \t\t\tnavigationAsDateFormat = this._get(inst,
"navigationAsDateFormat"),\n
Login.c(118): \t\t\tnumMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tshowCurrentAtPos = this._get(inst, "showCurrentAtPos"),\n
Login.c(118): \t\t\tstepMonths = this._get(inst, "stepMonths"),\n
Login.c(118): \t\t\tisMultiMonth = (numMonths[0] !== 1 || numMonths[1] !==
1),\n
Login.c(118): \t\t\tcurrentDate = this._daylightSavingAdjust((!
inst.currentDay ? new Date(9999, 9, 9) :\n
Login.c(118): \t\t\t\tnew Date(inst.currentYear, inst.currentMonth,
inst.currentDay))),\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tdrawMonth = inst.drawMonth - showCurrentAtPos,\n
Login.c(118): \t\t\tdrawYear = inst.drawYear;\n
Login.c(118): \n
Login.c(118): \t\tif (drawMonth < 0) {\n
Login.c(118): \t\t\tdrawMonth += 12;\n
Login.c(118): \t\t\tdrawYear--;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (maxDate) {\n
Login.c(118): \t\t\tmaxDraw = this._daylightSavingAdjust(new
Date(maxDate.getFullYear(),\n
Login.c(118): \t\t\t\tmaxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1,
maxDate.getDate()));\n
Login.c(118): \t\t\tmaxDraw = (minDate && maxDraw < minDate ? minDate :
maxDraw);\n
Login.c(118): \t\t\twhile (this._daylightSavingAdjust(new Date(drawYear,
drawMonth, 1)) > maxDraw) {\n
Login.c(118): \t\t\t\tdrawMonth--;\n
Login.c(118): \t\t\t\tif (drawMonth < 0) {\n
Login.c(118): \t\t\t\t\tdrawMonth = 11;\n
Login.c(118): \t\t\t\t\tdrawYear--;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tinst.drawMonth = drawMonth;\n
Login.c(118): \t\tinst.drawYear = drawYear;\n
Login.c(118): \n
Login.c(118): \t\tprevText = this._get(inst, "prevText");\n
Login.c(118): \t\tprevText = (!navigationAsDateFormat ? prevText :
this.formatDate(prevText,\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth -
stepMonths, 1)),\n
Login.c(118): \t\t\tthis._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tprev = (this._canAdjustMonth(inst, -1, drawYear,
drawMonth) ?\n
Login.c(118): \t\t\t"<a class='ui-datepicker-prev ui-corner-all' data-
handler='prev' data-event='click'"
Login.c(118): +\n
Login.c(118): \t\t\t" title='" + prevText + "'><span class='ui-icon ui-icon-
circle-triangle-" + ( isRTL
Login.c(118): ? "e" : "w") + "'>" + prevText + "</span></a>" :\n
Login.c(118): \t\t\t(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-
corner-all ui-state-disabl
Login.c(118): ed' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-
triangle-" + ( isRTL ? "e"
Login.c(118): : "w") + "'>" + prevText + "</span></a>"));\n
Login.c(118): \n
Login.c(118): \t\tnextText = this._get(inst, "nextText");\n
Login.c(118): \t\tnextText = (!navigationAsDateFormat ? nextText :
this.formatDate(nextText,\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth +
stepMonths, 1)),\n
Login.c(118): \t\t\tthis._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tnext = (this._canAdjustMonth(inst, +1, drawYear,
drawMonth) ?\n
Login.c(118): \t\t\t"<a class='ui-datepicker-next ui-corner-all' data-
handler='next' data-event='click'"
Login.c(118): +\n
Login.c(118): \t\t\t" title='" + nextText + "'><span class='ui-icon ui-icon-
circle-triangle-" + ( isRTL
Login.c(118): ? "w" : "e") + "'>" + nextText + "</span></a>" :\n
Login.c(118): \t\t\t(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-
corner-all ui-state-disabl
Login.c(118): ed' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-
triangle-" + ( isRTL ? "w"
Login.c(118): : "e") + "'>" + nextText + "</span></a>"));\n
Login.c(118): \n
Login.c(118): \t\tcurrentText = this._get(inst, "currentText");\n
Login.c(118): \t\tgotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay
? currentDate : today);\n
Login.c(118): \t\tcurrentText = (!navigationAsDateFormat ? currentText :\n
Login.c(118): \t\t\tthis.formatDate(currentText, gotoDate,
this._getFormatConfig(inst)));\n
Login.c(118): \n
Login.c(118): \t\tcontrols = (!inst.inline ? "<button type='button' class='ui-
datepicker-close ui-state-
Login.c(118): default ui-priority-primary ui-corner-all' data-handler='hide'
data-event='click'>" +\n
Login.c(118): \t\t\tthis._get(inst, "closeText") + "</button>" : "");\n
Login.c(118): \n
Login.c(118): \t\tbuttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-
buttonpane ui-widget-cont
Login.c(118): ent'>" + (isRTL ? controls : "") +\n
Login.c(118): \t\t\t(this._isInRange(inst, gotoDate) ? "<button type='button'
class='ui-datepicker-curre
Login.c(118): nt ui-state-default ui-priority-secondary ui-corner-all' data-
handler='today' data-event='
Login.c(118): click'" +\n
Login.c(118): \t\t\t">" + currentText + "</button>" : "") + (isRTL ? "" :
controls) + "</div>" : "";\n
Login.c(118): \n
Login.c(118): \t\tfirstDay = parseInt(this._get(inst, "firstDay"),10);\n
Login.c(118): \t\tfirstDay = (isNaN(firstDay) ? 0 : firstDay);\n
Login.c(118): \n
Login.c(118): \t\tshowWeek = this._get(inst, "showWeek");\n
Login.c(118): \t\tdayNames = this._get(inst, "dayNames");\n
Login.c(118): \t\tdayNamesMin = this._get(inst, "dayNamesMin");\n
Login.c(118): \t\tmonthNames = this._get(inst, "monthNames");\n
Login.c(118): \t\tmonthNamesShort = this._get(inst, "monthNamesShort");\n
Login.c(118): \t\tbeforeShowDay = this._get(inst, "beforeShowDay");\n
Login.c(118): \t\tshowOtherMonths = this._get(inst, "showOtherMonths");\n
Login.c(118): \t\tselectOtherMonths = this._get(inst, "selectOtherMonths");\n
Login.c(118): \t\tdefaultDate = this._getDefaultDate(inst);\n
Login.c(118): \t\thtml = "";\n
Login.c(118): \t\tdow;\n
Login.c(118): \t\tfor (row = 0; row < numMonths[0]; row++) {\n
Login.c(118): \t\t\tgroup = "";\n
Login.c(118): \t\t\tthis.maxRows = 4;\n
Login.c(118): \t\t\tfor (col = 0; col < numMonths[1]; col++) {\n
Login.c(118): \t\t\t\tselectedDate = this._daylightSavingAdjust(new
Date(drawYear, drawMonth, inst.selec
Login.c(118): tedDay));\n
Login.c(118): \t\t\t\tcornerClass = " ui-corner-all";\n
Login.c(118): \t\t\t\tcalender = "";\n
Login.c(118): \t\t\t\tif (isMultiMonth) {\n
Login.c(118): \t\t\t\t\tcalender += "<div class='ui-datepicker-group";\n
Login.c(118): \t\t\t\t\tif (numMonths[1] > 1) {\n
Login.c(118): \t\t\t\t\t\tswitch (col) {\n
Login.c(118): \t\t\t\t\t\t\tcase 0: calender += " ui-datepicker-group-first";\n
Login.c(118): \t\t\t\t\t\t\t\tcornerClass = " ui-corner-" + (isRTL ? "right" :
"left"); break;\n
Login.c(118): \t\t\t\t\t\t\tcase numMonths[1]-1: calender += " ui-datepicker-
group-last";\n
Login.c(118): \t\t\t\t\t\t\t\tcornerClass = " ui-corner-" + (isRTL ? "left" :
"right"); break;\n
Login.c(118): \t\t\t\t\t\t\tdefault: calender += " ui-datepicker-group-middle";
cornerClass = ""; break;
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tcalender += "'>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += "<div class='ui-datepicker-header ui-widget-
header ui-helper-clearfix"
Login.c(118): + cornerClass + "'>" +\n
Login.c(118): \t\t\t\t\t(/all|left/.test(cornerClass) && row === 0 ? (isRTL ?
next : prev) : "") +\n
Login.c(118): \t\t\t\t\t(/all|right/.test(cornerClass) && row === 0 ? (isRTL ?
prev : next) : "") +\n
Login.c(118): \t\t\t\t\tthis._generateMonthYearHeader(inst, drawMonth,
drawYear, minDate, maxDate,\n
Login.c(118): \t\t\t\t\trow > 0 || col > 0, monthNames, monthNamesShort) + //
draw month headers\n
Login.c(118): \t\t\t\t\t"</div><table class='ui-datepicker-calendar'><thead>"
+\n
Login.c(118): \t\t\t\t\t"<tr>";\n
Login.c(118): \t\t\t\tthead = (showWeek ? "<th class='ui-datepicker-week-col'>"
+ this._get(inst, "weekH
Login.c(118): eader") + "</th>" : "");\n
Login.c(118): \t\t\t\tfor (dow = 0; dow < 7; dow++) { // days of the week\n
Login.c(118): \t\t\t\t\tday = (dow + firstDay) % 7;\n
Login.c(118): \t\t\t\t\tthead += "<th scope='col'" + ((dow + firstDay + 6) % 7
>= 5 ? " class='ui-datepi
Login.c(118): cker-week-end'" : "") + ">" +\n
Login.c(118): \t\t\t\t\t\t"<span title='" + dayNames[day] + "'>" +
dayNamesMin[day] + "</span></th>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += thead + "</tr></thead><tbody>";\n
Login.c(118): \t\t\t\tdaysInMonth = this._getDaysInMonth(drawYear,
drawMonth);\n
Login.c(118): \t\t\t\tif (drawYear === inst.selectedYear && drawMonth ===
inst.selectedMonth) {\n
Login.c(118): \t\t\t\t\tinst.selectedDay = Math.min(inst.selectedDay,
daysInMonth);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tleadDays = (this._getFirstDayOfMonth(drawYear, drawMonth)
- firstDay + 7) % 7;\n
Login.c(118): \t\t\t\tcurRows = Math.ceil((leadDays + daysInMonth) / 7); //
calculate the number of rows
Login.c(118): to generate\n
Login.c(118): \t\t\t\tnumRows = (isMultiMonth ? this.maxRows > curRows ?
this.maxRows :
Login.c(118): t=6264ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): curRows : curRows); //If multiple months, use the higher number
of rows (see #7043)\n
Login.c(118): \t\t\t\tthis.maxRows = numRows;\n
Login.c(118): \t\t\t\tprintDate = this._daylightSavingAdjust(new Date(drawYear,
drawMonth, 1 - leadDays)
Login.c(118): );\n
Login.c(118): \t\t\t\tfor (dRow = 0; dRow < numRows; dRow++) { // create date
picker rows\n
Login.c(118): \t\t\t\t\tcalender += "<tr>";\n
Login.c(118): \t\t\t\t\ttbody = (!showWeek ? "" : "<td class='ui-datepicker-
week-col'>" +\n
Login.c(118): \t\t\t\t\t\tthis._get(inst, "calculateWeek")(printDate) +
"</td>");\n
Login.c(118): \t\t\t\t\tfor (dow = 0; dow < 7; dow++) { // create date picker
days\n
Login.c(118): \t\t\t\t\t\tdaySettings = (beforeShowDay ?\n
Login.c(118): \t\t\t\t\t\t\tbeforeShowDay.apply((inst.input ? inst.input[0] :
null), [printDate]) : [tru
Login.c(118): e, ""]);\n
Login.c(118): \t\t\t\t\t\totherMonth = (printDate.getMonth() !== drawMonth);\n
Login.c(118): \t\t\t\t\t\tunselectable = (otherMonth && !selectOtherMonths)
|| !daySettings[0] ||\n
Login.c(118): \t\t\t\t\t\t\t(minDate && printDate < minDate) || (maxDate &&
printDate > maxDate);\n
Login.c(118): \t\t\t\t\t\ttbody += "<td class='" +\n
Login.c(118): \t\t\t\t\t\t\t((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-
week-end" : "") + // highli
Login.c(118): ght weekends\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth ? " ui-datepicker-other-month" : "")
+ // highlight days from ot
Login.c(118): her months\n
Login.c(118): \t\t\t\t\t\t\t((printDate.getTime() === selectedDate.getTime() &&
drawMonth === inst.selec
Login.c(118): tedMonth && inst._keyEvent) || // user pressed key\n
Login.c(118): \t\t\t\t\t\t\t(defaultDate.getTime() === printDate.getTime() &&
defaultDate.getTime() ===
Login.c(118): selectedDate.getTime()) ?\n
Login.c(118): \t\t\t\t\t\t\t// or defaultDate is current printedDate and
defaultDate is selectedDate\n
Login.c(118): \t\t\t\t\t\t\t" " + this._dayOverClass : "") + // highlight
selected day\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? " " + this._unselectableClass + "
ui-state-disabled": "") +
Login.c(118): // highlight unselectable days\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? "" : " " +
daySettings[1] + // highlight c
Login.c(118): ustom dates\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? "
" + this._currentClass :
Login.c(118): "") + // highlight selected day\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? " ui-
datepicker-today" : "")) + "
Login.c(118): '" + // highlight today (if different)\n
Login.c(118): \t\t\t\t\t\t\t((!otherMonth || showOtherMonths) && daySettings[2]
? " title='" + daySettin
Login.c(118): gs[2].replace(/'/g, "&#39;") + "'" : "") + // cell title\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? "" : " data-handler='selectDay'
data-event='click' data-mont
Login.c(118): h='" + printDate.getMonth() + "' data-year='" +
printDate.getFullYear() + "'") + ">" + //
Login.c(118): actions\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? "&#xa0;" : //
display for other months\n
Login.c(118): \t\t\t\t\t\t\t(unselectable ? "<span class='ui-state-default'>" +
printDate.getDate() + "<
Login.c(118): /span>" : "<a class='ui-state-default" +\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? " ui-
state-highlight" : "") +\n
Login.c(118): \t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? "
ui-state-active" : "") +
Login.c(118): // highlight selected day\n
Login.c(118): \t\t\t\t\t\t\t(otherMonth ? " ui-priority-secondary" : "") + //
distinguish dates from oth
Login.c(118): er months\n
Login.c(118): \t\t\t\t\t\t\t"' href='#'>" + printDate.getDate() + "</a>")) +
"</td>"; // display selecta
Login.c(118): ble date\n
Login.c(118): \t\t\t\t\t\tprintDate.setDate(printDate.getDate() + 1);\n
Login.c(118): \t\t\t\t\t\tprintDate = this._daylightSavingAdjust(printDate);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tcalender += tbody + "</tr>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tdrawMonth++;\n
Login.c(118): \t\t\t\tif (drawMonth > 11) {\n
Login.c(118): \t\t\t\t\tdrawMonth = 0;\n
Login.c(118): \t\t\t\t\tdrawYear++;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tcalender += "</tbody></table>" + (isMultiMonth ? "</div>"
+\n
Login.c(118): \t\t\t\t\t\t\t((numMonths[0] > 0 && col === numMonths[1]-1) ?
"<div class='ui-datepicker-r
Login.c(118): ow-break'></div>" : "") : "");\n
Login.c(118): \t\t\t\tgroup += calender;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\thtml += group;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thtml += buttonPanel;\n
Login.c(118): \t\tinst._keyEvent = false;\n
Login.c(118): \t\treturn html;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Generate the month and year header. */\n
Login.c(118): \t_generateMonthYearHeader: function(inst, drawMonth, drawYear,
minDate, maxDate,\n
Login.c(118): \t\t\tsecondary, monthNames, monthNamesShort) {\n
Login.c(118): \n
Login.c(118): \t\tvar inMinYear, inMaxYear, month, years, thisYear,
determineYear, year, endYear,\n
Login.c(118): \t\t\tchangeMonth = this._get(inst, "changeMonth"),\n
Login.c(118): \t\t\tchangeYear = this._get(inst, "changeYear"),\n
Login.c(118): \t\t\tshowMonthAfterYear = this._get(inst,
"showMonthAfterYear"),\n
Login.c(118): \t\t\thtml = "<div class='ui-datepicker-title'>",\n
Login.c(118): \t\t\tmonthHtml = "";\n
Login.c(118): \n
Login.c(118): \t\t// month selection\n
Login.c(118): \t\tif (secondary || !changeMonth) {\n
Login.c(118): \t\t\tmonthHtml += "<span class='ui-datepicker-month'>" +
monthNames[drawMonth] + "</span>
Login.c(118): ";\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tinMinYear = (minDate && minDate.getFullYear() ===
drawYear);\n
Login.c(118): \t\t\tinMaxYear = (maxDate && maxDate.getFullYear() ===
drawYear);\n
Login.c(118): \t\t\tmonthHtml += "<select class='ui-datepicker-month' data-
handler='selectMonth' data-ev
Login.c(118): ent='change'>";\n
Login.c(118): \t\t\tfor ( month = 0; month < 12; month++) {\n
Login.c(118): \t\t\t\tif ((!inMinYear || month >= minDate.getMonth()) && (!
inMaxYear || month <= maxDate
Login.c(118): .getMonth())) {\n
Login.c(118): \t\t\t\t\tmonthHtml += "<option value='" + month + "'" +\n
Login.c(118): \t\t\t\t\t\t(month === drawMonth ? " selected='selected'" : "")
+\n
Login.c(118): \t\t\t\t\t\t">" + monthNamesShort[month] + "</option>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tmonthHtml += "</select>";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (!showMonthAfterYear) {\n
Login.c(118): \t\t\thtml += monthHtml + (secondary || !(changeMonth &&
changeYear) ? "&#xa0;" : "");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// year selection\n
Login.c(118): \t\tif ( !inst.yearshtml ) {\n
Login.c(118): \t\t\tinst.yearshtml = "";\n
Login.c(118): \t\t\tif (secondary || !changeYear) {\n
Login.c(118): \t\t\t\thtml += "<span class='ui-datepicker-year'>" + drawYear +
"</span>";\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// determine range of years to display\n
Login.c(118): \t\t\t\tyears = this._get(inst, "yearRange").split(":");\n
Login.c(118): \t\t\t\tthisYear = new Date().getFullYear();\n
Login.c(118): \t\t\t\tdetermineYear = function(value) {\n
Login.c(118): \t\t\t\t\tvar year = (value.match(/c[+\\-].*/) ? drawYear +
parseInt(value.substring(1), 1
Login.c(118): 0) :\n
Login.c(118): \t\t\t\t\t\t(value.match(/[+\\-].*/) ? thisYear + parseInt(value,
10) :\n
Login.c(118): \t\t\t\t\t\tparseInt(value, 10)));\n
Login.c(118): \t\t\t\t\treturn (isNaN(year) ? thisYear : year);\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\tyear = determineYear(years[0]);\n
Login.c(118): \t\t\t\tendYear = Math.max(year, determineYear(years[1] ||
""));\n
Login.c(118): \t\t\t\tyear = (minDate ? Math.max(year, minDate.getFullYear()) :
year);\n
Login.c(118): \t\t\t\tendYear = (maxDate ? Math.min(endYear,
maxDate.getFullYear()) : endYear);\n
Login.c(118): \t\t\t\tinst.yearshtml += "<select class='ui-datepicker-year'
data-handler='selectYear' da
Login.c(118): ta-event='change'>";\n
Login.c(118): \t\t\t\tfor (; year <= endYear; year++) {\n
Login.c(118): \t\t\t\t\tinst.yearshtml += "<option value='" + year + "'" +\n
Login.c(118): \t\t\t\t\t\t(year === drawYear ? " selected='selected'" : "") +\n
Login.c(118): \t\t\t\t\t\t">" + year + "</option>";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tinst.yearshtml += "</select>";\n
Login.c(118): \n
Login.c(118): \t\t\t\thtml += inst.yearshtml;\n
Login.c(118): \t\t\t\tinst.yearshtml = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\thtml += this._get(inst, "yearSuffix");\n
Login.c(118): \t\tif (showMonthAfterYear) {\n
Login.c(118): \t\t\thtml += (secondary || !(changeMonth && changeYear) ?
"&#xa0;" : "") + monthHtml;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thtml += "</div>"; // Close datepicker_header\n
Login.c(118): \t\treturn html;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Adjust one of the date sub-fields. */\n
Login.c(118): \t_adjustInstDate: function(inst, offset, period) {\n
Login.c(118): \t\tvar year = inst.drawYear + (period === "Y" ? offset : 0),\n
Login.c(118): \t\t\tmonth = inst.drawMonth + (period === "M" ? offset : 0),\n
Login.c(118): \t\t\tday = Math.min(inst.selectedDay, this._getDaysInMonth(year,
month)) + (period === "D
Login.c(118): " ? offset : 0),\n
Login.c(118): \t\t\tdate = this._restrictMinMax(inst,
this._daylightSavingAdjust(new Date(year, month, d
Login.c(118): ay)));\n
Login.c(118): \n
Login.c(118): \t\tinst.selectedDay = date.getDate();\n
Login.c(118): \t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n
Login.c(118): \t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n
Login.c(118): \t\tif (period === "M" || period === "Y") {\n
Login.c(118): \t\t\tthis._notifyChange(inst);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Ensure a date is within any min/max bounds. */\n
Login.c(118): \t_restrictMinMax: function(inst, date) {\n
Login.c(118): \t\tvar minDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tnewDate = (minDate && date < minDate ? minDate : date);\n
Login.c(118): \t\treturn (maxDate && newDate > maxDate ? maxDate : newDate);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Notify change of month/year. */\n
Login.c(118): \t_notifyChange: function(inst) {\n
Login.c(118): \t\tvar onChange = this._get(inst, "onChangeMonthYear");\n
Login.c(118): \t\tif (onChange) {\n
Login.c(118): \t\t\tonChange.apply((inst.input ? inst.input[0] : null),\n
Login.c(118): \t\t\t\t[inst.selectedYear, inst.selectedMonth + 1, inst]);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determine the number of months to show. */\n
Login.c(118): \t_getNumberOfMonths: function(inst) {\n
Login.c(118): \t\tvar numMonths = this._get(inst, "numberOfMonths");\n
Login.c(118): \t\treturn (numMonths == null ? [1, 1] : (typeof numMonths ===
"number" ? [1, numMonths] :
Login.c(118): numMonths));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determine the current maximum date - ensure no time
components are set. */\n
Login.c(118): \t_getMinMaxDate: function(inst, minMax) {\n
Login.c(118): \t\treturn this._determineDate(inst, this._get(inst, minMax +
"Date"), null);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find the number of days in a given month. */\n
Login.c(118): \t_getDaysInMonth: function(year, month) {\n
Login.c(118): \t\treturn 32 - this._daylightSavingAdjust(new Date(year, month,
32)).getDate();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Find the day of the week of the first of a month. */\n
Login.c(118): \t_getFirstDayOfMonth: function(year, month) {\n
Login.c(118): \t\treturn new Date(year, month, 1).getDay();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Determines if we should allow a "next/prev" month display
change. */\n
Login.c(118): \t_canAdjustMonth: function(inst, offset, curYear, curMonth) {\n
Login.c(118): \t\tvar numMonths = this._getNumberOfMonths(inst),\n
Login.c(118): \t\t\tdate = this._daylightSavingAdjust(new Date(curYear,\n
Login.c(118): \t\t\tcurMonth + (offset < 0 ? offset : numMonths[0] *
numMonths[1]), 1));\n
Login.c(118): \n
Login.c(118): \t\tif (offset < 0) {\n
Login.c(118): \t\t\tdate.setDate(this._getDaysInMonth(date.getFullYear(),
date.getMonth()));\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._isInRange(inst, date);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Is the given date in the accepted range? */\n
Login.c(118): \t_isInRange: function(inst, date) {\n
Login.c(118): \t\tvar yearSplit, currentYear,\n
Login.c(118): \t\t\tminDate = this._getMinMaxDate(inst, "min"),\n
Login.c(118): \t\t\tmaxDate = this._getMinMaxDate(inst, "max"),\n
Login.c(118): \t\t\tminYear = null,\n
Login.c(118): \t\t\tmaxYear = null,\n
Login.c(118): \t\t\tyears = this._get(inst, "yearRange");\n
Login.c(118): \t\t\tif (years){\n
Login.c(118): \t\t\t\tyearSplit = years.split(":");\n
Login.c(118): \t\t\t\tcurrentYear = new Date().getFullYear();\n
Login.c(118): \t\t\t\tminYear = parseInt(yearSplit[0], 10);\n
Login.c(118): \t\t\t\tmaxYear = parseInt(yearSplit[1], 10);\n
Login.c(118): \t\t\t\tif ( yearSplit[0].match(/[+\\-].*/) ) {\n
Login.c(118): \t\t\t\t\tminYear += currentYear;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( yearSplit[1].match(/[+\\-].*/) ) {\n
Login.c(118): \t\t\t\t\tmaxYear += currentYear;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn ((!minDate || date.getTime() >= minDate.getTime())
&&\n
Login.c(118): \t\t\t(!maxDate || date.getTime() <= maxDate.getTime()) &&\n
Login.c(118): \t\t\t(!minYear || date.getFullYear() >= minYear) &&\n
Login.c(118): \t\t\t(!maxYear || date.getFullYear() <= maxYear));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Provide the configuration settings for formatting/parsing.
*/\n
Login.c(118): \t_getFormatConfig: function(inst) {\n
Login.c(118): \t\tvar shortYearCutoff = this._get(inst, "shortYearCutoff");\n
Login.c(118): \t\tshortYearCutoff = (typeof shortYearCutoff !== "string" ?
shortYearCutoff :\n
Login.c(118): \t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff,
10));\n
Login.c(118): \t\treturn {shortYearCutoff: shortYearCutoff,\n
Login.c(118): \t\t\tdayNamesShort: this._get(inst, "dayNamesShort"), dayNames:
this._get(inst, "dayNames
Login.c(118): "),\n
Login.c(118): \t\t\tmonthNamesShort: this._get(inst, "monthNamesShort"),
monthNames: this._get(inst, "mo
Login.c(118): nthNames")};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Format the given date for display. */\n
Login.c(118): \t_formatDate: function(inst, day, month, year) {\n
Login.c(118): \t\tif (!day) {\n
Login.c(118): \t\t\tinst.currentDay = inst.selectedDay;\n
Login.c(118): \t\t\tinst.currentMonth = inst.selectedMonth;\n
Login.c(118): \t\t\tinst.currentYear = inst.selectedYear;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar date = (day ? (typeof day === "object" ? day :\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(year, month, day))) :\n
Login.c(118): \t\t\tthis._daylightSavingAdjust(new Date(inst.currentYear,
inst.currentMonth, inst.curren
Login.c(118): tDay)));\n
Login.c(118): \t\treturn this.formatDate(this._get(inst, "dateFormat"), date,
this._getFormatConfig(inst
Login.c(118): ));\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * Bind hover events for datepicker elements.\n
Login.c(118): * Done via delegate so the binding only occurs once in the
lifetime of the parent div.\n
Login.c(118): * Global datepicker_instActive, set by _updateDatepicker allows
the handlers to find thei
Login.c(118): r way back to the active picker.\n
Login.c(118): */\n
Login.c(118): function datepicker_bindHover(dpDiv) {\n
Login.c(118): \tvar selector = "button, .ui-datepicker-prev, .ui-datepicker-
next, .ui-datepicker-calenda
Login.c(118): r td a";\n
Login.c(118): \treturn dpDiv.delegate(selector, "mouseout", function() {\n
Login.c(118): \t\t\t$(this).removeClass("ui-state-hover");\n
Login.c(118): \t\t\tif (this.className.indexOf("ui-datepicker-prev") !== -1)
{\n
Login.c(118): \t\t\t\t$(this).removeClass("ui-datepicker-prev-hover");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (this.className.indexOf("ui-datepicker-next") !== -1)
{\n
Login.c(118): \t\t\t\t$(this).removeClass("ui-datepicker-next-hover");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.delegate( selector, "mouseover",
datepicker_handleMouseover );\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function datepicker_handleMouseover() {\n
Login.c(118): \tif (!
$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instAc
Login.c(118): tive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {\n
Login.c(118): \t\t$(this).parents(".ui-datepicker-
calendar").find("a").removeClass("ui-state-hover");\n
Login.c(118): \t\t$(this).addClass("ui-state-hover");\n
Login.c(118): \t\tif (this.className.indexOf("ui-datepicker-prev") !== -1) {\n
Login.c(118): \t\t\t$(this).addClass("ui-datepicker-prev-hover");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.className.indexOf("ui-datepicker-next") !== -1) {\n
Login.c(118): \t\t\t$(this).addClass("ui-datepicker-next-hover");\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* jQuery extend now ignores nulls! */\n
Login.c(118): function datepicker_extendRemove(target, props) {\n
Login.c(118): \t$.extend(target, props);\n
Login.c(118): \tfor (var name in props) {\n
Login.c(118): \t\tif (props[name] == null) {\n
Login.c(118): \t\t\ttarget[name] = props[name];\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \treturn target;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /* Invoke the datepicker functionality.\n
Login.c(118): @param options string - a command, optionally followed by
additional parameters or\n
Login.c(118): \t\t\t\t\tObject - settings for attaching new datepicker
Login.c(118): t=6281ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): functionality\n
Login.c(118): @return jQuery object */\n
Login.c(118): $.fn.datepicker = function(options){\n
Login.c(118): \n
Login.c(118): \t/* Verify an empty collection wasn't passed - Fixes #6976 */\n
Login.c(118): \tif ( !this.length ) {\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t/* Initialise the date picker. */\n
Login.c(118): \tif (!$.datepicker.initialized) {\n
Login.c(118): \t\t$(document).mousedown($.datepicker._checkExternalClick);\n
Login.c(118): \t\t$.datepicker.initialized = true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t/* Append datepicker main container to body if not exist. */\n
Login.c(118): \tif ($("#"+$.datepicker._mainDivId).length === 0) {\n
Login.c(118): \t\t$("body").append($.datepicker.dpDiv);\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tvar otherArgs = Array.prototype.slice.call(arguments, 1);\n
Login.c(118): \tif (typeof options === "string" && (options === "isDisabled" ||
options === "getDate" ||
Login.c(118): options === "widget")) {\n
Login.c(118): \t\treturn $.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n
Login.c(118): \t}\n
Login.c(118): \tif (options === "option" && arguments.length === 2 && typeof
arguments[1] === "string")
Login.c(118): {\n
Login.c(118): \t\treturn $.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n
Login.c(118): \t}\n
Login.c(118): \treturn this.each(function() {\n
Login.c(118): \t\ttypeof options === "string" ?\n
Login.c(118): \t\t\t$.datepicker["_" + options + "Datepicker"].\n
Login.c(118): \t\t\t\tapply($.datepicker, [this].concat(otherArgs)) :\n
Login.c(118): \t\t\t$.datepicker._attachDatepicker(this, options);\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.datepicker = new Datepicker(); // singleton instance\n
Login.c(118): $.datepicker.initialized = false;\n
Login.c(118): $.datepicker.uuid = new Date().getTime();\n
Login.c(118): $.datepicker.version = "1.11.1";\n
Login.c(118): \n
Login.c(118): var datepicker = $.datepicker;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Draggable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/draggable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget("ui.draggable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "drag",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\taddClasses: true,\n
Login.c(118): \t\tappendTo: "parent",\n
Login.c(118): \t\taxis: false,\n
Login.c(118): \t\tconnectToSortable: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tcursor: "auto",\n
Login.c(118): \t\tcursorAt: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandle: false,\n
Login.c(118): \t\thelper: "original",\n
Login.c(118): \t\tiframeFix: false,\n
Login.c(118): \t\topacity: false,\n
Login.c(118): \t\trefreshPositions: false,\n
Login.c(118): \t\trevert: false,\n
Login.c(118): \t\trevertDuration: 500,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\tscroll: true,\n
Login.c(118): \t\tscrollSensitivity: 20,\n
Login.c(118): \t\tscrollSpeed: 20,\n
Login.c(118): \t\tsnap: false,\n
Login.c(118): \t\tsnapMode: "both",\n
Login.c(118): \t\tsnapTolerance: 20,\n
Login.c(118): \t\tstack: false,\n
Login.c(118): \t\tzIndex: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tdrag: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.helper === "original" && !(/^(?:r|a|
f)/).test(this.element.css("posit
Login.c(118): ion"))) {\n
Login.c(118): \t\t\tthis.element[0].style.position = "relative";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.options.addClasses){\n
Login.c(118): \t\t\tthis.element.addClass("ui-draggable");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this.options.disabled){\n
Login.c(118): \t\t\tthis.element.addClass("ui-draggable-disabled");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t\tif ( key === "handle" ) {\n
Login.c(118): \t\t\tthis._removeHandleClassName();\n
Login.c(118): \t\t\tthis._setHandleClassName();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tif ( ( this.helper || this.element ).is( ".ui-draggable-
dragging" ) ) {\n
Login.c(118): \t\t\tthis.destroyOnClear = true;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.element.removeClass( "ui-draggable ui-draggable-dragging
ui-draggable-disabled" )
Login.c(118): ;\n
Login.c(118): \t\tthis._removeHandleClassName();\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar document = this.document[ 0 ],\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// support: IE9\n
Login.c(118): \t\t// IE9 throws an "Unspecified error" accessing
document.activeElement from an <iframe>
Login.c(118): \n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\t// Support: IE9+\n
Login.c(118): \t\t\t// If the <body> is blurred, IE will switch windows, see
#9520\n
Login.c(118): \t\t\tif ( document.activeElement &&
document.activeElement.nodeName.toLowerCase() !== "bo
Login.c(118): dy" ) {\n
Login.c(118): \t\t\t\t// Blur any element that currently has focus, see #4261\n
Login.c(118): \t\t\t\t$( document.activeElement ).blur();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} catch ( error ) {}\n
Login.c(118): \n
Login.c(118): \t\t// among others, prevent a drag on a resizable-handle\n
Login.c(118): \t\tif (this.helper || o.disabled || $
(event.target).closest(".ui-resizable-handle").lengt
Login.c(118): h > 0) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Quit if we're not on a valid handle\n
Login.c(118): \t\tthis.handle = this._getHandle(event);\n
Login.c(118): \t\tif (!this.handle) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$(o.iframeFix === true ? "iframe" :
o.iframeFix).each(function() {\n
Login.c(118): \t\t\t$("<div class='ui-draggable-iframeFix' style='background:
#fff;'></div>")\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\twidth: this.offsetWidth + "px", height: this.offsetHeight
+ "px",\n
Login.c(118): \t\t\t\tposition: "absolute", opacity: "0.001", zIndex: 1000\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.css($(this).offset())\n
Login.c(118): \t\t\t.appendTo("body");\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options;\n
Login.c(118): \n
Login.c(118): \t\t//Create and append the visible helper\n
Login.c(118): \t\tthis.helper = this._createHelper(event);\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.addClass("ui-draggable-dragging");\n
Login.c(118): \n
Login.c(118): \t\t//Cache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t//If ddmanager is used for droppables, set the global
draggable\n
Login.c(118): \t\tif ($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.current = this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position generation -\n
Login.c(118): \t\t * This block generates everything position related - it's
the core of draggables.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t//Cache the margins of the original element\n
Login.c(118): \t\tthis._cacheMargins();\n
Login.c(118): \n
Login.c(118): \t\t//Store the helper's css position\n
Login.c(118): \t\tthis.cssPosition = this.helper.css( "position" );\n
Login.c(118): \t\tthis.scrollParent = this.helper.scrollParent( true );\n
Login.c(118): \t\tthis.offsetParent = this.helper.offsetParent();\n
Login.c(118): \t\tthis.offsetParentCssPosition =
this.offsetParent.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t//The element's absolute position on the page minus margins\n
Login.c(118): \t\tthis.offset = this.positionAbs = this.element.offset();\n
Login.c(118): \t\tthis.offset = {\n
Login.c(118): \t\t\ttop: this.offset.top - this.margins.top,\n
Login.c(118): \t\t\tleft: this.offset.left - this.margins.left\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t//Reset scroll cache\n
Login.c(118): \t\tthis.offset.scroll = false;\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this.offset, {\n
Login.c(118): \t\t\tclick: { //Where the click happened, relative to the
element\n
Login.c(118): \t\t\t\tleft: event.pageX - this.offset.left,\n
Login.c(118): \t\t\t\ttop: event.pageY - this.offset.top\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tparent: this._getParentOffset(),\n
Login.c(118): \t\t\trelative: this._getRelativeOffset() //This is a relative to
absolute position minus
Login.c(118): the actual position calculation - only used for relative
positioned helper\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t//Generate the original position\n
Login.c(118): \t\tthis.originalPosition = this.position =
this._generatePosition( event, false );\n
Login.c(118): \t\tthis.originalPageX = event.pageX;\n
Login.c(118): \t\tthis.originalPageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t//Adjust the mouse offset relative to the helper if
"cursorAt" is supplied\n
Login.c(118): \t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n
Login.c(118): \n
Login.c(118): \t\t//Set a containment if given in the options\n
Login.c(118): \t\tthis._setContainment();\n
Login.c(118): \n
Login.c(118): \t\t//Trigger event + callbacks\n
Login.c(118): \t\tif (this._trigger("start", event) === false) {\n
Login.c(118): \t\t\tthis._clear();\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Recache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t//Prepare the droppable offsets\n
Login.c(118): \t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDrag(event, true); //Execute the drag once - this
causes the helper not to
Login.c(118): be visible before getting its correct position\n
Login.c(118): \n
Login.c(118): \t\t//If the ddmanager is used for droppables, inform the manager
that dragging has starte
Login.c(118): d (see #5003)\n
Login.c(118): \t\tif ( $.ui.ddmanager ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.dragStart(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event, noPropagation) {\n
Login.c(118): \t\t// reset any necessary cached properties (see #5009)\n
Login.c(118): \t\tif ( this.offsetParentCssPosition === "fixed" ) {\n
Login.c(118): \t\t\tthis.offset.parent = this._getParentOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Compute the helpers position\n
Login.c(118): \t\tthis.position = this._generatePosition( event, true );\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\t//Call plugins and callbacks and use the resulting position
if something is returned\n
Login.c(118): \t\tif (!noPropagation) {\n
Login.c(118): \t\t\tvar ui = this._uiHash();\n
Login.c(118): \t\t\tif (this._trigger("drag", event, ui) === false) {\n
Login.c(118): \t\t\t\tthis._mouseUp({});\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.position = ui.position;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.helper[ 0 ].style.left = this.position.left + "px";\n
Login.c(118): \t\tthis.helper[ 0 ].style.top = this.position.top + "px";\n
Login.c(118): \n
Login.c(118): \t\tif ($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drag(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \n
Login.c(118): \t\t//If we are using droppables, inform the manager about the
drop\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tdropped = false;\n
Login.c(118): \t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n
Login.c(118): \t\t\tdropped = $.ui.ddmanager.drop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//if a drop comes from outside (a sortable)\n
Login.c(118): \t\tif (this.dropped) {\n
Login.c(118): \t\t\tdropped = this.dropped;\n
Login.c(118): \t\t\tthis.dropped = false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ((this.options.revert === "invalid" && !dropped) ||
(this.options.revert === "valid
Login.c(118): " && dropped) || this.options.revert === true ||
($.isFunction(this.options.revert) && thi
Login.c(118): s.options.revert.call(this.element, dropped))) {\n
Login.c(118): \t\t\t$(this.helper).animate(this.originalPosition,
parseInt(this.options.revertDuration,
Login.c(118): 10), function() {\n
Login.c(118): \t\t\t\tif (that._trigger("stop", event) !== false) {\n
Login.c(118): \t\t\t\t\tthat._clear();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif (this._trigger("stop", event) !== false) {\n
Login.c(118): \t\t\t\tthis._clear();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseUp: function(event) {\n
Login.c(118): \t\t//Remove frame helpers\n
Login.c(118): \t\t$("div.ui-draggable-iframeFix").each(function() {\n
Login.c(118): \t\t\tthis.parentNode.removeChild(this);\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t//If the ddmanager is used for droppables, inform the manager
that dragging has stoppe
Login.c(118): d (see #5003)\n
Login.c(118): \t\tif ( $.ui.ddmanager ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.dragStop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// The interaction is over; whether or not the click resulted
in a drag, focus the ele
Login.c(118): ment\n
Login.c(118): \t\tthis.element.focus();\n
Login.c(118): \n
Login.c(118): \t\treturn $.ui.mouse.prototype._mouseUp.call(this, event);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcancel: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (this.helper.is(".ui-draggable-dragging")) {\n
Login.c(118): \t\t\tthis._mouseUp({});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._clear();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getHandle: function(event) {\n
Login.c(118): \t\treturn this.options.handle ?\n
Login.c(118): \t\t\t!!$
( event.target ).closest( this.element.find( this.options.handle ) ).length :\n
Login.c(118): \t\t\ttrue;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setHandleClassName: function() {\n
Login.c(118): \t\tthis.handleElement = this.options.handle ?\n
Login.c(118): \t\t\tthis.element.find( this.options.handle ) : this.element;\n
Login.c(118): \t\tthis.handleElement.addClass( "ui-draggable-handle" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeHandleClassName: function() {\n
Login.c(118): \t\tthis.handleElement.removeClass( "ui-draggable-handle" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHelper: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options,\n
Login.c(118): \t\t\thelper = $.isFunction(o.helper) ? $
(o.helper.apply(this.element[ 0 ], [ event ])) :
Login.c(118): (o.helper === "clone" ? this.element.clone().removeAttr("id") :
this.element);\n
Login.c(118): \n
Login.c(118): \t\tif (!helper.parents("body").length) {\n
Login.c(118): \t\t\thelper.appendTo((o.appendTo === "parent" ?
this.element[0].parentNode : o.appendTo))
Login.c(118): ;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (helper[0] !== this.element[0] && !(/(fixed|
absolute)/).test(helper.css("position")
Login.c(118): )) {\n
Login.c(118): \t\t\thelper.css("position", "absolute");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn helper;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustOffsetFromHelper: function(obj) {\n
Login.c(118): \t\tif (typeof obj === "string") {\n
Login.c(118): \t\t\tobj = obj.split(" ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ($.isArray(obj)) {\n
Login.c(118): \t\t\tobj = { left: +obj[0], top: +obj[1] || 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("left" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = obj.left + this.margins.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("right" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = this.helperProportions.width -
obj.right + this.margins.lef
Login.c(118): t;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("top" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = obj.top + this.margins.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("bottom" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = this.helperProportions.height -
obj.bottom + this.margins.to
Login.c(118): p;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isRootNode: function( element ) {\n
Login.c(118): \t\treturn ( /(html|body)/i ).test( element.tagName ) || element
=== this.document[ 0 ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getParentOffset: function() {\n
Login.c(118): \n
Login.c(118): \t\t//Get the offsetParent and cache its position\n
Login.c(118): \t\tvar po = this.offsetParent.offset(),\n
Login.c(118): \t\t\tdocument = this.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\t// This is a special case where we need to modify a offset
calculated on start, since
Login.c(118): the following happened:\n
Login.c(118): \t\t// 1. The position of the helper is absolute, so it's
position is calculated based on
Login.c(118): the next positioned parent\n
Login.c(118): \t\t// 2. The actual offset parent is a child of the scroll
parent, and the scroll parent
Login.c(118): isn't the document, which means that\n
Login.c(118): \t\t// the scroll is included in the initial calculation of
the offset of the parent, a
Login.c(118): nd never recalculated upon drag\n
Login.c(118): \t\tif (this.cssPosition === "absolute" && this.scrollParent[0] !
== document && $.contains
Login.c(118): (this.scrollParent[0], this.offsetParent[0])) {\n
Login.c(118): \t\t\tpo.left += this.scrollParent.scrollLeft();\n
Login.c(118): \t\t\tpo.top += this.scrollParent.scrollTop();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\n
Login.c(118): \t\t\tpo = { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: po.top +
(parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),\n
Login.c(118): \t\t\tleft: po.left +
(parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getRelativeOffset: function() {\n
Login.c(118): \t\tif ( this.cssPosition !== "relative" ) {\n
Login.c(118): \t\t\treturn { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar p = this.element.position(),\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scroll
Login.c(118): t=6305ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Parent[ 0 ] );\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: p.top - ( parseInt(this.helper.css( "top" ), 10) ||
0 ) + ( !scrollIsRootNode ?
Login.c(118): this.scrollParent.scrollTop() : 0 ),\n
Login.c(118): \t\t\tleft: p.left - ( parseInt(this.helper.css( "left" ), 10) ||
0 ) + ( !scrollIsRootNod
Login.c(118): e ? this.scrollParent.scrollLeft() : 0 )\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheMargins: function() {\n
Login.c(118): \t\tthis.margins = {\n
Login.c(118): \t\t\tleft: (parseInt(this.element.css("marginLeft"), 10) ||
0),\n
Login.c(118): \t\t\ttop: (parseInt(this.element.css("marginTop"), 10) || 0),\n
Login.c(118): \t\t\tright: (parseInt(this.element.css("marginRight"), 10) ||
0),\n
Login.c(118): \t\t\tbottom: (parseInt(this.element.css("marginBottom"), 10) ||
0)\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheHelperProportions: function() {\n
Login.c(118): \t\tthis.helperProportions = {\n
Login.c(118): \t\t\twidth: this.helper.outerWidth(),\n
Login.c(118): \t\t\theight: this.helper.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setContainment: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar over, c, ce,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tdocument = this.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tthis.relativeContainer = null;\n
Login.c(118): \n
Login.c(118): \t\tif ( !o.containment ) {\n
Login.c(118): \t\t\tthis.containment = null;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "window" ) {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t$( window ).scrollLeft() - this.offset.relative.left -
this.offset.parent.left,\n
Login.c(118): \t\t\t\t$( window ).scrollTop() - this.offset.relative.top -
this.offset.parent.top,\n
Login.c(118): \t\t\t\t$( window ).scrollLeft() + $( window ).width() -
this.helperProportions.width - th
Login.c(118): is.margins.left,\n
Login.c(118): \t\t\t\t$( window ).scrollTop() + ( $( window ).height() ||
document.body.parentNode.scrol
Login.c(118): lHeight ) - this.helperProportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "document") {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t0,\n
Login.c(118): \t\t\t\t0,\n
Login.c(118): \t\t\t\t$( document ).width() - this.helperProportions.width -
this.margins.left,\n
Login.c(118): \t\t\t\t( $( document ).height() ||
document.body.parentNode.scrollHeight ) - this.helperP
Login.c(118): roportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment.constructor === Array ) {\n
Login.c(118): \t\t\tthis.containment = o.containment;\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( o.containment === "parent" ) {\n
Login.c(118): \t\t\to.containment = this.helper[ 0 ].parentNode;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tc = $( o.containment );\n
Login.c(118): \t\tce = c[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tif ( !ce ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tover = c.css( "overflow" ) !== "hidden";\n
Login.c(118): \n
Login.c(118): \t\tthis.containment = [\n
Login.c(118): \t\t\t( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) +
( parseInt( c.css( "paddingLef
Login.c(118): t" ), 10 ) || 0 ),\n
Login.c(118): \t\t\t( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) +
( parseInt( c.css( "paddingTop"
Login.c(118): ), 10 ) || 0 ),\n
Login.c(118): \t\t\t( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) :
ce.offsetWidth ) - ( parseInt(
Login.c(118): c.css( "borderRightWidth" ), 10 ) || 0 ) -
( parseInt( c.css( "paddingRight" ), 10 ) || 0
Login.c(118): ) - this.helperProportions.width - this.margins.left -
this.margins.right,\n
Login.c(118): \t\t\t( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) :
ce.offsetHeight ) - ( parseI
Login.c(118): nt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
( parseInt( c.css( "paddingBottom" ), 10 )
Login.c(118): || 0 ) - this.helperProportions.height - this.margins.top -
this.margins.bottom\n
Login.c(118): \t\t];\n
Login.c(118): \t\tthis.relativeContainer = c;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_convertPositionTo: function(d, pos) {\n
Login.c(118): \n
Login.c(118): \t\tif (!pos) {\n
Login.c(118): \t\t\tpos = this.position;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar mod = d === "absolute" ? 1 : -1,\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ]
);\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative positione
Login.c(118): d nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset wit
Login.c(118): hout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.offset.scroll.top : ( scrollIsRootNode ?
Login.c(118): 0 : this.offset.scroll.top ) ) * mod)\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative position
Login.c(118): ed nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.offset.scroll.left : ( scrollIsRootNode ?
Login.c(118): 0 : this.offset.scroll.left ) ) * mod)\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_generatePosition: function( event, constrainPosition ) {\n
Login.c(118): \n
Login.c(118): \t\tvar containment, co, top, left,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ]
),\n
Login.c(118): \t\t\tpageX = event.pageX,\n
Login.c(118): \t\t\tpageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t// Cache the scroll\n
Login.c(118): \t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\n
Login.c(118): \t\t\tthis.offset.scroll = {\n
Login.c(118): \t\t\t\ttop: this.scrollParent.scrollTop(),\n
Login.c(118): \t\t\t\tleft: this.scrollParent.scrollLeft()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position constraining -\n
Login.c(118): \t\t * Constrain the position to a mix of grid, containment.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t// If we are not dragging yet, we won't check for options\n
Login.c(118): \t\tif ( constrainPosition ) {\n
Login.c(118): \t\t\tif ( this.containment ) {\n
Login.c(118): \t\t\t\tif ( this.relativeContainer ){\n
Login.c(118): \t\t\t\t\tco = this.relativeContainer.offset();\n
Login.c(118): \t\t\t\t\tcontainment = [\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 0 ] + co.left,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 1 ] + co.top,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 2 ] + co.left,\n
Login.c(118): \t\t\t\t\t\tthis.containment[ 3 ] + co.top\n
Login.c(118): \t\t\t\t\t];\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tcontainment = this.containment;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (event.pageX - this.offset.click.left <
containment[0]) {\n
Login.c(118): \t\t\t\t\tpageX = containment[0] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageY - this.offset.click.top < containment[1])
{\n
Login.c(118): \t\t\t\t\tpageY = containment[1] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageX - this.offset.click.left >
containment[2]) {\n
Login.c(118): \t\t\t\t\tpageX = containment[2] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (event.pageY - this.offset.click.top > containment[3])
{\n
Login.c(118): \t\t\t\t\tpageY = containment[3] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.grid) {\n
Login.c(118): \t\t\t\t//Check for grid elements set to 0 to prevent divide by 0
error causing invalid ar
Login.c(118): gument errors in IE (see ticket #6950)\n
Login.c(118): \t\t\t\ttop = o.grid[1] ? this.originalPageY + Math.round((pageY
- this.originalPageY) / o
Login.c(118): .grid[1]) * o.grid[1] : this.originalPageY;\n
Login.c(118): \t\t\t\tpageY = containment ? ((top - this.offset.click.top >=
containment[1] || top - thi
Login.c(118): s.offset.click.top > containment[3]) ? top : ((top -
this.offset.click.top >= containment[
Login.c(118): 1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n
Login.c(118): \n
Login.c(118): \t\t\t\tleft = o.grid[0] ? this.originalPageX + Math.round((pageX
- this.originalPageX) /
Login.c(118): o.grid[0]) * o.grid[0] : this.originalPageX;\n
Login.c(118): \t\t\t\tpageX = containment ? ((left - this.offset.click.left >=
containment[0] || left -
Login.c(118): this.offset.click.left > containment[2]) ? left : ((left -
this.offset.click.left >= conta
Login.c(118): inment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( o.axis === "y" ) {\n
Login.c(118): \t\t\t\tpageX = this.originalPageX;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( o.axis === "x" ) {\n
Login.c(118): \t\t\t\tpageY = this.originalPageY;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.top\t-\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.top -\t\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset witho
Login.c(118): ut borders (offset + border)\n
Login.c(118): \t\t\t\t( this.cssPosition === "fixed" ?
-this.offset.scroll.top : ( scrollIsRootNode ? 0
Login.c(118): : this.offset.scroll.top ) )\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.left -\t\t\t\t\t\t\t\t\t\t\t\t//
Only for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset with
Login.c(118): out borders (offset + border)\n
Login.c(118): \t\t\t\t( this.cssPosition === "fixed" ? -this.offset.scroll.left
: ( scrollIsRootNode ? 0
Login.c(118): : this.offset.scroll.left ) )\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_clear: function() {\n
Login.c(118): \t\tthis.helper.removeClass("ui-draggable-dragging");\n
Login.c(118): \t\tif (this.helper[0] !== this.element[0] && !
this.cancelHelperRemoval) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.helper = null;\n
Login.c(118): \t\tthis.cancelHelperRemoval = false;\n
Login.c(118): \t\tif ( this.destroyOnClear ) {\n
Login.c(118): \t\t\tthis.destroy();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// From now on bulk stuff - mainly helpers\n
Login.c(118): \n
Login.c(118): \t_trigger: function(type, event, ui) {\n
Login.c(118): \t\tui = ui || this._uiHash();\n
Login.c(118): \t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\n
Login.c(118): \t\t//The absolute position has to be recalculated after
plugins\n
Login.c(118): \t\tif (type === "drag") {\n
Login.c(118): \t\t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn $.Widget.prototype._trigger.call(this, type, event,
ui);\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tplugins: {},\n
Login.c(118): \n
Login.c(118): \t_uiHash: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\thelper: this.helper,\n
Login.c(118): \t\t\tposition: this.position,\n
Login.c(118): \t\t\toriginalPosition: this.originalPosition,\n
Login.c(118): \t\t\toffset: this.positionAbs\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "connectToSortable", {\n
Login.c(118): \tstart: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = inst.options,\n
Login.c(118): \t\t\tuiSortable = $.extend({}, ui, { item: inst.element });\n
Login.c(118): \t\tinst.sortables = [];\n
Login.c(118): \t\t$(o.connectToSortable).each(function() {\n
Login.c(118): \t\t\tvar sortable = $( this ).sortable( "instance" );\n
Login.c(118): \t\t\tif (sortable && !sortable.options.disabled) {\n
Login.c(118): \t\t\t\tinst.sortables.push({\n
Login.c(118): \t\t\t\t\tinstance: sortable,\n
Login.c(118): \t\t\t\t\tshouldRevert: sortable.options.revert\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t\tsortable.refreshPositions();\t// Call the sortable's
refreshPositions at drag star
Login.c(118): t to refresh the containerCache since the sortable container
cache is used in drag and nee
Login.c(118): ds to be up to date (this will ensure it's initialised as well as
being kept in step with
Login.c(118): any changes that might have happened on the page).\n
Login.c(118): \t\t\t\tsortable._trigger("activate", event, uiSortable);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\t//If we are still over the sortable, we fake the stop event
of the sortable, but also
Login.c(118): remove helper\n
Login.c(118): \t\tvar uiSortable = $.extend( {}, ui, {\n
Login.c(118): \t\t\titem: inst.element\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t$.each(inst.sortables, function() {\n
Login.c(118): \t\t\tif (this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.instance.isOver = 0;\n
Login.c(118): \n
Login.c(118): \t\t\t\tinst.cancelHelperRemoval = true; //Don't remove the
helper in the draggable instan
Login.c(118): ce\n
Login.c(118): \t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove it in
the sortable instance (s
Login.c(118): o sortable plugins like revert still work)\n
Login.c(118): \n
Login.c(118): \t\t\t\t//The sortable revert is supported, and we have to set a
temporary dropped variabl
Login.c(118): e on the draggable to support revert: "valid/invalid"\n
Login.c(118): \t\t\t\tif (this.shouldRevert) {\n
Login.c(118): \t\t\t\t\tthis.instance.options.revert = this.shouldRevert;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t//Trigger the stop of the sortable\n
Login.c(118): \t\t\t\tthis.instance._mouseStop(event);\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.instance.options.helper =
this.instance.options._helper;\n
Login.c(118): \n
Login.c(118): \t\t\t\t//If the helper has been the original item, restore
properties in the sortable\n
Login.c(118): \t\t\t\tif (inst.options.helper === "original") {\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem.css({ top: "auto", left:
"auto" });\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.instance.cancelHelperRemoval = false; //Remove the
helper in the sortable ins
Login.c(118): tance\n
Login.c(118): \t\t\t\tthis.instance._trigger("deactivate", event,
uiSortable);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t$.each(inst.sortables, function() {\n
Login.c(118): \n
Login.c(118): \t\t\tvar innermostIntersecting = false,\n
Login.c(118): \t\t\t\tthisSortable = this;\n
Login.c(118): \n
Login.c(118): \t\t\t//Copy over some variables to allow calling the sortable's
native _intersectsWith\n
Login.c(118): \t\t\tthis.instance.positionAbs = inst.positionAbs;\n
Login.c(118): \t\t\tthis.instance.helperProportions = inst.helperProportions;\n
Login.c(118): \t\t\tthis.instance.offset.click = inst.offset.click;\n
Login.c(118): \n
Login.c(118): \t\t\tif
(this.instance._intersectsWith(this.instance.containerCache)) {\n
Login.c(118): \t\t\t\tinnermostIntersecting = true;\n
Login.c(118): \t\t\t\t$.each(inst.sortables, function() {\n
Login.c(118): \t\t\t\t\tthis.instance.positionAbs = inst.positionAbs;\n
Login.c(118): \t\t\t\t\tthis.instance.helperProportions =
inst.helperProportions;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click = inst.offset.click;\n
Login.c(118): \t\t\t\t\tif (this !== thisSortable &&\n
Login.c(118):
\t\t\t\t\t\tthis.instance._intersectsWith(this.instance.containerCache) &&\n
Login.c(118): \t\t\t\t\t\t$.contains(thisSortable.instance.element[0],
this.instance.element[0])\n
Login.c(118): \t\t\t\t\t) {\n
Login.c(118): \t\t\t\t\t\tinnermostIntersecting = false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\treturn innermostIntersecting;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (innermostIntersecting) {\n
Login.c(118): \t\t\t\t//If it intersects, we use a little isOver variable and
set it once, so our move-i
Login.c(118): n stuff gets fired only once\n
Login.c(118): \t\t\t\tif (!this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance.isOver = 1;\n
Login.c(118): \t\t\t\t\t//Now we fake the start of dragging for the sortable
instance,\n
Login.c(118): \t\t\t\t\t//by cloning the list group item, appending it to the
sortable and using it as i
Login.c(118): nst.currentItem\n
Login.c(118): \t\t\t\t\t//We can then fire the start event of the sortable with
our passed browser event
Login.c(118): , and our own helper (so it doesn't create a new one)\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem = $
(that).clone().removeAttr("id").appendTo(this.insta
Login.c(118): nce.element).data("ui-sortable-item", true);\n
Login.c(118): \t\t\t\t\tthis.instance.options._helper =
this.instance.options.helper; //Store helper opt
Login.c(118): ion to later restore it\n
Login.c(118): \t\t\t\t\tthis.instance.options.helper = function()
Login.c(118): t=6324ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): { return ui.helper[0]; };\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tevent.target = this.instance.currentItem[0];\n
Login.c(118): \t\t\t\t\tthis.instance._mouseCapture(event, true);\n
Login.c(118): \t\t\t\t\tthis.instance._mouseStart(event, true, true);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Because the browser event is way off the new appended
portlet, we modify a cou
Login.c(118): ple of variables to reflect the changes\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click.top =
inst.offset.click.top;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.click.left =
inst.offset.click.left;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.parent.left -=
inst.offset.parent.left - this.instance.offs
Login.c(118): et.parent.left;\n
Login.c(118): \t\t\t\t\tthis.instance.offset.parent.top -=
inst.offset.parent.top - this.instance.offset
Login.c(118): .parent.top;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tinst._trigger("toSortable", event);\n
Login.c(118): \t\t\t\t\tinst.dropped = this.instance.element; //draggable
revert needs that\n
Login.c(118): \t\t\t\t\t//hack so receive/update callbacks work (mostly)\n
Login.c(118): \t\t\t\t\tinst.currentItem = inst.element;\n
Login.c(118): \t\t\t\t\tthis.instance.fromOutside = inst;\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t//Provided we did all the previous steps, we can fire the
drag event of the sortab
Login.c(118): le on every draggable drag, when it intersects with the
sortable\n
Login.c(118): \t\t\t\tif (this.instance.currentItem) {\n
Login.c(118): \t\t\t\t\tthis.instance._mouseDrag(event);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t\t//If it doesn't intersect with the sortable, and it
intersected before,\n
Login.c(118): \t\t\t\t//we fake the drag stop of the sortable, but make sure it
doesn't remove the helpe
Login.c(118): r by using cancelHelperRemoval\n
Login.c(118): \t\t\t\tif (this.instance.isOver) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance.isOver = 0;\n
Login.c(118): \t\t\t\t\tthis.instance.cancelHelperRemoval = true;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Prevent reverting on this forced stop\n
Login.c(118): \t\t\t\t\tthis.instance.options.revert = false;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// The out event needs to be triggered independently\n
Login.c(118): \t\t\t\t\tthis.instance._trigger("out", event,
this.instance._uiHash(this.instance));\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis.instance._mouseStop(event, true);\n
Login.c(118): \t\t\t\t\tthis.instance.options.helper =
this.instance.options._helper;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//Now we remove our currentItem, the list group clone
again, and the placeholder
Login.c(118): , and animate the helper back to it's original size\n
Login.c(118): \t\t\t\t\tthis.instance.currentItem.remove();\n
Login.c(118): \t\t\t\t\tif (this.instance.placeholder) {\n
Login.c(118): \t\t\t\t\t\tthis.instance.placeholder.remove();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tinst._trigger("fromSortable", event);\n
Login.c(118): \t\t\t\t\tinst.dropped = false; //draggable revert needs that\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "cursor", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( "body" ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (t.css("cursor")) {\n
Login.c(118): \t\t\to._cursor = t.css("cursor");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("cursor", o.cursor);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \t\tif (o._cursor) {\n
Login.c(118): \t\t\t$("body").css("cursor", o._cursor);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "opacity", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( ui.helper ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \t\tif (t.css("opacity")) {\n
Login.c(118): \t\t\to._opacity = t.css("opacity");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("opacity", o.opacity);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \t\tif (o._opacity) {\n
Login.c(118): \t\t\t$(ui.helper).css("opacity", o._opacity);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "scroll", {\n
Login.c(118): \tstart: function( event, ui, i ) {\n
Login.c(118): \t\tif ( !i.scrollParentNotHidden ) {\n
Login.c(118): \t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&
i.scrollParentNotHidden[ 0 ].
Login.c(118): tagName !== "HTML" ) {\n
Login.c(118): \t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, i ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = i.options,\n
Login.c(118): \t\t\tscrolled = false,\n
Login.c(118): \t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\n
Login.c(118): \t\t\tdocument = i.document[ 0 ];\n
Login.c(118): \n
Login.c(118): \t\tif ( scrollParent !== document && scrollParent.tagName !==
"HTML" ) {\n
Login.c(118): \t\t\tif ( !o.axis || o.axis !== "x" ) {\n
Login.c(118): \t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight )
- event.pageY < o.scroll
Login.c(118): Sensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollTop = scrolled =
scrollParent.scrollTop + o.scrollSpeed;\n
Login.c(118): \t\t\t\t} else if ( event.pageY - i.overflowOffset.top <
o.scrollSensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollTop = scrolled =
scrollParent.scrollTop - o.scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !o.axis || o.axis !== "y" ) {\n
Login.c(118): \t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth )
- event.pageX < o.scroll
Login.c(118): Sensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollLeft = scrolled =
scrollParent.scrollLeft + o.scrollSpeed;\n
Login.c(118): \t\t\t\t} else if ( event.pageX - i.overflowOffset.left <
o.scrollSensitivity ) {\n
Login.c(118): \t\t\t\t\tscrollParent.scrollLeft = scrolled =
scrollParent.scrollLeft - o.scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.axis || o.axis !== "x") {\n
Login.c(118): \t\t\t\tif (event.pageY - $(document).scrollTop() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if ($(window).height() - (event.pageY - $
(document).scrollTop()) < o.scroll
Login.c(118): Sensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.axis || o.axis !== "y") {\n
Login.c(118): \t\t\t\tif (event.pageX - $(document).scrollLeft() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if ($(window).width() - (event.pageX - $
(document).scrollLeft()) < o.scroll
Login.c(118): Sensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
{\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(i, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "snap", {\n
Login.c(118): \tstart: function( event, ui, i ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = i.options;\n
Login.c(118): \n
Login.c(118): \t\ti.snapElements = [];\n
Login.c(118): \n
Login.c(118): \t\t$(o.snap.constructor !== String ? ( o.snap.items ||
":data(ui-draggable)" ) : o.snap).
Login.c(118): each(function() {\n
Login.c(118): \t\t\tvar $t = $(this),\n
Login.c(118): \t\t\t\t$o = $t.offset();\n
Login.c(118): \t\t\tif (this !== i.element[0]) {\n
Login.c(118): \t\t\t\ti.snapElements.push({\n
Login.c(118): \t\t\t\t\titem: this,\n
Login.c(118): \t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n
Login.c(118): \t\t\t\t\ttop: $o.top, left: $o.left\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( event, ui, inst ) {\n
Login.c(118): \n
Login.c(118): \t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\n
Login.c(118): \t\t\to = inst.options,\n
Login.c(118): \t\t\td = o.snapTolerance,\n
Login.c(118): \t\t\tx1 = ui.offset.left, x2 = x1 +
inst.helperProportions.width,\n
Login.c(118): \t\t\ty1 = ui.offset.top, y2 = y1 +
inst.helperProportions.height;\n
Login.c(118): \n
Login.c(118): \t\tfor (i = inst.snapElements.length - 1; i >= 0; i--){\n
Login.c(118): \n
Login.c(118): \t\t\tl = inst.snapElements[i].left;\n
Login.c(118): \t\t\tr = l + inst.snapElements[i].width;\n
Login.c(118): \t\t\tt = inst.snapElements[i].top;\n
Login.c(118): \t\t\tb = t + inst.snapElements[i].height;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d
|| !$.contains( inst.snapE
Login.c(118): lements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) )
{\n
Login.c(118): \t\t\t\tif (inst.snapElements[i].snapping) {\n
Login.c(118): \t\t\t\t\t(inst.options.snap.release &&
inst.options.snap.release.call(inst.element, event
Login.c(118): , $.extend(inst._uiHash(), { snapItem:
inst.snapElements[i].item })));\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tinst.snapElements[i].snapping = false;\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.snapMode !== "inner") {\n
Login.c(118): \t\t\t\tts = Math.abs(t - y2) <= d;\n
Login.c(118): \t\t\t\tbs = Math.abs(b - y1) <= d;\n
Login.c(118): \t\t\t\tls = Math.abs(l - x2) <= d;\n
Login.c(118): \t\t\t\trs = Math.abs(r - x1) <= d;\n
Login.c(118): \t\t\t\tif (ts) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: t - inst.helperProp
Login.c(118): ortions.height, left: 0 }).top - inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (bs) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: b, left: 0 }).top -
Login.c(118): inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (ls) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: l - inst.
Login.c(118): helperProportions.width }).left - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (rs) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: r }).left
Login.c(118): - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tfirst = (ts || bs || ls || rs);\n
Login.c(118): \n
Login.c(118): \t\t\tif (o.snapMode !== "outer") {\n
Login.c(118): \t\t\t\tts = Math.abs(t - y1) <= d;\n
Login.c(118): \t\t\t\tbs = Math.abs(b - y2) <= d;\n
Login.c(118): \t\t\t\tls = Math.abs(l - x1) <= d;\n
Login.c(118): \t\t\t\trs = Math.abs(r - x2) <= d;\n
Login.c(118): \t\t\t\tif (ts) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: t, left: 0 }).top -
Login.c(118): inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (bs) {\n
Login.c(118): \t\t\t\t\tui.position.top = inst._convertPositionTo("relative", {
top: b - inst.helperProp
Login.c(118): ortions.height, left: 0 }).top - inst.margins.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (ls) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: l }).left
Login.c(118): - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (rs) {\n
Login.c(118): \t\t\t\t\tui.position.left = inst._convertPositionTo("relative",
{ top: 0, left: r - inst.
Login.c(118): helperProportions.width }).left - inst.margins.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (!inst.snapElements[i].snapping && (ts || bs || ls || rs
|| first)) {\n
Login.c(118): \t\t\t\t(inst.options.snap.snap &&
inst.options.snap.snap.call(inst.element, event, $.exte
Login.c(118): nd(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tinst.snapElements[i].snapping = (ts || bs || ls || rs ||
first);\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "stack", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar min,\n
Login.c(118): \t\t\to = instance.options,\n
Login.c(118): \t\t\tgroup = $.makeArray($(o.stack)).sort(function(a, b) {\n
Login.c(118): \t\t\t\treturn (parseInt($(a).css("zIndex"), 10) || 0) -
(parseInt($(b).css("zIndex"), 10)
Login.c(118): || 0);\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (!group.length) { return; }\n
Login.c(118): \n
Login.c(118): \t\tmin = parseInt($(group[0]).css("zIndex"), 10) || 0;\n
Login.c(118): \t\t$(group).each(function(i) {\n
Login.c(118): \t\t\t$(this).css("zIndex", min + i);\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.css("zIndex", (min + group.length));\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("draggable", "zIndex", {\n
Login.c(118): \tstart: function( event, ui, instance ) {\n
Login.c(118): \t\tvar t = $( ui.helper ),\n
Login.c(118): \t\t\to = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (t.css("zIndex")) {\n
Login.c(118): \t\t\to._zIndex = t.css("zIndex");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tt.css("zIndex", o.zIndex);\n
Login.c(118): \t},\n
Login.c(118): \tstop: function( event, ui, instance ) {\n
Login.c(118): \t\tvar o = instance.options;\n
Login.c(118): \n
Login.c(118): \t\tif (o._zIndex) {\n
Login.c(118): \t\t\t$(ui.helper).css("zIndex", o._zIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var draggable = $.ui.draggable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Resizable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/resizable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget("ui.resizable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "resize",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\talsoResize: false,\n
Login.c(118): \t\tanimate: false,\n
Login.c(118): \t\tanimateDuration: "slow",\n
Login.c(118): \t\tanimateEasing: "swing",\n
Login.c(118): \t\taspectRatio: false,\n
Login.c(118): \t\tautoHide: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tghost: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandles: "e,s,se",\n
Login.c(118): \t\thelper: false,\n
Login.c(118): \t\tmaxHeight: null,\n
Login.c(118): \t\tmaxWidth: null,\n
Login.c(118): \t\tminHeight: 10,\n
Login.c(118): \t\tminWidth: 10,\n
Login.c(118): \t\t// See #7960\n
Login.c(118): \t\tzIndex: 90,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tresize: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_num: function( value ) {\n
Login.c(118): \t\treturn parseInt( value, 10 ) || 0;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isNumber: function( value ) {\n
Login.c(118): \t\treturn !isNaN( parseInt( value, 10 ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_hasScroll: function( el, a ) {\n
Login.c(118): \n
Login.c(118): \t\tif ( $( el ).css( "overflow" ) === "hidden") {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar scroll = ( a && a === "left" ) ? "scrollLeft" :
"scrollTop",\n
Login.c(118): \t\t\thas = false;\n
Login.c(118): \n
Login.c(118): \t\tif ( el[ scroll ] > 0 ) {\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// TODO: determine which cases actually cause this to
happen\n
Login.c(118): \t\t// if the element doesn't have the scroll set, see if it's
possible to\n
Login.c(118): \t\t// set the scroll\n
Login.c(118): \t\tel[ scroll ] = 1;\n
Login.c(118): \t\thas = ( el[ scroll ] > 0 );\n
Login.c(118): \t\tel[ scroll ] = 0;\n
Login.c(118): \t\treturn has;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar n, i, handle, axis, hname,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \t\tthis.element.addClass("ui-resizable");\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this, {\n
Login.c(118): \t\t\t_aspectRatio: !!(o.aspectRatio),\n
Login.c(118): \t\t\taspectRatio: o.aspectRatio,\n
Login.c(118): \t\t\toriginalElement: this.element,\n
Login.c(118): \t\t\t_proportionallyResizeElements: [],\n
Login.c(118): \t\t\t_helper: o.helper || o.ghost || o.animate ? o.helper ||
"ui-resizable-helper" : null
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Wrap the element if it cannot hold child nodes\n
Login.c(118): \t\tif (this.element[0].nodeName.match(/canvas|textarea|input|
select|button|img/i)) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.wrap(\n
Login.c(118): \t\t\t\t$("<div class='ui-wrapper' style='overflow:
hidden;'></div>").css({\n
Login.c(118): \t\t\t\t\tposition: this.element.css("position"),\n
Login.c(118): \t\t\t\t\twidth: this.element.outerWidth(),\n
Login.c(118): \t\t\t\t\theight: this.element.outerHeight(),\n
Login.c(118): \t\t\t\t\ttop: this.element.css("top"),\n
Login.c(118): \t\t\t\t\tleft: this.element.css("left")\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element = this.element.parent().data(\n
Login.c(118): \t\t\t\t"ui-resizable", this.element.resizable( "instance" )\n
Login.c(118): \t\t\t);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.elementIsWrapper = true;\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.css({\n
Login.c(118): \t\t\t\tmarginLeft: this.originalElement.css("marginLeft"),\n
Login.c(118): \t\t\t\tmarginTop: this.originalElement.css("marginTop"),\n
Login.c(118): \t\t\t\tmarginRight: this.originalElement.css("marginRight"),\n
Login.c(118): \t\t\t\tmarginBottom: this.originalElement.css("marginBottom")\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tthis.originalElement.css({\n
Login.c(118): \t\t\t\tmarginLeft: 0,\n
Login.c(118): \t\t\t\tmarginTop: 0,\n
Login.c(118): \t\t\t\tmarginRight: 0,\n
Login.c(118): \t\t\t\tmarginBottom: 0\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t// support: Safari\n
Login.c(118): \t\t\t// Prevent Safari textarea resize\n
Login.c(118): \t\t\tthis.originalResizeStyle =
this.originalElement.css("resize");\n
Login.c(118): \t\t\tthis.originalElement.css("resize", "none");\n
Login.c(118): \n
Login.c(118):
\t\t\tthis._proportionallyResizeElements.push( this.originalElement.css({\n
Login.c(118): \t\t\t\tposition: "static",\n
Login.c(118): \t\t\t\tzoom: 1,\n
Login.c(118): \t\t\t\tdisplay: "block"\n
Login.c(118): \t\t\t}) );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE9\n
Login.c(118): \t\t\t// avoid IE jump (hard set the marg
Login.c(118): t=6345ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): in)\n
Login.c(118): \t\t\tthis.originalElement.css({ margin:
this.originalElement.css("margin") });\n
Login.c(118): \n
Login.c(118): \t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.handles = o.handles ||\n
Login.c(118): \t\t\t( !$(".ui-resizable-handle", this.element).length ?\n
Login.c(118): \t\t\t\t"e,s,se" : {\n
Login.c(118): \t\t\t\t\tn: ".ui-resizable-n",\n
Login.c(118): \t\t\t\t\te: ".ui-resizable-e",\n
Login.c(118): \t\t\t\t\ts: ".ui-resizable-s",\n
Login.c(118): \t\t\t\t\tw: ".ui-resizable-w",\n
Login.c(118): \t\t\t\t\tse: ".ui-resizable-se",\n
Login.c(118): \t\t\t\t\tsw: ".ui-resizable-sw",\n
Login.c(118): \t\t\t\t\tne: ".ui-resizable-ne",\n
Login.c(118): \t\t\t\t\tnw: ".ui-resizable-nw"\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \n
Login.c(118): \t\tif (this.handles.constructor === String) {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.handles === "all") {\n
Login.c(118): \t\t\t\tthis.handles = "n,e,s,w,se,sw,ne,nw";\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tn = this.handles.split(",");\n
Login.c(118): \t\t\tthis.handles = {};\n
Login.c(118): \n
Login.c(118): \t\t\tfor (i = 0; i < n.length; i++) {\n
Login.c(118): \n
Login.c(118): \t\t\t\thandle = $.trim(n[i]);\n
Login.c(118): \t\t\t\thname = "ui-resizable-" + handle;\n
Login.c(118): \t\t\t\taxis = $("<div class='ui-resizable-handle " + hname +
"'></div>");\n
Login.c(118): \n
Login.c(118): \t\t\t\taxis.css({ zIndex: o.zIndex });\n
Login.c(118): \n
Login.c(118): \t\t\t\t// TODO : What's going on here?\n
Login.c(118): \t\t\t\tif ("se" === handle) {\n
Login.c(118): \t\t\t\t\taxis.addClass("ui-icon ui-icon-gripsmall-diagonal-
se");\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.handles[handle] = ".ui-resizable-" + handle;\n
Login.c(118): \t\t\t\tthis.element.append(axis);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._renderAxis = function(target) {\n
Login.c(118): \n
Login.c(118): \t\t\tvar i, axis, padPos, padWrapper;\n
Login.c(118): \n
Login.c(118): \t\t\ttarget = target || this.element;\n
Login.c(118): \n
Login.c(118): \t\t\tfor (i in this.handles) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.handles[i].constructor === String) {\n
Login.c(118): \t\t\t\t\tthis.handles[i] =
this.element.children( this.handles[ i ] ).first().show();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.elementIsWrapper &&
this.originalElement[0].nodeName.match(/textarea|inpu
Login.c(118): t|select|button/i)) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\taxis = $(this.handles[i], this.element);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tpadWrapper = /sw|ne|nw|se|n|s/.test(i) ?
axis.outerHeight() : axis.outerWidth();
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t\t\t\tpadPos = [ "padding",\n
Login.c(118): \t\t\t\t\t\t/ne|nw|n/.test(i) ? "Top" :\n
Login.c(118): \t\t\t\t\t\t/se|sw|s/.test(i) ? "Bottom" :\n
Login.c(118): \t\t\t\t\t\t/^e$/.test(i) ? "Right" : "Left" ].join("");\n
Login.c(118): \n
Login.c(118): \t\t\t\t\ttarget.css(padPos, padWrapper);\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthis._proportionallyResize();\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// TODO: What's that good for? There's not anything to be
executed left\n
Login.c(118): \t\t\t\tif (!$(this.handles[i]).length) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// TODO: make renderAxis a prototype function\n
Login.c(118): \t\tthis._renderAxis(this.element);\n
Login.c(118): \n
Login.c(118): \t\tthis._handles = $(".ui-resizable-handle", this.element)\n
Login.c(118): \t\t\t.disableSelection();\n
Login.c(118): \n
Login.c(118): \t\tthis._handles.mouseover(function() {\n
Login.c(118): \t\t\tif (!that.resizing) {\n
Login.c(118): \t\t\t\tif (this.className) {\n
Login.c(118): \t\t\t\t\taxis = this.className.match(/ui-resizable-(se|sw|ne|nw|
n|e|s|w)/i);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthat.axis = axis && axis[1] ? axis[1] : "se";\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (o.autoHide) {\n
Login.c(118): \t\t\tthis._handles.hide();\n
Login.c(118): \t\t\t$(this.element)\n
Login.c(118): \t\t\t\t.addClass("ui-resizable-autohide")\n
Login.c(118): \t\t\t\t.mouseenter(function() {\n
Login.c(118): \t\t\t\t\tif (o.disabled) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t$(this).removeClass("ui-resizable-autohide");\n
Login.c(118): \t\t\t\t\tthat._handles.show();\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.mouseleave(function() {\n
Login.c(118): \t\t\t\t\tif (o.disabled) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif (!that.resizing) {\n
Login.c(118): \t\t\t\t\t\t$(this).addClass("ui-resizable-autohide");\n
Login.c(118): \t\t\t\t\t\tthat._handles.hide();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \n
Login.c(118): \t\tvar wrapper,\n
Login.c(118): \t\t\t_destroy = function(exp) {\n
Login.c(118): \t\t\t\t$(exp)\n
Login.c(118): \t\t\t\t\t.removeClass("ui-resizable ui-resizable-disabled ui-
resizable-resizing")\n
Login.c(118): \t\t\t\t\t.removeData("resizable")\n
Login.c(118): \t\t\t\t\t.removeData("ui-resizable")\n
Login.c(118): \t\t\t\t\t.unbind(".resizable")\n
Login.c(118): \t\t\t\t\t.find(".ui-resizable-handle")\n
Login.c(118): \t\t\t\t\t\t.remove();\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t// TODO: Unwrap at same DOM position\n
Login.c(118): \t\tif (this.elementIsWrapper) {\n
Login.c(118): \t\t\t_destroy(this.element);\n
Login.c(118): \t\t\twrapper = this.element;\n
Login.c(118): \t\t\tthis.originalElement.css({\n
Login.c(118): \t\t\t\tposition: wrapper.css("position"),\n
Login.c(118): \t\t\t\twidth: wrapper.outerWidth(),\n
Login.c(118): \t\t\t\theight: wrapper.outerHeight(),\n
Login.c(118): \t\t\t\ttop: wrapper.css("top"),\n
Login.c(118): \t\t\t\tleft: wrapper.css("left")\n
Login.c(118): \t\t\t}).insertAfter( wrapper );\n
Login.c(118): \t\t\twrapper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.originalElement.css("resize",
this.originalResizeStyle);\n
Login.c(118): \t\t_destroy(this.originalElement);\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event) {\n
Login.c(118): \t\tvar i, handle,\n
Login.c(118): \t\t\tcapture = false;\n
Login.c(118): \n
Login.c(118): \t\tfor (i in this.handles) {\n
Login.c(118): \t\t\thandle = $(this.handles[i])[0];\n
Login.c(118): \t\t\tif (handle === event.target || $.contains(handle,
event.target)) {\n
Login.c(118): \t\t\t\tcapture = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn !this.options.disabled && capture;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar curleft, curtop, cursor,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tel = this.element;\n
Login.c(118): \n
Login.c(118): \t\tthis.resizing = true;\n
Login.c(118): \n
Login.c(118): \t\tthis._renderProxy();\n
Login.c(118): \n
Login.c(118): \t\tcurleft = this._num(this.helper.css("left"));\n
Login.c(118): \t\tcurtop = this._num(this.helper.css("top"));\n
Login.c(118): \n
Login.c(118): \t\tif (o.containment) {\n
Login.c(118): \t\t\tcurleft += $(o.containment).scrollLeft() || 0;\n
Login.c(118): \t\t\tcurtop += $(o.containment).scrollTop() || 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.offset = this.helper.offset();\n
Login.c(118): \t\tthis.position = { left: curleft, top: curtop };\n
Login.c(118): \n
Login.c(118): \t\tthis.size = this._helper ? {\n
Login.c(118): \t\t\t\twidth: this.helper.width(),\n
Login.c(118): \t\t\t\theight: this.helper.height()\n
Login.c(118): \t\t\t} : {\n
Login.c(118): \t\t\t\twidth: el.width(),\n
Login.c(118): \t\t\t\theight: el.height()\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.originalSize = this._helper ? {\n
Login.c(118): \t\t\t\twidth: el.outerWidth(),\n
Login.c(118): \t\t\t\theight: el.outerHeight()\n
Login.c(118): \t\t\t} : {\n
Login.c(118): \t\t\t\twidth: el.width(),\n
Login.c(118): \t\t\t\theight: el.height()\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.sizeDiff = {\n
Login.c(118): \t\t\twidth: el.outerWidth() - el.width(),\n
Login.c(118): \t\t\theight: el.outerHeight() - el.height()\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.originalPosition = { left: curleft, top: curtop };\n
Login.c(118): \t\tthis.originalMousePosition = { left: event.pageX, top:
event.pageY };\n
Login.c(118): \n
Login.c(118): \t\tthis.aspectRatio = (typeof o.aspectRatio === "number") ?\n
Login.c(118): \t\t\to.aspectRatio :\n
Login.c(118): \t\t\t((this.originalSize.width / this.originalSize.height) ||
1);\n
Login.c(118): \n
Login.c(118): \t\tcursor = $(".ui-resizable-" + this.axis).css("cursor");\n
Login.c(118): \t\t$("body").css("cursor", cursor === "auto" ? this.axis + "-
resize" : cursor);\n
Login.c(118): \n
Login.c(118): \t\tel.addClass("ui-resizable-resizing");\n
Login.c(118): \t\tthis._propagate("start", event);\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar data, props,\n
Login.c(118): \t\t\tsmp = this.originalMousePosition,\n
Login.c(118): \t\t\ta = this.axis,\n
Login.c(118): \t\t\tdx = (event.pageX - smp.left) || 0,\n
Login.c(118): \t\t\tdy = (event.pageY - smp.top) || 0,\n
Login.c(118): \t\t\ttrigger = this._change[a];\n
Login.c(118): \n
Login.c(118): \t\tthis._updatePrevProperties();\n
Login.c(118): \n
Login.c(118): \t\tif (!trigger) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdata = trigger.apply(this, [ event, dx, dy ]);\n
Login.c(118): \n
Login.c(118): \t\tthis._updateVirtualBoundaries(event.shiftKey);\n
Login.c(118): \t\tif (this._aspectRatio || event.shiftKey) {\n
Login.c(118): \t\t\tdata = this._updateRatio(data, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tdata = this._respectSize(data, event);\n
Login.c(118): \n
Login.c(118): \t\tthis._updateCache(data);\n
Login.c(118): \n
Login.c(118): \t\tthis._propagate("resize", event);\n
Login.c(118): \n
Login.c(118): \t\tprops = this._applyChanges();\n
Login.c(118): \n
Login.c(118): \t\tif ( !this._helper &&
this._proportionallyResizeElements.length ) {\n
Login.c(118): \t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !$.isEmptyObject( props ) ) {\n
Login.c(118): \t\t\tthis._updatePrevProperties();\n
Login.c(118): \t\t\tthis._trigger( "resize", event, this.ui() );\n
Login.c(118): \t\t\tthis._applyChanges();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.resizing = false;\n
Login.c(118): \t\tvar pr, ista, soffseth, soffsetw, s, left, top,\n
Login.c(118): \t\t\to = this.options, that = this;\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \n
Login.c(118): \t\t\tpr = this._proportionallyResizeElements;\n
Login.c(118): \t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName);\n
Login.c(118): \t\t\tsoffseth = ista && this._hasScroll(pr[0], "left") ? 0 :
that.sizeDiff.height;\n
Login.c(118): \t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\n
Login.c(118): \n
Login.c(118): \t\t\ts = {\n
Login.c(118): \t\t\t\twidth: (that.helper.width() - soffsetw),\n
Login.c(118): \t\t\t\theight: (that.helper.height() - soffseth)\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tleft = (parseInt(that.element.css("left"), 10) +\n
Login.c(118): \t\t\t\t(that.position.left - that.originalPosition.left)) ||
null;\n
Login.c(118): \t\t\ttop = (parseInt(that.element.css("top"), 10) +\n
Login.c(118): \t\t\t\t(that.position.top - that.originalPosition.top)) ||
null;\n
Login.c(118): \n
Login.c(118): \t\t\tif (!o.animate) {\n
Login.c(118): \t\t\t\tthis.element.css($.extend(s, { top: top, left:
left }));\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthat.helper.height(that.size.height);\n
Login.c(118): \t\t\tthat.helper.width(that.size.width);\n
Login.c(118): \n
Login.c(118): \t\t\tif (this._helper && !o.animate) {\n
Login.c(118): \t\t\t\tthis._proportionallyResize();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$("body").css("cursor", "auto");\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass("ui-resizable-resizing");\n
Login.c(118): \n
Login.c(118): \t\tthis._propagate("stop", event);\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updatePrevProperties: function() {\n
Login.c(118): \t\tthis.prevPosition = {\n
Login.c(118): \t\t\ttop: this.position.top,\n
Login.c(118): \t\t\tleft: this.position.left\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.prevSize = {\n
Login.c(118): \t\t\twidth: this.size.width,\n
Login.c(118): \t\t\theight: this.size.height\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_applyChanges: function() {\n
Login.c(118): \t\tvar props = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.position.top !== this.prevPosition.top ) {\n
Login.c(118): \t\t\tprops.top = this.position.top + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.position.left !== this.prevPosition.left ) {\n
Login.c(118): \t\t\tprops.left = this.position.left + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.size.width !== this.prevSize.width ) {\n
Login.c(118): \t\t\tprops.width = this.size.width + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.size.height !== this.prevSize.height ) {\n
Login.c(118): \t\t\tprops.height = this.size.height + "px";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.css( props );\n
Login.c(118): \n
Login.c(118): \t\treturn props;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateVirtualBoundaries: function(forceAspectRatio) {\n
Login.c(118): \t\tvar pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tb = {\n
Login.c(118): \t\t\tminWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,\n
Login.c(118): \t\t\tmaxWidth: this._isNumber(o.maxWidth) ? o.maxWidth :
Infinity,\n
Login.c(118): \t\t\tminHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,\n
Login.c(118): \t\t\tmaxHeight: this._isNumber(o.maxHeight) ? o.maxHeight :
Infinity\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (this._aspectRatio || forceAspectRatio) {\n
Login.c(118): \t\t\tpMinWidth = b.minHeight * this.aspectRatio;\n
Login.c(118): \t\t\tpMinHeight = b.minWidth / this.aspectRatio;\n
Login.c(118): \t\t\tpMaxWidth = b.maxHeight * this.aspectRatio;\n
Login.c(118): \t\t\tpMaxHeight = b.maxWidth / this.aspectRatio;\n
Login.c(118): \n
Login.c(118): \t\t\tif (pMinWidth > b.minWidth) {\n
Login.c(118): \t\t\t\tb.minWidth = pMinWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMinHeight > b.minHeight) {\n
Login.c(118): \t\t\t\tb.minHeight = pMinHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMaxWidth < b.maxWidth) {\n
Login.c(118): \t\t\t\tb.maxWidth = pMaxWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif (pMaxHeight < b.maxHeight) {\n
Login.c(118): \t\t\t\tb.maxHeight = pMaxHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._vBoundaries = b;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateCache: function(data) {\n
Login.c(118): \t\tthis.offset = this.helper.offset();\n
Login.c(118): \t\tif (this._isNumber(data.left)) {\n
Login.c(118): \t\t\tthis.position.left = data.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.top)) {\n
Login.c(118): \t\t\tthis.position.top = data.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.height)) {\n
Login.c(118): \t\t\tthis.size.height = data.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (this._isNumber(data.width)) {\n
Login.c(118): \t\t\tthis.size.width = data.width;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateRatio: function( data ) {\n
Login.c(118): \n
Login.c(118): \t\tvar cpos = this.position,\n
Login.c(118): \t\t\tcsize = this.size,\n
Login.c(118): \t\t\ta = this.axis;\n
Login.c(118): \n
Login.c(118): \t\tif (this._isNumber(data.height)) {\n
Login.c(118): \t\t\tdata.width = (data.height * this.aspectRatio);\n
Login.c(118): \t\t} else if (this._isNumber(data.width)) {\n
Login.c(118): \t\t\tdata.height = (data.width / this.aspectRatio);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (a === "sw") {\n
Login.c(118): \t\t\tdata.left = cpos.left + (csize.width - data.width);\n
Login.c(118): \t\t\tdata.top = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (a === "nw") {\n
Login.c(118): \t\t\tdata.top = cpos.top + (csize.height - data.height);\n
Login.c(118): \t\t\tdata.left = cpos.left + (csize.width - data.width);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_respectSize: function( data ) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this._vBoundaries,\n
Login.c(118): \t\t\ta = this.axis,\n
Login.c(118): \t\t\tismaxw = this._isNumber(data.width) && o.maxWidth &&
(o.maxWidth < data.width),\n
Login.c(118): \t\t\tismaxh = this._isNumber(data.height) && o.maxHeight &&
(o.maxHeight < data.height),\n
Login.c(118): \t\t\tisminw = this._isNumber(data.width) && o.minWidth &&
(o.minWidth > data.width),\n
Login.c(118): \t\t\tisminh = this._isNumber(data.height) && o.minHeight &&
(o.minHeight > data.height),\n
Login.c(118): \t\t\tdw = this.originalPosition.left +
this.originalSize.width,\n
Login.c(118): \t\t\tdh = this.position.top + this.size.height,\n
Login.c(118): \t\t\tcw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);\n
Login.c(118): \t\tif (isminw) {\n
Login.c(118): \t\t\tdata.width = o.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isminh) {\n
Login.c(118): \t\t\tdata.height = o.minHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxw) {\n
Login.c(118): \t\t\tdata.width = o.maxWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxh) {\n
Login.c(118): \t\t\tdata.height = o.maxHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (isminw && cw) {\n
Login.c(118): \t\t\tdata.left = dw - o.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxw && cw) {\n
Login.c(118): \t\t\tdata.left = dw - o.maxWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isminh && ch) {\n
Login.c(118): \t\t\tdata.top = dh - o.minHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (ismaxh && ch) {\n
Login.c(118): \t\t\tdata.top = dh - o.maxHeight;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Fixing jump error on top/left - bug #2330\n
Login.c(118): \t\tif (!data.width && !data.height && !data.left && data.top)
{\n
Login.c(118): \t\t\tdata.top = null;\n
Login.c(118): \t\t} else if (!data.width && !data.height && !data.top &&
data.left) {\n
Login.c(118): \t\t\tdata.left = null;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getPaddingPlusBorderDimensions: function( element ) {\n
Login.c(118): \t\tvar i = 0,\n
Login.c(118): \t\t\twidths = [],\n
Login.c(118): \t\t\tborders = [\n
Login.c(118): \t\t\t\telement.css( "borderTopWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderRightWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderBottomWidth" ),\n
Login.c(118): \t\t\t\telement.css( "borderLeftWidth" )\n
Login.c(118): \t\t\t],\n
Login.c(118): \t\t\tpaddings = [\n
Login.c(118): \t\t\t\telement.css( "paddingTop" ),\n
Login.c(118): \t\t\t\telement.css( "paddingRight" ),\n
Login.c(118): \t\t\t\telement.css( "paddingBottom" ),\n
Login.c(118): \t\t\t\telement.css( "paddingLeft" )\n
Login.c(118): \t\t\t];\n
Login.c(118): \n
Login.c(118): \t\tfor ( ; i < 4; i++ ) {\n
Login.c(118): \t\t\twidths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );\n
Login.c(118): \t\t\twidths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\theight: widths[ 0 ] + widths[ 2 ],\n
Login.c(118): \t\t\twidth: widths[ 1 ] + widths[ 3 ]\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_proportionallyResize: function() {\n
Login.c(118): \n
Login.c(118): \t\tif (!this._proportionallyResizeElements.length) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar prel,\n
Login.c(118): \t\t\ti = 0,\n
Login.c(118): \t\t\telement = this.helper || this.element;\n
Login.c(118): \n
Login.c(118): \t\tfor ( ; i < this._proportionallyResizeElements.length; i++)
{\n
Login.c(118): \n
Login.c(118): \t\t\tprel = this._proportionallyResizeElements[i];\n
Login.c(118): \n
Login.c(118): \t\t\t// TODO: Seems like a bug to cache this.outerDimensions\n
Login.c(118): \t\t\t// considering th
Login.c(118): t=6372ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): at we are in a loop.\n
Login.c(118): \t\t\tif (!this.outerDimensions) {\n
Login.c(118): \t\t\t\tthis.outerDimensions =
this._getPaddingPlusBorderDimensions( prel );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tprel.css({\n
Login.c(118): \t\t\t\theight: (element.height() - this.outerDimensions.height)
|| 0,\n
Login.c(118): \t\t\t\twidth: (element.width() - this.outerDimensions.width) ||
0\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderProxy: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar el = this.element, o = this.options;\n
Login.c(118): \t\tthis.elementOffset = el.offset();\n
Login.c(118): \n
Login.c(118): \t\tif (this._helper) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper = this.helper || $("<div
style='overflow:hidden;'></div>");\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper.addClass(this._helper).css({\n
Login.c(118): \t\t\t\twidth: this.element.outerWidth() - 1,\n
Login.c(118): \t\t\t\theight: this.element.outerHeight() - 1,\n
Login.c(118): \t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\tleft: this.elementOffset.left + "px",\n
Login.c(118): \t\t\t\ttop: this.elementOffset.top + "px",\n
Login.c(118): \t\t\t\tzIndex: ++o.zIndex //TODO: Don't modify option\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.helper\n
Login.c(118): \t\t\t\t.appendTo("body")\n
Login.c(118): \t\t\t\t.disableSelection();\n
Login.c(118): \n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.helper = this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: {\n
Login.c(118): \t\te: function(event, dx) {\n
Login.c(118): \t\t\treturn { width: this.originalSize.width + dx };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tw: function(event, dx) {\n
Login.c(118): \t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n
Login.c(118): \t\t\treturn { left: sp.left + dx, width: cs.width - dx };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tn: function(event, dx, dy) {\n
Login.c(118): \t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n
Login.c(118): \t\t\treturn { top: sp.top + dy, height: cs.height - dy };\n
Login.c(118): \t\t},\n
Login.c(118): \t\ts: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn { height: this.originalSize.height + dy };\n
Login.c(118): \t\t},\n
Login.c(118): \t\tse: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.s.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tsw: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.s.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tne: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.n.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t},\n
Login.c(118): \t\tnw: function(event, dx, dy) {\n
Login.c(118): \t\t\treturn $.extend(this._change.n.apply(this, arguments),\n
Login.c(118): \t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_propagate: function(n, event) {\n
Login.c(118): \t\t$.ui.plugin.call(this, n, [ event, this.ui() ]);\n
Login.c(118): \t\t(n !== "resize" && this._trigger(n, event, this.ui()));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tplugins: {},\n
Login.c(118): \n
Login.c(118): \tui: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\toriginalElement: this.originalElement,\n
Login.c(118): \t\t\telement: this.element,\n
Login.c(118): \t\t\thelper: this.helper,\n
Login.c(118): \t\t\tposition: this.position,\n
Login.c(118): \t\t\tsize: this.size,\n
Login.c(118): \t\t\toriginalSize: this.originalSize,\n
Login.c(118): \t\t\toriginalPosition: this.originalPosition\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * Resizable Extensions\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "animate", {\n
Login.c(118): \n
Login.c(118): \tstop: function( event ) {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tpr = that._proportionallyResizeElements,\n
Login.c(118): \t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName),\n
Login.c(118): \t\t\tsoffseth = ista && that._hasScroll(pr[0], "left") ? 0 :
that.sizeDiff.height,\n
Login.c(118): \t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width,\n
Login.c(118): \t\t\tstyle = { width: (that.size.width - soffsetw), height:
(that.size.height - soffseth)
Login.c(118): },\n
Login.c(118): \t\t\tleft = (parseInt(that.element.css("left"), 10) +\n
Login.c(118): \t\t\t\t(that.position.left - that.originalPosition.left)) ||
null,\n
Login.c(118): \t\t\ttop = (parseInt(that.element.css("top"), 10) +\n
Login.c(118): \t\t\t\t(that.position.top - that.originalPosition.top)) ||
null;\n
Login.c(118): \n
Login.c(118): \t\tthat.element.animate(\n
Login.c(118): \t\t\t$.extend(style, top && left ? { top: top, left: left } :
{}), {\n
Login.c(118): \t\t\t\tduration: o.animateDuration,\n
Login.c(118): \t\t\t\teasing: o.animateEasing,\n
Login.c(118): \t\t\t\tstep: function() {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvar data = {\n
Login.c(118): \t\t\t\t\t\twidth: parseInt(that.element.css("width"), 10),\n
Login.c(118): \t\t\t\t\t\theight: parseInt(that.element.css("height"), 10),\n
Login.c(118): \t\t\t\t\t\ttop: parseInt(that.element.css("top"), 10),\n
Login.c(118): \t\t\t\t\t\tleft: parseInt(that.element.css("left"), 10)\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif (pr && pr.length) {\n
Login.c(118): \t\t\t\t\t\t$(pr[0]).css({ width: data.width, height: data.height
});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// propagating resize, and updating values for each
animation step\n
Login.c(118): \t\t\t\t\tthat._updateCache(data);\n
Login.c(118): \t\t\t\t\tthat._propagate("resize", event);\n
Login.c(118): \n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t);\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add( "resizable", "containment", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \t\tvar element, p, co, ch, cw, width, height,\n
Login.c(118): \t\t\tthat = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tel = that.element,\n
Login.c(118): \t\t\toc = o.containment,\n
Login.c(118): \t\t\tce = ( oc instanceof $ ) ? oc.get( 0 ) : (
/parent/.test( oc ) ) ? el.parent().get(
Login.c(118): 0 ) : oc;\n
Login.c(118): \n
Login.c(118): \t\tif ( !ce ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthat.containerElement = $( ce );\n
Login.c(118): \n
Login.c(118): \t\tif ( /document/.test( oc ) || oc === document ) {\n
Login.c(118): \t\t\tthat.containerOffset = {\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tthat.containerPosition = {\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\tthat.parentData = {\n
Login.c(118): \t\t\t\telement: $( document ),\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\twidth: $( document ).width(),\n
Login.c(118): \t\t\t\theight: $( document ).height() ||
document.body.parentNode.scrollHeight\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement = $( ce );\n
Login.c(118): \t\t\tp = [];\n
Login.c(118): \t\t\t$([ "Top", "Right", "Left", "Bottom" ]).each(function( i,
name ) {\n
Login.c(118): \t\t\t\tp[ i ] = that._num( element.css( "padding" + name ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthat.containerOffset = element.offset();\n
Login.c(118): \t\t\tthat.containerPosition = element.position();\n
Login.c(118): \t\t\tthat.containerSize = {\n
Login.c(118): \t\t\t\theight: ( element.innerHeight() - p[ 3 ] ),\n
Login.c(118): \t\t\t\twidth: ( element.innerWidth() - p[ 1 ] )\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\tco = that.containerOffset;\n
Login.c(118): \t\t\tch = that.containerSize.height;\n
Login.c(118): \t\t\tcw = that.containerSize.width;\n
Login.c(118): \t\t\twidth = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth :
cw );\n
Login.c(118): \t\t\theight = ( that._hasScroll ( ce ) ? ce.scrollHeight :
ch ) ;\n
Login.c(118): \n
Login.c(118): \t\t\tthat.parentData = {\n
Login.c(118): \t\t\t\telement: ce,\n
Login.c(118): \t\t\t\tleft: co.left,\n
Login.c(118): \t\t\t\ttop: co.top,\n
Login.c(118): \t\t\t\twidth: width,\n
Login.c(118): \t\t\t\theight: height\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function( event ) {\n
Login.c(118): \t\tvar woset, hoset, isParent, isOffsetRelative,\n
Login.c(118): \t\t\tthat = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tco = that.containerOffset,\n
Login.c(118): \t\t\tcp = that.position,\n
Login.c(118): \t\t\tpRatio = that._aspectRatio || event.shiftKey,\n
Login.c(118): \t\t\tcop = {\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\tleft: 0\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tce = that.containerElement,\n
Login.c(118): \t\t\tcontinueResize = true;\n
Login.c(118): \n
Login.c(118): \t\tif ( ce[ 0 ] !== document && (
/static/ ).test( ce.css( "position" ) ) ) {\n
Login.c(118): \t\t\tcop = co;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( cp.left < ( that._helper ? co.left : 0 ) ) {\n
Login.c(118): \t\t\tthat.size.width = that.size.width +\n
Login.c(118): \t\t\t\t( that._helper ?\n
Login.c(118): \t\t\t\t\t( that.position.left - co.left ) :\n
Login.c(118): \t\t\t\t\t( that.position.left - cop.left ) );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthat.position.left = o.helper ? co.left : 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( cp.top < ( that._helper ? co.top : 0 ) ) {\n
Login.c(118): \t\t\tthat.size.height = that.size.height +\n
Login.c(118): \t\t\t\t( that._helper ?\n
Login.c(118): \t\t\t\t\t( that.position.top - co.top ) :\n
Login.c(118): \t\t\t\t\tthat.position.top );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthat.position.top = that._helper ? co.top : 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tisParent = that.containerElement.get( 0 ) ===
that.element.parent().get( 0 );\n
Login.c(118): \t\tisOffsetRelative = /relative|
absolute/.test( that.containerElement.css( "position" ) )
Login.c(118): ;\n
Login.c(118): \n
Login.c(118): \t\tif ( isParent && isOffsetRelative ) {\n
Login.c(118): \t\t\tthat.offset.left = that.parentData.left +
that.position.left;\n
Login.c(118): \t\t\tthat.offset.top = that.parentData.top +
that.position.top;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthat.offset.left = that.element.offset().left;\n
Login.c(118): \t\t\tthat.offset.top = that.element.offset().top;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twoset = Math.abs( that.sizeDiff.width +\n
Login.c(118): \t\t\t(that._helper ?\n
Login.c(118): \t\t\t\tthat.offset.left - cop.left :\n
Login.c(118): \t\t\t\t(that.offset.left - co.left)) );\n
Login.c(118): \n
Login.c(118): \t\thoset = Math.abs( that.sizeDiff.height +\n
Login.c(118): \t\t\t(that._helper ?\n
Login.c(118): \t\t\t\tthat.offset.top - cop.top :\n
Login.c(118): \t\t\t\t(that.offset.top - co.top)) );\n
Login.c(118): \n
Login.c(118): \t\tif ( woset + that.size.width >= that.parentData.width ) {\n
Login.c(118): \t\t\tthat.size.width = that.parentData.width - woset;\n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( hoset + that.size.height >= that.parentData.height ) {\n
Login.c(118): \t\t\tthat.size.height = that.parentData.height - hoset;\n
Login.c(118): \t\t\tif ( pRatio ) {\n
Login.c(118): \t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n
Login.c(118): \t\t\t\tcontinueResize = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !continueResize ){\n
Login.c(118): \t\t\tthat.position.left = that.prevPosition.left;\n
Login.c(118): \t\t\tthat.position.top = that.prevPosition.top;\n
Login.c(118): \t\t\tthat.size.width = that.prevSize.width;\n
Login.c(118): \t\t\tthat.size.height = that.prevSize.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\tvar that = $( this ).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tco = that.containerOffset,\n
Login.c(118): \t\t\tcop = that.containerPosition,\n
Login.c(118): \t\t\tce = that.containerElement,\n
Login.c(118): \t\t\thelper = $( that.helper ),\n
Login.c(118): \t\t\tho = helper.offset(),\n
Login.c(118): \t\t\tw = helper.outerWidth() - that.sizeDiff.width,\n
Login.c(118): \t\t\th = helper.outerHeight() - that.sizeDiff.height;\n
Login.c(118): \n
Login.c(118): \t\tif ( that._helper && !o.animate && (
/relative/ ).test( ce.css( "position" ) ) ) {\n
Login.c(118): \t\t\t$( this ).css({\n
Login.c(118): \t\t\t\tleft: ho.left - cop.left - co.left,\n
Login.c(118): \t\t\t\twidth: w,\n
Login.c(118): \t\t\t\theight: h\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( that._helper && !o.animate && ( /static/ ).test( ce.css(
"position" ) ) ) {\n
Login.c(118): \t\t\t$( this ).css({\n
Login.c(118): \t\t\t\tleft: ho.left - cop.left - co.left,\n
Login.c(118): \t\t\t\twidth: w,\n
Login.c(118): \t\t\t\theight: h\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "alsoResize", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\t_store = function(exp) {\n
Login.c(118): \t\t\t\t$(exp).each(function() {\n
Login.c(118): \t\t\t\t\tvar el = $(this);\n
Login.c(118): \t\t\t\t\tel.data("ui-resizable-alsoresize", {\n
Login.c(118): \t\t\t\t\t\twidth: parseInt(el.width(), 10), height:
parseInt(el.height(), 10),\n
Login.c(118): \t\t\t\t\t\tleft: parseInt(el.css("left"), 10), top:
parseInt(el.css("top"), 10)\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (typeof(o.alsoResize) === "object" && !
o.alsoResize.parentNode) {\n
Login.c(118): \t\t\tif (o.alsoResize.length) {\n
Login.c(118): \t\t\t\to.alsoResize = o.alsoResize[0];\n
Login.c(118): \t\t\t\t_store(o.alsoResize);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$.each(o.alsoResize, function(exp) {\n
Login.c(118): \t\t\t\t\t_store(exp);\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t_store(o.alsoResize);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function(event, ui) {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tos = that.originalSize,\n
Login.c(118): \t\t\top = that.originalPosition,\n
Login.c(118): \t\t\tdelta = {\n
Login.c(118): \t\t\t\theight: (that.size.height - os.height) || 0,\n
Login.c(118): \t\t\t\twidth: (that.size.width - os.width) || 0,\n
Login.c(118): \t\t\t\ttop: (that.position.top - op.top) || 0,\n
Login.c(118): \t\t\t\tleft: (that.position.left - op.left) || 0\n
Login.c(118): \t\t\t},\n
Login.c(118): \n
Login.c(118): \t\t\t_alsoResize = function(exp, c) {\n
Login.c(118): \t\t\t\t$(exp).each(function() {\n
Login.c(118): \t\t\t\t\tvar el = $(this), start = $(this).data("ui-resizable-
alsoresize"), style = {},\n
Login.c(118): \t\t\t\t\t\tcss = c && c.length ?\n
Login.c(118): \t\t\t\t\t\t\tc :\n
Login.c(118): \t\t\t\t\t\t\tel.parents(ui.originalElement[0]).length ?\n
Login.c(118): \t\t\t\t\t\t\t\t[ "width", "height" ] :\n
Login.c(118): \t\t\t\t\t\t\t\t[ "width", "height", "top", "left" ];\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t$.each(css, function(i, prop) {\n
Login.c(118): \t\t\t\t\t\tvar sum = (start[prop] || 0) + (delta[prop] || 0);\n
Login.c(118): \t\t\t\t\t\tif (sum && sum >= 0) {\n
Login.c(118): \t\t\t\t\t\t\tstyle[prop] = sum || null;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tel.css(style);\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tif (typeof(o.alsoResize) === "object" && !
o.alsoResize.nodeType) {\n
Login.c(118): \t\t\t$.each(o.alsoResize, function(exp, c) {\n
Login.c(118): \t\t\t\t_alsoResize(exp, c);\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t_alsoResize(o.alsoResize);\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\t$(this).removeData("resizable-alsoresize");\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "ghost", {\n
Login.c(118): \n
Login.c(118): \tstart: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar that = $(this).resizable( "instance" ), o = that.options,
cs = that.size;\n
Login.c(118): \n
Login.c(118): \t\tthat.ghost = that.originalElement.clone();\n
Login.c(118): \t\tthat.ghost\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\topacity: 0.25,\n
Login.c(118): \t\t\t\tdisplay: "block",\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\theight: cs.height,\n
Login.c(118): \t\t\t\twidth: cs.width,\n
Login.c(118): \t\t\t\tmargin: 0,\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\ttop: 0\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass("ui-resizable-ghost")\n
Login.c(118): \t\t\t.addClass(typeof o.ghost === "string" ? o.ghost : "");\n
Login.c(118): \n
Login.c(118): \t\tthat.ghost.appendTo(that.helper);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresize: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" );\n
Login.c(118): \t\tif (that.ghost) {\n
Login.c(118): \t\t\tthat.ghost.css({\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\theight: that.size.height,\n
Login.c(118): \t\t\t\twidth: that.size.width\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstop: function() {\n
Login.c(118): \t\tvar that = $(this).resizable( "instance" );\n
Login.c(118): \t\tif (that.ghost && that.helper) {\n
Login.c(118): \t\t\tthat.helper.get(0).removeChild(that.ghost.get(0));\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.plugin.add("resizable", "grid", {\n
Login.c(118): \n
Login.c(118): \tresize: function() {\n
Login.c(118): \t\tvar outerDimensions,\n
Login.c(118): \t\t\tthat = $(this).resizable( "instance" ),\n
Login.c(118): \t\t\to = that.options,\n
Login.c(118): \t\t\tcs = that.size,\n
Login.c(118): \t\t\tos = that.originalSize,\n
Login.c(118): \t\t\top = that.originalPosition,\n
Login.c(118): \t\t\ta = that.axis,\n
Login.c(118): \t\t\tgrid = typeof o.grid === "number" ? [ o.grid, o.grid ] :
o.grid,\n
Login.c(118): \t\t\tgridX = (grid[0] || 1),\n
Login.c(118): \t\t\tgridY = (grid[1] || 1),\n
Login.c(118): \t\t\tox = Math.round((cs.width - os.width) / gridX) * gridX,\n
Login.c(118): \t\t\toy = Math.round((cs.height - os.height) / gridY) * gridY,\n
Login.c(118): \t\t\tnewWidth = os.width + ox,\n
Login.c(118): \t\t\tnewHeight = os.height + oy,\n
Login.c(118): \t\t\tisMaxWidth = o.maxWidth && (o.maxWidth < newWidth),\n
Login.c(118): \t\t\tisMaxHeight = o.maxHeight && (o.maxHeight < newHeight),\n
Login.c(118): \t\t\tisMinWidth = o.minWidth && (o.minWidth > newWidth),\n
Login.c(118): \t\t\tisMinHeight = o.minHeight && (o.minHeight > newHeight);\n
Login.c(118): \n
Login.c(118): \t\to.grid = grid;\n
Login.c(118): \n
Login.c(118): \t\tif (isMinWidth) {\n
Login.c(118): \t\t\tnewWidth += gridX;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMinHeight) {\n
Login.c(118): \t\t\tnewHeight += gridY;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMaxWidth) {\n
Login.c(118): \t\t\tnewWidth -= gridX;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif (isMaxHeight) {\n
Login.c(118): \t\t\tne
Login.c(118): t=6747ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): wHeight -= gridY;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (/^(se|s|e)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t} else if (/^(ne)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\tthat.position.top = op.top - oy;\n
Login.c(118): \t\t} else if (/^(sw)$/.test(a)) {\n
Login.c(118): \t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\tthat.position.left = op.left - ox;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {\n
Login.c(118): \t\t\t\touterDimensions =
that._getPaddingPlusBorderDimensions( this );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( newHeight - gridY > 0 ) {\n
Login.c(118): \t\t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\t\tthat.position.top = op.top - oy;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnewHeight = gridY - outerDimensions.height;\n
Login.c(118): \t\t\t\tthat.size.height = newHeight;\n
Login.c(118): \t\t\t\tthat.position.top = op.top + os.height - newHeight;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( newWidth - gridX > 0 ) {\n
Login.c(118): \t\t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\t\tthat.position.left = op.left - ox;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tnewWidth = gridY - outerDimensions.height;\n
Login.c(118): \t\t\t\tthat.size.width = newWidth;\n
Login.c(118): \t\t\t\tthat.position.left = op.left + os.width - newWidth;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): var resizable = $.ui.resizable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Dialog 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/dialog/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var dialog = $.widget( "ui.dialog", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "body",\n
Login.c(118): \t\tautoOpen: true,\n
Login.c(118): \t\tbuttons: [],\n
Login.c(118): \t\tcloseOnEscape: true,\n
Login.c(118): \t\tcloseText: "Close",\n
Login.c(118): \t\tdialogClass: "",\n
Login.c(118): \t\tdraggable: true,\n
Login.c(118): \t\thide: null,\n
Login.c(118): \t\theight: "auto",\n
Login.c(118): \t\tmaxHeight: null,\n
Login.c(118): \t\tmaxWidth: null,\n
Login.c(118): \t\tminHeight: 150,\n
Login.c(118): \t\tminWidth: 150,\n
Login.c(118): \t\tmodal: false,\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "center",\n
Login.c(118): \t\t\tat: "center",\n
Login.c(118): \t\t\tof: window,\n
Login.c(118): \t\t\tcollision: "fit",\n
Login.c(118): \t\t\t// Ensure the titlebar is always visible\n
Login.c(118): \t\t\tusing: function( pos ) {\n
Login.c(118): \t\t\t\tvar topOffset = $( this ).css( pos ).offset().top;\n
Login.c(118): \t\t\t\tif ( topOffset < 0 ) {\n
Login.c(118): \t\t\t\t\t$( this ).css( "top", pos.top - topOffset );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tresizable: true,\n
Login.c(118): \t\tshow: null,\n
Login.c(118): \t\ttitle: null,\n
Login.c(118): \t\twidth: 300,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tbeforeClose: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tdrag: null,\n
Login.c(118): \t\tdragStart: null,\n
Login.c(118): \t\tdragStop: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tresize: null,\n
Login.c(118): \t\tresizeStart: null,\n
Login.c(118): \t\tresizeStop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsizeRelatedOptions: {\n
Login.c(118): \t\tbuttons: true,\n
Login.c(118): \t\theight: true,\n
Login.c(118): \t\tmaxHeight: true,\n
Login.c(118): \t\tmaxWidth: true,\n
Login.c(118): \t\tminHeight: true,\n
Login.c(118): \t\tminWidth: true,\n
Login.c(118): \t\twidth: true\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tresizableRelatedOptions: {\n
Login.c(118): \t\tmaxHeight: true,\n
Login.c(118): \t\tmaxWidth: true,\n
Login.c(118): \t\tminHeight: true,\n
Login.c(118): \t\tminWidth: true\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis.originalCss = {\n
Login.c(118): \t\t\tdisplay: this.element[ 0 ].style.display,\n
Login.c(118): \t\t\twidth: this.element[ 0 ].style.width,\n
Login.c(118): \t\t\tminHeight: this.element[ 0 ].style.minHeight,\n
Login.c(118): \t\t\tmaxHeight: this.element[ 0 ].style.maxHeight,\n
Login.c(118): \t\t\theight: this.element[ 0 ].style.height\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.originalPosition = {\n
Login.c(118): \t\t\tparent: this.element.parent(),\n
Login.c(118): \t\t\tindex: this.element.parent().children().index( this.element
)\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.originalTitle = this.element.attr( "title" );\n
Login.c(118): \t\tthis.options.title = this.options.title ||
this.originalTitle;\n
Login.c(118): \n
Login.c(118): \t\tthis._createWrapper();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.show()\n
Login.c(118): \t\t\t.removeAttr( "title" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-content ui-widget-content" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialog );\n
Login.c(118): \n
Login.c(118): \t\tthis._createTitlebar();\n
Login.c(118): \t\tthis._createButtonPane();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.draggable && $.fn.draggable ) {\n
Login.c(118): \t\t\tthis._makeDraggable();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.options.resizable && $.fn.resizable ) {\n
Login.c(118): \t\t\tthis._makeResizable();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = false;\n
Login.c(118): \n
Login.c(118): \t\tthis._trackFocus();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_init: function() {\n
Login.c(118): \t\tif ( this.options.autoOpen ) {\n
Login.c(118): \t\t\tthis.open();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \t\tif ( element && (element.jquery || element.nodeType) ) {\n
Login.c(118): \t\t\treturn $( element );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this.document.find( element || "body" ).eq( 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar next,\n
Login.c(118): \t\t\toriginalPosition = this.originalPosition;\n
Login.c(118): \n
Login.c(118): \t\tthis._destroyOverlay();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeUniqueId()\n
Login.c(118): \t\t\t.removeClass( "ui-dialog-content ui-widget-content" )\n
Login.c(118): \t\t\t.css( this.originalCss )\n
Login.c(118): \t\t\t// Without detaching first, the following becomes really
slow\n
Login.c(118): \t\t\t.detach();\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.stop( true, true ).remove();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.originalTitle ) {\n
Login.c(118): \t\t\tthis.element.attr( "title", this.originalTitle );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tnext =
originalPosition.parent.children().eq( originalPosition.index );\n
Login.c(118): \t\t// Don't try to place the dialog next to itself (#8613)\n
Login.c(118): \t\tif ( next.length && next[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tnext.before( this.element );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\toriginalPosition.parent.append( this.element );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.uiDialog;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tdisable: $.noop,\n
Login.c(118): \tenable: $.noop,\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tvar activeElement,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this._isOpen || this._trigger( "beforeClose", event )
=== false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = false;\n
Login.c(118): \t\tthis._focusedElement = null;\n
Login.c(118): \t\tthis._destroyOverlay();\n
Login.c(118): \t\tthis._untrackInstance();\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.opener.filter( ":focusable" ).focus().length ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE9\n
Login.c(118): \t\t\t// IE9 throws an "Unspecified error" accessing
document.activeElement from an <ifram
Login.c(118): e>\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tactiveElement = this.document[ 0 ].activeElement;\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Support: IE9, IE10\n
Login.c(118): \t\t\t\t// If the <body> is blurred, IE will switch windows, see
#4520\n
Login.c(118): \t\t\t\tif ( activeElement &&
activeElement.nodeName.toLowerCase() !== "body" ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Hiding a focused element doesn't trigger blur in
WebKit\n
Login.c(118): \t\t\t\t\t// so in case we have nothing to focus on, explicitly
blur the active element\n
Login.c(118): \t\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=47182\n
Login.c(118): \t\t\t\t\t$( activeElement ).blur();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._hide( this.uiDialog, this.options.hide, function() {\n
Login.c(118): \t\t\tthat._trigger( "close", event );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisOpen: function() {\n
Login.c(118): \t\treturn this._isOpen;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmoveToTop: function() {\n
Login.c(118): \t\tthis._moveToTop();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_moveToTop: function( event, silent ) {\n
Login.c(118): \t\tvar moved = false,\n
Login.c(118): \t\t\tzIndicies = this.uiDialog.siblings( ".ui-
front:visible" ).map(function() {\n
Login.c(118): \t\t\t\treturn +$( this ).css( "z-index" );\n
Login.c(118): \t\t\t}).get(),\n
Login.c(118): \t\t\tzIndexMax = Math.max.apply( null, zIndicies );\n
Login.c(118): \n
Login.c(118): \t\tif ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.css( "z-index", zIndexMax + 1 );\n
Login.c(118): \t\t\tmoved = true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( moved && !silent ) {\n
Login.c(118): \t\t\tthis._trigger( "focus", event );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn moved;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\tif ( this._isOpen ) {\n
Login.c(118): \t\t\tif ( this._moveToTop() ) {\n
Login.c(118): \t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._isOpen = true;\n
Login.c(118): \t\tthis.opener = $( this.document[ 0 ].activeElement );\n
Login.c(118): \n
Login.c(118): \t\tthis._size();\n
Login.c(118): \t\tthis._position();\n
Login.c(118): \t\tthis._createOverlay();\n
Login.c(118): \t\tthis._moveToTop( null, true );\n
Login.c(118): \n
Login.c(118): \t\t// Ensure the overlay is moved to the top with the dialog,
but only when\n
Login.c(118): \t\t// opening. The overlay shouldn't move after the dialog is
open so that\n
Login.c(118): \t\t// modeless dialogs opened after the modal dialog stack
properly.\n
Login.c(118): \t\tif ( this.overlay ) {\n
Login.c(118): \t\t\tthis.overlay.css( "z-index", this.uiDialog.css( "z-index" )
- 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._show( this.uiDialog, this.options.show, function() {\n
Login.c(118): \t\t\tthat._focusTabbable();\n
Login.c(118): \t\t\tthat._trigger( "focus" );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Track the dialog immediately upon openening in case a
focus event\n
Login.c(118): \t\t// somehow occurs outside of the dialog before an element
inside the\n
Login.c(118): \t\t// dialog is focused (#10152)\n
Login.c(118): \t\tthis._makeFocusTarget();\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusTabbable: function() {\n
Login.c(118): \t\t// Set focus to the first match:\n
Login.c(118): \t\t// 1. An element that was focused previously\n
Login.c(118): \t\t// 2. First element inside the dialog matching [autofocus]\n
Login.c(118): \t\t// 3. Tabbable element inside the content element\n
Login.c(118): \t\t// 4. Tabbable element inside the buttonpane\n
Login.c(118): \t\t// 5. The close button\n
Login.c(118): \t\t// 6. The dialog itself\n
Login.c(118): \t\tvar hasFocus = this._focusedElement;\n
Login.c(118): \t\tif ( !hasFocus ) {\n
Login.c(118): \t\t\thasFocus = this.element.find( "[autofocus]" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.element.find( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.uiDialogButtonPane.find( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus =
this.uiDialogTitlebarClose.filter( ":tabbable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !hasFocus.length ) {\n
Login.c(118): \t\t\thasFocus = this.uiDialog;\n
Login.c(118): \t\t}\n
Login.c(118): \t\thasFocus.eq( 0 ).focus();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keepFocus: function( event ) {\n
Login.c(118): \t\tfunction checkFocus() {\n
Login.c(118): \t\t\tvar activeElement = this.document[0].activeElement,\n
Login.c(118): \t\t\t\tisActive = this.uiDialog[0] === activeElement ||\n
Login.c(118): \t\t\t\t\t$.contains( this.uiDialog[0], activeElement );\n
Login.c(118): \t\t\tif ( !isActive ) {\n
Login.c(118): \t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \t\tcheckFocus.call( this );\n
Login.c(118): \t\t// support: IE\n
Login.c(118): \t\t// IE <= 8 doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t// so we check again later\n
Login.c(118): \t\tthis._delay( checkFocus );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createWrapper: function() {\n
Login.c(118): \t\tthis.uiDialog = $("<div>")\n
Login.c(118): \t\t\t.addClass( "ui-dialog ui-widget ui-widget-content ui-
corner-all ui-front " +\n
Login.c(118): \t\t\t\tthis.options.dialogClass )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t// Setting tabIndex makes the div focusable\n
Login.c(118): \t\t\t\ttabIndex: -1,\n
Login.c(118): \t\t\t\trole: "dialog"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.uiDialog, {\n
Login.c(118): \t\t\tkeydown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this.options.closeOnEscape && !
event.isDefaultPrevented() && event.keyCode &&
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// prevent tabbing out of dialogs\n
Login.c(118): \t\t\t\tif ( event.keyCode !== $.ui.keyCode.TAB ||
event.isDefaultPrevented() ) {\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tvar tabbables = this.uiDialog.find( ":tabbable" ),\n
Login.c(118): \t\t\t\t\tfirst = tabbables.filter( ":first" ),\n
Login.c(118): \t\t\t\t\tlast = tabbables.filter( ":last" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( ( event.target === last[0] || event.target ===
this.uiDialog[0] ) && !event.s
Login.c(118): hiftKey ) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tfirst.focus();\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t} else if ( ( event.target === first[0] || event.target
=== this.uiDialog[0] ) &&
Login.c(118): event.shiftKey ) {\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tlast.focus();\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\tif ( this._moveToTop( event ) ) {\n
Login.c(118): \t\t\t\t\tthis._focusTabbable();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// We assume that any existing aria-describedby attribute
means\n
Login.c(118): \t\t// that the dialog content is marked up properly\n
Login.c(118): \t\t// otherwise we brute force the content as the description\n
Login.c(118): \t\tif ( !this.element.find( "[aria-describedby]" ).length ) {\n
Login.c(118): \t\t\tthis.uiDialog.attr({\n
Login.c(118): \t\t\t\t"aria-describedby":
this.element.uniqueId().attr( "id" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createTitlebar: function() {\n
Login.c(118): \t\tvar uiDialogTitle;\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialogTitlebar = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-titlebar ui-widget-header ui-corner-
all ui-helper-clearfix" )\n
Login.c(118): \t\t\t.prependTo( this.uiDialog );\n
Login.c(118): \t\tthis._on( this.uiDialogTitlebar, {\n
Login.c(118): \t\t\tmousedown: function( event ) {\n
Login.c(118): \t\t\t\t// Don't prevent click on close button (#8838)\n
Login.c(118): \t\t\t\t// Focusing a dialog that is partially scrolled out of
view\n
Login.c(118): \t\t\t\t// causes the browser to scroll it into view, preventing
the click event\n
Login.c(118): \t\t\t\tif ( !$( event.target ).closest( ".ui-dialog-titlebar-
close" ) ) {\n
Login.c(118): \t\t\t\t\t// Dialog isn't getting focus when dragging (#8063)\n
Login.c(118): \t\t\t\t\tthis.uiDialog.focus();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// support: IE\n
Login.c(118): \t\t// Use type="button" to prevent enter keypresses in textboxes
from closing the\n
Login.c(118): \t\t// dialog in IE (#9312)\n
Login.c(118): \t\tthis.uiDialogTitlebarClose = $( "<button
type='button'></button>" )\n
Login.c(118): \t\t\t.button({\n
Login.c(118): \t\t\t\tlabel: this.options.closeText,\n
Login.c(118): \t\t\t\ticons: {\n
Login.c(118): \t\t\t\t\tprimary: "ui-icon-closethick"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\ttext: false\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-dialog-titlebar-close" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialogTitlebar );\n
Login.c(118): \t\tthis._on( this.uiDialogTitlebarClose, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tuiDialogTitle = $( "<span>" )\n
Login.c(118): \t\t\t.uniqueId()\n
Login.c(118): \t\t\t.addClass( "ui-dialog-title" )\n
Login.c(118): \t\t\t.prependTo( this.uiDialogTitlebar );\n
Login.c(118): \t\tthis._title( uiDialogTitle );\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.attr({\n
Login.c(118): \t\t\t"aria-labelledby": uiDialogTitle.attr( "id" )\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_title: function( title ) {\n
Login.c(118): \t\tif ( !this.options.title ) {\n
Login.c(118): \t\t\ttitle.html( "&#160;" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\ttitle.text( this.options.title );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createButtonPane: function() {\n
Login.c(118): \t\tthis.uiDialogButtonPane = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-buttonpane ui-widget-content ui-
helper-clearfix" );\n
Login.c(118): \n
Login.c(118): \t\tthis.uiButtonSet = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-dialog-buttonset" )\n
Login.c(118): \t\t\t.appendTo( this.uiDialogButtonPane );\n
Login.c(118): \n
Login.c(118): \t\tthis._createButtons();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createButtons: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tbuttons = this.options.buttons;\n
Login.c(118): \n
Login.c(118): \t\t// if we already have a button pane, remove it\n
Login.c(118): \t\tthis.uiDialogButtonPane.remove();\n
Login.c(118): \t\tthis.uiButtonSet.empty();\n
Login.c(118): \n
Login.c(118): \t\tif ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !
buttons.length) ) {\n
Login.c(118): \t\t\tthis.uiDialog.re
Login.c(118): t=6797ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): moveClass( "ui-dialog-buttons" );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t$.each( buttons, function( name, props ) {\n
Login.c(118): \t\t\tvar click, buttonOptions;\n
Login.c(118): \t\t\tprops = $.isFunction( props ) ?\n
Login.c(118): \t\t\t\t{ click: props, text: name } :\n
Login.c(118): \t\t\t\tprops;\n
Login.c(118): \t\t\t// Default to a non-submitting button\n
Login.c(118): \t\t\tprops = $.extend( { type: "button" }, props );\n
Login.c(118): \t\t\t// Change the context for the click callback to be the main
element\n
Login.c(118): \t\t\tclick = props.click;\n
Login.c(118): \t\t\tprops.click = function() {\n
Login.c(118): \t\t\t\tclick.apply( that.element[ 0 ], arguments );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tbuttonOptions = {\n
Login.c(118): \t\t\t\ticons: props.icons,\n
Login.c(118): \t\t\t\ttext: props.showText\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tdelete props.icons;\n
Login.c(118): \t\t\tdelete props.showText;\n
Login.c(118): \t\t\t$( "<button></button>", props )\n
Login.c(118): \t\t\t\t.button( buttonOptions )\n
Login.c(118): \t\t\t\t.appendTo( that.uiButtonSet );\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.uiDialog.addClass( "ui-dialog-buttons" );\n
Login.c(118): \t\tthis.uiDialogButtonPane.appendTo( this.uiDialog );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeDraggable: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tfunction filteredUi( ui ) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tposition: ui.position,\n
Login.c(118): \t\t\t\toffset: ui.offset\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.draggable({\n
Login.c(118): \t\t\tcancel: ".ui-dialog-content, .ui-dialog-titlebar-close",\n
Login.c(118): \t\t\thandle: ".ui-dialog-titlebar",\n
Login.c(118): \t\t\tcontainment: "document",\n
Login.c(118): \t\t\tstart: function( event, ui ) {\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-dialog-dragging" );\n
Login.c(118): \t\t\t\tthat._blockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "dragStart", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tdrag: function( event, ui ) {\n
Login.c(118): \t\t\t\tthat._trigger( "drag", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tstop: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar left = ui.offset.left - that.document.scrollLeft(),\n
Login.c(118): \t\t\t\t\ttop = ui.offset.top - that.document.scrollTop();\n
Login.c(118): \n
Login.c(118): \t\t\t\toptions.position = {\n
Login.c(118): \t\t\t\t\tmy: "left top",\n
Login.c(118): \t\t\t\t\tat: "left" + (left >= 0 ? "+" : "") + left + " " +\n
Login.c(118): \t\t\t\t\t\t"top" + (top >= 0 ? "+" : "") + top,\n
Login.c(118): \t\t\t\t\tof: that.window\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\t$( this ).removeClass( "ui-dialog-dragging" );\n
Login.c(118): \t\t\t\tthat._unblockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "dragStop", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeResizable: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\thandles = options.resizable,\n
Login.c(118): \t\t\t// .ui-resizable has position: relative defined in the
stylesheet\n
Login.c(118): \t\t\t// but dialogs have to use absolute or fixed positioning\n
Login.c(118): \t\t\tposition = this.uiDialog.css("position"),\n
Login.c(118): \t\t\tresizeHandles = typeof handles === "string" ?\n
Login.c(118): \t\t\t\thandles\t:\n
Login.c(118): \t\t\t\t"n,e,s,w,se,sw,ne,nw";\n
Login.c(118): \n
Login.c(118): \t\tfunction filteredUi( ui ) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\toriginalPosition: ui.originalPosition,\n
Login.c(118): \t\t\t\toriginalSize: ui.originalSize,\n
Login.c(118): \t\t\t\tposition: ui.position,\n
Login.c(118): \t\t\t\tsize: ui.size\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.uiDialog.resizable({\n
Login.c(118): \t\t\tcancel: ".ui-dialog-content",\n
Login.c(118): \t\t\tcontainment: "document",\n
Login.c(118): \t\t\talsoResize: this.element,\n
Login.c(118): \t\t\tmaxWidth: options.maxWidth,\n
Login.c(118): \t\t\tmaxHeight: options.maxHeight,\n
Login.c(118): \t\t\tminWidth: options.minWidth,\n
Login.c(118): \t\t\tminHeight: this._minHeight(),\n
Login.c(118): \t\t\thandles: resizeHandles,\n
Login.c(118): \t\t\tstart: function( event, ui ) {\n
Login.c(118): \t\t\t\t$( this ).addClass( "ui-dialog-resizing" );\n
Login.c(118): \t\t\t\tthat._blockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "resizeStart", event,
filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tresize: function( event, ui ) {\n
Login.c(118): \t\t\t\tthat._trigger( "resize", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tstop: function( event, ui ) {\n
Login.c(118): \t\t\t\tvar offset = that.uiDialog.offset(),\n
Login.c(118): \t\t\t\t\tleft = offset.left - that.document.scrollLeft(),\n
Login.c(118): \t\t\t\t\ttop = offset.top - that.document.scrollTop();\n
Login.c(118): \n
Login.c(118): \t\t\t\toptions.height = that.uiDialog.height();\n
Login.c(118): \t\t\t\toptions.width = that.uiDialog.width();\n
Login.c(118): \t\t\t\toptions.position = {\n
Login.c(118): \t\t\t\t\tmy: "left top",\n
Login.c(118): \t\t\t\t\tat: "left" + (left >= 0 ? "+" : "") + left + " " +\n
Login.c(118): \t\t\t\t\t\t"top" + (top >= 0 ? "+" : "") + top,\n
Login.c(118): \t\t\t\t\tof: that.window\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\t\t$( this ).removeClass( "ui-dialog-resizing" );\n
Login.c(118): \t\t\t\tthat._unblockFrames();\n
Login.c(118): \t\t\t\tthat._trigger( "resizeStop", event, filteredUi( ui ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.css( "position", position );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trackFocus: function() {\n
Login.c(118): \t\tthis._on( this.widget(), {\n
Login.c(118): \t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\tthis._makeFocusTarget();\n
Login.c(118): \t\t\t\tthis._focusedElement = $( event.target );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_makeFocusTarget: function() {\n
Login.c(118): \t\tthis._untrackInstance();\n
Login.c(118): \t\tthis._trackingInstances().unshift( this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_untrackInstance: function() {\n
Login.c(118): \t\tvar instances = this._trackingInstances(),\n
Login.c(118): \t\t\texists = $.inArray( this, instances );\n
Login.c(118): \t\tif ( exists !== -1 ) {\n
Login.c(118): \t\t\tinstances.splice( exists, 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trackingInstances: function() {\n
Login.c(118): \t\tvar instances = this.document.data( "ui-dialog-
instances" );\n
Login.c(118): \t\tif ( !instances ) {\n
Login.c(118): \t\t\tinstances = [];\n
Login.c(118): \t\t\tthis.document.data( "ui-dialog-instances", instances );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn instances;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_minHeight: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \n
Login.c(118): \t\treturn options.height === "auto" ?\n
Login.c(118): \t\t\toptions.minHeight :\n
Login.c(118): \t\t\tMath.min( options.minHeight, options.height );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_position: function() {\n
Login.c(118): \t\t// Need to show the dialog to get the actual offset in the
position plugin\n
Login.c(118): \t\tvar isVisible = this.uiDialog.is( ":visible" );\n
Login.c(118): \t\tif ( !isVisible ) {\n
Login.c(118): \t\t\tthis.uiDialog.show();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.uiDialog.position( this.options.position );\n
Login.c(118): \t\tif ( !isVisible ) {\n
Login.c(118): \t\t\tthis.uiDialog.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tresize = false,\n
Login.c(118): \t\t\tresizableOptions = {};\n
Login.c(118): \n
Login.c(118): \t\t$.each( options, function( key, value ) {\n
Login.c(118): \t\t\tthat._setOption( key, value );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( key in that.sizeRelatedOptions ) {\n
Login.c(118): \t\t\t\tresize = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( key in that.resizableRelatedOptions ) {\n
Login.c(118): \t\t\t\tresizableOptions[ key ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( resize ) {\n
Login.c(118): \t\t\tthis._size();\n
Login.c(118): \t\t\tthis._position();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.uiDialog.is( ":data(ui-resizable)" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.resizable( "option", resizableOptions );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar isDraggable, isResizable,\n
Login.c(118): \t\t\tuiDialog = this.uiDialog;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "dialogClass" ) {\n
Login.c(118): \t\t\tuiDialog\n
Login.c(118): \t\t\t\t.removeClass( this.options.dialogClass )\n
Login.c(118): \t\t\t\t.addClass( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.uiDialog.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "buttons" ) {\n
Login.c(118): \t\t\tthis._createButtons();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "closeText" ) {\n
Login.c(118): \t\t\tthis.uiDialogTitlebarClose.button({\n
Login.c(118): \t\t\t\t// Ensure that we always pass a string\n
Login.c(118): \t\t\t\tlabel: "" + value\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "draggable" ) {\n
Login.c(118): \t\t\tisDraggable = uiDialog.is( ":data(ui-draggable)" );\n
Login.c(118): \t\t\tif ( isDraggable && !value ) {\n
Login.c(118): \t\t\t\tuiDialog.draggable( "destroy" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !isDraggable && value ) {\n
Login.c(118): \t\t\t\tthis._makeDraggable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "position" ) {\n
Login.c(118): \t\t\tthis._position();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "resizable" ) {\n
Login.c(118): \t\t\t// currently resizable, becoming non-resizable\n
Login.c(118): \t\t\tisResizable = uiDialog.is( ":data(ui-resizable)" );\n
Login.c(118): \t\t\tif ( isResizable && !value ) {\n
Login.c(118): \t\t\t\tuiDialog.resizable( "destroy" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// currently resizable, changing handles\n
Login.c(118): \t\t\tif ( isResizable && typeof value === "string" ) {\n
Login.c(118): \t\t\t\tuiDialog.resizable( "option", "handles", value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// currently non-resizable, becoming resizable\n
Login.c(118): \t\t\tif ( !isResizable && value !== false ) {\n
Login.c(118): \t\t\t\tthis._makeResizable();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "title" ) {\n
Login.c(118): \t\t\tthis._title( this.uiDialogTitlebar.find( ".ui-dialog-title"
) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_size: function() {\n
Login.c(118): \t\t// If the user has resized the dialog, the .ui-dialog and
.ui-dialog-content\n
Login.c(118): \t\t// divs will both have width and height set, so we need to
reset them\n
Login.c(118): \t\tvar nonContentHeight, minContentHeight, maxContentHeight,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// Reset content sizing\n
Login.c(118): \t\tthis.element.show().css({\n
Login.c(118): \t\t\twidth: "auto",\n
Login.c(118): \t\t\tminHeight: 0,\n
Login.c(118): \t\t\tmaxHeight: "none",\n
Login.c(118): \t\t\theight: 0\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( options.minWidth > options.width ) {\n
Login.c(118): \t\t\toptions.width = options.minWidth;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// reset wrapper sizing\n
Login.c(118): \t\t// determine the height of all the non-content elements\n
Login.c(118): \t\tnonContentHeight = this.uiDialog.css({\n
Login.c(118): \t\t\t\theight: "auto",\n
Login.c(118): \t\t\t\twidth: options.width\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.outerHeight();\n
Login.c(118): \t\tminContentHeight = Math.max( 0, options.minHeight -
nonContentHeight );\n
Login.c(118): \t\tmaxContentHeight = typeof options.maxHeight === "number" ?\n
Login.c(118): \t\t\tMath.max( 0, options.maxHeight - nonContentHeight ) :\n
Login.c(118): \t\t\t"none";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.height === "auto" ) {\n
Login.c(118): \t\t\tthis.element.css({\n
Login.c(118): \t\t\t\tminHeight: minContentHeight,\n
Login.c(118): \t\t\t\tmaxHeight: maxContentHeight,\n
Login.c(118): \t\t\t\theight: "auto"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.height( Math.max( 0, options.height -
nonContentHeight ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.uiDialog.is( ":data(ui-resizable)" ) ) {\n
Login.c(118): \t\t\tthis.uiDialog.resizable( "option", "minHeight",
this._minHeight() );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_blockFrames: function() {\n
Login.c(118): \t\tthis.iframeBlocks =
this.document.find( "iframe" ).map(function() {\n
Login.c(118): \t\t\tvar iframe = $( this );\n
Login.c(118): \n
Login.c(118): \t\t\treturn $( "<div>" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\twidth: iframe.outerWidth(),\n
Login.c(118): \t\t\t\t\theight: iframe.outerHeight()\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.appendTo( iframe.parent() )\n
Login.c(118): \t\t\t\t.offset( iframe.offset() )[0];\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_unblockFrames: function() {\n
Login.c(118): \t\tif ( this.iframeBlocks ) {\n
Login.c(118): \t\t\tthis.iframeBlocks.remove();\n
Login.c(118): \t\t\tdelete this.iframeBlocks;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_allowInteraction: function( event ) {\n
Login.c(118): \t\tif ( $( event.target ).closest( ".ui-dialog" ).length ) {\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// TODO: Remove hack when datepicker implements\n
Login.c(118): \t\t// the .ui-front logic (#8989)\n
Login.c(118): \t\treturn !!$( event.target ).closest( ".ui-
datepicker" ).length;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createOverlay: function() {\n
Login.c(118): \t\tif ( !this.options.modal ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// We use a delay in case the overlay is created from an\n
Login.c(118): \t\t// event that we're going to be cancelling (#2804)\n
Login.c(118): \t\tvar isOpening = true;\n
Login.c(118): \t\tthis._delay(function() {\n
Login.c(118): \t\t\tisOpening = false;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.document.data( "ui-dialog-overlays" ) ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// Prevent use of anchors and inputs\n
Login.c(118): \t\t\t// Using _on() for an event handler shared across many
instances is\n
Login.c(118): \t\t\t// safe because the dialogs stack and must be closed in
reverse order\n
Login.c(118): \t\t\tthis._on( this.document, {\n
Login.c(118): \t\t\t\tfocusin: function( event ) {\n
Login.c(118): \t\t\t\t\tif ( isOpening ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( !this._allowInteraction( event ) ) {\n
Login.c(118): \t\t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\t\tthis._trackingInstances()[ 0 ]._focusTabbable();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.overlay = $( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-widget-overlay ui-front" )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \t\tthis._on( this.overlay, {\n
Login.c(118): \t\t\tmousedown: "_keepFocus"\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.document.data( "ui-dialog-overlays",\n
Login.c(118): \t\t\t(this.document.data( "ui-dialog-overlays" ) || 0) + 1 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroyOverlay: function() {\n
Login.c(118): \t\tif ( !this.options.modal ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.overlay ) {\n
Login.c(118): \t\t\tvar overlays = this.document.data( "ui-dialog-overlays" ) -
1;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !overlays ) {\n
Login.c(118): \t\t\t\tthis.document\n
Login.c(118): \t\t\t\t\t.unbind( "focusin" )\n
Login.c(118): \t\t\t\t\t.removeData( "ui-dialog-overlays" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.document.data( "ui-dialog-overlays", overlays );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.overlay.remove();\n
Login.c(118): \t\t\tthis.overlay = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Droppable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/droppable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): $.widget( "ui.droppable", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "drop",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\taccept: "*",\n
Login.c(118): \t\tactiveClass: false,\n
Login.c(118): \t\taddClasses: true,\n
Login.c(118): \t\tgreedy: false,\n
Login.c(118): \t\thoverClass: false,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\ttolerance: "intersect",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tdeactivate: null,\n
Login.c(118): \t\tdrop: null,\n
Login.c(118): \t\tout: null,\n
Login.c(118): \t\tover: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar proportions,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\taccept = o.accept;\n
Login.c(118): \n
Login.c(118): \t\tthis.isover = false;\n
Login.c(118): \t\tthis.isout = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.accept = $.isFunction( accept ) ? accept : function( d )
{\n
Login.c(118): \t\t\treturn d.is( accept );\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis.proportions = function( /* valueToWrite */ ) {\n
Login.c(118): \t\t\tif ( arguments.length ) {\n
Login.c(118): \t\t\t\t// Store the droppable's proportions\n
Login.c(118): \t\t\t\tproportions = arguments[ 0 ];\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// Retrieve or derive the droppable's proportions\n
Login.c(118): \t\t\t\treturn proportions ?\n
Login.c(118): \t\t\t\t\tproportions :\n
Login.c(118): \t\t\t\t\tproportions = {\n
Login.c(118): \t\t\t\t\t\twidth: this.element[ 0 ].offsetWidth,\n
Login.c(118): \t\t\t\t\t\theight: this.element[ 0 ].offsetHeight\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis._addToManager( o.scope );\n
Login.c(118): \n
Login.c(118): \t\to.addClasses && this.element.addClass( "ui-droppable" );\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_addToManager: function( scope ) {\n
Login.c(118): \t\t// Add the reference and positions to the manager\n
Login.c(118): \t\t$.ui.ddmanager.droppables[ scope ] =
$.ui.ddmanager.droppables[ scope ] || [];\n
Login.c(118): \t\t$.ui.ddmanager.droppables[ scope ].push( this );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_splice: function( drop ) {\n
Login.c(118): \t\tvar i = 0;\n
Login.c(118): \t\tfor ( ; i < drop.length; i++ ) {\n
Login.c(118): \t\t\tif ( drop[ i ] === this ) {\n
Login.c(118): \t\t\t\tdrop.splice( i, 1 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\n
Login.c(118): \n
Login.c(118): \t\tthis._splice( drop );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass( "ui-droppable ui-droppable-
disabled" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "accept" ) {\n
Login.c(118): \t\t\tthis.accept = $.isFunction( value ) ? value : function( d )
{\n
Login.c(118): \t\t\t\treturn d.is( value );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else if ( key === "scope" ) {
Login.c(118): t=6840ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \n
Login.c(118): \t\t\tvar drop =
$.ui.ddmanager.droppables[ this.options.scope ];\n
Login.c(118): \n
Login.c(118): \t\t\tthis._splice( drop );\n
Login.c(118): \t\t\tthis._addToManager( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( event ) {\n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\tthis.element.addClass( this.options.activeClass );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( draggable ){\n
Login.c(118): \t\t\tthis._trigger( "activate", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_deactivate: function( event ) {\n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\tthis.element.removeClass( this.options.activeClass );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( draggable ){\n
Login.c(118): \t\t\tthis._trigger( "deactivate", event,
this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_over: function( event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.addClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "over", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_out: function( event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = $.ui.ddmanager.current;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "out", event, this.ui( draggable ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drop: function( event, custom ) {\n
Login.c(118): \n
Login.c(118): \t\tvar draggable = custom || $.ui.ddmanager.current,\n
Login.c(118): \t\t\tchildrenIntersection = false;\n
Login.c(118): \n
Login.c(118): \t\t// Bail if draggable and droppable are same element\n
Login.c(118): \t\tif ( !draggable || ( draggable.currentItem ||
draggable.element )[ 0 ] === this.elemen
Login.c(118): t[ 0 ] ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.find( ":data(ui-droppable)" ).not( ".ui-
draggable-dragging" ).each(functi
Login.c(118): on() {\n
Login.c(118): \t\t\tvar inst = $( this ).droppable( "instance" );\n
Login.c(118): \t\t\tif (\n
Login.c(118): \t\t\t\tinst.options.greedy &&\n
Login.c(118): \t\t\t\t!inst.options.disabled &&\n
Login.c(118): \t\t\t\tinst.options.scope === draggable.options.scope &&\n
Login.c(118): \t\t\t\tinst.accept.call( inst.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) &&\n
Login.c(118): \t\t\t\t$.ui.intersect( draggable, $.extend( inst, { offset:
inst.element.offset() } ), in
Login.c(118): st.options.tolerance, event )\n
Login.c(118): \t\t\t) { childrenIntersection = true; return false; }\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif ( childrenIntersection ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.accept.call( this.element[ 0 ],
( draggable.currentItem || draggable.element
Login.c(118): ) ) ) {\n
Login.c(118): \t\t\tif ( this.options.activeClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.activeClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( this.options.hoverClass ) {\n
Login.c(118): \t\t\t\tthis.element.removeClass( this.options.hoverClass );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._trigger( "drop", event, this.ui( draggable ) );\n
Login.c(118): \t\t\treturn this.element;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tui: function( c ) {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tdraggable: ( c.currentItem || c.element ),\n
Login.c(118): \t\t\thelper: c.helper,\n
Login.c(118): \t\t\tposition: c.position,\n
Login.c(118): \t\t\toffset: c.positionAbs\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.ui.intersect = (function() {\n
Login.c(118): \tfunction isOverAxis( x, reference, size ) {\n
Login.c(118): \t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn function( draggable, droppable, toleranceMode, event )
{\n
Login.c(118): \n
Login.c(118): \t\tif ( !droppable.offset ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar x1 = ( draggable.positionAbs ||
draggable.position.absolute ).left,\n
Login.c(118): \t\t\ty1 = ( draggable.positionAbs || draggable.position.absolute
).top,\n
Login.c(118): \t\t\tx2 = x1 + draggable.helperProportions.width,\n
Login.c(118): \t\t\ty2 = y1 + draggable.helperProportions.height,\n
Login.c(118): \t\t\tl = droppable.offset.left,\n
Login.c(118): \t\t\tt = droppable.offset.top,\n
Login.c(118): \t\t\tr = l + droppable.proportions().width,\n
Login.c(118): \t\t\tb = t + droppable.proportions().height;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( toleranceMode ) {\n
Login.c(118): \t\tcase "fit":\n
Login.c(118): \t\t\treturn ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );\n
Login.c(118): \t\tcase "intersect":\n
Login.c(118): \t\t\treturn ( l < x1 + ( draggable.helperProportions.width / 2 )
&& // Right Half\n
Login.c(118): \t\t\t\tx2 - ( draggable.helperProportions.width / 2 ) < r && //
Left Half\n
Login.c(118): \t\t\t\tt < y1 + ( draggable.helperProportions.height / 2 ) && //
Bottom Half\n
Login.c(118): \t\t\t\ty2 - ( draggable.helperProportions.height / 2 ) < b ); //
Top Half\n
Login.c(118): \t\tcase "pointer":\n
Login.c(118): \t\t\treturn isOverAxis( event.pageY, t,
droppable.proportions().height ) && isOverAxis( e
Login.c(118): vent.pageX, l, droppable.proportions().width );\n
Login.c(118): \t\tcase "touch":\n
Login.c(118): \t\t\treturn (\n
Login.c(118): \t\t\t\t( y1 >= t && y1 <= b ) || // Top edge touching\n
Login.c(118): \t\t\t\t( y2 >= t && y2 <= b ) || // Bottom edge touching\n
Login.c(118): \t\t\t\t( y1 < t && y2 > b ) // Surrounded vertically\n
Login.c(118): \t\t\t) && (\n
Login.c(118): \t\t\t\t( x1 >= l && x1 <= r ) || // Left edge touching\n
Login.c(118): \t\t\t\t( x2 >= l && x2 <= r ) || // Right edge touching\n
Login.c(118): \t\t\t\t( x1 < l && x2 > r ) // Surrounded horizontally\n
Login.c(118): \t\t\t);\n
Login.c(118): \t\tdefault:\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): \tThis manager tracks offsets of draggables and droppables\n
Login.c(118): */\n
Login.c(118): $.ui.ddmanager = {\n
Login.c(118): \tcurrent: null,\n
Login.c(118): \tdroppables: { "default": [] },\n
Login.c(118): \tprepareOffsets: function( t, event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, j,\n
Login.c(118): \t\t\tm = $.ui.ddmanager.droppables[ t.options.scope ] || [],\n
Login.c(118): \t\t\ttype = event ? event.type : null, // workaround for #2317\n
Login.c(118): \t\t\tlist = ( t.currentItem || t.element ).find( ":data(ui-
droppable)" ).addBack();\n
Login.c(118): \n
Login.c(118): \t\tdroppablesLoop: for ( i = 0; i < m.length; i++ ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// No disabled and non-accepted\n
Login.c(118): \t\t\tif ( m[ i ].options.disabled || ( t && !m[ i ].accept.call(
m[ i ].element[ 0 ], ( t
Login.c(118): .currentItem || t.element ) ) ) ) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Filter out elements in the current dragged item\n
Login.c(118): \t\t\tfor ( j = 0; j < list.length; j++ ) {\n
Login.c(118): \t\t\t\tif ( list[ j ] === m[ i ].element[ 0 ] ) {\n
Login.c(118): \t\t\t\t\tm[ i ].proportions().height = 0;\n
Login.c(118): \t\t\t\t\tcontinue droppablesLoop;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tm[ i ].visible = m[ i ].element.css( "display" ) !==
"none";\n
Login.c(118): \t\t\tif ( !m[ i ].visible ) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Activate the droppable if used directly from
draggables\n
Login.c(118): \t\t\tif ( type === "mousedown" ) {\n
Login.c(118): \t\t\t\tm[ i ]._activate.call( m[ i ], event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tm[ i ].offset = m[ i ].element.offset();\n
Login.c(118): \t\t\tm[ i ].proportions({ width:
m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[
Login.c(118): 0 ].offsetHeight });\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdrop: function( draggable, event ) {\n
Login.c(118): \n
Login.c(118): \t\tvar dropped = false;\n
Login.c(118): \t\t// Create a copy of the droppables in case the list changes
during the drop (#9116)\n
Login.c(118):
\t\t$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(),
functi
Login.c(118): on() {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !this.options.disabled && this.visible &&
$.ui.intersect( draggable, this, this
Login.c(118): .options.tolerance, event ) ) {\n
Login.c(118): \t\t\t\tdropped = this._drop.call( this, event ) || dropped;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.options.disabled && this.visible &&
this.accept.call( this.element[ 0 ],
Login.c(118): ( draggable.currentItem || draggable.element ) ) ) {\n
Login.c(118): \t\t\t\tthis.isout = true;\n
Login.c(118): \t\t\t\tthis.isover = false;\n
Login.c(118): \t\t\t\tthis._deactivate.call( this, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn dropped;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdragStart: function( draggable, event ) {\n
Login.c(118): \t\t// Listen for scrolling so that if the dragging causes
scrolling the position of the d
Login.c(118): roppables can be recalculated (see #5003)\n
Login.c(118):
\t\tdraggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function()
{\n
Login.c(118): \t\t\tif ( !draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \tdrag: function( draggable, event ) {\n
Login.c(118): \n
Login.c(118): \t\t// If you have a highly dynamic page, you might try this
option. It renders positions
Login.c(118): every time you move the mouse.\n
Login.c(118): \t\tif ( draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Run through all droppables and check their positions based
on specific tolerance op
Login.c(118): tions\n
Login.c(118): \t\t$.each( $.ui.ddmanager.droppables[ draggable.options.scope ]
|| [], function() {\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.options.disabled || this.greedyChild || !
this.visible ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tvar parentInstance, scope, parent,\n
Login.c(118): \t\t\t\tintersects = $.ui.intersect( draggable, this,
this.options.tolerance, event ),\n
Login.c(118): \t\t\t\tc = !intersects && this.isover ? "isout" : ( intersects
&& !this.isover ? "isover"
Login.c(118): : null );\n
Login.c(118): \t\t\tif ( !c ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this.options.greedy ) {\n
Login.c(118): \t\t\t\t// find droppable parents with same scope\n
Login.c(118): \t\t\t\tscope = this.options.scope;\n
Login.c(118): \t\t\t\tparent = this.element.parents( ":data(ui-
droppable)" ).filter(function() {\n
Login.c(118): \t\t\t\t\treturn $( this ).droppable( "instance" ).options.scope
=== scope;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( parent.length ) {\n
Login.c(118): \t\t\t\t\tparentInstance = $( parent[ 0 ] ).droppable( "instance"
);\n
Login.c(118): \t\t\t\t\tparentInstance.greedyChild = ( c === "isover" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// we just moved into a greedy child\n
Login.c(118): \t\t\tif ( parentInstance && c === "isover" ) {\n
Login.c(118): \t\t\t\tparentInstance.isover = false;\n
Login.c(118): \t\t\t\tparentInstance.isout = true;\n
Login.c(118): \t\t\t\tparentInstance._out.call( parentInstance, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis[ c ] = true;\n
Login.c(118): \t\t\tthis[c === "isout" ? "isover" : "isout"] = false;\n
Login.c(118): \t\t\tthis[c === "isover" ? "_over" : "_out"].call( this,
event );\n
Login.c(118): \n
Login.c(118): \t\t\t// we just moved out of a greedy child\n
Login.c(118): \t\t\tif ( parentInstance && c === "isout" ) {\n
Login.c(118): \t\t\t\tparentInstance.isout = false;\n
Login.c(118): \t\t\t\tparentInstance.isover = true;\n
Login.c(118): \t\t\t\tparentInstance._over.call( parentInstance, event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \tdragStop: function( draggable, event ) {\n
Login.c(118):
\t\tdraggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );\n
Login.c(118): \t\t// Call prepareOffsets one final time since IE does not fire
return scroll events when
Login.c(118): overflow was caused by drag (see #5003)\n
Login.c(118): \t\tif ( !draggable.options.refreshPositions ) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var droppable = $.ui.droppable;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/category/effects-core/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var dataSpace = "ui-effects-",\n
Login.c(118): \n
Login.c(118): \t// Create a local jQuery because jQuery Color relies on it and
the\n
Login.c(118): \t// global may not exist with AMD and a custom build (#10199)\n
Login.c(118): \tjQuery = $;\n
Login.c(118): \n
Login.c(118): $.effects = {\n
Login.c(118): \teffect: {}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery Color Animations v2.1.2\n
Login.c(118): * https://github.com/jquery/jquery-color\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * Date: Wed Jan 16 08:47:09 2013 -0600\n
Login.c(118): */\n
Login.c(118): (function( jQuery, undefined ) {\n
Login.c(118): \n
Login.c(118): \tvar stepHooks = "backgroundColor borderBottomColor
borderLeftColor borderRightColor bord
Login.c(118): erTopColor color columnRuleColor outlineColor textDecorationColor
textEmphasisColor",\n
Login.c(118): \n
Login.c(118): \t// plusequals test for += 100 -= 100\n
Login.c(118): \trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n
Login.c(118): \t// a set of RE's that can match strings and generate color
tuples.\n
Login.c(118): \tstringParsers = [ {\n
Login.c(118): \t\t\tre: /rgba?\\
(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?
Login.c(118): :\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ],\n
Login.c(118): \t\t\t\t\texecResult[ 2 ],\n
Login.c(118): \t\t\t\t\texecResult[ 3 ],\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+
(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?
Login.c(118): :\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 2 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 3 ] * 2.55,\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\t// this regex ignores A-F because it's compared against an
already lowercased string
Login.c(118): \n
Login.c(118): \t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 3 ], 16 )\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\t// this regex ignores A-F because it's compared against an
already lowercased string
Login.c(118): \n
Login.c(118): \t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n
Login.c(118): \t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 )\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}, {\n
Login.c(118): \t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+
(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\
Login.c(118): .\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n
Login.c(118): \t\t\tspace: "hsla",\n
Login.c(118): \t\t\tparse: function( execResult ) {\n
Login.c(118): \t\t\t\treturn [\n
Login.c(118): \t\t\t\t\texecResult[ 1 ],\n
Login.c(118): \t\t\t\t\texecResult[ 2 ] / 100,\n
Login.c(118): \t\t\t\t\texecResult[ 3 ] / 100,\n
Login.c(118): \t\t\t\t\texecResult[ 4 ]\n
Login.c(118): \t\t\t\t];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} ],\n
Login.c(118): \n
Login.c(118): \t// jQuery.Color( )\n
Login.c(118): \tcolor = jQuery.Color = function( color, green, blue, alpha )
{\n
Login.c(118): \t\treturn new jQuery.Color.fn.parse( color, green, blue,
alpha );\n
Login.c(118): \t},\n
Login.c(118): \tspaces = {\n
Login.c(118): \t\trgba: {\n
Login.c(118): \t\t\tprops: {\n
Login.c(118): \t\t\t\tred: {\n
Login.c(118): \t\t\t\t\tidx: 0,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tgreen: {\n
Login.c(118): \t\t\t\t\tidx: 1,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tblue: {\n
Login.c(118): \t\t\t\t\tidx: 2,\n
Login.c(118): \t\t\t\t\ttype: "byte"\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\thsla: {\n
Login.c(118): \t\t\tprops: {\n
Login.c(118): \t\t\t\thue: {\n
Login.c(118): \t\t\t\t\tidx: 0,\n
Login.c(118): \t\t\t
Login.c(118): t=6859ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \t\ttype: "degrees"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tsaturation: {\n
Login.c(118): \t\t\t\t\tidx: 1,\n
Login.c(118): \t\t\t\t\ttype: "percent"\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tlightness: {\n
Login.c(118): \t\t\t\t\tidx: 2,\n
Login.c(118): \t\t\t\t\ttype: "percent"\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tpropTypes = {\n
Login.c(118): \t\t"byte": {\n
Login.c(118): \t\t\tfloor: true,\n
Login.c(118): \t\t\tmax: 255\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"percent": {\n
Login.c(118): \t\t\tmax: 1\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"degrees": {\n
Login.c(118): \t\t\tmod: 360,\n
Login.c(118): \t\t\tfloor: true\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tsupport = color.support = {},\n
Login.c(118): \n
Login.c(118): \t// element for support tests\n
Login.c(118): \tsupportElem = jQuery( "<p>" )[ 0 ],\n
Login.c(118): \n
Login.c(118): \t// colors = jQuery.Color.names\n
Login.c(118): \tcolors,\n
Login.c(118): \n
Login.c(118): \t// local aliases of functions called often\n
Login.c(118): \teach = jQuery.each;\n
Login.c(118): \n
Login.c(118): // determine rgba support immediately\n
Login.c(118): supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";\n
Login.c(118): support.rgba =
supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;\n
Login.c(118): \n
Login.c(118): // define cache name and alpha properties\n
Login.c(118): // for rgba and hsla spaces\n
Login.c(118): each( spaces, function( spaceName, space ) {\n
Login.c(118): \tspace.cache = "_" + spaceName;\n
Login.c(118): \tspace.props.alpha = {\n
Login.c(118): \t\tidx: 3,\n
Login.c(118): \t\ttype: "percent",\n
Login.c(118): \t\tdef: 1\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function clamp( value, prop, allowEmpty ) {\n
Login.c(118): \tvar type = propTypes[ prop.type ] || {};\n
Login.c(118): \n
Login.c(118): \tif ( value == null ) {\n
Login.c(118): \t\treturn (allowEmpty || !prop.def) ? null : prop.def;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// ~~ is an short way of doing floor for positive numbers\n
Login.c(118): \tvalue = type.floor ? ~~value : parseFloat( value );\n
Login.c(118): \n
Login.c(118): \t// IE will pass in empty strings as value for alpha,\n
Login.c(118): \t// which will hit this case\n
Login.c(118): \tif ( isNaN( value ) ) {\n
Login.c(118): \t\treturn prop.def;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( type.mod ) {\n
Login.c(118): \t\t// we add mod before modding to make sure that negatives
values\n
Login.c(118): \t\t// get converted properly: -10 -> 350\n
Login.c(118): \t\treturn (value + type.mod) % type.mod;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// for now all property types without mod have min and max\n
Login.c(118): \treturn 0 > value ? 0 : type.max < value ? type.max : value;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function stringParse( string ) {\n
Login.c(118): \tvar inst = color(),\n
Login.c(118): \t\trgba = inst._rgba = [];\n
Login.c(118): \n
Login.c(118): \tstring = string.toLowerCase();\n
Login.c(118): \n
Login.c(118): \teach( stringParsers, function( i, parser ) {\n
Login.c(118): \t\tvar parsed,\n
Login.c(118): \t\t\tmatch = parser.re.exec( string ),\n
Login.c(118): \t\t\tvalues = match && parser.parse( match ),\n
Login.c(118): \t\t\tspaceName = parser.space || "rgba";\n
Login.c(118): \n
Login.c(118): \t\tif ( values ) {\n
Login.c(118): \t\t\tparsed = inst[ spaceName ]( values );\n
Login.c(118): \n
Login.c(118): \t\t\t// if this was an rgba parse the assignment might happen
twice\n
Login.c(118): \t\t\t// oh well....\n
Login.c(118): \t\t\tinst[ spaces[ spaceName ].cache ] =
parsed[ spaces[ spaceName ].cache ];\n
Login.c(118): \t\t\trgba = inst._rgba = parsed._rgba;\n
Login.c(118): \n
Login.c(118): \t\t\t// exit each( stringParsers ) here because we matched\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// Found a stringParser that handled it\n
Login.c(118): \tif ( rgba.length ) {\n
Login.c(118): \n
Login.c(118): \t\t// if this came from a parsed string, force "transparent"
when alpha is 0\n
Login.c(118): \t\t// chrome, (and maybe others) return "transparent" as
rgba(0,0,0,0)\n
Login.c(118): \t\tif ( rgba.join() === "0,0,0,0" ) {\n
Login.c(118): \t\t\tjQuery.extend( rgba, colors.transparent );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn inst;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// named colors\n
Login.c(118): \treturn colors[ string ];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): color.fn = jQuery.extend( color.prototype, {\n
Login.c(118): \tparse: function( red, green, blue, alpha ) {\n
Login.c(118): \t\tif ( red === undefined ) {\n
Login.c(118): \t\t\tthis._rgba = [ null, null, null, null ];\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( red.jquery || red.nodeType ) {\n
Login.c(118): \t\t\tred = jQuery( red ).css( green );\n
Login.c(118): \t\t\tgreen = undefined;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar inst = this,\n
Login.c(118): \t\t\ttype = jQuery.type( red ),\n
Login.c(118): \t\t\trgba = this._rgba = [];\n
Login.c(118): \n
Login.c(118): \t\t// more than 1 argument specified - assume ( red, green,
blue, alpha )\n
Login.c(118): \t\tif ( green !== undefined ) {\n
Login.c(118): \t\t\tred = [ red, green, blue, alpha ];\n
Login.c(118): \t\t\ttype = "array";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "string" ) {\n
Login.c(118): \t\t\treturn this.parse( stringParse( red ) ||
colors._default );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "array" ) {\n
Login.c(118): \t\t\teach( spaces.rgba.props, function( key, prop ) {\n
Login.c(118): \t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( type === "object" ) {\n
Login.c(118): \t\t\tif ( red instanceof color ) {\n
Login.c(118): \t\t\t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\t\t\tif ( red[ space.cache ] ) {\n
Login.c(118): \t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\t\t\tvar cache = space.cache;\n
Login.c(118): \t\t\t\t\teach( space.props, function( key, prop ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// if the cache doesn't exist, and we know how to
convert\n
Login.c(118): \t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// if the value was null, we don't need to copy
it\n
Login.c(118): \t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it
either\n
Login.c(118): \t\t\t\t\t\t\tif ( key === "alpha" || red[ key ] == null ) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t// this is the only case where we allow nulls for ALL
properties.\n
Login.c(118): \t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n
Login.c(118): \t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop,
true );\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// everything defined but alpha?\n
Login.c(118): \t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache
].slice( 0, 3 ) ) < 0 )
Login.c(118): {\n
Login.c(118): \t\t\t\t\t\t// use the default of 1\n
Login.c(118): \t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n
Login.c(118): \t\t\t\t\t\tif ( space.from ) {\n
Login.c(118): \t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \tis: function( compare ) {\n
Login.c(118): \t\tvar is = color( compare ),\n
Login.c(118): \t\t\tsame = true,\n
Login.c(118): \t\t\tinst = this;\n
Login.c(118): \n
Login.c(118): \t\teach( spaces, function( _, space ) {\n
Login.c(118): \t\t\tvar localCache,\n
Login.c(118): \t\t\t\tisCache = is[ space.cache ];\n
Login.c(118): \t\t\tif (isCache) {\n
Login.c(118): \t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to(
inst._rgba ) || [];\n
Login.c(118): \t\t\t\teach( space.props, function( _, prop ) {\n
Login.c(118): \t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n
Login.c(118): \t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx
] );\n
Login.c(118): \t\t\t\t\t\treturn same;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn same;\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn same;\n
Login.c(118): \t},\n
Login.c(118): \t_space: function() {\n
Login.c(118): \t\tvar used = [],\n
Login.c(118): \t\t\tinst = this;\n
Login.c(118): \t\teach( spaces, function( spaceName, space ) {\n
Login.c(118): \t\t\tif ( inst[ space.cache ] ) {\n
Login.c(118): \t\t\t\tused.push( spaceName );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn used.pop();\n
Login.c(118): \t},\n
Login.c(118): \ttransition: function( other, distance ) {\n
Login.c(118): \t\tvar end = color( other ),\n
Login.c(118): \t\t\tspaceName = end._space(),\n
Login.c(118): \t\t\tspace = spaces[ spaceName ],\n
Login.c(118): \t\t\tstartColor = this.alpha() === 0 ? color( "transparent" ) :
this,\n
Login.c(118): \t\t\tstart = startColor[ space.cache ] ||
space.to( startColor._rgba ),\n
Login.c(118): \t\t\tresult = start.slice();\n
Login.c(118): \n
Login.c(118): \t\tend = end[ space.cache ];\n
Login.c(118): \t\teach( space.props, function( key, prop ) {\n
Login.c(118): \t\t\tvar index = prop.idx,\n
Login.c(118): \t\t\t\tstartValue = start[ index ],\n
Login.c(118): \t\t\t\tendValue = end[ index ],\n
Login.c(118): \t\t\t\ttype = propTypes[ prop.type ] || {};\n
Login.c(118): \n
Login.c(118): \t\t\t// if null, don't override start value\n
Login.c(118): \t\t\tif ( endValue === null ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t// if null - use end\n
Login.c(118): \t\t\tif ( startValue === null ) {\n
Login.c(118): \t\t\t\tresult[ index ] = endValue;\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( type.mod ) {\n
Login.c(118): \t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n
Login.c(118): \t\t\t\t\t\tstartValue += type.mod;\n
Login.c(118): \t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n
Login.c(118): \t\t\t\t\t\tstartValue -= type.mod;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) *
distance + startValue, prop )
Login.c(118): ;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn this[ spaceName ]( result );\n
Login.c(118): \t},\n
Login.c(118): \tblend: function( opaque ) {\n
Login.c(118): \t\t// if we are already opaque - return ourself\n
Login.c(118): \t\tif ( this._rgba[ 3 ] === 1 ) {\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar rgb = this._rgba.slice(),\n
Login.c(118): \t\t\ta = rgb.pop(),\n
Login.c(118): \t\t\tblend = color( opaque )._rgba;\n
Login.c(118): \n
Login.c(118): \t\treturn color( jQuery.map( rgb, function( v, i ) {\n
Login.c(118): \t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n
Login.c(118): \t\t}));\n
Login.c(118): \t},\n
Login.c(118): \ttoRgbaString: function() {\n
Login.c(118): \t\tvar prefix = "rgba(",\n
Login.c(118): \t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n
Login.c(118): \t\t\t\treturn v == null ? ( i > 2 ? 1 : 0 ) : v;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( rgba[ 3 ] === 1 ) {\n
Login.c(118): \t\t\trgba.pop();\n
Login.c(118): \t\t\tprefix = "rgb(";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn prefix + rgba.join() + ")";\n
Login.c(118): \t},\n
Login.c(118): \ttoHslaString: function() {\n
Login.c(118): \t\tvar prefix = "hsla(",\n
Login.c(118): \t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n
Login.c(118): \t\t\t\tif ( v == null ) {\n
Login.c(118): \t\t\t\t\tv = i > 2 ? 1 : 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t// catch 1 and 2\n
Login.c(118): \t\t\t\tif ( i && i < 3 ) {\n
Login.c(118): \t\t\t\t\tv = Math.round( v * 100 ) + "%";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn v;\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( hsla[ 3 ] === 1 ) {\n
Login.c(118): \t\t\thsla.pop();\n
Login.c(118): \t\t\tprefix = "hsl(";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn prefix + hsla.join() + ")";\n
Login.c(118): \t},\n
Login.c(118): \ttoHexString: function( includeAlpha ) {\n
Login.c(118): \t\tvar rgba = this._rgba.slice(),\n
Login.c(118): \t\t\talpha = rgba.pop();\n
Login.c(118): \n
Login.c(118): \t\tif ( includeAlpha ) {\n
Login.c(118): \t\t\trgba.push( ~~( alpha * 255 ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn "#" + jQuery.map( rgba, function( v ) {\n
Login.c(118): \n
Login.c(118): \t\t\t// default to 0 when nulls exist\n
Login.c(118): \t\t\tv = ( v || 0 ).toString( 16 );\n
Login.c(118): \t\t\treturn v.length === 1 ? "0" + v : v;\n
Login.c(118): \t\t}).join("");\n
Login.c(118): \t},\n
Login.c(118): \ttoString: function() {\n
Login.c(118): \t\treturn this._rgba[ 3 ] === 0 ? "transparent" :
this.toRgbaString();\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): color.fn.parse.prototype = color.fn;\n
Login.c(118): \n
Login.c(118): // hsla conversions adapted from:\n
Login.c(118): //
https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graph
ics/
Login.c(118): colors/HUE2RGB.as?r=5021\n
Login.c(118): \n
Login.c(118): function hue2rgb( p, q, h ) {\n
Login.c(118): \th = ( h + 1 ) % 1;\n
Login.c(118): \tif ( h * 6 < 1 ) {\n
Login.c(118): \t\treturn p + ( q - p ) * h * 6;\n
Login.c(118): \t}\n
Login.c(118): \tif ( h * 2 < 1) {\n
Login.c(118): \t\treturn q;\n
Login.c(118): \t}\n
Login.c(118): \tif ( h * 3 < 2 ) {\n
Login.c(118): \t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n
Login.c(118): \t}\n
Login.c(118): \treturn p;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): spaces.hsla.to = function( rgba ) {\n
Login.c(118): \tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] ==
null ) {\n
Login.c(118): \t\treturn [ null, null, null, rgba[ 3 ] ];\n
Login.c(118): \t}\n
Login.c(118): \tvar r = rgba[ 0 ] / 255,\n
Login.c(118): \t\tg = rgba[ 1 ] / 255,\n
Login.c(118): \t\tb = rgba[ 2 ] / 255,\n
Login.c(118): \t\ta = rgba[ 3 ],\n
Login.c(118): \t\tmax = Math.max( r, g, b ),\n
Login.c(118): \t\tmin = Math.min( r, g, b ),\n
Login.c(118): \t\tdiff = max - min,\n
Login.c(118): \t\tadd = max + min,\n
Login.c(118): \t\tl = add * 0.5,\n
Login.c(118): \t\th, s;\n
Login.c(118): \n
Login.c(118): \tif ( min === max ) {\n
Login.c(118): \t\th = 0;\n
Login.c(118): \t} else if ( r === max ) {\n
Login.c(118): \t\th = ( 60 * ( g - b ) / diff ) + 360;\n
Login.c(118): \t} else if ( g === max ) {\n
Login.c(118): \t\th = ( 60 * ( b - r ) / diff ) + 120;\n
Login.c(118): \t} else {\n
Login.c(118): \t\th = ( 60 * ( r - g ) / diff ) + 240;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// chroma (diff) == 0 means greyscale which, by definition,
saturation = 0%\n
Login.c(118): \t// otherwise, saturation is based on the ratio of chroma (diff)
to lightness (add)\n
Login.c(118): \tif ( diff === 0 ) {\n
Login.c(118): \t\ts = 0;\n
Login.c(118): \t} else if ( l <= 0.5 ) {\n
Login.c(118): \t\ts = diff / add;\n
Login.c(118): \t} else {\n
Login.c(118): \t\ts = diff / ( 2 - add );\n
Login.c(118): \t}\n
Login.c(118): \treturn [ Math.round(h) % 360, s, l, a == null ? 1 : a ];\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): spaces.hsla.from = function( hsla ) {\n
Login.c(118): \tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] ==
null ) {\n
Login.c(118): \t\treturn [ null, null, null, hsla[ 3 ] ];\n
Login.c(118): \t}\n
Login.c(118): \tvar h = hsla[ 0 ] / 360,\n
Login.c(118): \t\ts = hsla[ 1 ],\n
Login.c(118): \t\tl = hsla[ 2 ],\n
Login.c(118): \t\ta = hsla[ 3 ],\n
Login.c(118): \t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n
Login.c(118): \t\tp = 2 * l - q;\n
Login.c(118): \n
Login.c(118): \treturn [\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n
Login.c(118): \t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n
Login.c(118): \t\ta\n
Login.c(118): \t];\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): each( spaces, function( spaceName, space ) {\n
Login.c(118): \tvar props = space.props,\n
Login.c(118): \t\tcache = space.cache,\n
Login.c(118): \t\tto = space.to,\n
Login.c(118): \t\tfrom = space.from;\n
Login.c(118): \n
Login.c(118): \t// makes rgba() and hsla()\n
Login.c(118): \tcolor.fn[ spaceName ] = function( value ) {\n
Login.c(118): \n
Login.c(118): \t\t// generate a cache for this space if it doesn't exist\n
Login.c(118): \t\tif ( to && !this[ cache ] ) {\n
Login.c(118): \t\t\tthis[ cache ] = to( this._rgba );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( value === undefined ) {\n
Login.c(118): \t\t\treturn this[ cache ].slice();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar ret,\n
Login.c(118): \t\t\ttype = jQuery.type( value ),\n
Login.c(118): \t\t\tarr = ( type === "array" || type === "object" ) ? value :
arguments,\n
Login.c(118): \t\t\tlocal = this[ cache ].slice();\n
Login.c(118): \n
Login.c(118): \t\teach( props, function( key, prop ) {\n
Login.c(118): \t\t\tvar val = arr[ type === "object" ? key : prop.idx ];\n
Login.c(118): \t\t\tif ( val == null ) {\n
Login.c(118): \t\t\t\tval = local[ prop.idx ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tlocal[ prop.idx ] = clamp( val, prop );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif ( from ) {\n
Login.c(118): \t\t\tret = color( from( local ) );\n
Login.c(118): \t\t\tret[ cache ] = local;\n
Login.c(118): \t\t\treturn ret;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn color( local );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// makes red() green() blue() alpha() hue() saturation()
lightness()\n
Login.c(118): \teach( props, function( key, prop ) {\n
Login.c(118): \t\t// alpha is included in more than one space\n
Login.c(118): \t\tif ( color.fn[ key ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tcolor.fn[ key ] = function( value ) {\n
Login.c(118): \t\t\tvar vtype = jQuery.type( value ),\n
Login.c(118): \t\t\t\tfn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" )
: spaceName ),\n
Login.c(118): \t\t\t\tlocal = this[ fn ](),\n
Login.c(118): \t\t\t\tcur = local[ prop.idx ],\n
Login.c(118): \t\t\t\tmatch;\n
Login.c(118): \n
Login.c(118): \t\t\tif ( vtype === "undefined" ) {\n
Login.c(118): \t\t\t\treturn cur;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( vtype === "function" ) {\n
Login.c(118): \t\t\t\tvalue = value.call( this, cur );\n
Login.c(118): \t\t\t\tvtype = jQuery.type( value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( value == null && prop.empty ) {\n
Login.c(118): \t\t\t\treturn this;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( vtype === "string" ) {\n
Login.c(118): \t\t\t\tmatch = rplusequals.exec( value );\n
Login.c(118): \t\t\t\tif ( match ) {\n
Login.c(118): \t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ]
=== "+" ? 1 : -1 );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tlocal[ prop.idx ] = value;\n
Login.c(118): \t\t\treturn this[ fn ]( local );\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // add cssHook and .fx.step function for each named hook.\n
Login.c(118): // accept a space separated string of properties\n
Login.c(118): color.hook = function( hook ) {\n
Login.c(118): \tvar hooks = hook.split( " " );\n
Login.c(118): \teach( hooks, function( i, hook ) {\n
Login.c(118): \t\tjQuery.cssHooks[ hook ] = {\n
Login.c(118): \t\t\tset: function( elem, value ) {\n
Login.c(118): \t\t\t\tvar parsed, curElem,\n
Login.c(118): \t\t\t\t\tbackgroundColor = "";\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( value !== "transparent" && ( jQuery.type( value ) !
== "string" || ( parsed =
Login.c(118): stringParse( value ) ) ) ) {\n
Login.c(118): \t\t\t\t\tvalue = color( parsed || value );\n
Login.c(118): \t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n
Login.c(118): \t\t\t\t\t\tcurElem = hook === "backgroundColor" ?
elem.parentNode : elem;\n
Login.c(118): \t\t\t\t\t\twhile (\n
Login.c(118): \t\t\t\t\t\t\t(backgroundColor === "" || backgroundColor ===
"transparent") &&\n
Login.c(118): \t\t\t\t\t\t\tcurElem && curElem.style\n
Login.c(118): \t\t\t\t\t\t) {\n
Login.c(118): \t\t\t\t\t\t\ttry {\n
Login.c(118): \t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem,
"backgroundColor" );\n
Login.c(118): \t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n
Login.c(118): \t\t\t\t\t\t\t} catch ( e ) {\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tvalue = value.blend( backgroundColor && ba
Login.c(118): t=6880ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ckgroundColor !== "transparent" ?\n
Login.c(118): \t\t\t\t\t\t\tbackgroundColor :\n
Login.c(118): \t\t\t\t\t\t\t"_default" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvalue = value.toRgbaString();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\ttry {\n
Login.c(118): \t\t\t\t\telem.style[ hook ] = value;\n
Login.c(118): \t\t\t\t} catch( e ) {\n
Login.c(118): \t\t\t\t\t// wrapped to prevent IE from throwing errors on
"invalid" values like 'auto' or
Login.c(118): 'inherit'\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t\tjQuery.fx.step[ hook ] = function( fx ) {\n
Login.c(118): \t\t\tif ( !fx.colorInit ) {\n
Login.c(118): \t\t\t\tfx.start = color( fx.elem, hook );\n
Login.c(118): \t\t\t\tfx.end = color( fx.end );\n
Login.c(118): \t\t\t\tfx.colorInit = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tjQuery.cssHooks[ hook ].set( fx.elem,
fx.start.transition( fx.end, fx.pos ) );\n
Login.c(118): \t\t};\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): color.hook( stepHooks );\n
Login.c(118): \n
Login.c(118): jQuery.cssHooks.borderColor = {\n
Login.c(118): \texpand: function( value ) {\n
Login.c(118): \t\tvar expanded = {};\n
Login.c(118): \n
Login.c(118): \t\teach( [ "Top", "Right", "Bottom", "Left" ], function( i, part
) {\n
Login.c(118): \t\t\texpanded[ "border" + part + "Color" ] = value;\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn expanded;\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // Basic color names only.\n
Login.c(118): // Usage of any of the other color names requires adding yourself
or including\n
Login.c(118): // jquery.color.svg-names.js.\n
Login.c(118): colors = jQuery.Color.names = {\n
Login.c(118): \t// 4.1. Basic color keywords\n
Login.c(118): \taqua: "#00ffff",\n
Login.c(118): \tblack: "#000000",\n
Login.c(118): \tblue: "#0000ff",\n
Login.c(118): \tfuchsia: "#ff00ff",\n
Login.c(118): \tgray: "#808080",\n
Login.c(118): \tgreen: "#008000",\n
Login.c(118): \tlime: "#00ff00",\n
Login.c(118): \tmaroon: "#800000",\n
Login.c(118): \tnavy: "#000080",\n
Login.c(118): \tolive: "#808000",\n
Login.c(118): \tpurple: "#800080",\n
Login.c(118): \tred: "#ff0000",\n
Login.c(118): \tsilver: "#c0c0c0",\n
Login.c(118): \tteal: "#008080",\n
Login.c(118): \twhite: "#ffffff",\n
Login.c(118): \tyellow: "#ffff00",\n
Login.c(118): \n
Login.c(118): \t// 4.2.3. "transparent" color keyword\n
Login.c(118): \ttransparent: [ null, null, null, 0 ],\n
Login.c(118): \n
Login.c(118): \t_default: "#ffffff"\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): })( jQuery );\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /****************************** CLASS ANIMATIONS
******************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): var classAnimationActions = [ "add", "remove", "toggle" ],\n
Login.c(118): \tshorthandStyles = {\n
Login.c(118): \t\tborder: 1,\n
Login.c(118): \t\tborderBottom: 1,\n
Login.c(118): \t\tborderColor: 1,\n
Login.c(118): \t\tborderLeft: 1,\n
Login.c(118): \t\tborderRight: 1,\n
Login.c(118): \t\tborderTop: 1,\n
Login.c(118): \t\tborderWidth: 1,\n
Login.c(118): \t\tmargin: 1,\n
Login.c(118): \t\tpadding: 1\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): $.each([ "borderLeftStyle", "borderRightStyle",
"borderBottomStyle", "borderTopStyle" ], f
Login.c(118): unction( _, prop ) {\n
Login.c(118): \t$.fx.step[ prop ] = function( fx ) {\n
Login.c(118): \t\tif ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !
fx.setAttr ) {\n
Login.c(118): \t\t\tjQuery.style( fx.elem, prop, fx.end );\n
Login.c(118): \t\t\tfx.setAttr = true;\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function getElementStyles( elem ) {\n
Login.c(118): \tvar key, len,\n
Login.c(118): \t\tstyle = elem.ownerDocument.defaultView ?\n
Login.c(118): \t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null
) :\n
Login.c(118): \t\t\telem.currentStyle,\n
Login.c(118): \t\tstyles = {};\n
Login.c(118): \n
Login.c(118): \tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ]
) {\n
Login.c(118): \t\tlen = style.length;\n
Login.c(118): \t\twhile ( len-- ) {\n
Login.c(118): \t\t\tkey = style[ len ];\n
Login.c(118): \t\t\tif ( typeof style[ key ] === "string" ) {\n
Login.c(118): \t\t\t\tstyles[ $.camelCase( key ) ] = style[ key ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t// support: Opera, IE <9\n
Login.c(118): \t} else {\n
Login.c(118): \t\tfor ( key in style ) {\n
Login.c(118): \t\t\tif ( typeof style[ key ] === "string" ) {\n
Login.c(118): \t\t\t\tstyles[ key ] = style[ key ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn styles;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function styleDifference( oldStyle, newStyle ) {\n
Login.c(118): \tvar diff = {},\n
Login.c(118): \t\tname, value;\n
Login.c(118): \n
Login.c(118): \tfor ( name in newStyle ) {\n
Login.c(118): \t\tvalue = newStyle[ name ];\n
Login.c(118): \t\tif ( oldStyle[ name ] !== value ) {\n
Login.c(118): \t\t\tif ( !shorthandStyles[ name ] ) {\n
Login.c(118): \t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) )
{\n
Login.c(118): \t\t\t\t\tdiff[ name ] = value;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \treturn diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // support: jQuery <1.8\n
Login.c(118): if ( !$.fn.addBack ) {\n
Login.c(118): \t$.fn.addBack = function( selector ) {\n
Login.c(118): \t\treturn this.add( selector == null ?\n
Login.c(118): \t\t\tthis.prevObject : this.prevObject.filter( selector )\n
Login.c(118): \t\t);\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.effects.animateClass = function( value, duration, easing,
callback ) {\n
Login.c(118): \tvar o = $.speed( duration, easing, callback );\n
Login.c(118): \n
Login.c(118): \treturn this.queue( function() {\n
Login.c(118): \t\tvar animated = $( this ),\n
Login.c(118): \t\t\tbaseClass = animated.attr( "class" ) || "",\n
Login.c(118): \t\t\tapplyClassChange,\n
Login.c(118): \t\t\tallAnimations = o.children ? animated.find( "*" ).addBack()
: animated;\n
Login.c(118): \n
Login.c(118): \t\t// map the animated objects to store the original styles.\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tvar el = $( this );\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tel: el,\n
Login.c(118): \t\t\t\tstart: getElementStyles( this )\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// apply class change\n
Login.c(118): \t\tapplyClassChange = function() {\n
Login.c(118): \t\t\t$.each( classAnimationActions, function(i, action) {\n
Login.c(118): \t\t\t\tif ( value[ action ] ) {\n
Login.c(118): \t\t\t\t\tanimated[ action + "Class" ]( value[ action ] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t\tapplyClassChange();\n
Login.c(118): \n
Login.c(118): \t\t// map all animated objects again - calculate new styles and
diff\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n
Login.c(118): \t\t\tthis.diff = styleDifference( this.start, this.end );\n
Login.c(118): \t\t\treturn this;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// apply original class\n
Login.c(118): \t\tanimated.attr( "class", baseClass );\n
Login.c(118): \n
Login.c(118): \t\t// map all animated objects again - this time collecting a
promise\n
Login.c(118): \t\tallAnimations = allAnimations.map(function() {\n
Login.c(118): \t\t\tvar styleInfo = this,\n
Login.c(118): \t\t\t\tdfd = $.Deferred(),\n
Login.c(118): \t\t\t\topts = $.extend({}, o, {\n
Login.c(118): \t\t\t\t\tqueue: false,\n
Login.c(118): \t\t\t\t\tcomplete: function() {\n
Login.c(118): \t\t\t\t\t\tdfd.resolve( styleInfo );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.el.animate( this.diff, opts );\n
Login.c(118): \t\t\treturn dfd.promise();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// once all animations have completed:\n
Login.c(118): \t\t$.when.apply( $, allAnimations.get() ).done(function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// set the final class\n
Login.c(118): \t\t\tapplyClassChange();\n
Login.c(118): \n
Login.c(118): \t\t\t// for each animated element,\n
Login.c(118): \t\t\t// clear all css properties that were animated\n
Login.c(118): \t\t\t$.each( arguments, function() {\n
Login.c(118): \t\t\t\tvar el = this.el;\n
Login.c(118): \t\t\t\t$.each( this.diff, function(key) {\n
Login.c(118): \t\t\t\t\tel.css( key, "" );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\t// this is guarnteed to be there if you use
jQuery.speed()\n
Login.c(118): \t\t\t// it also handles dequeuing the next anim...\n
Login.c(118): \t\t\to.complete.call( animated[ 0 ] );\n
Login.c(118): \t\t});\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \taddClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, speed, easing, callback ) {\n
Login.c(118): \t\t\treturn speed ?\n
Login.c(118): \t\t\t\t$.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.addClass ),\n
Login.c(118): \n
Login.c(118): \tremoveClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, speed, easing, callback ) {\n
Login.c(118): \t\t\treturn arguments.length > 1 ?\n
Login.c(118): \t\t\t\t$.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n
Login.c(118): \t\t\t\torig.apply( this, arguments );\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.removeClass ),\n
Login.c(118): \n
Login.c(118): \ttoggleClass: (function( orig ) {\n
Login.c(118): \t\treturn function( classNames, force, speed, easing, callback )
{\n
Login.c(118): \t\t\tif ( typeof force === "boolean" || force === undefined )
{\n
Login.c(118): \t\t\t\tif ( !speed ) {\n
Login.c(118): \t\t\t\t\t// without speed parameter\n
Login.c(118): \t\t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\treturn $.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t\t(force ? { add: classNames } : { remove:
classNames }),\n
Login.c(118): \t\t\t\t\t\tspeed, easing, callback );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// without force parameter\n
Login.c(118): \t\t\t\treturn $.effects.animateClass.call( this,\n
Login.c(118): \t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.toggleClass ),\n
Login.c(118): \n
Login.c(118): \tswitchClass: function( remove, add, speed, easing, callback)
{\n
Login.c(118): \t\treturn $.effects.animateClass.call( this, {\n
Login.c(118): \t\t\tadd: add,\n
Login.c(118): \t\t\tremove: remove\n
Login.c(118): \t\t}, speed, easing, callback );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /*********************************** EFFECTS
**********************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): $.extend( $.effects, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \n
Login.c(118): \t// Saves a set of properties in a data storage\n
Login.c(118): \tsave: function( element, set ) {\n
Login.c(118): \t\tfor ( var i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( set[ i ] !== null ) {\n
Login.c(118): \t\t\t\telement.data( dataSpace + set[ i ],
element[ 0 ].style[ set[ i ] ] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Restores a set of previously saved properties from a data
storage\n
Login.c(118): \trestore: function( element, set ) {\n
Login.c(118): \t\tvar val, i;\n
Login.c(118): \t\tfor ( i = 0; i < set.length; i++ ) {\n
Login.c(118): \t\t\tif ( set[ i ] !== null ) {\n
Login.c(118): \t\t\t\tval = element.data( dataSpace + set[ i ] );\n
Login.c(118): \t\t\t\t// support: jQuery 1.6.2\n
Login.c(118): \t\t\t\t// http://bugs.jquery.com/ticket/9917\n
Login.c(118): \t\t\t\t// jQuery 1.6.2 incorrectly returns undefined for any
falsy value.\n
Login.c(118): \t\t\t\t// We can't differentiate between "" and 0 here, so we
just assume\n
Login.c(118): \t\t\t\t// empty string since it's likely to be a more common
value...\n
Login.c(118): \t\t\t\tif ( val === undefined ) {\n
Login.c(118): \t\t\t\t\tval = "";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telement.css( set[ i ], val );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsetMode: function( el, mode ) {\n
Login.c(118): \t\tif (mode === "toggle") {\n
Login.c(118): \t\t\tmode = el.is( ":hidden" ) ? "show" : "hide";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn mode;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Translates a [top,left] array into a baseline value\n
Login.c(118): \t// this should be a little more flexible in the future to
handle a string & hash\n
Login.c(118): \tgetBaseline: function( origin, original ) {\n
Login.c(118): \t\tvar y, x;\n
Login.c(118): \t\tswitch ( origin[ 0 ] ) {\n
Login.c(118): \t\t\tcase "top": y = 0; break;\n
Login.c(118): \t\t\tcase "middle": y = 0.5; break;\n
Login.c(118): \t\t\tcase "bottom": y = 1; break;\n
Login.c(118): \t\t\tdefault: y = origin[ 0 ] / original.height;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tswitch ( origin[ 1 ] ) {\n
Login.c(118): \t\t\tcase "left": x = 0; break;\n
Login.c(118): \t\t\tcase "center": x = 0.5; break;\n
Login.c(118): \t\t\tcase "right": x = 1; break;\n
Login.c(118): \t\t\tdefault: x = origin[ 1 ] / original.width;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tx: x,\n
Login.c(118): \t\t\ty: y\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Wraps the element around a wrapper that copies position
properties\n
Login.c(118): \tcreateWrapper: function( element ) {\n
Login.c(118): \n
Login.c(118): \t\t// if the element is already wrapped, return it\n
Login.c(118): \t\tif ( element.parent().is( ".ui-effects-wrapper" )) {\n
Login.c(118): \t\t\treturn element.parent();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// wrap the element\n
Login.c(118): \t\tvar props = {\n
Login.c(118): \t\t\t\twidth: element.outerWidth(true),\n
Login.c(118): \t\t\t\theight: element.outerHeight(true),\n
Login.c(118): \t\t\t\t"float": element.css( "float" )\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\twrapper = $( "<div></div>" )\n
Login.c(118): \t\t\t\t.addClass( "ui-effects-wrapper" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tfontSize: "100%",\n
Login.c(118): \t\t\t\t\tbackground: "transparent",\n
Login.c(118): \t\t\t\t\tborder: "none",\n
Login.c(118): \t\t\t\t\tmargin: 0,\n
Login.c(118): \t\t\t\t\tpadding: 0\n
Login.c(118): \t\t\t\t}),\n
Login.c(118): \t\t\t// Store the size in case width/height are defined in % -
Fixes #5245\n
Login.c(118): \t\t\tsize = {\n
Login.c(118): \t\t\t\twidth: element.width(),\n
Login.c(118): \t\t\t\theight: element.height()\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tactive = document.activeElement;\n
Login.c(118): \n
Login.c(118): \t\t// support: Firefox\n
Login.c(118): \t\t// Firefox incorrectly exposes anonymous content\n
Login.c(118): \t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n
Login.c(118): \t\ttry {\n
Login.c(118): \t\t\tactive.id;\n
Login.c(118): \t\t} catch( e ) {\n
Login.c(118): \t\t\tactive = document.body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telement.wrap( wrapper );\n
Login.c(118): \n
Login.c(118): \t\t// Fixes #7595 - Elements lose focus when wrapped.\n
Login.c(118): \t\tif ( element[ 0 ] === active || $.contains( element[ 0 ],
active ) ) {\n
Login.c(118): \t\t\t$( active ).focus();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twrapper = element.parent(); //Hotfix for jQuery 1.4 since
some change in wrap() seems
Login.c(118): to actually lose the reference to the wrapped element\n
Login.c(118): \n
Login.c(118): \t\t// transfer positioning properties to the wrapper\n
Login.c(118): \t\tif ( element.css( "position" ) === "static" ) {\n
Login.c(118): \t\t\twrapper.css({ position: "relative" });\n
Login.c(118): \t\t\telement.css({ position: "relative" });\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t$.extend( props, {\n
Login.c(118): \t\t\t\tposition: element.css( "position" ),\n
Login.c(118): \t\t\t\tzIndex: element.css( "z-index" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t$.each([ "top", "left", "bottom", "right" ], function(i,
pos) {\n
Login.c(118): \t\t\t\tprops[ pos ] = element.css( pos );\n
Login.c(118): \t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n
Login.c(118): \t\t\t\t\tprops[ pos ] = "auto";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\telement.css({\n
Login.c(118): \t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\ttop: 0,\n
Login.c(118): \t\t\t\tleft: 0,\n
Login.c(118): \t\t\t\tright: "auto",\n
Login.c(118): \t\t\t\tbottom: "auto"\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\telement.css(size);\n
Login.c(118): \n
Login.c(118): \t\treturn wrapper.css( props ).show();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tremoveWrapper: function( element ) {\n
Login.c(118): \t\tvar active = document.activeElement;\n
Login.c(118): \n
Login.c(118): \t\tif ( element.parent().is( ".ui-effects-wrapper" ) ) {\n
Login.c(118): \t\t\telement.parent().replaceWith( element );\n
Login.c(118): \n
Login.c(118): \t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n
Login.c(118): \t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ],
active ) ) {\n
Login.c(118): \t\t\t\t$( active ).focus();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tsetTransition: function( element, list, factor, value ) {\n
Login.c(118): \t\tvalue = value || {};\n
Login.c(118): \t\t$.each( list, function( i, x ) {\n
Login.c(118): \t\t\tvar unit = element.cssUnit( x );\n
Login.c(118): \t\t\tif ( unit[ 0 ] > 0 ) {\n
Login.c(118): \t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn value;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // return an effect options object for the given parameters:\n
Login.c(118): function _normalizeArguments( effect, options, speed, callback )
{\n
Login.c(118): \n
Login.c(118): \t// allow passing all options as the first parameter\n
Login.c(118): \tif ( $.isPlainObject( effect ) ) {\n
Login.c(118): \t\toptions = effect;\n
Login.c(118): \t\teffect = effect.effect;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// convert to an object\n
Login.c(118): \teffect = { effect: effect };\n
Login.c(118): \n
Login.c(118): \t// catch (effect, null, ...)\n
Login.c(118): \tif ( options == null ) {\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, callback)\n
Login.c(118): \tif ( $.isFunction( options ) ) {\n
Login.c(118): \t\tcallback = options;\n
Login.c(118): \t\tspeed = null;\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, speed, ?)\n
Login.c(118): \tif ( typeof options === "number" || $.fx.speeds[ options ] )
{\n
Login.c(118): \t\tcallback = speed;\n
Login.c(118): \t\tspeed = options;\n
Login.c(118): \t\toptions = {};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// catch (effect, options, callback)\n
Login.c(118): \tif ( $.isFunction( speed ) ) {\n
Login.c(118): \t\tcallback = speed;\n
Login.c(118): \t\tspeed = null;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// add options to effect\n
Login.c(118): \tif ( options ) {\n
Login.c(118): \t\t$.extend( effect, options );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tspeed = speed || options.duration;\n
Login.c(118): \teffect.duration = $.fx.off ? 0 :\n
Login.c(118): \t\ttypeof speed === "number" ? speed :\n
Login.c(118): \t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n
Login.c(118): \t\t$.fx.speeds._default;\n
Login.c(118): \n
Login.c(118): \teffect.complete = callback || options.compl
Login.c(118): t=6901ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): ete;\n
Login.c(118): \n
Login.c(118): \treturn effect;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function standardAnimationOption( option ) {\n
Login.c(118): \t// Valid standard speeds (nothing, number, named speed)\n
Login.c(118): \tif ( !option || typeof option === "number" ||
$.fx.speeds[ option ] ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Invalid strings - treat as "normal" speed\n
Login.c(118): \tif ( typeof option === "string" && !
$.effects.effect[ option ] ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Complete callback\n
Login.c(118): \tif ( $.isFunction( option ) ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Options hash (but not naming an effect)\n
Login.c(118): \tif ( typeof option === "object" && !option.effect ) {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Didn't match any standard API\n
Login.c(118): \treturn false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.fn.extend({\n
Login.c(118): \teffect: function( /* effect, options, speed, callback */ ) {\n
Login.c(118): \t\tvar args = _normalizeArguments.apply( this, arguments ),\n
Login.c(118): \t\t\tmode = args.mode,\n
Login.c(118): \t\t\tqueue = args.queue,\n
Login.c(118): \t\t\teffectMethod = $.effects.effect[ args.effect ];\n
Login.c(118): \n
Login.c(118): \t\tif ( $.fx.off || !effectMethod ) {\n
Login.c(118): \t\t\t// delegate to the original method (e.g., .show()) if
possible\n
Login.c(118): \t\t\tif ( mode ) {\n
Login.c(118): \t\t\t\treturn this[ mode ]( args.duration, args.complete );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\treturn this.each( function() {\n
Login.c(118): \t\t\t\t\tif ( args.complete ) {\n
Login.c(118): \t\t\t\t\t\targs.complete.call( this );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfunction run( next ) {\n
Login.c(118): \t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\tcomplete = args.complete,\n
Login.c(118): \t\t\t\tmode = args.mode;\n
Login.c(118): \n
Login.c(118): \t\t\tfunction done() {\n
Login.c(118): \t\t\t\tif ( $.isFunction( complete ) ) {\n
Login.c(118): \t\t\t\t\tcomplete.call( elem[0] );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( $.isFunction( next ) ) {\n
Login.c(118): \t\t\t\t\tnext();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// If the element already has the correct final state,
delegate to\n
Login.c(118): \t\t\t// the core methods so the internal tracking of
"olddisplay" works.\n
Login.c(118): \t\t\tif ( elem.is( ":hidden" ) ? mode === "hide" : mode ===
"show" ) {\n
Login.c(118): \t\t\t\telem[ mode ]();\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\teffectMethod.call( elem[0], args, done );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn queue === false ? this.each( run ) : this.queue( queue
|| "fx", run );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tshow: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "show";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.show ),\n
Login.c(118): \n
Login.c(118): \thide: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "hide";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.hide ),\n
Login.c(118): \n
Login.c(118): \ttoggle: (function( orig ) {\n
Login.c(118): \t\treturn function( option ) {\n
Login.c(118): \t\t\tif ( standardAnimationOption( option ) || typeof option ===
"boolean" ) {\n
Login.c(118): \t\t\t\treturn orig.apply( this, arguments );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tvar args = _normalizeArguments.apply( this,
arguments );\n
Login.c(118): \t\t\t\targs.mode = "toggle";\n
Login.c(118): \t\t\t\treturn this.effect.call( this, args );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t})( $.fn.toggle ),\n
Login.c(118): \n
Login.c(118): \t// helper functions\n
Login.c(118): \tcssUnit: function(key) {\n
Login.c(118): \t\tvar style = this.css( key ),\n
Login.c(118): \t\t\tval = [];\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {\n
Login.c(118): \t\t\tif ( style.indexOf( unit ) > 0 ) {\n
Login.c(118): \t\t\t\tval = [ parseFloat( style ), unit ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\treturn val;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118):
/******************************************************************************/\n
Login.c(118): /*********************************** EASING
***********************************/\n
Login.c(118):
/******************************************************************************/\n
Login.c(118): \n
Login.c(118): (function() {\n
Login.c(118): \n
Login.c(118): // based on easing equations from Robert Penner
(http://www.robertpenner.com/easing)\n
Login.c(118): \n
Login.c(118): var baseEasings = {};\n
Login.c(118): \n
Login.c(118): $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ],
function( i, name ) {\n
Login.c(118): \tbaseEasings[ name ] = function( p ) {\n
Login.c(118): \t\treturn Math.pow( p, i + 2 );\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.extend( baseEasings, {\n
Login.c(118): \tSine: function( p ) {\n
Login.c(118): \t\treturn 1 - Math.cos( p * Math.PI / 2 );\n
Login.c(118): \t},\n
Login.c(118): \tCirc: function( p ) {\n
Login.c(118): \t\treturn 1 - Math.sqrt( 1 - p * p );\n
Login.c(118): \t},\n
Login.c(118): \tElastic: function( p ) {\n
Login.c(118): \t\treturn p === 0 || p === 1 ? p :\n
Login.c(118): \t\t\t-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 -
7.5 ) * Math.PI / 15 );\n
Login.c(118): \t},\n
Login.c(118): \tBack: function( p ) {\n
Login.c(118): \t\treturn p * p * ( 3 * p - 2 );\n
Login.c(118): \t},\n
Login.c(118): \tBounce: function( p ) {\n
Login.c(118): \t\tvar pow2,\n
Login.c(118): \t\t\tbounce = 4;\n
Login.c(118): \n
Login.c(118): \t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 )
{}\n
Login.c(118): \t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 *
Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2
Login.c(118): );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $.each( baseEasings, function( name, easeIn ) {\n
Login.c(118): \t$.easing[ "easeIn" + name ] = easeIn;\n
Login.c(118): \t$.easing[ "easeOut" + name ] = function( p ) {\n
Login.c(118): \t\treturn 1 - easeIn( 1 - p );\n
Login.c(118): \t};\n
Login.c(118): \t$.easing[ "easeInOut" + name ] = function( p ) {\n
Login.c(118): \t\treturn p < 0.5 ?\n
Login.c(118): \t\t\teaseIn( p * 2 ) / 2 :\n
Login.c(118): \t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n
Login.c(118): \t};\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): })();\n
Login.c(118): \n
Login.c(118): var effect = $.effects;\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Blind 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/blind-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectBlind = $.effects.effect.blind = function( o, done )
{\n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\trvertical = /up|down|vertical/,\n
Login.c(118): \t\trpositivemotion = /up|left|vertical|horizontal/,\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tdirection = o.direction || "up",\n
Login.c(118): \t\tvertical = rvertical.test( direction ),\n
Login.c(118): \t\tref = vertical ? "height" : "width",\n
Login.c(118): \t\tref2 = vertical ? "top" : "left",\n
Login.c(118): \t\tmotion = rpositivemotion.test( direction ),\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\twrapper, distance, margin;\n
Login.c(118): \n
Login.c(118): \t// if already wrapped, the wrapper's properties are my
property. #6245\n
Login.c(118): \tif ( el.parent().is( ".ui-effects-wrapper" ) ) {\n
Login.c(118): \t\t$.effects.save( el.parent(), props );\n
Login.c(118): \t} else {\n
Login.c(118): \t\t$.effects.save( el, props );\n
Login.c(118): \t}\n
Login.c(118): \tel.show();\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tdistance = wrapper[ ref ]();\n
Login.c(118): \tmargin = parseFloat( wrapper.css( ref2 ) ) || 0;\n
Login.c(118): \n
Login.c(118): \tanimation[ ref ] = show ? distance : 0;\n
Login.c(118): \tif ( !motion ) {\n
Login.c(118): \t\tel\n
Login.c(118): \t\t\t.css( vertical ? "bottom" : "right", 0 )\n
Login.c(118): \t\t\t.css( vertical ? "top" : "left", "auto" )\n
Login.c(118): \t\t\t.css({ position: "absolute" });\n
Login.c(118): \n
Login.c(118): \t\tanimation[ ref2 ] = show ? margin : distance + margin;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// start at 0 if we are showing\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\twrapper.css( ref, 0 );\n
Login.c(118): \t\tif ( !motion ) {\n
Login.c(118): \t\t\twrapper.css( ref2, margin + distance );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \twrapper.animate( animation, {\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Bounce 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/bounce-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectBounce = $.effects.effect.bounce = function( o, done )
{\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \n
Login.c(118): \t\t// defaults:\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "up",\n
Login.c(118): \t\tdistance = o.distance,\n
Login.c(118): \t\ttimes = o.times || 5,\n
Login.c(118): \n
Login.c(118): \t\t// number of internal animations\n
Login.c(118): \t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n
Login.c(118): \t\tspeed = o.duration / anims,\n
Login.c(118): \t\teasing = o.easing,\n
Login.c(118): \n
Login.c(118): \t\t// utility:\n
Login.c(118): \t\tref = ( direction === "up" || direction === "down" ) ?
"top" : "left",\n
Login.c(118): \t\tmotion = ( direction === "up" || direction === "left" ),\n
Login.c(118): \t\ti,\n
Login.c(118): \t\tupAnim,\n
Login.c(118): \t\tdownAnim,\n
Login.c(118): \n
Login.c(118): \t\t// we will need to re-assemble the queue to stack our
animations in place\n
Login.c(118): \t\tqueue = el.queue(),\n
Login.c(118): \t\tqueuelen = queue.length;\n
Login.c(118): \n
Login.c(118): \t// Avoid touching opacity to prevent clearType and PNG issues
in IE\n
Login.c(118): \tif ( show || hide ) {\n
Login.c(118): \t\tprops.push( "opacity" );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el ); // Create Wrapper\n
Login.c(118): \n
Login.c(118): \t// default distance for the BIGGEST bounce is the outer
Distance / 3\n
Login.c(118): \tif ( !distance ) {\n
Login.c(118): \t\tdistance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]
() / 3;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tdownAnim = { opacity: 1 };\n
Login.c(118): \t\tdownAnim[ ref ] = 0;\n
Login.c(118): \n
Login.c(118): \t\t// if we are showing, force opacity 0 and set the initial
position\n
Login.c(118): \t\t// then do the "first" animation\n
Login.c(118): \t\tel.css( "opacity", 0 )\n
Login.c(118): \t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n
Login.c(118): \t\t\t.animate( downAnim, speed, easing );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// start at the smallest distance if we are hiding\n
Login.c(118): \tif ( hide ) {\n
Login.c(118): \t\tdistance = distance / Math.pow( 2, times - 1 );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tdownAnim = {};\n
Login.c(118): \tdownAnim[ ref ] = 0;\n
Login.c(118): \t// Bounces up/down/left/right then back to 0 -- times * 2
animations happen here\n
Login.c(118): \tfor ( i = 0; i < times; i++ ) {\n
Login.c(118): \t\tupAnim = {};\n
Login.c(118): \t\tupAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;\n
Login.c(118): \n
Login.c(118): \t\tel.animate( upAnim, speed, easing )\n
Login.c(118): \t\t\t.animate( downAnim, speed, easing );\n
Login.c(118): \n
Login.c(118): \t\tdistance = hide ? distance * 2 : distance / 2;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Last Bounce when Hiding\n
Login.c(118): \tif ( hide ) {\n
Login.c(118): \t\tupAnim = { opacity: 0 };\n
Login.c(118): \t\tupAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;\n
Login.c(118): \n
Login.c(118): \t\tel.animate( upAnim, speed, easing );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tel.queue(function() {\n
Login.c(118): \t\tif ( hide ) {\n
Login.c(118): \t\t\tel.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$.effects.restore( el, props );\n
Login.c(118): \t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\tdone();\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// inject all the animations we just queued to be first in line
(after "inprogress")\n
Login.c(118): \tif ( queuelen > 1) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \tel.dequeue();\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Clip 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/clip-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectClip = $.effects.effect.clip = function( o, done ) {\n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "vertical",\n
Login.c(118): \t\tvert = direction === "vertical",\n
Login.c(118): \t\tsize = vert ? "height" : "width",\n
Login.c(118): \t\tposition = vert ? "top" : "left",\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\twrapper, animate, distance;\n
Login.c(118): \n
Login.c(118): \t// Save & Show\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \n
Login.c(118): \t// Create Wrapper\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \tanimate = ( el[0].tagName === "IMG" ) ? wrapper : el;\n
Login.c(118): \tdistance = animate[ size ]();\n
Login.c(118): \n
Login.c(118): \t// Shift\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tanimate.css( size, 0 );\n
Login.c(118): \t\tanimate.css( position, distance / 2 );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Create Animation Object:\n
Login.c(118): \tanimation[ size ] = show ? distance : 0;\n
Login.c(118): \tanimation[ position ] = show ? 0 : distance / 2;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tanimate.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( !show ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Drop 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/drop-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectDrop = $.effects.effect.drop = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"opacity", "height", "width" ]
Login.c(118): ,\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tref = ( direction === "up" || direction === "down" ) ?
"top" : "left",\n
Login.c(118): \t\tmotion = ( direction === "up" || direction === "left" ) ?
"pos" : "neg",\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\topacity: show ? 1 : 0\n
Login.c(118): \t\t},\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \n
Login.c(118): \tdistance = o.distance || el[ ref === "top" ? "outerHeight":
"outerWidth" ]( true ) / 2;\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tel\n
Login.c(118): \t\t\t.css( "opacity", 0 )\n
Login.c(118): \t\t\t.css( ref, motion === "pos" ? -distance : distance );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( show ?\n
Login.c(118): \t\t( motion === "pos" ? "+=" : "-=" ) :\n
Login.c(118): \t\t( motion === "pos" ? "-=" : "+=" ) ) +\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Explode 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/explode-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectExplode = $.effects.effect.explode = function( o,
done ) {\n
Login.c(118): \n
Login.c(118): \tvar rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) :
3,\n
Login.c(118): \t\tce
Login.c(118): t=6926ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): lls = rows,\n
Login.c(118): \t\tel = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \n
Login.c(118): \t\t// show and then visibility:hidden the element before
calculating offset\n
Login.c(118): \t\toffset = el.show().css( "visibility", "hidden" ).offset(),\n
Login.c(118): \n
Login.c(118): \t\t// width and height of a piece\n
Login.c(118): \t\twidth = Math.ceil( el.outerWidth() / cells ),\n
Login.c(118): \t\theight = Math.ceil( el.outerHeight() / rows ),\n
Login.c(118): \t\tpieces = [],\n
Login.c(118): \n
Login.c(118): \t\t// loop\n
Login.c(118): \t\ti, j, left, top, mx, my;\n
Login.c(118): \n
Login.c(118): \t// children animate complete:\n
Login.c(118): \tfunction childComplete() {\n
Login.c(118): \t\tpieces.push( this );\n
Login.c(118): \t\tif ( pieces.length === rows * cells ) {\n
Login.c(118): \t\t\tanimComplete();\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// clone the element for each row and cell.\n
Login.c(118): \tfor ( i = 0; i < rows ; i++ ) { // ===>\n
Login.c(118): \t\ttop = offset.top + i * height;\n
Login.c(118): \t\tmy = i - ( rows - 1 ) / 2 ;\n
Login.c(118): \n
Login.c(118): \t\tfor ( j = 0; j < cells ; j++ ) { // |||\n
Login.c(118): \t\t\tleft = offset.left + j * width;\n
Login.c(118): \t\t\tmx = j - ( cells - 1 ) / 2 ;\n
Login.c(118): \n
Login.c(118): \t\t\t// Create a clone of the now hidden main element that will
be absolute positioned\n
Login.c(118): \t\t\t// within a wrapper div off the -left and -top equal to
size of our pieces\n
Login.c(118): \t\t\tel\n
Login.c(118): \t\t\t\t.clone()\n
Login.c(118): \t\t\t\t.appendTo( "body" )\n
Login.c(118): \t\t\t\t.wrap( "<div></div>" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\tvisibility: "visible",\n
Login.c(118): \t\t\t\t\tleft: -j * width,\n
Login.c(118): \t\t\t\t\ttop: -i * height\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \n
Login.c(118): \t\t\t// select the wrapper - make it overflow: hidden and
absolute positioned based on\n
Login.c(118): \t\t\t// where the original was located +left and +top equal to
the size of pieces\n
Login.c(118): \t\t\t\t.parent()\n
Login.c(118): \t\t\t\t.addClass( "ui-effects-explode" )\n
Login.c(118): \t\t\t\t.css({\n
Login.c(118): \t\t\t\t\tposition: "absolute",\n
Login.c(118): \t\t\t\t\toverflow: "hidden",\n
Login.c(118): \t\t\t\t\twidth: width,\n
Login.c(118): \t\t\t\t\theight: height,\n
Login.c(118): \t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n
Login.c(118): \t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n
Login.c(118): \t\t\t\t\topacity: show ? 0 : 1\n
Login.c(118): \t\t\t\t}).animate({\n
Login.c(118): \t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n
Login.c(118): \t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n
Login.c(118): \t\t\t\t\topacity: show ? 1 : 0\n
Login.c(118): \t\t\t\t}, o.duration || 500, o.easing, childComplete );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \tfunction animComplete() {\n
Login.c(118): \t\tel.css({\n
Login.c(118): \t\t\tvisibility: "visible"\n
Login.c(118): \t\t});\n
Login.c(118): \t\t$( pieces ).remove();\n
Login.c(118): \t\tif ( !show ) {\n
Login.c(118): \t\t\tel.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdone();\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Fade 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/fade-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectFade = $.effects.effect.fade = function( o, done ) {\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "toggle" );\n
Login.c(118): \n
Login.c(118): \tel.animate({\n
Login.c(118): \t\topacity: mode\n
Login.c(118): \t}, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: done\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Fold 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/fold-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectFold = $.effects.effect.fold = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "hide" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tsize = o.size || 15,\n
Login.c(118): \t\tpercent = /([0-9]+)%/.exec( size ),\n
Login.c(118): \t\thorizFirst = !!o.horizFirst,\n
Login.c(118): \t\twidthFirst = show !== horizFirst,\n
Login.c(118): \t\tref = widthFirst ? [ "width", "height" ] : [ "height",
"width" ],\n
Login.c(118): \t\tduration = o.duration / 2,\n
Login.c(118): \t\twrapper, distance,\n
Login.c(118): \t\tanimation1 = {},\n
Login.c(118): \t\tanimation2 = {};\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \n
Login.c(118): \t// Create Wrapper\n
Login.c(118): \twrapper = $.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \tdistance = widthFirst ?\n
Login.c(118): \t\t[ wrapper.width(), wrapper.height() ] :\n
Login.c(118): \t\t[ wrapper.height(), wrapper.width() ];\n
Login.c(118): \n
Login.c(118): \tif ( percent ) {\n
Login.c(118): \t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ?
0 : 1 ];\n
Login.c(118): \t}\n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\twrapper.css( horizFirst ? {\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\twidth: size\n
Login.c(118): \t\t} : {\n
Login.c(118): \t\t\theight: size,\n
Login.c(118): \t\t\twidth: 0\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;\n
Login.c(118): \tanimation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \twrapper\n
Login.c(118): \t\t.animate( animation1, duration, o.easing )\n
Login.c(118): \t\t.animate( animation2, duration, o.easing, function() {\n
Login.c(118): \t\t\tif ( hide ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Highlight 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/highlight-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectHighlight = $.effects.effect.highlight = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tprops = [ "backgroundImage", "backgroundColor",
"opacity" ],\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "show" ),\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\tbackgroundColor: elem.css( "backgroundColor" )\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \tif (mode === "hide") {\n
Login.c(118): \t\tanimation.opacity = 0;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( elem, props );\n
Login.c(118): \n
Login.c(118): \telem\n
Login.c(118): \t\t.show()\n
Login.c(118): \t\t.css({\n
Login.c(118): \t\t\tbackgroundImage: "none",\n
Login.c(118): \t\t\tbackgroundColor: o.color || "#ffff99"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t.animate( animation, {\n
Login.c(118): \t\t\tqueue: false,\n
Login.c(118): \t\t\tduration: o.duration,\n
Login.c(118): \t\t\teasing: o.easing,\n
Login.c(118): \t\t\tcomplete: function() {\n
Login.c(118): \t\t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\t\telem.hide();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t$.effects.restore( elem, props );\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Size 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/size-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectSize = $.effects.effect.size = function( o, done ) {\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar original, baseline, factor,\n
Login.c(118): \t\tel = $( this ),\n
Login.c(118): \t\tprops0 = [ "position", "top", "bottom", "left", "right",
"width", "height", "overflow"
Login.c(118): , "opacity" ],\n
Login.c(118): \n
Login.c(118): \t\t// Always restore\n
Login.c(118): \t\tprops1 = [ "position", "top", "bottom", "left", "right",
"overflow", "opacity" ],\n
Login.c(118): \n
Login.c(118): \t\t// Copy for children\n
Login.c(118): \t\tprops2 = [ "width", "height", "overflow" ],\n
Login.c(118): \t\tcProps = [ "fontSize" ],\n
Login.c(118): \t\tvProps = [ "borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom" ],\n
Login.c(118): \t\thProps = [ "borderLeftWidth", "borderRightWidth",
"paddingLeft", "paddingRight" ],\n
Login.c(118): \n
Login.c(118): \t\t// Set options\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\trestore = o.restore || mode !== "effect",\n
Login.c(118): \t\tscale = o.scale || "both",\n
Login.c(118): \t\torigin = o.origin || [ "middle", "center" ],\n
Login.c(118): \t\tposition = el.css( "position" ),\n
Login.c(118): \t\tprops = restore ? props0 : props1,\n
Login.c(118): \t\tzero = {\n
Login.c(118): \t\t\theight: 0,\n
Login.c(118): \t\t\twidth: 0,\n
Login.c(118): \t\t\touterHeight: 0,\n
Login.c(118): \t\t\touterWidth: 0\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \tif ( mode === "show" ) {\n
Login.c(118): \t\tel.show();\n
Login.c(118): \t}\n
Login.c(118): \toriginal = {\n
Login.c(118): \t\theight: el.height(),\n
Login.c(118): \t\twidth: el.width(),\n
Login.c(118): \t\touterHeight: el.outerHeight(),\n
Login.c(118): \t\touterWidth: el.outerWidth()\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \tif ( o.mode === "toggle" && mode === "show" ) {\n
Login.c(118): \t\tel.from = o.to || zero;\n
Login.c(118): \t\tel.to = o.from || original;\n
Login.c(118): \t} else {\n
Login.c(118): \t\tel.from = o.from || ( mode === "show" ? zero : original );\n
Login.c(118): \t\tel.to = o.to || ( mode === "hide" ? zero : original );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Set scaling factor\n
Login.c(118): \tfactor = {\n
Login.c(118): \t\tfrom: {\n
Login.c(118): \t\t\ty: el.from.height / original.height,\n
Login.c(118): \t\t\tx: el.from.width / original.width\n
Login.c(118): \t\t},\n
Login.c(118): \t\tto: {\n
Login.c(118): \t\t\ty: el.to.height / original.height,\n
Login.c(118): \t\t\tx: el.to.width / original.width\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// Scale the css box\n
Login.c(118): \tif ( scale === "box" || scale === "both" ) {\n
Login.c(118): \n
Login.c(118): \t\t// Vertical props scaling\n
Login.c(118): \t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\tprops = props.concat( vProps );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, vProps,
factor.from.y, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, vProps, factor.to.y,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Horizontal props scaling\n
Login.c(118): \t\tif ( factor.from.x !== factor.to.x ) {\n
Login.c(118): \t\t\tprops = props.concat( hProps );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, hProps,
factor.from.x, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, hProps, factor.to.x,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Scale the content\n
Login.c(118): \tif ( scale === "content" || scale === "both" ) {\n
Login.c(118): \n
Login.c(118): \t\t// Vertical props scaling\n
Login.c(118): \t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\tprops = props.concat( cProps ).concat( props2 );\n
Login.c(118): \t\t\tel.from = $.effects.setTransition( el, cProps,
factor.from.y, el.from );\n
Login.c(118): \t\t\tel.to = $.effects.setTransition( el, cProps, factor.to.y,
el.to );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \tel.css( "overflow", "hidden" ).css( el.from );\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \tif (origin) { // Calculate baseline shifts\n
Login.c(118): \t\tbaseline = $.effects.getBaseline( origin, original );\n
Login.c(118): \t\tel.from.top = ( original.outerHeight - el.outerHeight() ) *
baseline.y;\n
Login.c(118): \t\tel.from.left = ( original.outerWidth - el.outerWidth() ) *
baseline.x;\n
Login.c(118): \t\tel.to.top = ( original.outerHeight - el.to.outerHeight ) *
baseline.y;\n
Login.c(118): \t\tel.to.left = ( original.outerWidth - el.to.outerWidth ) *
baseline.x;\n
Login.c(118): \t}\n
Login.c(118): \tel.css( el.from ); // set top & left\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tif ( scale === "content" || scale === "both" ) { // Scale the
children\n
Login.c(118): \n
Login.c(118): \t\t// Add margins/font-size\n
Login.c(118): \t\tvProps = vProps.concat([ "marginTop",
"marginBottom" ]).concat(cProps);\n
Login.c(118): \t\thProps = hProps.concat([ "marginLeft", "marginRight" ]);\n
Login.c(118): \t\tprops2 = props0.concat(vProps).concat(hProps);\n
Login.c(118): \n
Login.c(118): \t\tel.find( "*[width]" ).each( function() {\n
Login.c(118): \t\t\tvar child = $( this ),\n
Login.c(118): \t\t\t\tc_original = {\n
Login.c(118): \t\t\t\t\theight: child.height(),\n
Login.c(118): \t\t\t\t\twidth: child.width(),\n
Login.c(118): \t\t\t\t\touterHeight: child.outerHeight(),\n
Login.c(118): \t\t\t\t\touterWidth: child.outerWidth()\n
Login.c(118): \t\t\t\t};\n
Login.c(118): \t\t\tif (restore) {\n
Login.c(118): \t\t\t\t$.effects.save(child, props2);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tchild.from = {\n
Login.c(118): \t\t\t\theight: c_original.height * factor.from.y,\n
Login.c(118): \t\t\t\twidth: c_original.width * factor.from.x,\n
Login.c(118): \t\t\t\touterHeight: c_original.outerHeight * factor.from.y,\n
Login.c(118): \t\t\t\touterWidth: c_original.outerWidth * factor.from.x\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tchild.to = {\n
Login.c(118): \t\t\t\theight: c_original.height * factor.to.y,\n
Login.c(118): \t\t\t\twidth: c_original.width * factor.to.x,\n
Login.c(118): \t\t\t\touterHeight: c_original.height * factor.to.y,\n
Login.c(118): \t\t\t\touterWidth: c_original.width * factor.to.x\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t\t// Vertical props scaling\n
Login.c(118): \t\t\tif ( factor.from.y !== factor.to.y ) {\n
Login.c(118): \t\t\t\tchild.from = $.effects.setTransition( child, vProps,
factor.from.y, child.from );\n
Login.c(118): \t\t\t\tchild.to = $.effects.setTransition( child, vProps,
factor.to.y, child.to );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Horizontal props scaling\n
Login.c(118): \t\t\tif ( factor.from.x !== factor.to.x ) {\n
Login.c(118): \t\t\t\tchild.from = $.effects.setTransition( child, hProps,
factor.from.x, child.from );\n
Login.c(118): \t\t\t\tchild.to = $.effects.setTransition( child, hProps,
factor.to.x, child.to );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Animate children\n
Login.c(118): \t\t\tchild.css( child.from );\n
Login.c(118): \t\t\tchild.animate( child.to, o.duration, o.easing, function()
{\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Restore children\n
Login.c(118): \t\t\t\tif ( restore ) {\n
Login.c(118): \t\t\t\t\t$.effects.restore( child, props2 );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( el.to, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( el.to.opacity === 0 ) {\n
Login.c(118): \t\t\t\tel.css( "opacity", el.from.opacity );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\tif ( !restore ) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t// we need to calculate our new positioning based on the
scaling\n
Login.c(118): \t\t\t\tif ( position === "static" ) {\n
Login.c(118): \t\t\t\t\tel.css({\n
Login.c(118): \t\t\t\t\t\tposition: "relative",\n
Login.c(118): \t\t\t\t\t\ttop: el.to.top,\n
Login.c(118): \t\t\t\t\t\tleft: el.to.left\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t$.each([ "top", "left" ], function( idx, pos ) {\n
Login.c(118): \t\t\t\t\t\tel.css( pos, function( _, str ) {\n
Login.c(118): \t\t\t\t\t\t\tvar val = parseInt( str, 10 ),\n
Login.c(118): \t\t\t\t\t\t\t\ttoRef = idx ? el.to.left : el.to.top;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t// if original was "auto", recalculate the new
value from wrapper\n
Login.c(118): \t\t\t\t\t\t\tif ( str === "auto" ) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn toRef + "px";\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\treturn val + toRef + "px";\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Scale 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/scale-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectScale = $.effects.effect.scale = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\toptions = $.extend( true, {}, o ),\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\tpercent = parseInt( o.percent, 10 ) ||\n
Login.c(118): \t\t\t( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ?
0 : 100 ) ),\n
Login.c(118): \t\tdirection = o.direction || "both",\n
Login.c(118): \t\torigin = o.origin,\n
Login.c(118): \t\toriginal = {\n
Login.c(118): \t\t\theight: el.height(),\n
Login.c(118): \t\t\twidth: el.width(),\n
Login.c(118): \t\t\touterHeight: el.outerHeight(),\n
Login.c(118): \t\t\touterWidth: el.outerWidth()\n
Login.c(118): \t\t},\n
Login.c(118): \t\tfactor = {\n
Login.c(118): \t\t\ty: direction !== "horizontal" ? (percent / 100) : 1,\n
Login.c(118): \t\t\tx: direction !== "vertical" ? (percent / 100) : 1\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t// We are going to pass this effect to the size effect:\n
Login.c(118): \toptions.effect = "size";\n
Login.c(118): \toptions.queue = false;\n
Login.c(118): \toptions.complete = done;\n
Login.c(118): \n
Login.c(118): \t// Set default origin and restore for show/hide\n
Login.c(118): \tif ( mode !== "effect" ) {\n
Login.c(118): \t\toptions.origin = origin || [ "middle", "center" ];\n
Login.c(118): \t\toptions.restore = true;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \toptions.from = o.from || ( mode === "show" ? {\n
Login.c(118): \t\theight: 0,\n
Login.c(118): \t\twidth: 0,
Login.c(118): t=6950ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \n
Login.c(118): \t\touterHeight: 0,\n
Login.c(118): \t\touterWidth: 0\n
Login.c(118): \t} : original );\n
Login.c(118): \toptions.to = {\n
Login.c(118): \t\theight: original.height * factor.y,\n
Login.c(118): \t\twidth: original.width * factor.x,\n
Login.c(118): \t\touterHeight: original.outerHeight * factor.y,\n
Login.c(118): \t\touterWidth: original.outerWidth * factor.x\n
Login.c(118): \t};\n
Login.c(118): \n
Login.c(118): \t// Fade option to support puff\n
Login.c(118): \tif ( options.fade ) {\n
Login.c(118): \t\tif ( mode === "show" ) {\n
Login.c(118): \t\t\toptions.from.opacity = 0;\n
Login.c(118): \t\t\toptions.to.opacity = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\toptions.from.opacity = 1;\n
Login.c(118): \t\t\toptions.to.opacity = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.effect( options );\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Puff 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/puff-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectPuff = $.effects.effect.puff = function( o, done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "hide" ),\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tpercent = parseInt( o.percent, 10 ) || 150,\n
Login.c(118): \t\tfactor = percent / 100,\n
Login.c(118): \t\toriginal = {\n
Login.c(118): \t\t\theight: elem.height(),\n
Login.c(118): \t\t\twidth: elem.width(),\n
Login.c(118): \t\t\touterHeight: elem.outerHeight(),\n
Login.c(118): \t\t\touterWidth: elem.outerWidth()\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t$.extend( o, {\n
Login.c(118): \t\teffect: "scale",\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tfade: true,\n
Login.c(118): \t\tmode: mode,\n
Login.c(118): \t\tcomplete: done,\n
Login.c(118): \t\tpercent: hide ? percent : 100,\n
Login.c(118): \t\tfrom: hide ?\n
Login.c(118): \t\t\toriginal :\n
Login.c(118): \t\t\t{\n
Login.c(118): \t\t\t\theight: original.height * factor,\n
Login.c(118): \t\t\t\twidth: original.width * factor,\n
Login.c(118): \t\t\t\touterHeight: original.outerHeight * factor,\n
Login.c(118): \t\t\t\touterWidth: original.outerWidth * factor\n
Login.c(118): \t\t\t}\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \telem.effect( o );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Pulsate 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/pulsate-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectPulsate = $.effects.effect.pulsate = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\tmode = $.effects.setMode( elem, o.mode || "show" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\thide = mode === "hide",\n
Login.c(118): \t\tshowhide = ( show || mode === "hide" ),\n
Login.c(118): \n
Login.c(118): \t\t// showing or hiding leaves of the "last" animation\n
Login.c(118): \t\tanims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n
Login.c(118): \t\tduration = o.duration / anims,\n
Login.c(118): \t\tanimateTo = 0,\n
Login.c(118): \t\tqueue = elem.queue(),\n
Login.c(118): \t\tqueuelen = queue.length,\n
Login.c(118): \t\ti;\n
Login.c(118): \n
Login.c(118): \tif ( show || !elem.is(":visible")) {\n
Login.c(118): \t\telem.css( "opacity", 0 ).show();\n
Login.c(118): \t\tanimateTo = 1;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// anims - 1 opacity "toggles"\n
Login.c(118): \tfor ( i = 1; i < anims; i++ ) {\n
Login.c(118): \t\telem.animate({\n
Login.c(118): \t\t\topacity: animateTo\n
Login.c(118): \t\t}, duration, o.easing );\n
Login.c(118): \t\tanimateTo = 1 - animateTo;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \telem.animate({\n
Login.c(118): \t\topacity: animateTo\n
Login.c(118): \t}, duration, o.easing);\n
Login.c(118): \n
Login.c(118): \telem.queue(function() {\n
Login.c(118): \t\tif ( hide ) {\n
Login.c(118): \t\t\telem.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tdone();\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \t// We just queued up "anims" animations, we need to put them
next in the queue\n
Login.c(118): \tif ( queuelen > 1 ) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \telem.dequeue();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Shake 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/shake-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectShake = $.effects.effect.shake = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"height", "width" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "effect" ),\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tdistance = o.distance || 20,\n
Login.c(118): \t\ttimes = o.times || 3,\n
Login.c(118): \t\tanims = times * 2 + 1,\n
Login.c(118): \t\tspeed = Math.round( o.duration / anims ),\n
Login.c(118): \t\tref = (direction === "up" || direction === "down") ? "top" :
"left",\n
Login.c(118): \t\tpositiveMotion = (direction === "up" || direction ===
"left"),\n
Login.c(118): \t\tanimation = {},\n
Login.c(118): \t\tanimation1 = {},\n
Login.c(118): \t\tanimation2 = {},\n
Login.c(118): \t\ti,\n
Login.c(118): \n
Login.c(118): \t\t// we will need to re-assemble the queue to stack our
animations in place\n
Login.c(118): \t\tqueue = el.queue(),\n
Login.c(118): \t\tqueuelen = queue.length;\n
Login.c(118): \n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \t$.effects.createWrapper( el );\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( positiveMotion ? "-=" : "+=" ) +
distance;\n
Login.c(118): \tanimation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance
* 2;\n
Login.c(118): \tanimation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance
* 2;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, speed, o.easing );\n
Login.c(118): \n
Login.c(118): \t// Shakes\n
Login.c(118): \tfor ( i = 1; i < times; i++ ) {\n
Login.c(118): \t\tel.animate( animation1, speed,
o.easing ).animate( animation2, speed, o.easing );\n
Login.c(118): \t}\n
Login.c(118): \tel\n
Login.c(118): \t\t.animate( animation1, speed, o.easing )\n
Login.c(118): \t\t.animate( animation, speed / 2, o.easing )\n
Login.c(118): \t\t.queue(function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t// inject all the animations we just queued to be first in line
(after "inprogress")\n
Login.c(118): \tif ( queuelen > 1) {\n
Login.c(118): \t\tqueue.splice.apply( queue,\n
Login.c(118): \t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n
Login.c(118): \t}\n
Login.c(118): \tel.dequeue();\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Slide 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/slide-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectSlide = $.effects.effect.slide = function( o, done )
{\n
Login.c(118): \n
Login.c(118): \t// Create element\n
Login.c(118): \tvar el = $( this ),\n
Login.c(118): \t\tprops = [ "position", "top", "bottom", "left", "right",
"width", "height" ],\n
Login.c(118): \t\tmode = $.effects.setMode( el, o.mode || "show" ),\n
Login.c(118): \t\tshow = mode === "show",\n
Login.c(118): \t\tdirection = o.direction || "left",\n
Login.c(118): \t\tref = (direction === "up" || direction === "down") ? "top" :
"left",\n
Login.c(118): \t\tpositiveMotion = (direction === "up" || direction ===
"left"),\n
Login.c(118): \t\tdistance,\n
Login.c(118): \t\tanimation = {};\n
Login.c(118): \n
Login.c(118): \t// Adjust\n
Login.c(118): \t$.effects.save( el, props );\n
Login.c(118): \tel.show();\n
Login.c(118): \tdistance = o.distance || el[ ref === "top" ? "outerHeight" :
"outerWidth" ]( true );\n
Login.c(118): \n
Login.c(118): \t$.effects.createWrapper( el ).css({\n
Login.c(118): \t\toverflow: "hidden"\n
Login.c(118): \t});\n
Login.c(118): \n
Login.c(118): \tif ( show ) {\n
Login.c(118): \t\tel.css( ref, positiveMotion ? (isNaN(distance) ? "-" +
distance : -distance) : distanc
Login.c(118): e );\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): \t// Animation\n
Login.c(118): \tanimation[ ref ] = ( show ?\n
Login.c(118): \t\t( positiveMotion ? "+=" : "-=") :\n
Login.c(118): \t\t( positiveMotion ? "-=" : "+=")) +\n
Login.c(118): \t\tdistance;\n
Login.c(118): \n
Login.c(118): \t// Animate\n
Login.c(118): \tel.animate( animation, {\n
Login.c(118): \t\tqueue: false,\n
Login.c(118): \t\tduration: o.duration,\n
Login.c(118): \t\teasing: o.easing,\n
Login.c(118): \t\tcomplete: function() {\n
Login.c(118): \t\t\tif ( mode === "hide" ) {\n
Login.c(118): \t\t\t\tel.hide();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t$.effects.restore( el, props );\n
Login.c(118): \t\t\t$.effects.removeWrapper( el );\n
Login.c(118): \t\t\tdone();\n
Login.c(118): \t\t}\n
Login.c(118): \t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Effects Transfer 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/transfer-effect/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var effectTransfer = $.effects.effect.transfer = function( o,
done ) {\n
Login.c(118): \tvar elem = $( this ),\n
Login.c(118): \t\ttarget = $( o.to ),\n
Login.c(118): \t\ttargetFixed = target.css( "position" ) === "fixed",\n
Login.c(118): \t\tbody = $("body"),\n
Login.c(118): \t\tfixTop = targetFixed ? body.scrollTop() : 0,\n
Login.c(118): \t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n
Login.c(118): \t\tendPosition = target.offset(),\n
Login.c(118): \t\tanimation = {\n
Login.c(118): \t\t\ttop: endPosition.top - fixTop,\n
Login.c(118): \t\t\tleft: endPosition.left - fixLeft,\n
Login.c(118): \t\t\theight: target.innerHeight(),\n
Login.c(118): \t\t\twidth: target.innerWidth()\n
Login.c(118): \t\t},\n
Login.c(118): \t\tstartPosition = elem.offset(),\n
Login.c(118): \t\ttransfer = $( "<div class='ui-effects-transfer'></div>" )\n
Login.c(118): \t\t\t.appendTo( document.body )\n
Login.c(118): \t\t\t.addClass( o.className )\n
Login.c(118): \t\t\t.css({\n
Login.c(118): \t\t\t\ttop: startPosition.top - fixTop,\n
Login.c(118): \t\t\t\tleft: startPosition.left - fixLeft,\n
Login.c(118): \t\t\t\theight: elem.innerHeight(),\n
Login.c(118): \t\t\t\twidth: elem.innerWidth(),\n
Login.c(118): \t\t\t\tposition: targetFixed ? "fixed" : "absolute"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.animate( animation, o.duration, o.easing, function() {\n
Login.c(118): \t\t\t\ttransfer.remove();\n
Login.c(118): \t\t\t\tdone();\n
Login.c(118): \t\t\t});\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Progressbar 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/progressbar/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var progressbar = $.widget( "ui.progressbar", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tmax: 100,\n
Login.c(118): \t\tvalue: 0,\n
Login.c(118): \n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tcomplete: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmin: 0,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// Constrain initial value\n
Login.c(118): \t\tthis.oldValue = this.options.value =
this._constrainedValue();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-progressbar ui-widget ui-widget-content ui-
corner-all" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t// Only set static values, aria-valuenow and aria-
valuemax are\n
Login.c(118): \t\t\t\t// set inside _refreshValue()\n
Login.c(118): \t\t\t\trole: "progressbar",\n
Login.c(118): \t\t\t\t"aria-valuemin": this.min\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv = $( "<div class='ui-progressbar-value ui-
widget-header ui-corner-left'>
Login.c(118): </div>" )\n
Login.c(118): \t\t\t.appendTo( this.element );\n
Login.c(118): \n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-progressbar ui-widget ui-widget-content
ui-corner-all" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemin" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemax" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuenow" );\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv.remove();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalue: function( newValue ) {\n
Login.c(118): \t\tif ( newValue === undefined ) {\n
Login.c(118): \t\t\treturn this.options.value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.options.value = this._constrainedValue( newValue );\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_constrainedValue: function( newValue ) {\n
Login.c(118): \t\tif ( newValue === undefined ) {\n
Login.c(118): \t\t\tnewValue = this.options.value;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.indeterminate = newValue === false;\n
Login.c(118): \n
Login.c(118): \t\t// sanitize value\n
Login.c(118): \t\tif ( typeof newValue !== "number" ) {\n
Login.c(118): \t\t\tnewValue = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this.indeterminate ? false :\n
Login.c(118): \t\t\tMath.min( this.options.max, Math.max( this.min,
newValue ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: function( options ) {\n
Login.c(118): \t\t// Ensure "value" option is set after other values (like
max)\n
Login.c(118): \t\tvar value = options.value;\n
Login.c(118): \t\tdelete options.value;\n
Login.c(118): \n
Login.c(118): \t\tthis._super( options );\n
Login.c(118): \n
Login.c(118): \t\tthis.options.value = this._constrainedValue( value );\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "max" ) {\n
Login.c(118): \t\t\t// Don't allow a max less than min\n
Login.c(118): \t\t\tvalue = Math.max( this.min, value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", !!value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_percentage: function() {\n
Login.c(118): \t\treturn this.indeterminate ? 100 : 100 * ( this.options.value
- this.min ) / ( this.opt
Login.c(118): ions.max - this.min );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshValue: function() {\n
Login.c(118): \t\tvar value = this.options.value,\n
Login.c(118): \t\t\tpercentage = this._percentage();\n
Login.c(118): \n
Login.c(118): \t\tthis.valueDiv\n
Login.c(118): \t\t\t.toggle( this.indeterminate || value > this.min )\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-right", value === this.options.max
)\n
Login.c(118): \t\t\t.width( percentage.toFixed(0) + "%" );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.toggleClass( "ui-progressbar-indeterminate",
this.indeterminate );\n
Login.c(118): \n
Login.c(118): \t\tif ( this.indeterminate ) {\n
Login.c(118): \t\t\tthis.element.removeAttr( "aria-valuenow" );\n
Login.c(118): \t\t\tif ( !this.overlayDiv ) {\n
Login.c(118): \t\t\t\tthis.overlayDiv = $( "<div class='ui-progressbar-
overlay'></div>" ).appendTo( this
Login.c(118): .value
Login.c(118): t=6971ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Div );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.element.attr({\n
Login.c(118): \t\t\t\t"aria-valuemax": this.options.max,\n
Login.c(118): \t\t\t\t"aria-valuenow": value\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tif ( this.overlayDiv ) {\n
Login.c(118): \t\t\t\tthis.overlayDiv.remove();\n
Login.c(118): \t\t\t\tthis.overlayDiv = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( this.oldValue !== value ) {\n
Login.c(118): \t\t\tthis.oldValue = value;\n
Login.c(118): \t\t\tthis._trigger( "change" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( value === this.options.max ) {\n
Login.c(118): \t\t\tthis._trigger( "complete" );\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Selectable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/selectable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var selectable = $.widget("ui.selectable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "body",\n
Login.c(118): \t\tautoRefresh: true,\n
Login.c(118): \t\tdistance: 0,\n
Login.c(118): \t\tfilter: "*",\n
Login.c(118): \t\ttolerance: "touch",\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tselected: null,\n
Login.c(118): \t\tselecting: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null,\n
Login.c(118): \t\tunselected: null,\n
Login.c(118): \t\tunselecting: null\n
Login.c(118): \t},\n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar selectees,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.element.addClass("ui-selectable");\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = false;\n
Login.c(118): \n
Login.c(118): \t\t// cache selectee children based on filter\n
Login.c(118): \t\tthis.refresh = function() {\n
Login.c(118): \t\t\tselectees = $(that.options.filter, that.element[0]);\n
Login.c(118): \t\t\tselectees.addClass("ui-selectee");\n
Login.c(118): \t\t\tselectees.each(function() {\n
Login.c(118): \t\t\t\tvar $this = $(this),\n
Login.c(118): \t\t\t\t\tpos = $this.offset();\n
Login.c(118): \t\t\t\t$.data(this, "selectable-item", {\n
Login.c(118): \t\t\t\t\telement: this,\n
Login.c(118): \t\t\t\t\t$element: $this,\n
Login.c(118): \t\t\t\t\tleft: pos.left,\n
Login.c(118): \t\t\t\t\ttop: pos.top,\n
Login.c(118): \t\t\t\t\tright: pos.left + $this.outerWidth(),\n
Login.c(118): \t\t\t\t\tbottom: pos.top + $this.outerHeight(),\n
Login.c(118): \t\t\t\t\tstartselected: false,\n
Login.c(118): \t\t\t\t\tselected: $this.hasClass("ui-selected"),\n
Login.c(118): \t\t\t\t\tselecting: $this.hasClass("ui-selecting"),\n
Login.c(118): \t\t\t\t\tunselecting: $this.hasClass("ui-unselecting")\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees = selectees.addClass("ui-selectee");\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis.helper = $("<div class='ui-selectable-
helper'></div>");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.selectees\n
Login.c(118): \t\t\t.removeClass("ui-selectee")\n
Login.c(118): \t\t\t.removeData("selectable-item");\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass("ui-selectable ui-selectable-disabled");\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.opos = [ event.pageX, event.pageY ];\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.disabled) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees = $(options.filter, this.element[0]);\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger("start", event);\n
Login.c(118): \n
Login.c(118): \t\t$(options.appendTo).append(this.helper);\n
Login.c(118): \t\t// position helper (lasso)\n
Login.c(118): \t\tthis.helper.css({\n
Login.c(118): \t\t\t"left": event.pageX,\n
Login.c(118): \t\t\t"top": event.pageY,\n
Login.c(118): \t\t\t"width": 0,\n
Login.c(118): \t\t\t"height": 0\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif (options.autoRefresh) {\n
Login.c(118): \t\t\tthis.refresh();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees.filter(".ui-selected").each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.startselected = true;\n
Login.c(118): \t\t\tif (!event.metaKey && !event.ctrlKey) {\n
Login.c(118): \t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\tselectee.selected = false;\n
Login.c(118): \t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t$(event.target).parents().addBack().each(function() {\n
Login.c(118): \t\t\tvar doSelect,\n
Login.c(118): \t\t\t\tselectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tif (selectee) {\n
Login.c(118): \t\t\t\tdoSelect = (!event.metaKey && !event.ctrlKey) || !
selectee.$element.hasClass("ui-s
Login.c(118): elected");\n
Login.c(118): \t\t\t\tselectee.$element\n
Login.c(118): \t\t\t\t\t.removeClass(doSelect ? "ui-unselecting" : "ui-
selected")\n
Login.c(118): \t\t\t\t\t.addClass(doSelect ? "ui-selecting" : "ui-
unselecting");\n
Login.c(118): \t\t\t\tselectee.unselecting = !doSelect;\n
Login.c(118): \t\t\t\tselectee.selecting = doSelect;\n
Login.c(118): \t\t\t\tselectee.selected = doSelect;\n
Login.c(118): \t\t\t\t// selectable (UN)SELECTING callback\n
Login.c(118): \t\t\t\tif (doSelect) {\n
Login.c(118): \t\t\t\t\tthat._trigger("selecting", event, {\n
Login.c(118): \t\t\t\t\t\tselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = true;\n
Login.c(118): \n
Login.c(118): \t\tif (this.options.disabled) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar tmp,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\tx1 = this.opos[0],\n
Login.c(118): \t\t\ty1 = this.opos[1],\n
Login.c(118): \t\t\tx2 = event.pageX,\n
Login.c(118): \t\t\ty2 = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\tif (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }\n
Login.c(118): \t\tif (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }\n
Login.c(118): \t\tthis.helper.css({ left: x1, top: y1, width: x2 - x1, height:
y2 - y1 });\n
Login.c(118): \n
Login.c(118): \t\tthis.selectees.each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item"),\n
Login.c(118): \t\t\t\thit = false;\n
Login.c(118): \n
Login.c(118): \t\t\t//prevent helper from being selected if appendTo:
selectable\n
Login.c(118): \t\t\tif (!selectee || selectee.element === that.element[0]) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (options.tolerance === "touch") {\n
Login.c(118): \t\t\t\thit = ( !(selectee.left > x2 || selectee.right < x1 ||
selectee.top > y2 || select
Login.c(118): ee.bottom < y1) );\n
Login.c(118): \t\t\t} else if (options.tolerance === "fit") {\n
Login.c(118): \t\t\t\thit = (selectee.left > x1 && selectee.right < x2 &&
selectee.top > y1 && selectee.
Login.c(118): bottom < y2);\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif (hit) {\n
Login.c(118): \t\t\t\t// SELECT\n
Login.c(118): \t\t\t\tif (selectee.selected) {\n
Login.c(118): \t\t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\t\tselectee.selected = false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (selectee.unselecting) {\n
Login.c(118): \t\t\t\t\tselectee.$element.removeClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\tselectee.unselecting = false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (!selectee.selecting) {\n
Login.c(118): \t\t\t\t\tselectee.$element.addClass("ui-selecting");\n
Login.c(118): \t\t\t\t\tselectee.selecting = true;\n
Login.c(118): \t\t\t\t\t// selectable SELECTING callback\n
Login.c(118): \t\t\t\t\tthat._trigger("selecting", event, {\n
Login.c(118): \t\t\t\t\t\tselecting: selectee.element\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// UNSELECT\n
Login.c(118): \t\t\t\tif (selectee.selecting) {\n
Login.c(118): \t\t\t\t\tif ((event.metaKey || event.ctrlKey) &&
selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selecting");\n
Login.c(118): \t\t\t\t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\t\t\t\tselectee.$element.addClass("ui-selected");\n
Login.c(118): \t\t\t\t\t\tselectee.selected = true;\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selecting");\n
Login.c(118): \t\t\t\t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\t\t\t\tif (selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif (selectee.selected) {\n
Login.c(118): \t\t\t\t\tif (!event.metaKey && !event.ctrlKey && !
selectee.startselected) {\n
Login.c(118): \t\t\t\t\t\tselectee.$element.removeClass("ui-selected");\n
Login.c(118): \t\t\t\t\t\tselectee.selected = false;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tselectee.$element.addClass("ui-unselecting");\n
Login.c(118): \t\t\t\t\t\tselectee.unselecting = true;\n
Login.c(118): \t\t\t\t\t\t// selectable UNSELECTING callback\n
Login.c(118): \t\t\t\t\t\tthat._trigger("unselecting", event, {\n
Login.c(118): \t\t\t\t\t\t\tunselecting: selectee.element\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.dragged = false;\n
Login.c(118): \n
Login.c(118): \t\t$(".ui-unselecting", this.element[0]).each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.$element.removeClass("ui-unselecting");\n
Login.c(118): \t\t\tselectee.unselecting = false;\n
Login.c(118): \t\t\tselectee.startselected = false;\n
Login.c(118): \t\t\tthat._trigger("unselected", event, {\n
Login.c(118): \t\t\t\tunselected: selectee.element\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\t$(".ui-selecting", this.element[0]).each(function() {\n
Login.c(118): \t\t\tvar selectee = $.data(this, "selectable-item");\n
Login.c(118): \t\t\tselectee.$element.removeClass("ui-selecting").addClass("ui-
selected");\n
Login.c(118): \t\t\tselectee.selecting = false;\n
Login.c(118): \t\t\tselectee.selected = true;\n
Login.c(118): \t\t\tselectee.startselected = true;\n
Login.c(118): \t\t\tthat._trigger("selected", event, {\n
Login.c(118): \t\t\t\tselected: selectee.element\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._trigger("stop", event);\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.remove();\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Selectmenu 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/selectmenu\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var selectmenu = $.widget( "ui.selectmenu", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<select>",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: null,\n
Login.c(118): \t\tdisabled: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tbutton: "ui-icon-triangle-1-s"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "none"\n
Login.c(118): \t\t},\n
Login.c(118): \t\twidth: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\tfocus: null,\n
Login.c(118): \t\topen: null,\n
Login.c(118): \t\tselect: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar selectmenuId = this.element.uniqueId().attr( "id" );\n
Login.c(118): \t\tthis.ids = {\n
Login.c(118): \t\t\telement: selectmenuId,\n
Login.c(118): \t\t\tbutton: selectmenuId + "-button",\n
Login.c(118): \t\t\tmenu: selectmenuId + "-menu"\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tthis._drawButton();\n
Login.c(118): \t\tthis._drawMenu();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.disable();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drawButton: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttabindex = this.element.attr( "tabindex" );\n
Login.c(118): \n
Login.c(118): \t\t// Associate existing label with the new button\n
Login.c(118): \t\tthis.label = $( "label[for='" + this.ids.element +
"']" ).attr( "for", this.ids.button
Login.c(118): );\n
Login.c(118): \t\tthis._on( this.label, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tthis.button.focus();\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Hide original select element\n
Login.c(118): \t\tthis.element.hide();\n
Login.c(118): \n
Login.c(118): \t\t// Create button\n
Login.c(118): \t\tthis.button = $( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-button ui-widget ui-state-default
ui-corner-all",\n
Login.c(118): \t\t\ttabindex: tabindex || this.options.disabled ? -1 : 0,\n
Login.c(118): \t\t\tid: this.ids.button,\n
Login.c(118): \t\t\trole: "combobox",\n
Login.c(118): \t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\t"aria-autocomplete": "list",\n
Login.c(118): \t\t\t"aria-owns": this.ids.menu,\n
Login.c(118): \t\t\t"aria-haspopup": "true"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.insertAfter( this.element );\n
Login.c(118): \n
Login.c(118): \t\t$( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-icon " + this.options.icons.button\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.prependTo( this.button );\n
Login.c(118): \n
Login.c(118): \t\tthis.buttonText = $( "<span>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-text"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.appendTo( this.button );\n
Login.c(118): \n
Login.c(118): \t\tthis._setText( this.buttonText,
this.element.find( "option:selected" ).text() );\n
Login.c(118): \t\tthis._resizeButton();\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.button, this._buttonEvents );\n
Login.c(118): \t\tthis.button.one( "focusin", function() {\n
Login.c(118): \n
Login.c(118): \t\t\t// Delay rendering the menu items until the button receives
focus.\n
Login.c(118): \t\t\t// The menu may have already been rendered via a
programmatic open.\n
Login.c(118): \t\t\tif ( !that.menuItems ) {\n
Login.c(118): \t\t\t\tthat._refreshMenu();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._hoverable( this.button );\n
Login.c(118): \t\tthis._focusable( this.button );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_drawMenu: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// Create menu\n
Login.c(118): \t\tthis.menu = $( "<ul>", {\n
Login.c(118): \t\t\t"aria-hidden": "true",\n
Login.c(118): \t\t\t"aria-labelledby": this.ids.button,\n
Login.c(118): \t\t\tid: this.ids.menu\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Wrap menu\n
Login.c(118): \t\tthis.menuWrap = $( "<div>", {\n
Login.c(118): \t\t\t"class": "ui-selectmenu-menu ui-front"\n
Login.c(118): \t\t})\n
Login.c(118): \t\t\t.append( this.menu )\n
Login.c(118): \t\t\t.appendTo( this._appendTo() );\n
Login.c(118): \n
Login.c(118): \t\t// Initialize menu widget\n
Login.c(118): \t\tthis.menuInstance = this.menu\n
Login.c(118): \t\t\t.menu({\n
Login.c(118): \t\t\t\trole: "listbox",\n
Login.c(118): \t\t\t\tselect: function( event, ui ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tthat._select( ui.item.data( "ui-selectmenu-item" ),
event );\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tfocus: function( event, ui ) {\n
Login.c(118): \t\t\t\t\tvar item = ui.item.data( "ui-selectmenu-item" );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// Prevent inital focus from firing and check if its a
newly focused item\n
Login.c(118): \t\t\t\t\tif ( that.focusIndex != null && item.index !==
that.focusIndex ) {\n
Login.c(118): \t\t\t\t\t\tthat._trigger( "focus", event, { item: item } );\n
Login.c(118): \t\t\t\t\t\tif ( !that.isOpen ) {\n
Login.c(118): \t\t\t\t\t\t\tthat._select( item, event );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tthat.focusIndex = item.index;\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tthat.button.attr( "aria-activedescendant",\n
Login.c(118): \t\t\t\t\t\tthat.menuItems.eq( item.index ).attr( "id" ) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.menu( "instance" );\n
Login.c(118): \n
Login.c(118): \t\t// Adjust menu styles to dropdown\n
Login.c(118): \t\tthis.menu\n
Login.c(118): \t\t\t.addClass( "ui-corner-bottom" )\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// Don't close the menu on mouseleave\n
Login.c(118): \t\tthis.menuInstance._off( this.menu, "mouseleave" );\n
Login.c(118): \n
Login.c(118): \t\t// Cancel the menu's collapseAll on document click\n
Login.c(118): \t\tthis.menuInstance._closeOnDocumentClick = function() {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// Selects often contain empty items, but never contain
dividers\n
Login.c(118): \t\tthis.menuInstance._isDivider = function() {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tthis._refreshMenu();\n
Login.c(118): \t\tthis._setText( this.buttonText,
this._getSelectedItem().text() );\n
Login.c(118): \t\tif ( !this.options.width ) {\n
Login.c(118): \t\t\tthis._resizeButton();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshMenu: function() {\n
Login.c(118): \t\tthis.menu.empty();\n
Login.c(118): \n
Login.c(118): \t\tvar item,\n
Login.c(118): \t\t\toptions = this.element.find( "option" );\n
Login.c(118): \n
Login.c(118): \t\tif ( !options.length ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._parseOptions( options );\n
Login.c(118): \t\tthis._renderMenu( this.menu, this.items );\n
Login.c(118): \n
Login.c(118): \t\tthis.menuInstance.refresh();\n
Login.c(118): \t\tthis.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-
optgroup" );\n
Login.c(118): \n
Login.c(118): \t\titem = this._getSelectedItem();\n
Login.c(118): \n
Login.c(118): \t\t// Update the menu to have the correct item focused\n
Login.c(118): \t\tthis.menuInstance.focus( null, item );\n
Login.c(118): \t\tthis._setAria( item.data( "ui-selectmenu-item" ) );\n
Login.c(118): \n
Login.c(118): \t\t// Set disabled state\n
Login.c(118): \t\tthis._setOption( "disabled",
this.element.prop( "disabled" ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function( event ) {\n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// If this is the first time the menu is being opened, render
the items\n
Login.c(118): \t\tif ( !this.menuItems ) {\n
Login.c(118): \t\t\tthis._refreshMenu();\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t//
Login.c(118): t=7424ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): Menu clears focus on close, reset focus to selected item\n
Login.c(118): \t\t\tthis.menu.find( ".ui-state-focus" ).removeClass( "ui-state-
focus" );\n
Login.c(118): \t\t\tthis.menuInstance.focus( null, this._getSelectedItem() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.isOpen = true;\n
Login.c(118): \t\tthis._toggleAttr();\n
Login.c(118): \t\tthis._resizeMenu();\n
Login.c(118): \t\tthis._position();\n
Login.c(118): \n
Login.c(118): \t\tthis._on( this.document, this._documentClick );\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_position: function() {\n
Login.c(118): \t\tthis.menuWrap.position( $.extend( { of: this.button },
this.options.position ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tif ( !this.isOpen ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.isOpen = false;\n
Login.c(118): \t\tthis._toggleAttr();\n
Login.c(118): \n
Login.c(118): \t\tthis._off( this.document );\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "close", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.button;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tmenuWidget: function() {\n
Login.c(118): \t\treturn this.menu;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderMenu: function( ul, items ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\tcurrentOptgroup = "";\n
Login.c(118): \n
Login.c(118): \t\t$.each( items, function( index, item ) {\n
Login.c(118): \t\t\tif ( item.optgroup !== currentOptgroup ) {\n
Login.c(118): \t\t\t\t$( "<li>", {\n
Login.c(118): \t\t\t\t\t"class": "ui-selectmenu-optgroup ui-menu-divider" +\n
Login.c(118):
\t\t\t\t\t\t( item.element.parent( "optgroup" ).prop( "disabled" ) ?\n
Login.c(118): \t\t\t\t\t\t\t" ui-state-disabled" :\n
Login.c(118): \t\t\t\t\t\t\t"" ),\n
Login.c(118): \t\t\t\t\ttext: item.optgroup\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t\t.appendTo( ul );\n
Login.c(118): \n
Login.c(118): \t\t\t\tcurrentOptgroup = item.optgroup;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthat._renderItemData( ul, item );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItemData: function( ul, item ) {\n
Login.c(118): \t\treturn this._renderItem( ul, item ).data( "ui-selectmenu-
item", item );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_renderItem: function( ul, item ) {\n
Login.c(118): \t\tvar li = $( "<li>" );\n
Login.c(118): \n
Login.c(118): \t\tif ( item.disabled ) {\n
Login.c(118): \t\t\tli.addClass( "ui-state-disabled" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setText( li, item.label );\n
Login.c(118): \n
Login.c(118): \t\treturn li.appendTo( ul );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setText: function( element, value ) {\n
Login.c(118): \t\tif ( value ) {\n
Login.c(118): \t\t\telement.text( value );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telement.html( "&#160;" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_move: function( direction, event ) {\n
Login.c(118): \t\tvar item, next,\n
Login.c(118): \t\t\tfilter = ".ui-menu-item";\n
Login.c(118): \n
Login.c(118): \t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\titem = this.menuItems.eq( this.focusIndex );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\titem =
this.menuItems.eq( this.element[ 0 ].selectedIndex );\n
Login.c(118): \t\t\tfilter += ":not(.ui-state-disabled)";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( direction === "first" || direction === "last" ) {\n
Login.c(118): \t\t\tnext = item[ direction === "first" ? "prevAll" :
"nextAll" ]( filter ).eq( -1 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tnext = item[ direction + "All" ]( filter ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( next.length ) {\n
Login.c(118): \t\t\tthis.menuInstance.focus( event, next );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getSelectedItem: function() {\n
Login.c(118): \t\treturn
this.menuItems.eq( this.element[ 0 ].selectedIndex );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggle: function( event ) {\n
Login.c(118): \t\tthis[ this.isOpen ? "close" : "open" ]( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_documentClick: {\n
Login.c(118): \t\tmousedown: function( event ) {\n
Login.c(118): \t\t\tif ( !this.isOpen ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !$( event.target ).closest( ".ui-selectmenu-menu, #" +
this.ids.button ).length
Login.c(118): ) {\n
Login.c(118): \t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_buttonEvents: {\n
Login.c(118): \n
Login.c(118): \t\t// Prevent text selection from being reset when interacting
with the selectmenu (#1014
Login.c(118): 4)\n
Login.c(118): \t\tmousedown: function( event ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t},\n
Login.c(118): \n
Login.c(118): \t\tclick: "_toggle",\n
Login.c(118): \n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tvar preventDefault = true;\n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.TAB:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.ESCAPE:\n
Login.c(118): \t\t\t\t\tthis.close( event );\n
Login.c(118): \t\t\t\t\tpreventDefault = false;\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\t\t\t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\t\t\t\tthis._selectFocusedItem( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\t\tif ( event.altKey ) {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._move( "prev", event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\t\tif ( event.altKey ) {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._move( "next", event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\t\t\tif ( this.isOpen ) {\n
Login.c(118): \t\t\t\t\t\tthis._selectFocusedItem( event );\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tthis._toggle( event );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tthis._move( "prev", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\t\tthis._move( "next", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tthis._move( "first", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tthis._move( "last", event );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\tthis.menu.trigger( event );\n
Login.c(118): \t\t\t\t\tpreventDefault = false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( preventDefault ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_selectFocusedItem: function( event ) {\n
Login.c(118): \t\tvar item = this.menuItems.eq( this.focusIndex );\n
Login.c(118): \t\tif ( !item.hasClass( "ui-state-disabled" ) ) {\n
Login.c(118): \t\t\tthis._select( item.data( "ui-selectmenu-item" ), event );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_select: function( item, event ) {\n
Login.c(118): \t\tvar oldIndex = this.element[ 0 ].selectedIndex;\n
Login.c(118): \n
Login.c(118): \t\t// Change native select element\n
Login.c(118): \t\tthis.element[ 0 ].selectedIndex = item.index;\n
Login.c(118): \t\tthis._setText( this.buttonText, item.label );\n
Login.c(118): \t\tthis._setAria( item );\n
Login.c(118): \t\tthis._trigger( "select", event, { item: item } );\n
Login.c(118): \n
Login.c(118): \t\tif ( item.index !== oldIndex ) {\n
Login.c(118): \t\t\tthis._trigger( "change", event, { item: item } );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.close( event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setAria: function( item ) {\n
Login.c(118): \t\tvar id = this.menuItems.eq( item.index ).attr( "id" );\n
Login.c(118): \n
Login.c(118): \t\tthis.button.attr({\n
Login.c(118): \t\t\t"aria-labelledby": id,\n
Login.c(118): \t\t\t"aria-activedescendant": id\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.menu.attr( "aria-activedescendant", id );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.button.find( "span.ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.button )\n
Login.c(118): \t\t\t\t.addClass( value.button );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "appendTo" ) {\n
Login.c(118): \t\t\tthis.menuWrap.appendTo( this._appendTo() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.menuInstance.option( "disabled", value );\n
Login.c(118): \t\t\tthis.button\n
Login.c(118): \t\t\t\t.toggleClass( "ui-state-disabled", value )\n
Login.c(118): \t\t\t\t.attr( "aria-disabled", value );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.prop( "disabled", value );\n
Login.c(118): \t\t\tif ( value ) {\n
Login.c(118): \t\t\t\tthis.button.attr( "tabindex", -1 );\n
Login.c(118): \t\t\t\tthis.close();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.button.attr( "tabindex", 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "width" ) {\n
Login.c(118): \t\t\tthis._resizeButton();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_appendTo: function() {\n
Login.c(118): \t\tvar element = this.options.appendTo;\n
Login.c(118): \n
Login.c(118): \t\tif ( element ) {\n
Login.c(118): \t\t\telement = element.jquery || element.nodeType ?\n
Login.c(118): \t\t\t\t$( element ) :\n
Login.c(118): \t\t\t\tthis.document.find( element ).eq( 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element || !element[ 0 ] ) {\n
Login.c(118): \t\t\telement = this.element.closest( ".ui-front" );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !element.length ) {\n
Login.c(118): \t\t\telement = this.document[ 0 ].body;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn element;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_toggleAttr: function() {\n
Login.c(118): \t\tthis.button\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-top", this.isOpen )\n
Login.c(118): \t\t\t.toggleClass( "ui-corner-all", !this.isOpen )\n
Login.c(118): \t\t\t.attr( "aria-expanded", this.isOpen );\n
Login.c(118): \t\tthis.menuWrap.toggleClass( "ui-selectmenu-open",
this.isOpen );\n
Login.c(118): \t\tthis.menu.attr( "aria-hidden", !this.isOpen );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeButton: function() {\n
Login.c(118): \t\tvar width = this.options.width;\n
Login.c(118): \n
Login.c(118): \t\tif ( !width ) {\n
Login.c(118): \t\t\twidth = this.element.show().outerWidth();\n
Login.c(118): \t\t\tthis.element.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.button.outerWidth( width );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_resizeMenu: function() {\n
Login.c(118): \t\tthis.menu.outerWidth( Math.max(\n
Login.c(118): \t\t\tthis.button.outerWidth(),\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE10\n
Login.c(118): \t\t\t// IE10 wraps long text (possibly a rounding bug)\n
Login.c(118): \t\t\t// so we add 1px to avoid the wrapping\n
Login.c(118): \t\t\tthis.menu.width( "" ).outerWidth() + 1\n
Login.c(118): \t\t) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateOptions: function() {\n
Login.c(118): \t\treturn { disabled: this.element.prop( "disabled" ) };\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_parseOptions: function( options ) {\n
Login.c(118): \t\tvar data = [];\n
Login.c(118): \t\toptions.each(function( index, item ) {\n
Login.c(118): \t\t\tvar option = $( item ),\n
Login.c(118): \t\t\t\toptgroup = option.parent( "optgroup" );\n
Login.c(118): \t\t\tdata.push({\n
Login.c(118): \t\t\t\telement: option,\n
Login.c(118): \t\t\t\tindex: index,\n
Login.c(118): \t\t\t\tvalue: option.attr( "value" ),\n
Login.c(118): \t\t\t\tlabel: option.text(),\n
Login.c(118): \t\t\t\toptgroup: optgroup.attr( "label" ) || "",\n
Login.c(118): \t\t\t\tdisabled: optgroup.prop( "disabled" ) ||
option.prop( "disabled" )\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.items = data;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.menuWrap.remove();\n
Login.c(118): \t\tthis.button.remove();\n
Login.c(118): \t\tthis.element.show();\n
Login.c(118): \t\tthis.element.removeUniqueId();\n
Login.c(118): \t\tthis.label.attr( "for", this.ids.element );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Slider 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/slider/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var slider = $.widget( "ui.slider", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "slide",\n
Login.c(118): \n
Login.c(118): \toptions: {\n
Login.c(118): \t\tanimate: false,\n
Login.c(118): \t\tdistance: 0,\n
Login.c(118): \t\tmax: 100,\n
Login.c(118): \t\tmin: 0,\n
Login.c(118): \t\torientation: "horizontal",\n
Login.c(118): \t\trange: false,\n
Login.c(118): \t\tstep: 1,\n
Login.c(118): \t\tvalue: 0,\n
Login.c(118): \t\tvalues: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tslide: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// number of pages in a slider\n
Login.c(118): \t// (how many times can you page up/down to go through the whole
range)\n
Login.c(118): \tnumPages: 5,\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis._keySliding = false;\n
Login.c(118): \t\tthis._mouseSliding = false;\n
Login.c(118): \t\tthis._animateOff = true;\n
Login.c(118): \t\tthis._handleIndex = null;\n
Login.c(118): \t\tthis._detectOrientation();\n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-slider" +\n
Login.c(118): \t\t\t\t" ui-slider-" + this.orientation +\n
Login.c(118): \t\t\t\t" ui-widget" +\n
Login.c(118): \t\t\t\t" ui-widget-content" +\n
Login.c(118): \t\t\t\t" ui-corner-all");\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t\tthis._setOption( "disabled", this.options.disabled );\n
Login.c(118): \n
Login.c(118): \t\tthis._animateOff = false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis._createRange();\n
Login.c(118): \t\tthis._createHandles();\n
Login.c(118): \t\tthis._setupEvents();\n
Login.c(118): \t\tthis._refreshValue();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHandles: function() {\n
Login.c(118): \t\tvar i, handleCount,\n
Login.c(118): \t\t\toptions = this.options,\n
Login.c(118): \t\t\texistingHandles = this.element.find( ".ui-slider-
handle" ).addClass( "ui-state-defau
Login.c(118): lt ui-corner-all" ),\n
Login.c(118): \t\t\thandle = "<span class='ui-slider-handle ui-state-default
ui-corner-all' tabindex='0'
Login.c(118): ></span>",\n
Login.c(118): \t\t\thandles = [];\n
Login.c(118): \n
Login.c(118): \t\thandleCount = ( options.values && options.values.length ) ||
1;\n
Login.c(118): \n
Login.c(118): \t\tif ( existingHandles.length > handleCount ) {\n
Login.c(118): \t\t\texistingHandles.slice( handleCount ).remove();\n
Login.c(118): \t\t\texistingHandles = existingHandles.slice( 0,
handleCount );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor ( i = existingHandles.length; i < handleCount; i++ ) {\n
Login.c(118): \t\t\thandles.push( handle );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.handles = existingHandles.add( $
( handles.join( "" ) ).appendTo( this.element ) )
Login.c(118): ;\n
Login.c(118): \n
Login.c(118): \t\tthis.handle = this.handles.eq( 0 );\n
Login.c(118): \n
Login.c(118): \t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\t$( this ).data( "ui-slider-handle-index", i );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createRange: function() {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tclasses = "";\n
Login.c(118): \n
Login.c(118): \t\tif ( options.range ) {\n
Login.c(118): \t\t\tif ( options.range === true ) {\n
Login.c(118): \t\t\t\tif ( !options.values ) {\n
Login.c(118): \t\t\t\t\toptions.values = [ this._valueMin(),
this._valueMin() ];\n
Login.c(118): \t\t\t\t} else if ( options.values.length &&
options.values.length !== 2 ) {\n
Login.c(118): \t\t\t\t\toptions.values = [ options.values[0], options.values[0]
];\n
Login.c(118): \t\t\t\t} else if ( $.isArray( options.values ) ) {\n
Login.c(118): \t\t\t\t\toptions.values = options.values.slice(0);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !this.range || !this.range.length ) {\n
Login.c(118): \t\t\t\tthis.range = $( "<div></div>" )\n
Login.c(118): \t\t\t\t\t.appendTo( this.element );\n
Login.c(118): \n
Login.c(118): \t\t\t\tclasses = "ui-slider-range" +\n
Login.c(118): \t\t\t\t// note: this isn't the most fittingly semantic framework
class for this element,\n
Login.c(118): \t\t\t\t// but worked best visually with a variety of themes\n
Login.c(118): \t\t\t\t" ui-widget-header ui-corner-all";\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.range.removeClass( "ui-slider-range-min ui-slider-
range-max" )\n
Login.c(118): \t\t\t\t\t// Handle range switching from true to min/max\n
Login.c(118): \t\t\t\t\t.css({\n
Login.c(118): \t\t\t\t\t\t"left": "",\n
Login.c(118): \t\t\t\t\t\t"bottom": ""\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.range.addClass( classes +\n
Login.c(118): \t\t\t\t( ( options.range === "min" || options.range ===
"max" ) ? " ui-slider-range-" + o
Login.c(118): ptions.range : "" ) );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( this.range ) {\n
Login.c(118): \t\t\t\tthis.range.remove();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.range = null;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function() {\n
Login.c(118): \t\tthis._off( this.handles );\n
Login.c(118): \t\tthis._on( this.handles, this._handleEvents );\n
Login.c(118): \t\tthis._hoverable( this.handles );\n
Login.c(118): \t\tthis._focusable( this.handles );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.handles.remove();\n
Login.c(118): \t\tif ( this.range ) {\n
Login.c(118): \t\t\tthis.range.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-slider" +\n
Login.c(118): \t\t\t\t" ui-slider-horizontal" +\n
Login.c(118): \t\t\t\t" ui-slider-vertical" +\n
Login.c(118): \t\t\t\t" ui-widget" +\n
Login.c(118): \t\t\t\t" ui-widget-content" +\n
Login.c(118): \t\t\t\t" ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function( event ) {\n
Login.c(118): \t\tvar position, normValue, distance, closestHandle, index,
allowed, offset, mouseOverHan
Login.c(118): dle,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tif ( o.disabled ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.elementSize = {\n
Login.c(118): \t\t\twidth: this.element.outerWidth(),\n
Login.c(118): \t\t\theight: this.element.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tthis.elementOffset = this.element.offset();\n
Login.c(118): \n
Login.c(118): \t\tposition = { x: event.pageX, y: event.pageY };\n
Login.c(118): \t\tnormValue = this._normValueFromMouse( position );\n
Login.c(118): \t\tdistance = this._valueMax() - this._valueMin() + 1;\n
Login.c(118): \t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\tvar thisDistance = Math.abs( normValue -
that.values(i) );\n
Login.c(118): \t\t\tif (( distance > thisDistance ) ||\n
Login.c(118): \t\t\t\t( distance === thisDistance &&\n
Login.c(118): \t\t\t\t\t(i === that._lastChangedValue || that.values(i) ===
o.min ))) {\n
Login.c(118): \t\t\t\tdistance = thisDistance;\n
Login.c(118): \t\t\t\tclosestHandle = $( this );\n
Login.c(118): \t\t\t\tindex = i;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t
Login.c(118): t=7446ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \t\tallowed = this._start( event, index );\n
Login.c(118): \t\tif ( allowed === false ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._mouseSliding = true;\n
Login.c(118): \n
Login.c(118): \t\tthis._handleIndex = index;\n
Login.c(118): \n
Login.c(118): \t\tclosestHandle\n
Login.c(118): \t\t\t.addClass( "ui-state-active" )\n
Login.c(118): \t\t\t.focus();\n
Login.c(118): \n
Login.c(118): \t\toffset = closestHandle.offset();\n
Login.c(118): \t\tmouseOverHandle = !$
( event.target ).parents().addBack().is( ".ui-slider-handle" );\n
Login.c(118): \t\tthis._clickOffset = mouseOverHandle ? { left: 0, top: 0 } :
{\n
Login.c(118): \t\t\tleft: event.pageX - offset.left - ( closestHandle.width() /
2 ),\n
Login.c(118): \t\t\ttop: event.pageY - offset.top -\n
Login.c(118): \t\t\t\t( closestHandle.height() / 2 ) -\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("borderTopWidth"), 10 ) ||
0 ) -\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("borderBottomWidth"), 10 )
|| 0) +\n
Login.c(118): \t\t\t\t( parseInt( closestHandle.css("marginTop"), 10 ) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.handles.hasClass( "ui-state-hover" ) ) {\n
Login.c(118): \t\t\tthis._slide( event, index, normValue );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._animateOff = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function() {\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function( event ) {\n
Login.c(118): \t\tvar position = { x: event.pageX, y: event.pageY },\n
Login.c(118): \t\t\tnormValue = this._normValueFromMouse( position );\n
Login.c(118): \n
Login.c(118): \t\tthis._slide( event, this._handleIndex, normValue );\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function( event ) {\n
Login.c(118): \t\tthis.handles.removeClass( "ui-state-active" );\n
Login.c(118): \t\tthis._mouseSliding = false;\n
Login.c(118): \n
Login.c(118): \t\tthis._stop( event, this._handleIndex );\n
Login.c(118): \t\tthis._change( event, this._handleIndex );\n
Login.c(118): \n
Login.c(118): \t\tthis._handleIndex = null;\n
Login.c(118): \t\tthis._clickOffset = null;\n
Login.c(118): \t\tthis._animateOff = false;\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_detectOrientation: function() {\n
Login.c(118): \t\tthis.orientation = ( this.options.orientation ===
"vertical" ) ? "vertical" : "horizon
Login.c(118): tal";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_normValueFromMouse: function( position ) {\n
Login.c(118): \t\tvar pixelTotal,\n
Login.c(118): \t\t\tpixelMouse,\n
Login.c(118): \t\t\tpercentMouse,\n
Login.c(118): \t\t\tvalueTotal,\n
Login.c(118): \t\t\tvalueMouse;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.orientation === "horizontal" ) {\n
Login.c(118): \t\t\tpixelTotal = this.elementSize.width;\n
Login.c(118): \t\t\tpixelMouse = position.x - this.elementOffset.left -
( this._clickOffset ? this._clic
Login.c(118): kOffset.left : 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tpixelTotal = this.elementSize.height;\n
Login.c(118): \t\t\tpixelMouse = position.y - this.elementOffset.top -
( this._clickOffset ? this._click
Login.c(118): Offset.top : 0 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tpercentMouse = ( pixelMouse / pixelTotal );\n
Login.c(118): \t\tif ( percentMouse > 1 ) {\n
Login.c(118): \t\t\tpercentMouse = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( percentMouse < 0 ) {\n
Login.c(118): \t\t\tpercentMouse = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.orientation === "vertical" ) {\n
Login.c(118): \t\t\tpercentMouse = 1 - percentMouse;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalueTotal = this._valueMax() - this._valueMin();\n
Login.c(118): \t\tvalueMouse = this._valueMin() + percentMouse * valueTotal;\n
Login.c(118): \n
Login.c(118): \t\treturn this._trimAlignValue( valueMouse );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_start: function( event, index ) {\n
Login.c(118): \t\tvar uiHash = {\n
Login.c(118): \t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\tvalue: this.value()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn this._trigger( "start", event, uiHash );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_slide: function( event, index, newVal ) {\n
Login.c(118): \t\tvar otherVal,\n
Login.c(118): \t\t\tnewValues,\n
Login.c(118): \t\t\tallowed;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\totherVal = this.values( index ? 0 : 1 );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( ( this.options.values.length === 2 &&
this.options.range === true ) &&\n
Login.c(118): \t\t\t\t\t( ( index === 0 && newVal > otherVal) || ( index === 1
&& newVal < otherVal ) )\n
Login.c(118): \t\t\t\t) {\n
Login.c(118): \t\t\t\tnewVal = otherVal;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( newVal !== this.values( index ) ) {\n
Login.c(118): \t\t\t\tnewValues = this.values();\n
Login.c(118): \t\t\t\tnewValues[ index ] = newVal;\n
Login.c(118): \t\t\t\t// A slide can be canceled by returning false from the
slide callback\n
Login.c(118): \t\t\t\tallowed = this._trigger( "slide", event, {\n
Login.c(118): \t\t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\t\tvalue: newVal,\n
Login.c(118): \t\t\t\t\tvalues: newValues\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \t\t\t\totherVal = this.values( index ? 0 : 1 );\n
Login.c(118): \t\t\t\tif ( allowed !== false ) {\n
Login.c(118): \t\t\t\t\tthis.values( index, newVal );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tif ( newVal !== this.value() ) {\n
Login.c(118): \t\t\t\t// A slide can be canceled by returning false from the
slide callback\n
Login.c(118): \t\t\t\tallowed = this._trigger( "slide", event, {\n
Login.c(118): \t\t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\t\tvalue: newVal\n
Login.c(118): \t\t\t\t} );\n
Login.c(118): \t\t\t\tif ( allowed !== false ) {\n
Login.c(118): \t\t\t\t\tthis.value( newVal );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_stop: function( event, index ) {\n
Login.c(118): \t\tvar uiHash = {\n
Login.c(118): \t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\tvalue: this.value()\n
Login.c(118): \t\t};\n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "stop", event, uiHash );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_change: function( event, index ) {\n
Login.c(118): \t\tif ( !this._keySliding && !this._mouseSliding ) {\n
Login.c(118): \t\t\tvar uiHash = {\n
Login.c(118): \t\t\t\thandle: this.handles[ index ],\n
Login.c(118): \t\t\t\tvalue: this.value()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\tuiHash.value = this.values( index );\n
Login.c(118): \t\t\t\tuiHash.values = this.values();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//store the last changed value index for reference when
handles overlap\n
Login.c(118): \t\t\tthis._lastChangedValue = index;\n
Login.c(118): \n
Login.c(118): \t\t\tthis._trigger( "change", event, uiHash );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalue: function( newValue ) {\n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tthis.options.value = this._trimAlignValue( newValue );\n
Login.c(118): \t\t\tthis._refreshValue();\n
Login.c(118): \t\t\tthis._change( null, 0 );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this._value();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tvalues: function( index, newValue ) {\n
Login.c(118): \t\tvar vals,\n
Login.c(118): \t\t\tnewValues,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length > 1 ) {\n
Login.c(118): \t\t\tthis.options.values[ index ] =
this._trimAlignValue( newValue );\n
Login.c(118): \t\t\tthis._refreshValue();\n
Login.c(118): \t\t\tthis._change( null, index );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tif ( $.isArray( arguments[ 0 ] ) ) {\n
Login.c(118): \t\t\t\tvals = this.options.values;\n
Login.c(118): \t\t\t\tnewValues = arguments[ 0 ];\n
Login.c(118): \t\t\t\tfor ( i = 0; i < vals.length; i += 1 ) {\n
Login.c(118): \t\t\t\t\tvals[ i ] = this._trimAlignValue( newValues[ i ] );\n
Login.c(118): \t\t\t\t\tthis._change( null, i );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\t\treturn this._values( index );\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\treturn this.value();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn this._values();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tvalsLength = 0;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "range" && this.options.range === true ) {\n
Login.c(118): \t\t\tif ( value === "min" ) {\n
Login.c(118): \t\t\t\tthis.options.value = this._values( 0 );\n
Login.c(118): \t\t\t\tthis.options.values = null;\n
Login.c(118): \t\t\t} else if ( value === "max" ) {\n
Login.c(118): \t\t\t\tthis.options.value =
this._values( this.options.values.length - 1 );\n
Login.c(118): \t\t\t\tthis.options.values = null;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( $.isArray( this.options.values ) ) {\n
Login.c(118): \t\t\tvalsLength = this.options.values.length;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.element.toggleClass( "ui-state-disabled", !!value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tswitch ( key ) {\n
Login.c(118): \t\t\tcase "orientation":\n
Login.c(118): \t\t\t\tthis._detectOrientation();\n
Login.c(118): \t\t\t\tthis.element\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-slider-horizontal ui-slider-vertical"
)\n
Login.c(118): \t\t\t\t\t.addClass( "ui-slider-" + this.orientation );\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \n
Login.c(118): \t\t\t\t// Reset positioning from previous orientation\n
Login.c(118): \t\t\t\tthis.handles.css( value === "horizontal" ? "bottom" :
"left", "" );\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "value":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tthis._change( null, 0 );\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "values":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tfor ( i = 0; i < valsLength; i += 1 ) {\n
Login.c(118): \t\t\t\t\tthis._change( null, i );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "min":\n
Login.c(118): \t\t\tcase "max":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refreshValue();\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase "range":\n
Login.c(118): \t\t\t\tthis._animateOff = true;\n
Login.c(118): \t\t\t\tthis._refresh();\n
Login.c(118): \t\t\t\tthis._animateOff = false;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t//internal value getter\n
Login.c(118): \t// _value() returns value trimmed by min and max, aligned by
step\n
Login.c(118): \t_value: function() {\n
Login.c(118): \t\tvar val = this.options.value;\n
Login.c(118): \t\tval = this._trimAlignValue( val );\n
Login.c(118): \n
Login.c(118): \t\treturn val;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t//internal values getter\n
Login.c(118): \t// _values() returns array of values trimmed by min and max,
aligned by step\n
Login.c(118): \t// _values( index ) returns single value trimmed by min and
max, aligned by step\n
Login.c(118): \t_values: function( index ) {\n
Login.c(118): \t\tvar val,\n
Login.c(118): \t\t\tvals,\n
Login.c(118): \t\t\ti;\n
Login.c(118): \n
Login.c(118): \t\tif ( arguments.length ) {\n
Login.c(118): \t\t\tval = this.options.values[ index ];\n
Login.c(118): \t\t\tval = this._trimAlignValue( val );\n
Login.c(118): \n
Login.c(118): \t\t\treturn val;\n
Login.c(118): \t\t} else if ( this.options.values && this.options.values.length
) {\n
Login.c(118): \t\t\t// .slice() creates a copy of the array\n
Login.c(118): \t\t\t// this copy gets trimmed by min and max and then
returned\n
Login.c(118): \t\t\tvals = this.options.values.slice();\n
Login.c(118): \t\t\tfor ( i = 0; i < vals.length; i+= 1) {\n
Login.c(118): \t\t\t\tvals[ i ] = this._trimAlignValue( vals[ i ] );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\treturn vals;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn [];\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// returns the step-aligned value that val is closest to,
between (inclusive) min and ma
Login.c(118): x\n
Login.c(118): \t_trimAlignValue: function( val ) {\n
Login.c(118): \t\tif ( val <= this._valueMin() ) {\n
Login.c(118): \t\t\treturn this._valueMin();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( val >= this._valueMax() ) {\n
Login.c(118): \t\t\treturn this._valueMax();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar step = ( this.options.step > 0 ) ? this.options.step :
1,\n
Login.c(118): \t\t\tvalModStep = (val - this._valueMin()) % step,\n
Login.c(118): \t\t\talignValue = val - valModStep;\n
Login.c(118): \n
Login.c(118): \t\tif ( Math.abs(valModStep) * 2 >= step ) {\n
Login.c(118): \t\t\talignValue += ( valModStep > 0 ) ? step : ( -step );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Since JavaScript has problems with large floats, round\n
Login.c(118): \t\t// the final value to 5 digits after the decimal point (see
#4124)\n
Login.c(118): \t\treturn parseFloat( alignValue.toFixed(5) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_valueMin: function() {\n
Login.c(118): \t\treturn this.options.min;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_valueMax: function() {\n
Login.c(118): \t\treturn this.options.max;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshValue: function() {\n
Login.c(118): \t\tvar lastValPercent, valPercent, value, valueMin, valueMax,\n
Login.c(118): \t\t\toRange = this.options.range,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\tanimate = ( !this._animateOff ) ? o.animate : false,\n
Login.c(118): \t\t\t_set = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.values && this.options.values.length ) {\n
Login.c(118): \t\t\tthis.handles.each(function( i ) {\n
Login.c(118): \t\t\t\tvalPercent = ( that.values(i) - that._valueMin() ) /
( that._valueMax() - that._va
Login.c(118): lueMin() ) * 100;\n
Login.c(118): \t\t\t\t_set[ that.orientation === "horizontal" ? "left" :
"bottom" ] = valPercent + "%";\n
Login.c(118): \t\t\t\t$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]
( _set, o.animate );\n
Login.c(118): \t\t\t\tif ( that.options.range === true ) {\n
Login.c(118): \t\t\t\t\tif ( that.orientation === "horizontal" ) {\n
Login.c(118): \t\t\t\t\t\tif ( i === 0 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? "animate" :
"css" ]( { left: valPercent +
Login.c(118): "%" }, o.animate );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tif ( i === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range[ animate ? "animate" : "css" ]( { width:
( valPercent - lastValPe
Login.c(118): rcent ) + "%" }, { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\tif ( i === 0 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? "animate" :
"css" ]( { bottom: ( valPerce
Login.c(118): nt ) + "%" }, o.animate );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tif ( i === 1 ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.range[ animate ? "animate" : "css" ]
( { height: ( valPercent - lastValP
Login.c(118): ercent ) + "%" }, { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tlastValPercent = valPercent;\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tvalue = this.value();\n
Login.c(118): \t\t\tvalueMin = this._valueMin();\n
Login.c(118): \t\t\tvalueMax = this._valueMax();\n
Login.c(118): \t\t\tvalPercent = ( valueMax !== valueMin ) ?\n
Login.c(118): \t\t\t\t\t( value - valueMin ) / ( valueMax - valueMin ) *
100 :\n
Login.c(118): \t\t\t\t\t0;\n
Login.c(118): \t\t\t_set[ this.orientation === "horizontal" ? "left" : "bottom"
] = valPercent + "%";\n
Login.c(118): \t\t\tthis.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]
( _set, o.animate );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( oRange === "min" && this.orientation ===
"horizontal" ) {\n
Login.c(118): \t\t\t\tthis.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( {
width: valPercent + "%"
Login.c(118): }, o.animate );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "max" && this.orientation ===
"horizontal" ) {\n
Login.c(118): \t\t\t\tthis.range[ animate ? "animate" : "css" ]( { width: ( 100
- valPercent ) + "%" },
Login.c(118): { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "min" && this.orientation === "vertical" )
{\n
Login.c(118): \t\t\t\tthis.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( {
height: valPercent + "%"
Login.c(118): }, o.animate );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( oRange === "max" && this.orientation === "vertical" )
{\n
Login.c(118): \t\t\t\tthis.range[ animate ? "animate" : "css" ]( { height:
( 100 - valPercent ) + "%" },
Login.c(118): { queue: false, duration: o.animate } );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_handleEvents: {\n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tvar allowed, curVal, newVal, step,\n
Login.c(118): \t\t\t\tindex = $( event.target ).data( "ui-slider-handle-
index" );\n
Login.c(118): \n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t\tif ( !this._keySliding ) {\n
Login.c(118): \t\t\t\t\t\tthis._keySliding = true;\n
Login.c(118): \t\t\t\t\t\t$( event.target ).addClass( "ui-state-active" );\n
Login.c(118): \t\t\t\t\t\tallowed = this._start( event, index );\n
Login.c(118): \t\t\t\t\t\tif ( allowed === false ) {\n
Login.c(118): \t\t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tstep = this.options.step;\n
Login.c(118): \t\t\tif ( this.options.values && this.options.values.length )
{\n
Login.c(118): \t\t\t\tcurVal = newVal = this.values( index );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tcu
Login.c(118): t=7474ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): rVal = newVal = this.value();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\t\tnewVal = this._valueMin();\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\t\tnewVal = this._valueMax();\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_UP:\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue(\n
Login.c(118): \t\t\t\t\t\tcurVal + ( ( this._valueMax() - this._valueMin() ) /
this.numPages )\n
Login.c(118): \t\t\t\t\t);\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue(\n
Login.c(118): \t\t\t\t\t\tcurVal - ( (this._valueMax() - this._valueMin()) /
this.numPages ) );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\t\t\tif ( curVal === this._valueMax() ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue( curVal + step );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\t\tif ( curVal === this._valueMin() ) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tnewVal = this._trimAlignValue( curVal - step );\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._slide( event, index, newVal );\n
Login.c(118): \t\t},\n
Login.c(118): \t\tkeyup: function( event ) {\n
Login.c(118): \t\t\tvar index = $( event.target ).data( "ui-slider-handle-
index" );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._keySliding ) {\n
Login.c(118): \t\t\t\tthis._keySliding = false;\n
Login.c(118): \t\t\t\tthis._stop( event, index );\n
Login.c(118): \t\t\t\tthis._change( event, index );\n
Login.c(118): \t\t\t\t$( event.target ).removeClass( "ui-state-active" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Sortable 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/sortable/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var sortable = $.widget("ui.sortable", $.ui.mouse, {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \twidgetEventPrefix: "sort",\n
Login.c(118): \tready: false,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tappendTo: "parent",\n
Login.c(118): \t\taxis: false,\n
Login.c(118): \t\tconnectWith: false,\n
Login.c(118): \t\tcontainment: false,\n
Login.c(118): \t\tcursor: "auto",\n
Login.c(118): \t\tcursorAt: false,\n
Login.c(118): \t\tdropOnEmpty: true,\n
Login.c(118): \t\tforcePlaceholderSize: false,\n
Login.c(118): \t\tforceHelperSize: false,\n
Login.c(118): \t\tgrid: false,\n
Login.c(118): \t\thandle: false,\n
Login.c(118): \t\thelper: "original",\n
Login.c(118): \t\titems: "> *",\n
Login.c(118): \t\topacity: false,\n
Login.c(118): \t\tplaceholder: false,\n
Login.c(118): \t\trevert: false,\n
Login.c(118): \t\tscroll: true,\n
Login.c(118): \t\tscrollSensitivity: 20,\n
Login.c(118): \t\tscrollSpeed: 20,\n
Login.c(118): \t\tscope: "default",\n
Login.c(118): \t\ttolerance: "intersect",\n
Login.c(118): \t\tzIndex: 1000,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeStop: null,\n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tdeactivate: null,\n
Login.c(118): \t\tout: null,\n
Login.c(118): \t\tover: null,\n
Login.c(118): \t\treceive: null,\n
Login.c(118): \t\tremove: null,\n
Login.c(118): \t\tsort: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null,\n
Login.c(118): \t\tupdate: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isOverAxis: function( x, reference, size ) {\n
Login.c(118): \t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isFloating: function( item ) {\n
Login.c(118): \t\treturn (/left|right/).test(item.css("float")) || (/inline|
table-cell/).test(item.css("
Login.c(118): display"));\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options;\n
Login.c(118): \t\tthis.containerCache = {};\n
Login.c(118): \t\tthis.element.addClass("ui-sortable");\n
Login.c(118): \n
Login.c(118): \t\t//Get the items\n
Login.c(118): \t\tthis.refresh();\n
Login.c(118): \n
Login.c(118): \t\t//Let's determine if the items are being displayed
horizontally\n
Login.c(118): \t\tthis.floating = this.items.length ? o.axis === "x" ||
this._isFloating(this.items[0].i
Login.c(118): tem) : false;\n
Login.c(118): \n
Login.c(118): \t\t//Let's determine the parent's offset\n
Login.c(118): \t\tthis.offset = this.element.offset();\n
Login.c(118): \n
Login.c(118): \t\t//Initialize mouse events for interaction\n
Login.c(118): \t\tthis._mouseInit();\n
Login.c(118): \n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \n
Login.c(118): \t\t//We're ready to go\n
Login.c(118): \t\tthis.ready = true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "handle" ) {\n
Login.c(118): \t\t\tthis._setHandleClassName();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setHandleClassName: function() {\n
Login.c(118): \t\tthis.element.find( ".ui-sortable-handle" ).removeClass( "ui-
sortable-handle" );\n
Login.c(118): \t\t$.each( this.items, function() {\n
Login.c(118): \t\t\t( this.instance.options.handle ?\n
Login.c(118): \t\t\t\tthis.item.find( this.instance.options.handle ) :
this.item )\n
Login.c(118): \t\t\t\t.addClass( "ui-sortable-handle" );\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-sortable ui-sortable-disabled" )\n
Login.c(118): \t\t\t.find( ".ui-sortable-handle" )\n
Login.c(118): \t\t\t\t.removeClass( "ui-sortable-handle" );\n
Login.c(118): \t\tthis._mouseDestroy();\n
Login.c(118): \n
Login.c(118): \t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\n
Login.c(118): \t\t\tthis.items[i].item.removeData(this.widgetName + "-item");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseCapture: function(event, overrideHandle) {\n
Login.c(118): \t\tvar currentItem = null,\n
Login.c(118): \t\t\tvalidHandle = false,\n
Login.c(118): \t\t\tthat = this;\n
Login.c(118): \n
Login.c(118): \t\tif (this.reverting) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.disabled || this.options.type === "static")
{\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//We have to refresh the items data once first\n
Login.c(118): \t\tthis._refreshItems(event);\n
Login.c(118): \n
Login.c(118): \t\t//Find out if the clicked node (or one of its parents) is a
actual item in this.items\n
Login.c(118): \t\t$(event.target).parents().each(function() {\n
Login.c(118): \t\t\tif($.data(this, that.widgetName + "-item") === that) {\n
Login.c(118): \t\t\t\tcurrentItem = $(this);\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif($.data(event.target, that.widgetName + "-item") === that)
{\n
Login.c(118): \t\t\tcurrentItem = $(event.target);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!currentItem) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this.options.handle && !overrideHandle) {\n
Login.c(118): \t\t\t$(this.options.handle,
currentItem).find("*").addBack().each(function() {\n
Login.c(118): \t\t\t\tif(this === event.target) {\n
Login.c(118): \t\t\t\t\tvalidHandle = true;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tif(!validHandle) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.currentItem = currentItem;\n
Login.c(118): \t\tthis._removeCurrentsFromItems();\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStart: function(event, overrideHandle, noActivation) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, body,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.currentContainer = this;\n
Login.c(118): \n
Login.c(118): \t\t//We only need to call refreshPositions, because the
refreshItems call has been moved
Login.c(118): to mouseCapture\n
Login.c(118): \t\tthis.refreshPositions();\n
Login.c(118): \n
Login.c(118): \t\t//Create and append the visible helper\n
Login.c(118): \t\tthis.helper = this._createHelper(event);\n
Login.c(118): \n
Login.c(118): \t\t//Cache the helper size\n
Login.c(118): \t\tthis._cacheHelperProportions();\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position generation -\n
Login.c(118): \t\t * This block generates everything position related - it's
the core of draggables.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\t//Cache the margins of the original element\n
Login.c(118): \t\tthis._cacheMargins();\n
Login.c(118): \n
Login.c(118): \t\t//Get the next scrolling parent\n
Login.c(118): \t\tthis.scrollParent = this.helper.scrollParent();\n
Login.c(118): \n
Login.c(118): \t\t//The element's absolute position on the page minus margins\n
Login.c(118): \t\tthis.offset = this.currentItem.offset();\n
Login.c(118): \t\tthis.offset = {\n
Login.c(118): \t\t\ttop: this.offset.top - this.margins.top,\n
Login.c(118): \t\t\tleft: this.offset.left - this.margins.left\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t$.extend(this.offset, {\n
Login.c(118): \t\t\tclick: { //Where the click happened, relative to the
element\n
Login.c(118): \t\t\t\tleft: event.pageX - this.offset.left,\n
Login.c(118): \t\t\t\ttop: event.pageY - this.offset.top\n
Login.c(118): \t\t\t},\n
Login.c(118): \t\t\tparent: this._getParentOffset(),\n
Login.c(118): \t\t\trelative: this._getRelativeOffset() //This is a relative to
absolute position minus
Login.c(118): the actual position calculation - only used for relative
positioned helper\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Only after we got the offset, we can change the helper's
position to absolute\n
Login.c(118): \t\t// TODO: Still need to figure out a way to make relative
sorting possible\n
Login.c(118): \t\tthis.helper.css("position", "absolute");\n
Login.c(118): \t\tthis.cssPosition = this.helper.css("position");\n
Login.c(118): \n
Login.c(118): \t\t//Generate the original position\n
Login.c(118): \t\tthis.originalPosition = this._generatePosition(event);\n
Login.c(118): \t\tthis.originalPageX = event.pageX;\n
Login.c(118): \t\tthis.originalPageY = event.pageY;\n
Login.c(118): \n
Login.c(118): \t\t//Adjust the mouse offset relative to the helper if
"cursorAt" is supplied\n
Login.c(118): \t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n
Login.c(118): \n
Login.c(118): \t\t//Cache the former DOM position\n
Login.c(118): \t\tthis.domPosition = { prev: this.currentItem.prev()[0],
parent: this.currentItem.parent
Login.c(118): ()[0] };\n
Login.c(118): \n
Login.c(118): \t\t//If the helper is not the original, hide the original so
it's not playing any role du
Login.c(118): ring the drag, won't cause anything bad this way\n
Login.c(118): \t\tif(this.helper[0] !== this.currentItem[0]) {\n
Login.c(118): \t\t\tthis.currentItem.hide();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Create the placeholder\n
Login.c(118): \t\tthis._createPlaceholder();\n
Login.c(118): \n
Login.c(118): \t\t//Set a containment if given in the options\n
Login.c(118): \t\tif(o.containment) {\n
Login.c(118): \t\t\tthis._setContainment();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif( o.cursor && o.cursor !== "auto" ) { // cursor option\n
Login.c(118): \t\t\tbody = this.document.find( "body" );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE\n
Login.c(118): \t\t\tthis.storedCursor = body.css( "cursor" );\n
Login.c(118): \t\t\tbody.css( "cursor", o.cursor );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.storedStylesheet = $( "<style>*{ cursor:
"+o.cursor+" !important; }</style>" ).
Login.c(118): appendTo( body );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(o.opacity) { // opacity option\n
Login.c(118): \t\t\tif (this.helper.css("opacity")) {\n
Login.c(118): \t\t\t\tthis._storedOpacity = this.helper.css("opacity");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.helper.css("opacity", o.opacity);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(o.zIndex) { // zIndex option\n
Login.c(118): \t\t\tif (this.helper.css("zIndex")) {\n
Login.c(118): \t\t\t\tthis._storedZIndex = this.helper.css("zIndex");\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.helper.css("zIndex", o.zIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Prepare scrolling\n
Login.c(118): \t\tif(this.scrollParent[0] !== document &&
this.scrollParent[0].tagName !== "HTML") {\n
Login.c(118): \t\t\tthis.overflowOffset = this.scrollParent.offset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Call callbacks\n
Login.c(118): \t\tthis._trigger("start", event, this._uiHash());\n
Login.c(118): \n
Login.c(118): \t\t//Recache the helper size\n
Login.c(118): \t\tif(!this._preserveHelperProportions) {\n
Login.c(118): \t\t\tthis._cacheHelperProportions();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Post "activate" events to possible containers\n
Login.c(118): \t\tif( !noActivation ) {\n
Login.c(118): \t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n
Login.c(118): \t\t\t\tthis.containers[ i ]._trigger( "activate", event,
this._uiHash( this ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Prepare possible droppables\n
Login.c(118): \t\tif($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.current = this;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.dragging = true;\n
Login.c(118): \n
Login.c(118): \t\tthis.helper.addClass("ui-sortable-helper");\n
Login.c(118): \t\tthis._mouseDrag(event); //Execute the drag once - this causes
the helper not to be vis
Login.c(118): ible before getting its correct position\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseDrag: function(event) {\n
Login.c(118): \t\tvar i, item, itemElement, intersection,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tscrolled = false;\n
Login.c(118): \n
Login.c(118): \t\t//Compute the helpers position\n
Login.c(118): \t\tthis.position = this._generatePosition(event);\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\tif (!this.lastPositionAbs) {\n
Login.c(118): \t\t\tthis.lastPositionAbs = this.positionAbs;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Do scrolling\n
Login.c(118): \t\tif(this.options.scroll) {\n
Login.c(118): \t\t\tif(this.scrollParent[0] !== document &&
this.scrollParent[0].tagName !== "HTML") {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif((this.overflowOffset.top +
this.scrollParent[0].offsetHeight) - event.pageY < o
Login.c(118): .scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled =
this.scrollParent[0].scrollTop + o.s
Login.c(118): crollSpeed;\n
Login.c(118): \t\t\t\t} else if(event.pageY - this.overflowOffset.top <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled =
this.scrollParent[0].scrollTop - o.s
Login.c(118): crollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif((this.overflowOffset.left +
this.scrollParent[0].offsetWidth) - event.pageX < o
Login.c(118): .scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled =
this.scrollParent[0].scrollLeft + o
Login.c(118): .scrollSpeed;\n
Login.c(118): \t\t\t\t} else if(event.pageX - this.overflowOffset.left <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled =
this.scrollParent[0].scrollLeft - o
Login.c(118): .scrollSpeed;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t\tif(event.pageY - $(document).scrollTop() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if($(window).height() - (event.pageY - $
(document).scrollTop()) < o.scrollS
Login.c(118): ensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollTop($
(document).scrollTop() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif(event.pageX - $(document).scrollLeft() <
o.scrollSensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() - o.scrollSpeed);\n
Login.c(118): \t\t\t\t} else if($(window).width() - (event.pageX - $
(document).scrollLeft()) < o.scrollS
Login.c(118): ensitivity) {\n
Login.c(118): \t\t\t\t\tscrolled = $(document).scrollLeft($
(document).scrollLeft() + o.scrollSpeed);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(scrolled !== false && $.ui.ddmanager && !
o.dropBehaviour) {\n
Login.c(118): \t\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Regenerate the absolute position used for position checks\n
Login.c(118): \t\tthis.positionAbs = this._convertPositionTo("absolute");\n
Login.c(118): \n
Login.c(118): \t\t//Set the helper position\n
Login.c(118): \t\tif(!this.options.axis || this.options.axis !== "y") {\n
Login.c(118): \t\t\tthis.helper[0].style.left = this.position.left+"px";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(!this.options.axis || this.options.axis !== "x") {\n
Login.c(118): \t\t\tthis.helper[0].style.top = this.position.top+"px";\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Rearrange\n
Login.c(118): \t\tfor (i = this.items.length - 1; i >= 0; i--) {\n
Login.c(118): \n
Login.c(118): \t\t\t//Cache variables and intersection, continue if no
intersection\n
Login.c(118): \t\t\titem = this.items[i];\n
Login.c(118): \t\t\titemElement = item.item[0];\n
Login.c(118): \t\t\tintersection = this._intersectsWithPointer(item);\n
Login.c(118): \t\t\tif (!intersection) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// Only put the placeholder inside the current Container,
skip all\n
Login.c(118): \t\t\t// items from other containers. This works because when
moving\n
Login.c(118): \t\t\t// an item from one container to another the\n
Login.c(118): \t\t\t// currentContainer is switched before the placeholder is
moved.\n
Login.c(118): \t\t\t//\n
Login.c(118): \t\t\t// Without this, moving items in "sub-sortables" can
cause\n
Login.c(118): \t\t\t// the placeholder to jitter between the outer and inner
container.\n
Login.c(118): \t\t\tif (item.instance !== this.currentContainer) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// cannot intersect with itself\n
Login.c(118): \t\t\t// no useless actions that have been done before\n
Login.c(118): \t\t\t// no action if the item moved is the parent of the item
checked\n
Login.c(118): \t\t\tif (itemElement !== this.currentItem[0] &&\n
Login.c(118): \t\t\t\tthis.placehol
Login.c(118): t=7495ms: 12240-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): der[intersection === 1 ? "next" : "prev"]()[0] !== itemElement
&&\n
Login.c(118): \t\t\t\t!$.contains(this.placeholder[0], itemElement) &&\n
Login.c(118): \t\t\t\t(this.options.type === "semi-dynamic" ? !
$.contains(this.element[0], itemElement)
Login.c(118): : true)\n
Login.c(118): \t\t\t) {\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis.direction = intersection === 1 ? "down" : "up";\n
Login.c(118): \n
Login.c(118): \t\t\t\tif (this.options.tolerance === "pointer" ||
this._intersectsWithSides(item)) {\n
Login.c(118): \t\t\t\t\tthis._rearrange(event, item);\n
Login.c(118): \t\t\t\t} else {\n
Login.c(118): \t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tthis._trigger("change", event, this._uiHash());\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Post events to containers\n
Login.c(118): \t\tthis._contactContainers(event);\n
Login.c(118): \n
Login.c(118): \t\t//Interconnect with droppables\n
Login.c(118): \t\tif($.ui.ddmanager) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drag(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Call callbacks\n
Login.c(118): \t\tthis._trigger("sort", event, this._uiHash());\n
Login.c(118): \n
Login.c(118): \t\tthis.lastPositionAbs = this.positionAbs;\n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_mouseStop: function(event, noPropagation) {\n
Login.c(118): \n
Login.c(118): \t\tif(!event) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//If we are using droppables, inform the manager about the
drop\n
Login.c(118): \t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n
Login.c(118): \t\t\t$.ui.ddmanager.drop(this, event);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.revert) {\n
Login.c(118): \t\t\tvar that = this,\n
Login.c(118): \t\t\t\tcur = this.placeholder.offset(),\n
Login.c(118): \t\t\t\taxis = this.options.axis,\n
Login.c(118): \t\t\t\tanimation = {};\n
Login.c(118): \n
Login.c(118): \t\t\tif ( !axis || axis === "x" ) {\n
Login.c(118): \t\t\t\tanimation.left = cur.left - this.offset.parent.left -
this.margins.left + (this.of
Login.c(118): fsetParent[0] === document.body ? 0 :
this.offsetParent[0].scrollLeft);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !axis || axis === "y" ) {\n
Login.c(118): \t\t\t\tanimation.top = cur.top - this.offset.parent.top -
this.margins.top + (this.offset
Login.c(118): Parent[0] === document.body ? 0 :
this.offsetParent[0].scrollTop);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.reverting = true;\n
Login.c(118): \t\t\t$(this.helper).animate( animation,
parseInt(this.options.revert, 10) || 500, functio
Login.c(118): n() {\n
Login.c(118): \t\t\t\tthat._clear(event);\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis._clear(event, noPropagation);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tcancel: function() {\n
Login.c(118): \n
Login.c(118): \t\tif(this.dragging) {\n
Login.c(118): \n
Login.c(118): \t\t\tthis._mouseUp({ target: null });\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.options.helper === "original") {\n
Login.c(118): \t\t\t\tthis.currentItem.css(this._storedCSS).removeClass("ui-
sortable-helper");\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis.currentItem.show();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//Post deactivating events to containers\n
Login.c(118): \t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tthis.containers[i]._trigger("deactivate", null,
this._uiHash(this));\n
Login.c(118): \t\t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\t\tthis.containers[i]._trigger("out", null,
this._uiHash(this));\n
Login.c(118): \t\t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif (this.placeholder) {\n
Login.c(118): \t\t\t//$(this.placeholder[0]).remove(); would have been the
jQuery way - unfortunately, i
Login.c(118): t unbinds ALL events from the original node!\n
Login.c(118): \t\t\tif(this.placeholder[0].parentNode) {\n
Login.c(118):
\t\t\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif(this.options.helper !== "original" && this.helper &&
this.helper[0].parentNode) {
Login.c(118): \n
Login.c(118): \t\t\t\tthis.helper.remove();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t$.extend(this, {\n
Login.c(118): \t\t\t\thelper: null,\n
Login.c(118): \t\t\t\tdragging: false,\n
Login.c(118): \t\t\t\treverting: false,\n
Login.c(118): \t\t\t\t_noFinalSort: null\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.domPosition.prev) {\n
Login.c(118): \t\t\t\t$(this.domPosition.prev).after(this.currentItem);\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$(this.domPosition.parent).prepend(this.currentItem);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tserialize: function(o) {\n
Login.c(118): \n
Login.c(118): \t\tvar items = this._getItemsAsjQuery(o && o.connected),\n
Login.c(118): \t\t\tstr = [];\n
Login.c(118): \t\to = o || {};\n
Login.c(118): \n
Login.c(118): \t\t$(items).each(function() {\n
Login.c(118): \t\t\tvar res = ($(o.item || this).attr(o.attribute || "id") ||
"").match(o.expression ||
Login.c(118): (/(.+)[\\-=_](.+)/));\n
Login.c(118): \t\t\tif (res) {\n
Login.c(118): \t\t\t\tstr.push((o.key || res[1]+"[]")+"="+(o.key &&
o.expression ? res[1] : res[2]));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tif(!str.length && o.key) {\n
Login.c(118): \t\t\tstr.push(o.key + "=");\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn str.join("&");\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \ttoArray: function(o) {\n
Login.c(118): \n
Login.c(118): \t\tvar items = this._getItemsAsjQuery(o && o.connected),\n
Login.c(118): \t\t\tret = [];\n
Login.c(118): \n
Login.c(118): \t\to = o || {};\n
Login.c(118): \n
Login.c(118): \t\titems.each(function() { ret.push($(o.item ||
this).attr(o.attribute || "id") || ""); }
Login.c(118): );\n
Login.c(118): \t\treturn ret;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t/* Be careful with the following core functions */\n
Login.c(118): \t_intersectsWith: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar x1 = this.positionAbs.left,\n
Login.c(118): \t\t\tx2 = x1 + this.helperProportions.width,\n
Login.c(118): \t\t\ty1 = this.positionAbs.top,\n
Login.c(118): \t\t\ty2 = y1 + this.helperProportions.height,\n
Login.c(118): \t\t\tl = item.left,\n
Login.c(118): \t\t\tr = l + item.width,\n
Login.c(118): \t\t\tt = item.top,\n
Login.c(118): \t\t\tb = t + item.height,\n
Login.c(118): \t\t\tdyClick = this.offset.click.top,\n
Login.c(118): \t\t\tdxClick = this.offset.click.left,\n
Login.c(118): \t\t\tisOverElementHeight = ( this.options.axis === "x" ) ||
( ( y1 + dyClick ) > t && ( y
Login.c(118): 1 + dyClick ) < b ),\n
Login.c(118): \t\t\tisOverElementWidth = ( this.options.axis === "y" ) ||
( ( x1 + dxClick ) > l && ( x1
Login.c(118): + dxClick ) < r ),\n
Login.c(118): \t\t\tisOverElement = isOverElementHeight &&
isOverElementWidth;\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.tolerance === "pointer" ||\n
Login.c(118): \t\t\tthis.options.forcePointerForContainers ||\n
Login.c(118): \t\t\t(this.options.tolerance !== "pointer" &&
this.helperProportions[this.floating ? "wid
Login.c(118): th" : "height"] > item[this.floating ? "width" : "height"])\n
Login.c(118): \t\t) {\n
Login.c(118): \t\t\treturn isOverElement;\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\treturn (l < x1 + (this.helperProportions.width / 2) && //
Right Half\n
Login.c(118): \t\t\t\tx2 - (this.helperProportions.width / 2) < r && // Left
Half\n
Login.c(118): \t\t\t\tt < y1 + (this.helperProportions.height / 2) && // Bottom
Half\n
Login.c(118): \t\t\t\ty2 - (this.helperProportions.height / 2) < b ); // Top
Half\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_intersectsWithPointer: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar isOverElementHeight = (this.options.axis === "x") ||
this._isOverAxis(this.positio
Login.c(118): nAbs.top + this.offset.click.top, item.top, item.height),\n
Login.c(118): \t\t\tisOverElementWidth = (this.options.axis === "y") ||
this._isOverAxis(this.positionAb
Login.c(118): s.left + this.offset.click.left, item.left, item.width),\n
Login.c(118): \t\t\tisOverElement = isOverElementHeight &&
isOverElementWidth,\n
Login.c(118): \t\t\tverticalDirection = this._getDragVerticalDirection(),\n
Login.c(118): \t\t\thorizontalDirection = this._getDragHorizontalDirection();\n
Login.c(118): \n
Login.c(118): \t\tif (!isOverElement) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this.floating ?\n
Login.c(118): \t\t\t( ((horizontalDirection && horizontalDirection === "right")
|| verticalDirection ===
Login.c(118): "down") ? 2 : 1 )\n
Login.c(118): \t\t\t: ( verticalDirection && (verticalDirection === "down" ?
2 : 1) );\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_intersectsWithSides: function(item) {\n
Login.c(118): \n
Login.c(118): \t\tvar isOverBottomHalf = this._isOverAxis(this.positionAbs.top
+ this.offset.click.top,
Login.c(118): item.top + (item.height/2), item.height),\n
Login.c(118): \t\t\tisOverRightHalf = this._isOverAxis(this.positionAbs.left +
this.offset.click.left, i
Login.c(118): tem.left + (item.width/2), item.width),\n
Login.c(118): \t\t\tverticalDirection = this._getDragVerticalDirection(),\n
Login.c(118): \t\t\thorizontalDirection = this._getDragHorizontalDirection();\n
Login.c(118): \n
Login.c(118): \t\tif (this.floating && horizontalDirection) {\n
Login.c(118): \t\t\treturn ((horizontalDirection === "right" &&
isOverRightHalf) || (horizontalDirection
Login.c(118): === "left" && !isOverRightHalf));\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn verticalDirection && ((verticalDirection === "down"
&& isOverBottomHalf) || (
Login.c(118): verticalDirection === "up" && !isOverBottomHalf));\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getDragVerticalDirection: function() {\n
Login.c(118): \t\tvar delta = this.positionAbs.top -
this.lastPositionAbs.top;\n
Login.c(118): \t\treturn delta !== 0 && (delta > 0 ? "down" : "up");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getDragHorizontalDirection: function() {\n
Login.c(118): \t\tvar delta = this.positionAbs.left -
this.lastPositionAbs.left;\n
Login.c(118): \t\treturn delta !== 0 && (delta > 0 ? "right" : "left");\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function(event) {\n
Login.c(118): \t\tthis._refreshItems(event);\n
Login.c(118): \t\tthis._setHandleClassName();\n
Login.c(118): \t\tthis.refreshPositions();\n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_connectWith: function() {\n
Login.c(118): \t\tvar options = this.options;\n
Login.c(118): \t\treturn options.connectWith.constructor === String ?
[options.connectWith] : options.co
Login.c(118): nnectWith;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getItemsAsjQuery: function(connected) {\n
Login.c(118): \n
Login.c(118): \t\tvar i, j, cur, inst,\n
Login.c(118): \t\t\titems = [],\n
Login.c(118): \t\t\tqueries = [],\n
Login.c(118): \t\t\tconnectWith = this._connectWith();\n
Login.c(118): \n
Login.c(118): \t\tif(connectWith && connected) {\n
Login.c(118): \t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tcur = $(connectWith[i]);\n
Login.c(118): \t\t\t\tfor ( j = cur.length - 1; j >= 0; j--){\n
Login.c(118): \t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n
Login.c(118): \t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n
Login.c(118): \t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ?
inst.options.items.call(inst.
Login.c(118): element) : $(inst.options.items, inst.element).not(".ui-sortable-
helper").not(".ui-sortabl
Login.c(118): e-placeholder"), inst]);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tqueries.push([$.isFunction(this.options.items) ?
this.options.items.call(this.element,
Login.c(118): null, { options: this.options, item: this.currentItem }) : $
(this.options.items, this.ele
Login.c(118): ment).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
this]);\n
Login.c(118): \n
Login.c(118): \t\tfunction addItems() {\n
Login.c(118): \t\t\titems.push( this );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (i = queries.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\tqueries[i][0].each( addItems );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn $(items);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeCurrentsFromItems: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar list = this.currentItem.find(":data(" + this.widgetName +
"-item)");\n
Login.c(118): \n
Login.c(118): \t\tthis.items = $.grep(this.items, function (item) {\n
Login.c(118): \t\t\tfor (var j=0; j < list.length; j++) {\n
Login.c(118): \t\t\t\tif(list[j] === item.item[0]) {\n
Login.c(118): \t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refreshItems: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tthis.items = [];\n
Login.c(118): \t\tthis.containers = [this];\n
Login.c(118): \n
Login.c(118): \t\tvar i, j, cur, inst, targetData, _queries, item,
queriesLength,\n
Login.c(118): \t\t\titems = this.items,\n
Login.c(118): \t\t\tqueries = [[$.isFunction(this.options.items) ?
this.options.items.call(this.element[
Login.c(118): 0], event, { item: this.currentItem }) : $(this.options.items,
this.element), this]],\n
Login.c(118): \t\t\tconnectWith = this._connectWith();\n
Login.c(118): \n
Login.c(118): \t\tif(connectWith && this.ready) { //Shouldn't be run the first
time through due to massi
Login.c(118): ve slow-down\n
Login.c(118): \t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tcur = $(connectWith[i]);\n
Login.c(118): \t\t\t\tfor (j = cur.length - 1; j >= 0; j--){\n
Login.c(118): \t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n
Login.c(118): \t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n
Login.c(118): \t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ?
inst.options.items.call(inst.
Login.c(118): element[0], event, { item: this.currentItem }) : $
(inst.options.items, inst.element), inst
Login.c(118): ]);\n
Login.c(118): \t\t\t\t\t\tthis.containers.push(inst);\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfor (i = queries.length - 1; i >= 0; i--) {\n
Login.c(118): \t\t\ttargetData = queries[i][1];\n
Login.c(118): \t\t\t_queries = queries[i][0];\n
Login.c(118): \n
Login.c(118): \t\t\tfor (j=0, queriesLength = _queries.length; j <
queriesLength; j++) {\n
Login.c(118): \t\t\t\titem = $(_queries[j]);\n
Login.c(118): \n
Login.c(118): \t\t\t\titem.data(this.widgetName + "-item", targetData); // Data
for target checking (mou
Login.c(118): se manager)\n
Login.c(118): \n
Login.c(118): \t\t\t\titems.push({\n
Login.c(118): \t\t\t\t\titem: item,\n
Login.c(118): \t\t\t\t\tinstance: targetData,\n
Login.c(118): \t\t\t\t\twidth: 0, height: 0,\n
Login.c(118): \t\t\t\t\tleft: 0, top: 0\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefreshPositions: function(fast) {\n
Login.c(118): \n
Login.c(118): \t\t//This has to be redone because due to the item being moved
out/into the offsetParent,
Login.c(118): the offsetParent's position will change\n
Login.c(118): \t\tif(this.offsetParent && this.helper) {\n
Login.c(118): \t\t\tthis.offset.parent = this._getParentOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvar i, item, t, p;\n
Login.c(118): \n
Login.c(118): \t\tfor (i = this.items.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\titem = this.items[i];\n
Login.c(118): \n
Login.c(118): \t\t\t//We ignore calculating positions of all connected
containers when we're not over th
Login.c(118): em\n
Login.c(118): \t\t\tif(item.instance !== this.currentContainer &&
this.currentContainer && item.item[0]
Login.c(118): !== this.currentItem[0]) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tt = this.options.toleranceElement ? $
(this.options.toleranceElement, item.item) : it
Login.c(118): em.item;\n
Login.c(118): \n
Login.c(118): \t\t\tif (!fast) {\n
Login.c(118): \t\t\t\titem.width = t.outerWidth();\n
Login.c(118): \t\t\t\titem.height = t.outerHeight();\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tp = t.offset();\n
Login.c(118): \t\t\titem.left = p.left;\n
Login.c(118): \t\t\titem.top = p.top;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.options.custom &&
this.options.custom.refreshContainers) {\n
Login.c(118): \t\t\tthis.options.custom.refreshContainers.call(this);\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tfor (i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\t\tp = this.containers[i].element.offset();\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.left = p.left;\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.top = p.top;\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.width =
this.containers[i].element.outerWidth();
Login.c(118): \n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.height =
this.containers[i].element.outerHeight(
Login.c(118): );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn this;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createPlaceholder: function(that) {\n
Login.c(118): \t\tthat = that || this;\n
Login.c(118): \t\tvar className,\n
Login.c(118): \t\t\to = that.options;\n
Login.c(118): \n
Login.c(118): \t\tif(!o.placeholder || o.placeholder.constructor === String)
{\n
Login.c(118): \t\t\tclassName = o.placeholder;\n
Login.c(118): \t\t\to.placeholder = {\n
Login.c(118): \t\t\t\telement: function() {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tvar nodeName =
that.currentItem[0].nodeName.toLowerCase(),\n
Login.c(118): \t\t\t\t\t\telement = $( "<" + nodeName + ">",
that.document[0] )\n
Login.c(118): \t\t\t\t\t\t\t.addClass(className ||
that.currentItem[0].className+" ui-sortable-placehold
Login.c(118): er")\n
Login.c(118): \t\t\t\t\t\t\t.removeClass("ui-sortable-helper");\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( nodeName === "tr" ) {\n
Login.c(118): \t\t\t\t\t\tthat.currentItem.children().each(function() {\n
Login.c(118): \t\t\t\t\t\t\t$( "<td>&#160;</td>", that.document[0] )\n
Login.c(118): \t\t\t\t\t\t\t\t.attr( "colspan", $( this ).attr( "colspan" ) ||
1 )\n
Login.c(118): \t\t\t\t\t\t\t\t.appendTo( element );\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t} else if ( nodeName === "img" ) {\n
Login.c(118): \t\t\t\t\t\telement.attr( "src",
that.currentItem.attr( "src" ) );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\tif ( !className ) {\n
Login.c(118): \t\t\t\t\t\telement.css( "visibility", "hidden" );\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\treturn element;\n
Login.c(118): \t\t\t\t},\n
Login.c(118): \t\t\t\tupdate: function(container, p) {\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t// 1. If a classNam
Login.c(118): t=7515ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): e is set as 'placeholder option, we don't force sizes - the class
is responsible for that\n
Login.c(118): \t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled
to force it even if a clas
Login.c(118): s name is specified\n
Login.c(118): \t\t\t\t\tif(className && !o.forcePlaceholderSize) {\n
Login.c(118): \t\t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t//If the element doesn't have a actual height by itself
(without styles coming f
Login.c(118): rom a stylesheet), it receives the inline height from the dragged
item\n
Login.c(118): \t\t\t\t\tif(!p.height())
{ p.height(that.currentItem.innerHeight() - parseInt(that.curren
Login.c(118): tItem.css("paddingTop")||0, 10) -
parseInt(that.currentItem.css("paddingBottom")||0, 10));
Login.c(118): }\n
Login.c(118): \t\t\t\t\tif(!p.width()) { p.width(that.currentItem.innerWidth()
- parseInt(that.currentIt
Login.c(118): em.css("paddingLeft")||0, 10) -
parseInt(that.currentItem.css("paddingRight")||0, 10)); }\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Create the placeholder\n
Login.c(118): \t\tthat.placeholder = $(o.placeholder.element.call(that.element,
that.currentItem));\n
Login.c(118): \n
Login.c(118): \t\t//Append it after the actual current item\n
Login.c(118): \t\tthat.currentItem.after(that.placeholder);\n
Login.c(118): \n
Login.c(118): \t\t//Update the size of the placeholder (TODO: Logic to fuzzy,
see line 316/317)\n
Login.c(118): \t\to.placeholder.update(that, that.placeholder);\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_contactContainers: function(event) {\n
Login.c(118): \t\tvar i, j, dist, itemWithLeastDistance, posProperty,
sizeProperty, cur, nearBottom, flo
Login.c(118): ating, axis,\n
Login.c(118): \t\t\tinnermostContainer = null,\n
Login.c(118): \t\t\tinnermostIndex = null;\n
Login.c(118): \n
Login.c(118): \t\t// get innermost container that intersects with item\n
Login.c(118): \t\tfor (i = this.containers.length - 1; i >= 0; i--) {\n
Login.c(118): \n
Login.c(118): \t\t\t// never consider a container that's located within the
item itself\n
Login.c(118): \t\t\tif($.contains(this.currentItem[0],
this.containers[i].element[0])) {\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(this._intersectsWith(this.containers[i].containerCache))
{\n
Login.c(118): \n
Login.c(118): \t\t\t\t// if we've already found a container and it's more
"inner" than this, then contin
Login.c(118): ue\n
Login.c(118): \t\t\t\tif(innermostContainer &&
$.contains(this.containers[i].element[0], innermostContai
Login.c(118): ner.element[0])) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tinnermostContainer = this.containers[i];\n
Login.c(118): \t\t\t\tinnermostIndex = i;\n
Login.c(118): \n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// container doesn't intersect. trigger "out" event if
necessary\n
Login.c(118): \t\t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\t\tthis.containers[i]._trigger("out", event,
this._uiHash(this));\n
Login.c(118): \t\t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if no intersecting containers found, return\n
Login.c(118): \t\tif(!innermostContainer) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// move the item into the container if it's not there
already\n
Login.c(118): \t\tif(this.containers.length === 1) {\n
Login.c(118): \t\t\tif (!this.containers[innermostIndex].containerCache.over)
{\n
Login.c(118): \t\t\t\tthis.containers[innermostIndex]._trigger("over", event,
this._uiHash(this));\n
Login.c(118): \t\t\t\tthis.containers[innermostIndex].containerCache.over =
1;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t} else {\n
Login.c(118): \n
Login.c(118): \t\t\t//When entering a new container, we will find the item with
the least distance and a
Login.c(118): ppend our item near it\n
Login.c(118): \t\t\tdist = 10000;\n
Login.c(118): \t\t\titemWithLeastDistance = null;\n
Login.c(118): \t\t\tfloating = innermostContainer.floating ||
this._isFloating(this.currentItem);\n
Login.c(118): \t\t\tposProperty = floating ? "left" : "top";\n
Login.c(118): \t\t\tsizeProperty = floating ? "width" : "height";\n
Login.c(118): \t\t\taxis = floating ? "clientX" : "clientY";\n
Login.c(118): \n
Login.c(118): \t\t\tfor (j = this.items.length - 1; j >= 0; j--) {\n
Login.c(118): \t\t\t\tif(!
$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0]))
Login.c(118): {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(this.items[j].item[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\t\t\tcontinue;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tcur = this.items[j].item.offset()[posProperty];\n
Login.c(118): \t\t\t\tnearBottom = false;\n
Login.c(118): \t\t\t\tif ( event[ axis ] - cur > this.items[ j ]
[ sizeProperty ] / 2 ) {\n
Login.c(118): \t\t\t\t\tnearBottom = true;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\n
Login.c(118): \t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\n
Login.c(118): \t\t\t\t\titemWithLeastDistance = this.items[ j ];\n
Login.c(118): \t\t\t\t\tthis.direction = nearBottom ? "up": "down";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t//Check if dropOnEmpty is enabled\n
Login.c(118): \t\t\tif(!itemWithLeastDistance && !this.options.dropOnEmpty) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.currentContainer ===
this.containers[innermostIndex]) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\titemWithLeastDistance ? this._rearrange(event,
itemWithLeastDistance, null, true) :
Login.c(118): this._rearrange(event, null,
this.containers[innermostIndex].element, true);\n
Login.c(118): \t\t\tthis._trigger("change", event, this._uiHash());\n
Login.c(118): \t\t\tthis.containers[innermostIndex]._trigger("change", event,
this._uiHash(this));\n
Login.c(118): \t\t\tthis.currentContainer = this.containers[innermostIndex];\n
Login.c(118): \n
Login.c(118): \t\t\t//Update the placeholder\n
Login.c(118): \t\t\tthis.options.placeholder.update(this.currentContainer,
this.placeholder);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.containers[innermostIndex]._trigger("over", event,
this._uiHash(this));\n
Login.c(118): \t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createHelper: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar o = this.options,\n
Login.c(118): \t\t\thelper = $.isFunction(o.helper) ? $
(o.helper.apply(this.element[0], [event, this.cur
Login.c(118): rentItem])) : (o.helper === "clone" ? this.currentItem.clone() :
this.currentItem);\n
Login.c(118): \n
Login.c(118): \t\t//Add the helper to the DOM if that didn't happen already\n
Login.c(118): \t\tif(!helper.parents("body").length) {\n
Login.c(118): \t\t\t$(o.appendTo !== "parent" ? o.appendTo :
this.currentItem[0].parentNode)[0].appendCh
Login.c(118): ild(helper[0]);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(helper[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\tthis._storedCSS = { width: this.currentItem[0].style.width,
height: this.currentItem
Login.c(118): [0].style.height, position: this.currentItem.css("position"),
top: this.currentItem.css("t
Login.c(118): op"), left: this.currentItem.css("left") };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!helper[0].style.width || o.forceHelperSize) {\n
Login.c(118): \t\t\thelper.width(this.currentItem.width());\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(!helper[0].style.height || o.forceHelperSize) {\n
Login.c(118): \t\t\thelper.height(this.currentItem.height());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn helper;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustOffsetFromHelper: function(obj) {\n
Login.c(118): \t\tif (typeof obj === "string") {\n
Login.c(118): \t\t\tobj = obj.split(" ");\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ($.isArray(obj)) {\n
Login.c(118): \t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("left" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = obj.left + this.margins.left;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("right" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.left = this.helperProportions.width -
obj.right + this.margins.lef
Login.c(118): t;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("top" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = obj.top + this.margins.top;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ("bottom" in obj) {\n
Login.c(118): \t\t\tthis.offset.click.top = this.helperProportions.height -
obj.bottom + this.margins.to
Login.c(118): p;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getParentOffset: function() {\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Get the offsetParent and cache its position\n
Login.c(118): \t\tthis.offsetParent = this.helper.offsetParent();\n
Login.c(118): \t\tvar po = this.offsetParent.offset();\n
Login.c(118): \n
Login.c(118): \t\t// This is a special case where we need to modify a offset
calculated on start, since
Login.c(118): the following happened:\n
Login.c(118): \t\t// 1. The position of the helper is absolute, so it's
position is calculated based on
Login.c(118): the next positioned parent\n
Login.c(118): \t\t// 2. The actual offset parent is a child of the scroll
parent, and the scroll parent
Login.c(118): isn't the document, which means that\n
Login.c(118): \t\t// the scroll is included in the initial calculation of
the offset of the parent, a
Login.c(118): nd never recalculated upon drag\n
Login.c(118): \t\tif(this.cssPosition === "absolute" && this.scrollParent[0] !
== document && $.contains(
Login.c(118): this.scrollParent[0], this.offsetParent[0])) {\n
Login.c(118): \t\t\tpo.left += this.scrollParent.scrollLeft();\n
Login.c(118): \t\t\tpo.top += this.scrollParent.scrollTop();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// This needs to be actually done for all browsers, since
pageX/pageY includes this in
Login.c(118): formation\n
Login.c(118): \t\t// with an ugly IE fix\n
Login.c(118): \t\tif( this.offsetParent[0] === document.body ||
(this.offsetParent[0].tagName && this.of
Login.c(118): fsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {\n
Login.c(118): \t\t\tpo = { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: po.top +
(parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),\n
Login.c(118): \t\t\tleft: po.left +
(parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getRelativeOffset: function() {\n
Login.c(118): \n
Login.c(118): \t\tif(this.cssPosition === "relative") {\n
Login.c(118): \t\t\tvar p = this.currentItem.position();\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\ttop: p.top - (parseInt(this.helper.css("top"),10) || 0) +
this.scrollParent.scroll
Login.c(118): Top(),\n
Login.c(118): \t\t\t\tleft: p.left - (parseInt(this.helper.css("left"),10) ||
0) + this.scrollParent.scr
Login.c(118): ollLeft()\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\treturn { top: 0, left: 0 };\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheMargins: function() {\n
Login.c(118): \t\tthis.margins = {\n
Login.c(118): \t\t\tleft: (parseInt(this.currentItem.css("marginLeft"),10) ||
0),\n
Login.c(118): \t\t\ttop: (parseInt(this.currentItem.css("marginTop"),10) ||
0)\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_cacheHelperProportions: function() {\n
Login.c(118): \t\tthis.helperProportions = {\n
Login.c(118): \t\t\twidth: this.helper.outerWidth(),\n
Login.c(118): \t\t\theight: this.helper.outerHeight()\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setContainment: function() {\n
Login.c(118): \n
Login.c(118): \t\tvar ce, co, over,\n
Login.c(118): \t\t\to = this.options;\n
Login.c(118): \t\tif(o.containment === "parent") {\n
Login.c(118): \t\t\to.containment = this.helper[0].parentNode;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(o.containment === "document" || o.containment ===
"window") {\n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\t0 - this.offset.relative.left -
this.offset.parent.left,\n
Login.c(118): \t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n
Login.c(118): \t\t\t\t$(o.containment === "document" ? document :
window).width() - this.helperProportio
Login.c(118): ns.width - this.margins.left,\n
Login.c(118): \t\t\t\t($(o.containment === "document" ? document :
window).height() || document.body.par
Login.c(118): entNode.scrollHeight) - this.helperProportions.height -
this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!(/^(document|window|parent)$/).test(o.containment)) {\n
Login.c(118): \t\t\tce = $(o.containment)[0];\n
Login.c(118): \t\t\tco = $(o.containment).offset();\n
Login.c(118): \t\t\tover = ($(ce).css("overflow") !== "hidden");\n
Login.c(118): \n
Login.c(118): \t\t\tthis.containment = [\n
Login.c(118): \t\t\t\tco.left + (parseInt($(ce).css("borderLeftWidth"),10) ||
0) + (parseInt($(ce).css("
Login.c(118): paddingLeft"),10) || 0) - this.margins.left,\n
Login.c(118): \t\t\t\tco.top + (parseInt($(ce).css("borderTopWidth"),10) || 0)
+ (parseInt($(ce).css("pa
Login.c(118): ddingTop"),10) || 0) - this.margins.top,\n
Login.c(118): \t\t\t\tco.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) :
ce.offsetWidth) - (parse
Login.c(118): Int($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($
(ce).css("paddingRight"),10) || 0)
Login.c(118): - this.helperProportions.width - this.margins.left,\n
Login.c(118): \t\t\t\tco.top+(over ?
Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (par
Login.c(118): seInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($
(ce).css("paddingBottom"),10) ||
Login.c(118): 0) - this.helperProportions.height - this.margins.top\n
Login.c(118): \t\t\t];\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_convertPositionTo: function(d, pos) {\n
Login.c(118): \n
Login.c(118): \t\tif(!pos) {\n
Login.c(118): \t\t\tpos = this.position;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tvar mod = d === "absolute" ? 1 : -1,\n
Login.c(118): \t\t\tscroll = this.cssPosition === "absolute" && !
(this.scrollParent[0] !== document && $
Login.c(118): .contains(this.scrollParent[0], this.offsetParent[0])) ?
this.offsetParent : this.scrollPa
Login.c(118): rent,\n
Login.c(118): \t\t\tscrollIsRootNode = (/(html|
body)/i).test(scroll[0].tagName);\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative positione
Login.c(118): d nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollTop() : ( scrollIsRoot
Login.c(118): Node ? 0 : scroll.scrollTop() ) ) * mod)\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t//
Only for relative position
Login.c(118): ed nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t//
The offsetParent's offset w
Login.c(118): ithout borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollLeft() : scrollIsRootN
Login.c(118): ode ? 0 : scroll.scrollLeft() ) * mod)\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_generatePosition: function(event) {\n
Login.c(118): \n
Login.c(118): \t\tvar top, left,\n
Login.c(118): \t\t\to = this.options,\n
Login.c(118): \t\t\tpageX = event.pageX,\n
Login.c(118): \t\t\tpageY = event.pageY,\n
Login.c(118): \t\t\tscroll = this.cssPosition === "absolute" && !
(this.scrollParent[0] !== document && $
Login.c(118): .contains(this.scrollParent[0], this.offsetParent[0])) ?
this.offsetParent : this.scrollPa
Login.c(118): rent, scrollIsRootNode = (/(html|
body)/i).test(scroll[0].tagName);\n
Login.c(118): \n
Login.c(118): \t\t// This is another very weird special case that only happens
for relative elements:\n
Login.c(118): \t\t// 1. If the css position is relative\n
Login.c(118): \t\t// 2. and the scroll parent is the document or similar to the
offset parent\n
Login.c(118): \t\t// we have to refresh the relative offset during the scroll
so there are no jumps\n
Login.c(118): \t\tif(this.cssPosition === "relative" && !
(this.scrollParent[0] !== document && this.scro
Login.c(118): llParent[0] !== this.offsetParent[0])) {\n
Login.c(118): \t\t\tthis.offset.relative = this._getRelativeOffset();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t/*\n
Login.c(118): \t\t * - Position constraining -\n
Login.c(118): \t\t * Constrain the position to a mix of grid, containment.\n
Login.c(118): \t\t */\n
Login.c(118): \n
Login.c(118): \t\tif(this.originalPosition) { //If we are not dragging yet, we
won't check for options\n
Login.c(118): \n
Login.c(118): \t\t\tif(this.containment) {\n
Login.c(118): \t\t\t\tif(event.pageX - this.offset.click.left <
this.containment[0]) {\n
Login.c(118): \t\t\t\t\tpageX = this.containment[0] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageY - this.offset.click.top <
this.containment[1]) {\n
Login.c(118): \t\t\t\t\tpageY = this.containment[1] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageX - this.offset.click.left >
this.containment[2]) {\n
Login.c(118): \t
Login.c(118): t=7530ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): \t\t\t\tpageX = this.containment[2] + this.offset.click.left;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif(event.pageY - this.offset.click.top >
this.containment[3]) {\n
Login.c(118): \t\t\t\t\tpageY = this.containment[3] + this.offset.click.top;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif(o.grid) {\n
Login.c(118): \t\t\t\ttop = this.originalPageY + Math.round((pageY -
this.originalPageY) / o.grid[1]) *
Login.c(118): o.grid[1];\n
Login.c(118): \t\t\t\tpageY = this.containment ? ( (top - this.offset.click.top
>= this.containment[1] &
Login.c(118): & top - this.offset.click.top <= this.containment[3]) ? top :
((top - this.offset.click.to
Login.c(118): p >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) :
top;\n
Login.c(118): \n
Login.c(118): \t\t\t\tleft = this.originalPageX + Math.round((pageX -
this.originalPageX) / o.grid[0]) *
Login.c(118): o.grid[0];\n
Login.c(118): \t\t\t\tpageX = this.containment ? ( (left -
this.offset.click.left >= this.containment[0]
Login.c(118): && left - this.offset.click.left <= this.containment[2]) ?
left : ((left - this.offset.cl
Login.c(118): ick.left >= this.containment[0]) ? left - o.grid[0] : left +
o.grid[0])) : left;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttop: (\n
Login.c(118): \t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.top -\t\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the
Login.c(118): element)\n
Login.c(118): \t\t\t\tthis.offset.relative.top\t-\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned n
Login.c(118): odes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset witho
Login.c(118): ut borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollTop() : ( scrollIsRoot
Login.c(118): Node ? 0 : scroll.scrollTop() ) ))\n
Login.c(118): \t\t\t),\n
Login.c(118): \t\t\tleft: (\n
Login.c(118): \t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute
mouse position\n
Login.c(118): \t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click
offset (relative to the e
Login.c(118): lement)\n
Login.c(118): \t\t\t\tthis.offset.relative.left\t-\t\t\t\t\t\t\t\t\t\t\t// Only
for relative positioned
Login.c(118): nodes: Relative offset from element to offset parent\n
Login.c(118): \t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The
offsetParent's offset with
Login.c(118): out borders (offset + border)\n
Login.c(118): \t\t\t\t( ( this.cssPosition === "fixed" ?
-this.scrollParent.scrollLeft() : scrollIsRootN
Login.c(118): ode ? 0 : scroll.scrollLeft() ))\n
Login.c(118): \t\t\t)\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_rearrange: function(event, i, a, hardRefresh) {\n
Login.c(118): \n
Login.c(118): \t\ta ? a[0].appendChild(this.placeholder[0]) :
i.item[0].parentNode.insertBefore(this.pla
Login.c(118): ceholder[0], (this.direction === "down" ? i.item[0] :
i.item[0].nextSibling));\n
Login.c(118): \n
Login.c(118): \t\t//Various things done here to improve the performance:\n
Login.c(118): \t\t// 1. we create a setTimeout, that calls refreshPositions\n
Login.c(118): \t\t// 2. on the instance, we have a counter variable, that get's
higher after every appen
Login.c(118): d\n
Login.c(118): \t\t// 3. on the local scope, we copy the counter variable, and
check in the timeout, if i
Login.c(118): t's still the same\n
Login.c(118): \t\t// 4. this lets only the last addition to the timeout stack
through\n
Login.c(118): \t\tthis.counter = this.counter ? ++this.counter : 1;\n
Login.c(118): \t\tvar counter = this.counter;\n
Login.c(118): \n
Login.c(118): \t\tthis._delay(function() {\n
Login.c(118): \t\t\tif(counter === this.counter) {\n
Login.c(118): \t\t\t\tthis.refreshPositions(!hardRefresh); //Precompute after
each DOM insertion, NOT on
Login.c(118): mousemove\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_clear: function(event, noPropagation) {\n
Login.c(118): \n
Login.c(118): \t\tthis.reverting = false;\n
Login.c(118): \t\t// We delay all events that have to be triggered to after the
point where the placehol
Login.c(118): der has been removed and\n
Login.c(118): \t\t// everything else normalized again\n
Login.c(118): \t\tvar i,\n
Login.c(118): \t\t\tdelayedTriggers = [];\n
Login.c(118): \n
Login.c(118): \t\t// We first have to update the dom position of the actual
currentItem\n
Login.c(118): \t\t// Note: don't do it if the current item is already removed
(by a user), or it gets re
Login.c(118): appended (see #4088)\n
Login.c(118): \t\tif(!this._noFinalSort && this.currentItem.parent().length)
{\n
Login.c(118): \t\t\tthis.placeholder.before(this.currentItem);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._noFinalSort = null;\n
Login.c(118): \n
Login.c(118): \t\tif(this.helper[0] === this.currentItem[0]) {\n
Login.c(118): \t\t\tfor(i in this._storedCSS) {\n
Login.c(118): \t\t\t\tif(this._storedCSS[i] === "auto" || this._storedCSS[i]
=== "static") {\n
Login.c(118): \t\t\t\t\tthis._storedCSS[i] = "";\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis.currentItem.css(this._storedCSS).removeClass("ui-
sortable-helper");\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.currentItem.show();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(this.fromOutside && !noPropagation) {\n
Login.c(118): \t\t\tdelayedTriggers.push(function(event)
{ this._trigger("receive", event, this._uiHash(
Login.c(118): this.fromOutside)); });\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif((this.fromOutside || this.domPosition.prev !==
this.currentItem.prev().not(".ui-sor
Login.c(118): table-helper")[0] || this.domPosition.parent !==
this.currentItem.parent()[0]) && !noPropa
Login.c(118): gation) {\n
Login.c(118): \t\t\tdelayedTriggers.push(function(event)
{ this._trigger("update", event, this._uiHash()
Login.c(118): ); }); //Trigger update callback if the DOM position has
changed\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Check if the items Container has Changed and trigger
appropriate\n
Login.c(118): \t\t// events.\n
Login.c(118): \t\tif (this !== this.currentContainer) {\n
Login.c(118): \t\t\tif(!noPropagation) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push(function(event)
{ this._trigger("remove", event, this._uiHash
Login.c(118): ()); });\n
Login.c(118): \t\t\t\tdelayedTriggers.push((function(c) { return
function(event) { c._trigger("receive",
Login.c(118): event, this._uiHash(this)); }; }).call(this,
this.currentContainer));\n
Login.c(118): \t\t\t\tdelayedTriggers.push((function(c) { return
function(event) { c._trigger("update",
Login.c(118): event, this._uiHash(this)); }; }).call(this,
this.currentContainer));\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \t\t//Post events to containers\n
Login.c(118): \t\tfunction delayEvent( type, instance, container ) {\n
Login.c(118): \t\t\treturn function( event ) {\n
Login.c(118): \t\t\t\tcontainer._trigger( type, event,
instance._uiHash( instance ) );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t\tfor (i = this.containers.length - 1; i >= 0; i--){\n
Login.c(118): \t\t\tif (!noPropagation) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push( delayEvent( "deactivate", this,
this.containers[ i ] ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif(this.containers[i].containerCache.over) {\n
Login.c(118): \t\t\t\tdelayedTriggers.push( delayEvent( "out", this,
this.containers[ i ] ) );\n
Login.c(118): \t\t\t\tthis.containers[i].containerCache.over = 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//Do what was originally in plugins\n
Login.c(118): \t\tif ( this.storedCursor ) {\n
Login.c(118): \t\t\tthis.document.find( "body" ).css( "cursor",
this.storedCursor );\n
Login.c(118): \t\t\tthis.storedStylesheet.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this._storedOpacity) {\n
Login.c(118): \t\t\tthis.helper.css("opacity", this._storedOpacity);\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif(this._storedZIndex) {\n
Login.c(118): \t\t\tthis.helper.css("zIndex", this._storedZIndex === "auto" ?
"" : this._storedZIndex);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.dragging = false;\n
Login.c(118): \t\tif(this.cancelHelperRemoval) {\n
Login.c(118): \t\t\tif(!noPropagation) {\n
Login.c(118): \t\t\t\tthis._trigger("beforeStop", event, this._uiHash());\n
Login.c(118): \t\t\t\tfor (i=0; i < delayedTriggers.length; i++) {\n
Login.c(118): \t\t\t\t\tdelayedTriggers[i].call(this, event);\n
Login.c(118): \t\t\t\t} //Trigger all delayed events\n
Login.c(118): \t\t\t\tthis._trigger("stop", event, this._uiHash());\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis.fromOutside = false;\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif(!noPropagation) {\n
Login.c(118): \t\t\tthis._trigger("beforeStop", event, this._uiHash());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t//$(this.placeholder[0]).remove(); would have been the jQuery
way - unfortunately, it
Login.c(118): unbinds ALL events from the original node!\n
Login.c(118):
\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n
Login.c(118): \n
Login.c(118): \t\tif(this.helper[0] !== this.currentItem[0]) {\n
Login.c(118): \t\t\tthis.helper.remove();\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.helper = null;\n
Login.c(118): \n
Login.c(118): \t\tif(!noPropagation) {\n
Login.c(118): \t\t\tfor (i=0; i < delayedTriggers.length; i++) {\n
Login.c(118): \t\t\t\tdelayedTriggers[i].call(this, event);\n
Login.c(118): \t\t\t} //Trigger all delayed events\n
Login.c(118): \t\t\tthis._trigger("stop", event, this._uiHash());\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.fromOutside = false;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_trigger: function() {\n
Login.c(118): \t\tif ($.Widget.prototype._trigger.apply(this, arguments) ===
false) {\n
Login.c(118): \t\t\tthis.cancel();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_uiHash: function(_inst) {\n
Login.c(118): \t\tvar inst = _inst || this;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\thelper: inst.helper,\n
Login.c(118): \t\t\tplaceholder: inst.placeholder || $([]),\n
Login.c(118): \t\t\tposition: inst.position,\n
Login.c(118): \t\t\toriginalPosition: inst.originalPosition,\n
Login.c(118): \t\t\toffset: inst.positionAbs,\n
Login.c(118): \t\t\titem: inst.currentItem,\n
Login.c(118): \t\t\tsender: _inst ? _inst.element : null\n
Login.c(118): \t\t};\n
Login.c(118): \t}\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Spinner 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/spinner/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function spinner_modifier( fn ) {\n
Login.c(118): \treturn function() {\n
Login.c(118): \t\tvar previous = this.element.val();\n
Login.c(118): \t\tfn.apply( this, arguments );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t\tif ( previous !== this.element.val() ) {\n
Login.c(118): \t\t\tthis._trigger( "change" );\n
Login.c(118): \t\t}\n
Login.c(118): \t};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var spinner = $.widget( "ui.spinner", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdefaultElement: "<input>",\n
Login.c(118): \twidgetEventPrefix: "spin",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tculture: null,\n
Login.c(118): \t\ticons: {\n
Login.c(118): \t\t\tdown: "ui-icon-triangle-1-s",\n
Login.c(118): \t\t\tup: "ui-icon-triangle-1-n"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tincremental: true,\n
Login.c(118): \t\tmax: null,\n
Login.c(118): \t\tmin: null,\n
Login.c(118): \t\tnumberFormat: null,\n
Login.c(118): \t\tpage: 10,\n
Login.c(118): \t\tstep: 1,\n
Login.c(118): \n
Login.c(118): \t\tchange: null,\n
Login.c(118): \t\tspin: null,\n
Login.c(118): \t\tstart: null,\n
Login.c(118): \t\tstop: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\t// handle string values that need to be parsed\n
Login.c(118): \t\tthis._setOption( "max", this.options.max );\n
Login.c(118): \t\tthis._setOption( "min", this.options.min );\n
Login.c(118): \t\tthis._setOption( "step", this.options.step );\n
Login.c(118): \n
Login.c(118): \t\t// Only format if there is a value, prevents the field from
being marked\n
Login.c(118): \t\t// as invalid in Firefox, see #9573.\n
Login.c(118): \t\tif ( this.value() !== "" ) {\n
Login.c(118): \t\t\t// Format the value, but don't constrain.\n
Login.c(118): \t\t\tthis._value( this.element.val(), true );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._draw();\n
Login.c(118): \t\tthis._on( this._events );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \n
Login.c(118): \t\t// turning off autocomplete prevents the browser from
remembering the\n
Login.c(118): \t\t// value when navigating through history, so we re-enable
autocomplete\n
Login.c(118): \t\t// if the page is unloaded before the widget is destroyed.
#7790\n
Login.c(118): \t\tthis._on( this.window, {\n
Login.c(118): \t\t\tbeforeunload: function() {\n
Login.c(118): \t\t\t\tthis.element.removeAttr( "autocomplete" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateOptions: function() {\n
Login.c(118): \t\tvar options = {},\n
Login.c(118): \t\t\telement = this.element;\n
Login.c(118): \n
Login.c(118): \t\t$.each( [ "min", "max", "step" ], function( i, option ) {\n
Login.c(118): \t\t\tvar value = element.attr( option );\n
Login.c(118): \t\t\tif ( value !== undefined && value.length ) {\n
Login.c(118): \t\t\t\toptions[ option ] = value;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\treturn options;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_events: {\n
Login.c(118): \t\tkeydown: function( event ) {\n
Login.c(118): \t\t\tif ( this._start( event ) && this._keydown( event ) ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tkeyup: "_stop",\n
Login.c(118): \t\tfocus: function() {\n
Login.c(118): \t\t\tthis.previous = this.element.val();\n
Login.c(118): \t\t},\n
Login.c(118): \t\tblur: function( event ) {\n
Login.c(118): \t\t\tif ( this.cancelBlur ) {\n
Login.c(118): \t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t\tthis._refresh();\n
Login.c(118): \t\t\tif ( this.previous !== this.element.val() ) {\n
Login.c(118): \t\t\t\tthis._trigger( "change", event );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t},\n
Login.c(118): \t\tmousewheel: function( event, delta ) {\n
Login.c(118): \t\t\tif ( !delta ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( !this.spinning && !this._start( event ) ) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._spin( (delta > 0 ? 1 : -1) * this.options.step, event
);\n
Login.c(118): \t\t\tclearTimeout( this.mousewheelTimer );\n
Login.c(118): \t\t\tthis.mousewheelTimer = this._delay(function() {\n
Login.c(118): \t\t\t\tif ( this.spinning ) {\n
Login.c(118): \t\t\t\t\tthis._stop( event );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}, 100 );\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"mousedown .ui-spinner-button": function( event ) {\n
Login.c(118): \t\t\tvar previous;\n
Login.c(118): \n
Login.c(118): \t\t\t// We never want the buttons to have focus; whenever the
user is\n
Login.c(118): \t\t\t// interacting with the spinner, the focus should be on the
input.\n
Login.c(118): \t\t\t// If the input is focused then this.previous is properly
set from\n
Login.c(118): \t\t\t// when the input first received focus. If the input is not
focused\n
Login.c(118): \t\t\t// then we need to set this.previous based on the value
before spinning.\n
Login.c(118): \t\t\tprevious = this.element[0] ===
this.document[0].activeElement ?\n
Login.c(118): \t\t\t\tthis.previous : this.element.val();\n
Login.c(118): \t\t\tfunction checkFocus() {\n
Login.c(118): \t\t\t\tvar isActive = this.element[0] ===
this.document[0].activeElement;\n
Login.c(118): \t\t\t\tif ( !isActive ) {\n
Login.c(118): \t\t\t\t\tthis.element.focus();\n
Login.c(118): \t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t// support: IE\n
Login.c(118): \t\t\t\t\t// IE sets focus asynchronously, so we need to check if
focus\n
Login.c(118): \t\t\t\t\t// moved off of the input because the user clicked on
the button.\n
Login.c(118): \t\t\t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\t\t\tthis.previous = previous;\n
Login.c(118): \t\t\t\t\t});\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// ensure focus is on (or stays on) the text field\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcheckFocus.call( this );\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE\n
Login.c(118): \t\t\t// IE doesn't prevent moving focus even with
event.preventDefault()\n
Login.c(118): \t\t\t// so we set a flag to know when we should ignore the blur
event\n
Login.c(118): \t\t\t// and check (again) if focus moved off of the input.\n
Login.c(118): \t\t\tthis.cancelBlur = true;\n
Login.c(118): \t\t\tthis._delay(function() {\n
Login.c(118): \t\t\t\tdelete this.cancelBlur;\n
Login.c(118): \t\t\t\tcheckFocus.call( this );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._start( event ) === false ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( "ui-
spinner-up" ) ? 1 : -1, e
Login.c(118): vent );\n
Login.c(118): \t\t},\n
Login.c(118): \t\t"mouseup .ui-spinner-button": "_stop",\n
Login.c(118): \t\t"mouseenter .ui-spinner-button": function( event ) {\n
Login.c(118): \t\t\t// button will add ui-state-active if mouse was down while
mouseleave and kept down\n
Login.c(118): \t\t\tif ( !$( event.currentTarget ).hasClass( "ui-state-
active" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( this._start( event ) === false ) {\n
Login.c(118): \t\t\t\treturn false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( "ui-
spinner-up" ) ? 1 : -1, e
Login.c(118): vent );\n
Login.c(118): \t\t},\n
Login.c(118): \t\t// TODO: do we really want to consider this a stop?\n
Login.c(118): \t\t// shouldn't we just stop the repeater and wait until mouseup
before\n
Login.c(118): \t\t// we trigger the stop event?\n
Login.c(118): \t\t"mouseleave .ui-spinner-button": "_stop"\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_draw: function() {\n
Login.c(118): \t\tvar uiSpinner = this.uiSpinner = this.element\n
Login.c(118): \t\t\t.addClass( "ui-spinn
Login.c(118): t=7556ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): er-input" )\n
Login.c(118): \t\t\t.attr( "autocomplete", "off" )\n
Login.c(118): \t\t\t.wrap( this._uiSpinnerHtml() )\n
Login.c(118): \t\t\t.parent()\n
Login.c(118): \t\t\t\t// add buttons\n
Login.c(118): \t\t\t\t.append( this._buttonHtml() );\n
Login.c(118): \n
Login.c(118): \t\tthis.element.attr( "role", "spinbutton" );\n
Login.c(118): \n
Login.c(118): \t\t// button bindings\n
Login.c(118): \t\tthis.buttons = uiSpinner.find( ".ui-spinner-button" )\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 )\n
Login.c(118): \t\t\t.button()\n
Login.c(118): \t\t\t.removeClass( "ui-corner-all" );\n
Login.c(118): \n
Login.c(118): \t\t// IE 6 doesn't understand height: 50% for the buttons\n
Login.c(118): \t\t// unless the wrapper has an explicit height\n
Login.c(118): \t\tif ( this.buttons.height() > Math.ceil( uiSpinner.height() *
0.5 ) &&\n
Login.c(118): \t\t\t\tuiSpinner.height() > 0 ) {\n
Login.c(118): \t\t\tuiSpinner.height( uiSpinner.height() );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// disable spinner if element was already disabled\n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis.disable();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_keydown: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tkeyCode = $.ui.keyCode;\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\tcase keyCode.UP:\n
Login.c(118): \t\t\tthis._repeat( null, 1, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.DOWN:\n
Login.c(118): \t\t\tthis._repeat( null, -1, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.PAGE_UP:\n
Login.c(118): \t\t\tthis._repeat( null, options.page, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\tcase keyCode.PAGE_DOWN:\n
Login.c(118): \t\t\tthis._repeat( null, -options.page, event );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn false;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_uiSpinnerHtml: function() {\n
Login.c(118): \t\treturn "<span class='ui-spinner ui-widget ui-widget-content
ui-corner-all'></span>";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_buttonHtml: function() {\n
Login.c(118): \t\treturn "" +\n
Login.c(118): \t\t\t"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>"
+\n
Login.c(118): \t\t\t\t"<span class='ui-icon " + this.options.icons.up +
"'>&#9650;</span>" +\n
Login.c(118): \t\t\t"</a>" +\n
Login.c(118): \t\t\t"<a class='ui-spinner-button ui-spinner-down ui-corner-
br'>" +\n
Login.c(118): \t\t\t\t"<span class='ui-icon " + this.options.icons.down +
"'>&#9660;</span>" +\n
Login.c(118): \t\t\t"</a>";\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_start: function( event ) {\n
Login.c(118): \t\tif ( !this.spinning && this._trigger( "start", event ) ===
false ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.counter ) {\n
Login.c(118): \t\t\tthis.counter = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.spinning = true;\n
Login.c(118): \t\treturn true;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_repeat: function( i, steps, event ) {\n
Login.c(118): \t\ti = i || 500;\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tthis.timer = this._delay(function() {\n
Login.c(118): \t\t\tthis._repeat( 40, steps, event );\n
Login.c(118): \t\t}, i );\n
Login.c(118): \n
Login.c(118): \t\tthis._spin( steps * this.options.step, event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_spin: function( step, event ) {\n
Login.c(118): \t\tvar value = this.value() || 0;\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.counter ) {\n
Login.c(118): \t\t\tthis.counter = 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tvalue = this._adjustValue( value + step *
this._increment( this.counter ) );\n
Login.c(118): \n
Login.c(118): \t\tif ( !this.spinning || this._trigger( "spin", event, { value:
value } ) !== false) {\n
Login.c(118): \t\t\tthis._value( value );\n
Login.c(118): \t\t\tthis.counter++;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_increment: function( i ) {\n
Login.c(118): \t\tvar incremental = this.options.incremental;\n
Login.c(118): \n
Login.c(118): \t\tif ( incremental ) {\n
Login.c(118): \t\t\treturn $.isFunction( incremental ) ?\n
Login.c(118): \t\t\t\tincremental( i ) :\n
Login.c(118): \t\t\t\tMath.floor( i * i * i / 50000 - i * i / 500 + 17 * i /
200 + 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_precision: function() {\n
Login.c(118): \t\tvar precision = this._precisionOf( this.options.step );\n
Login.c(118): \t\tif ( this.options.min !== null ) {\n
Login.c(118): \t\t\tprecision = Math.max( precision,
this._precisionOf( this.options.min ) );\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn precision;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_precisionOf: function( num ) {\n
Login.c(118): \t\tvar str = num.toString(),\n
Login.c(118): \t\t\tdecimal = str.indexOf( "." );\n
Login.c(118): \t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_adjustValue: function( value ) {\n
Login.c(118): \t\tvar base, aboveMin,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\t// make sure we're at a valid step\n
Login.c(118): \t\t// - find out where we are relative to the base (min or 0)\n
Login.c(118): \t\tbase = options.min !== null ? options.min : 0;\n
Login.c(118): \t\taboveMin = value - base;\n
Login.c(118): \t\t// - round to the nearest step\n
Login.c(118): \t\taboveMin = Math.round(aboveMin / options.step) *
options.step;\n
Login.c(118): \t\t// - rounding is based on 0, so adjust back to our base\n
Login.c(118): \t\tvalue = base + aboveMin;\n
Login.c(118): \n
Login.c(118): \t\t// fix precision from bad JS floating point math\n
Login.c(118): \t\tvalue = parseFloat( value.toFixed( this._precision() ) );\n
Login.c(118): \n
Login.c(118): \t\t// clamp the value\n
Login.c(118): \t\tif ( options.max !== null && value > options.max) {\n
Login.c(118): \t\t\treturn options.max;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( options.min !== null && value < options.min ) {\n
Login.c(118): \t\t\treturn options.min;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn value;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_stop: function( event ) {\n
Login.c(118): \t\tif ( !this.spinning ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tclearTimeout( this.timer );\n
Login.c(118): \t\tclearTimeout( this.mousewheelTimer );\n
Login.c(118): \t\tthis.counter = 0;\n
Login.c(118): \t\tthis.spinning = false;\n
Login.c(118): \t\tthis._trigger( "stop", event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "culture" || key === "numberFormat" ) {\n
Login.c(118): \t\t\tvar prevValue = this._parse( this.element.val() );\n
Login.c(118): \t\t\tthis.options[ key ] = value;\n
Login.c(118): \t\t\tthis.element.val( this._format( prevValue ) );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "max" || key === "min" || key === "step" ) {\n
Login.c(118): \t\t\tif ( typeof value === "string" ) {\n
Login.c(118): \t\t\t\tvalue = this._parse( value );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( key === "icons" ) {\n
Login.c(118): \t\t\tthis.buttons.first().find( ".ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.up )\n
Login.c(118): \t\t\t\t.addClass( value.up );\n
Login.c(118): \t\t\tthis.buttons.last().find( ".ui-icon" )\n
Login.c(118): \t\t\t\t.removeClass( this.options.icons.down )\n
Login.c(118): \t\t\t\t.addClass( value.down );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis.widget().toggleClass( "ui-state-disabled", !!
value );\n
Login.c(118): \t\t\tthis.element.prop( "disabled", !!value );\n
Login.c(118): \t\t\tthis.buttons.button( value ? "disable" : "enable" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOptions: spinner_modifier(function( options ) {\n
Login.c(118): \t\tthis._super( options );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \t_parse: function( val ) {\n
Login.c(118): \t\tif ( typeof val === "string" && val !== "" ) {\n
Login.c(118): \t\t\tval = window.Globalize && this.options.numberFormat ?\n
Login.c(118): \t\t\t\tGlobalize.parseFloat( val, 10, this.options.culture ) :
+val;\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn val === "" || isNaN( val ) ? null : val;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_format: function( value ) {\n
Login.c(118): \t\tif ( value === "" ) {\n
Login.c(118): \t\t\treturn "";\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn window.Globalize && this.options.numberFormat ?\n
Login.c(118): \t\t\tGlobalize.format( value, this.options.numberFormat,
this.options.culture ) :\n
Login.c(118): \t\t\tvalue;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis.element.attr({\n
Login.c(118): \t\t\t"aria-valuemin": this.options.min,\n
Login.c(118): \t\t\t"aria-valuemax": this.options.max,\n
Login.c(118): \t\t\t// TODO: what should we do with values that can't be
parsed?\n
Login.c(118): \t\t\t"aria-valuenow": this._parse( this.element.val() )\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tisValid: function() {\n
Login.c(118): \t\tvar value = this.value();\n
Login.c(118): \n
Login.c(118): \t\t// null is invalid\n
Login.c(118): \t\tif ( value === null ) {\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if value gets adjusted, it's invalid\n
Login.c(118): \t\treturn value === this._adjustValue( value );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// update the value without triggering change\n
Login.c(118): \t_value: function( value, allowAny ) {\n
Login.c(118): \t\tvar parsed;\n
Login.c(118): \t\tif ( value !== "" ) {\n
Login.c(118): \t\t\tparsed = this._parse( value );\n
Login.c(118): \t\t\tif ( parsed !== null ) {\n
Login.c(118): \t\t\t\tif ( !allowAny ) {\n
Login.c(118): \t\t\t\t\tparsed = this._adjustValue( parsed );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tvalue = this._format( parsed );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis.element.val( value );\n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.removeClass( "ui-spinner-input" )\n
Login.c(118): \t\t\t.prop( "disabled", false )\n
Login.c(118): \t\t\t.removeAttr( "autocomplete" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemin" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuemax" )\n
Login.c(118): \t\t\t.removeAttr( "aria-valuenow" );\n
Login.c(118): \t\tthis.uiSpinner.replaceWith( this.element );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstepUp: spinner_modifier(function( steps ) {\n
Login.c(118): \t\tthis._stepUp( steps );\n
Login.c(118): \t}),\n
Login.c(118): \t_stepUp: function( steps ) {\n
Login.c(118): \t\tif ( this._start() ) {\n
Login.c(118): \t\t\tthis._spin( (steps || 1) * this.options.step );\n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tstepDown: spinner_modifier(function( steps ) {\n
Login.c(118): \t\tthis._stepDown( steps );\n
Login.c(118): \t}),\n
Login.c(118): \t_stepDown: function( steps ) {\n
Login.c(118): \t\tif ( this._start() ) {\n
Login.c(118): \t\t\tthis._spin( (steps || 1) * -this.options.step );\n
Login.c(118): \t\t\tthis._stop();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tpageUp: spinner_modifier(function( pages ) {\n
Login.c(118): \t\tthis._stepUp( (pages || 1) * this.options.page );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \tpageDown: spinner_modifier(function( pages ) {\n
Login.c(118): \t\tthis._stepDown( (pages || 1) * this.options.page );\n
Login.c(118): \t}),\n
Login.c(118): \n
Login.c(118): \tvalue: function( newVal ) {\n
Login.c(118): \t\tif ( !arguments.length ) {\n
Login.c(118): \t\t\treturn this._parse( this.element.val() );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tspinner_modifier( this._value ).call( this, newVal );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \twidget: function() {\n
Login.c(118): \t\treturn this.uiSpinner;\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Tabs 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/tabs/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var tabs = $.widget( "ui.tabs", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \tdelay: 300,\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tactive: null,\n
Login.c(118): \t\tcollapsible: false,\n
Login.c(118): \t\tevent: "click",\n
Login.c(118): \t\theightStyle: "content",\n
Login.c(118): \t\thide: null,\n
Login.c(118): \t\tshow: null,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tactivate: null,\n
Login.c(118): \t\tbeforeActivate: null,\n
Login.c(118): \t\tbeforeLoad: null,\n
Login.c(118): \t\tload: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_isLocal: (function() {\n
Login.c(118): \t\tvar rhash = /#.*$/;\n
Login.c(118): \n
Login.c(118): \t\treturn function( anchor ) {\n
Login.c(118): \t\t\tvar anchorUrl, locationUrl;\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE7\n
Login.c(118): \t\t\t// IE7 doesn't normalize the href property when set via
script (#9317)\n
Login.c(118): \t\t\tanchor = anchor.cloneNode( false );\n
Login.c(118): \n
Login.c(118): \t\t\tanchorUrl = anchor.href.replace( rhash, "" );\n
Login.c(118): \t\t\tlocationUrl = location.href.replace( rhash, "" );\n
Login.c(118): \n
Login.c(118): \t\t\t// decoding may throw an error if the URL isn't UTF-8
(#9518)\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tanchorUrl = decodeURIComponent( anchorUrl );\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \t\t\ttry {\n
Login.c(118): \t\t\t\tlocationUrl = decodeURIComponent( locationUrl );\n
Login.c(118): \t\t\t} catch ( error ) {}\n
Login.c(118): \n
Login.c(118): \t\t\treturn anchor.hash.length > 1 && anchorUrl ===
locationUrl;\n
Login.c(118): \t\t};\n
Login.c(118): \t})(),\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\toptions = this.options;\n
Login.c(118): \n
Login.c(118): \t\tthis.running = false;\n
Login.c(118): \n
Login.c(118): \t\tthis.element\n
Login.c(118): \t\t\t.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-
all" )\n
Login.c(118): \t\t\t.toggleClass( "ui-tabs-collapsible",
options.collapsible );\n
Login.c(118): \n
Login.c(118): \t\tthis._processTabs();\n
Login.c(118): \t\toptions.active = this._initialActive();\n
Login.c(118): \n
Login.c(118): \t\t// Take disabling tabs via class attribute from HTML\n
Login.c(118): \t\t// into account and update option properly.\n
Login.c(118): \t\tif ( $.isArray( options.disabled ) ) {\n
Login.c(118): \t\t\toptions.disabled = $.unique( options.disabled.concat(\n
Login.c(118): \t\t\t\t$.map( this.tabs.filter( ".ui-state-disabled" ),
function( li ) {\n
Login.c(118): \t\t\t\t\treturn that.tabs.index( li );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t) ).sort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// check for length avoids error when initializing empty
list\n
Login.c(118): \t\tif ( this.options.active !== false && this.anchors.length )
{\n
Login.c(118): \t\t\tthis.active = this._findActive( options.active );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.active.length ) {\n
Login.c(118): \t\t\tthis.load( options.active );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_initialActive: function() {\n
Login.c(118): \t\tvar active = this.options.active,\n
Login.c(118): \t\t\tcollapsible = this.options.collapsible,\n
Login.c(118): \t\t\tlocationHash = location.hash.substring( 1 );\n
Login.c(118): \n
Login.c(118): \t\tif ( active === null ) {\n
Login.c(118): \t\t\t// check the fragment identifier in the URL\n
Login.c(118): \t\t\tif ( locationHash ) {\n
Login.c(118): \t\t\t\tthis.tabs.each(function( i, tab ) {\n
Login.c(118): \t\t\t\t\tif ( $( tab ).attr( "aria-controls" ) ===
locationHash ) {\n
Login.c(118): \t\t\t\t\t\tactive = i;\n
Login.c(118): \t\t\t\t\t\treturn false;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// check for a tab marked active via a class\n
Login.c(118): \t\t\tif ( active === null ) {\n
Login.c(118): \t\t\t\tactive = this.tabs.index( this.tabs.filter( ".ui-tabs-
active" ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t// no active tab, set to false\n
Login.c(118): \t\t\tif ( active === null || active === -1 ) {\n
Login.c(118): \t\t\t\tactive = this.tabs.length ? 0 : false;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// handle numbers: negative, out of range\n
Login.c(118): \t\tif ( active !== false ) {\n
Login.c(118): \t\t\tactive = this.tabs.index( this.tabs.eq( active ) );\n
Login.c(118): \t\t\tif ( active === -1 ) {\n
Login.c(118): \t\t\t\tactive = collapsible ? false : 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// don't allow collapsible: false and active: false\n
Login.c(118): \t\tif ( !collapsible && active === false &&
this.anchors.length ) {\n
Login.c(118): \t\t\tactive = 0;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn active;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getCreateEventData: function() {\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\ttab: this.active,\n
Login.c(118): \t\t\tpanel: !this.active.length ? $() :
this._getPanelForTab( this.active )\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_tabKeydown: function( event ) {\n
Login.c(118): \t\tvar focusedTab = $( this.document[0].activeElement ).closest(
"li" ),\n
Login.c(118): \t\t\tselectedIndex = this.tabs.index( focusedTab ),\n
Login.c(118): \t\t\tgoingForward = true;\n
Login.c(118): \n
Login.c(118): \t\tif ( this._handlePageNav( event ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tswitch ( event.keyCode ) {\n
Login.c(118): \t\t\tcase $.ui.keyCode.RIGHT:\n
Login.c(118): \t\t\tcase $.ui.keyCode.DOWN:\n
Login.c(118): \t\t\t\tselectedIndex++;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.UP:\n
Login.c(118): \t\t\tcase $.ui.keyCode.LEFT:\n
Login.c(118): \t\t\t\tgoingForward = false;\n
Login.c(118): \t\t\t\tselectedIndex--;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.END:\n
Login.c(118): \t\t\t\tselectedIndex = this.anchors.length - 1;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.HOME:\n
Login.c(118): \t\t\t\tselectedIndex = 0;\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t\tcase $.ui.keyCode.SPACE:\n
Login.c(118): \t\t\t\t// Activate only, no collapsing\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tclearTimeout( this.activating );\n
Login.c(118): \t\t\t\tthis._activate( selectedIndex );\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\tcase $.ui.keyCode.ENTER:\n
Login.c(118): \t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\tclearTimeout( this.activating );\n
Login.c(118): \t\t\t\t// Determine if we should collapse or activate\n
Login.c(118): \t\t\t\tthis._activate( selectedIndex === this.options.active ?
false : selectedIndex );\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\tdefault:\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Focus the appropriate tab, based on which key was
pressed\n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \t\tclearTimeout( this.activating );\n
Login.c(118): \t\tselectedIndex = this._focusNextTab( selectedIndex,
goingForward );\n
Login.c(118): \n
Login.c(118): \t\t// Navigating with control key will prevent automatic
activation\n
Login.c(118): \t\tif ( !event.ctrlKey ) {\n
Login.c(118): \t\t\t// Update aria-selected immediately so that AT thin
Login.c(118): t=7576ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): k the tab is already selected.\n
Login.c(118): \t\t\t// Otherwise AT may confuse the user by stating that they
need to activate the tab,\n
Login.c(118): \t\t\t// but the tab will already be activated by the time the
announcement finishes.\n
Login.c(118): \t\t\tfocusedTab.attr( "aria-selected", "false" );\n
Login.c(118): \t\t\tthis.tabs.eq( selectedIndex ).attr( "aria-selected", "true"
);\n
Login.c(118): \n
Login.c(118): \t\t\tthis.activating = this._delay(function() {\n
Login.c(118): \t\t\t\tthis.option( "active", selectedIndex );\n
Login.c(118): \t\t\t}, this.delay );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_panelKeydown: function( event ) {\n
Login.c(118): \t\tif ( this._handlePageNav( event ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Ctrl+up moves focus to the current tab\n
Login.c(118): \t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\n
Login.c(118): \t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tthis.active.focus();\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// Alt+page up/down moves focus to the previous/next tab (and
activates)\n
Login.c(118): \t_handlePageNav: function( event ) {\n
Login.c(118): \t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP )
{\n
Login.c(118): \t\t\tthis._activate( this._focusNextTab( this.options.active -
1, false ) );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN
) {\n
Login.c(118): \t\t\tthis._activate( this._focusNextTab( this.options.active +
1, true ) );\n
Login.c(118): \t\t\treturn true;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findNextTab: function( index, goingForward ) {\n
Login.c(118): \t\tvar lastTabIndex = this.tabs.length - 1;\n
Login.c(118): \n
Login.c(118): \t\tfunction constrain() {\n
Login.c(118): \t\t\tif ( index > lastTabIndex ) {\n
Login.c(118): \t\t\t\tindex = 0;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( index < 0 ) {\n
Login.c(118): \t\t\t\tindex = lastTabIndex;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\treturn index;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\twhile ( $.inArray( constrain(), this.options.disabled ) !==
-1 ) {\n
Login.c(118): \t\t\tindex = goingForward ? index + 1 : index - 1;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_focusNextTab: function( index, goingForward ) {\n
Login.c(118): \t\tindex = this._findNextTab( index, goingForward );\n
Login.c(118): \t\tthis.tabs.eq( index ).focus();\n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tif ( key === "active" ) {\n
Login.c(118): \t\t\t// _activate() will handle invalid values and update
this.options\n
Login.c(118): \t\t\tthis._activate( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\t// don't use the widget factory's disabled handling\n
Login.c(118): \t\t\tthis._setupDisabled( value );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value);\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "collapsible" ) {\n
Login.c(118): \t\t\tthis.element.toggleClass( "ui-tabs-collapsible", value );\n
Login.c(118): \t\t\t// Setting collapsible: false while collapsed; open first
panel\n
Login.c(118): \t\t\tif ( !value && this.options.active === false ) {\n
Login.c(118): \t\t\t\tthis._activate( 0 );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "event" ) {\n
Login.c(118): \t\t\tthis._setupEvents( value );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "heightStyle" ) {\n
Login.c(118): \t\t\tthis._setupHeightStyle( value );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_sanitizeSelector: function( hash ) {\n
Login.c(118): \t\treturn hash ? hash.replace( /[!"$%&'()*+,.\\/:;<=>?@\\
[\\]\\^`{|}~]/g, "\\\\$&" ) : ""
Login.c(118): ;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \trefresh: function() {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tlis = this.tablist.children( ":has(a[href])" );\n
Login.c(118): \n
Login.c(118): \t\t// get disabled tabs from class attribute from HTML\n
Login.c(118): \t\t// this will get converted to a boolean if needed in
_refresh()\n
Login.c(118): \t\toptions.disabled = $.map( lis.filter( ".ui-state-disabled" ),
function( tab ) {\n
Login.c(118): \t\t\treturn lis.index( tab );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis._processTabs();\n
Login.c(118): \n
Login.c(118): \t\t// was collapsed or no tabs\n
Login.c(118): \t\tif ( options.active === false || !this.anchors.length ) {\n
Login.c(118): \t\t\toptions.active = false;\n
Login.c(118): \t\t\tthis.active = $();\n
Login.c(118): \t\t// was active, but active tab is gone\n
Login.c(118): \t\t} else if ( this.active.length && !
$.contains( this.tablist[ 0 ], this.active[ 0 ] ) )
Login.c(118): {\n
Login.c(118): \t\t\t// all remaining tabs are disabled\n
Login.c(118): \t\t\tif ( this.tabs.length === options.disabled.length ) {\n
Login.c(118): \t\t\t\toptions.active = false;\n
Login.c(118): \t\t\t\tthis.active = $();\n
Login.c(118): \t\t\t// activate previous tab\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tthis._activate( this._findNextTab( Math.max( 0,
options.active - 1 ), false ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t// was active, active tab still exists\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\t// make sure active index is correct\n
Login.c(118): \t\t\toptions.active = this.tabs.index( this.active );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._refresh();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_refresh: function() {\n
Login.c(118): \t\tthis._setupDisabled( this.options.disabled );\n
Login.c(118): \t\tthis._setupEvents( this.options.event );\n
Login.c(118): \t\tthis._setupHeightStyle( this.options.heightStyle );\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.not( this.active ).attr({\n
Login.c(118): \t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t"aria-expanded": "false",\n
Login.c(118): \t\t\ttabIndex: -1\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.panels.not( this._getPanelForTab( this.active ) )\n
Login.c(118): \t\t\t.hide()\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\t"aria-hidden": "true"\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t// Make sure one tab is in the tab order\n
Login.c(118): \t\tif ( !this.active.length ) {\n
Login.c(118): \t\t\tthis.tabs.eq( 0 ).attr( "tabIndex", 0 );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tthis.active\n
Login.c(118): \t\t\t\t.addClass( "ui-tabs-active ui-state-active" )\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\t\t\ttabIndex: 0\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\tthis._getPanelForTab( this.active )\n
Login.c(118): \t\t\t\t.show()\n
Login.c(118): \t\t\t\t.attr({\n
Login.c(118): \t\t\t\t\t"aria-hidden": "false"\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_processTabs: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist = this._getList()\n
Login.c(118): \t\t\t.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix
ui-widget-header ui-corne
Login.c(118): r-all" )\n
Login.c(118): \t\t\t.attr( "role", "tablist" )\n
Login.c(118): \n
Login.c(118): \t\t\t// Prevent users from focusing disabled tabs via click\n
Login.c(118): \t\t\t.delegate( "> li", "mousedown" + this.eventNamespace,
function( event ) {\n
Login.c(118): \t\t\t\tif ( $( this ).is( ".ui-state-disabled" ) ) {\n
Login.c(118): \t\t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t})\n
Login.c(118): \n
Login.c(118): \t\t\t// support: IE <9\n
Login.c(118): \t\t\t// Preventing the default action in mousedown doesn't
prevent IE\n
Login.c(118): \t\t\t// from focusing the element, so if the anchor gets
focused, blur.\n
Login.c(118): \t\t\t// We don't have to worry about focusing the previously
focused\n
Login.c(118): \t\t\t// element since clicking on a non-focusable element should
focus\n
Login.c(118): \t\t\t// the body anyway.\n
Login.c(118): \t\t\t.delegate( ".ui-tabs-anchor", "focus" +
this.eventNamespace, function() {\n
Login.c(118): \t\t\t\tif ( $( this ).closest( "li" ).is( ".ui-state-disabled" )
) {\n
Login.c(118): \t\t\t\t\tthis.blur();\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs = this.tablist.find( "> li:has(a[href])" )\n
Login.c(118): \t\t\t.addClass( "ui-state-default ui-corner-top" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "tab",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors = this.tabs.map(function() {\n
Login.c(118): \t\t\t\treturn $( "a", this )[ 0 ];\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-tabs-anchor" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "presentation",\n
Login.c(118): \t\t\t\ttabIndex: -1\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels = $();\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors.each(function( i, anchor ) {\n
Login.c(118): \t\t\tvar selector, panel, panelId,\n
Login.c(118): \t\t\t\tanchorId = $( anchor ).uniqueId().attr( "id" ),\n
Login.c(118): \t\t\t\ttab = $( anchor ).closest( "li" ),\n
Login.c(118): \t\t\t\toriginalAriaControls = tab.attr( "aria-controls" );\n
Login.c(118): \n
Login.c(118): \t\t\t// inline tab\n
Login.c(118): \t\t\tif ( that._isLocal( anchor ) ) {\n
Login.c(118): \t\t\t\tselector = anchor.hash;\n
Login.c(118): \t\t\t\tpanelId = selector.substring( 1 );\n
Login.c(118): \t\t\t\tpanel =
that.element.find( that._sanitizeSelector( selector ) );\n
Login.c(118): \t\t\t// remote tab\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t// If the tab doesn't already have aria-controls,\n
Login.c(118): \t\t\t\t// generate an id by using a throw-away element\n
Login.c(118): \t\t\t\tpanelId = tab.attr( "aria-controls" ) || $
( {} ).uniqueId()[ 0 ].id;\n
Login.c(118): \t\t\t\tselector = "#" + panelId;\n
Login.c(118): \t\t\t\tpanel = that.element.find( selector );\n
Login.c(118): \t\t\t\tif ( !panel.length ) {\n
Login.c(118): \t\t\t\t\tpanel = that._createPanel( panelId );\n
Login.c(118): \t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist
);\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tpanel.attr( "aria-live", "polite" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\tif ( panel.length) {\n
Login.c(118): \t\t\t\tthat.panels = that.panels.add( panel );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( originalAriaControls ) {\n
Login.c(118): \t\t\t\ttab.data( "ui-tabs-aria-controls",
originalAriaControls );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\ttab.attr({\n
Login.c(118): \t\t\t\t"aria-controls": panelId,\n
Login.c(118): \t\t\t\t"aria-labelledby": anchorId\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\tpanel.attr( "aria-labelledby", anchorId );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels\n
Login.c(118): \t\t\t.addClass( "ui-tabs-panel ui-widget-content ui-corner-
bottom" )\n
Login.c(118): \t\t\t.attr( "role", "tabpanel" );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// allow overriding how to find the list for rare usage
scenarios (#7715)\n
Login.c(118): \t_getList: function() {\n
Login.c(118): \t\treturn this.tablist ||
this.element.find( "ol,ul" ).eq( 0 );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_createPanel: function( id ) {\n
Login.c(118): \t\treturn $( "<div>" )\n
Login.c(118): \t\t\t.attr( "id", id )\n
Login.c(118): \t\t\t.addClass( "ui-tabs-panel ui-widget-content ui-corner-
bottom" )\n
Login.c(118): \t\t\t.data( "ui-tabs-destroy", true );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupDisabled: function( disabled ) {\n
Login.c(118): \t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\tif ( !disabled.length ) {\n
Login.c(118): \t\t\t\tdisabled = false;\n
Login.c(118): \t\t\t} else if ( disabled.length === this.anchors.length ) {\n
Login.c(118): \t\t\t\tdisabled = true;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// disable tabs\n
Login.c(118): \t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\n
Login.c(118): \t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 )
{\n
Login.c(118): \t\t\t\t$( li )\n
Login.c(118): \t\t\t\t\t.addClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t\t.attr( "aria-disabled", "true" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$( li )\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-disabled" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-disabled" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.options.disabled = disabled;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupEvents: function( event ) {\n
Login.c(118): \t\tvar events = {};\n
Login.c(118): \t\tif ( event ) {\n
Login.c(118): \t\t\t$.each( event.split(" "), function( index, eventName ) {\n
Login.c(118): \t\t\t\tevents[ eventName ] = "_eventHandler";\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118):
\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\n
Login.c(118): \t\t// Always prevent the default action, even when disabled\n
Login.c(118): \t\tthis._on( true, this.anchors, {\n
Login.c(118): \t\t\tclick: function( event ) {\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis._on( this.anchors, events );\n
Login.c(118): \t\tthis._on( this.tabs, { keydown: "_tabKeydown" } );\n
Login.c(118): \t\tthis._on( this.panels, { keydown: "_panelKeydown" } );\n
Login.c(118): \n
Login.c(118): \t\tthis._focusable( this.tabs );\n
Login.c(118): \t\tthis._hoverable( this.tabs );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setupHeightStyle: function( heightStyle ) {\n
Login.c(118): \t\tvar maxHeight,\n
Login.c(118): \t\t\tparent = this.element.parent();\n
Login.c(118): \n
Login.c(118): \t\tif ( heightStyle === "fill" ) {\n
Login.c(118): \t\t\tmaxHeight = parent.height();\n
Login.c(118): \t\t\tmaxHeight -= this.element.outerHeight() -
this.element.height();\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.siblings( ":visible" ).each(function() {\n
Login.c(118): \t\t\t\tvar elem = $( this ),\n
Login.c(118): \t\t\t\t\tposition = elem.css( "position" );\n
Login.c(118): \n
Login.c(118): \t\t\t\tif ( position === "absolute" || position === "fixed" )
{\n
Login.c(118): \t\t\t\t\treturn;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tmaxHeight -= elem.outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.element.children().not( this.panels ).each(function()
{\n
Login.c(118): \t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n
Login.c(118): \t\t\t});\n
Login.c(118): \n
Login.c(118): \t\t\tthis.panels.each(function() {\n
Login.c(118): \t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n
Login.c(118): \t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.css( "overflow", "auto" );\n
Login.c(118): \t\t} else if ( heightStyle === "auto" ) {\n
Login.c(118): \t\t\tmaxHeight = 0;\n
Login.c(118): \t\t\tthis.panels.each(function() {\n
Login.c(118): \t\t\t\tmaxHeight = Math.max( maxHeight, $
( this ).height( "" ).height() );\n
Login.c(118): \t\t\t}).height( maxHeight );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_eventHandler: function( event ) {\n
Login.c(118): \t\tvar options = this.options,\n
Login.c(118): \t\t\tactive = this.active,\n
Login.c(118): \t\t\tanchor = $( event.currentTarget ),\n
Login.c(118): \t\t\ttab = anchor.closest( "li" ),\n
Login.c(118): \t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\n
Login.c(118): \t\t\tcollapsing = clickedIsActive && options.collapsible,\n
Login.c(118): \t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\n
Login.c(118): \t\t\ttoHide = !active.length ? $() :
this._getPanelForTab( active ),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\toldTab: active,\n
Login.c(118): \t\t\t\toldPanel: toHide,\n
Login.c(118): \t\t\t\tnewTab: collapsing ? $() : tab,\n
Login.c(118): \t\t\t\tnewPanel: toShow\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\tevent.preventDefault();\n
Login.c(118): \n
Login.c(118): \t\tif ( tab.hasClass( "ui-state-disabled" ) ||\n
Login.c(118): \t\t\t\t// tab is already loading\n
Login.c(118): \t\t\t\ttab.hasClass( "ui-tabs-loading" ) ||\n
Login.c(118): \t\t\t\t// can't switch durning an animation\n
Login.c(118): \t\t\t\tthis.running ||\n
Login.c(118): \t\t\t\t// click on active header, but not collapsible\n
Login.c(118): \t\t\t\t( clickedIsActive && !options.collapsible ) ||\n
Login.c(118): \t\t\t\t// allow canceling activation\n
Login.c(118): \t\t\t\t( this._trigger( "beforeActivate", event, eventData ) ===
false ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\toptions.active = collapsing ? false :
this.tabs.index( tab );\n
Login.c(118): \n
Login.c(118): \t\tthis.active = clickedIsActive ? $() : tab;\n
Login.c(118): \t\tif ( this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !toHide.length && !toShow.length ) {\n
Login.c(118): \t\t\t$.error( "jQuery UI Tabs: Mismatching fragment identifier."
);\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( toShow.length ) {\n
Login.c(118): \t\t\tthis.load( this.tabs.index( tab ), event );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._toggle( event, eventData );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t// handles show/hide for selecting tabs\n
Login.c(118): \t_toggle: function( event, eventData ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttoShow = eventData.newPanel,\n
Login.c(118): \t\t\ttoHide = eventData.oldPanel;\n
Login.c(118): \n
Login.c(118): \t\tthis.running = true;\n
Login.c(118): \n
Login.c(118): \t\tfunction complete() {\n
Login.c(118): \t\t\tthat.running = false;\n
Login.c(118): \t\t\tthat._trigger( "activate", event, eventData );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tfunction show() {\n
Login.c(118): \t\t\teventData.newTab.closest( "li" ).addClass( "ui-tabs-active
ui-state-active" );\n
Login.c(118): \n
Login.c(118): \t\t\tif ( toShow.length && that.options.show ) {\n
Login.c(118): \t\t\t\tthat._show( toShow, that.options.show, complete );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\ttoShow.show();\n
Login.c(118): \t\t\t\tcomplete();\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// start out by hiding, then showing, then completing\n
Login.c(118): \t\tif ( toHide.length && this.options.hide ) {\n
Login.c(118): \t\t\tthis._hide( toHide, this.options.hide, function() {\n
Login.c(118): \t\t\t\teventData.oldTab.closest( "li" ).removeClass( "ui-tabs-
active ui-state-active" );\n
Login.c(118): \t\t\t\tshow();\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\teventData.oldTab.closest( "li" ).removeClass( "ui-tabs-
active ui-state-active" );\n
Login.c(118): \t\t\ttoHide.hide();\n
Login.c(118): \t\t\tshow();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoHide.attr( "aria-hidden", "true" );\n
Login.c(118): \t\teventData.oldTab.attr({\n
Login.c(118): \t\t\t"aria-selected": "false",\n
Login.c(118): \t\t\t"aria-expanded": "false"\n
Login.c(118): \t\t});\n
Login.c(118): \t\t// If we're switching tabs, remove the old tab from the tab
order.\n
Login.c(118): \t\t// If we're opening from collapsed state, remove the previous
tab from the tab order.\n
Login.c(118): \t\t// If we're collapsing, then keep the collapsing tab in the
tab order.\n
Login.c(118): \t\tif ( toShow.length && toHide.length ) {\n
Login.c(118): \t\t\teventData.oldTab.attr( "tabIn
Login.c(118): t=7595ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): dex", -1 );\n
Login.c(118): \t\t} else if ( toShow.length ) {\n
Login.c(118): \t\t\tthis.tabs.filter(function() {\n
Login.c(118): \t\t\t\treturn $( this ).attr( "tabIndex" ) === 0;\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.attr( "tabIndex", -1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttoShow.attr( "aria-hidden", "false" );\n
Login.c(118): \t\teventData.newTab.attr({\n
Login.c(118): \t\t\t"aria-selected": "true",\n
Login.c(118): \t\t\t"aria-expanded": "true",\n
Login.c(118): \t\t\ttabIndex: 0\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_activate: function( index ) {\n
Login.c(118): \t\tvar anchor,\n
Login.c(118): \t\t\tactive = this._findActive( index );\n
Login.c(118): \n
Login.c(118): \t\t// trying to activate the already active panel\n
Login.c(118): \t\tif ( active[ 0 ] === this.active[ 0 ] ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// trying to collapse, simulate a click on the current active
header\n
Login.c(118): \t\tif ( !active.length ) {\n
Login.c(118): \t\t\tactive = this.active;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tanchor = active.find( ".ui-tabs-anchor" )[ 0 ];\n
Login.c(118): \t\tthis._eventHandler({\n
Login.c(118): \t\t\ttarget: anchor,\n
Login.c(118): \t\t\tcurrentTarget: anchor,\n
Login.c(118): \t\t\tpreventDefault: $.noop\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_findActive: function( index ) {\n
Login.c(118): \t\treturn index === false ? $() : this.tabs.eq( index );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getIndex: function( index ) {\n
Login.c(118): \t\t// meta-function to give users option to provide a href
string instead of a numerical
Login.c(118): index.\n
Login.c(118): \t\tif ( typeof index === "string" ) {\n
Login.c(118): \t\t\tindex = this.anchors.index( this.anchors.filter( "[href$='"
+ index + "']" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\treturn index;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tif ( this.xhr ) {\n
Login.c(118): \t\t\tthis.xhr.abort();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.element.removeClass( "ui-tabs ui-widget ui-widget-
content ui-corner-all ui-tabs-c
Login.c(118): ollapsible" );\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist\n
Login.c(118): \t\t\t.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-
clearfix ui-widget-header ui-co
Login.c(118): rner-all" )\n
Login.c(118): \t\t\t.removeAttr( "role" );\n
Login.c(118): \n
Login.c(118): \t\tthis.anchors\n
Login.c(118): \t\t\t.removeClass( "ui-tabs-anchor" )\n
Login.c(118): \t\t\t.removeAttr( "role" )\n
Login.c(118): \t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t.removeUniqueId();\n
Login.c(118): \n
Login.c(118): \t\tthis.tablist.unbind( this.eventNamespace );\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.add( this.panels ).each(function() {\n
Login.c(118): \t\t\tif ( $.data( this, "ui-tabs-destroy" ) ) {\n
Login.c(118): \t\t\t\t$( this ).remove();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\t$( this )\n
Login.c(118): \t\t\t\t\t.removeClass( "ui-state-default ui-state-active ui-
state-disabled " +\n
Login.c(118): \t\t\t\t\t\t"ui-corner-top ui-corner-bottom ui-widget-content ui-
tabs-active ui-tabs-panel
Login.c(118): " )\n
Login.c(118): \t\t\t\t\t.removeAttr( "tabIndex" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-live" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-busy" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-selected" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-labelledby" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-hidden" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "aria-expanded" )\n
Login.c(118): \t\t\t\t\t.removeAttr( "role" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.tabs.each(function() {\n
Login.c(118): \t\t\tvar li = $( this ),\n
Login.c(118): \t\t\t\tprev = li.data( "ui-tabs-aria-controls" );\n
Login.c(118): \t\t\tif ( prev ) {\n
Login.c(118): \t\t\t\tli\n
Login.c(118): \t\t\t\t\t.attr( "aria-controls", prev )\n
Login.c(118): \t\t\t\t\t.removeData( "ui-tabs-aria-controls" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tli.removeAttr( "aria-controls" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\tthis.panels.show();\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.heightStyle !== "content" ) {\n
Login.c(118): \t\t\tthis.panels.css( "height", "" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tenable: function( index ) {\n
Login.c(118): \t\tvar disabled = this.options.disabled;\n
Login.c(118): \t\tif ( disabled === false ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( index === undefined ) {\n
Login.c(118): \t\t\tdisabled = false;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tindex = this._getIndex( index );\n
Login.c(118): \t\t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\t\tdisabled = $.map( disabled, function( num ) {\n
Login.c(118): \t\t\t\t\treturn num !== index ? num : null;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\n
Login.c(118): \t\t\t\t\treturn num !== index ? num : null;\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setupDisabled( disabled );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tdisable: function( index ) {\n
Login.c(118): \t\tvar disabled = this.options.disabled;\n
Login.c(118): \t\tif ( disabled === true ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( index === undefined ) {\n
Login.c(118): \t\t\tdisabled = true;\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\tindex = this._getIndex( index );\n
Login.c(118): \t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\tif ( $.isArray( disabled ) ) {\n
Login.c(118): \t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\tdisabled = [ index ];\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._setupDisabled( disabled );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tload: function( index, event ) {\n
Login.c(118): \t\tindex = this._getIndex( index );\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttab = this.tabs.eq( index ),\n
Login.c(118): \t\t\tanchor = tab.find( ".ui-tabs-anchor" ),\n
Login.c(118): \t\t\tpanel = this._getPanelForTab( tab ),\n
Login.c(118): \t\t\teventData = {\n
Login.c(118): \t\t\t\ttab: tab,\n
Login.c(118): \t\t\t\tpanel: panel\n
Login.c(118): \t\t\t};\n
Login.c(118): \n
Login.c(118): \t\t// not remote\n
Login.c(118): \t\tif ( this._isLocal( anchor[ 0 ] ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.xhr = $.ajax( this._ajaxSettings( anchor, event,
eventData ) );\n
Login.c(118): \n
Login.c(118): \t\t// support: jQuery <1.8\n
Login.c(118): \t\t// jQuery <1.8 returns false if the request is canceled in
beforeSend,\n
Login.c(118): \t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\n
Login.c(118): \t\tif ( this.xhr && this.xhr.statusText !== "canceled" ) {\n
Login.c(118): \t\t\ttab.addClass( "ui-tabs-loading" );\n
Login.c(118): \t\t\tpanel.attr( "aria-busy", "true" );\n
Login.c(118): \n
Login.c(118): \t\t\tthis.xhr\n
Login.c(118): \t\t\t\t.success(function( response ) {\n
Login.c(118): \t\t\t\t\t// support: jQuery <1.8\n
Login.c(118): \t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\tpanel.html( response );\n
Login.c(118): \t\t\t\t\t\tthat._trigger( "load", event, eventData );\n
Login.c(118): \t\t\t\t\t}, 1 );\n
Login.c(118): \t\t\t\t})\n
Login.c(118): \t\t\t\t.complete(function( jqXHR, status ) {\n
Login.c(118): \t\t\t\t\t// support: jQuery <1.8\n
Login.c(118): \t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n
Login.c(118): \t\t\t\t\tsetTimeout(function() {\n
Login.c(118): \t\t\t\t\t\tif ( status === "abort" ) {\n
Login.c(118): \t\t\t\t\t\t\tthat.panels.stop( false, true );\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\ttab.removeClass( "ui-tabs-loading" );\n
Login.c(118): \t\t\t\t\t\tpanel.removeAttr( "aria-busy" );\n
Login.c(118): \n
Login.c(118): \t\t\t\t\t\tif ( jqXHR === that.xhr ) {\n
Login.c(118): \t\t\t\t\t\t\tdelete that.xhr;\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t}, 1 );\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_ajaxSettings: function( anchor, event, eventData ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\turl: anchor.attr( "href" ),\n
Login.c(118): \t\t\tbeforeSend: function( jqXHR, settings ) {\n
Login.c(118): \t\t\t\treturn that._trigger( "beforeLoad", event,\n
Login.c(118): \t\t\t\t\t$.extend( { jqXHR: jqXHR, ajaxSettings: settings },
eventData ) );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_getPanelForTab: function( tab ) {\n
Login.c(118): \t\tvar id = $( tab ).attr( "aria-controls" );\n
Login.c(118): \t\treturn this.element.find( this._sanitizeSelector( "#" +
id ) );\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /*!\n
Login.c(118): * jQuery UI Tooltip 1.11.1\n
Login.c(118): * http://jqueryui.com\n
Login.c(118): *\n
Login.c(118): * Copyright 2014 jQuery Foundation and other contributors\n
Login.c(118): * Released under the MIT license.\n
Login.c(118): * http://jquery.org/license\n
Login.c(118): *\n
Login.c(118): * http://api.jqueryui.com/tooltip/\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): var tooltip = $.widget( "ui.tooltip", {\n
Login.c(118): \tversion: "1.11.1",\n
Login.c(118): \toptions: {\n
Login.c(118): \t\tcontent: function() {\n
Login.c(118): \t\t\t// support: IE<9, Opera in jQuery <1.7\n
Login.c(118): \t\t\t// .text() can't accept undefined, so coerce to a string\n
Login.c(118): \t\t\tvar title = $( this ).attr( "title" ) || "";\n
Login.c(118): \t\t\t// Escape title, since we're going from an attribute to raw
HTML\n
Login.c(118): \t\t\treturn $( "<a>" ).text( title ).html();\n
Login.c(118): \t\t},\n
Login.c(118): \t\thide: true,\n
Login.c(118): \t\t// Disabled elements have inconsistent behavior across
browsers (#8661)\n
Login.c(118): \t\titems: "[title]:not([disabled])",\n
Login.c(118): \t\tposition: {\n
Login.c(118): \t\t\tmy: "left top+15",\n
Login.c(118): \t\t\tat: "left bottom",\n
Login.c(118): \t\t\tcollision: "flipfit flip"\n
Login.c(118): \t\t},\n
Login.c(118): \t\tshow: true,\n
Login.c(118): \t\ttooltipClass: null,\n
Login.c(118): \t\ttrack: false,\n
Login.c(118): \n
Login.c(118): \t\t// callbacks\n
Login.c(118): \t\tclose: null,\n
Login.c(118): \t\topen: null\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_addDescribedBy: function( elem, id ) {\n
Login.c(118): \t\tvar describedby = (elem.attr( "aria-describedby" ) ||
"").split( /\\s+/ );\n
Login.c(118): \t\tdescribedby.push( id );\n
Login.c(118): \t\telem\n
Login.c(118): \t\t\t.data( "ui-tooltip-id", id )\n
Login.c(118): \t\t\t.attr( "aria-describedby", $.trim( describedby.join( "
" ) ) );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeDescribedBy: function( elem ) {\n
Login.c(118): \t\tvar id = elem.data( "ui-tooltip-id" ),\n
Login.c(118): \t\t\tdescribedby = (elem.attr( "aria-describedby" ) ||
"").split( /\\s+/ ),\n
Login.c(118): \t\t\tindex = $.inArray( id, describedby );\n
Login.c(118): \n
Login.c(118): \t\tif ( index !== -1 ) {\n
Login.c(118): \t\t\tdescribedby.splice( index, 1 );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\telem.removeData( "ui-tooltip-id" );\n
Login.c(118): \t\tdescribedby = $.trim( describedby.join( " " ) );\n
Login.c(118): \t\tif ( describedby ) {\n
Login.c(118): \t\t\telem.attr( "aria-describedby", describedby );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\telem.removeAttr( "aria-describedby" );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_create: function() {\n
Login.c(118): \t\tthis._on({\n
Login.c(118): \t\t\tmouseover: "open",\n
Login.c(118): \t\t\tfocusin: "open"\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// IDs of generated tooltips, needed for destroy\n
Login.c(118): \t\tthis.tooltips = {};\n
Login.c(118): \t\t// IDs of parent tooltips where we removed the title
attribute\n
Login.c(118): \t\tthis.parents = {};\n
Login.c(118): \n
Login.c(118): \t\tif ( this.options.disabled ) {\n
Login.c(118): \t\t\tthis._disable();\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Append the aria-live region so tooltips announce
correctly\n
Login.c(118): \t\tthis.liveRegion = $( "<div>" )\n
Login.c(118): \t\t\t.attr({\n
Login.c(118): \t\t\t\trole: "log",\n
Login.c(118): \t\t\t\t"aria-live": "assertive",\n
Login.c(118): \t\t\t\t"aria-relevant": "additions"\n
Login.c(118): \t\t\t})\n
Login.c(118): \t\t\t.addClass( "ui-helper-hidden-accessible" )\n
Login.c(118): \t\t\t.appendTo( this.document[ 0 ].body );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_setOption: function( key, value ) {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "disabled" ) {\n
Login.c(118): \t\t\tthis[ value ? "_disable" : "_enable" ]();\n
Login.c(118): \t\t\tthis.options[ key ] = value;\n
Login.c(118): \t\t\t// disable element style changes\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._super( key, value );\n
Login.c(118): \n
Login.c(118): \t\tif ( key === "content" ) {\n
Login.c(118): \t\t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\t\tthat._updateContent( element );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_disable: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// close open tooltips\n
Login.c(118): \t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\tvar event = $.Event( "blur" );\n
Login.c(118): \t\t\tevent.target = event.currentTarget = element[0];\n
Login.c(118): \t\t\tthat.close( event, true );\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\t// remove title attributes to prevent native tooltips\n
Login.c(118):
\t\tthis.element.find( this.options.items ).addBack().each(function() {\n
Login.c(118): \t\t\tvar element = $( this );\n
Login.c(118): \t\t\tif ( element.is( "[title]" ) ) {\n
Login.c(118): \t\t\t\telement\n
Login.c(118): \t\t\t\t\t.data( "ui-tooltip-title", element.attr( "title" ) )\n
Login.c(118): \t\t\t\t\t.removeAttr( "title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_enable: function() {\n
Login.c(118): \t\t// restore title attributes\n
Login.c(118):
\t\tthis.element.find( this.options.items ).addBack().each(function() {\n
Login.c(118): \t\t\tvar element = $( this );\n
Login.c(118): \t\t\tif ( element.data( "ui-tooltip-title" ) ) {\n
Login.c(118): \t\t\t\telement.attr( "title", element.data( "ui-tooltip-title" )
);\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \topen: function( event ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttarget = $( event ? event.target : this.element )\n
Login.c(118): \t\t\t\t// we need closest here due to mouseover bubbling,\n
Login.c(118): \t\t\t\t// but always pointing at the same event target\n
Login.c(118): \t\t\t\t.closest( this.options.items );\n
Login.c(118): \n
Login.c(118): \t\t// No element to show a tooltip for or the tooltip is already
open\n
Login.c(118): \t\tif ( !target.length || target.data( "ui-tooltip-id" ) ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( target.attr( "title" ) ) {\n
Login.c(118): \t\t\ttarget.data( "ui-tooltip-title",
target.attr( "title" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttarget.data( "ui-tooltip-open", true );\n
Login.c(118): \n
Login.c(118): \t\t// kill parent tooltips, custom or native, for hover\n
Login.c(118): \t\tif ( event && event.type === "mouseover" ) {\n
Login.c(118): \t\t\ttarget.parents().each(function() {\n
Login.c(118): \t\t\t\tvar parent = $( this ),\n
Login.c(118): \t\t\t\t\tblurEvent;\n
Login.c(118): \t\t\t\tif ( parent.data( "ui-tooltip-open" ) ) {\n
Login.c(118): \t\t\t\t\tblurEvent = $.Event( "blur" );\n
Login.c(118): \t\t\t\t\tblurEvent.target = blurEvent.currentTarget = this;\n
Login.c(118): \t\t\t\t\tthat.close( blurEvent, true );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tif ( parent.attr( "title" ) ) {\n
Login.c(118): \t\t\t\t\tparent.uniqueId();\n
Login.c(118): \t\t\t\t\tthat.parents[ this.id ] = {\n
Login.c(118): \t\t\t\t\t\telement: this,\n
Login.c(118): \t\t\t\t\t\ttitle: parent.attr( "title" )\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\t\tparent.attr( "title", "" );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._updateContent( target, event );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_updateContent: function( target, event ) {\n
Login.c(118): \t\tvar content,\n
Login.c(118): \t\t\tcontentOption = this.options.content,\n
Login.c(118): \t\t\tthat = this,\n
Login.c(118): \t\t\teventType = event ? event.type : null;\n
Login.c(118): \n
Login.c(118): \t\tif ( typeof contentOption === "string" ) {\n
Login.c(118): \t\t\treturn this._open( event, target, contentOption );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tcontent = contentOption.call( target[0], function( response )
{\n
Login.c(118): \t\t\t// ignore async response if tooltip was closed already\n
Login.c(118): \t\t\tif ( !target.data( "ui-tooltip-open" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\t// IE may instantly serve a cached response for ajax
requests\n
Login.c(118): \t\t\t// delay this call to _open so the other call to _open runs
first\n
Login.c(118): \t\t\tthat._delay(function() {\n
Login.c(118): \t\t\t\t// jQuery creates a special event for focusin when it
doesn't\n
Login.c(118): \t\t\t\t// exist natively. To improve performance, the native
event\n
Login.c(118): \t\t\t\t// object is reused and the type is changed. Therefore,
we can't\n
Login.c(118): \t\t\t\t// rely on the type being correct after the event
finished\n
Login.c(118): \t\t\t\t// bubbling, so we set it back to the previous value.
(#8740)\n
Login.c(118): \t\t\t\tif ( event ) {\n
Login.c(118): \t\t\t\t\tevent.type = eventType;\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tthis._open( event, target, response );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t});\n
Login.c(118): \t\tif ( content ) {\n
Login.c(118): \t\t\tthis._open( event, target, content );\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_open: function( event, target, content ) {\n
Login.c(118): \t\tvar tooltip, events, delayedShow, a11yContent,\n
Login.c(118): \t\t\tpositionOption = $.extend( {}, this.options.position );\n
Login.c(118): \n
Login.c(118): \t\tif ( !content ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Content can be updated multiple times. If the tooltip
already\n
Login.c(118): \t\t// exists, then just update the content and bail.\n
Login.c(118): \t\ttooltip = this._find( target );\n
Login.c(118): \t\tif ( tooltip.length ) {\n
Login.c(118): \t\t\ttooltip.find( ".ui-tooltip-content" ).html( content );\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// if we have a title, clear it to prevent the native
tooltip\n
Login.c(118): \t\t// we have to check first to avoid defining a title if none
exists\n
Login.c(118): \t\t// (we don't want to cause an element to start matching
[title])\n
Login.c(118): \t\t//\n
Login.c(118): \t\t// We use removeAttr only for key events, to allow IE to
export the correct\n
Login.c(118): \t\t// accessible attributes. For mouse events, set to empty
string to avoid\n
Login.c(118): \t\t// native tooltip showing up (happens only when removing
inside mouseover).\n
Login.c(118): \t\tif ( target.is( "[title]" ) ) {\n
Login.c(118): \t\t\tif ( event && event.type === "mouseover" ) {\n
Login.c(118): \t\t\t\ttarget.attr( "title", "" );\n
Login.c(118): \t\t\t} else {\n
Login.c(118): \t\t\t\ttarget.removeAttr( "title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\ttooltip = this._tooltip( target );\n
Login.c(118): \t\tthis._addDescribedBy( target, tooltip.attr( "id" ) );\n
Login.c(118): \t\ttooltip.find( ".ui-tooltip-content" ).html( content
Login.c(118): t=7630ms: 5160-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery-ui.js" (RelFrameId=, Internal
ID=42)
Login.c(118): );\n
Login.c(118): \n
Login.c(118): \t\t// Support: Voiceover on OS X, JAWS on IE <= 9\n
Login.c(118): \t\t// JAWS announces deletions even when aria-
relevant="additions"\n
Login.c(118): \t\t// Voiceover will sometimes re-read the entire log region's
contents from the beginnin
Login.c(118): g\n
Login.c(118): \t\tthis.liveRegion.children().hide();\n
Login.c(118): \t\tif ( content.clone ) {\n
Login.c(118): \t\t\ta11yContent = content.clone();\n
Login.c(118):
\t\t\ta11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ta11yContent = content;\n
Login.c(118): \t\t}\n
Login.c(118): \t\t$
( "<div>" ).html( a11yContent ).appendTo( this.liveRegion );\n
Login.c(118): \n
Login.c(118): \t\tfunction position( event ) {\n
Login.c(118): \t\t\tpositionOption.of = event;\n
Login.c(118): \t\t\tif ( tooltip.is( ":hidden" ) ) {\n
Login.c(118): \t\t\t\treturn;\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t\ttooltip.position( positionOption );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( this.options.track && event && /^mouse/.test( event.type
) ) {\n
Login.c(118): \t\t\tthis._on( this.document, {\n
Login.c(118): \t\t\t\tmousemove: position\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t\t// trigger once to override element-relative positioning\n
Login.c(118): \t\t\tposition( event );\n
Login.c(118): \t\t} else {\n
Login.c(118): \t\t\ttooltip.position( $.extend({\n
Login.c(118): \t\t\t\tof: target\n
Login.c(118): \t\t\t}, this.options.position ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.hiding = false;\n
Login.c(118): \t\tthis.closing = false;\n
Login.c(118): \t\ttooltip.hide();\n
Login.c(118): \n
Login.c(118): \t\tthis._show( tooltip, this.options.show );\n
Login.c(118): \t\t// Handle tracking tooltips that are shown with a delay
(#8644). As soon\n
Login.c(118): \t\t// as the tooltip is visible, position the tooltip using the
most recent\n
Login.c(118): \t\t// event.\n
Login.c(118): \t\tif ( this.options.show && this.options.show.delay ) {\n
Login.c(118): \t\t\tdelayedShow = this.delayedShow = setInterval(function() {\n
Login.c(118): \t\t\t\tif ( tooltip.is( ":visible" ) ) {\n
Login.c(118): \t\t\t\t\tposition( positionOption.of );\n
Login.c(118): \t\t\t\t\tclearInterval( delayedShow );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}, $.fx.interval );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._trigger( "open", event, { tooltip: tooltip } );\n
Login.c(118): \n
Login.c(118): \t\tevents = {\n
Login.c(118): \t\t\tkeyup: function( event ) {\n
Login.c(118): \t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n
Login.c(118): \t\t\t\t\tvar fakeEvent = $.Event(event);\n
Login.c(118): \t\t\t\t\tfakeEvent.currentTarget = target[0];\n
Login.c(118): \t\t\t\t\tthis.close( fakeEvent, true );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t};\n
Login.c(118): \n
Login.c(118): \t\t// Only bind remove handler for delegated targets. Non-
delegated\n
Login.c(118): \t\t// tooltips will handle this in destroy.\n
Login.c(118): \t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tevents.remove = function() {\n
Login.c(118): \t\t\t\tthis._removeTooltip( tooltip );\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tif ( !event || event.type === "mouseover" ) {\n
Login.c(118): \t\t\tevents.mouseleave = "close";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tif ( !event || event.type === "focusin" ) {\n
Login.c(118): \t\t\tevents.focusout = "close";\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._on( true, target, events );\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \tclose: function( event ) {\n
Login.c(118): \t\tvar that = this,\n
Login.c(118): \t\t\ttarget = $( event ? event.currentTarget : this.element ),\n
Login.c(118): \t\t\ttooltip = this._find( target );\n
Login.c(118): \n
Login.c(118): \t\t// disabling closes the tooltip, so we need to track when
we're closing\n
Login.c(118): \t\t// to avoid an infinite loop in case the tooltip becomes
disabled on close\n
Login.c(118): \t\tif ( this.closing ) {\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\t// Clear the interval for delayed tracking tooltips\n
Login.c(118): \t\tclearInterval( this.delayedShow );\n
Login.c(118): \n
Login.c(118): \t\t// only set title if we had one before (see comment in
_open())\n
Login.c(118): \t\t// If the title attribute has changed since open(), don't
restore\n
Login.c(118): \t\tif ( target.data( "ui-tooltip-title" ) && !
target.attr( "title" ) ) {\n
Login.c(118): \t\t\ttarget.attr( "title", target.data( "ui-tooltip-
title" ) );\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis._removeDescribedBy( target );\n
Login.c(118): \n
Login.c(118): \t\tthis.hiding = true;\n
Login.c(118): \t\ttooltip.stop( true );\n
Login.c(118): \t\tthis._hide( tooltip, this.options.hide, function() {\n
Login.c(118): \t\t\tthat._removeTooltip( $( this ) );\n
Login.c(118): \t\t\tthis.hiding = false;\n
Login.c(118): \t\t\tthis.closing = false;\n
Login.c(118): \t\t});\n
Login.c(118): \n
Login.c(118): \t\ttarget.removeData( "ui-tooltip-open" );\n
Login.c(118): \t\tthis._off( target, "mouseleave focusout keyup" );\n
Login.c(118): \n
Login.c(118): \t\t// Remove 'remove' binding only on delegated targets\n
Login.c(118): \t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n
Login.c(118): \t\t\tthis._off( target, "remove" );\n
Login.c(118): \t\t}\n
Login.c(118): \t\tthis._off( this.document, "mousemove" );\n
Login.c(118): \n
Login.c(118): \t\tif ( event && event.type === "mouseleave" ) {\n
Login.c(118): \t\t\t$.each( this.parents, function( id, parent ) {\n
Login.c(118): \t\t\t\t$( parent.element ).attr( "title", parent.title );\n
Login.c(118): \t\t\t\tdelete that.parents[ id ];\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \n
Login.c(118): \t\tthis.closing = true;\n
Login.c(118): \t\tthis._trigger( "close", event, { tooltip: tooltip } );\n
Login.c(118): \t\tif ( !this.hiding ) {\n
Login.c(118): \t\t\tthis.closing = false;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_tooltip: function( element ) {\n
Login.c(118): \t\tvar tooltip = $( "<div>" )\n
Login.c(118): \t\t\t\t.attr( "role", "tooltip" )\n
Login.c(118): \t\t\t\t.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-
content " +\n
Login.c(118): \t\t\t\t\t( this.options.tooltipClass || "" ) ),\n
Login.c(118): \t\t\tid = tooltip.uniqueId().attr( "id" );\n
Login.c(118): \n
Login.c(118): \t\t$( "<div>" )\n
Login.c(118): \t\t\t.addClass( "ui-tooltip-content" )\n
Login.c(118): \t\t\t.appendTo( tooltip );\n
Login.c(118): \n
Login.c(118): \t\ttooltip.appendTo( this.document[0].body );\n
Login.c(118): \t\tthis.tooltips[ id ] = element;\n
Login.c(118): \t\treturn tooltip;\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_find: function( target ) {\n
Login.c(118): \t\tvar id = target.data( "ui-tooltip-id" );\n
Login.c(118): \t\treturn id ? $( "#" + id ) : $();\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_removeTooltip: function( tooltip ) {\n
Login.c(118): \t\ttooltip.remove();\n
Login.c(118): \t\tdelete this.tooltips[ tooltip.attr( "id" ) ];\n
Login.c(118): \t},\n
Login.c(118): \n
Login.c(118): \t_destroy: function() {\n
Login.c(118): \t\tvar that = this;\n
Login.c(118): \n
Login.c(118): \t\t// close open tooltips\n
Login.c(118): \t\t$.each( this.tooltips, function( id, element ) {\n
Login.c(118): \t\t\t// Delegate to close method to handle common cleanup\n
Login.c(118): \t\t\tvar event = $.Event( "blur" );\n
Login.c(118): \t\t\tevent.target = event.currentTarget = element[0];\n
Login.c(118): \t\t\tthat.close( event, true );\n
Login.c(118): \n
Login.c(118): \t\t\t// Remove immediately; destroying an open tooltip doesn't
use the\n
Login.c(118): \t\t\t// hide animation\n
Login.c(118): \t\t\t$( "#" + id ).remove();\n
Login.c(118): \n
Login.c(118): \t\t\t// Restore the title\n
Login.c(118): \t\t\tif ( element.data( "ui-tooltip-title" ) ) {\n
Login.c(118): \t\t\t\t// If the title attribute has changed since open(), don't
restore\n
Login.c(118): \t\t\t\tif ( !element.attr( "title" ) ) {\n
Login.c(118): \t\t\t\t\telement.attr( "title", element.data( "ui-tooltip-title"
) );\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\telement.removeData( "ui-tooltip-title" );\n
Login.c(118): \t\t\t}\n
Login.c(118): \t\t});\n
Login.c(118): \t\tthis.liveRegion.remove();\n
Login.c(118): \t}\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): }));
Login.c(118): t=7638ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"12832-1416253818000"\r\n
Login.c(118): Last-Modified: Mon, 17 Nov 2014 19:50:18 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:48 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7639ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): a\r\n
Login.c(118): t=7639ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7639ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7640ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7641ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=7641ms: 6-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 8a\r\n
Login.c(118): t=7641ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=7641ms: 4244-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): t=7642ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): /*! \n
Login.c(118): * jquery.event.drag - v 2.2\n
Login.c(118): * Copyright (c) 2010 Three Dub Media -
http://threedubmedia.com\n
Login.c(118): * Open Source MIT License -
http://threedubmedia.com/code/license\n
Login.c(118): */\n
Login.c(118): // Created: 2008-06-04 \n
Login.c(118): // Updated: 2012-05-21\n
Login.c(118): // REQUIRES: jquery 1.7.x\n
Login.c(118): \n
Login.c(118): ;(function( $ ){\n
Login.c(118): \n
Login.c(118): // add the jquery instance method\n
Login.c(118): $.fn.drag = function( str, arg, opts ){\n
Login.c(118): \t// figure out the event type\n
Login.c(118): \tvar type = typeof str == "string" ? str : "",\n
Login.c(118): \t// figure out the event handler...\n
Login.c(118): \tfn = $.isFunction( str ) ? str : $.isFunction( arg ) ? arg :
null;\n
Login.c(118): \t// fix the event type\n
Login.c(118): \tif ( type.indexOf("drag") !== 0 ) \n
Login.c(118): \t\ttype = "drag"+ type;\n
Login.c(118): \t// were options passed\n
Login.c(118): \topts = ( str == fn ? arg : opts ) || {};\n
Login.c(118): \t// trigger or bind event handler\n
Login.c(118): \treturn fn ? this.bind( type, opts, fn ) :
this.trigger( type );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // local refs (increase compression)\n
Login.c(118): var $event = $.event, \n
Login.c(118): $special = $event.special,\n
Login.c(118): // configure the drag special event \n
Login.c(118): drag = $special.drag = {\n
Login.c(118): \t\n
Login.c(118): \t// these are the default settings\n
Login.c(118): \tdefaults: {\n
Login.c(118): \t\twhich: 1, // mouse button pressed to start drag sequence\n
Login.c(118): \t\tdistance: 0, // distance dragged before dragstart\n
Login.c(118): \t\tnot: ':input', // selector to suppress dragging on target
elements\n
Login.c(118): \t\thandle: null, // selector to match handle target elements\n
Login.c(118): \t\trelative: false, // true to use "position", false to use
"offset"\n
Login.c(118): \t\tdrop: true, // false to suppress drop events, true or
selector to allow\n
Login.c(118): \t\tclick: false // false to suppress click events after dragend
(no proxy)\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// the key name for stored drag data\n
Login.c(118): \tdatakey: "dragdata",\n
Login.c(118): \t\n
Login.c(118): \t// prevent bubbling for better performance\n
Login.c(118): \tnoBubble: true,\n
Login.c(118): \t\n
Login.c(118): \t// count bound related events\n
Login.c(118): \tadd: function( obj ){ \n
Login.c(118): \t\t// read the interaction data\n
Login.c(118): \t\tvar data = $.data( this, drag.datakey ),\n
Login.c(118): \t\t// read any passed options \n
Login.c(118): \t\topts = obj.data || {};\n
Login.c(118): \t\t// count another realted event\n
Login.c(118): \t\tdata.related += 1;\n
Login.c(118): \t\t// extend data options bound with this event\n
Login.c(118): \t\t// don't iterate "opts" in case it is a node \n
Login.c(118): \t\t$.each( drag.defaults, function( key, def ){\n
Login.c(118): \t\t\tif ( opts[ key ] !== undefined )\n
Login.c(118): \t\t\t\tdata[ key ] = opts[ key ];\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// forget unbound related events\n
Login.c(118): \tremove: function(){\n
Login.c(118): \t\t$.data( this, drag.datakey ).related -= 1;\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// configure interaction, capture settings\n
Login.c(118): \tsetup: function(){\n
Login.c(118): \t\t// check for related events\n
Login.c(118): \t\tif ( $.data( this, drag.datakey ) ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// initialize the drag data with copied defaults\n
Login.c(118): \t\tvar data = $.extend({ related:0 }, drag.defaults );\n
Login.c(118): \t\t// store the interaction data\n
Login.c(118): \t\t$.data( this, drag.datakey, data );\n
Login.c(118): \t\t// bind the mousedown event, which starts drag interactions\n
Login.c(118): \t\t$event.add( this, "touchstart mousedown", drag.init,
data );\n
Login.c(118): \t\t// prevent image dragging in IE...\n
Login.c(118): \t\tif ( this.attachEvent ) \n
Login.c(118): \t\t\tthis.attachEvent("ondragstart", drag.dontstart ); \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// destroy configured interaction\n
Login.c(118): \tteardown: function(){\n
Login.c(118): \t\tvar data = $.data( this, drag.datakey ) || {};\n
Login.c(118): \t\t// check for related events\n
Login.c(118): \t\tif ( data.related ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// remove the stored data\n
Login.c(118): \t\t$.removeData( this, drag.datakey );\n
Login.c(118): \t\t// remove the mousedown event\n
Login.c(118): \t\t$event.remove( this, "touchstart mousedown", drag.init );\n
Login.c(118): \t\t// enable text selection\n
Login.c(118): \t\tdrag.textselect( true ); \n
Login.c(118): \t\t// un-prevent image dragging in IE...\n
Login.c(118): \t\tif ( this.detachEvent ) \n
Login.c(118): \t\t\tthis.detachEvent("ondragstart", drag.dontstart ); \n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// initialize the interaction\n
Login.c(118): \tinit: function( event ){ \n
Login.c(118): \t\t// sorry, only one touch at a time\n
Login.c(118): \t\tif ( drag.touched ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// the drag/drop interaction data\n
Login.c(118): \t\tvar dd = event.data, results;\n
Login.c(118): \t\t// check the which directive\n
Login.c(118): \t\tif ( event.which != 0 && dd.which > 0 && event.which !=
dd.which ) \n
Login.c(118): \t\t\treturn; \n
Login.c(118): \t\t// check for suppressed selector\n
Login.c(118): \t\tif ( $( event.target ).is( dd.not ) ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// check for handle selector\n
Login.c(118): \t\tif ( dd.handle && !$( event.target ).closest( dd.handle,
event.currentTarget ).length
Login.c(118): ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \n
Login.c(118): \t\tdrag.touched = event.type == 'touchstart' ? this : null;\n
Login.c(118): \t\tdd.propagates = 1;\n
Login.c(118): \t\tdd.mousedown = this;\n
Login.c(118): \t\tdd.interactions = [ drag.interaction( this, dd ) ];\n
Login.c(118): \t\tdd.target = event.target;\n
Login.c(118): \t\tdd.pageX = event.pageX;\n
Login.c(118): \t\tdd.pageY = event.pageY;\n
Login.c(118): \t\tdd.dragging = null;\n
Login.c(118): \t\t// handle draginit event... \n
Login.c(118): \t\tresults = drag.hijack( event, "draginit", dd );\n
Login.c(118): \t\t// early cancel\n
Login.c(118): \t\tif ( !dd.propagates )\n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// flatten the result set\n
Login.c(118): \t\tresults = drag.flatten( results );\n
Login.c(118): \t\t// insert new interaction elements\n
Login.c(118): \t\tif ( results && results.length ){\n
Login.c(118): \t\t\tdd.interactions = [];\n
Login.c(118): \t\t\t$.each( results, function(){\n
Login.c(118): \t\t\t\tdd.interactions.push( drag.interaction( this, dd ) );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\t// remember how many interactions are propagating\n
Login.c(118): \t\tdd.propagates = dd.interactions.length;\n
Login.c(118): \t\t// locate and init the drop targets\n
Login.c(118): \t\tif ( dd.drop !== false && $special.drop ) \n
Login.c(118): \t\t\t$special.drop.handler( event, dd );\n
Login.c(118): \t\t// disable text selection\n
Login.c(118): \t\tdrag.textselect( false ); \n
Login.c(118): \t\t// bind additional events...\n
Login.c(118): \t\tif ( drag.touched )\n
Login.c(118): \t\t\t$event.add( drag.touched, "touchmove touchend",
drag.handler, dd );\n
Login.c(118): \t\telse \n
Login.c(118): \t\t\t$event.add( document, "mousemove mouseup", drag.handler, dd
);\n
Login.c(118): \t\t// helps prevent text selection or scrolling\n
Login.c(118): \t\tif ( !drag.touched || dd.live )\n
Login.c(118): \t\t\treturn false;\n
Login.c(118): \t},\t\n
Login.c(118): \t\n
Login.c(118): \t// returns an interaction object\n
Login.c(118): \tinteraction: function( elem, dd ){\n
Login.c(118): \t\tvar offset = $( elem )[ dd.relative ? "position" : "offset" ]
() || { top:0, left:0 };\n
Login.c(118): \t\treturn {\n
Login.c(118): \t\t\tdrag: elem, \n
Login.c(118): \t\t\tcallback: new drag.callback(), \n
Login.c(118): \t\t\tdroppable: [],\n
Login.c(118): \t\t\toffset: offset\n
Login.c(118): \t\t};\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// handle drag-releatd DOM events\n
Login.c(118): \thandler: function( event ){ \n
Login.c(118): \t\t// read the data before hijacking anything\n
Login.c(118): \t\tvar dd = event.data;\t\n
Login.c(118): \t\t// handle various events\n
Login.c(118): \t\tswitch ( event.type ){\n
Login.c(118): \t\t\t// mousemove, check distance, start dragging\n
Login.c(118): \t\t\tcase !dd.dragging && 'touchmove': \n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcase !dd.dragging && 'mousemove':\n
Login.c(118): \t\t\t\t// drag tolerance, x\xE2\x89\xA4 + y\xE2\x89\xA4 =
distance\xE2\x89\xA4\n
Login.c(118): \t\t\t\tif ( Math.pow( event.pageX-dd.pageX, 2 ) +
Math.pow( event.pageY-dd.pageY, 2 ) <
Login.c(118): Math.pow( dd.distance, 2 ) ) \n
Login.c(118): \t\t\t\t\tbreak; // distance tolerance not reached\n
Login.c(118): \t\t\t\tevent.target = dd.target; // force target from
"mousedown" event (fix distance iss
Login.c(118): ue)\n
Login.c(118): \t\t\t\tdrag.hijack( event, "dragstart", dd ); // trigger
"dragstart"\n
Login.c(118): \t\t\t\tif ( dd.propagates ) // "dragstart" not rejected\n
Login.c(118): \t\t\t\t\tdd.dragging = true; // activate interaction\n
Login.c(118): \t\t\t// mousemove, dragging\n
Login.c(118): \t\t\tcase 'touchmove':\n
Login.c(118): \t\t\t\tevent.preventDefault();\n
Login.c(118): \t\t\tcase 'mousemove':\n
Login.c(118): \t\t\t\tif ( dd.dragging ){\n
Login.c(118): \t\t\t\t\t// trigger "drag"\t\t\n
Login.c(118): \t\t\t\t\tdrag.hijack( event, "drag", dd );\n
Login.c(118): \t\t\t\t\tif ( dd.propagates ){\n
Login.c(118): \t\t\t\t\t\t// manage drop events\n
Login.c(118): \t\t\t\t\t\tif ( dd.drop !== false && $special.drop )\n
Login.c(118): \t\t\t\t\t\t\t$special.drop.handler( event, dd ); // "dropstart",
"dropend"\t\t\t\t\t\t\t\n
Login.c(118): \t\t\t\t\t\tbreak; // "drag" not rejected, stop\t\t\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tevent.type = "mouseup"; // helps "drop" handler
behave\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t// mouseup, stop dragging\n
Login.c(118): \t\t\tcase 'touchend': \n
Login.c(118): \t\t\tcase 'mouseup': \n
Login.c(118): \t\t\tdefault:\n
Login.c(118): \t\t\t\tif ( drag.touched )\n
Login.c(118): \t\t\t\t\t$event.remove( drag.touched, "touchmove touchend",
drag.handler ); // remove tou
Login.c(118): ch events\n
Login.c(118): \t\t\t\telse \n
Login.c(118): \t\t\t\t\t$event.remove( document, "mousemove mouseup",
drag.handler ); // remove page eve
Login.c(118): nts\t\n
Login.c(118): \t\t\t\tif ( dd.dragging ){\n
Login.c(118): \t\t\t\t\tif ( dd.drop !== false && $special.drop )\n
Login.c(118): \t\t\t\t\t\t$special.drop.handler( event, dd ); // "drop"\n
Login.c(118): \t\t\t\t\tdrag.hijack( event, "dragend", dd ); // trigger
"dragend"\t\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\tdrag.textselect( true ); // enable text selection\n
Login.c(118): \t\t\t\t// if suppressing click events...\n
Login.c(118): \t\t\t\tif ( dd.click === false && dd.dragging )\n
Login.c(118): \t\t\t\t\t$.data( dd.mousedown, "suppress.click", new
Date().getTime() + 5 );\n
Login.c(118): \t\t\t\tdd.dragging = drag.touched = false; // deactivate
element\t\n
Login.c(118): \t\t\t\tbreak;\n
Login.c(118): \t\t}\n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// re-use event object for custom events\n
Login.c(118): \thijack: function( event, type, dd, x, elem ){\n
Login.c(118): \t\t// not configured\n
Login.c(118): \t\tif ( !dd ) \n
Login.c(118): \t\t\treturn;\n
Login.c(118): \t\t// remember the original event and type\n
Login.c(118): \t\tvar orig = { event:event.originalEvent, type:event.type },\n
Login.c(118): \t\t// is the event drag related or drog related?\n
Login.c(118): \t\tmode = type.indexOf("drop") ? "drag" : "drop",\n
Login.c(118): \t\t// iteration vars\n
Login.c(118): \t\tresult, i = x || 0, ia, $elems, callback,\n
Login.c(118): \t\tlen = !isNaN( x ) ? x : dd.interactions.length;\n
Login.c(118): \t\t// modify the event type\n
Login.c(118): \t\tevent.type = type;\n
Login.c(118): \t\t// remove the original event\n
Login.c(118): \t\tevent.originalEvent = null;\n
Login.c(118): \t\t// initialize the results\n
Login.c(118): \t\tdd.results = [];\n
Login.c(118): \t\t// handle each interacted element\n
Login.c(118): \t\tdo if ( ia = dd.interactions[ i ] ){\n
Login.c(118): \t\t\t// validate the interaction\n
Login.c(118): \t\t\tif ( type !== "dragend" && ia.cancelled )\n
Login.c(118): \t\t\t\tcontinue;\n
Login.c(118): \t\t\t// set the dragdrop properties on the event object\n
Login.c(118): \t\t\tcallback = drag.properties( event, dd, ia );\n
Login.c(118): \t\t\t// prepare for more results\n
Login.c(118): \t\t\tia.results = [];\n
Login.c(118): \t\t\t// handle each element\n
Login.c(118): \t\t\t$( elem || ia[ mode ] || dd.droppable ).each(function( p,
subject ){\n
Login.c(118): \t\t\t\t// identify drag or drop targets individually\n
Login.c(118): \t\t\t\tcallback.target = subject;\n
Login.c(118): \t\t\t\t// force propagtion of the custom event\n
Login.c(118): \t\t\t\tevent.isPropagationStopped = function(){ return
false; };\n
Login.c(118): \t\t\t\t// handle the event\t\n
Login.c(118): \t\t\t\tresult = subject ? $event.dispatch.call( subject, event,
callback ) : null;\n
Login.c(118): \t\t\t\t// stop the drag interaction for this element\n
Login.c(118): \t\t\t\tif ( result === false ){\n
Login.c(118): \t\t\t\t\tif ( mode == "drag" ){\n
Login.c(118): \t\t\t\t\t\tia.cancelled = true;\n
Login.c(118): \t\t\t\t\t\tdd.propagates -= 1;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t\tif ( type == "drop" ){\n
Login.c(118): \t\t\t\t\t\tia[ mode ][p] = null;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t\t// assign any dropinit elements\n
Login.c(118): \t\t\t\telse if ( type == "dropinit" )\n
Login.c(118): \t\t\t\t\tia.droppable.push( drag.element( result ) ||
subject );\n
Login.c(118): \t\t\t\t// accept a returned proxy element \n
Login.c(118): \t\t\t\tif ( type == "dragstart" )\n
Login.c(118): \t\t\t\t\tia.proxy = $( drag.element( result ) || ia.drag )[0];\n
Login.c(118): \t\t\t\t// remember this result\t\n
Login.c(118): \t\t\t\tia.results.push( result );\n
Login.c(118): \t\t\t\t// forget the event result, for recycling\n
Login.c(118): \t\t\t\tdelete event.result;\n
Login.c(118): \t\t\t\t// break on cancelled handler\n
Login.c(118): \t\t\t\tif ( type !== "dropinit" )\n
Login.c(118): \t\t\t\t\treturn result;\n
Login.c(118): \t\t\t});\t\n
Login.c(118): \t\t\t// flatten the results\t\n
Login.c(118): \t\t\tdd.results[ i ] = drag.flatten( ia.results );\t\n
Login.c(118): \t\t\t// accept a set of valid drop targets\n
Login.c(118): \t\t\tif ( type == "dropinit" )\n
Login.c(118): \t\t\t\tia.droppable = drag.flatten( ia.droppable );\n
Login.c(118): \t\t\t// locate drop targets\n
Login.c(118): \t\t\tif ( type == "dragstart" && !ia.cancelled )\n
Login.c(118): \t\t\t\tcallback.update(); \n
Login.c(118): \t\t}\n
Login.c(118): \t\twhile ( ++i < len )\n
Login.c(118): \t\t// restore the original event & type\n
Login.c(118): \t\tevent.type = orig.type;\n
Login.c(118): \t\tevent.originalEvent = orig.event;\n
Login.c(118): \t\t// return all handler results\n
Login.c(118): \t\treturn drag.flatten( dd.results );\n
Login.c(118): \t},\n
Login.c(118): \t\t\n
Login.c(118): \t// extend the callback object with drag/drop properties...\n
Login.c(118): \tproperties: function( event, dd, ia ){\t\t\n
Login.c(118): \t\tvar obj = ia.callback;\n
Login.c(118): \t\t// elements\n
Login.c(118): \t\tobj.drag = ia.drag;\n
Login.c(118): \t\tobj.proxy = ia.proxy || ia.drag;\n
Login.c(118): \t\t// starting mouse position\n
Login.c(118): \t\tobj.startX = dd.pageX;\n
Login.c(118): \t\tobj.startY = dd.pageY;\n
Login.c(118): \t\t// current distance dragged\n
Login.c(118): \t\tobj.deltaX = event.pageX - dd.pageX;\n
Login.c(118): \t\tobj.deltaY = event.pageY - dd.pageY;\n
Login.c(118): \t\t// original element position\n
Login.c(118): \t\tobj.originalX = ia.offset.left;\n
Login.c(118): \t\tobj.originalY = ia.offset.top;\n
Login.c(118): \t\t// adjusted element position\n
Login.c(118): \t\tobj.offsetX = obj.originalX + obj.deltaX; \n
Login.c(118): \t\tobj.offsetY = obj.originalY + obj.deltaY;\n
Login.c(118): \t\t// assign the drop targets information\n
Login.c(118): \t\tobj.drop = drag.flatten( ( ia.drop || [] ).slice() );\n
Login.c(118): \t\tobj.available = drag.flatten( ( ia.droppable ||
[] ).slice() );\n
Login.c(118): \t\treturn obj;\t\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// determine is the argument is an element or jquery instance\n
Login.c(118): \telement: function( arg ){\n
Login.c(118): \t\tif ( arg && ( arg.jquery || arg.nodeType == 1 ) )\n
Login.c(118): \t\t\treturn arg;\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// flatten nested jquery objects and arrays into a single
dimension array\n
Login.c(118): \tflatten: function( arr ){\n
Login.c(118): \t\treturn $.map( arr, function( member ){\n
Login.c(118): \t\t\treturn member && member.jquery ? $.makeArray( member ) : \n
Login.c(118): \t\t\t\tmember && member.length ? drag.flatten( member ) :
member;\n
Login.c(118): \t\t});\n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// toggles text selection attributes ON (true) or OFF (false)\n
Login.c(118): \ttextselect: function( bool ){ \n
Login.c(118): \t\t$( document )[ bool ? "unbind" : "bind" ]("selectstart",
drag.dontstart )\n
Login.c(118): \t\t\t.css("MozUserSelect", bool ? "" : "none" );\n
Login.c(118): \t\t// .attr("unselectable", bool ? "off" : "on" )\n
Login.c(118): \t\tdocument.unselectable = bool ? "off" : "on"; \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// suppress "selectstart" and "ondragstart" events\n
Login.c(118): \tdontstart: function(){ \n
Login.c(118): \t\treturn false; \n
Login.c(118): \t},\n
Login.c(118): \t\n
Login.c(118): \t// a callback instance contructor\n
Login.c(118): \tcallback: function(){}\n
Login.c(118): \t\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // callback methods\n
Login.c(118): drag.callback.prototype = {\n
Login.c(118): \tupdate: function(){\n
Login.c(118): \t\tif ( $special.drop && this.available.length )\n
Login.c(118): \t\t\t$.each( this.available, function( i ){\n
Login.c(118): \t\t\t\t$special.drop.locate( this, i );\n
Login.c(118): \t\t\t});\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // patch $.event.$dispatch to allow suppressing clicks\n
Login.c(118): var $dispatch = $event.dispatch;\n
Login.c(118): $event.dispatch = function( event ){\n
Login.c(118): \tif ( $.data( this, "suppress."+ event.type ) - new
Date().getTime() > 0 ){\n
Login.c(118): \t\t$.removeData( this, "suppress."+ event.type );\n
Login.c(118): \t\treturn;\n
Login.c(118): \t}\n
Login.c(118): \treturn $dispatch.apply( this, arguments );\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // event fix hooks for touch events...\n
Login.c(118): var touchHooks = \n
Login.c(118): $event.fixHooks.touchstart = \n
Login.c(118): $event.fixHooks.touchmove = \n
Login.c(118): $event.fixHooks.touchend =\n
Login.c(118): $event.fixHooks.touchcancel = {\n
Login.c(118): \tprops: "clientX clientY pageX pageY scr
Login.c(118): t=7658ms: 544-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/vendor/slickgrid/jquery.event.drag-2.2.js"
(RelFrameId=, Internal ID=43)
Login.c(118): eenX screenY".split( " " ),\n
Login.c(118): \tfilter: function( event, orig ) {\n
Login.c(118): \t\tif ( orig ){\n
Login.c(118): \t\t\tvar touched = ( orig.touches && orig.touches[0] )\n
Login.c(118): \t\t\t\t|| ( orig.changedTouches && orig.changedTouches[0] )\n
Login.c(118): \t\t\t\t|| null; \n
Login.c(118): \t\t\t// iOS webkit: touchstart, touchmove, touchend\n
Login.c(118): \t\t\tif ( touched ) \n
Login.c(118): \t\t\t\t$.each( touchHooks.props, function( i, prop ){\n
Login.c(118): \t\t\t\t\tevent[ prop ] = touched[ prop ];\n
Login.c(118): \t\t\t\t});\n
Login.c(118): \t\t}\n
Login.c(118): \t\treturn event;\n
Login.c(118): \t}\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): // share the same special event configuration with related
events...\n
Login.c(118): $special.draginit = $special.dragstart = $special.dragend =
drag;\n
Login.c(118): \n
Login.c(118): })( jQuery );
Login.c(118): t=7659ms: 245-byte response headers for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"185122-1419875208000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:46:48 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 185122\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7662ms: 8396-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): /***\n
Login.c(118): * Contains core SlickGrid classes.\n
Login.c(118): * @module Core\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Event": Event,\n
Login.c(118): "EventData": EventData,\n
Login.c(118): "EventHandler": EventHandler,\n
Login.c(118): "Range": Range,\n
Login.c(118): "NonDataRow": NonDataItem,\n
Login.c(118): "Group": Group,\n
Login.c(118): "GroupTotals": GroupTotals,\n
Login.c(118): "EditorLock": EditorLock,\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A global singleton editor lock.\n
Login.c(118): * @class GlobalEditorLock\n
Login.c(118): * @static\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): "GlobalEditorLock": new EditorLock()\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * An event object for passing data to event handlers and
letting them control propagati
Login.c(118): on.\n
Login.c(118): * <p>This is pretty much identical to how W3C and jQuery
implement events.</p>\n
Login.c(118): * @class EventData\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function EventData() {\n
Login.c(118): var isPropagationStopped = false;\n
Login.c(118): var isImmediatePropagationStopped = false;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Stops event from propagating up the DOM tree.\n
Login.c(118): * @method stopPropagation\n
Login.c(118): */\n
Login.c(118): this.stopPropagation = function () {\n
Login.c(118): isPropagationStopped = true;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether stopPropagation was called on this event
object.\n
Login.c(118): * @method isPropagationStopped\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isPropagationStopped = function () {\n
Login.c(118): return isPropagationStopped;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Prevents the rest of the handlers from being executed.\n
Login.c(118): * @method stopImmediatePropagation\n
Login.c(118): */\n
Login.c(118): this.stopImmediatePropagation = function () {\n
Login.c(118): isImmediatePropagationStopped = true;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether stopImmediatePropagation was called on
this event object.\\\n
Login.c(118): * @method isImmediatePropagationStopped\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isImmediatePropagationStopped = function () {\n
Login.c(118): return isImmediatePropagationStopped;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A simple publisher-subscriber implementation.\n
Login.c(118): * @class Event\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function Event() {\n
Login.c(118): var handlers = [];\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Adds an event handler to be called when the event is
fired.\n
Login.c(118): * <p>Event handler will receive two arguments - an
<code>EventData</code> and the <co
Login.c(118): de>data</code>\n
Login.c(118): * object the event was fired with.<p>\n
Login.c(118): * @method subscribe\n
Login.c(118): * @param fn {Function} Event handler.\n
Login.c(118): */\n
Login.c(118): this.subscribe = function (fn) {\n
Login.c(118): handlers.push(fn);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Removes an event handler added with
<code>subscribe(fn)</code>.\n
Login.c(118): * @method unsubscribe\n
Login.c(118): * @param fn {Function} Event handler to be removed.\n
Login.c(118): */\n
Login.c(118): this.unsubscribe = function (fn) {\n
Login.c(118): for (var i = handlers.length - 1; i >= 0; i--) {\n
Login.c(118): if (handlers[i] === fn) {\n
Login.c(118): handlers.splice(i, 1);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Fires an event notifying all subscribers.\n
Login.c(118): * @method notify\n
Login.c(118): * @param args {Object} Additional data object to be passed
to all handlers.\n
Login.c(118): * @param e {EventData}\n
Login.c(118): * Optional.\n
Login.c(118): * An <code>EventData</code> object to be passed to all
handlers.\n
Login.c(118): * For DOM events, an existing W3C/jQuery event object
can be passed in.\n
Login.c(118): * @param scope {Object}\n
Login.c(118): * Optional.\n
Login.c(118): * The scope ("this") within which the handler will be
executed.\n
Login.c(118): * If not specified, the scope will be set to the
<code>Event</code> instance.\n
Login.c(118): */\n
Login.c(118): this.notify = function (args, e, scope) {\n
Login.c(118): e = e || new EventData();\n
Login.c(118): scope = scope || this;\n
Login.c(118): \n
Login.c(118): var returnValue;\n
Login.c(118): for (var i = 0; i < handlers.length && !
(e.isPropagationStopped() || e.isImmediatePr
Login.c(118): opagationStopped()); i++) {\n
Login.c(118): returnValue = handlers[i].call(scope, e, args);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return returnValue;\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function EventHandler() {\n
Login.c(118): var handlers = [];\n
Login.c(118): \n
Login.c(118): this.subscribe = function (event, handler) {\n
Login.c(118): handlers.push({\n
Login.c(118): event: event,\n
Login.c(118): handler: handler\n
Login.c(118): });\n
Login.c(118): event.subscribe(handler);\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.unsubscribe = function (event, handler) {\n
Login.c(118): var i = handlers.length;\n
Login.c(118): while (i--) {\n
Login.c(118): if (handlers[i].event === event &&\n
Login.c(118): handlers[i].handler === handler) {\n
Login.c(118): handlers.splice(i, 1);\n
Login.c(118): event.unsubscribe(handler);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.unsubscribeAll = function () {\n
Login.c(118): var i = handlers.length;\n
Login.c(118): while (i--) {\n
Login.c(118): handlers[i].event.unsubscribe(handlers[i].handler);\n
Login.c(118): }\n
Login.c(118): handlers = [];\n
Login.c(118): \n
Login.c(118): return this; // allow chaining\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A structure containing a range of cells.\n
Login.c(118): * @class Range\n
Login.c(118): * @constructor\n
Login.c(118): * @param fromRow {Integer} Starting row.\n
Login.c(118): * @param fromCell {Integer} Starting cell.\n
Login.c(118): * @param toRow {Integer} Optional. Ending row. Defaults to
<code>fromRow</code>.\n
Login.c(118): * @param toCell {Integer} Optional. Ending cell. Defaults to
<code>fromCell</code>.\n
Login.c(118): */\n
Login.c(118): function Range(fromRow, fromCell, toRow, toCell) {\n
Login.c(118): if (toRow === undefined && toCell === undefined) {\n
Login.c(118): toRow = fromRow;\n
Login.c(118): toCell = fromCell;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property fromRow\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.fromRow = Math.min(fromRow, toRow);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property fromCell\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.fromCell = Math.min(fromCell, toCell);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property toRow\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.toRow = Math.max(fromRow, toRow);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * @property toCell\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.toCell = Math.max(fromCell, toCell);\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range represents a single row.\n
Login.c(118): * @method isSingleRow\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isSingleRow = function () {\n
Login.c(118): return this.fromRow == this.toRow;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range represents a single cell.\n
Login.c(118): * @method isSingleCell\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isSingleCell = function () {\n
Login.c(118): return this.fromRow == this.toRow && this.fromCell ==
this.toCell;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns whether a range contains a given cell.\n
Login.c(118): * @method contains\n
Login.c(118): * @param row {Integer}\n
Login.c(118): * @param cell {Integer}\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.contains = function (row, cell) {\n
Login.c(118): return row >= this.fromRow && row <= this.toRow &&\n
Login.c(118): cell >= this.fromCell && cell <= this.toCell;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns a readable representation of a range.\n
Login.c(118): * @method toString\n
Login.c(118): * @return {String}\n
Login.c(118): */\n
Login.c(118): this.toString = function () {\n
Login.c(118): if (this.isSingleCell()) {\n
Login.c(118): return "(" + this.fromRow + ":" + this.fromCell + ")";\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): return "(" + this.fromRow + ":" + this.fromCell + " - " +
this.toRow + ":" + this.
Login.c(118): toCell + ")";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A base class that all special / non-data rows (like Group
and GroupTotals) derive fro
Login.c(118): m.\n
Login.c(118): * @class NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function NonDataItem() {\n
Login.c(118): this.__nonDataRow = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Information about a group of rows.\n
Login.c(118): * @class Group\n
Login.c(118): * @extends Slick.NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function Group() {\n
Login.c(118): this.__group = true;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Grouping level, starting with 0.\n
Login.c(118): * @property level\n
Login.c(118): * @type {Number}\n
Login.c(118): */\n
Login.c(118): this.level = 0;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Number of rows in the group.\n
Login.c(118): * @property count\n
Login.c(118): * @type {Integer}\n
Login.c(118): */\n
Login.c(118): this.count = 0;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Grouping value.\n
Login.c(118): * @property value\n
Login.c(118): * @type {Object}\n
Login.c(118): */\n
Login.c(118): this.value = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Formatted display value of the group.\n
Login.c(118): * @property title\n
Login.c(118): * @type {String}\n
Login.c(118): */\n
Login.c(118): this.title = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Whether a group is collapsed.\n
Login.c(118): * @property collapsed\n
Login.c(118): * @type {Boolean}\n
Login.c(118): */\n
Login.c(118): this.collapsed = false;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * GroupTotals, if any.\n
Login.c(118): * @property totals\n
Login.c(118): * @type {GroupTotals}\n
Login.c(118): */\n
Login.c(118): this.totals = null;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Rows that are part of the group.\n
Login.c(118): * @property rows\n
Login.c(118): * @type {Array}\n
Login.c(118): */\n
Login.c(118): this.rows = [];\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Sub-groups that are part of the group.\n
Login.c(118): * @property groups\n
Login.c(118): * @type {Array}\n
Login.c(118): */\n
Login.c(118): this.groups = null;\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * A unique key used to identify the group. This key can be
used in calls to DataView
Login.c(118): \n
Login.c(118): * collapseGroup() or expandGroup().\n
Login.c(118): * @property groupingKey\n
Login.c(118): * @type {Object}\n
Login.c(118): */\n
Login.c(118): this.groupingKey = null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): Group.prototype = new NonDataItem();\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Compares two Group instances.\n
Login.c(118): * @method equals\n
Login.c(118): * @return {Boolean}\n
Login.c(118): * @param group
Login.c(118): t=7676ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): {Group} Group instance to compare to.\n
Login.c(118): */\n
Login.c(118): Group.prototype.equals = function (group) {\n
Login.c(118): return this.value === group.value &&\n
Login.c(118): this.count === group.count &&\n
Login.c(118): this.collapsed === group.collapsed &&\n
Login.c(118): this.title === group.title;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Information about group totals.\n
Login.c(118): * An instance of GroupTotals will be created for each totals
row and passed to the aggr
Login.c(118): egators\n
Login.c(118): * so that they can store arbitrary data in it. That data can
later be accessed by grou
Login.c(118): p totals\n
Login.c(118): * formatters during the display.\n
Login.c(118): * @class GroupTotals\n
Login.c(118): * @extends Slick.NonDataItem\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function GroupTotals() {\n
Login.c(118): this.__groupTotals = true;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Parent Group.\n
Login.c(118): * @param group\n
Login.c(118): * @type {Group}\n
Login.c(118): */\n
Login.c(118): this.group = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Whether the totals have been fully initialized /
calculated.\n
Login.c(118): * Will be set to false for lazy-calculated group totals.\n
Login.c(118): * @param initialized\n
Login.c(118): * @type {Boolean}\n
Login.c(118): */\n
Login.c(118): this.initialized = false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): GroupTotals.prototype = new NonDataItem();\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A locking helper to track the active edit controller and
ensure that only a single co
Login.c(118): ntroller\n
Login.c(118): * can be active at a time. This prevents a whole class of
state and validation synchro
Login.c(118): nization\n
Login.c(118): * issues. An edit controller (such as SlickGrid) can query if
an active edit is in pro
Login.c(118): gress\n
Login.c(118): * and attempt a commit or cancel before proceeding.\n
Login.c(118): * @class EditorLock\n
Login.c(118): * @constructor\n
Login.c(118): */\n
Login.c(118): function EditorLock() {\n
Login.c(118): var activeEditController = null;\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Returns true if a specified edit controller is active (has
the edit lock).\n
Login.c(118): * If the parameter is not specified, returns true if any
edit controller is active.\n
Login.c(118): * @method isActive\n
Login.c(118): * @param editController {EditController}\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.isActive = function (editController) {\n
Login.c(118): return (editController ? activeEditController ===
editController : activeEditControl
Login.c(118): ler !== null);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Sets the specified edit controller as the active edit
controller (acquire edit lock
Login.c(118): ).\n
Login.c(118): * If another edit controller is already active, and
exception will be thrown.\n
Login.c(118): * @method activate\n
Login.c(118): * @param editController {EditController} edit controller
acquiring the lock\n
Login.c(118): */\n
Login.c(118): this.activate = function (editController) {\n
Login.c(118): if (editController === activeEditController) { // already
activated?\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): if (activeEditController !== null) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: an editController
is still active, can't act
Login.c(118): ivate another editController";\n
Login.c(118): }\n
Login.c(118): if (!editController.commitCurrentEdit) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: editController must
implement .commitCurrent
Login.c(118): Edit()";\n
Login.c(118): }\n
Login.c(118): if (!editController.cancelCurrentEdit) {\n
Login.c(118): throw "SlickGrid.EditorLock.activate: editController must
implement .cancelCurrent
Login.c(118): Edit()";\n
Login.c(118): }\n
Login.c(118): activeEditController = editController;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Unsets the specified edit controller as the active edit
controller (release edit lo
Login.c(118): ck).\n
Login.c(118): * If the specified edit controller is not the active one, an
exception will be thrown
Login.c(118): .\n
Login.c(118): * @method deactivate\n
Login.c(118): * @param editController {EditController} edit controller
releasing the lock\n
Login.c(118): */\n
Login.c(118): this.deactivate = function (editController) {\n
Login.c(118): if (activeEditController !== editController) {\n
Login.c(118): throw "SlickGrid.EditorLock.deactivate: specified
editController is not the curren
Login.c(118): tly active one";\n
Login.c(118): }\n
Login.c(118): activeEditController = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Attempts to commit the current edit by calling
"commitCurrentEdit" method on the ac
Login.c(118): tive edit\n
Login.c(118): * controller and returns whether the commit attempt was
successful (commit may fail d
Login.c(118): ue to validation\n
Login.c(118): * errors, etc.). Edit controller's "commitCurrentEdit" must
return true if the commi
Login.c(118): t has succeeded\n
Login.c(118): * and false otherwise. If no edit controller is active,
returns true.\n
Login.c(118): * @method commitCurrentEdit\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.commitCurrentEdit = function () {\n
Login.c(118): return (activeEditController ?
activeEditController.commitCurrentEdit() : true);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Attempts to cancel the current edit by calling
"cancelCurrentEdit" method on the ac
Login.c(118): tive edit\n
Login.c(118): * controller and returns whether the edit was successfully
cancelled. If no edit con
Login.c(118): troller is\n
Login.c(118): * active, returns true.\n
Login.c(118): * @method cancelCurrentEdit\n
Login.c(118): * @return {Boolean}\n
Login.c(118): */\n
Login.c(118): this.cancelCurrentEdit = function cancelCurrentEdit() {\n
Login.c(118): return (activeEditController ?
activeEditController.cancelCurrentEdit() : true);\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // Register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "AutoTooltips": AutoTooltips\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * AutoTooltips plugin to show/hide tooltips when columns are
too narrow to fit content.
Login.c(118): \n
Login.c(118): * @constructor\n
Login.c(118): * @param {boolean} [options.enableForCells=true] -
Enable tooltip for grid cells
Login.c(118): \n
Login.c(118): * @param {boolean} [options.enableForHeaderCells=false] -
Enable tooltip for header cel
Login.c(118): ls\n
Login.c(118): * @param {number} [options.maxToolTipLength=null] - The
maximum length for a tool
Login.c(118): tip\n
Login.c(118): */\n
Login.c(118): function AutoTooltips(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _self = this;\n
Login.c(118): var _defaults = {\n
Login.c(118): enableForCells: true,\n
Login.c(118): enableForHeaderCells: false,\n
Login.c(118): maxToolTipLength: null\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Initialize plugin.\n
Login.c(118): */\n
Login.c(118): function init(grid) {\n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): if (options.enableForCells)
_grid.onMouseEnter.subscribe(handleMouseEnter);\n
Login.c(118): if (options.enableForHeaderCells)
_grid.onHeaderMouseEnter.subscribe(handleHeaderMou
Login.c(118): seEnter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Destroy plugin.\n
Login.c(118): */\n
Login.c(118): function destroy() {\n
Login.c(118): if (options.enableForCells)
_grid.onMouseEnter.unsubscribe(handleMouseEnter);\n
Login.c(118): if (options.enableForHeaderCells)
_grid.onHeaderMouseEnter.unsubscribe(handleHeaderM
Login.c(118): ouseEnter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Handle mouse entering grid cell to add/remove tooltip.\n
Login.c(118): * @param {jQuery.Event} e - The event\n
Login.c(118): */\n
Login.c(118): function handleMouseEnter(e) {\n
Login.c(118): var cell = _grid.getCellFromEvent(e);\n
Login.c(118): if (cell) {\n
Login.c(118): var $node = $(_grid.getCellNode(cell.row, cell.cell));\n
Login.c(118): var text;\n
Login.c(118): if ($node.innerWidth() < $node[0].scrollWidth) {\n
Login.c(118): text = $.trim($node.text());\n
Login.c(118): if (options.maxToolTipLength && text.length >
options.maxToolTipLength) {\n
Login.c(118): text = text.substr(0, options.maxToolTipLength - 3) +
"...";\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): text = "";\n
Login.c(118): }\n
Login.c(118): $node.attr("title", text);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Handle mouse entering header cell to add/remove tooltip.\n
Login.c(118): * @param {jQuery.Event} e - The event\n
Login.c(118): * @param {object} args.column - The column definition\n
Login.c(118): */\n
Login.c(118): function handleHeaderMouseEnter(e, args) {\n
Login.c(118): var column = args.column,\n
Login.c(118): $node = $(e.target).closest(".slick-header-column");\n
Login.c(118): if (!column.toolTip) {\n
Login.c(118): $node.attr("title", ($node.innerWidth() <
$node[0].scrollWidth) ? column.name : ""
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Public API\n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellRangeDecorator": CellRangeDecorator\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Displays an overlay on top of a given cell range.\n
Login.c(118): *\n
Login.c(118): * TODO:\n
Login.c(118): * Currently, it blocks mouse events to DOM nodes behind it.\n
Login.c(118): * Use FF and WebKit-specific "pointer-events" CSS style, or
some kind of event forwardi
Login.c(118): ng.\n
Login.c(118): * Could also construct the borders separately using 4
individual DIVs.\n
Login.c(118): *\n
Login.c(118): * @param {Grid} grid\n
Login.c(118): * @param {Object} options\n
Login.c(118): */\n
Login.c(118): function CellRangeDecorator(grid, options) {\n
Login.c(118): var _elem;\n
Login.c(118): var _defaults = {\n
Login.c(118): selectionCssClass: 'slick-range-decorator',\n
Login.c(118): selectionCss: {\n
Login.c(118): "zIndex": "9999",\n
Login.c(118): "border": "2px dashed red"\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function show(range) {\n
Login.c(118): if (!_elem) {\n
Login.c(118): _elem = $("<div></div>", {css: options.selectionCss})\n
Login.c(118): .addClass(options.selectionCssClass)\n
Login.c(118): .css("position", "absolute")\n
Login.c(118): .appendTo(grid.getCanvasNode());\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var from = grid.getCellNodeBox(range.fromRow,
range.fromCell);\n
Login.c(118): var to = grid.getCellNodeBox(range.toRow, range.toCell);\n
Login.c(118): \n
Login.c(118): _elem.css({\n
Login.c(118): top: from.top - 1,\n
Login.c(118): left: from.left - 1,\n
Login.c(118): height: to.bottom - from.top - 2,\n
Login.c(118): width: to.right - from.left - 2\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): return _elem;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function hide() {\n
Login.c(118): if (_elem) {\n
Login.c(118): _elem.remove();\n
Login.c(118): _elem = null;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "show": show,\n
Login.c(118): "hide": hide\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellRangeSelector": CellRangeSelector\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellRangeSelector(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _canvas;\n
Login.c(118): var _dragging;\n
Login.c(118): var _decorator;\n
Login.c(118): var _self = this;\n
Login.c(118): var _handler = new Slick.EventHandler();\n
Login.c(118): var _defaults = {\n
Login.c(118): selectionCss: {\n
Login.c(118): "border": "2px dashed blue"\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _decorator = new Slick.CellRangeDecorator(grid, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): _canvas = _grid.getCanvasNode();\n
Login.c(118): _handler\n
Login.c(118): .subscribe(_grid.onDragInit, handleDragInit)\n
Login.c(118): .subscribe(_grid.onDragStart, handleDragStart)\n
Login.c(118): .subscribe(_grid.onDrag, handleDrag)\n
Login.c(118): .subscribe(_grid.onDragEnd, handleDragEnd);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118): _handler.unsubscribeAll();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragInit(e, dd) {\n
Login.c(118): // prevent the grid from cancelling drag'n'drop by
default\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragStart(e, dd) {\n
Login.c(118): var cell = _grid.getCellFromEvent(e);\n
Login.c(118): if (_self.onBeforeCellRangeSelected.notify(cell) !== false)
{\n
Login.c(118): if (_grid.canCellBeSelected(cell.row, cell.cell)) {\n
Login.c(118): _dragging = true;\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): _grid.focus();\n
Login.c(118): \n
Login.c(118): var start = _grid.getCellFromPoint(\n
Login.c(118): dd.startX - $(_canvas).offset().left,\n
Login.c(118): dd.startY - $(_canvas).offset().top);\n
Login.c(118): \n
Login.c(118): dd.range = {start: start, end: {}};\n
Login.c(118): \n
Login.c(118): return _decorator.show(new Slick.Range(start.row,
start.cell));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDrag(e, dd) {\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): \n
Login.c(118): var end = _grid.getCellFromPoint(\n
Login.c(118): e.pageX - $(_canvas).offset().left,\n
Login.c(118): e.pageY - $(_canvas).offset().top);\n
Login.c(118): \n
Login.c(118): if (!_grid.canCellBeSelected(end.row, end.cell)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): dd.range.end = end;\n
Login.c(118): _decorator.show(new Slick.Range(dd.range.start.row,
dd.range.start.cell, end.row, en
Login.c(118): d.cell));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleDragEnd(e, dd) {\n
Login.c(118): if (!_dragging) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): _dragging = false;\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): \n
Login.c(118): _decorator.hide();\n
Login.c(118): _self.onCellRangeSelected.notify({\n
Login.c(118): range: new Slick.Range(\n
Login.c(118): dd.range.start.row,\n
Login.c(118): dd.range.start.cell,\n
Login.c(118): dd.range.end.row,\n
Login.c(118): dd.range.end.cell\n
Login.c(118): )\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): \n
Login.c(118): "onBeforeCellRangeSelected": new Slick.Event(),\n
Login.c(118): "onCellRangeSelected": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellSelectionModel": CellSelectionModel\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellSelectionModel(options) {\n
Login.c(118): var _grid;\n
Login.c(118): var _canvas;\n
Login.c(118): var _ranges = [];\n
Login.c(118): var _self = this;\n
Login.c(118): var _selector = new Slick.CellRangeSelector({\n
Login.c(118): "selectionCss": {\n
Login.c(118): "border": "2px solid black"\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): var _options;\n
Login.c(118): var _defaults = {\n
Login.c(118): selectActiveCell: true\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): _options = $.extend(true, {}, _defaults, options);\n
Login.c(118): _grid = grid;\n
Login.c(118): _canvas = _grid.getCanvasNode();\n
Login.c(118):
_grid.onActiveCellChanged.subscribe(handleActiveCellChange);\n
Login.c(118): _grid.onKeyDown.subscribe(handleKeyDown);\n
Login.c(118): grid.registerPlugin(_selector);\n
Login.c(118): _selector.onCellRangeSelected.subscribe(hand
Login.c(118): t=7695ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): leCellRangeSelected);\n
Login.c(118):
_selector.onBeforeCellRangeSelected.subscribe(handleBeforeCellRangeSelected);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118):
_grid.onActiveCellChanged.unsubscribe(handleActiveCellChange);\n
Login.c(118): _grid.onKeyDown.unsubscribe(handleKeyDown);\n
Login.c(118):
_selector.onCellRangeSelected.unsubscribe(handleCellRangeSelected);\n
Login.c(118):
_selector.onBeforeCellRangeSelected.unsubscribe(handleBeforeCellRangeSelected);\n
Login.c(118): _grid.unregisterPlugin(_selector);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function removeInvalidRanges(ranges) {\n
Login.c(118): var result = [];\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\n
Login.c(118): var r = ranges[i];\n
Login.c(118): if (_grid.canCellBeSelected(r.fromRow, r.fromCell) &&
_grid.canCellBeSelected(r.to
Login.c(118): Row, r.toCell)) {\n
Login.c(118): result.push(r);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return result;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setSelectedRanges(ranges) {\n
Login.c(118): _ranges = removeInvalidRanges(ranges);\n
Login.c(118): _self.onSelectedRangesChanged.notify(_ranges);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getSelectedRanges() {\n
Login.c(118): return _ranges;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleBeforeCellRangeSelected(e, args) {\n
Login.c(118): if (_grid.getEditorLock().isActive()) {\n
Login.c(118): e.stopPropagation();\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleCellRangeSelected(e, args) {\n
Login.c(118): setSelectedRanges([args.range]);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleActiveCellChange(e, args) {\n
Login.c(118): if (_options.selectActiveCell && args.row != null &&
args.cell != null) {\n
Login.c(118): setSelectedRanges([new Slick.Range(args.row,
args.cell)]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleKeyDown(e) {\n
Login.c(118): /***\n
Login.c(118): * \xD0\x9Aey codes\n
Login.c(118): * 37 left\n
Login.c(118): * 38 up\n
Login.c(118): * 39 right\n
Login.c(118): * 40 down \n
Login.c(118): */ \n
Login.c(118): var ranges, last;\n
Login.c(118): var active = _grid.getActiveCell(); \n
Login.c(118): \n
Login.c(118): if ( active && e.shiftKey && !e.ctrlKey && !e.altKey && \n
Login.c(118): (e.which == 37 || e.which == 39 || e.which == 38 ||
e.which == 40) ) {\n
Login.c(118): \n
Login.c(118): ranges = getSelectedRanges();\n
Login.c(118): if (!ranges.length)\n
Login.c(118): ranges.push(new Slick.Range(active.row, active.cell));\n
Login.c(118): \n
Login.c(118): // keyboard can work with last range only \n
Login.c(118): last = ranges.pop();\n
Login.c(118): \n
Login.c(118): // can't handle selection out of active cell\n
Login.c(118): if (!last.contains(active.row, active.cell))\n
Login.c(118): last = new Slick.Range(active.row, active.cell);\n
Login.c(118): \n
Login.c(118): var dRow = last.toRow - last.fromRow,\n
Login.c(118): dCell = last.toCell - last.fromCell,\n
Login.c(118): // walking direction\n
Login.c(118): dirRow = active.row == last.fromRow ? 1 : -1,\n
Login.c(118): dirCell = active.cell == last.fromCell ? 1 : -1;\n
Login.c(118): \n
Login.c(118): if (e.which == 37) {\n
Login.c(118): dCell -= dirCell; \n
Login.c(118): } else if (e.which == 39) {\n
Login.c(118): dCell += dirCell ; \n
Login.c(118): } else if (e.which == 38) {\n
Login.c(118): dRow -= dirRow; \n
Login.c(118): } else if (e.which == 40) {\n
Login.c(118): dRow += dirRow; \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // define new selection range \n
Login.c(118): var new_last = new Slick.Range(active.row, active.cell,
active.row + dirRow*dRow,
Login.c(118): active.cell + dirCell*dCell);\n
Login.c(118): if (removeInvalidRanges([new_last]).length) {\n
Login.c(118): ranges.push(new_last);\n
Login.c(118): var viewRow = dirRow > 0 ? new_last.toRow :
new_last.fromRow;\n
Login.c(118): var viewCell = dirCell > 0 ? new_last.toCell :
new_last.fromCell;\n
Login.c(118): _grid.scrollRowIntoView(viewRow);\n
Login.c(118): _grid.scrollCellIntoView(viewRow, viewCell);\n
Login.c(118): }\n
Login.c(118): else \n
Login.c(118): ranges.push(last);\n
Login.c(118): \n
Login.c(118): setSelectedRanges(ranges); \n
Login.c(118): \n
Login.c(118): e.preventDefault();\n
Login.c(118): e.stopPropagation(); \n
Login.c(118): } \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "getSelectedRanges": getSelectedRanges,\n
Login.c(118): "setSelectedRanges": setSelectedRanges,\n
Login.c(118): \n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): \n
Login.c(118): "onSelectedRangesChanged": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /***\n
Login.c(118): * Contains basic SlickGrid editors.\n
Login.c(118): * @module Editors\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Editors": {\n
Login.c(118): "Text": TextEditor,\n
Login.c(118): "Integer": IntegerEditor,\n
Login.c(118): "Date": DateEditor,\n
Login.c(118): "YesNoSelect": YesNoSelectEditor,\n
Login.c(118): "Checkbox": CheckboxEditor,\n
Login.c(118): "PercentComplete": PercentCompleteEditor,\n
Login.c(118): "LongText": LongTextEditor\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function TextEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />")\n
Login.c(118): .appendTo(args.container)\n
Login.c(118): .bind("keydown.nav", function (e) {\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode ===
$.ui.keyCode.RIGHT) {\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): .focus()\n
Login.c(118): .select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.getValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.setValue = function (val) {\n
Login.c(118): $input.val(val);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field] || "";\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (args.column.validator) {\n
Login.c(118): var validationResults =
args.column.validator($input.val());\n
Login.c(118): if (!validationResults.valid) {\n
Login.c(118): return validationResults;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function IntegerEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />");\n
Login.c(118): \n
Login.c(118): $input.bind("keydown.nav", function (e) {\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode ===
$.ui.keyCode.RIGHT) {\n
Login.c(118): e.stopImmediatePropagation();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): $input.focus().select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field];\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return parseInt($input.val(), 10) || 0;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (isNaN($input.val())) {\n
Login.c(118): return {\n
Login.c(118): valid: false,\n
Login.c(118): msg: "Please enter a valid integer"\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function DateEditor(args) {\n
Login.c(118): var $input;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): var calendarOpen = false;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />");\n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): $input.focus().select();\n
Login.c(118): $input.datepicker({\n
Login.c(118): showOn: "button",\n
Login.c(118): buttonImageOnly: true,\n
Login.c(118): buttonImage:
"http://mleibman.github.io/SlickGrid/images/calendar.gif",\n
Login.c(118): beforeShow: function () {\n
Login.c(118): calendarOpen = true\n
Login.c(118): },\n
Login.c(118): onClose: function () {\n
Login.c(118): calendarOpen = false\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): $input.width($input.width() - 18);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true);\n
Login.c(118): $input.datepicker("hide");\n
Login.c(118): $input.datepicker("destroy");\n
Login.c(118): $input.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.show = function () {\n
Login.c(118): if (calendarOpen) {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true).show();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.hide = function () {\n
Login.c(118): if (calendarOpen) {\n
Login.c(118): $.datepicker.dpDiv.stop(true, true).hide();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.position = function (position) {\n
Login.c(118): if (!calendarOpen) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): $.datepicker.dpDiv\n
Login.c(118): .css("top", position.top + 30)\n
Login.c(118): .css("left", position.left);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = item[args.column.field];\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): $input[0].defaultValue = defaultValue;\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function YesNoSelectEditor(args) {\n
Login.c(118): var $select;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $select = $("<SELECT tabIndex='0' class='editor-
yesno'><OPTION value='yes'>Yes</OPTI
Login.c(118): ON><OPTION value='no'>No</OPTION></SELECT>");\n
Login.c(118): $select.appendTo(args.container);\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $select.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $select.val((defaultValue = item[args.column.field]) ?
"yes" : "no");\n
Login.c(118): $select.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return ($select.val() == "yes");\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return ($select.val() != defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function CheckboxEditor(args) {\n
Login.c(118): var $select;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $select = $("<INPUT type=checkbox value='true'
class='editor-checkbox' hideFocus>");
Login.c(118): \n
Login.c(118): $select.appendTo(args.container);\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $select.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $select.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): defaultValue = !!item[args.column.field];\n
Login.c(118): if (defaultValue) {\n
Login.c(118): $select.prop('checked', true);\n
Login.c(118): } else {\n
Login.c(118): $select.prop('checked', false);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $select.prop('checked');\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (this.serializeValue() !== defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function PercentCompleteEditor(args) {\n
Login.c(118): var $input, $picker;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): $input = $("<INPUT type=text class='editor-percentcomplete'
/>");\n
Login.c(118): $input.width($(args.container).innerWidth() - 25);\n
Login.c(118): $input.appendTo(args.container);\n
Login.c(118): \n
Login.c(118): $picker = $("<div class='editor-percentcomplete-picker'
/>").appendTo(args.container
Login.c(118): );\n
Login.c(118): $picker.append("<div class='editor-percentcomplete-
helper'><div class='editor-percen
Login.c(118): tcomplete-wrapper'><div class='editor-percentcomplete-slider'
/><div class='editor-percent
Login.c(118): complete-buttons' /></div></div>");\n
Login.c(118): \n
Login.c(118): $picker.find(".editor-percentcomplete-
buttons").append("<button val=0>Not started</b
Login.c(118): utton><br/><button val=50>In Progress</button><br/><button
val=100>Complete</button>");\n
Login.c(118): \n
Login.c(118): $input.focus().select();\n
Login.c(118): \n
Login.c(118): $picker.find(".editor-percentcomplete-slider").slider({\n
Login.c(118): orientation: "vertical",\n
Login.c(118): range: "min",\n
Login.c(118): value: defaultValue,\n
Login.c(118): slide: function (event, ui) {\n
Login.c(118): $input.val(ui.value)\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): $picker.find(".edit
Login.c(118): t=7715ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): or-percentcomplete-buttons button").bind("click", function (e)
{\n
Login.c(118): $input.val($(this).attr("val"));\n
Login.c(118): $picker.find(".editor-percentcomplete-
slider").slider("value", $(this).attr("val")
Login.c(118): );\n
Login.c(118): })\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $input.remove();\n
Login.c(118): $picker.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $input.val(defaultValue = item[args.column.field]);\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return parseInt($input.val(), 10) || 0;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
((parseInt($input.val(), 1
Login.c(118): 0) || 0) != defaultValue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): if (isNaN(parseInt($input.val(), 10))) {\n
Login.c(118): return {\n
Login.c(118): valid: false,\n
Login.c(118): msg: "Please enter a valid positive number"\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): * An example of a "detached" editor.\n
Login.c(118): * The UI is added onto document BODY and .position(), .show()
and .hide() are implement
Login.c(118): ed.\n
Login.c(118): * KeyDown events are also handled to provide handling for Tab,
Shift-Tab, Esc and Ctrl-
Login.c(118): Enter.\n
Login.c(118): */\n
Login.c(118): function LongTextEditor(args) {\n
Login.c(118): var $input, $wrapper;\n
Login.c(118): var defaultValue;\n
Login.c(118): var scope = this;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): var $container = $("body");\n
Login.c(118): \n
Login.c(118): $wrapper = $("<DIV style='z-
index:10000;position:absolute;background:white;padding:5
Login.c(118): px;border:3px solid gray; -moz-border-radius:10px; border-
radius:10px;'/>")\n
Login.c(118): .appendTo($container);\n
Login.c(118): \n
Login.c(118): $input = $("<TEXTAREA hidefocus rows=5
style='backround:white;width:250px;height:80p
Login.c(118): x;border:0;outline:0'>")\n
Login.c(118): .appendTo($wrapper);\n
Login.c(118): \n
Login.c(118): $("<DIV style='text-
align:right'><BUTTON>Save</BUTTON><BUTTON>Cancel</BUTTON></DIV>"
Login.c(118): )\n
Login.c(118): .appendTo($wrapper);\n
Login.c(118): \n
Login.c(118): $wrapper.find("button:first").bind("click", this.save);\n
Login.c(118): $wrapper.find("button:last").bind("click", this.cancel);\n
Login.c(118): $input.bind("keydown", this.handleKeyDown);\n
Login.c(118): \n
Login.c(118): scope.position(args.position);\n
Login.c(118): $input.focus().select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.handleKeyDown = function (e) {\n
Login.c(118): if (e.which == $.ui.keyCode.ENTER && e.ctrlKey) {\n
Login.c(118): scope.save();\n
Login.c(118): } else if (e.which == $.ui.keyCode.ESCAPE) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): scope.cancel();\n
Login.c(118): } else if (e.which == $.ui.keyCode.TAB && e.shiftKey) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): args.grid.navigatePrev();\n
Login.c(118): } else if (e.which == $.ui.keyCode.TAB) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): args.grid.navigateNext();\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.save = function () {\n
Login.c(118): args.commitChanges();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.cancel = function () {\n
Login.c(118): $input.val(defaultValue);\n
Login.c(118): args.cancelChanges();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.hide = function () {\n
Login.c(118): $wrapper.hide();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.show = function () {\n
Login.c(118): $wrapper.show();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.position = function (position) {\n
Login.c(118): $wrapper\n
Login.c(118): .css("top", position.top - 5)\n
Login.c(118): .css("left", position.left - 5)\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.destroy = function () {\n
Login.c(118): $wrapper.remove();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.focus = function () {\n
Login.c(118): $input.focus();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.loadValue = function (item) {\n
Login.c(118): $input.val(defaultValue = item[args.column.field]);\n
Login.c(118): $input.select();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.serializeValue = function () {\n
Login.c(118): return $input.val();\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.applyValue = function (item, state) {\n
Login.c(118): item[args.column.field] = state;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.isValueChanged = function () {\n
Login.c(118): return (!($input.val() == "" && defaultValue == null)) &&
($input.val() != defaultVa
Login.c(118): lue);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.validate = function () {\n
Login.c(118): return {\n
Login.c(118): valid: true,\n
Login.c(118): msg: null\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.init();\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /***\n
Login.c(118): * Contains basic SlickGrid formatters.\n
Login.c(118): * \n
Login.c(118): * NOTE: These are merely examples. You will most likely need
to implement something mor
Login.c(118): e\n
Login.c(118): * robust/extensible/localizable/etc. for your use!\n
Login.c(118): * \n
Login.c(118): * @module Formatters\n
Login.c(118): * @namespace Slick\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Formatters": {\n
Login.c(118): "PercentComplete": PercentCompleteFormatter,\n
Login.c(118): "PercentCompleteBar": PercentCompleteBarFormatter,\n
Login.c(118): "YesNo": YesNoFormatter,\n
Login.c(118): "Checkmark": CheckmarkFormatter\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): function PercentCompleteFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): if (value == null || value === "") {\n
Login.c(118): return "-";\n
Login.c(118): } else if (value < 50) {\n
Login.c(118): return "<span style='color:red;font-weight:bold;'>" + value
+ "%</span>";\n
Login.c(118): } else {\n
Login.c(118): return "<span style='color:green'>" + value + "%</span>";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function PercentCompleteBarFormatter(row, cell, value,
columnDef, dataContext) {\n
Login.c(118): if (value == null || value === "") {\n
Login.c(118): return "";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var color;\n
Login.c(118): \n
Login.c(118): if (value < 30) {\n
Login.c(118): color = "red";\n
Login.c(118): } else if (value < 70) {\n
Login.c(118): color = "silver";\n
Login.c(118): } else {\n
Login.c(118): color = "green";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return "<span class='percent-complete-bar'
style='background:" + color + ";width:" + v
Login.c(118): alue + "%'></span>";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function YesNoFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): return value ? "Yes" : "No";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function CheckmarkFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): return value ? "<img src='../images/tick.png'>" : "";\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * @license\r\n
Login.c(118): * (c) 2009-2013 Michael Leibman\r\n
Login.c(118): * michael{dot}leibman{at}gmail{dot}com\r\n
Login.c(118): * http://github.com/mleibman/slickgrid\r\n
Login.c(118): *\r\n
Login.c(118): * Distributed under MIT license.\r\n
Login.c(118): * All rights reserved.\r\n
Login.c(118): *\r\n
Login.c(118): * SlickGrid v2.2\r\n
Login.c(118): *\r\n
Login.c(118): * NOTES:\r\n
Login.c(118): * Cell/row DOM manipulations are done directly bypassing
jQuery's DOM manipulation me
Login.c(118): thods.\r\n
Login.c(118): * This increases the speed dramatically, but can only be
done safely because there ar
Login.c(118): e no event handlers\r\n
Login.c(118): * or data associated with any cell/row DOM nodes. Cell
editors must make sure they i
Login.c(118): mplement .destroy()\r\n
Login.c(118): * and do proper cleanup.\r\n
Login.c(118): */\r\n
Login.c(118): \r\n
Login.c(118): // make sure required JavaScript modules are loaded\r\n
Login.c(118): if (typeof jQuery === "undefined") {\r\n
Login.c(118): throw "SlickGrid requires jquery module to be loaded";\r\n
Login.c(118): }\r\n
Login.c(118): if (!jQuery.fn.drag) {\r\n
Login.c(118): throw "SlickGrid requires jquery.event.drag module to be
loaded";\r\n
Login.c(118): }\r\n
Login.c(118): if (typeof Slick === "undefined") {\r\n
Login.c(118): throw "slick.core.js not loaded";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): // Slick.Grid\r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): Slick: {\r\n
Login.c(118): Grid: SlickGrid\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): // shared across all grids on the page\r\n
Login.c(118): var scrollbarDimensions;\r\n
Login.c(118): var maxSupportedCssHeight; // browser's breaking point\r\n
Login.c(118): \r\n
Login.c(118): ///////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): //////\r\n
Login.c(118): // SlickGrid class implementation (available as Slick.Grid)\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * Creates a new instance of the grid.\r\n
Login.c(118): * @class SlickGrid\r\n
Login.c(118): * @constructor\r\n
Login.c(118): * @param {Node} container Container node to
create the grid in.\r\n
Login.c(118): * @param {Array,Object} data An array of objects
for databinding.\r\n
Login.c(118): * @param {Array} columns An array of column
definitions.\r\n
Login.c(118): * @param {Object} options Grid options.\r\n
Login.c(118): **/\r\n
Login.c(118): function SlickGrid(container, data, columns, options) {\r\n
Login.c(118): // settings\r\n
Login.c(118): var defaults = {\r\n
Login.c(118): explicitInitialization: false,\r\n
Login.c(118): rowHeight: 25,\r\n
Login.c(118): defaultColumnWidth: 80,\r\n
Login.c(118): enableAddRow: false,\r\n
Login.c(118): leaveSpaceForNewRows: false,\r\n
Login.c(118): editable: false,\r\n
Login.c(118): autoEdit: true,\r\n
Login.c(118): enableCellNavigation: true,\r\n
Login.c(118): enableColumnReorder: true,\r\n
Login.c(118): asyncEditorLoading: false,\r\n
Login.c(118): asyncEditorLoadDelay: 100,\r\n
Login.c(118): forceFitColumns: false,\r\n
Login.c(118): enableAsyncPostRender: false,\r\n
Login.c(118): asyncPostRenderDelay: 50,\r\n
Login.c(118): autoHeight: false,\r\n
Login.c(118): editorLock: Slick.GlobalEditorLock,\r\n
Login.c(118): showHeaderRow: false,\r\n
Login.c(118): headerRowHeight: 25,\r\n
Login.c(118): showTopPanel: false,\r\n
Login.c(118): topPanelHeight: 25,\r\n
Login.c(118): formatterFactory: null,\r\n
Login.c(118): editorFactory: null,\r\n
Login.c(118): cellFlashingCssClass: "flashing",\r\n
Login.c(118): selectedCellCssClass: "selected",\r\n
Login.c(118): multiSelect: true,\r\n
Login.c(118): enableTextSelectionOnCells: false,\r\n
Login.c(118): dataItemColumnValueExtractor: null,\r\n
Login.c(118): fullWidthRows: false,\r\n
Login.c(118): multiColumnSort: false,\r\n
Login.c(118): defaultFormatter: defaultFormatter,\r\n
Login.c(118): forceSyncScrolling: false,\r\n
Login.c(118): addNewRowCssClass: "new-row"\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var columnDefaults = {\r\n
Login.c(118): name: "",\r\n
Login.c(118): resizable: true,\r\n
Login.c(118): sortable: false,\r\n
Login.c(118): minWidth: 30,\r\n
Login.c(118): rerenderOnResize: false,\r\n
Login.c(118): headerCssClass: null,\r\n
Login.c(118): defaultSortAsc: true,\r\n
Login.c(118): focusable: true,\r\n
Login.c(118): selectable: true\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): // scroller\r\n
Login.c(118): var th; // virtual height\r\n
Login.c(118): var h; // real scrollable height\r\n
Login.c(118): var ph; // page height\r\n
Login.c(118): var n; // number of pages\r\n
Login.c(118): var cj; // "jumpiness" coefficient\r\n
Login.c(118): \r\n
Login.c(118): var page = 0; // current page\r\n
Login.c(118): var offset = 0; // current page offset\r\n
Login.c(118): var vScrollDir = 1;\r\n
Login.c(118): \r\n
Login.c(118): // private\r\n
Login.c(118): var initialized = false;\r\n
Login.c(118): var $container;\r\n
Login.c(118): var uid = "slickgrid_" + Math.round(1000000 *
Math.random());\r\n
Login.c(118): var self = this;\r\n
Login.c(118): var $focusSink, $focusSink2;\r\n
Login.c(118): var $headerScroller;\r\n
Login.c(118): var $headers;\r\n
Login.c(118): var $headerRow, $headerRowScroller, $headerRowSpacer;\r\n
Login.c(118): var $topPanelScroller;\r\n
Login.c(118): var $topPanel;\r\n
Login.c(118): var $viewport;\r\n
Login.c(118): var $canvas;\r\n
Login.c(118): var $style;\r\n
Login.c(118): var $boundAncestors;\r\n
Login.c(118): var stylesheet, columnCssRulesL, columnCssRulesR;\r\n
Login.c(118): var viewportH, viewportW;\r\n
Login.c(118): var canvasWidth;\r\n
Login.c(118): var viewportHasHScroll, viewportHasVScroll;\r\n
Login.c(118): var headerColumnWidthDiff = 0, headerColumnHeightDiff = 0, //
border+padding\r\n
Login.c(118): cellWidthDiff = 0, cellHeightDiff = 0;\r\n
Login.c(118): var absoluteColumnMinWidth;\r\n
Login.c(118): \r\n
Login.c(118): var tabbingDirection = 1;\r\n
Login.c(118): var activePosX;\r\n
Login.c(118): var activeRow, activeCell;\r\n
Login.c(118): var activeCellNode = null;\r\n
Login.c(118): var currentEditor = null;\r\n
Login.c(118): var serializedEditorValue;\r\n
Login.c(118): var editController;\r\n
Login.c(118): \r\n
Login.c(118): var rowsCache = {};\r\n
Login.c(118): var renderedRows = 0;\r\n
Login.c(118): var numVisibleRows;\r\n
Login.c(118): var prevScrollTop = 0;\r\n
Login.c(118): var scrollTop = 0;\r\n
Login.c(118): var lastRenderedScrollTop = 0;\r\n
Login.c(118): var lastRenderedScrollLeft = 0;\r\n
Login.c(118): var prevScrollLeft = 0;\r\n
Login.c(118): var scrollLeft = 0;\r\n
Login.c(118): \r\n
Login.c(118): var selectionModel;\r\n
Login.c(118): var selectedRows = [];\r\n
Login.c(118): \r\n
Login.c(118): var plugins = [];\r\n
Login.c(118): var cellCssClasses = {};\r\n
Login.c(118): \r\n
Login.c(118): var columnsById = {};\r\n
Login.c(118): var sortColumns = [];\r\n
Login.c(118): var columnPosLeft = [];\r\n
Login.c(118): var columnPosRight = [];\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): // async call handles\r\n
Login.c(118): var h_editorLoader = null;\r\n
Login.c(118): var h_render = null;\r\n
Login.c(118): var h_postrender = null;\r\n
Login.c(118): var postProcessedRows = {};\r\n
Login.c(118): var postProcessToRow = null;\r\n
Login.c(118): var postProcessFromRow = null;\r\n
Login.c(118): \r\n
Login.c(118): // perf counters\r\n
Login.c(118): var counter_rows_rendered = 0;\r\n
Login.c(118): var counter_rows_removed = 0;\r\n
Login.c(118): \r\n
Login.c(118): // These two variables work around a bug with inertial
scrolling in Webkit/Blink on Ma
Login.c(118): c.\r\n
Login.c(118): // See http://crbug.com/312427.\r\n
Login.c(118): var rowNodeFromLastMouseWheelEvent; // this node must not be
deleted while inertial s
Login.c(118): crolling\r\n
Login.c(118): var zombieRowNodeFromLastMouseWheelEvent; // node that was
hidden instead of getting
Login.c(118): deleted\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Initialization\r\n
Login.c(118): \r\n
Login.c(118): function init() {\r\n
Login.c(118): $container = $(container);\r\n
Login.c(118): if ($container.length < 1) {\r\n
Login.c(118): throw new Error("SlickGrid requires a valid container, "
+ container + " does not
Login.c(118): exist in the DOM.");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // calculate these only once and share between grid
instances\r\n
Login.c(118): maxSupportedCssHeight = maxSupportedCssHeight ||
getMaxSupportedCssHeight();\r\n
Login.c(118): scrollbarDimensions = scrollbarDimensions ||
measureScrollbar();\r\n
Login.c(118): \r\n
Login.c(118): options = $.extend({}, defaults, options);\r\n
Login.c(118): validateAndEnforceOptions();\r\n
Login.c(118): columnDefaults.width = options.defaultColumnWidth;\r\n
Login.c(118): \r\n
Login.c(118): columnsById = {};\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i] = $.extend({}, columnDefaults,
columns[i]);\r\n
Login.c(118): columnsById[m.id] = i;\r\n
Login.c(118): if (m.minWidth && m.width < m.minWidth) {\r\n
Login.c(118): m.width = m.minWidth;\r\n
Login.c(118): }\r\n
Login.c(118): if (m.maxWidth && m.width > m.maxWidth) {\r\n
Login.c(118): m.width = m.maxWidth;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // validate loaded JavaScript modules against requested
options\r\n
Login.c(118): if (options.enableColumnReorder && !$.fn.sortable) {\r\n
Login.c(118): throw new Error("SlickGrid's 'enableColumnReorde
Login.c(118): t=7734ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): r = true' option requires jquery-ui.sortable module to be
loaded");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): editController = {\r\n
Login.c(118): "commitCurrentEdit": commitCurrentEdit,\r\n
Login.c(118): "cancelCurrentEdit": cancelCurrentEdit\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $container\r\n
Login.c(118): .empty()\r\n
Login.c(118): .css("overflow", "hidden")\r\n
Login.c(118): .css("outline", 0)\r\n
Login.c(118): .addClass(uid)\r\n
Login.c(118): .addClass("ui-widget");\r\n
Login.c(118): \r\n
Login.c(118): // set up a positioning container if needed\r\n
Login.c(118): if (!/relative|absolute|
fixed/.test($container.css("position"))) {\r\n
Login.c(118): $container.css("position", "relative");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $focusSink = $("<div tabIndex='0' hideFocus
style='position:fixed;width:0;height:0;t
Login.c(118): op:0;left:0;outline:0;'></div>").appendTo($container);\r\n
Login.c(118): \r\n
Login.c(118): $headerScroller = $("<div class='slick-header ui-state-
default' style='overflow:hidd
Login.c(118): en;position:relative;' />").appendTo($container);\r\n
Login.c(118): $headers = $("<div class='slick-header-columns'
style='left:-1000px' />").appendTo($
Login.c(118): headerScroller);\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): \r\n
Login.c(118): $headerRowScroller = $("<div class='slick-headerrow ui-
state-default' style='overflo
Login.c(118): w:hidden;position:relative;' />").appendTo($container);\r\n
Login.c(118): $headerRow = $("<div class='slick-headerrow-columns'
/>").appendTo($headerRowScrolle
Login.c(118): r);\r\n
Login.c(118): $headerRowSpacer = $("<div
style='display:block;height:1px;position:absolute;top:0;l
Login.c(118): eft:0;'></div>")\r\n
Login.c(118): .css("width", getCanvasWidth() +
scrollbarDimensions.width + "px")\r\n
Login.c(118): .appendTo($headerRowScroller);\r\n
Login.c(118): \r\n
Login.c(118): $topPanelScroller = $("<div class='slick-top-panel-scroller
ui-state-default' style=
Login.c(118): 'overflow:hidden;position:relative;'
/>").appendTo($container);\r\n
Login.c(118): $topPanel = $("<div class='slick-top-panel'
style='width:10000px' />").appendTo($top
Login.c(118): PanelScroller);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.showTopPanel) {\r\n
Login.c(118): $topPanelScroller.hide();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!options.showHeaderRow) {\r\n
Login.c(118): $headerRowScroller.hide();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $viewport = $("<div class='slick-viewport'
style='width:100%;overflow:auto;outline:0
Login.c(118): ;position:relative;;'>").appendTo($container);\r\n
Login.c(118): $viewport.css("overflow-y", options.autoHeight ? "hidden" :
"auto");\r\n
Login.c(118): \r\n
Login.c(118): $canvas = $("<div class='grid-canvas'
/>").appendTo($viewport);\r\n
Login.c(118): \r\n
Login.c(118): $focusSink2 = $focusSink.clone().appendTo($container);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.explicitInitialization) {\r\n
Login.c(118): finishInitialization();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function finishInitialization() {\r\n
Login.c(118): if (!initialized) {\r\n
Login.c(118): initialized = true;\r\n
Login.c(118): \r\n
Login.c(118): viewportW = parseFloat($.css($container[0], "width",
true));\r\n
Login.c(118): \r\n
Login.c(118): // header columns and cells may have different
padding/border skewing width calcul
Login.c(118): ations (box-sizing, hello?)\r\n
Login.c(118): // calculate the diff so we can set consistent sizes\r\n
Login.c(118): measureCellPaddingAndBorder();\r\n
Login.c(118): \r\n
Login.c(118): // for usability reasons, all text selection in SlickGrid
is disabled\r\n
Login.c(118): // with the exception of input and textarea elements
(selection must\r\n
Login.c(118): // be enabled there so that editors work as expected);
note that\r\n
Login.c(118): // selection in grid cells (grid body) is already
unavailable in\r\n
Login.c(118): // all browsers except IE\r\n
Login.c(118): disableSelection($headers); // disable all text selection
in header (including inp
Login.c(118): ut and textarea)\r\n
Login.c(118): \r\n
Login.c(118): if (!options.enableTextSelectionOnCells) {\r\n
Login.c(118): // disable text selection in grid cells except in input
and textarea elements\r\n
Login.c(118): // (this is IE-specific, because selectstart event will
only fire in IE)\r\n
Login.c(118): $viewport.bind("selectstart.ui", function (event) {\r\n
Login.c(118): return $(event.target).is("input,textarea");\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): createColumnHeaders();\r\n
Login.c(118): setupColumnSort();\r\n
Login.c(118): createCssRules();\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): bindAncestorScrollEvents();\r\n
Login.c(118): \r\n
Login.c(118): $container\r\n
Login.c(118): .bind("resize.slickgrid", resizeCanvas);\r\n
Login.c(118): $viewport\r\n
Login.c(118): //.bind("click", handleClick)\r\n
Login.c(118): .bind("scroll", handleScroll);\r\n
Login.c(118): $headerScroller\r\n
Login.c(118): .bind("contextmenu", handleHeaderContextMenu)\r\n
Login.c(118): .bind("click", handleHeaderClick)\r\n
Login.c(118): .delegate(".slick-header-column", "mouseenter",
handleHeaderMouseEnter)\r\n
Login.c(118): .delegate(".slick-header-column", "mouseleave",
handleHeaderMouseLeave);\r\n
Login.c(118): $headerRowScroller\r\n
Login.c(118): .bind("scroll", handleHeaderRowScroll);\r\n
Login.c(118): $focusSink.add($focusSink2)\r\n
Login.c(118): .bind("keydown", handleKeyDown);\r\n
Login.c(118): $canvas\r\n
Login.c(118): .bind("keydown", handleKeyDown)\r\n
Login.c(118): .bind("click", handleClick)\r\n
Login.c(118): .bind("dblclick", handleDblClick)\r\n
Login.c(118): .bind("contextmenu", handleContextMenu)\r\n
Login.c(118): .bind("draginit", handleDragInit)\r\n
Login.c(118): .bind("dragstart", {distance: 3},
handleDragStart)\r\n
Login.c(118): .bind("drag", handleDrag)\r\n
Login.c(118): .bind("dragend", handleDragEnd)\r\n
Login.c(118): .delegate(".slick-cell", "mouseenter",
handleMouseEnter)\r\n
Login.c(118): .delegate(".slick-cell", "mouseleave",
handleMouseLeave);\r\n
Login.c(118): \r\n
Login.c(118): // Work around http://crbug.com/312427.\r\n
Login.c(118): if (navigator.userAgent.toLowerCase().match(/webkit/)
&&\r\n
Login.c(118): navigator.userAgent.toLowerCase().match(/macintosh/))
{\r\n
Login.c(118): $canvas.bind("mousewheel", handleMouseWheel);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function registerPlugin(plugin) {\r\n
Login.c(118): plugins.unshift(plugin);\r\n
Login.c(118): plugin.init(self);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function unregisterPlugin(plugin) {\r\n
Login.c(118): for (var i = plugins.length; i >= 0; i--) {\r\n
Login.c(118): if (plugins[i] === plugin) {\r\n
Login.c(118): if (plugins[i].destroy) {\r\n
Login.c(118): plugins[i].destroy();\r\n
Login.c(118): }\r\n
Login.c(118): plugins.splice(i, 1);\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectionModel(model) {\r\n
Login.c(118): if (selectionModel) {\r\n
Login.c(118):
selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged);\r
Login.c(118): \n
Login.c(118): if (selectionModel.destroy) {\r\n
Login.c(118): selectionModel.destroy();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): selectionModel = model;\r\n
Login.c(118): if (selectionModel) {\r\n
Login.c(118): selectionModel.init(self);\r\n
Login.c(118):
selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSelectionModel() {\r\n
Login.c(118): return selectionModel;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCanvasNode() {\r\n
Login.c(118): return $canvas[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function measureScrollbar() {\r\n
Login.c(118): var $c = $("<div style='position:absolute; top:-10000px;
left:-10000px; width:100px;
Login.c(118): height:100px; overflow:scroll;'></div>").appendTo("body");\r\n
Login.c(118): var dim = {\r\n
Login.c(118): width: $c.width() - $c[0].clientWidth,\r\n
Login.c(118): height: $c.height() - $c[0].clientHeight\r\n
Login.c(118): };\r\n
Login.c(118): $c.remove();\r\n
Login.c(118): return dim;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeadersWidth() {\r\n
Login.c(118): var headersWidth = 0;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): var width = columns[i].width;\r\n
Login.c(118): headersWidth += width;\r\n
Login.c(118): }\r\n
Login.c(118): headersWidth += scrollbarDimensions.width;\r\n
Login.c(118): return Math.max(headersWidth, viewportW) + 1000;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCanvasWidth() {\r\n
Login.c(118): var availableWidth = viewportHasVScroll ? viewportW -
scrollbarDimensions.width : vi
Login.c(118): ewportW;\r\n
Login.c(118): var rowWidth = 0;\r\n
Login.c(118): var i = columns.length;\r\n
Login.c(118): while (i--) {\r\n
Login.c(118): rowWidth += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): return options.fullWidthRows ? Math.max(rowWidth,
availableWidth) : rowWidth;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCanvasWidth(forceColumnWidthsUpdate) {\r\n
Login.c(118): var oldCanvasWidth = canvasWidth;\r\n
Login.c(118): canvasWidth = getCanvasWidth();\r\n
Login.c(118): \r\n
Login.c(118): if (canvasWidth != oldCanvasWidth) {\r\n
Login.c(118): $canvas.width(canvasWidth);\r\n
Login.c(118): $headerRow.width(canvasWidth);\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): viewportHasHScroll = (canvasWidth > viewportW -
scrollbarDimensions.width);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $headerRowSpacer.width(canvasWidth + (viewportHasVScroll ?
scrollbarDimensions.width
Login.c(118): : 0));\r\n
Login.c(118): \r\n
Login.c(118): if (canvasWidth != oldCanvasWidth ||
forceColumnWidthsUpdate) {\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function disableSelection($target) {\r\n
Login.c(118): if ($target && $target.jquery) {\r\n
Login.c(118): $target\r\n
Login.c(118): .attr("unselectable", "on")\r\n
Login.c(118): .css("MozUserSelect", "none")\r\n
Login.c(118): .bind("selectstart.ui", function () {\r\n
Login.c(118): return false;\r\n
Login.c(118): }); // from jquery:ui.core.js 1.7.2\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getMaxSupportedCssHeight() {\r\n
Login.c(118): var supportedHeight = 1000000;\r\n
Login.c(118): // FF reports the height back but still renders blank after
~6M px\r\n
Login.c(118): var testUpTo =
navigator.userAgent.toLowerCase().match(/firefox/) ? 6000000 : 100000
Login.c(118): 0000;\r\n
Login.c(118): var div = $("<div style='display:none'
/>").appendTo(document.body);\r\n
Login.c(118): \r\n
Login.c(118): while (true) {\r\n
Login.c(118): var test = supportedHeight * 2;\r\n
Login.c(118): div.css("height", test);\r\n
Login.c(118): if (test > testUpTo || div.height() !== test) {\r\n
Login.c(118): break;\r\n
Login.c(118): } else {\r\n
Login.c(118): supportedHeight = test;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): div.remove();\r\n
Login.c(118): return supportedHeight;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // TODO: this is static. need to handle page mutation.\r\n
Login.c(118): function bindAncestorScrollEvents() {\r\n
Login.c(118): var elem = $canvas[0];\r\n
Login.c(118): while ((elem = elem.parentNode) != document.body && elem !=
null) {\r\n
Login.c(118): // bind to scroll containers only\r\n
Login.c(118): if (elem == $viewport[0] || elem.scrollWidth !=
elem.clientWidth || elem.scrollHei
Login.c(118): ght != elem.clientHeight) {\r\n
Login.c(118): var $elem = $(elem);\r\n
Login.c(118): if (!$boundAncestors) {\r\n
Login.c(118): $boundAncestors = $elem;\r\n
Login.c(118): } else {\r\n
Login.c(118): $boundAncestors = $boundAncestors.add($elem);\r\n
Login.c(118): }\r\n
Login.c(118): $elem.bind("scroll." + uid,
handleActiveCellPositionChange);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function unbindAncestorScrollEvents() {\r\n
Login.c(118): if (!$boundAncestors) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): $boundAncestors.unbind("scroll." + uid);\r\n
Login.c(118): $boundAncestors = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateColumnHeader(columnId, title, toolTip) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var idx = getColumnIndex(columnId);\r\n
Login.c(118): if (idx == null) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnDef = columns[idx];\r\n
Login.c(118): var $header = $headers.children().eq(idx);\r\n
Login.c(118): if ($header) {\r\n
Login.c(118): if (title !== undefined) {\r\n
Login.c(118): columns[idx].name = title;\r\n
Login.c(118): }\r\n
Login.c(118): if (toolTip !== undefined) {\r\n
Login.c(118): columns[idx].toolTip = toolTip;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onBeforeHeaderCellDestroy, {\r\n
Login.c(118): "node": $header[0],\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $header\r\n
Login.c(118): .attr("title", toolTip || "")\r\n
Login.c(118): .children().eq(0).html(title);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderCellRendered, {\r\n
Login.c(118): "node": $header[0],\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeaderRow() {\r\n
Login.c(118): return $headerRow[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getHeaderRowColumn(columnId) {\r\n
Login.c(118): var idx = getColumnIndex(columnId);\r\n
Login.c(118): var $header = $headerRow.children().eq(idx);\r\n
Login.c(118): return $header && $header[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createColumnHeaders() {\r\n
Login.c(118): function onMouseEnter() {\r\n
Login.c(118): $(this).addClass("ui-state-hover");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function onMouseLeave() {\r\n
Login.c(118): $(this).removeClass("ui-state-hover");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $headers.find(".slick-header-column")\r\n
Login.c(118): .each(function() {\r\n
Login.c(118): var columnDef = $(this).data("column");\r\n
Login.c(118): if (columnDef) {\r\n
Login.c(118): trigger(self.onBeforeHeaderCellDestroy, {\r\n
Login.c(118): "node": this,\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): $headers.empty();\r\n
Login.c(118): $headers.width(getHeadersWidth());\r\n
Login.c(118): \r\n
Login.c(118): $headerRow.find(".slick-headerrow-column")\r\n
Login.c(118): .each(function() {\r\n
Login.c(118): var columnDef = $(this).data("column");\r\n
Login.c(118): if (columnDef) {\r\n
Login.c(118): trigger(self.onBeforeHeaderRowCellDestroy, {\r\n
Login.c(118): "node": this,\r\n
Login.c(118): "column": columnDef\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): $headerRow.empty();\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i];\r\n
Login.c(118): \r\n
Login.c(118): var header = $("<div class='ui-state-default slick-
header-column' />")\r\n
Login.c(118): .html("<span class='slick-column-name'>" + m.name +
"</span>")\r\n
Login.c(118): .width(m.width - headerColumnWidthDiff)\r\n
Login.c(118): .attr("id", "" + uid + m.id)\r\n
Login.c(118): .attr("title", m.toolTip || "")\r\n
Login.c(118): .data("column", m)\r\n
Login.c(118): .addClass(m.headerCssClass || "")\r\n
Login.c(118): .appendTo($headers)
Login.c(118): t=7750ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): ;\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableColumnReorder || m.sortable) {\r\n
Login.c(118): header\r\n
Login.c(118): .on('mouseenter', onMouseEnter)\r\n
Login.c(118): .on('mouseleave', onMouseLeave);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (m.sortable) {\r\n
Login.c(118): header.addClass("slick-header-sortable");\r\n
Login.c(118): header.append("<span class='slick-sort-indicator'
/>");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderCellRendered, {\r\n
Login.c(118): "node": header[0],\r\n
Login.c(118): "column": m\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if (options.showHeaderRow) {\r\n
Login.c(118): var headerRowCell = $("<div class='ui-state-default
slick-headerrow-column l" +
Login.c(118): i + " r" + i + "'></div>")\r\n
Login.c(118): .data("column", m)\r\n
Login.c(118): .appendTo($headerRow);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onHeaderRowCellRendered, {\r\n
Login.c(118): "node": headerRowCell[0],\r\n
Login.c(118): "column": m\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSortColumns(sortColumns);\r\n
Login.c(118): setupColumnResize();\r\n
Login.c(118): if (options.enableColumnReorder) {\r\n
Login.c(118): setupColumnReorder();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnSort() {\r\n
Login.c(118): $headers.click(function (e) {\r\n
Login.c(118): // temporary workaround for a bug in jQuery 1.7.1
(http://bugs.jquery.com/ticket/1
Login.c(118): 1328)\r\n
Login.c(118): e.metaKey = e.metaKey || e.ctrlKey;\r\n
Login.c(118): \r\n
Login.c(118): if ($(e.target).hasClass("slick-resizable-handle")) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var $col = $(e.target).closest(".slick-header-
column");\r\n
Login.c(118): if (!$col.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var column = $col.data("column");\r\n
Login.c(118): if (column.sortable) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var sortOpts = null;\r\n
Login.c(118): var i = 0;\r\n
Login.c(118): for (; i < sortColumns.length; i++) {\r\n
Login.c(118): if (sortColumns[i].columnId == column.id) {\r\n
Login.c(118): sortOpts = sortColumns[i];\r\n
Login.c(118): sortOpts.sortAsc = !sortOpts.sortAsc;\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (e.metaKey && options.multiColumnSort) {\r\n
Login.c(118): if (sortOpts) {\r\n
Login.c(118): sortColumns.splice(i, 1);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): else {\r\n
Login.c(118): if ((!e.shiftKey && !e.metaKey) || !
options.multiColumnSort) {\r\n
Login.c(118): sortColumns = [];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!sortOpts) {\r\n
Login.c(118): sortOpts = { columnId: column.id, sortAsc:
column.defaultSortAsc };\r\n
Login.c(118): sortColumns.push(sortOpts);\r\n
Login.c(118): } else if (sortColumns.length == 0) {\r\n
Login.c(118): sortColumns.push(sortOpts);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSortColumns(sortColumns);\r\n
Login.c(118): \r\n
Login.c(118): if (!options.multiColumnSort) {\r\n
Login.c(118): trigger(self.onSort, {\r\n
Login.c(118): multiColumnSort: false,\r\n
Login.c(118): sortCol: column,\r\n
Login.c(118): sortAsc: sortOpts.sortAsc}, e);\r\n
Login.c(118): } else {\r\n
Login.c(118): trigger(self.onSort, {\r\n
Login.c(118): multiColumnSort: true,\r\n
Login.c(118): sortCols: $.map(sortColumns, function(col) {\r\n
Login.c(118): return {sortCol:
columns[getColumnIndex(col.columnId)], sortAsc: col.sortA
Login.c(118): sc };\r\n
Login.c(118): })}, e);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnReorder() {\r\n
Login.c(118): $headers.filter(":ui-sortable").sortable("destroy");\r\n
Login.c(118): $headers.sortable({\r\n
Login.c(118): containment: "parent",\r\n
Login.c(118): distance: 3,\r\n
Login.c(118): axis: "x",\r\n
Login.c(118): cursor: "default",\r\n
Login.c(118): tolerance: "intersection",\r\n
Login.c(118): helper: "clone",\r\n
Login.c(118): placeholder: "slick-sortable-placeholder ui-state-default
slick-header-column",\r\n
Login.c(118): start: function (e, ui) {\r\n
Login.c(118): ui.placeholder.width(ui.helper.outerWidth() -
headerColumnWidthDiff);\r\n
Login.c(118): $(ui.helper).addClass("slick-header-column-
active");\r\n
Login.c(118): },\r\n
Login.c(118): beforeStop: function (e, ui) {\r\n
Login.c(118): $(ui.helper).removeClass("slick-header-column-
active");\r\n
Login.c(118): },\r\n
Login.c(118): stop: function (e) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): $(this).sortable("cancel");\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var reorderedIds = $headers.sortable("toArray");\r\n
Login.c(118): var reorderedColumns = [];\r\n
Login.c(118): for (var i = 0; i < reorderedIds.length; i++) {\r\n
Login.c(118):
reorderedColumns.push(columns[getColumnIndex(reorderedIds[i].replace(uid, ""))
Login.c(118): ]);\r\n
Login.c(118): }\r\n
Login.c(118): setColumns(reorderedColumns);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onColumnsReordered, {});\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): setupColumnResize();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setupColumnResize() {\r\n
Login.c(118): var $col, j, c, pageX, columnElements, minPageX, maxPageX,
firstResizable, lastResiz
Login.c(118): able;\r\n
Login.c(118): columnElements = $headers.children();\r\n
Login.c(118): columnElements.find(".slick-resizable-
handle").remove();\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): if (columns[i].resizable) {\r\n
Login.c(118): if (firstResizable === undefined) {\r\n
Login.c(118): firstResizable = i;\r\n
Login.c(118): }\r\n
Login.c(118): lastResizable = i;\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): if (firstResizable === undefined) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): if (i < firstResizable || (options.forceFitColumns && i
>= lastResizable)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): $col = $(e);\r\n
Login.c(118): $("<div class='slick-resizable-handle' />")\r\n
Login.c(118): .appendTo(e)\r\n
Login.c(118): .bind("dragstart", function (e, dd) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): pageX = e.pageX;\r\n
Login.c(118): $(this).parent().addClass("slick-header-column-
active");\r\n
Login.c(118): var shrinkLeewayOnRight = null,
stretchLeewayOnRight = null;\r\n
Login.c(118): // lock each column's width option to current
width\r\n
Login.c(118): columnElements.each(function (i, e) {\r\n
Login.c(118): columns[i].previousWidth = $(e).outerWidth();\r\n
Login.c(118): });\r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): shrinkLeewayOnRight = 0;\r\n
Login.c(118): stretchLeewayOnRight = 0;\r\n
Login.c(118): // colums on right affect maxPageX/minPageX\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (stretchLeewayOnRight !== null) {\r\n
Login.c(118): if (c.maxWidth) {\r\n
Login.c(118): stretchLeewayOnRight += c.maxWidth -
c.previousWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): stretchLeewayOnRight = null;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): shrinkLeewayOnRight += c.previousWidth -
Math.max(c.minWidth || 0, abs
Login.c(118): oluteColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): var shrinkLeewayOnLeft = 0, stretchLeewayOnLeft =
0;\r\n
Login.c(118): for (j = 0; j <= i; j++) {\r\n
Login.c(118): // columns on left only affect minPageX\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (stretchLeewayOnLeft !== null) {\r\n
Login.c(118): if (c.maxWidth) {\r\n
Login.c(118): stretchLeewayOnLeft += c.maxWidth -
c.previousWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): stretchLeewayOnLeft = null;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): shrinkLeewayOnLeft += c.previousWidth -
Math.max(c.minWidth || 0, absolu
Login.c(118): teColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): if (shrinkLeewayOnRight === null) {\r\n
Login.c(118): shrinkLeewayOnRight = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (shrinkLeewayOnLeft === null) {\r\n
Login.c(118): shrinkLeewayOnLeft = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (stretchLeewayOnRight === null) {\r\n
Login.c(118): stretchLeewayOnRight = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): if (stretchLeewayOnLeft === null) {\r\n
Login.c(118): stretchLeewayOnLeft = 100000;\r\n
Login.c(118): }\r\n
Login.c(118): maxPageX = pageX + Math.min(shrinkLeewayOnRight,
stretchLeewayOnLeft);\r\n
Login.c(118): minPageX = pageX - Math.min(shrinkLeewayOnLeft,
stretchLeewayOnRight);\r\n
Login.c(118): })\r\n
Login.c(118): .bind("drag", function (e, dd) {\r\n
Login.c(118): var actualMinWidth, d = Math.min(maxPageX,
Math.max(minPageX, e.pageX)) - pa
Login.c(118): geX, x;\r\n
Login.c(118): if (d < 0) { // shrink column\r\n
Login.c(118): x = d;\r\n
Login.c(118): for (j = i; j >= 0; j--) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): actualMinWidth = Math.max(c.minWidth || 0,
absoluteColumnMinWidth);\r\n
Login.c(118): if (x && c.previousWidth + x <
actualMinWidth) {\r\n
Login.c(118): x += c.previousWidth - actualMinWidth;\r\n
Login.c(118): c.width = actualMinWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): x = -d;\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (x && c.maxWidth && (c.maxWidth -
c.previousWidth < x)) {\r\n
Login.c(118): x -= c.maxWidth - c.previousWidth;\r\n
Login.c(118): c.width = c.maxWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): } else { // stretch column\r\n
Login.c(118): x = d;\r\n
Login.c(118): for (j = i; j >= 0; j--) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): if (x && c.maxWidth && (c.maxWidth -
c.previousWidth < x)) {\r\n
Login.c(118): x -= c.maxWidth - c.previousWidth;\r\n
Login.c(118): c.width = c.maxWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): x = -d;\r\n
Login.c(118): for (j = i + 1; j < columnElements.length; j++)
{\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): actualMinWidth = Math.max(c.minWidth || 0,
absoluteColumnMinWidth);\r
Login.c(118): \n
Login.c(118): if (x && c.previousWidth + x <
actualMinWidth) {\r\n
Login.c(118): x += c.previousWidth -
actualMinWidth;\r\n
Login.c(118): c.width = actualMinWidth;\r\n
Login.c(118): } else {\r\n
Login.c(118): c.width = c.previousWidth + x;\r\n
Login.c(118): x = 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): if (options.syncColumnCellResize) {\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): }\r\n
Login.c(118): })\r\n
Login.c(118): .bind("dragend", function (e, dd) {\r\n
Login.c(118): var newWidth;\r\n
Login.c(118): $(this).parent().removeClass("slick-header-column-
active");\r\n
Login.c(118): for (j = 0; j < columnElements.length; j++) {\r\n
Login.c(118): c = columns[j];\r\n
Login.c(118): newWidth = $(columnElements[j]).outerWidth();\r\n
Login.c(118): \r\n
Login.c(118): if (c.previousWidth !== newWidth &&
c.rerenderOnResize) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): updateCanvasWidth(true);\r\n
Login.c(118): render();\r\n
Login.c(118): trigger(self.onColumnsResized, {});\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getVBoxDelta($el) {\r\n
Login.c(118): var p = ["borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom"];\r\n
Login.c(118): var delta = 0;\r\n
Login.c(118): $.each(p, function (n, val) {\r\n
Login.c(118): delta += parseFloat($el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): return delta;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function measureCellPaddingAndBorder() {\r\n
Login.c(118): var el;\r\n
Login.c(118): var h = ["borderLeftWidth", "borderRightWidth",
"paddingLeft", "paddingRight"];\r\n
Login.c(118): var v = ["borderTopWidth", "borderBottomWidth",
"paddingTop", "paddingBottom"];\r\n
Login.c(118): \r\n
Login.c(118): el = $("<div class='ui-state-default slick-header-column'
style='visibility:hidden'>
Login.c(118): -</div>").appendTo($headers);\r\n
Login.c(118): headerColumnWidthDiff = headerColumnHeightDiff = 0;\r\n
Login.c(118): if (el.css("box-sizing") != "border-box" && el.css("-moz-
box-sizing") != "border-box
Login.c(118): " && el.css("-webkit-box-sizing") != "border-box") {\r\n
Login.c(118): $.each(h, function (n, val) {\r\n
Login.c(118): headerColumnWidthDiff += parseFloat(el.css(val)) ||
0;\r\n
Login.c(118): });\r\n
Login.c(118): $.each(v, function (n, val) {\r\n
Login.c(118): headerColumnHeigh
Login.c(118): t=7780ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): tDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): el.remove();\r\n
Login.c(118): \r\n
Login.c(118): var r = $("<div class='slick-row'
/>").appendTo($canvas);\r\n
Login.c(118): el = $("<div class='slick-cell' id=''
style='visibility:hidden'>-</div>").appendTo(r
Login.c(118): );\r\n
Login.c(118): cellWidthDiff = cellHeightDiff = 0;\r\n
Login.c(118): if (el.css("box-sizing") != "border-box" && el.css("-moz-
box-sizing") != "border-box
Login.c(118): " && el.css("-webkit-box-sizing") != "border-box") {\r\n
Login.c(118): $.each(h, function (n, val) {\r\n
Login.c(118): cellWidthDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): $.each(v, function (n, val) {\r\n
Login.c(118): cellHeightDiff += parseFloat(el.css(val)) || 0;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): r.remove();\r\n
Login.c(118): \r\n
Login.c(118): absoluteColumnMinWidth = Math.max(headerColumnWidthDiff,
cellWidthDiff);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createCssRules() {\r\n
Login.c(118): $style = $("<style type='text/css' rel='stylesheet'
/>").appendTo($("head"));\r\n
Login.c(118): var rowHeight = (options.rowHeight - cellHeightDiff);\r\n
Login.c(118): var rules = [\r\n
Login.c(118): "." + uid + " .slick-header-column { left:
1000px; }",\r\n
Login.c(118): "." + uid + " .slick-top-panel { height:" +
options.topPanelHeight + "px; }",\r\n
Login.c(118): "." + uid + " .slick-headerrow-columns { height:" +
options.headerRowHeight + "px;
Login.c(118): }",\r\n
Login.c(118): "." + uid + " .slick-cell { height:" + rowHeight +
"px; }",\r\n
Login.c(118): "." + uid + " .slick-row { height:" + options.rowHeight +
"px; }"\r\n
Login.c(118): ];\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): rules.push("." + uid + " .l" + i + " { }");\r\n
Login.c(118): rules.push("." + uid + " .r" + i + " { }");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if ($style[0].styleSheet) { // IE\r\n
Login.c(118): $style[0].styleSheet.cssText = rules.join(" ");\r\n
Login.c(118): } else {\r\n
Login.c(118):
$style[0].appendChild(document.createTextNode(rules.join(" ")));\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnCssRules(idx) {\r\n
Login.c(118): if (!stylesheet) {\r\n
Login.c(118): var sheets = document.styleSheets;\r\n
Login.c(118): for (var i = 0; i < sheets.length; i++) {\r\n
Login.c(118): if ((sheets[i].ownerNode || sheets[i].owningElement) ==
$style[0]) {\r\n
Login.c(118): stylesheet = sheets[i];\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!stylesheet) {\r\n
Login.c(118): throw new Error("Cannot find stylesheet.");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // find and cache column CSS rules\r\n
Login.c(118): columnCssRulesL = [];\r\n
Login.c(118): columnCssRulesR = [];\r\n
Login.c(118): var cssRules = (stylesheet.cssRules ||
stylesheet.rules);\r\n
Login.c(118): var matches, columnIdx;\r\n
Login.c(118): for (var i = 0; i < cssRules.length; i++) {\r\n
Login.c(118): var selector = cssRules[i].selectorText;\r\n
Login.c(118): if (matches = /\\.l\\d+/.exec(selector)) {\r\n
Login.c(118): columnIdx = parseInt(matches[0].substr(2,
matches[0].length - 2), 10);\r\n
Login.c(118): columnCssRulesL[columnIdx] = cssRules[i];\r\n
Login.c(118): } else if (matches = /\\.r\\d+/.exec(selector)) {\r\n
Login.c(118): columnIdx = parseInt(matches[0].substr(2,
matches[0].length - 2), 10);\r\n
Login.c(118): columnCssRulesR[columnIdx] = cssRules[i];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): "left": columnCssRulesL[idx],\r\n
Login.c(118): "right": columnCssRulesR[idx]\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeCssRules() {\r\n
Login.c(118): $style.remove();\r\n
Login.c(118): stylesheet = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroy() {\r\n
Login.c(118): getEditorLock().cancelCurrentEdit();\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onBeforeDestroy, {});\r\n
Login.c(118): \r\n
Login.c(118): var i = plugins.length;\r\n
Login.c(118): while(i--) {\r\n
Login.c(118): unregisterPlugin(plugins[i]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableColumnReorder) {\r\n
Login.c(118): $headers.filter(":ui-
sortable").sortable("destroy");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): unbindAncestorScrollEvents();\r\n
Login.c(118): $container.unbind(".slickgrid");\r\n
Login.c(118): removeCssRules();\r\n
Login.c(118): \r\n
Login.c(118): $canvas.unbind("draginit dragstart dragend drag");\r\n
Login.c(118): $container.empty().removeClass(uid);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // General\r\n
Login.c(118): \r\n
Login.c(118): function trigger(evt, args, e) {\r\n
Login.c(118): e = e || new Slick.EventData();\r\n
Login.c(118): args = args || {};\r\n
Login.c(118): args.grid = self;\r\n
Login.c(118): return evt.notify(args, e, self);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditorLock() {\r\n
Login.c(118): return options.editorLock;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditController() {\r\n
Login.c(118): return editController;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnIndex(id) {\r\n
Login.c(118): return columnsById[id];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function autosizeColumns() {\r\n
Login.c(118): var i, c,\r\n
Login.c(118): widths = [],\r\n
Login.c(118): shrinkLeeway = 0,\r\n
Login.c(118): total = 0,\r\n
Login.c(118): prevTotal,\r\n
Login.c(118): availWidth = viewportHasVScroll ? viewportW -
scrollbarDimensions.width : viewpo
Login.c(118): rtW;\r\n
Login.c(118): \r\n
Login.c(118): for (i = 0; i < columns.length; i++) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): widths.push(c.width);\r\n
Login.c(118): total += c.width;\r\n
Login.c(118): if (c.resizable) {\r\n
Login.c(118): shrinkLeeway += c.width - Math.max(c.minWidth,
absoluteColumnMinWidth);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // shrink\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): while (total > availWidth && shrinkLeeway) {\r\n
Login.c(118): var shrinkProportion = (total - availWidth) /
shrinkLeeway;\r\n
Login.c(118): for (i = 0; i < columns.length && total > availWidth; i+
+) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): var width = widths[i];\r\n
Login.c(118): if (!c.resizable || width <= c.minWidth || width <=
absoluteColumnMinWidth) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): var absMinWidth = Math.max(c.minWidth,
absoluteColumnMinWidth);\r\n
Login.c(118): var shrinkSize = Math.floor(shrinkProportion * (width -
absMinWidth)) || 1;\r\n
Login.c(118): shrinkSize = Math.min(shrinkSize, width -
absMinWidth);\r\n
Login.c(118): total -= shrinkSize;\r\n
Login.c(118): shrinkLeeway -= shrinkSize;\r\n
Login.c(118): widths[i] -= shrinkSize;\r\n
Login.c(118): }\r\n
Login.c(118): if (prevTotal <= total) { // avoid infinite loop\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // grow\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): while (total < availWidth) {\r\n
Login.c(118): var growProportion = availWidth / total;\r\n
Login.c(118): for (i = 0; i < columns.length && total < availWidth; i+
+) {\r\n
Login.c(118): c = columns[i];\r\n
Login.c(118): var currentWidth = widths[i];\r\n
Login.c(118): var growSize;\r\n
Login.c(118): \r\n
Login.c(118): if (!c.resizable || c.maxWidth <= currentWidth) {\r\n
Login.c(118): growSize = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): growSize = Math.min(Math.floor(growProportion *
currentWidth) - currentWidth,
Login.c(118): (c.maxWidth - currentWidth) || 1000000) || 1;\r\n
Login.c(118): }\r\n
Login.c(118): total += growSize;\r\n
Login.c(118): widths[i] += growSize;\r\n
Login.c(118): }\r\n
Login.c(118): if (prevTotal >= total) { // avoid infinite loop\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): prevTotal = total;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var reRender = false;\r\n
Login.c(118): for (i = 0; i < columns.length; i++) {\r\n
Login.c(118): if (columns[i].rerenderOnResize && columns[i].width !=
widths[i]) {\r\n
Login.c(118): reRender = true;\r\n
Login.c(118): }\r\n
Login.c(118): columns[i].width = widths[i];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): updateCanvasWidth(true);\r\n
Login.c(118): if (reRender) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function applyColumnHeaderWidths() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var h;\r\n
Login.c(118): for (var i = 0, headers = $headers.children(), ii =
headers.length; i < ii; i++) {\r
Login.c(118): \n
Login.c(118): h = $(headers[i]);\r\n
Login.c(118): if (h.width() !== columns[i].width -
headerColumnWidthDiff) {\r\n
Login.c(118): h.width(columns[i].width - headerColumnWidthDiff);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function applyColumnWidths() {\r\n
Login.c(118): var x = 0, w, rule;\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): w = columns[i].width;\r\n
Login.c(118): \r\n
Login.c(118): rule = getColumnCssRules(i);\r\n
Login.c(118): rule.left.style.left = x + "px";\r\n
Login.c(118): rule.right.style.right = (canvasWidth - x - w) +
"px";\r\n
Login.c(118): \r\n
Login.c(118): x += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSortColumn(columnId, ascending) {\r\n
Login.c(118): setSortColumns([{ columnId: columnId, sortAsc:
ascending}]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSortColumns(cols) {\r\n
Login.c(118): sortColumns = cols;\r\n
Login.c(118): \r\n
Login.c(118): var headerColumnEls = $headers.children();\r\n
Login.c(118): headerColumnEls\r\n
Login.c(118): .removeClass("slick-header-column-sorted")\r\n
Login.c(118): .find(".slick-sort-indicator")\r\n
Login.c(118): .removeClass("slick-sort-indicator-asc slick-sort-
indicator-desc");\r\n
Login.c(118): \r\n
Login.c(118): $.each(sortColumns, function(i, col) {\r\n
Login.c(118): if (col.sortAsc == null) {\r\n
Login.c(118): col.sortAsc = true;\r\n
Login.c(118): }\r\n
Login.c(118): var columnIndex = getColumnIndex(col.columnId);\r\n
Login.c(118): if (columnIndex != null) {\r\n
Login.c(118): headerColumnEls.eq(columnIndex)\r\n
Login.c(118): .addClass("slick-header-column-sorted")\r\n
Login.c(118): .find(".slick-sort-indicator")\r\n
Login.c(118): .addClass(col.sortAsc ? "slick-sort-indicator-
asc" : "slick-sort-indicat
Login.c(118): or-desc");\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSortColumns() {\r\n
Login.c(118): return sortColumns;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleSelectedRangesChanged(e, ranges) {\r\n
Login.c(118): selectedRows = [];\r\n
Login.c(118): var hash = {};\r\n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\r\n
Login.c(118): for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j+
+) {\r\n
Login.c(118): if (!hash[j]) { // prevent duplicates\r\n
Login.c(118): selectedRows.push(j);\r\n
Login.c(118): hash[j] = {};\r\n
Login.c(118): }\r\n
Login.c(118): for (var k = ranges[i].fromCell; k <= ranges[i].toCell;
k++) {\r\n
Login.c(118): if (canCellBeSelected(j, k)) {\r\n
Login.c(118): hash[j][columns[k].id] =
options.selectedCellCssClass;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setCellCssStyles(options.selectedCellCssClass, hash);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onSelectedRowsChanged, {rows:
getSelectedRows()}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumns() {\r\n
Login.c(118): return columns;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateColumnCaches() {\r\n
Login.c(118): // Pre-calculate cell boundaries.\r\n
Login.c(118): columnPosLeft = [];\r\n
Login.c(118): columnPosRight = [];\r\n
Login.c(118): var x = 0;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): columnPosLeft[i] = x;\r\n
Login.c(118): columnPosRight[i] = x + columns[i].width;\r\n
Login.c(118): x += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setColumns(columnDefinitions) {\r\n
Login.c(118): columns = columnDefinitions;\r\n
Login.c(118): \r\n
Login.c(118): columnsById = {};\r\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\r\n
Login.c(118): var m = columns[i] = $.extend({}, columnDefaults,
columns[i]);\r\n
Login.c(118): columnsById[m.id] = i;\r\n
Login.c(118): if (m.minWidth && m.width < m.minWidth) {\r\n
Login.c(118): m.width = m.minWidth;\r\n
Login.c(118): }\r\n
Login.c(118): if (m.maxWidth && m.width > m.maxWidth) {\r\n
Login.c(118): m.width = m.maxWidth;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateColumnCaches();\r\n
Login.c(118): \r\n
Login.c(118): if (initialized) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): createColumnHeaders();\r\n
Login.c(118): removeCssRules();\r\n
Login.c(118): createCssRules();\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): applyColumnWidths();\r\n
Login.c(118): applyColumnHeaderWidths();\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getOptions() {\r\n
Login.c(118): return options;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setOptions(args) {\r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableAddRow !== args.enableAddRow) {\r\n
Login.c(118): invalidateRow(getDataLength());\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): options = $.extend(options, args);\r\n
Login.c(118): validateAndEnforceOptions();\r\n
Login.c(118): \r\n
Login.c(118): $viewport.css("overflow-y", options.autoHeight ? "hidden" :
"auto");\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function validateAndEnforceOptions() {\r\n
Login.c(118): if (options.autoHeight) {\r\n
Login.c(118): options.leaveSpaceForNewRows = false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setData(newData, scrollToTop) {\r\n
Login.c(118): data = newData;\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): if (scrollToTop) {\r\n
Login.c(118): scrollTo(0);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getData() {\r\n
Login.c(118): return data;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataLength() {\r\n
Login.c(118): if (data.getLength) {\r\n
Login.c(118): return data.getLength();\r\n
Login.c(118): } else {\r\n
Login.c(118): return data.length;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataLengthIncludingAddNew() {\r\n
Login.c(118): return getDataLength() + (options.enableAddRow ? 1 :
0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataItem(i) {\r\n
Login.c(118): if (data.getItem) {\r\n
Login.c(118): return data.getItem(i);\r\n
Login.c(118): } else {\r\n
Login.c(118): return data[i];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getTopPanel() {\r\n
Login.c(118): return $topPanel[0];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setTopPanelVisibility(visible) {\r\n
Login.c(118): if (options.showTopPanel != visible) {\r\n
Login.c(118): options.showTopPanel = visible;\r\n
Login.c(118): if (visible) {\r\n
Login.c(118): $topPanelScroller.slideDown("fast", resizeCanvas);\r\n
Login.c(118): } else {\r\n
Login.c(118): $topPanelScroller.slideUp("fast", resizeCanvas);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setHeaderRowVisibility(visible) {\r\n
Login.c(118): if (options.showHeaderRow != visible) {\r\n
Login.c(118): options.showHeaderRow = visible;\r\n
Login.c(118): if (visible) {\r\n
Login.c(118): $headerRowScroller.sli
Login.c(118): t=7798ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): deDown("fast", resizeCanvas);\r\n
Login.c(118): } else {\r\n
Login.c(118): $headerRowScroller.slideUp("fast", resizeCanvas);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getContainerNode() {\r\n
Login.c(118): return $container.get(0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Rendering / Scrolling\r\n
Login.c(118): \r\n
Login.c(118): function getRowTop(row) {\r\n
Login.c(118): return options.rowHeight * row - offset;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRowFromPosition(y) {\r\n
Login.c(118): return Math.floor((y + offset) / options.rowHeight);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollTo(y) {\r\n
Login.c(118): y = Math.max(y, 0);\r\n
Login.c(118): y = Math.min(y, th - viewportH + (viewportHasHScroll ?
scrollbarDimensions.height :
Login.c(118): 0));\r\n
Login.c(118): \r\n
Login.c(118): var oldOffset = offset;\r\n
Login.c(118): \r\n
Login.c(118): page = Math.min(n - 1, Math.floor(y / ph));\r\n
Login.c(118): offset = Math.round(page * cj);\r\n
Login.c(118): var newScrollTop = y - offset;\r\n
Login.c(118): \r\n
Login.c(118): if (offset != oldOffset) {\r\n
Login.c(118): var range = getVisibleRange(newScrollTop);\r\n
Login.c(118): cleanupRows(range);\r\n
Login.c(118): updateRowPositions();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (prevScrollTop != newScrollTop) {\r\n
Login.c(118): vScrollDir = (prevScrollTop + oldOffset < newScrollTop +
offset) ? 1 : -1;\r\n
Login.c(118): $viewport[0].scrollTop = (lastRenderedScrollTop =
scrollTop = prevScrollTop = newS
Login.c(118): crollTop);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onViewportChanged, {});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function defaultFormatter(row, cell, value, columnDef,
dataContext) {\r\n
Login.c(118): if (value == null) {\r\n
Login.c(118): return "";\r\n
Login.c(118): } else {\r\n
Login.c(118): return (value +
"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"
Login.c(118): );\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getFormatter(row, column) {\r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): \r\n
Login.c(118): // look up by id, then index\r\n
Login.c(118): var columnOverrides = rowMetadata &&\r\n
Login.c(118): rowMetadata.columns &&\r\n
Login.c(118): (rowMetadata.columns[column.id] ||
rowMetadata.columns[getColumnIndex(column.id)
Login.c(118): ]);\r\n
Login.c(118): \r\n
Login.c(118): return (columnOverrides && columnOverrides.formatter)
||\r\n
Login.c(118): (rowMetadata && rowMetadata.formatter) ||\r\n
Login.c(118): column.formatter ||\r\n
Login.c(118): (options.formatterFactory &&
options.formatterFactory.getFormatter(column)) ||\r
Login.c(118): \n
Login.c(118): options.defaultFormatter;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getEditor(row, cell) {\r\n
Login.c(118): var column = columns[cell];\r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): var columnMetadata = rowMetadata &&
rowMetadata.columns;\r\n
Login.c(118): \r\n
Login.c(118): if (columnMetadata && columnMetadata[column.id] &&
columnMetadata[column.id].editor
Login.c(118): !== undefined) {\r\n
Login.c(118): return columnMetadata[column.id].editor;\r\n
Login.c(118): }\r\n
Login.c(118): if (columnMetadata && columnMetadata[cell] &&
columnMetadata[cell].editor !== undefi
Login.c(118): ned) {\r\n
Login.c(118): return columnMetadata[cell].editor;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return column.editor || (options.editorFactory &&
options.editorFactory.getEditor(co
Login.c(118): lumn));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getDataItemValueForColumn(item, columnDef) {\r\n
Login.c(118): if (options.dataItemColumnValueExtractor) {\r\n
Login.c(118): return options.dataItemColumnValueExtractor(item,
columnDef);\r\n
Login.c(118): }\r\n
Login.c(118): return item[columnDef.field];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function appendRowHtml(stringArray, row, range, dataLength)
{\r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): var dataLoading = row < dataLength && !d;\r\n
Login.c(118): var rowCss = "slick-row" +\r\n
Login.c(118): (dataLoading ? " loading" : "") +\r\n
Login.c(118): (row === activeRow ? " active" : "") +\r\n
Login.c(118): (row % 2 == 1 ? " odd" : " even");\r\n
Login.c(118): \r\n
Login.c(118): if (!d) {\r\n
Login.c(118): rowCss += " " + options.addNewRowCssClass;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): \r\n
Login.c(118): if (metadata && metadata.cssClasses) {\r\n
Login.c(118): rowCss += " " + metadata.cssClasses;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("<div class='ui-widget-content " + rowCss
+ "' style='top:" + getRo
Login.c(118): wTop(row) + "px'>");\r\n
Login.c(118): \r\n
Login.c(118): var colspan, m;\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): m = columns[i];\r\n
Login.c(118): colspan = 1;\r\n
Login.c(118): if (metadata && metadata.columns) {\r\n
Login.c(118): var columnData = metadata.columns[m.id] ||
metadata.columns[i];\r\n
Login.c(118): colspan = (columnData && columnData.colspan) || 1;\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = ii - i;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // Do not render cells outside of the viewport.\r\n
Login.c(118): if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] >
range.leftPx) {\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx) {\r\n
Login.c(118): // All columns to the right are outside the
range.\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): appendCellHtml(stringArray, row, i, colspan, d);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (colspan > 1) {\r\n
Login.c(118): i += (colspan - 1);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("</div>");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function appendCellHtml(stringArray, row, cell, colspan,
item) {\r\n
Login.c(118): var m = columns[cell];\r\n
Login.c(118): var cellCss = "slick-cell l" + cell + " r" +
Math.min(columns.length - 1, cell + col
Login.c(118): span - 1) +\r\n
Login.c(118): (m.cssClass ? " " + m.cssClass : "");\r\n
Login.c(118): if (row === activeRow && cell === activeCell) {\r\n
Login.c(118): cellCss += (" active");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // TODO: merge them together in the setter\r\n
Login.c(118): for (var key in cellCssClasses) {\r\n
Login.c(118): if (cellCssClasses[key][row] && cellCssClasses[key][row]
[m.id]) {\r\n
Login.c(118): cellCss += (" " + cellCssClasses[key][row][m.id]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("<div class='" + cellCss + "'>");\r\n
Login.c(118): \r\n
Login.c(118): // if there is a corresponding row (if not, this is the Add
New row or this data has
Login.c(118): n't been loaded yet)\r\n
Login.c(118): if (item) {\r\n
Login.c(118): var value = getDataItemValueForColumn(item, m);\r\n
Login.c(118): stringArray.push(getFormatter(row, m)(row, cell, value,
m, item));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): stringArray.push("</div>");\r\n
Login.c(118): \r\n
Login.c(118): rowsCache[row].cellRenderQueue.push(cell);\r\n
Login.c(118): rowsCache[row].cellColSpans[cell] = colspan;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function cleanupRows(rangeToKeep) {\r\n
Login.c(118): for (var i in rowsCache) {\r\n
Login.c(118): if (((i = parseInt(i, 10)) !== activeRow) && (i <
rangeToKeep.top || i > rangeToKe
Login.c(118): ep.bottom)) {\r\n
Login.c(118): removeRowFromCache(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidate() {\r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateAllRows() {\r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): removeRowFromCache(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeRowFromCache(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (rowNodeFromLastMouseWheelEvent == cacheEntry.rowNode)
{\r\n
Login.c(118): cacheEntry.rowNode.style.display = 'none';\r\n
Login.c(118): zombieRowNodeFromLastMouseWheelEvent =
rowNodeFromLastMouseWheelEvent;\r\n
Login.c(118): } else {\r\n
Login.c(118): $canvas[0].removeChild(cacheEntry.rowNode);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): delete rowsCache[row];\r\n
Login.c(118): delete postProcessedRows[row];\r\n
Login.c(118): renderedRows--;\r\n
Login.c(118): counter_rows_removed++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateRows(rows) {\r\n
Login.c(118): var i, rl;\r\n
Login.c(118): if (!rows || !rows.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): vScrollDir = 0;\r\n
Login.c(118): for (i = 0, rl = rows.length; i < rl; i++) {\r\n
Login.c(118): if (currentEditor && activeRow === rows[i]) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): if (rowsCache[rows[i]]) {\r\n
Login.c(118): removeRowFromCache(rows[i]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidateRow(row) {\r\n
Login.c(118): invalidateRows([row]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCell(row, cell) {\r\n
Login.c(118): var cellNode = getCellNode(row, cell);\r\n
Login.c(118): if (!cellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var m = columns[cell], d = getDataItem(row);\r\n
Login.c(118): if (currentEditor && activeRow === row && activeCell ===
cell) {\r\n
Login.c(118): currentEditor.loadValue(d);\r\n
Login.c(118): } else {\r\n
Login.c(118): cellNode.innerHTML = d ? getFormatter(row, m)(row, cell,
getDataItemValueForColumn
Login.c(118): (d, m), m, d) : "";\r\n
Login.c(118): invalidatePostProcessingResults(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRow(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): \r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): \r\n
Login.c(118): for (var columnIdx in cacheEntry.cellNodesByColumnIdx)
{\r\n
Login.c(118): if (!
cacheEntry.cellNodesByColumnIdx.hasOwnProperty(columnIdx)) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): columnIdx = columnIdx | 0;\r\n
Login.c(118): var m = columns[columnIdx],\r\n
Login.c(118): node =
cacheEntry.cellNodesByColumnIdx[columnIdx];\r\n
Login.c(118): \r\n
Login.c(118): if (row === activeRow && columnIdx === activeCell &&
currentEditor) {\r\n
Login.c(118): currentEditor.loadValue(d);\r\n
Login.c(118): } else if (d) {\r\n
Login.c(118): node.innerHTML = getFormatter(row, m)(row, columnIdx,
getDataItemValueForColumn(
Login.c(118): d, m), m, d);\r\n
Login.c(118): } else {\r\n
Login.c(118): node.innerHTML = "";\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): invalidatePostProcessingResults(row);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getViewportHeight() {\r\n
Login.c(118): return parseFloat($.css($container[0], "height", true))
-\r\n
Login.c(118): parseFloat($.css($container[0], "paddingTop", true))
-\r\n
Login.c(118): parseFloat($.css($container[0], "paddingBottom", true))
-\r\n
Login.c(118): parseFloat($.css($headerScroller[0], "height")) -
getVBoxDelta($headerScroller)
Login.c(118): -\r\n
Login.c(118): (options.showTopPanel ? options.topPanelHeight +
getVBoxDelta($topPanelScroller)
Login.c(118): : 0) -\r\n
Login.c(118): (options.showHeaderRow ? options.headerRowHeight +
getVBoxDelta($headerRowScroll
Login.c(118): er) : 0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function resizeCanvas() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (options.autoHeight) {\r\n
Login.c(118): viewportH = options.rowHeight *
getDataLengthIncludingAddNew();\r\n
Login.c(118): } else {\r\n
Login.c(118): viewportH = getViewportHeight();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): numVisibleRows = Math.ceil(viewportH /
options.rowHeight);\r\n
Login.c(118): viewportW = parseFloat($.css($container[0], "width",
true));\r\n
Login.c(118): if (!options.autoHeight) {\r\n
Login.c(118): $viewport.height(viewportH);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns) {\r\n
Login.c(118): autosizeColumns();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateRowCount();\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): // Since the width has changed, force the render() to
reevaluate virtually rendered
Login.c(118): cells.\r\n
Login.c(118): lastRenderedScrollLeft = -1;\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRowCount() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): \r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): var numberOfRows = dataLengthIncludingAddNew +\r\n
Login.c(118): (options.leaveSpaceForNewRows ? numVisibleRows - 1 :
0);\r\n
Login.c(118): \r\n
Login.c(118): var oldViewportHasVScroll = viewportHasVScroll;\r\n
Login.c(118): // with autoHeight, we do not need to accommodate the
vertical scroll bar\r\n
Login.c(118): viewportHasVScroll = !options.autoHeight && (numberOfRows *
options.rowHeight > view
Login.c(118): portH);\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): \r\n
Login.c(118): // remove the rows that are now outside of the data
range\r\n
Login.c(118): // this helps avoid redundant calls to .removeRow() when
the size of the data decrea
Login.c(118): sed by thousands of rows\r\n
Login.c(118): var l = dataLengthIncludingAddNew - 1;\r\n
Login.c(118): for (var i in rowsCache) {\r\n
Login.c(118): if (i >= l) {\r\n
Login.c(118): removeRowFromCache(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode && activeRow > l) {\r\n
Login.c(118): resetActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var oldH = h;\r\n
Login.c(118): th = Math.max(options.rowHeight * numberOfRows, viewportH -
scrollbarDimensions.heig
Login.c(118): ht);\r\n
Login.c(118): if (th < maxSupportedCssHeight) {\r\n
Login.c(118): // just one page\r\n
Login.c(118): h = ph = th;\r\n
Login.c(118): n = 1;\r\n
Login.c(118): cj = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): // break into pages\r\n
Login.c(118): h = maxSupportedCssHeight;\r\n
Login.c(118): ph = h / 100;\r\n
Login.c(118): n = Math.floor(th / ph);\r\n
Login.c(118): cj = (th - h) / (n - 1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (h !== oldH) {\r\n
Login.c(118): $canvas.css("height", h);\r\n
Login.c(118): scrollTop = $viewport[0].scrollTop;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var oldScrollTopInRange = (scrollTop + offset <= th -
viewportH);\r\n
Login.c(118): \r\n
Login.c(118): if (th == 0 || scrollTop == 0) {\r\n
Login.c(118): page = offset = 0;\r\n
Login.c(118): } else if (oldScrollTopInRange) {\r\n
Login.c(118): // maintain virtual position\r\n
Login.c(118): scrollTo(scrollTop + offset);\r\n
Login.c(118): } else {\r\n
Login.c(118): // scroll to bottom\r\n
Login.c(118): scrollTo(th - viewportH);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (h != oldH && options.autoHeight) {\r\n
Login.c(118): resizeCanvas();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.forceFitColumns && oldViewportHasVScroll !=
viewportHasVScroll) {\r\n
Login.c(118): autosizeColumns();\r\n
Login.c(118): }\r\n
Login.c(118): updateCanvasWidth(false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getVisibleRange(viewportTop, viewportLeft) {\r\n
Login.c(118): if (viewportTop == null) {\r\n
Login.c(118): viewportTop = scrollTop;\r\n
Login.c(118): }\r\n
Login.c(118): if (viewportLeft == null) {\r\n
Login.c(118): viewportLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r
Login.c(118): t=7815ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): \n
Login.c(118): top: getRowFromPosition(viewportTop),\r\n
Login.c(118): bottom: getRowFromPosition(viewportTop + viewportH) +
1,\r\n
Login.c(118): leftPx: viewportLeft,\r\n
Login.c(118): rightPx: viewportLeft + viewportW\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRenderedRange(viewportTop, viewportLeft) {\r\n
Login.c(118): var range = getVisibleRange(viewportTop, viewportLeft);\r\n
Login.c(118): var buffer = Math.round(viewportH / options.rowHeight);\r\n
Login.c(118): var minBuffer = 3;\r\n
Login.c(118): \r\n
Login.c(118): if (vScrollDir == -1) {\r\n
Login.c(118): range.top -= buffer;\r\n
Login.c(118): range.bottom += minBuffer;\r\n
Login.c(118): } else if (vScrollDir == 1) {\r\n
Login.c(118): range.top -= minBuffer;\r\n
Login.c(118): range.bottom += buffer;\r\n
Login.c(118): } else {\r\n
Login.c(118): range.top -= minBuffer;\r\n
Login.c(118): range.bottom += minBuffer;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): range.top = Math.max(0, range.top);\r\n
Login.c(118): range.bottom = Math.min(getDataLengthIncludingAddNew() - 1,
range.bottom);\r\n
Login.c(118): \r\n
Login.c(118): range.leftPx -= viewportW;\r\n
Login.c(118): range.rightPx += viewportW;\r\n
Login.c(118): \r\n
Login.c(118): range.leftPx = Math.max(0, range.leftPx);\r\n
Login.c(118): range.rightPx = Math.min(canvasWidth, range.rightPx);\r\n
Login.c(118): \r\n
Login.c(118): return range;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function ensureCellNodesInRowsCache(row) {\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (cacheEntry) {\r\n
Login.c(118): if (cacheEntry.cellRenderQueue.length) {\r\n
Login.c(118): var lastChild = cacheEntry.rowNode.lastChild;\r\n
Login.c(118): while (cacheEntry.cellRenderQueue.length) {\r\n
Login.c(118): var columnIdx = cacheEntry.cellRenderQueue.pop();\r\n
Login.c(118): cacheEntry.cellNodesByColumnIdx[columnIdx] =
lastChild;\r\n
Login.c(118): lastChild = lastChild.previousSibling;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cleanUpCells(range, row) {\r\n
Login.c(118): var totalCellsRemoved = 0;\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): \r\n
Login.c(118): // Remove cells outside the range.\r\n
Login.c(118): var cellsToRemove = [];\r\n
Login.c(118): for (var i in cacheEntry.cellNodesByColumnIdx) {\r\n
Login.c(118): // I really hate it when people mess with
Array.prototype.\r\n
Login.c(118): if (!cacheEntry.cellNodesByColumnIdx.hasOwnProperty(i))
{\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // This is a string, so it needs to be cast back to a
number.\r\n
Login.c(118): i = i | 0;\r\n
Login.c(118): \r\n
Login.c(118): var colspan = cacheEntry.cellColSpans[i];\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx ||\r\n
Login.c(118): columnPosRight[Math.min(columns.length - 1, i + colspan
- 1)] < range.leftPx) {\r
Login.c(118): \n
Login.c(118): if (!(row == activeRow && i == activeCell)) {\r\n
Login.c(118): cellsToRemove.push(i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cellToRemove;\r\n
Login.c(118): while ((cellToRemove = cellsToRemove.pop()) != null) {\r\n
Login.c(118):
cacheEntry.rowNode.removeChild(cacheEntry.cellNodesByColumnIdx[cellToRemove]);\r\n
Login.c(118): delete cacheEntry.cellColSpans[cellToRemove];\r\n
Login.c(118): delete cacheEntry.cellNodesByColumnIdx[cellToRemove];\r\n
Login.c(118): if (postProcessedRows[row]) {\r\n
Login.c(118): delete postProcessedRows[row][cellToRemove];\r\n
Login.c(118): }\r\n
Login.c(118): totalCellsRemoved++;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cleanUpAndRenderCells(range) {\r\n
Login.c(118): var cacheEntry;\r\n
Login.c(118): var stringArray = [];\r\n
Login.c(118): var processedRows = [];\r\n
Login.c(118): var cellsAdded;\r\n
Login.c(118): var totalCellsAdded = 0;\r\n
Login.c(118): var colspan;\r\n
Login.c(118): \r\n
Login.c(118): for (var row = range.top, btm = range.bottom; row <= btm;
row++) {\r\n
Login.c(118): cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // cellRenderQueue populated in renderRows() needs to be
cleared first\r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): \r\n
Login.c(118): cleanUpCells(range, row);\r\n
Login.c(118): \r\n
Login.c(118): // Render missing cells.\r\n
Login.c(118): cellsAdded = 0;\r\n
Login.c(118): \r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): metadata = metadata && metadata.columns;\r\n
Login.c(118): \r\n
Login.c(118): var d = getDataItem(row);\r\n
Login.c(118): \r\n
Login.c(118): // TODO: shorten this loop (index? heuristics? binary
search?)\r\n
Login.c(118): for (var i = 0, ii = columns.length; i < ii; i++) {\r\n
Login.c(118): // Cells to the right are outside the range.\r\n
Login.c(118): if (columnPosLeft[i] > range.rightPx) {\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // Already rendered.\r\n
Login.c(118): if ((colspan = cacheEntry.cellColSpans[i]) != null)
{\r\n
Login.c(118): i += (colspan > 1 ? colspan - 1 : 0);\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): colspan = 1;\r\n
Login.c(118): if (metadata) {\r\n
Login.c(118): var columnData = metadata[columns[i].id] ||
metadata[i];\r\n
Login.c(118): colspan = (columnData && columnData.colspan) ||
1;\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = ii - i;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] >
range.leftPx) {\r\n
Login.c(118): appendCellHtml(stringArray, row, i, colspan, d);\r\n
Login.c(118): cellsAdded++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): i += (colspan > 1 ? colspan - 1 : 0);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (cellsAdded) {\r\n
Login.c(118): totalCellsAdded += cellsAdded;\r\n
Login.c(118): processedRows.push(row);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!stringArray.length) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var x = document.createElement("div");\r\n
Login.c(118): x.innerHTML = stringArray.join("");\r\n
Login.c(118): \r\n
Login.c(118): var processedRow;\r\n
Login.c(118): var node;\r\n
Login.c(118): while ((processedRow = processedRows.pop()) != null) {\r\n
Login.c(118): cacheEntry = rowsCache[processedRow];\r\n
Login.c(118): var columnIdx;\r\n
Login.c(118): while ((columnIdx = cacheEntry.cellRenderQueue.pop()) !=
null) {\r\n
Login.c(118): node = x.lastChild;\r\n
Login.c(118): cacheEntry.rowNode.appendChild(node);\r\n
Login.c(118): cacheEntry.cellNodesByColumnIdx[columnIdx] = node;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function renderRows(range) {\r\n
Login.c(118): var parentNode = $canvas[0],\r\n
Login.c(118): stringArray = [],\r\n
Login.c(118): rows = [],\r\n
Login.c(118): needToReselectCell = false,\r\n
Login.c(118): dataLength = getDataLength();\r\n
Login.c(118): \r\n
Login.c(118): for (var i = range.top, ii = range.bottom; i <= ii; i++)
{\r\n
Login.c(118): if (rowsCache[i]) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): renderedRows++;\r\n
Login.c(118): rows.push(i);\r\n
Login.c(118): \r\n
Login.c(118): // Create an entry right away so that appendRowHtml()
can\r\n
Login.c(118): // start populatating it.\r\n
Login.c(118): rowsCache[i] = {\r\n
Login.c(118): "rowNode": null,\r\n
Login.c(118): \r\n
Login.c(118): // ColSpans of rendered cells (by column idx).\r\n
Login.c(118): // Can also be used for checking whether a cell has
been rendered.\r\n
Login.c(118): "cellColSpans": [],\r\n
Login.c(118): \r\n
Login.c(118): // Cell nodes (by column idx). Lazy-populated by
ensureCellNodesInRowsCache().\r
Login.c(118): \n
Login.c(118): "cellNodesByColumnIdx": [],\r\n
Login.c(118): \r\n
Login.c(118): // Column indices of cell nodes that have been
rendered, but not yet indexed in\r
Login.c(118): \n
Login.c(118): // cellNodesByColumnIdx. These are in the same order
as cell nodes added at the
Login.c(118): \r\n
Login.c(118): // end of the row.\r\n
Login.c(118): "cellRenderQueue": []\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): appendRowHtml(stringArray, i, range, dataLength);\r\n
Login.c(118): if (activeCellNode && activeRow === i) {\r\n
Login.c(118): needToReselectCell = true;\r\n
Login.c(118): }\r\n
Login.c(118): counter_rows_rendered++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!rows.length) { return; }\r\n
Login.c(118): \r\n
Login.c(118): var x = document.createElement("div");\r\n
Login.c(118): x.innerHTML = stringArray.join("");\r\n
Login.c(118): \r\n
Login.c(118): for (var i = 0, ii = rows.length; i < ii; i++) {\r\n
Login.c(118): rowsCache[rows[i]].rowNode =
parentNode.appendChild(x.firstChild);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (needToReselectCell) {\r\n
Login.c(118): activeCellNode = getCellNode(activeRow, activeCell);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function startPostProcessing() {\r\n
Login.c(118): if (!options.enableAsyncPostRender) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): clearTimeout(h_postrender);\r\n
Login.c(118): h_postrender = setTimeout(asyncPostProcessRows,
options.asyncPostRenderDelay);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function invalidatePostProcessingResults(row) {\r\n
Login.c(118): delete postProcessedRows[row];\r\n
Login.c(118): postProcessFromRow = Math.min(postProcessFromRow, row);\r\n
Login.c(118): postProcessToRow = Math.max(postProcessToRow, row);\r\n
Login.c(118): startPostProcessing();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateRowPositions() {\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): rowsCache[row].rowNode.style.top = getRowTop(row) +
"px";\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function render() {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): var visible = getVisibleRange();\r\n
Login.c(118): var rendered = getRenderedRange();\r\n
Login.c(118): \r\n
Login.c(118): // remove rows no longer in the viewport\r\n
Login.c(118): cleanupRows(rendered);\r\n
Login.c(118): \r\n
Login.c(118): // add new rows & missing cells in existing rows\r\n
Login.c(118): if (lastRenderedScrollLeft != scrollLeft) {\r\n
Login.c(118): cleanUpAndRenderCells(rendered);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // render missing rows\r\n
Login.c(118): renderRows(rendered);\r\n
Login.c(118): \r\n
Login.c(118): postProcessFromRow = visible.top;\r\n
Login.c(118): postProcessToRow = Math.min(getDataLengthIncludingAddNew()
- 1, visible.bottom);\r\n
Login.c(118): startPostProcessing();\r\n
Login.c(118): \r\n
Login.c(118): lastRenderedScrollTop = scrollTop;\r\n
Login.c(118): lastRenderedScrollLeft = scrollLeft;\r\n
Login.c(118): h_render = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderRowScroll() {\r\n
Login.c(118): var scrollLeft = $headerRowScroller[0].scrollLeft;\r\n
Login.c(118): if (scrollLeft != $viewport[0].scrollLeft) {\r\n
Login.c(118): $viewport[0].scrollLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleScroll() {\r\n
Login.c(118): scrollTop = $viewport[0].scrollTop;\r\n
Login.c(118): scrollLeft = $viewport[0].scrollLeft;\r\n
Login.c(118): var vScrollDist = Math.abs(scrollTop - prevScrollTop);\r\n
Login.c(118): var hScrollDist = Math.abs(scrollLeft -
prevScrollLeft);\r\n
Login.c(118): \r\n
Login.c(118): if (hScrollDist) {\r\n
Login.c(118): prevScrollLeft = scrollLeft;\r\n
Login.c(118): $headerScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): $topPanelScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): $headerRowScroller[0].scrollLeft = scrollLeft;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (vScrollDist) {\r\n
Login.c(118): vScrollDir = prevScrollTop < scrollTop ? 1 : -1;\r\n
Login.c(118): prevScrollTop = scrollTop;\r\n
Login.c(118): \r\n
Login.c(118): // switch virtual pages if needed\r\n
Login.c(118): if (vScrollDist < viewportH) {\r\n
Login.c(118): scrollTo(scrollTop + offset);\r\n
Login.c(118): } else {\r\n
Login.c(118): var oldOffset = offset;\r\n
Login.c(118): if (h == viewportH) {\r\n
Login.c(118): page = 0;\r\n
Login.c(118): } else {\r\n
Login.c(118): page = Math.min(n - 1, Math.floor(scrollTop * ((th -
viewportH) / (h - viewpor
Login.c(118): tH)) * (1 / ph)));\r\n
Login.c(118): }\r\n
Login.c(118): offset = Math.round(page * cj);\r\n
Login.c(118): if (oldOffset != offset) {\r\n
Login.c(118): invalidateAllRows();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (hScrollDist || vScrollDist) {\r\n
Login.c(118): if (h_render) {\r\n
Login.c(118): clearTimeout(h_render);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (Math.abs(lastRenderedScrollTop - scrollTop) > 20
||\r\n
Login.c(118): Math.abs(lastRenderedScrollLeft - scrollLeft) > 20)
{\r\n
Login.c(118): if (options.forceSyncScrolling || (\r\n
Login.c(118): Math.abs(lastRenderedScrollTop - scrollTop) <
viewportH &&\r\n
Login.c(118): Math.abs(lastRenderedScrollLeft - scrollLeft) <
viewportW)) {\r\n
Login.c(118): render();\r\n
Login.c(118): } else {\r\n
Login.c(118): h_render = setTimeout(render, 50);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onViewportChanged, {});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onScroll, {scrollLeft: scrollLeft, scrollTop:
scrollTop});\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function asyncPostProcessRows() {\r\n
Login.c(118): var dataLength = getDataLength();\r\n
Login.c(118): while (postProcessFromRow <= postProcessToRow) {\r\n
Login.c(118): var row = (vScrollDir >= 0) ? postProcessFromRow++ :
postProcessToRow--;\r\n
Login.c(118): var cacheEntry = rowsCache[row];\r\n
Login.c(118): if (!cacheEntry || row >= dataLength) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!postProcessedRows[row]) {\r\n
Login.c(118): postProcessedRows[row] = {};\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): for (var columnIdx in cacheEntry.cellNodesByColumnIdx)
{\r\n
Login.c(118): if (!
cacheEntry.cellNodesByColumnIdx.hasOwnProperty(columnIdx)) {\r\n
Login.c(118): continue;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): columnIdx = columnIdx | 0;\r\n
Login.c(118): \r\n
Login.c(118): var m = columns[columnIdx];\r\n
Login.c(118): if (m.asyncPostRender && !postProcessedRows[row]
[columnIdx]) {\r\n
Login.c(118): var node =
cacheEntry.cellNodesByColumnIdx[columnIdx];\r\n
Login.c(118): if (node) {\r\n
Login.c(118): m.asyncPostRender(node, row, getDataItem(row),
m);\r\n
Login.c(118): }\r\n
Login.c(118): postProcessedRows[row][columnIdx] = true;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): h_postrender = setTimeout(asyncPostProcessRows,
options.asyncPostRenderDelay);\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function updateCellCssStylesOnRenderedRows(addedHash,
removedHash) {\r\n
Login.c(118): var node, columnId, addedRowHash, removedRowHash;\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): removedRowHash = removedHash && removedHash[row];\r\n
Login.c(118): addedRowHash = addedHash && addedHash[row];\r\n
Login.c(118): \r\n
Login.c(118): if (removedRowHash) {\r\n
Login.c(118): for (columnId in removedRowHash) {\r\n
Login.c(118): if (!addedRowHash || removedRowHash[columnId] !=
addedRowHash[columnId]) {\r\n
Login.c(118): node = getCellNode(row,
getColumnIndex(columnId));\r\n
Login.c(118): if (node) {\r\n
Login.c(118): $
(node).removeClass(removedRowHash[columnId]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (addedRowHas
Login.c(118): t=7838ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): h) {\r\n
Login.c(118): for (columnId in addedRowHash) {\r\n
Login.c(118): if (!removedRowHash || removedRowHash[columnId] !=
addedRowHash[columnId]) {\r
Login.c(118): \n
Login.c(118): node = getCellNode(row,
getColumnIndex(columnId));\r\n
Login.c(118): if (node) {\r\n
Login.c(118): $(node).addClass(addedRowHash[columnId]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addCellCssStyles(key, hash) {\r\n
Login.c(118): if (cellCssClasses[key]) {\r\n
Login.c(118): throw "addCellCssStyles: cell CSS hash with key '" + key
+ "' already exists.";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): cellCssClasses[key] = hash;\r\n
Login.c(118): updateCellCssStylesOnRenderedRows(hash, null);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
hash });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function removeCellCssStyles(key) {\r\n
Login.c(118): if (!cellCssClasses[key]) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): updateCellCssStylesOnRenderedRows(null,
cellCssClasses[key]);\r\n
Login.c(118): delete cellCssClasses[key];\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
null });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCellCssStyles(key, hash) {\r\n
Login.c(118): var prevHash = cellCssClasses[key];\r\n
Login.c(118): \r\n
Login.c(118): cellCssClasses[key] = hash;\r\n
Login.c(118): updateCellCssStylesOnRenderedRows(hash, prevHash);\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onCellCssStylesChanged, { "key": key, "hash":
hash });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellCssStyles(key) {\r\n
Login.c(118): return cellCssClasses[key];\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function flashCell(row, cell, speed) {\r\n
Login.c(118): speed = speed || 100;\r\n
Login.c(118): if (rowsCache[row]) {\r\n
Login.c(118): var $cell = $(getCellNode(row, cell));\r\n
Login.c(118): \r\n
Login.c(118): function toggleCellClass(times) {\r\n
Login.c(118): if (!times) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): setTimeout(function () {\r\n
Login.c(118): $cell.queue(function () {\r\n
Login.c(118):
$cell.toggleClass(options.cellFlashingCssClass).dequeue();\r\n
Login.c(118): toggleCellClass(times - 1);\r\n
Login.c(118): });\r\n
Login.c(118): },\r\n
Login.c(118): speed);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): toggleCellClass(4);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Interactivity\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseWheel(e) {\r\n
Login.c(118): var rowNode = $(e.target).closest(".slick-row")[0];\r\n
Login.c(118): if (rowNode != rowNodeFromLastMouseWheelEvent) {\r\n
Login.c(118): if (zombieRowNodeFromLastMouseWheelEvent &&
zombieRowNodeFromLastMouseWheelEvent !
Login.c(118): = rowNode) {\r\n
Login.c(118):
$canvas[0].removeChild(zombieRowNodeFromLastMouseWheelEvent);\r\n
Login.c(118): zombieRowNodeFromLastMouseWheelEvent = null;\r\n
Login.c(118): }\r\n
Login.c(118): rowNodeFromLastMouseWheelEvent = rowNode; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragInit(e, dd) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || !cellExists(cell.row, cell.cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var retval = trigger(self.onDragInit, dd, e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return retval;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // if nobody claims to be handling drag'n'drop by stopping
immediate propagation,\r\n
Login.c(118): // cancel out of it\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragStart(e, dd) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || !cellExists(cell.row, cell.cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var retval = trigger(self.onDragStart, dd, e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return retval;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDrag(e, dd) {\r\n
Login.c(118): return trigger(self.onDrag, dd, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDragEnd(e, dd) {\r\n
Login.c(118): trigger(self.onDragEnd, dd, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleKeyDown(e) {\r\n
Login.c(118): trigger(self.onKeyDown, {row: activeRow, cell: activeCell},
e);\r\n
Login.c(118): var handled = e.isImmediatePropagationStopped();\r\n
Login.c(118): \r\n
Login.c(118): if (!handled) {\r\n
Login.c(118): if (!e.shiftKey && !e.altKey && !e.ctrlKey) {\r\n
Login.c(118): if (e.which == 27) {\r\n
Login.c(118): if (!getEditorLock().isActive()) {\r\n
Login.c(118): return; // no editing mode to cancel, allow
bubbling and default processing
Login.c(118): (exit without cancelling the event)\r\n
Login.c(118): }\r\n
Login.c(118): cancelEditAndSetFocus();\r\n
Login.c(118): } else if (e.which == 34) {\r\n
Login.c(118): navigatePageDown();\r\n
Login.c(118): handled = true; \r\n
Login.c(118): } else if (e.which == 33) {\r\n
Login.c(118): navigatePageUp();\r\n
Login.c(118): handled = true;\r\n
Login.c(118): } else if (e.which == 37) {\r\n
Login.c(118): handled = navigateLeft();\r\n
Login.c(118): } else if (e.which == 39) {\r\n
Login.c(118): handled = navigateRight();\r\n
Login.c(118): } else if (e.which == 38) {\r\n
Login.c(118): handled = navigateUp();\r\n
Login.c(118): } else if (e.which == 40) {\r\n
Login.c(118): handled = navigateDown();\r\n
Login.c(118): } else if (e.which == 9) {\r\n
Login.c(118): handled = navigateNext();\r\n
Login.c(118): } else if (e.which == 13) {\r\n
Login.c(118): if (options.editable) {\r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): // adding new row\r\n
Login.c(118): if (activeRow === getDataLength()) {\r\n
Login.c(118): navigateDown();\r\n
Login.c(118): } else {\r\n
Login.c(118): commitEditAndSetFocus();\r\n
Login.c(118): }\r\n
Login.c(118): } else {\r\n
Login.c(118): if (getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): handled = true;\r\n
Login.c(118): }\r\n
Login.c(118): } else if (e.which == 9 && e.shiftKey && !e.ctrlKey && !
e.altKey) {\r\n
Login.c(118): handled = navigatePrev();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (handled) {\r\n
Login.c(118): // the event has been handled so don't let parent element
(bubbling/propagation) o
Login.c(118): r browser (default) handle it\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): try {\r\n
Login.c(118): e.originalEvent.keyCode = 0; // prevent default
behaviour for special keys in IE
Login.c(118): browsers (F3, F5, etc.)\r\n
Login.c(118): }\r\n
Login.c(118): // ignore exceptions - setting the original event's
keycode throws access denied e
Login.c(118): xception for "Ctrl"\r\n
Login.c(118): // (hitting control key only, nothing else), "Shift"
(maybe others)\r\n
Login.c(118): catch (error) {\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e) {\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): // if this click resulted in some cell child node getting
focus,\r\n
Login.c(118): // don't steal it back - keyboard events will still
bubble up\r\n
Login.c(118): // IE9+ seems to default DIVs to tabIndex=0 instead of
-1, so check for cell click
Login.c(118): s directly.\r\n
Login.c(118): if (e.target != document.activeElement || $
(e.target).hasClass("slick-cell")) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || (currentEditor !== null && activeRow ==
cell.row && activeCell == cell.
Login.c(118): cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onClick, {row: cell.row, cell: cell.cell},
e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if ((activeCell != cell.cell || activeRow != cell.row) &&
canCellBeActive(cell.row,
Login.c(118): cell.cell)) {\r\n
Login.c(118): if (!getEditorLock().isActive() ||
getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): scrollRowIntoView(cell.row, false);\r\n
Login.c(118): setActiveCellInternal(getCellNode(cell.row,
cell.cell));\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleContextMenu(e) {\r\n
Login.c(118): var $cell = $(e.target).closest(".slick-cell",
$canvas);\r\n
Login.c(118): if ($cell.length === 0) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // are we editing this cell?\r\n
Login.c(118): if (activeCellNode === $cell[0] && currentEditor !== null)
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onContextMenu, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDblClick(e) {\r\n
Login.c(118): var cell = getCellFromEvent(e);\r\n
Login.c(118): if (!cell || (currentEditor !== null && activeRow ==
cell.row && activeCell == cell.
Login.c(118): cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onDblClick, {row: cell.row, cell: cell.cell},
e);\r\n
Login.c(118): if (e.isImmediatePropagationStopped()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (options.editable) {\r\n
Login.c(118): gotoCell(cell.row, cell.cell, true);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderMouseEnter(e) {\r\n
Login.c(118): trigger(self.onHeaderMouseEnter, {\r\n
Login.c(118): "column": $(this).data("column")\r\n
Login.c(118): }, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderMouseLeave(e) {\r\n
Login.c(118): trigger(self.onHeaderMouseLeave, {\r\n
Login.c(118): "column": $(this).data("column")\r\n
Login.c(118): }, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderContextMenu(e) {\r\n
Login.c(118): var $header = $(e.target).closest(".slick-header-column",
".slick-header-columns");\r
Login.c(118): \n
Login.c(118): var column = $header && $header.data("column");\r\n
Login.c(118): trigger(self.onHeaderContextMenu, {column: column}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleHeaderClick(e) {\r\n
Login.c(118): var $header = $(e.target).closest(".slick-header-column",
".slick-header-columns");\r
Login.c(118): \n
Login.c(118): var column = $header && $header.data("column");\r\n
Login.c(118): if (column) {\r\n
Login.c(118): trigger(self.onHeaderClick, {column: column}, e);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseEnter(e) {\r\n
Login.c(118): trigger(self.onMouseEnter, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleMouseLeave(e) {\r\n
Login.c(118): trigger(self.onMouseLeave, {}, e);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cellExists(row, cell) {\r\n
Login.c(118): return !(row < 0 || row >= getDataLength() || cell < 0 ||
cell >= columns.length);\r
Login.c(118): \n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromPoint(x, y) {\r\n
Login.c(118): var row = getRowFromPosition(y);\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): \r\n
Login.c(118): var w = 0;\r\n
Login.c(118): for (var i = 0; i < columns.length && w < x; i++) {\r\n
Login.c(118): w += columns[i].width;\r\n
Login.c(118): cell++;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (cell < 0) {\r\n
Login.c(118): cell = 0;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {row: row, cell: cell - 1};\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromNode(cellNode) {\r\n
Login.c(118): // read column number from .l<columnNumber> CSS class\r\n
Login.c(118): var cls = /l\\d+/.exec(cellNode.className);\r\n
Login.c(118): if (!cls) {\r\n
Login.c(118): throw "getCellFromNode: cannot get cell - " +
cellNode.className;\r\n
Login.c(118): }\r\n
Login.c(118): return parseInt(cls[0].substr(1, cls[0].length - 1),
10);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getRowFromNode(rowNode) {\r\n
Login.c(118): for (var row in rowsCache) {\r\n
Login.c(118): if (rowsCache[row].rowNode === rowNode) {\r\n
Login.c(118): return row | 0;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellFromEvent(e) {\r\n
Login.c(118): var $cell = $(e.target).closest(".slick-cell",
$canvas);\r\n
Login.c(118): if (!$cell.length) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var row = getRowFromNode($cell[0].parentNode);\r\n
Login.c(118): var cell = getCellFromNode($cell[0]);\r\n
Login.c(118): \r\n
Login.c(118): if (row == null || cell == null) {\r\n
Login.c(118): return null;\r\n
Login.c(118): } else {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellNodeBox(row, cell) {\r\n
Login.c(118): if (!cellExists(row, cell)) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var y1 = getRowTop(row);\r\n
Login.c(118): var y2 = y1 + options.rowHeight - 1;\r\n
Login.c(118): var x1 = 0;\r\n
Login.c(118): for (var i = 0; i < cell; i++) {\r\n
Login.c(118): x1 += columns[i].width;\r\n
Login.c(118): }\r\n
Login.c(118): var x2 = x1 + columns[cell].width;\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): top: y1,\r\n
Login.c(118): left: x1,\r\n
Login.c(118): bottom: y2,\r\n
Login.c(118): right: x2\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Cell switching\r\n
Login.c(118): \r\n
Login.c(118): function resetActiveCell() {\r\n
Login.c(118): setActiveCellInternal(null, false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setFocus() {\r\n
Login.c(118): if (tabbingDirection == -1) {\r\n
Login.c(118): $focusSink[0].focus();\r\n
Login.c(118): } else {\r\n
Login.c(118): $focusSink2[0].focus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollCellIntoView(row, cell, doPaging) {\r\n
Login.c(118): scrollRowIntoView(row, doPaging);\r\n
Login.c(118): \r\n
Login.c(118): var colspan = getColspan(row, cell);\r\n
Login.c(118): var left = columnPosLeft[cell],\r\n
Login.c(118): right = columnPosRight[cell + (colspan > 1 ? colspan -
1 : 0)],\r\n
Login.c(118): scrollRight = scrollLeft + viewportW;\r\n
Login.c(118): \r\n
Login.c(118): if (left < scrollLeft) {\r\n
Login.c(118): $viewport.scrollLeft(left);\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): render();\r\n
Login.c(118): } else if (right > scrollRight) {\r\n
Login.c(118): $viewport.scrollLeft(Math.min(left, right -
$viewport[0].clientWidth));\r\n
Login.c(118): handleScroll();\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setActiveCellInternal(newCell, opt_editMode) {\r\n
Login.c(118): if (activeCellNode !== null) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): $(activeCellNode).removeClass("active");\r\n
Login.c(118): if (rowsCache[activeRow]) {\r\n
Login.c(118): $
(rowsCache[activeRow].rowNode).removeClass("active");\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var activeCellChanged = (activeCellNode !== newCell);\r\n
Login.c(118): activeCellNode = newCell;\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode != null) {\r\n
Login.c(118): activeRow =
getRowFromNode(activeCellNode.parentNode);\r\n
Login.c(118): activeCell = activePosX =
getCellFromNode(activeCellNode);\r\n
Login.c(118): \r\n
Login.c(118): if (opt_editMode == null) {\r\n
Login.c(118): opt_editMode = (activeRow == getDataLength()) ||
Login.c(118): t=7856ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): options.autoEdit;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $(activeCellNode).addClass("active");\r\n
Login.c(118): $(rowsCache[activeRow].rowNode).addClass("active");\r\n
Login.c(118): \r\n
Login.c(118): if (options.editable && opt_editMode &&
isCellPotentiallyEditable(activeRow, activ
Login.c(118): eCell)) {\r\n
Login.c(118): clearTimeout(h_editorLoader);\r\n
Login.c(118): \r\n
Login.c(118): if (options.asyncEditorLoading) {\r\n
Login.c(118): h_editorLoader = setTimeout(function () {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }, options.asyncEditorLoadDelay);\r\n
Login.c(118): } else {\r\n
Login.c(118): makeActiveCellEditable();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): } else {\r\n
Login.c(118): activeRow = activeCell = null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellChanged) {\r\n
Login.c(118): trigger(self.onActiveCellChanged, getActiveCell());\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearTextSelection() {\r\n
Login.c(118): if (document.selection && document.selection.empty) {\r\n
Login.c(118): try {\r\n
Login.c(118): //IE fails here if selected element is not in dom\r\n
Login.c(118): document.selection.empty();\r\n
Login.c(118): } catch (e) { }\r\n
Login.c(118): } else if (window.getSelection) {\r\n
Login.c(118): var sel = window.getSelection();\r\n
Login.c(118): if (sel && sel.removeAllRanges) {\r\n
Login.c(118): sel.removeAllRanges();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function isCellPotentiallyEditable(row, cell) {\r\n
Login.c(118): var dataLength = getDataLength();\r\n
Login.c(118): // is the data for this row loaded?\r\n
Login.c(118): if (row < dataLength && !getDataItem(row)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // are we in the Add New row? can we create new from this
cell?\r\n
Login.c(118): if (columns[cell].cannotTriggerInsert && row >= dataLength)
{\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // does this cell have an editor?\r\n
Login.c(118): if (!getEditor(row, cell)) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function makeActiveCellNormal() {\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): trigger(self.onBeforeCellEditorDestroy, {editor:
currentEditor});\r\n
Login.c(118): currentEditor.destroy();\r\n
Login.c(118): currentEditor = null;\r\n
Login.c(118): \r\n
Login.c(118): if (activeCellNode) {\r\n
Login.c(118): var d = getDataItem(activeRow);\r\n
Login.c(118): $(activeCellNode).removeClass("editable invalid");\r\n
Login.c(118): if (d) {\r\n
Login.c(118): var column = columns[activeCell];\r\n
Login.c(118): var formatter = getFormatter(activeRow, column);\r\n
Login.c(118): activeCellNode.innerHTML = formatter(activeRow,
activeCell, getDataItemValueForC
Login.c(118): olumn(d, column), column, d);\r\n
Login.c(118): invalidatePostProcessingResults(activeRow);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // if there previously was text selected on a page (such as
selected text in the edi
Login.c(118): t cell just removed),\r\n
Login.c(118): // IE can't set focus to anything else correctly\r\n
Login.c(118): if (navigator.userAgent.toLowerCase().match(/msie/)) {\r\n
Login.c(118): clearTextSelection();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): getEditorLock().deactivate(editController);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function makeActiveCellEditable(editor) {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): if (!options.editable) {\r\n
Login.c(118): throw "Grid : makeActiveCellEditable : should never get
called when options.editab
Login.c(118): le is false";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // cancel pending async call if there is one\r\n
Login.c(118): clearTimeout(h_editorLoader);\r\n
Login.c(118): \r\n
Login.c(118): if (!isCellPotentiallyEditable(activeRow, activeCell))
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnDef = columns[activeCell];\r\n
Login.c(118): var item = getDataItem(activeRow);\r\n
Login.c(118): \r\n
Login.c(118): if (trigger(self.onBeforeEditCell, {row: activeRow, cell:
activeCell, item: item, co
Login.c(118): lumn: columnDef}) === false) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): getEditorLock().activate(editController);\r\n
Login.c(118): $(activeCellNode).addClass("editable");\r\n
Login.c(118): \r\n
Login.c(118): // don't clear the cell if a custom editor is passed
through\r\n
Login.c(118): if (!editor) {\r\n
Login.c(118): activeCellNode.innerHTML = "";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): currentEditor = new (editor || getEditor(activeRow,
activeCell))({\r\n
Login.c(118): grid: self,\r\n
Login.c(118): gridPosition: absBox($container[0]),\r\n
Login.c(118): position: absBox(activeCellNode),\r\n
Login.c(118): container: activeCellNode,\r\n
Login.c(118): column: columnDef,\r\n
Login.c(118): item: item || {},\r\n
Login.c(118): commitChanges: commitEditAndSetFocus,\r\n
Login.c(118): cancelChanges: cancelEditAndSetFocus\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if (item) {\r\n
Login.c(118): currentEditor.loadValue(item);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): serializedEditorValue = currentEditor.serializeValue();\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor.position) {\r\n
Login.c(118): handleActiveCellPositionChange();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function commitEditAndSetFocus() {\r\n
Login.c(118): // if the commit fails, it would do so due to a validation
error\r\n
Login.c(118): // if so, do not steal the focus from the editor\r\n
Login.c(118): if (getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): if (options.autoEdit) {\r\n
Login.c(118): navigateDown();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cancelEditAndSetFocus() {\r\n
Login.c(118): if (getEditorLock().cancelCurrentEdit()) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function absBox(elem) {\r\n
Login.c(118): var box = {\r\n
Login.c(118): top: elem.offsetTop,\r\n
Login.c(118): left: elem.offsetLeft,\r\n
Login.c(118): bottom: 0,\r\n
Login.c(118): right: 0,\r\n
Login.c(118): width: $(elem).outerWidth(),\r\n
Login.c(118): height: $(elem).outerHeight(),\r\n
Login.c(118): visible: true};\r\n
Login.c(118): box.bottom = box.top + box.height;\r\n
Login.c(118): box.right = box.left + box.width;\r\n
Login.c(118): \r\n
Login.c(118): // walk up the tree\r\n
Login.c(118): var offsetParent = elem.offsetParent;\r\n
Login.c(118): while ((elem = elem.parentNode) != document.body) {\r\n
Login.c(118): if (box.visible && elem.scrollHeight != elem.offsetHeight
&& $(elem).css("overflow
Login.c(118): Y") != "visible") {\r\n
Login.c(118): box.visible = box.bottom > elem.scrollTop && box.top <
elem.scrollTop + elem.cli
Login.c(118): entHeight;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (box.visible && elem.scrollWidth != elem.offsetWidth
&& $(elem).css("overflowX"
Login.c(118): ) != "visible") {\r\n
Login.c(118): box.visible = box.right > elem.scrollLeft && box.left <
elem.scrollLeft + elem.c
Login.c(118): lientWidth;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): box.left -= elem.scrollLeft;\r\n
Login.c(118): box.top -= elem.scrollTop;\r\n
Login.c(118): \r\n
Login.c(118): if (elem === offsetParent) {\r\n
Login.c(118): box.left += elem.offsetLeft;\r\n
Login.c(118): box.top += elem.offsetTop;\r\n
Login.c(118): offsetParent = elem.offsetParent;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): box.bottom = box.top + box.height;\r\n
Login.c(118): box.right = box.left + box.width;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return box;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCellPosition() {\r\n
Login.c(118): return absBox(activeCellNode);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridPosition() {\r\n
Login.c(118): return absBox($container[0])\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleActiveCellPositionChange() {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onActiveCellPositionChanged, {});\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): var cellBox = getActiveCellPosition();\r\n
Login.c(118): if (currentEditor.show && currentEditor.hide) {\r\n
Login.c(118): if (!cellBox.visible) {\r\n
Login.c(118): currentEditor.hide();\r\n
Login.c(118): } else {\r\n
Login.c(118): currentEditor.show();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor.position) {\r\n
Login.c(118): currentEditor.position(cellBox);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellEditor() {\r\n
Login.c(118): return currentEditor;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCell() {\r\n
Login.c(118): if (!activeCellNode) {\r\n
Login.c(118): return null;\r\n
Login.c(118): } else {\r\n
Login.c(118): return {row: activeRow, cell: activeCell};\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getActiveCellNode() {\r\n
Login.c(118): return activeCellNode;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollRowIntoView(row, doPaging) {\r\n
Login.c(118): var rowAtTop = row * options.rowHeight;\r\n
Login.c(118): var rowAtBottom = (row + 1) * options.rowHeight - viewportH
+ (viewportHasHScroll ?
Login.c(118): scrollbarDimensions.height : 0);\r\n
Login.c(118): \r\n
Login.c(118): // need to page down?\r\n
Login.c(118): if ((row + 1) * options.rowHeight > scrollTop + viewportH +
offset) {\r\n
Login.c(118): scrollTo(doPaging ? rowAtTop : rowAtBottom);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): // or page up?\r\n
Login.c(118): else if (row * options.rowHeight < scrollTop + offset)
{\r\n
Login.c(118): scrollTo(doPaging ? rowAtBottom : rowAtTop);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollRowToTop(row) {\r\n
Login.c(118): scrollTo(row * options.rowHeight);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollPage(dir) {\r\n
Login.c(118): var deltaRows = dir * numVisibleRows;\r\n
Login.c(118): scrollTo((getRowFromPosition(scrollTop) + deltaRows) *
options.rowHeight);\r\n
Login.c(118): render();\r\n
Login.c(118): \r\n
Login.c(118): if (options.enableCellNavigation && activeRow != null)
{\r\n
Login.c(118): var row = activeRow + deltaRows;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): if (row >= dataLengthIncludingAddNew) {\r\n
Login.c(118): row = dataLengthIncludingAddNew - 1;\r\n
Login.c(118): }\r\n
Login.c(118): if (row < 0) {\r\n
Login.c(118): row = 0;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var cell = 0, prevCell = null;\r\n
Login.c(118): var prevActivePosX = activePosX;\r\n
Login.c(118): while (cell <= activePosX) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): prevCell = cell; \r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (prevCell !== null) {\r\n
Login.c(118): setActiveCellInternal(getCellNode(row, prevCell));\r\n
Login.c(118): activePosX = prevActivePosX;\r\n
Login.c(118): } else {\r\n
Login.c(118): resetActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePageDown() {\r\n
Login.c(118): scrollPage(1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePageUp() {\r\n
Login.c(118): scrollPage(-1);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColspan(row, cell) {\r\n
Login.c(118): var metadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (!metadata || !metadata.columns) {\r\n
Login.c(118): return 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnData = metadata.columns[columns[cell].id] ||
metadata.columns[cell];\r\n
Login.c(118): var colspan = (columnData && columnData.colspan);\r\n
Login.c(118): if (colspan === "*") {\r\n
Login.c(118): colspan = columns.length - cell;\r\n
Login.c(118): } else {\r\n
Login.c(118): colspan = colspan || 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return colspan;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function findFirstFocusableCell(row) {\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): while (cell < columns.length) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return cell;\r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function findLastFocusableCell(row) {\r\n
Login.c(118): var cell = 0;\r\n
Login.c(118): var lastFocusableCell = null;\r\n
Login.c(118): while (cell < columns.length) {\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): lastFocusableCell = cell;\r\n
Login.c(118): }\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): return lastFocusableCell;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoRight(row, cell, posX) {\r\n
Login.c(118): if (cell >= columns.length) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): do {\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): while (cell < columns.length && !canCellBeActive(row,
cell));\r\n
Login.c(118): \r\n
Login.c(118): if (cell < columns.length) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoLeft(row, cell, posX) {\r\n
Login.c(118): if (cell <= 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var firstFocusableCell = findFirstFocusableCell(row);\r\n
Login.c(118): if (firstFocusableCell === null || firstFocusableCell >=
cell) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var prev = {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": firstFocusableCell,\r\n
Login.c(118): "posX": firstFocusableCell\r\n
Login.c(118): };\r\n
Login.c(118): var pos;\r\n
Login.c(118): while (true) {\r\n
Login.c(118): pos = gotoRight(prev.row, prev.cell, prev.posX);\r\n
Login.c(118): if (!pos) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): if (pos.cell >= cell) {\r\n
Login.c(118): return prev;\r\n
Login.c(118): }\r\n
Login.c(118): prev = pos;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoDown(row, cell, posX) {\r\n
Login.c(118): var prevCell;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): while (true) {\r\n
Login.c(118): if (++row >= dataLengthIncludingAddNew) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): prevCell = cell = 0;\r\n
Login.c(118): while (cell <= posX) {\r\n
Login.c(118): prevCell = cell;\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (canCellBeActive(row, prevCell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": prevCell,\r\n
Login.c(118): "posX": posX\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoUp(row, cell, posX) {\r\n
Login.c(118): var prevCell;\r\n
Login.c(118): while (true) {\r\n
Login.c(118): if (--row < 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): prevCell = cell = 0;\r\n
Login.c(118): while (cell <= posX) {\r\n
Login.c(118): prevCell = cell;\r\n
Login.c(118): cell += getColspan(row, cell);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (canCellBeActive(row, prevCell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": prevCell,\r\n
Login.c(118): "posX": posX\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoNext(row, cell, posX) {\r\n
Login.c(118): if (row == null && cell == null) {\r\n
Login.c(118): row = cell = posX = 0;\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): t=7875ms: 10322-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var pos = gotoRight(row, cell, posX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): return pos;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var firstFocusableCell = null;\r\n
Login.c(118): var dataLengthIncludingAddNew =
getDataLengthIncludingAddNew();\r\n
Login.c(118): while (++row < dataLengthIncludingAddNew) {\r\n
Login.c(118): firstFocusableCell = findFirstFocusableCell(row);\r\n
Login.c(118): if (firstFocusableCell !== null) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": firstFocusableCell,\r\n
Login.c(118): "posX": firstFocusableCell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoPrev(row, cell, posX) {\r\n
Login.c(118): if (row == null && cell == null) {\r\n
Login.c(118): row = getDataLengthIncludingAddNew() - 1;\r\n
Login.c(118): cell = posX = columns.length - 1;\r\n
Login.c(118): if (canCellBeActive(row, cell)) {\r\n
Login.c(118): return {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": cell,\r\n
Login.c(118): "posX": cell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var pos;\r\n
Login.c(118): var lastSelectableCell;\r\n
Login.c(118): while (!pos) {\r\n
Login.c(118): pos = gotoLeft(row, cell, posX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): if (--row < 0) {\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): cell = 0;\r\n
Login.c(118): lastSelectableCell = findLastFocusableCell(row);\r\n
Login.c(118): if (lastSelectableCell !== null) {\r\n
Login.c(118): pos = {\r\n
Login.c(118): "row": row,\r\n
Login.c(118): "cell": lastSelectableCell,\r\n
Login.c(118): "posX": lastSelectableCell\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return pos;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateRight() {\r\n
Login.c(118): return navigate("right");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateLeft() {\r\n
Login.c(118): return navigate("left");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateDown() {\r\n
Login.c(118): return navigate("down");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateUp() {\r\n
Login.c(118): return navigate("up");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigateNext() {\r\n
Login.c(118): return navigate("next");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function navigatePrev() {\r\n
Login.c(118): return navigate("prev");\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * @param {string} dir Navigation direction.\r\n
Login.c(118): * @return {boolean} Whether navigation resulted in a change
of active cell.\r\n
Login.c(118): */\r\n
Login.c(118): function navigate(dir) {\r\n
Login.c(118): if (!options.enableCellNavigation) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!activeCellNode && dir != "prev" && dir != "next")
{\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): setFocus();\r\n
Login.c(118): \r\n
Login.c(118): var tabbingDirections = {\r\n
Login.c(118): "up": -1,\r\n
Login.c(118): "down": 1,\r\n
Login.c(118): "left": -1,\r\n
Login.c(118): "right": 1,\r\n
Login.c(118): "prev": -1,\r\n
Login.c(118): "next": 1\r\n
Login.c(118): };\r\n
Login.c(118): tabbingDirection = tabbingDirections[dir];\r\n
Login.c(118): \r\n
Login.c(118): var stepFunctions = {\r\n
Login.c(118): "up": gotoUp,\r\n
Login.c(118): "down": gotoDown,\r\n
Login.c(118): "left": gotoLeft,\r\n
Login.c(118): "right": gotoRight,\r\n
Login.c(118): "prev": gotoPrev,\r\n
Login.c(118): "next": gotoNext\r\n
Login.c(118): };\r\n
Login.c(118): var stepFn = stepFunctions[dir];\r\n
Login.c(118): var pos = stepFn(activeRow, activeCell, activePosX);\r\n
Login.c(118): if (pos) {\r\n
Login.c(118): var isAddNewRow = (pos.row == getDataLength());\r\n
Login.c(118): scrollCellIntoView(pos.row, pos.cell, !isAddNewRow);\r\n
Login.c(118): setActiveCellInternal(getCellNode(pos.row,
pos.cell));\r\n
Login.c(118): activePosX = pos.posX;\r\n
Login.c(118): return true;\r\n
Login.c(118): } else {\r\n
Login.c(118): setActiveCellInternal(getCellNode(activeRow,
activeCell));\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getCellNode(row, cell) {\r\n
Login.c(118): if (rowsCache[row]) {\r\n
Login.c(118): ensureCellNodesInRowsCache(row);\r\n
Login.c(118): return rowsCache[row].cellNodesByColumnIdx[cell];\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setActiveCell(row, cell) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (row > getDataLength() || row < 0 || cell >=
columns.length || cell < 0) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!options.enableCellNavigation) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scrollCellIntoView(row, cell, false);\r\n
Login.c(118): setActiveCellInternal(getCellNode(row, cell), false);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function canCellBeActive(row, cell) {\r\n
Login.c(118): if (!options.enableCellNavigation || row >=
getDataLengthIncludingAddNew() ||\r\n
Login.c(118): row < 0 || cell >= columns.length || cell < 0) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (rowMetadata && typeof rowMetadata.focusable ===
"boolean") {\r\n
Login.c(118): return rowMetadata.focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnMetadata = rowMetadata &&
rowMetadata.columns;\r\n
Login.c(118): if (columnMetadata && columnMetadata[columns[cell].id] &&
typeof columnMetadata[colu
Login.c(118): mns[cell].id].focusable === "boolean") {\r\n
Login.c(118): return columnMetadata[columns[cell].id].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): if (columnMetadata && columnMetadata[cell] && typeof
columnMetadata[cell].focusable
Login.c(118): === "boolean") {\r\n
Login.c(118): return columnMetadata[cell].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //**** Custom code added for skipping disabling row
*******\r\n
Login.c(118): var item = data.getItem(row);\r\n
Login.c(118): if (item && typeof item.focusable === "boolean") {\r\n
Login.c(118): return item.focusable;\r\n
Login.c(118): }\r\n
Login.c(118): else if (item &&
item.hasOwnProperty(columns[cell].id.toString() + "_disabled") && t
Login.c(118): ypeof item[columns[cell].id.toString() + "_disabled"] ===
"boolean") {\r\n
Login.c(118): return !item[columns[cell].id.toString() +
"_disabled"];\r\n
Login.c(118): }\r\n
Login.c(118): else if (item && item.hasOwnProperty("disabled") && typeof
item["disabled"] === "boo
Login.c(118): lean") {\r\n
Login.c(118): return !item["disabled"];\r\n
Login.c(118): }\r\n
Login.c(118): //**** Custom code added for skipping disabling row
*******\r\n
Login.c(118): \r\n
Login.c(118): return columns[cell].focusable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function canCellBeSelected(row, cell) {\r\n
Login.c(118): if (row >= getDataLength() || row < 0 || cell >=
columns.length || cell < 0) {\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var rowMetadata = data.getItemMetadata &&
data.getItemMetadata(row);\r\n
Login.c(118): if (rowMetadata && typeof rowMetadata.selectable ===
"boolean") {\r\n
Login.c(118): return rowMetadata.selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var columnMetadata = rowMetadata && rowMetadata.columns &&
(rowMetadata.columns[colu
Login.c(118): mns[cell].id] || rowMetadata.columns[cell]);\r\n
Login.c(118): if (columnMetadata && typeof columnMetadata.selectable ===
"boolean") {\r\n
Login.c(118): return columnMetadata.selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return columns[cell].selectable;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function gotoCell(row, cell, forceEdit) {\r\n
Login.c(118): if (!initialized) { return; }\r\n
Login.c(118): if (!canCellBeActive(row, cell)) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (!getEditorLock().commitCurrentEdit()) {\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scrollCellIntoView(row, cell, false);\r\n
Login.c(118): \r\n
Login.c(118): var newCell = getCellNode(row, cell);\r\n
Login.c(118): \r\n
Login.c(118): // if selecting the 'add new' row, start editing right
away\r\n
Login.c(118): setActiveCellInternal(newCell, forceEdit || (row ===
getDataLength()) || options.aut
Login.c(118): oEdit);\r\n
Login.c(118): \r\n
Login.c(118): // if no editor was created, set the focus back on the
grid\r\n
Login.c(118): if (!currentEditor) {\r\n
Login.c(118): setFocus();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // IEditor implementation for the editor lock\r\n
Login.c(118): \r\n
Login.c(118): function commitCurrentEdit() {\r\n
Login.c(118): var item = getDataItem(activeRow);\r\n
Login.c(118): var column = columns[activeCell];\r\n
Login.c(118): \r\n
Login.c(118): if (currentEditor) {\r\n
Login.c(118): if (currentEditor.isValueChanged()) {\r\n
Login.c(118): var validationResults = currentEditor.validate();\r\n
Login.c(118): \r\n
Login.c(118): if (validationResults.valid) {\r\n
Login.c(118): if (activeRow < getDataLength()) {\r\n
Login.c(118): var editCommand = {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): editor: currentEditor,\r\n
Login.c(118): serializedValue:
currentEditor.serializeValue(),\r\n
Login.c(118): prevSerializedValue: serializedEditorValue,\r\n
Login.c(118): execute: function () {\r\n
Login.c(118): this.editor.applyValue(item,
this.serializedValue);\r\n
Login.c(118): updateRow(this.row);\r\n
Login.c(118): trigger(self.onCellChange, {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): item: item\r\n
Login.c(118): });\r\n
Login.c(118): },\r\n
Login.c(118): undo: function () {\r\n
Login.c(118): this.editor.applyValue(item,
this.prevSerializedValue);\r\n
Login.c(118): updateRow(this.row);\r\n
Login.c(118): trigger(self.onCellChange, {\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): item: item\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): if (options.editCommandHandler) {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): options.editCommandHandler(item, column,
editCommand);\r\n
Login.c(118): } else {\r\n
Login.c(118): editCommand.execute();\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): } else {\r\n
Login.c(118): var newItem = {};\r\n
Login.c(118): currentEditor.applyValue(newItem,
currentEditor.serializeValue());\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): trigger(self.onAddNewRow, {item: newItem, column:
column});\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): // check whether the lock has been re-acquired by
event handlers\r\n
Login.c(118): return !getEditorLock().isActive();\r\n
Login.c(118): } else {\r\n
Login.c(118): // Re-add the CSS class to trigger transitions, if
any.\r\n
Login.c(118): $(activeCellNode).removeClass("invalid");\r\n
Login.c(118): $(activeCellNode).width(); // force layout\r\n
Login.c(118): $(activeCellNode).addClass("invalid");\r\n
Login.c(118): \r\n
Login.c(118): trigger(self.onValidationError, {\r\n
Login.c(118): editor: currentEditor,\r\n
Login.c(118): cellNode: activeCellNode,\r\n
Login.c(118): validationResults: validationResults,\r\n
Login.c(118): row: activeRow,\r\n
Login.c(118): cell: activeCell,\r\n
Login.c(118): column: column\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): currentEditor.focus();\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function cancelCurrentEdit() {\r\n
Login.c(118): makeActiveCellNormal();\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function rowsToRanges(rows) {\r\n
Login.c(118): var ranges = [];\r\n
Login.c(118): var lastCell = columns.length - 1;\r\n
Login.c(118): for (var i = 0; i < rows.length; i++) {\r\n
Login.c(118): ranges.push(new Slick.Range(rows[i], 0, rows[i],
lastCell));\r\n
Login.c(118): }\r\n
Login.c(118): return ranges;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getSelectedRows() {\r\n
Login.c(118): if (!selectionModel) {\r\n
Login.c(118): throw "Selection model is not set";\r\n
Login.c(118): }\r\n
Login.c(118): return selectedRows;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectedRows(rows) {\r\n
Login.c(118): if (!selectionModel) {\r\n
Login.c(118): throw "Selection model is not set";\r\n
Login.c(118): }\r\n
Login.c(118): selectionModel.setSelectedRanges(ro
Login.c(118): t=7890ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): wsToRanges(rows));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function scrollPort(px) {\r\n
Login.c(118): scrollTo(px);\r\n
Login.c(118): render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Debug\r\n
Login.c(118): \r\n
Login.c(118): this.debug = function () {\r\n
Login.c(118): var s = "";\r\n
Login.c(118): \r\n
Login.c(118): s += ("\\n" + "counter_rows_rendered: " +
counter_rows_rendered);\r\n
Login.c(118): s += ("\\n" + "counter_rows_removed: " +
counter_rows_removed);\r\n
Login.c(118): s += ("\\n" + "renderedRows: " + renderedRows);\r\n
Login.c(118): s += ("\\n" + "numVisibleRows: " + numVisibleRows);\r\n
Login.c(118): s += ("\\n" + "maxSupportedCssHeight: " +
maxSupportedCssHeight);\r\n
Login.c(118): s += ("\\n" + "n(umber of pages): " + n);\r\n
Login.c(118): s += ("\\n" + "(current) page: " + page);\r\n
Login.c(118): s += ("\\n" + "page height (ph): " + ph);\r\n
Login.c(118): s += ("\\n" + "vScrollDir: " + vScrollDir);\r\n
Login.c(118): \r\n
Login.c(118): alert(s);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): // a debug helper to be able to access private members\r\n
Login.c(118): this.eval = function (expr) {\r\n
Login.c(118): return eval(expr);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): /////////////////////////////////////////////////////////////
/////////////////////////
Login.c(118): ////////\r\n
Login.c(118): // Public API\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "slickGridVersion": "2.1",\r\n
Login.c(118): \r\n
Login.c(118): // Events\r\n
Login.c(118): "onScroll": new Slick.Event(),\r\n
Login.c(118): "onSort": new Slick.Event(),\r\n
Login.c(118): "onHeaderMouseEnter": new Slick.Event(),\r\n
Login.c(118): "onHeaderMouseLeave": new Slick.Event(),\r\n
Login.c(118): "onHeaderContextMenu": new Slick.Event(),\r\n
Login.c(118): "onHeaderClick": new Slick.Event(),\r\n
Login.c(118): "onHeaderCellRendered": new Slick.Event(),\r\n
Login.c(118): "onBeforeHeaderCellDestroy": new Slick.Event(),\r\n
Login.c(118): "onHeaderRowCellRendered": new Slick.Event(),\r\n
Login.c(118): "onBeforeHeaderRowCellDestroy": new Slick.Event(),\r\n
Login.c(118): "onMouseEnter": new Slick.Event(),\r\n
Login.c(118): "onMouseLeave": new Slick.Event(),\r\n
Login.c(118): "onClick": new Slick.Event(),\r\n
Login.c(118): "onDblClick": new Slick.Event(),\r\n
Login.c(118): "onContextMenu": new Slick.Event(),\r\n
Login.c(118): "onKeyDown": new Slick.Event(),\r\n
Login.c(118): "onAddNewRow": new Slick.Event(),\r\n
Login.c(118): "onValidationError": new Slick.Event(),\r\n
Login.c(118): "onViewportChanged": new Slick.Event(),\r\n
Login.c(118): "onColumnsReordered": new Slick.Event(),\r\n
Login.c(118): "onColumnsResized": new Slick.Event(),\r\n
Login.c(118): "onCellChange": new Slick.Event(),\r\n
Login.c(118): "onBeforeEditCell": new Slick.Event(),\r\n
Login.c(118): "onBeforeCellEditorDestroy": new Slick.Event(),\r\n
Login.c(118): "onBeforeDestroy": new Slick.Event(),\r\n
Login.c(118): "onActiveCellChanged": new Slick.Event(),\r\n
Login.c(118): "onActiveCellPositionChanged": new Slick.Event(),\r\n
Login.c(118): "onDragInit": new Slick.Event(),\r\n
Login.c(118): "onDragStart": new Slick.Event(),\r\n
Login.c(118): "onDrag": new Slick.Event(),\r\n
Login.c(118): "onDragEnd": new Slick.Event(),\r\n
Login.c(118): "onSelectedRowsChanged": new Slick.Event(),\r\n
Login.c(118): "onCellCssStylesChanged": new Slick.Event(),\r\n
Login.c(118): \r\n
Login.c(118): // Methods\r\n
Login.c(118): "registerPlugin": registerPlugin,\r\n
Login.c(118): "unregisterPlugin": unregisterPlugin,\r\n
Login.c(118): "getColumns": getColumns,\r\n
Login.c(118): "setColumns": setColumns,\r\n
Login.c(118): "getColumnIndex": getColumnIndex,\r\n
Login.c(118): "updateColumnHeader": updateColumnHeader,\r\n
Login.c(118): "setSortColumn": setSortColumn,\r\n
Login.c(118): "setSortColumns": setSortColumns,\r\n
Login.c(118): "getSortColumns": getSortColumns,\r\n
Login.c(118): "autosizeColumns": autosizeColumns,\r\n
Login.c(118): "getOptions": getOptions,\r\n
Login.c(118): "setOptions": setOptions,\r\n
Login.c(118): "getData": getData,\r\n
Login.c(118): "getDataLength": getDataLength,\r\n
Login.c(118): "getDataItem": getDataItem,\r\n
Login.c(118): "setData": setData,\r\n
Login.c(118): "getSelectionModel": getSelectionModel,\r\n
Login.c(118): "setSelectionModel": setSelectionModel,\r\n
Login.c(118): "getSelectedRows": getSelectedRows,\r\n
Login.c(118): "setSelectedRows": setSelectedRows,\r\n
Login.c(118): "getContainerNode": getContainerNode,\r\n
Login.c(118): \r\n
Login.c(118): "render": render,\r\n
Login.c(118): "invalidate": invalidate,\r\n
Login.c(118): "invalidateRow": invalidateRow,\r\n
Login.c(118): "invalidateRows": invalidateRows,\r\n
Login.c(118): "invalidateAllRows": invalidateAllRows,\r\n
Login.c(118): "updateCell": updateCell,\r\n
Login.c(118): "updateRow": updateRow,\r\n
Login.c(118): "getViewport": getVisibleRange,\r\n
Login.c(118): "getRenderedRange": getRenderedRange,\r\n
Login.c(118): "resizeCanvas": resizeCanvas,\r\n
Login.c(118): "updateRowCount": updateRowCount,\r\n
Login.c(118): "scrollRowIntoView": scrollRowIntoView,\r\n
Login.c(118): "scrollRowToTop": scrollRowToTop,\r\n
Login.c(118): "scrollCellIntoView": scrollCellIntoView,\r\n
Login.c(118): "getCanvasNode": getCanvasNode,\r\n
Login.c(118): "focus": setFocus,\r\n
Login.c(118): \r\n
Login.c(118): "getCellFromPoint": getCellFromPoint,\r\n
Login.c(118): "getCellFromEvent": getCellFromEvent,\r\n
Login.c(118): "getActiveCell": getActiveCell,\r\n
Login.c(118): "setActiveCell": setActiveCell,\r\n
Login.c(118): "getActiveCellNode": getActiveCellNode,\r\n
Login.c(118): "getActiveCellPosition": getActiveCellPosition,\r\n
Login.c(118): "resetActiveCell": resetActiveCell,\r\n
Login.c(118): "editActiveCell": makeActiveCellEditable,\r\n
Login.c(118): "getCellEditor": getCellEditor,\r\n
Login.c(118): "getCellNode": getCellNode,\r\n
Login.c(118): "getCellNodeBox": getCellNodeBox,\r\n
Login.c(118): "canCellBeSelected": canCellBeSelected,\r\n
Login.c(118): "canCellBeActive": canCellBeActive,\r\n
Login.c(118): "navigatePrev": navigatePrev,\r\n
Login.c(118): "navigateNext": navigateNext,\r\n
Login.c(118): "navigateUp": navigateUp,\r\n
Login.c(118): "navigateDown": navigateDown,\r\n
Login.c(118): "navigateLeft": navigateLeft,\r\n
Login.c(118): "navigateRight": navigateRight,\r\n
Login.c(118): "navigatePageUp": navigatePageUp,\r\n
Login.c(118): "navigatePageDown": navigatePageDown,\r\n
Login.c(118): "gotoCell": gotoCell,\r\n
Login.c(118): "getTopPanel": getTopPanel,\r\n
Login.c(118): "setTopPanelVisibility": setTopPanelVisibility,\r\n
Login.c(118): "setHeaderRowVisibility": setHeaderRowVisibility,\r\n
Login.c(118): "getHeaderRow": getHeaderRow,\r\n
Login.c(118): "getHeaderRowColumn": getHeaderRowColumn,\r\n
Login.c(118): "getGridPosition": getGridPosition,\r\n
Login.c(118): "flashCell": flashCell,\r\n
Login.c(118): "addCellCssStyles": addCellCssStyles,\r\n
Login.c(118): "setCellCssStyles": setCellCssStyles,\r\n
Login.c(118): "removeCellCssStyles": removeCellCssStyles,\r\n
Login.c(118): "getCellCssStyles": getCellCssStyles,\r\n
Login.c(118): \r\n
Login.c(118): "init": finishInitialization,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): \r\n
Login.c(118): // IEditor implementation\r\n
Login.c(118): "getEditorLock": getEditorLock,\r\n
Login.c(118): "getEditController": getEditController,\r\n
Login.c(118): "scrollPort": scrollPort\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): init();\r\n
Login.c(118): }\r\n
Login.c(118): }(jQuery));\r\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): Slick: {\n
Login.c(118): Data: {\n
Login.c(118): DataView: DataView,\n
Login.c(118): Aggregators: {\n
Login.c(118): Avg: AvgAggregator,\n
Login.c(118): Min: MinAggregator,\n
Login.c(118): Max: MaxAggregator,\n
Login.c(118): Sum: SumAggregator\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * A sample Model implementation.\n
Login.c(118): * Provides a filtered view of the underlying data.\n
Login.c(118): *\n
Login.c(118): * Relies on the data item having an "id" property uniquely
identifying it.\n
Login.c(118): */\n
Login.c(118): function DataView(options) {\n
Login.c(118): var self = this;\n
Login.c(118): \n
Login.c(118): var defaults = {\n
Login.c(118): groupItemMetadataProvider: null,\n
Login.c(118): inlineFilters: false\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): // private\n
Login.c(118): var idProperty = "id"; // property holding a unique row id\n
Login.c(118): var items = []; // data by index\n
Login.c(118): var rows = []; // data by row\n
Login.c(118): var idxById = {}; // indexes by id\n
Login.c(118): var rowsById = null; // rows by id; lazy-calculated\n
Login.c(118): var filter = null; // filter function\n
Login.c(118): var updated = null; // updated item ids\n
Login.c(118): var suspend = false; // suspends the recalculation\n
Login.c(118): var sortAsc = true;\n
Login.c(118): var fastSortField;\n
Login.c(118): var sortComparer;\n
Login.c(118): var refreshHints = {};\n
Login.c(118): var prevRefreshHints = {};\n
Login.c(118): var filterArgs;\n
Login.c(118): var filteredItems = [];\n
Login.c(118): var compiledFilter;\n
Login.c(118): var compiledFilterWithCaching;\n
Login.c(118): var filterCache = [];\n
Login.c(118): \n
Login.c(118): // grouping\n
Login.c(118): var groupingInfoDefaults = {\n
Login.c(118): getter: null,\n
Login.c(118): formatter: null,\n
Login.c(118): comparer: function(a, b) { return a.value - b.value; },\n
Login.c(118): predefinedValues: [],\n
Login.c(118): aggregators: [],\n
Login.c(118): aggregateEmpty: false,\n
Login.c(118): aggregateCollapsed: false,\n
Login.c(118): aggregateChildGroups: false,\n
Login.c(118): collapsed: false,\n
Login.c(118): displayTotalsRow: true,\n
Login.c(118): lazyTotalsCalculation: false\n
Login.c(118): };\n
Login.c(118): var groupingInfos = [];\n
Login.c(118): var groups = [];\n
Login.c(118): var toggledGroupsByLevel = [];\n
Login.c(118): var groupingDelimiter = ':|:';\n
Login.c(118): \n
Login.c(118): var pagesize = 0;\n
Login.c(118): var pagenum = 0;\n
Login.c(118): var totalRows = 0;\n
Login.c(118): \n
Login.c(118): // events\n
Login.c(118): var onRowCountChanged = new Slick.Event();\n
Login.c(118): var onRowsChanged = new Slick.Event();\n
Login.c(118): var onPagingInfoChanged = new Slick.Event();\n
Login.c(118): \n
Login.c(118): options = $.extend(true, {}, defaults, options);\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function beginUpdate() {\n
Login.c(118): suspend = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function endUpdate() {\n
Login.c(118): suspend = false;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setRefreshHints(hints) {\n
Login.c(118): refreshHints = hints;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setFilterArgs(args) {\n
Login.c(118): filterArgs = args;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateIdxById(startingIndex) {\n
Login.c(118): startingIndex = startingIndex || 0;\n
Login.c(118): var id;\n
Login.c(118): for (var i = startingIndex, l = items.length; i < l; i++)
{\n
Login.c(118): id = items[i][idProperty];\n
Login.c(118): if (id === undefined) {\n
Login.c(118): throw "Each data element must implement a unique 'id'
property";\n
Login.c(118): }\n
Login.c(118): idxById[id] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function ensureIdUniqueness() {\n
Login.c(118): var id;\n
Login.c(118): for (var i = 0, l = items.length; i < l; i++) {\n
Login.c(118): id = items[i][idProperty];\n
Login.c(118): if (id === undefined || idxById[id] !== i) {\n
Login.c(118): throw "Each data element must implement a unique 'id'
property";\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItems() {\n
Login.c(118): return items;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setItems(data, objectIdProperty) {\n
Login.c(118): if (objectIdProperty !== undefined) {\n
Login.c(118): idProperty = objectIdProperty;\n
Login.c(118): }\n
Login.c(118): items = filteredItems = data;\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): ensureIdUniqueness();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setPagingOptions(args) {\n
Login.c(118): if (args.pageSize != undefined) {\n
Login.c(118): pagesize = args.pageSize;\n
Login.c(118): pagenum = pagesize ? Math.min(pagenum, Math.max(0,
Math.ceil(totalRows / pagesize)
Login.c(118): - 1)) : 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (args.pageNum != undefined) {\n
Login.c(118): pagenum = Math.min(args.pageNum, Math.max(0,
Math.ceil(totalRows / pagesize) - 1))
Login.c(118): ;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): onPagingInfoChanged.notify(getPagingInfo(), null, self);\n
Login.c(118): \n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getPagingInfo() {\n
Login.c(118): var totalPages = pagesize ? Math.max(1, Math.ceil(totalRows
/ pagesize)) : 1;\n
Login.c(118): return {pageSize: pagesize, pageNum: pagenum, totalRows:
totalRows, totalPages: tota
Login.c(118): lPages};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function sort(comparer, ascending) {\n
Login.c(118): sortAsc = ascending;\n
Login.c(118): sortComparer = comparer;\n
Login.c(118): fastSortField = null;\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): items.sort(comparer);\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Provides a workaround for the extremely slow sorting in
IE.\n
Login.c(118): * Does a [lexicographic] sort on a give column by
temporarily overriding Object.proto
Login.c(118): type.toString\n
Login.c(118): * to return the value of that field and then doing a native
Array.sort().\n
Login.c(118): */\n
Login.c(118): function fastSort(field, ascending) {\n
Login.c(118): sortAsc = ascending;\n
Login.c(118): fastSortField = field;\n
Login.c(118): sortComparer = null;\n
Login.c(118): var oldToString = Object.prototype.toString;\n
Login.c(118): Object.prototype.toString = (typeof field == "function") ?
field : function () {\n
Login.c(118): return this[field]\n
Login.c(118): };\n
Login.c(118): // an extra reversal for descending sort keeps the sort
stable\n
Login.c(118): // (assuming a stable native sort implementation, which
isn't true in some cases)\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): items.sort();\n
Login.c(118): Object.prototype.toString = oldToString;\n
Login.c(118): if (ascending === false) {\n
Login.c(118): items.reverse();\n
Login.c(118): }\n
Login.c(118): idxById = {};\n
Login.c(118): updateIdxById();\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function reSort() {\n
Login.c(118): if (sortComparer) {\n
Login.c(118): sort(sortComparer, sortAsc);\n
Login.c(118): } else if (fastSortField) {\n
Login.c(118): fastSort(fastSortField, sortAsc);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setFilter(filterFn) {\n
Login.c(118): filter = filterFn;\n
Login.c(118): if (options.inlineFilters) {\n
Login.c(118): compiledFilter = compileFilter();\n
Login.c(118): compiledFilterWithCaching = compileFilterWithCaching();\n
Login.c(118): }\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getGrouping() {\n
Login.c(118): return groupingInfos;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setGrouping(groupingInfo) {\n
Login.c(118): if (!options.groupItemMetadataProvider) {\n
Login.c(118): options.groupItemMetadataProvider = new
Slick.Data.GroupItemMetadataProvider();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): groups = [];\n
Login.c(118): toggledGroupsByLevel = [];\n
Login.c(118): groupingInfo = groupingInfo || [];\n
Login.c(118): groupingInfos = (groupingInfo instanceof Array) ?
groupingInfo : [groupingInfo];\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < groupingInfos.length; i++) {\n
Login.c(118): var gi = groupingInfos[i] = $.extend(true, {},
groupingInfoDefaults, groupingInfos
Login.c(118): [i]);\n
Login.c(118): gi.getterIsAFn = typeof gi.getter === "function";\n
Login.c(118): \n
Login.c(118): // pre-compile accumulator loops\n
Login.c(118): gi.compiledAccumulators = [];\n
Login.c(118): var idx = gi
Login.c(118): t=7907ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): .aggregators.length;\n
Login.c(118): while (idx--) {\n
Login.c(118): gi.compiledAccumulators[idx] =
compileAccumulatorLoop(gi.aggregators[idx]);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): toggledGroupsByLevel[i] = {};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @deprecated Please use {@link setGrouping}.\n
Login.c(118): */\n
Login.c(118): function groupBy(valueGetter, valueFormatter, sortComparer)
{\n
Login.c(118): if (valueGetter == null) {\n
Login.c(118): setGrouping([]);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): setGrouping({\n
Login.c(118): getter: valueGetter,\n
Login.c(118): formatter: valueFormatter,\n
Login.c(118): comparer: sortComparer\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @deprecated Please use {@link setGrouping}.\n
Login.c(118): */\n
Login.c(118): function setAggregators(groupAggregators, includeCollapsed)
{\n
Login.c(118): if (!groupingInfos.length) {\n
Login.c(118): throw new Error("At least one grouping must be specified
before calling setAggrega
Login.c(118): tors().");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): groupingInfos[0].aggregators = groupAggregators;\n
Login.c(118): groupingInfos[0].aggregateCollapsed = includeCollapsed;\n
Login.c(118): \n
Login.c(118): setGrouping(groupingInfos);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemByIdx(i) {\n
Login.c(118): return items[i];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getIdxById(id) {\n
Login.c(118): return idxById[id];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function ensureRowsByIdCache() {\n
Login.c(118): if (!rowsById) {\n
Login.c(118): rowsById = {};\n
Login.c(118): for (var i = 0, l = rows.length; i < l; i++) {\n
Login.c(118): rowsById[rows[i][idProperty]] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getRowById(id) {\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): return rowsById[id];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemById(id) {\n
Login.c(118): return items[idxById[id]];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mapIdsToRows(idArray) {\n
Login.c(118): var rows = [];\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): for (var i = 0, l = idArray.length; i < l; i++) {\n
Login.c(118): var row = rowsById[idArray[i]];\n
Login.c(118): if (row != null) {\n
Login.c(118): rows[rows.length] = row;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return rows;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mapRowsToIds(rowArray) {\n
Login.c(118): var ids = [];\n
Login.c(118): for (var i = 0, l = rowArray.length; i < l; i++) {\n
Login.c(118): if (rowArray[i] < rows.length) {\n
Login.c(118): ids[ids.length] = rows[rowArray[i]][idProperty];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return ids;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateItem(id, item) {\n
Login.c(118): if (idxById[id] === undefined || id !== item[idProperty])
{\n
Login.c(118): throw "Invalid or non-matching id";\n
Login.c(118): }\n
Login.c(118): items[idxById[id]] = item;\n
Login.c(118): if (!updated) {\n
Login.c(118): updated = {};\n
Login.c(118): }\n
Login.c(118): updated[id] = true;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function insertItem(insertBefore, item) {\n
Login.c(118): items.splice(insertBefore, 0, item);\n
Login.c(118): updateIdxById(insertBefore);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addItem(item) {\n
Login.c(118): items.push(item);\n
Login.c(118): updateIdxById(items.length - 1);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function deleteItem(id) {\n
Login.c(118): var idx = idxById[id];\n
Login.c(118): if (idx === undefined) {\n
Login.c(118): throw "Invalid id";\n
Login.c(118): }\n
Login.c(118): delete idxById[id];\n
Login.c(118): items.splice(idx, 1);\n
Login.c(118): updateIdxById(idx);\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getLength() {\n
Login.c(118): return rows.length;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItem(i) {\n
Login.c(118): var item = rows[i];\n
Login.c(118): \n
Login.c(118): // if this is a group row, make sure totals are calculated
and update the title\n
Login.c(118): if (item && item.__group && item.totals && !
item.totals.initialized) {\n
Login.c(118): var gi = groupingInfos[item.level];\n
Login.c(118): if (!gi.displayTotalsRow) {\n
Login.c(118): calculateTotals(item.totals);\n
Login.c(118): item.title = gi.formatter ? gi.formatter(item) :
item.value;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): // if this is a totals row, make sure it's calculated\n
Login.c(118): else if (item && item.__groupTotals && !item.initialized)
{\n
Login.c(118): calculateTotals(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return item;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getItemMetadata(i) {\n
Login.c(118): var item = rows[i];\n
Login.c(118): if (item === undefined) {\n
Login.c(118): return null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // overrides for grouping rows\n
Login.c(118): if (item.__group) {\n
Login.c(118): return
options.groupItemMetadataProvider.getGroupRowMetadata(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // overrides for totals rows\n
Login.c(118): if (item.__groupTotals) {\n
Login.c(118): return
options.groupItemMetadataProvider.getTotalsRowMetadata(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function expandCollapseAllGroups(level, collapse) {\n
Login.c(118): if (level == null) {\n
Login.c(118): for (var i = 0; i < groupingInfos.length; i++) {\n
Login.c(118): toggledGroupsByLevel[i] = {};\n
Login.c(118): groupingInfos[i].collapsed = collapse;\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): toggledGroupsByLevel[level] = {};\n
Login.c(118): groupingInfos[level].collapsed = collapse;\n
Login.c(118): }\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param level {Number} Optional level to collapse. If not
specified, applies to all
Login.c(118): levels.\n
Login.c(118): */\n
Login.c(118): function collapseAllGroups(level) {\n
Login.c(118): expandCollapseAllGroups(level, true);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param level {Number} Optional level to expand. If not
specified, applies to all l
Login.c(118): evels.\n
Login.c(118): */\n
Login.c(118): function expandAllGroups(level) {\n
Login.c(118): expandCollapseAllGroups(level, false);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function expandCollapseGroup(level, groupingKey, collapse)
{\n
Login.c(118): toggledGroupsByLevel[level][groupingKey] =
groupingInfos[level].collapsed ^ collapse
Login.c(118): ;\n
Login.c(118): refresh();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param varArgs Either a Slick.Group's "groupingKey"
property, or a\n
Login.c(118): * variable argument list of grouping values denoting a
unique path to the row. F
Login.c(118): or\n
Login.c(118): * example, calling collapseGroup('high', '10%') will
collapse the '10%' subgroup
Login.c(118): of\n
Login.c(118): * the 'high' group.\n
Login.c(118): */\n
Login.c(118): function collapseGroup(varArgs) {\n
Login.c(118): var args = Array.prototype.slice.call(arguments);\n
Login.c(118): var arg0 = args[0];\n
Login.c(118): if (args.length == 1 && arg0.indexOf(groupingDelimiter) !=
-1) {\n
Login.c(118): expandCollapseGroup(arg0.split(groupingDelimiter).length
- 1, arg0, true);\n
Login.c(118): } else {\n
Login.c(118): expandCollapseGroup(args.length - 1,
args.join(groupingDelimiter), true);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * @param varArgs Either a Slick.Group's "groupingKey"
property, or a\n
Login.c(118): * variable argument list of grouping values denoting a
unique path to the row. F
Login.c(118): or\n
Login.c(118): * example, calling expandGroup('high', '10%') will
expand the '10%' subgroup of\n
Login.c(118): * the 'high' group.\n
Login.c(118): */\n
Login.c(118): function expandGroup(varArgs) {\n
Login.c(118): var args = Array.prototype.slice.call(arguments);\n
Login.c(118): var arg0 = args[0];\n
Login.c(118): if (args.length == 1 && arg0.indexOf(groupingDelimiter) !=
-1) {\n
Login.c(118): expandCollapseGroup(arg0.split(groupingDelimiter).length
- 1, arg0, false);\n
Login.c(118): } else {\n
Login.c(118): expandCollapseGroup(args.length - 1,
args.join(groupingDelimiter), false);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getGroups() {\n
Login.c(118): return groups;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function extractGroups(rows, parentGroup) {\n
Login.c(118): var group;\n
Login.c(118): var val;\n
Login.c(118): var groups = [];\n
Login.c(118): var groupsByVal = {};\n
Login.c(118): var r;\n
Login.c(118): var level = parentGroup ? parentGroup.level + 1 : 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): \n
Login.c(118): for (var i = 0, l = gi.predefinedValues.length; i < l; i++)
{\n
Login.c(118): val = gi.predefinedValues[i];\n
Login.c(118): group = groupsByVal[val];\n
Login.c(118): if (!group) {\n
Login.c(118): group = new Slick.Group();\n
Login.c(118): group.value = val;\n
Login.c(118): group.level = level;\n
Login.c(118): group.groupingKey = (parentGroup ?
parentGroup.groupingKey + groupingDelimiter :
Login.c(118): '') + val;\n
Login.c(118): groups[groups.length] = group;\n
Login.c(118): groupsByVal[val] = group;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = 0, l = rows.length; i < l; i++) {\n
Login.c(118): r = rows[i];\n
Login.c(118): val = gi.getterIsAFn ? gi.getter(r) : r[gi.getter];\n
Login.c(118): group = groupsByVal[val];\n
Login.c(118): if (!group) {\n
Login.c(118): group = new Slick.Group();\n
Login.c(118): group.value = val;\n
Login.c(118): group.level = level;\n
Login.c(118): group.groupingKey = (parentGroup ?
parentGroup.groupingKey + groupingDelimiter :
Login.c(118): '') + val;\n
Login.c(118): groups[groups.length] = group;\n
Login.c(118): groupsByVal[val] = group;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): group.rows[group.count++] = r;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (level < groupingInfos.length - 1) {\n
Login.c(118): for (var i = 0; i < groups.length; i++) {\n
Login.c(118): group = groups[i];\n
Login.c(118): group.groups = extractGroups(group.rows, group);\n
Login.c(118): }\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): groups.sort(groupingInfos[level].comparer);\n
Login.c(118): \n
Login.c(118): return groups;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function calculateTotals(totals) {\n
Login.c(118): var group = totals.group;\n
Login.c(118): var gi = groupingInfos[group.level];\n
Login.c(118): var isLeafLevel = (group.level == groupingInfos.length);\n
Login.c(118): var agg, idx = gi.aggregators.length;\n
Login.c(118): \n
Login.c(118): if (!isLeafLevel && gi.aggregateChildGroups) {\n
Login.c(118): // make sure all the subgroups are calculated\n
Login.c(118): var i = group.groups.length;\n
Login.c(118): while (i--) {\n
Login.c(118): if (!group.groups[i].initialized) {\n
Login.c(118): calculateTotals(group.groups[i]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): while (idx--) {\n
Login.c(118): agg = gi.aggregators[idx];\n
Login.c(118): agg.init();\n
Login.c(118): if (!isLeafLevel && gi.aggregateChildGroups) {\n
Login.c(118): gi.compiledAccumulators[idx].call(agg, group.groups);\n
Login.c(118): } else {\n
Login.c(118): gi.compiledAccumulators[idx].call(agg, group.rows);\n
Login.c(118): }\n
Login.c(118): agg.storeResult(totals);\n
Login.c(118): }\n
Login.c(118): totals.initialized = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addGroupTotals(group) {\n
Login.c(118): var gi = groupingInfos[group.level];\n
Login.c(118): var totals = new Slick.GroupTotals();\n
Login.c(118): totals.group = group;\n
Login.c(118): group.totals = totals;\n
Login.c(118): if (!gi.lazyTotalsCalculation) {\n
Login.c(118): calculateTotals(totals);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function addTotals(groups, level) {\n
Login.c(118): level = level || 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): var groupCollapsed = gi.collapsed;\n
Login.c(118): var toggledGroups = toggledGroupsByLevel[level]; \n
Login.c(118): var idx = groups.length, g;\n
Login.c(118): while (idx--) {\n
Login.c(118): g = groups[idx];\n
Login.c(118): \n
Login.c(118): if (g.collapsed && !gi.aggregateCollapsed) {\n
Login.c(118): continue;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Do a depth-first aggregation so that parent group
aggregators can access subgro
Login.c(118): up totals.\n
Login.c(118): if (g.groups) {\n
Login.c(118): addTotals(g.groups, level + 1);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (gi.aggregators.length && (\n
Login.c(118): gi.aggregateEmpty || g.rows.length || (g.groups &&
g.groups.length))) {\n
Login.c(118): addGroupTotals(g);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): g.collapsed = groupCollapsed ^
toggledGroups[g.groupingKey];\n
Login.c(118): g.title = gi.formatter ? gi.formatter(g) : g.value;\n
Login.c(118): }\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): function flattenGroupedRows(groups, level) {\n
Login.c(118): level = level || 0;\n
Login.c(118): var gi = groupingInfos[level];\n
Login.c(118): var groupedRows = [], rows, gl = 0, g;\n
Login.c(118): for (var i = 0, l = groups.length; i < l; i++) {\n
Login.c(118): g = groups[i];\n
Login.c(118): groupedRows[gl++] = g;\n
Login.c(118): \n
Login.c(118): if (!g.collapsed) {\n
Login.c(118): rows = g.groups ? flattenGroupedRows(g.groups, level +
1) : g.rows;\n
Login.c(118): for (var j = 0, jj = rows.length; j < jj; j++) {\n
Login.c(118): groupedRows[gl++] = rows[j];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (g.totals && gi.displayTotalsRow && (!g.collapsed ||
gi.aggregateCollapsed)) {\n
Login.c(118): groupedRows[gl++] = g.totals;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return groupedRows;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getFunctionInfo(fn) {\n
Login.c(118): var fnRegex = /^function[^(]*\\(([^)]*)\\)\\s*{([\\s\\S]*)}
$/;\n
Login.c(118): var matches = fn.toString().match(fnRegex);\n
Login.c(118): return {\n
Login.c(118): params: matches[1].split(","),\n
Login.c(118): body: matches[2]\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileAccumulatorLoop(aggregator) {\n
Login.c(118): var accumulatorInfo =
getFunctionInfo(aggregator.accumulate);\n
Login.c(118): var fn = new Function(\n
Login.c(118): "_items",\n
Login.c(118): "for (var " + accumulatorInfo.params[0] + ", _i=0,
_il=_items.length; _i<_il; _i
Login.c(118): ++) {" +\n
Login.c(118): accumulatorInfo.params[0] + " = _items[_i]; " +\n
Login.c(118): accumulatorInfo.body +\n
Login.c(118): "}"\n
Login.c(118): );\n
Login.c(118): fn.displayName = fn.name = "compiledAccumulatorLoop";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileFilter() {\n
Login.c(118): var filterInfo = getFunctionInfo(filter);\n
Login.c(118): \n
Login.c(118): var filterBody = filterInfo.body\n
Login.c(118): .replace(/return false\\s*([;}]|$)/gi, "{ continue
_coreloop; }$1")\n
Login.c(118): .replace(/return true\\s*([;}]|$)/gi, "{ _retval[_idx+
+] = $item$; continue _cor
Login.c(118): eloop; }$1")\n
Login.c(118): .replace(/return ([^;}]+?)\\s*([;}]|$)/gi,\n
Login.c(118): "{ if ($1) { _retval[_idx++] = $item$; }; continue
_coreloop; }$2");\n
Login.c(118): \n
Login.c(118): // This preserves the function template code after JS
compression,\n
Login.c(118): // so that replace() commands still work as expected.\n
Login.c(118): var tpl = [\n
Login.c(118): //"function(_items, _args) { ",\n
Login.c(118): "var _retval = [], _idx = 0; ",\n
Login.c(118): "var $item$, $args$ = _args; ",\n
Login.c(118): "_coreloop: ",\n
Login.c(118): "for (var _i = 0, _il = _items.length; _i < _il; _i++)
{ ",\n
Login.c(118): "$item$ = _items[_i]; ",\n
Login.c(118): "$filter$; ",\n
Login.c(118): "} ",\n
Login.c(118): "return _retval; "\n
Login.c(118): //"}"\n
Login.c(118): ].join("");\n
Login.c(118): tpl = tpl.replace(/\\$filter\\$/gi, filterBody);\n
Login.c(118): tpl = tpl.replace(/\\$item\\$/gi, filterInfo.params[
Login.c(118): t=7926ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): 0]);\n
Login.c(118): tpl = tpl.replace(/\\$args\\$/gi, filterInfo.params[1]);\n
Login.c(118): \n
Login.c(118): var fn = new Function("_items,_args", tpl);\n
Login.c(118): fn.displayName = fn.name = "compiledFilter";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function compileFilterWithCaching() {\n
Login.c(118): var filterInfo = getFunctionInfo(filter);\n
Login.c(118): \n
Login.c(118): var filterBody = filterInfo.body\n
Login.c(118): .replace(/return false\\s*([;}]|$)/gi, "{ continue
_coreloop; }$1")\n
Login.c(118): .replace(/return true\\s*([;}]|$)/gi, "{ _cache[_i] =
true;_retval[_idx++] = $it
Login.c(118): em$; continue _coreloop; }$1")\n
Login.c(118): .replace(/return ([^;}]+?)\\s*([;}]|$)/gi,\n
Login.c(118): "{ if ((_cache[_i] = $1)) { _retval[_idx++] =
$item$; }; continue _coreloop; }$2
Login.c(118): ");\n
Login.c(118): \n
Login.c(118): // This preserves the function template code after JS
compression,\n
Login.c(118): // so that replace() commands still work as expected.\n
Login.c(118): var tpl = [\n
Login.c(118): //"function(_items, _args, _cache) { ",\n
Login.c(118): "var _retval = [], _idx = 0; ",\n
Login.c(118): "var $item$, $args$ = _args; ",\n
Login.c(118): "_coreloop: ",\n
Login.c(118): "for (var _i = 0, _il = _items.length; _i < _il; _i++)
{ ",\n
Login.c(118): "$item$ = _items[_i]; ",\n
Login.c(118): "if (_cache[_i]) { ",\n
Login.c(118): "_retval[_idx++] = $item$; ",\n
Login.c(118): "continue _coreloop; ",\n
Login.c(118): "} ",\n
Login.c(118): "$filter$; ",\n
Login.c(118): "} ",\n
Login.c(118): "return _retval; "\n
Login.c(118): //"}"\n
Login.c(118): ].join("");\n
Login.c(118): tpl = tpl.replace(/\\$filter\\$/gi, filterBody);\n
Login.c(118): tpl = tpl.replace(/\\$item\\$/gi, filterInfo.params[0]);\n
Login.c(118): tpl = tpl.replace(/\\$args\\$/gi, filterInfo.params[1]);\n
Login.c(118): \n
Login.c(118): var fn = new Function("_items,_args,_cache", tpl);\n
Login.c(118): fn.displayName = fn.name = "compiledFilterWithCaching";\n
Login.c(118): return fn;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function uncompiledFilter(items, args) {\n
Login.c(118): var retval = [], idx = 0;\n
Login.c(118): \n
Login.c(118): for (var i = 0, ii = items.length; i < ii; i++) {\n
Login.c(118): if (filter(items[i], args)) {\n
Login.c(118): retval[idx++] = items[i];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retval;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function uncompiledFilterWithCaching(items, args, cache) {\n
Login.c(118): var retval = [], idx = 0, item;\n
Login.c(118): \n
Login.c(118): for (var i = 0, ii = items.length; i < ii; i++) {\n
Login.c(118): item = items[i];\n
Login.c(118): if (cache[i]) {\n
Login.c(118): retval[idx++] = item;\n
Login.c(118): } else if (filter(item, args)) {\n
Login.c(118): retval[idx++] = item;\n
Login.c(118): cache[i] = true;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retval;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getFilteredAndPagedItems(items) {\n
Login.c(118): if (filter) {\n
Login.c(118): var batchFilter = options.inlineFilters ?
compiledFilter : uncompiledFilter;\n
Login.c(118): var batchFilterWithCaching = options.inlineFilters ?
compiledFilterWithCaching : u
Login.c(118): ncompiledFilterWithCaching;\n
Login.c(118): \n
Login.c(118): if (refreshHints.isFilterNarrowing) {\n
Login.c(118): filteredItems = batchFilter(filteredItems,
filterArgs);\n
Login.c(118): } else if (refreshHints.isFilterExpanding) {\n
Login.c(118): filteredItems = batchFilterWithCaching(items,
filterArgs, filterCache);\n
Login.c(118): } else if (!refreshHints.isFilterUnchanged) {\n
Login.c(118): filteredItems = batchFilter(items, filterArgs);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): // special case: if not filtering and not paging, the
resulting\n
Login.c(118): // rows collection needs to be a copy so that changes due
to sort\n
Login.c(118): // can be caught\n
Login.c(118): filteredItems = pagesize ? items : items.concat();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // get the current page\n
Login.c(118): var paged;\n
Login.c(118): if (pagesize) {\n
Login.c(118): if (filteredItems.length < pagenum * pagesize) {\n
Login.c(118): pagenum = Math.floor(filteredItems.length /
pagesize);\n
Login.c(118): }\n
Login.c(118): paged = filteredItems.slice(pagesize * pagenum, pagesize
* pagenum + pagesize);\n
Login.c(118): } else {\n
Login.c(118): paged = filteredItems;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return {totalRows: filteredItems.length, rows: paged};\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getRowDiffs(rows, newRows) {\n
Login.c(118): var item, r, eitherIsNonData, diff = [];\n
Login.c(118): var from = 0, to = newRows.length;\n
Login.c(118): \n
Login.c(118): if (refreshHints && refreshHints.ignoreDiffsBefore) {\n
Login.c(118): from = Math.max(0,\n
Login.c(118): Math.min(newRows.length,
refreshHints.ignoreDiffsBefore));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (refreshHints && refreshHints.ignoreDiffsAfter) {\n
Login.c(118): to = Math.min(newRows.length,\n
Login.c(118): Math.max(0, refreshHints.ignoreDiffsAfter));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var i = from, rl = rows.length; i < to; i++) {\n
Login.c(118): if (i >= rl) {\n
Login.c(118): diff[diff.length] = i;\n
Login.c(118): } else {\n
Login.c(118): item = newRows[i];\n
Login.c(118): r = rows[i];\n
Login.c(118): \n
Login.c(118): if ((groupingInfos.length && (eitherIsNonData =
(item.__nonDataRow) || (r.__nonD
Login.c(118): ataRow)) &&\n
Login.c(118): item.__group !== r.__group ||\n
Login.c(118): item.__group && !item.equals(r))\n
Login.c(118): || (eitherIsNonData &&\n
Login.c(118): // no good way to compare totals since they are
arbitrary DTOs\n
Login.c(118): // deep object comparison is pretty expensive\n
Login.c(118): // always considering them 'dirty' seems easier for
the time being\n
Login.c(118): (item.__groupTotals || r.__groupTotals))\n
Login.c(118): || item[idProperty] != r[idProperty]\n
Login.c(118): || (updated && updated[item[idProperty]])\n
Login.c(118): ) {\n
Login.c(118): diff[diff.length] = i;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function recalc(_items) {\n
Login.c(118): rowsById = null;\n
Login.c(118): \n
Login.c(118): if (refreshHints.isFilterNarrowing !=
prevRefreshHints.isFilterNarrowing ||\n
Login.c(118): refreshHints.isFilterExpanding !=
prevRefreshHints.isFilterExpanding) {\n
Login.c(118): filterCache = [];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var filteredItems = getFilteredAndPagedItems(_items);\n
Login.c(118): totalRows = filteredItems.totalRows;\n
Login.c(118): var newRows = filteredItems.rows;\n
Login.c(118): \n
Login.c(118): groups = [];\n
Login.c(118): if (groupingInfos.length) {\n
Login.c(118): groups = extractGroups(newRows);\n
Login.c(118): if (groups.length) {\n
Login.c(118): addTotals(groups);\n
Login.c(118): newRows = flattenGroupedRows(groups);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var diff = getRowDiffs(rows, newRows);\n
Login.c(118): \n
Login.c(118): rows = newRows;\n
Login.c(118): \n
Login.c(118): return diff;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function refresh() {\n
Login.c(118): if (suspend) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var countBefore = rows.length;\n
Login.c(118): var totalRowsBefore = totalRows;\n
Login.c(118): \n
Login.c(118): var diff = recalc(items, filter); // pass as direct refs to
avoid closure perf hit\n
Login.c(118): \n
Login.c(118): // if the current page is no longer valid, go to last page
and recalc\n
Login.c(118): // we suffer a performance penalty here, but the main loop
(recalc) remains highly o
Login.c(118): ptimized\n
Login.c(118): if (pagesize && totalRows < pagenum * pagesize) {\n
Login.c(118): pagenum = Math.max(0, Math.ceil(totalRows / pagesize) -
1);\n
Login.c(118): diff = recalc(items, filter);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): updated = null;\n
Login.c(118): prevRefreshHints = refreshHints;\n
Login.c(118): refreshHints = {};\n
Login.c(118): \n
Login.c(118): if (totalRowsBefore != totalRows) {\n
Login.c(118): onPagingInfoChanged.notify(getPagingInfo(), null,
self);\n
Login.c(118): }\n
Login.c(118): if (countBefore != rows.length) {\n
Login.c(118): onRowCountChanged.notify({previous: countBefore, current:
rows.length}, null, self
Login.c(118): );\n
Login.c(118): }\n
Login.c(118): if (diff.length > 0) {\n
Login.c(118): onRowsChanged.notify({rows: diff}, null, self);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): /***\n
Login.c(118): * Wires the grid and the DataView together to keep row
selection tied to item ids.\n
Login.c(118): * This is useful since, without it, the grid only knows
about rows, so if the items\n
Login.c(118): * move around, the same rows stay selected instead of the
selection moving along\n
Login.c(118): * with the items.\n
Login.c(118): *\n
Login.c(118): * NOTE: This doesn't work with cell selection model.\n
Login.c(118): *\n
Login.c(118): * @param grid {Slick.Grid} The grid to sync selection
with.\n
Login.c(118): * @param preserveHidden {Boolean} Whether to keep selected
items that go out of the\n
Login.c(118): * view due to them getting filtered out.\n
Login.c(118): * @param preserveHiddenOnSelectionChange {Boolean} Whether
to keep selected items\n
Login.c(118): * that are currently out of the view (see
preserveHidden) as selected when select
Login.c(118): ion\n
Login.c(118): * changes.\n
Login.c(118): * @return {Slick.Event} An event that notifies when an
internal list of selected row
Login.c(118): ids\n
Login.c(118): * changes. This is useful since, in combination with
the above two options, it a
Login.c(118): llows\n
Login.c(118): * access to the full list selected row ids, and not just
the ones visible to the
Login.c(118): grid.\n
Login.c(118): * @method syncGridSelection\n
Login.c(118): */\n
Login.c(118): function syncGridSelection(grid, preserveHidden,
preserveHiddenOnSelectionChange) {\n
Login.c(118): var self = this;\n
Login.c(118): var inHandler;\n
Login.c(118): var selectedRowIds =
self.mapRowsToIds(grid.getSelectedRows());\n
Login.c(118): var onSelectedRowIdsChanged = new Slick.Event();\n
Login.c(118): \n
Login.c(118): function setSelectedRowIds(rowIds) {\n
Login.c(118): if (selectedRowIds.join(",") == rowIds.join(",")) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): selectedRowIds = rowIds;\n
Login.c(118): \n
Login.c(118): onSelectedRowIdsChanged.notify({\n
Login.c(118): "grid": grid,\n
Login.c(118): "ids": selectedRowIds\n
Login.c(118): }, new Slick.EventData(), self);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function update() {\n
Login.c(118): if (selectedRowIds.length > 0) {\n
Login.c(118): inHandler = true;\n
Login.c(118): var selectedRows = self.mapIdsToRows(selectedRowIds);\n
Login.c(118): if (!preserveHidden) {\n
Login.c(118): setSelectedRowIds(self.mapRowsToIds(selectedRows));
\n
Login.c(118): }\n
Login.c(118): grid.setSelectedRows(selectedRows);\n
Login.c(118): inHandler = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.onSelectedRowsChanged.subscribe(function(e, args) {\n
Login.c(118): if (inHandler) { return; }\n
Login.c(118): var newSelectedRowIds =
self.mapRowsToIds(grid.getSelectedRows());\n
Login.c(118): if (!preserveHiddenOnSelectionChange || !
grid.getOptions().multiSelect) {\n
Login.c(118): setSelectedRowIds(newSelectedRowIds);\n
Login.c(118): } else {\n
Login.c(118): // keep the ones that are hidden\n
Login.c(118): var existing = $.grep(selectedRowIds, function(id)
{ return self.getRowById(id)
Login.c(118): === undefined; });\n
Login.c(118): // add the newly selected ones\n
Login.c(118):
setSelectedRowIds(existing.concat(newSelectedRowIds));\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): this.onRowsChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): this.onRowCountChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): return onSelectedRowIdsChanged;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function syncGridCellCssStyles(grid, key) {\n
Login.c(118): var hashById;\n
Login.c(118): var inHandler;\n
Login.c(118): \n
Login.c(118): // since this method can be called after the cell styles
have been set,\n
Login.c(118): // get the existing ones right away\n
Login.c(118): storeCellCssStyles(grid.getCellCssStyles(key));\n
Login.c(118): \n
Login.c(118): function storeCellCssStyles(hash) {\n
Login.c(118): hashById = {};\n
Login.c(118): for (var row in hash) {\n
Login.c(118): var id = rows[row][idProperty];\n
Login.c(118): hashById[id] = hash[row];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function update() {\n
Login.c(118): if (hashById) {\n
Login.c(118): inHandler = true;\n
Login.c(118): ensureRowsByIdCache();\n
Login.c(118): var newHash = {};\n
Login.c(118): for (var id in hashById) {\n
Login.c(118): var row = rowsById[id];\n
Login.c(118): if (row != undefined) {\n
Login.c(118): newHash[row] = hashById[id];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): grid.setCellCssStyles(key, newHash);\n
Login.c(118): inHandler = false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.onCellCssStylesChanged.subscribe(function(e, args) {\n
Login.c(118): if (inHandler) { return; }\n
Login.c(118): if (key != args.key) { return; }\n
Login.c(118): if (args.hash) {\n
Login.c(118): storeCellCssStyles(args.hash);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): this.onRowsChanged.subscribe(update);\n
Login.c(118): \n
Login.c(118): this.onRowCountChanged.subscribe(update);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): // methods\n
Login.c(118): "beginUpdate": beginUpdate,\n
Login.c(118): "endUpdate": endUpdate,\n
Login.c(118): "setPagingOptions": setPagingOptions,\n
Login.c(118): "getPagingInfo": getPagingInfo,\n
Login.c(118): "getItems": getItems,\n
Login.c(118): "setItems": setItems,\n
Login.c(118): "setFilter": setFilter,\n
Login.c(118): "sort": sort,\n
Login.c(118): "fastSort": fastSort,\n
Login.c(118): "reSort": reSort,\n
Login.c(118): "setGrouping": setGrouping,\n
Login.c(118): "getGrouping": getGrouping,\n
Login.c(118): "groupBy": groupBy,\n
Login.c(118): "setAggregators": setAggregators,\n
Login.c(118): "collapseAllGroups": collapseAllGroups,\n
Login.c(118): "expandAllGroups": expandAllGroups,\n
Login.c(118): "collapseGroup": collapseGroup,\n
Login.c(118): "expandGroup": expandGroup,\n
Login.c(118): "getGroups": getGroups,\n
Login.c(118): "getIdxById": getIdxById,\n
Login.c(118): "getRowById": getRowById,\n
Login.c(118): "getItemById": getItemById,\n
Login.c(118): "getItemByIdx": getItemByIdx,\n
Login.c(118): "mapRowsToIds": mapRowsToIds,\n
Login.c(118): "mapIdsToRows": mapIdsToRows,\n
Login.c(118): "setRefreshHints": setRefreshHints,\n
Login.c(118): "setFilterArgs": setFilterArgs,\n
Login.c(118): "refresh": refresh,\n
Login.c(118): "updateItem": updateItem,\n
Login.c(118): "insertItem": insertItem,\n
Login.c(118): "addItem": addItem,\n
Login.c(118): "deleteItem": deleteItem,\n
Login.c(118): "syncGridSelection": syncGridSelection,\n
Login.c(118): "syncGridCellCssStyles": syncGridCellCssStyles,\n
Login.c(118): \n
Login.c(118): // data provider methods\n
Login.c(118): "getLength": getLength,\n
Login.c(118): "getItem": getItem,\n
Login.c(118): "getItemMetadata": getItemMetadata,\n
Login.c(118): \n
Login.c(118): // events\n
Login.c(118): "onRowCountChanged": onRowCountChanged,\n
Login.c(118): "onRowsChanged": onRowsChanged,\n
Login.c(118): "onPagingInfoChanged": onPagingInfoChanged\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function AvgAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.count_ = 0;\n
Login.c(118): this.nonNullCount_ = 0;\n
Login.c(118): this.sum_ = 0;\n
Login.c(118): };\n
Login.c(118): t=7943ms: 6673-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_lib.js" (RelFrameId=, Internal ID=44)
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): this.count_++;\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): this.nonNullCount_++;\n
Login.c(118): this.sum_ += parseFloat(val);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.avg) {\n
Login.c(118): groupTotals.avg = {};\n
Login.c(118): }\n
Login.c(118): if (this.nonNullCount_ != 0) {\n
Login.c(118): groupTotals.avg[this.field_] = this.sum_ /
this.nonNullCount_;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function MinAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.min_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): if (this.min_ == null || val < this.min_) {\n
Login.c(118): this.min_ = val;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.min) {\n
Login.c(118): groupTotals.min = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.min[this.field_] = this.min_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function MaxAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.max_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): if (this.max_ == null || val > this.max_) {\n
Login.c(118): this.max_ = val;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.max) {\n
Login.c(118): groupTotals.max = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.max[this.field_] = this.max_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function SumAggregator(field) {\n
Login.c(118): this.field_ = field;\n
Login.c(118): \n
Login.c(118): this.init = function () {\n
Login.c(118): this.sum_ = null;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.accumulate = function (item) {\n
Login.c(118): var val = item[this.field_];\n
Login.c(118): if (val != null && val !== "" && val !== NaN) {\n
Login.c(118): this.sum_ += parseFloat(val);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.storeResult = function (groupTotals) {\n
Login.c(118): if (!groupTotals.sum) {\n
Login.c(118): groupTotals.sum = {};\n
Login.c(118): }\n
Login.c(118): groupTotals.sum[this.field_] = this.sum_;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // TODO: add more built-in aggregators\n
Login.c(118): // TODO: merge common aggregators in one to prevent needles
iterating\n
Login.c(118): \n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): function SlickColumnPicker(columns, grid, options) {\n
Login.c(118): var $menu;\n
Login.c(118): var columnCheckboxes;\n
Login.c(118): \n
Login.c(118): var defaults = {\n
Login.c(118): fadeSpeed:250\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function init() {\n
Login.c(118):
grid.onHeaderContextMenu.subscribe(handleHeaderContextMenu);\n
Login.c(118): grid.onColumnsReordered.subscribe(updateColumnOrder);\n
Login.c(118): options = $.extend({}, defaults, options);\n
Login.c(118): \n
Login.c(118): $menu = $("<span class='slick-columnpicker'
style='display:none;position:absolute;z-
Login.c(118): index:20;' />").appendTo(document.body);\n
Login.c(118): \n
Login.c(118): $menu.bind("mouseleave", function (e) {\n
Login.c(118): $(this).fadeOut(options.fadeSpeed)\n
Login.c(118): });\n
Login.c(118): $menu.bind("click", updateColumn);\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118):
grid.onHeaderContextMenu.unsubscribe(handleHeaderContextMenu);\n
Login.c(118): grid.onColumnsReordered.unsubscribe(updateColumnOrder);\n
Login.c(118): $menu.remove();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleHeaderContextMenu(e, args) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): $menu.empty();\n
Login.c(118): updateColumnOrder();\n
Login.c(118): columnCheckboxes = [];\n
Login.c(118): \n
Login.c(118): var $li, $input;\n
Login.c(118): for (var i = 0; i < columns.length; i++) {\n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("column-id",
columns[i].id);\n
Login.c(118): columnCheckboxes.push($input);\n
Login.c(118): \n
Login.c(118): if (grid.getColumnIndex(columns[i].id) != null) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $("<label />")\n
Login.c(118): .text(columns[i].name)\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $("<hr/>").appendTo($menu);\n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("option",
"autoresize");\n
Login.c(118): $("<label />")\n
Login.c(118): .text("Force fit columns")\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): if (grid.getOptions().forceFitColumns) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $li = $("<li />").appendTo($menu);\n
Login.c(118): $input = $("<input type='checkbox' />").data("option",
"syncresize");\n
Login.c(118): $("<label />")\n
Login.c(118): .text("Synchronous resize")\n
Login.c(118): .prepend($input)\n
Login.c(118): .appendTo($li);\n
Login.c(118): if (grid.getOptions().syncColumnCellResize) {\n
Login.c(118): $input.attr("checked", "checked");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $menu\n
Login.c(118): .css("top", e.pageY - 10)\n
Login.c(118): .css("left", e.pageX - 10)\n
Login.c(118): .fadeIn(options.fadeSpeed);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateColumnOrder() {\n
Login.c(118): // Because columns can be reordered, we have to update the
`columns`\n
Login.c(118): // to reflect the new order, however we can't just take
`grid.getColumns()`,\n
Login.c(118): // as it does not include columns currently hidden by the
picker.\n
Login.c(118): // We create a new `columns` structure by leaving
currently-hidden\n
Login.c(118): // columns in their original ordinal position and
interleaving the results\n
Login.c(118): // of the current column sort.\n
Login.c(118): var current = grid.getColumns().slice(0);\n
Login.c(118): var ordered = new Array(columns.length);\n
Login.c(118): for (var i = 0; i < ordered.length; i++) {\n
Login.c(118): if ( grid.getColumnIndex(columns[i].id) === undefined )
{\n
Login.c(118): // If the column doesn't return a value from
getColumnIndex,\n
Login.c(118): // it is hidden. Leave it in this position.\n
Login.c(118): ordered[i] = columns[i];\n
Login.c(118): } else {\n
Login.c(118): // Otherwise, grab the next visible column.\n
Login.c(118): ordered[i] = current.shift();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): columns = ordered;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function updateColumn(e) {\n
Login.c(118): if ($(e.target).data("option") == "autoresize") {\n
Login.c(118): if (e.target.checked) {\n
Login.c(118): grid.setOptions({forceFitColumns:true});\n
Login.c(118): grid.autosizeColumns();\n
Login.c(118): } else {\n
Login.c(118): grid.setOptions({forceFitColumns:false});\n
Login.c(118): }\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($(e.target).data("option") == "syncresize") {\n
Login.c(118): if (e.target.checked) {\n
Login.c(118): grid.setOptions({syncColumnCellResize:true});\n
Login.c(118): } else {\n
Login.c(118): grid.setOptions({syncColumnCellResize:false});\n
Login.c(118): }\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ($(e.target).is(":checkbox")) {\n
Login.c(118): var visibleColumns = [];\n
Login.c(118): $.each(columnCheckboxes, function (i, e) {\n
Login.c(118): if ($(this).is(":checked")) {\n
Login.c(118): visibleColumns.push(columns[i]);\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): if (!visibleColumns.length) {\n
Login.c(118): $(e.target).attr("checked", "checked");\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): grid.setColumns(visibleColumns);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getAllColumns() {\n
Login.c(118): return columns;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): init();\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): "getAllColumns": getAllColumns,\n
Login.c(118): "destroy": destroy\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Slick.Controls.ColumnPicker\n
Login.c(118): $.extend(true, window, { Slick:{ Controls:
{ ColumnPicker:SlickColumnPicker }}});\n
Login.c(118): })(jQuery);\n
Login.c(118): t=7954ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"88204-1419875208000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:46:48 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 88204\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=7955ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "Editors": {\r\n
Login.c(118): "Auto": AutoCompleteEditor\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function AutoCompleteEditor(args) {\r\n
Login.c(118): var $input;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): var calendarOpen = false;\r\n
Login.c(118): var defaultTemplate = "<span class='grid-autocomplete-
item'>{{{label}}}</span>";\r\n
Login.c(118): var itemTemplate = args.itemTemplate || defaultTemplate;\r\n
Login.c(118): var compiledTemplate = Handlebars.compile(itemTemplate);\r\n
Login.c(118): \r\n
Login.c(118): this.init = function () {\r\n
Login.c(118): $input = $("<INPUT id='tags' class='editor-text' /><img
id='gridChooserIcon' src='i
Login.c(118): mages/choosericon.png' alt='chooser icon' >");\r\n
Login.c(118): $input.width($(args.container).innerWidth() - 5);\r\n
Login.c(118): $input.appendTo(args.container);\r\n
Login.c(118): \r\n
Login.c(118): $input.bind("keydown.nav", function (e) {\r\n
Login.c(118): if (e.shiftKey) {\r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode
=== $.ui.keyCode.RIGHT) {\r
Login.c(118): \n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.UP || e.keyCode ===
$.ui.keyCode.DOWN) {\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $input.focus().select();\r\n
Login.c(118): \r\n
Login.c(118): $('#gridChooserIcon').bind('click',function(event){\r\n
Login.c(118): event.preventDefault();\r\n
Login.c(118): // $input.$broadcast('keydown');\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var autoCompleteData = args.column.autoCompleteData;\r\n
Login.c(118): \r\n
Login.c(118): //Checking if it is a promise\r\n
Login.c(118): if(autoCompleteData && autoCompleteData.then){\r\n
Login.c(118): args.column.autoCompleteData.then(function(result){\r\n
Login.c(118): createAutoComplete($input, result,args.column);\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): createAutoComplete($input,
autoCompleteData,args.column);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function createAutoComplete(inputEl, autoCompleteData,
colDef){\r\n
Login.c(118): var modelField = colDef.modelField;\r\n
Login.c(118): var autoData = autoCompleteData;\r\n
Login.c(118): scope.autoData =autoData;\r\n
Login.c(118): if(modelField){\r\n
Login.c(118): autoData = jQuery.map(autoData, function(item){\r\n
Login.c(118): item.label = item[modelField];\r\n
Login.c(118): return item;\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): inputEl.autocomplete({\r\n
Login.c(118): source: autoData,\r\n
Login.c(118): create: function(){\r\n
Login.c(118): $(this).data('ui-autocomplete')._renderItem =
function(ul, item){\r\n
Login.c(118): var re = new RegExp("^" + this.term, "i");\r\n
Login.c(118): item.label = item.label.replace(re,"<span
style='font-weight:bold;text-decora
Login.c(118): tion:underline'>"+ this.term.toUpperCase() + "</span>");\r\n
Login.c(118): \r\n
Login.c(118): var compiledItem = compiledTemplate(item);\r\n
Login.c(118): \r\n
Login.c(118): return $('<li>')\r\n
Login.c(118): .append(compiledItem)\r\n
Login.c(118): .appendTo(ul);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $(this).data('ui-autocomplete')._resizeMenu =
function(ul){\r\n
Login.c(118):
this.menu.element.outerWidth(inputEl.outerWidth());\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): this.destroy = function () {\r\n
Login.c(118): \r\n
Login.c(118): if($input.autocomplete && $input.data('ui-autocomplete'))
{\r\n
Login.c(118): $input.autocomplete("destroy");\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): //finding using selector to make sure autocomplete is
removed\r\n
Login.c(118): var autoCompleteEl = $('.ui-autocomplete');\r\n
Login.c(118): if(autoCompleteEl){autoCompleteEl.remove();}\r\n
Login.c(118): }\r\n
Login.c(118): $input.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.focus = function () {\r\n
Login.c(118): $input.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.loadValue = function (item) {\r\n
Login.c(118): defaultValue = item[args.column.field];\r\n
Login.c(118): $input.val(defaultValue);\r\n
Login.c(118): $input[0].defaultValue = defaultValue;\r\n
Login.c(118): $input.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.serializeValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.applyValue = function (item, state) {\r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.isValueChanged = function () {\r\n
Login.c(118): return (!($input.val() === "" && !defaultValue)) &&
($input.val() != defaultValue);
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.validate = function () {\r\n
Login.c(118): if(scope.autoData && scope.autoData.length>0){\r\n
Login.c(118): \r\n
Login.c(118): var validItems = jQuery.grep(this.autoData,
function( item, i ) {\r\n
Login.c(118): return item[args.column.modelField] ===
$input.val();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): if(validItems.length>0){\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): var defaultVal= args.item[args.column.field] ||
'';\r\n
Login.c(118): $input.val(defaultVal);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): }; \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.init();\r\n
Login.c(118): }\r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"Editors":{\r\n
Login.c(118): \t\t\t"Calculator":CalculatorEditor\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CalculatorEditor(args){\r\n
Login.c(118): \t var inputTxt;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var defaultItem;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): var newVal='';\r\n
Login.c(118): var operatorRegexp = /[\\=\\+\\-\\*\\/]/g;\r\n
Login.c(118): var started = false, result=0;\r\n
Login.c(118): var fullString ='';\r\n
Login.c(118): var isNewElement=false;\r\n
Login.c(118): var popupEl;\r\n
Login.c(118): var isEnterKey = false;\r\n
Login.c(118): var isEqualPressed=false;\r\n
Login.c(118): \r\n
Login.c(118): \tscope.init = function(){\r\n
Login.c(118): \r\n
Login.c(118): \t\t inputTxt = $("<INPUT type=text class='editor-text'
/>")\r\n
Login.c(118): .appendTo(args.container);\r\n
Login.c(118): \r\n
Login.c(118): $(document).bind("click", function (event) {\r\n
Login.c(118): if($(event.target).attr('class') !== $
(inputTxt).attr('class')){\r\n
Login.c(118): scope.serializeValue();\r\n
Login.c(118): if(popupEl){\r\n
Login.c(118): popupEl.hide();\r\n
Login.c(118): popupEl.empty();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): fullString = ''; \r\n
Login.c(118): } \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.bind("keydown.nav", function (e) {\r\n
Login.c(118): \r\n
Login.c(118): if(e.keyCode === $.ui.keyCode.ENTER ){\r\n
Login.c(118): if(inputTxt.val() !== ""){\r\n
Login.c(118): isEnterKey = true;\r\n
Login.c(118): scope.newVal = inputTxt.val();\r\n
Login.c(118): scope.calculate();\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.bind("keyup.nav", function (e) {\r\n
Login.c(118): \tnewVal =inputTxt.val();\r\n
Login.c(118): \r\n
Login.c(118): \t /**** checking for multiple dots ****/\r\n
Login.c(118): \t scope.removeMutipleChar(newVal,'.');\r\n
Login.c(118): scope.removeMutipleChar(newVal,'=');\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var lastCharacter = newVal.substr(newVal.length-
1,newVal.length);\r\n
Login.c(118): var matchesArr = newVal.split(/[\\
+\\-\\*\\/]/g);\r\n
Login.c(118): var currentValidValue =
parseFloat(matchesArr[matchesArr.length-2]);\r\n
Login.c(118): \r\n
Login.c(118): /**** Checking for restricting alphabets ***/\r\n
Login.c(118): if(!(/[0-9\\.\\=\\
+\\*\\-\\/]/g.test(lastCharacter))){\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /**** Executed when user clicks one of 4 operators
***/\r\n
Login.c(118): if((/[\\=\\+\\-\\*\\/]/g).test(lastCharacter)){\r\n
Login.c(118): var firstChar = newVal.charAt(0);\r\n
Login.c(118): if(firstChar === '+' || firstChar === '*' ||
firstChar === '/' || firs
Login.c(118): tChar === '='){\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(!started){\r\n
Login.c(118): \r\n
Login.c(118): started = true;\r\n
Login.c(118): if(!isNewElement){\r\n
Login.c(118): isNewElement = true;\r\n
Login.c(118): scope.initPopup();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.lastCharacter = lastCharacter;\r\n
Login.c(118): scope.newVal = newVal;\r\n
Login.c(118): scope.currentValidValue =
currentValidValue;\r\n
Login.c(118): \r\n
Login.c(118): if(firstChar === '-'){\r\n
Login.c(118): scope.newVal = '0'+newVal;\r\n
Login.c(118): if(isNaN(currentValidValue)){\r\n
Login.c(118): scope.currentValidValue = 0;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): scope.currentValidValue =
'-'+currentValidValue;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.calculate();\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.focus().select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \t scope.destroy = function() {\r\n
Login.c(118): if(popupEl){\r\n
Login.c(118): popupEl.remove();\r\n
Login.c(118): }\r\n
Login.c(118): inputTxt.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.focus = function() {\r\n
Login.c(118): inputTxt.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.loadValue = function(item) {\r\n
Login.c(118): defaultItem = item;\r\n
Login.c(118): defaultValue = item[args.column.field];\r\n
Login.c(118): \tinputTxt.val(defaultValue);\r\n
Login.c(118): \t inputTxt[0].defaultValue = defaultValue;\r\n
Login.c(118): \t inputTxt.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.serializeValue = function() {\r\n
Login.c(118): \r\n
Login.c(118): if(popupEl && popupEl.is(':visible') && !isEqualPressed)
{\r\n
Login.c(118): scope.loadValue(defaultItem);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var val = parseFloat(inputTxt.val(), 10) || 0;\r\n
Login.c(118): return val;\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.applyValue = function(item,state) {\r\n
Login.c(118): \r\n
Login.c(118): var isNum = /^-?\\d*\\.?\\d*$/.test(state); //supports
signed, float numbers onl
Login.c(118): t=7969ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): y. Ex= -20.45 when copy pasting\r\n
Login.c(118): if(!isNum){\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.isValueChanged = function() {\r\n
Login.c(118): return (!(inputTxt.val() === "" && defaultValue ===
null)) && (inputTxt.val() !==
Login.c(118): defaultValue);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.validate = function() {\r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): };\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): /************** custom methods *************/\r\n
Login.c(118): \r\n
Login.c(118): scope.initPopup = function(){\r\n
Login.c(118): popupEl = $('<ul class="grid-calc-popup"></ul>');\r\n
Login.c(118): $('body').append(popupEl);\r\n
Login.c(118): popupEl.css("top", args.position.top-50).css("left",
args.position.left).show();
Login.c(118): \r\n
Login.c(118): popupEl.css("width", args.position.width);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.calculate = function(){\r\n
Login.c(118): if(started){\r\n
Login.c(118): popupEl.show();\r\n
Login.c(118): fullString = fullString +
scope.newVal;\r\n
Login.c(118): \r\n
Login.c(118): if(scope.lastCharacter === '=' ||
isEnterKey){ \r\n
Login.c(118): isEnterKey = false;\r\n
Login.c(118): fullString =
fullString.replace('=','');\r\n
Login.c(118): result = eval(fullString);\r\n
Login.c(118): result =
Math.round(result*1000)/1000;\r\n
Login.c(118): scope.result = result;\r\n
Login.c(118): \r\n
Login.c(118): defaultItem[args.column.field] =
result.toString();\r\n
Login.c(118): scope.loadValue(defaultItem);\r\n
Login.c(118):
//inputTxt.val(result.toString());\r\n
Login.c(118): popupEl.empty();\r\n
Login.c(118): popupEl.hide();\r\n
Login.c(118): started = false;\r\n
Login.c(118): fullString = '';\r\n
Login.c(118): isEqualPressed = true;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): popupEl.append('<li>'
+scope.currentValidValue + "" + scope.la
Login.c(118): stCharacter+ '</li>');\r\n
Login.c(118): scope.clearView();\r\n
Login.c(118): isEqualPressed = false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.clearView = function(){\r\n
Login.c(118): inputTxt.val("");\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.removeMutipleChar = function(ipval,spChar){\r\n
Login.c(118): var tempArr = ipval.split(spChar);\r\n
Login.c(118): var resultStr = '';\r\n
Login.c(118): if(tempArr.length > 2){\r\n
Login.c(118): var str = tempArr[0]+spChar+tempArr[1];\r\n
Login.c(118): var index = str.lastIndexOf(spChar); \r\n
Login.c(118): if(spChar === '.'){\r\n
Login.c(118): resultStr = str.substring(0,
index).replace(/[\\.]+/g, '').trim()+ s
Login.c(118): tr.substring(index);\r\n
Login.c(118): }\r\n
Login.c(118): else if(spChar === '='){\r\n
Login.c(118): resultStr = str.substring(0,
index).replace(/[\\=]+/g, '').trim()+ s
Login.c(118): tr.substring(index);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): inputTxt.val(resultStr);\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): scope.init();\r\n
Login.c(118): }\r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"Editors":{\r\n
Login.c(118): \t\t\t"CustomTextEditor":CustomTextEditor\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CustomTextEditor(args) {\r\n
Login.c(118): var $input;\r\n
Login.c(118): var defaultValue;\r\n
Login.c(118): var scope = this;\r\n
Login.c(118): \r\n
Login.c(118): this.init = function () {\r\n
Login.c(118): $input = $("<INPUT type=text class='editor-text' />")\r\n
Login.c(118): .appendTo(args.container)\r\n
Login.c(118): .bind("keydown.nav", function (e) {\r\n
Login.c(118): if (e.shiftKey) {\r\n
Login.c(118): if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode
=== $.ui.keyCode.RIGHT) {\r
Login.c(118): \n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): })\r\n
Login.c(118): .focus()\r\n
Login.c(118): .select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.destroy = function () {\r\n
Login.c(118): $input.remove();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.focus = function () {\r\n
Login.c(118): $input.focus();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.getValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.setValue = function (val) {\r\n
Login.c(118): $input.val(val);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.loadValue = function (item) {\r\n
Login.c(118): defaultValue = item[args.column.field] || "";\r\n
Login.c(118): $input.val(defaultValue);\r\n
Login.c(118): $input[0].defaultValue = defaultValue;\r\n
Login.c(118): $input.select();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.serializeValue = function () {\r\n
Login.c(118): return $input.val();\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.applyValue = function (item, state) {\r\n
Login.c(118): item[args.column.field] = state;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.isValueChanged = function () {\r\n
Login.c(118): return (!($input.val() === "" && defaultValue === null)) &&
($input.val() !== defaul
Login.c(118): tValue);\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.validate = function () {\r\n
Login.c(118): if (args.column.validator) {\r\n
Login.c(118): var validationResults =
args.column.validator($input.val());\r\n
Login.c(118): if (!validationResults.valid) {\r\n
Login.c(118): return validationResults;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): valid: true,\r\n
Login.c(118): msg: null\r\n
Login.c(118): };\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): this.init();\r\n
Login.c(118): }\r\n
Login.c(118): (function ($) {\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "Formatters":{\n
Login.c(118): "DisableCellFormatter": DisableCellFormatter\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function DisableCellFormatter(row, cell, value, columnDef,
dataContext) {\n
Login.c(118): if (dataContext){\n
Login.c(118): var coldef = columnDef.field+"_disabled";\n
Login.c(118): if(dataContext[coldef] ||
columnDef.editable===false || dataContext.disable
Login.c(118): d){\n
Login.c(118): if(value){\n
Login.c(118): return '<div style="background:
#DCDCDC;color: grey;width:100%;hei
Login.c(118): ght:100%;">'+value+'</div>';\n
Login.c(118): }\n
Login.c(118): else{\n
Login.c(118): return '<div style="background:
#DCDCDC;color: grey;width:100%;hei
Login.c(118): ght:100%;"></div>';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): return (value)?value:'';\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): \r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "Formatters": {\r\n
Login.c(118): "Radio": CheckboxSelectionFormatter\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function CheckboxSelectionFormatter(row, cell, value,
columnDef, dataContext) {\r\n
Login.c(118): if (dataContext) {\r\n
Login.c(118): if(value === true){\r\n
Login.c(118): return "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"' checke
Login.c(118): d='checked' />";\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): return "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"' />";\r\n
Login.c(118): } \r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(true,window,{\r\n
Login.c(118): \t"Slick":{\r\n
Login.c(118): \t\t"RadioSelectColumn": RadioSelectColumn\r\n
Login.c(118): \t}\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function RadioSelectColumn(options) {\r\n
Login.c(118): var _grid;\r\n
Login.c(118): var _self = this;\r\n
Login.c(118): var _handler = new Slick.EventHandler();\r\n
Login.c(118): var _selectedRowsLookup = {};\r\n
Login.c(118): var _defaults = {\r\n
Login.c(118): columnId: "_checkbox_selector",\r\n
Login.c(118): cssClass: null,\r\n
Login.c(118): toolTip: "Select/Deselect All",\r\n
Login.c(118): width: 30\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _options = $.extend(true, {}, _defaults, options);\r\n
Login.c(118): \r\n
Login.c(118): function init(grid) {\r\n
Login.c(118): _grid = grid;\r\n
Login.c(118): _handler\r\n
Login.c(118): .subscribe(_grid.onClick, handleClick);\r\n
Login.c(118): //.subscribe(_grid.onHeaderClick, handleHeaderClick)\r\n
Login.c(118): //.subscribe(_grid.onKeyDown, handleKeyDown);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroy() {\r\n
Login.c(118): _handler.unsubscribeAll();\r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): // function handleKeyDown(e, args) {\r\n
Login.c(118): // if (e.which == 32) {\r\n
Login.c(118): // if (_grid.getColumns()[args.cell].id ===
_options.columnId) {\r\n
Login.c(118): // // if editing, try to commit\r\n
Login.c(118): // if (!_grid.getEditorLock().isActive() ||
_grid.getEditorLock().commitCurrentE
Login.c(118): dit()) {\r\n
Login.c(118): // toggleRowSelection(args.row);\r\n
Login.c(118): // }\r\n
Login.c(118): // e.preventDefault();\r\n
Login.c(118): // e.stopImmediatePropagation();\r\n
Login.c(118): // }\r\n
Login.c(118): // }\r\n
Login.c(118): // }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e, args) {\r\n
Login.c(118): // clicking on a row select checkbox\r\n
Login.c(118): if (_grid.getColumns()[args.cell].type === 'Radio' && $
(e.target).is(":radio")) {\r\n
Login.c(118): // if editing, try to commit\r\n
Login.c(118): if (_grid.getEditorLock().isActive() && !
_grid.getEditorLock().commitCurrentEdit()
Login.c(118): ) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setCellValue(args, $(e.target));\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearAllSelection(fieldName){\r\n
Login.c(118): var items = _grid.getData().getItems();\r\n
Login.c(118): for(var i=0;i<items.length;i++){\r\n
Login.c(118): var row = items[i];\r\n
Login.c(118): _grid.invalidateRow(row);\r\n
Login.c(118): row[fieldName] = false; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCellValue(args, radioEl){\r\n
Login.c(118): var item = _grid.getData().getItem(args.row);\r\n
Login.c(118): var colDefinition = _grid.getColumns()[args.cell];\r\n
Login.c(118): clearAllSelection(colDefinition.field);\r\n
Login.c(118): item[colDefinition.field] = radioEl.prop("checked")? true:
false;\r\n
Login.c(118): _grid.invalidateRow(args.row);\r\n
Login.c(118): _grid.render();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnDefinition() {\r\n
Login.c(118): return {\r\n
Login.c(118): id: _options.columnId,\r\n
Login.c(118): name: "",\r\n
Login.c(118): toolTip: _options.toolTip,\r\n
Login.c(118): field: "sel",\r\n
Login.c(118): width: _options.width,\r\n
Login.c(118): resizable: false,\r\n
Login.c(118): sortable: false,\r\n
Login.c(118): cssClass: _options.cssClass,\r\n
Login.c(118): formatter: Slick.Formatters.Radio\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "init": init,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): "getColumnDefinition": getColumnDefinition\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): })(jQuery);\r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "CellSelectionModelExt": CellSelectionModelExt\r\n
Login.c(118): }\r\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellSelectionModelExt(options) {\r\n
Login.c(118): var _grid;\n
Login.c(118): var _handler = new Slick.EventHandler();\n
Login.c(118): var _self = this;\n
Login.c(118): \n
Login.c(118): function init(grid) {\r\n
Login.c(118): \n
Login.c(118): _grid = grid;\n
Login.c(118): _handler\n
Login.c(118): .subscribe(_grid.onClick, handleClick);\r\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\r\n
Login.c(118): _handler\n
Login.c(118): .unsubscribe(_grid.onClick, handleClick);\r\n
Login.c(118): }\n
Login.c(118): \r\n
Login.c(118): function setSelectedRanges(range) {\r\n
Login.c(118): var selectionModel = _grid.getSelectionModel();\n
Login.c(118): if (selectionModel &&
selectionModel.setSelectedRanges) {\r\n
Login.c(118): selectionModel.setSelectedRanges([range]);\r\n
Login.c(118): }\r\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function handleClick(e, args) {\r\n
Login.c(118): var active = _grid.getActiveCell();\n
Login.c(118): \n
Login.c(118): if (active && e.shiftKey && !e.ctrlKey && !e.altKey)
{\r\n
Login.c(118): setSelectedRanges(new Slick.Range(\n
Login.c(118): active.row,\n
Login.c(118): active.cell,\n
Login.c(118): args.row,\n
Login.c(118): args.cell\n
Login.c(118): ));\n
Login.c(118): \r\n
Login.c(118): e.preventDefault();\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): } \n
Login.c(118): \n
Login.c(118): $.extend(this, { \n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\n
Login.c(118): // register namespace\n
Login.c(118): $.extend(true, window, {\n
Login.c(118): "Slick": {\n
Login.c(118): "CellExternalCopyManager": CellExternalCopyManager\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function CellExternalCopyManager(options) {\n
Login.c(118): /*\n
Login.c(118): This manager enables users to copy/paste data from/to an
external Spreadsheet applic
Login.c(118): ation\n
Login.c(118): such as MS-Excel\xC2\xAE or OpenOffice-Spreadsheet.\n
Login.c(118): \n
Login.c(118): Since it is not possible to access directly the clipboard
in javascript, the plugin
Login.c(118): uses\n
Login.c(118): a trick to do it's job. After detecting the keystroke, we
dynamically create a texta
Login.c(118): rea\n
Login.c(118): where the browser copies/pastes the serialized data. \n
Login.c(118): \n
Login.c(118): options:\n
Login.c(118): copiedCellStyle : sets the css className used for copied
cells. default : "copied"
Login.c(118): \n
Login.c(118): copiedCellStyleLayerKey : sets the layer key for setting
css values of copied cell
Login.c(118): s. default : "copy-manager"\n
Login.c(118): dataItemColumnValueExtractor : option to specify a custom
column value extractor f
Login.c(118): unction\n
Login.c(118): dataItemColumnValueSetter : option to specify a custom
column value setter functio
Login.c(118): n\n
Login.c(118): clipboardCommandHandler : option to specify a custom
handler for paste actions\n
Login.c(118): includeHeaderWhenCopying : set to true and the plugin
will take the name property
Login.c(118): from each column (which is usually what appears in your header)
and put that as the first
Login.c(118): row of the text that's copied to the clipboard\n
Login.c(118): bodyElement: option to specify a custom DOM element which
to will be added the hid
Login.c(118): den textbox. It's useful if the grid is inside a modal dialog.\n
Login.c(118): */\n
Login.c(118): var _grid;\n
Login.c(118): var _self = this;\n
Login.c(118): var _copiedRanges;\n
Login.c(118): var _options = options || {};\n
Login.c(118): var _copiedCellStyleLayerKe
Login.c(118): t=7986ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): y = _options.copiedCellStyleLayerKey || "copy-manager";\n
Login.c(118): var _copiedCellStyle = _options.copiedCellStyle ||
"copied";\n
Login.c(118): var _clearCopyTI = 0;\n
Login.c(118): var _bodyElement = _options.bodyElement || document.body;\n
Login.c(118): \n
Login.c(118): var keyCodes = {\n
Login.c(118): 'C':67,\n
Login.c(118): 'V':86,\n
Login.c(118): 'ESC':27,\n
Login.c(118): 'X':88\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function init(grid) {\n
Login.c(118): _grid = grid;\n
Login.c(118): _grid.onKeyDown.subscribe(handleKeyDown);\n
Login.c(118): \n
Login.c(118): // we need a cell selection model\n
Login.c(118): var cellSelectionModel = grid.getSelectionModel();\n
Login.c(118): if (!cellSelectionModel){\n
Login.c(118): throw new Error("Selection model is mandatory for this
plugin. Please set a select
Login.c(118): ion model on the grid before adding this plugin:
grid.setSelectionModel(new Slick.CellSele
Login.c(118): ctionModel())");\n
Login.c(118): }\n
Login.c(118): // we give focus on the grid when a selection is done on
it.\n
Login.c(118): // without this, if the user selects a range of cell
without giving focus on a parti
Login.c(118): cular cell, the grid doesn't get the focus and key stroke handles
(ctrl+c) don't work\n
Login.c(118):
cellSelectionModel.onSelectedRangesChanged.subscribe(function(e, args){\n
Login.c(118): _grid.focus();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function destroy() {\n
Login.c(118): _grid.onKeyDown.unsubscribe(handleKeyDown);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getDataItemValueForColumn(item, columnDef) {\n
Login.c(118): if (_options.dataItemColumnValueExtractor) {\n
Login.c(118): return _options.dataItemColumnValueExtractor(item,
columnDef);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var retVal = '';\n
Login.c(118): \n
Login.c(118): // use formatter if available; much faster than editor\n
Login.c(118): // if (columnDef.formatter) {\n
Login.c(118): // return columnDef.formatter(0, 0,
item[columnDef.field], columnDef, item);\n
Login.c(118): // }\n
Login.c(118): \n
Login.c(118): // if a custom getter is not defined, we call
serializeValue of the editor to serial
Login.c(118): ize\n
Login.c(118): if (columnDef.editor){\n
Login.c(118): var editorArgs = {\n
Login.c(118): 'container':$("body"), // a dummy container\n
Login.c(118): 'column':columnDef,\n
Login.c(118): 'position':{'top':0, 'left':0} // a dummy position
required by some editors\n
Login.c(118): };\n
Login.c(118): var editor = new columnDef.editor(editorArgs);\n
Login.c(118): editor.loadValue(item);\n
Login.c(118): retVal = editor.serializeValue();\n
Login.c(118): editor.destroy();\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): retVal = item[columnDef.field];\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return retVal;\n
Login.c(118): }\n
Login.c(118): function setDataItemValueForColumn(item, columnDef, value)
{\n
Login.c(118): \n
Login.c(118): if(!item[columnDef.field+"_disabled"] && columnDef.editable !
== false && !item.disable
Login.c(118): d)\n
Login.c(118): { \n
Login.c(118): if (_options.dataItemColumnValueSetter) {\n
Login.c(118): return _options.dataItemColumnValueSetter(item,
columnDef, value);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // if a custom setter is not defined, we call applyValue of
the editor to unserializ
Login.c(118): e\n
Login.c(118): if (columnDef.editor){\n
Login.c(118): var editorArgs = {\n
Login.c(118): 'container':$("body"), // a dummy container\n
Login.c(118): 'column':columnDef,\n
Login.c(118): 'position':{'top':0, 'left':0} // a dummy position
required by some editors\n
Login.c(118): };\n
Login.c(118): var editor = new columnDef.editor(editorArgs);\n
Login.c(118): editor.loadValue(item);\n
Login.c(118): editor.applyValue(item, value);\n
Login.c(118): editor.destroy();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function _createTextBox(innerText){\n
Login.c(118): var ta = document.createElement('textarea');\n
Login.c(118): ta.style.position = 'absolute';\n
Login.c(118): ta.style.left = '-1000px';\n
Login.c(118): ta.style.top = document.body.scrollTop + 'px';\n
Login.c(118): ta.value = innerText;\n
Login.c(118): _bodyElement.appendChild(ta);\n
Login.c(118): ta.select();\n
Login.c(118): \n
Login.c(118): return ta;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function _decodeTabularData(_grid, ta){\n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var clipText = ta.value;\n
Login.c(118): var clipRows = clipText.split(/[\\n\\f\\r]/);\n
Login.c(118): var clippedRange = [];\n
Login.c(118): \n
Login.c(118): _bodyElement.removeChild(ta);\n
Login.c(118): \n
Login.c(118): for (var i=0; i<clipRows.length; i++) {\n
Login.c(118): if (clipRows[i]!=="")\n
Login.c(118): clippedRange[i] = clipRows[i].split("\\t");\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var selectedCell = _grid.getActiveCell();\n
Login.c(118): var ranges =
_grid.getSelectionModel().getSelectedRanges();\n
Login.c(118): var selectedRange = ranges && ranges.length ? ranges[0] :
null; // pick only one s
Login.c(118): election\n
Login.c(118): var activeRow = null;\n
Login.c(118): var activeCell = null;\n
Login.c(118): \n
Login.c(118): if (selectedRange){\n
Login.c(118): activeRow = selectedRange.fromRow;\n
Login.c(118): activeCell = selectedRange.fromCell;\n
Login.c(118): } else if (selectedCell){\n
Login.c(118): activeRow = selectedCell.row;\n
Login.c(118): activeCell = selectedCell.cell;\n
Login.c(118): } else {\n
Login.c(118): // we don't know where to paste\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var oneCellToMultiple = false;\n
Login.c(118): var destH = clippedRange.length;\n
Login.c(118): var destW = clippedRange.length ? clippedRange[0].length :
0;\n
Login.c(118): if (clippedRange.length == 1 && clippedRange[0].length == 1
&& selectedRange){\n
Login.c(118): oneCellToMultiple = true;\n
Login.c(118): destH = selectedRange.toRow - selectedRange.fromRow +1;\n
Login.c(118): destW = selectedRange.toCell - selectedRange.fromCell
+1;\n
Login.c(118): }\n
Login.c(118): \t var availableRows = _grid.getData().length - activeRow;\n
Login.c(118): \t var addRows = 0;\n
Login.c(118): \t if(availableRows < destH)\n
Login.c(118): \t {\n
Login.c(118): \t\tvar d = _grid.getData();\n
Login.c(118): \t\tfor(addRows = 1; addRows <= destH - availableRows; addRows+
+)\n
Login.c(118): \t\t\td.push({});\n
Login.c(118): \t\t_grid.setData(d);\n
Login.c(118): \t\t_grid.render();\n
Login.c(118): \t } \n
Login.c(118): var clipCommand = {\n
Login.c(118): \n
Login.c(118): isClipboardCommand: true,\n
Login.c(118): clippedRange: clippedRange,\n
Login.c(118): oldValues: [],\n
Login.c(118): cellExternalCopyManager: _self,\n
Login.c(118): _options: _options,\n
Login.c(118): setDataItemValueForColumn: setDataItemValueForColumn,\n
Login.c(118): markCopySelection: markCopySelection,\n
Login.c(118): oneCellToMultiple: oneCellToMultiple,\n
Login.c(118): activeRow: activeRow,\n
Login.c(118): activeCell: activeCell,\n
Login.c(118): destH: destH,\n
Login.c(118): destW: destW,\n
Login.c(118): desty: activeRow,\n
Login.c(118): destx: activeCell,\n
Login.c(118): maxDestY: _grid.getDataLength(),\n
Login.c(118): maxDestX: _grid.getColumns().length,\n
Login.c(118): h: 0,\n
Login.c(118): w: 0,\n
Login.c(118): \n
Login.c(118): execute: function() {\n
Login.c(118): this.h=0;\n
Login.c(118): for (var y = 0; y < destH; y++){\n
Login.c(118): this.oldValues[y] = [];\n
Login.c(118): this.w=0;\n
Login.c(118): this.h++;\n
Login.c(118): for (var x = 0; x < destW; x++){\n
Login.c(118): this.w++;\n
Login.c(118): var desty = activeRow + y;\n
Login.c(118): var destx = activeCell + x;\n
Login.c(118): \n
Login.c(118): if (desty < this.maxDestY && destx <
this.maxDestX ) {\n
Login.c(118): var nd = _grid.getCellNode(desty, destx);\n
Login.c(118): var dt = _grid.getDataItem(desty);\n
Login.c(118): this.oldValues[y][x] = dt[columns[destx].id];\n
Login.c(118): if (oneCellToMultiple)\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], clippedRange[0][0]);\n
Login.c(118): else\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], clippedRange[y] ? cli
Login.c(118): ppedRange[y][x] : '');\n
Login.c(118): _grid.updateCell(desty, destx);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var bRange = {\n
Login.c(118): 'fromCell': activeCell,\n
Login.c(118): 'fromRow': activeRow,\n
Login.c(118): 'toCell': activeCell+this.w-1,\n
Login.c(118): 'toRow': activeRow+this.h-1\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.markCopySelection([bRange]);\n
Login.c(118):
_grid.getSelectionModel().setSelectedRanges([bRange]);\n
Login.c(118):
this.cellExternalCopyManager.onPasteCells.notify({ranges: [bRange]});\n
Login.c(118): },\n
Login.c(118): \n
Login.c(118): undo: function() {\n
Login.c(118): for (var y = 0; y < destH; y++){\n
Login.c(118): for (var x = 0; x < destW; x++){\n
Login.c(118): var desty = activeRow + y;\n
Login.c(118): var destx = activeCell + x;\n
Login.c(118): \n
Login.c(118): if (desty < this.maxDestY && destx <
this.maxDestX ) {\n
Login.c(118): var nd = _grid.getCellNode(desty, destx);\n
Login.c(118): var dt = _grid.getDataItem(desty);\n
Login.c(118): if (oneCellToMultiple)\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], this.oldValues[0][0])
Login.c(118): ;\n
Login.c(118): else\n
Login.c(118): this.setDataItemValueForColumn(dt,
columns[destx], this.oldValues[y][x])
Login.c(118): ;\n
Login.c(118): _grid.updateCell(desty, destx);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var bRange = {\n
Login.c(118): 'fromCell': activeCell,\n
Login.c(118): 'fromRow': activeRow,\n
Login.c(118): 'toCell': activeCell+this.w-1,\n
Login.c(118): 'toRow': activeRow+this.h-1\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): this.markCopySelection([bRange]);\n
Login.c(118):
_grid.getSelectionModel().setSelectedRanges([bRange]);\n
Login.c(118):
this.cellExternalCopyManager.onPasteCells.notify({ranges: [bRange]});\n
Login.c(118): \n
Login.c(118): if(addRows > 1){ \n
Login.c(118): var d = _grid.getData();\n
Login.c(118): for(; addRows > 1; addRows--)\n
Login.c(118): d.splice(d.length - 1, 1);\n
Login.c(118): _grid.setData(d);\n
Login.c(118): _grid.render();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): if(_options.clipboardCommandHandler) {\n
Login.c(118): _options.clipboardCommandHandler(clipCommand);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): clipCommand.execute();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): function handleKeyDown(e, args) {\n
Login.c(118): var ranges;\n
Login.c(118): if (!_grid.getEditorLock().isActive() ||
_grid.getOptions().autoEdit) {\n
Login.c(118): if (e.which == keyCodes.ESC) {\n
Login.c(118): if (_copiedRanges) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): clearCopySelection();\n
Login.c(118): _self.onCopyCancelled.notify({ranges:
_copiedRanges});\n
Login.c(118): _copiedRanges = null;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((e.which == keyCodes.C || e.which == keyCodes.X)&&
(e.ctrlKey || e.metaKey)) {
Login.c(118): // CTRL + C && CTRL + X\n
Login.c(118): ranges =
_grid.getSelectionModel().getSelectedRanges();\n
Login.c(118): if (ranges.length !== 0) {\n
Login.c(118): _copiedRanges = ranges;\n
Login.c(118): markCopySelection(ranges);\n
Login.c(118): _self.onCopyCells.notify({ranges: ranges});\n
Login.c(118): \n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var clipText = "";\n
Login.c(118): \n
Login.c(118): for (var rg = 0; rg < ranges.length; rg++){\n
Login.c(118): var range = ranges[rg];\n
Login.c(118): var clipTextRows = [];\n
Login.c(118): for (var i=range.fromRow; i< range.toRow+1 ; i++)
{\n
Login.c(118): var clipTextCells = [];\n
Login.c(118): var dt = _grid.getDataItem(i);\n
Login.c(118): \n
Login.c(118): if (clipText === "" &&
_options.includeHeaderWhenCopying) {\n
Login.c(118): var clipTextHeaders = [];\n
Login.c(118): for (var j = range.fromCell; j <
range.toCell + 1 ; j++) {\n
Login.c(118): if (columns[j].name.length > 0)\n
Login.c(118):
clipTextHeaders.push(columns[j].name);\n
Login.c(118): }\n
Login.c(118):
clipTextRows.push(clipTextHeaders.join("\\t"));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): for (var k=range.fromCell; k<
range.toCell+1 ; k++){\n
Login.c(118): \n
Login.c(118): if(!dt[columns[k].field+"_disabled"] && !
dt.disabled && columns[k]
Login.c(118): .editable!== false && e.which == keyCodes.X )\n
Login.c(118): {\n
Login.c(118):
clipTextCells.push(getDataItemValueForColumn(dt, columns[k]));\n
Login.c(118): _grid.invalidateRow(i);\n
Login.c(118): dt[columns[k].field] = "";\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if(e.which === keyCodes.C){\n
Login.c(118):
clipTextCells.push(getDataItemValueForColumn(dt, columns[k]));\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): \n
Login.c(118): }\n
Login.c(118):
clipTextRows.push(clipTextCells.join("\\t"));\n
Login.c(118): }\n
Login.c(118): clipText += clipTextRows.join("\\r\\n") +
"\\r\\n";\n
Login.c(118): }\n
Login.c(118): if(e.which == keyCodes.X)\n
Login.c(118): _grid.render();\n
Login.c(118): var $focus = $(_grid.getActiveCellNode());\n
Login.c(118): var ta = _createTextBox(clipText);\n
Login.c(118): \n
Login.c(118): ta.focus();\n
Login.c(118): \n
Login.c(118): setTimeout(function(){\n
Login.c(118): _bodyElement.removeChild(ta);\n
Login.c(118): // restore focus\n
Login.c(118): if ($focus && $focus.length>0) {\n
Login.c(118): $focus.attr('tabIndex', '-1');\n
Login.c(118): $focus.focus();\n
Login.c(118): $focus.removeAttr('tabIndex');\n
Login.c(118): }\n
Login.c(118): }, 100);\n
Login.c(118): \n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (e.which == keyCodes.V && (e.ctrlKey || e.metaKey)) {
// CTRL + V\n
Login.c(118): var txtBx = _createTextBox('');\n
Login.c(118): \n
Login.c(118): setTimeout(function(){\n
Login.c(118): _decodeTabularData(_grid, txtBx);\n
Login.c(118): }, 100);\n
Login.c(118): \n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): function markCopySelection(ranges) {\n
Login.c(118): clearCopySelection();\n
Login.c(118): \n
Login.c(118): var columns = _grid.getColumns();\n
Login.c(118): var hash = {};\n
Login.c(118): for (var i = 0; i < ranges.length; i++) {\n
Login.c(118): for (var j = ranges[i].fromRow; j <= ranges[i].toRow; j+
+) {\n
Login.c(118): hash[j] = {};\n
Login.c(118): for (var k = ranges[i].fromCell; k <= ranges[i].toCell
&& k<columns.length; k++)
Login.c(118): {\n
Login.c(118): hash[j][columns[k].id] = _copiedCellStyle;\n
Login.c(118): }\n
Login.c(118):
Login.c(118): t=8002ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): _grid.setCellCssStyles(_copiedCellStyleLayerKey, hash);\n
Login.c(118): clearTimeout(_clearCopyTI);\n
Login.c(118): _clearCopyTI = setTimeout(function(){\n
Login.c(118): _self.clearCopySelection();\n
Login.c(118): }, 2000);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function clearCopySelection() {\n
Login.c(118): _grid.removeCellCssStyles(_copiedCellStyleLayerKey);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $.extend(this, {\n
Login.c(118): "init": init,\n
Login.c(118): "destroy": destroy,\n
Login.c(118): "clearCopySelection": clearCopySelection,\n
Login.c(118): "handleKeyDown":handleKeyDown,\n
Login.c(118): \n
Login.c(118): "onCopyCells": new Slick.Event(),\n
Login.c(118): "onCopyCancelled": new Slick.Event(),\n
Login.c(118): "onPasteCells": new Slick.Event()\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): })(jQuery);\n
Login.c(118): \r\n
Login.c(118): (function ($) {\r\n
Login.c(118): // register namespace\r\n
Login.c(118): $.extend(true, window, {\r\n
Login.c(118): "Slick": {\r\n
Login.c(118): "RowSelectionColumn": RowSelectionColumn\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function RowSelectionColumn(options) {\r\n
Login.c(118): var _grid;\r\n
Login.c(118): var _self = this;\r\n
Login.c(118): var _handler = new Slick.EventHandler();\r\n
Login.c(118): var _selectedRowsLookup = {};\r\n
Login.c(118): var _dragging;\r\n
Login.c(118): var _decorator, _rangeSelector;\r\n
Login.c(118): var _defaults = {\r\n
Login.c(118): columnId: "_row_selector_",\r\n
Login.c(118): cssClass: null,\r\n
Login.c(118): toolTip: "Select Row",\r\n
Login.c(118): width: 30\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _defaultdecoratorOptions = {\r\n
Login.c(118): \tselectionCssClass: 'slick-range-decorator',\r\n
Login.c(118): \tselectionCss: { \t\t\t\r\n
Login.c(118): \t\t"border": "2px solid black", \t\t\t\r\n
Login.c(118): \t}\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var _decoratoroptions = $.extend(true, {},
_defaultdecoratorOptions, (options && optio
Login.c(118): ns.decoratorOptions || {}));\r\n
Login.c(118): \r\n
Login.c(118): var _options = $.extend(true, {}, _defaults, options),
lastCellIndex = 0, initialPoint
Login.c(118): = {};\r\n
Login.c(118): \r\n
Login.c(118): function init(grid) {\r\n
Login.c(118): \t_grid = grid;\r\n
Login.c(118): \tlastCellIndex = grid.getColumns().length -1;\r\n
Login.c(118): \t_decorator = new Slick.CellRangeDecorator(grid,
_decoratoroptions);\r\n
Login.c(118): \t_canvas = _grid.getCanvasNode();\r\n
Login.c(118): \t_handler\t\t\r\n
Login.c(118): .subscribe(_grid.onClick, handleClick)\r\n
Login.c(118): \t\t.subscribe(_grid.onDragInit, handleDragInit)\r\n
Login.c(118): .subscribe(_grid.onDragStart, handleDragStart)\r\n
Login.c(118): .subscribe(_grid.onDrag, handleDrag)\r\n
Login.c(118): .subscribe(_grid.onDragEnd, handleDragEnd)\r\n
Login.c(118): .subscribe(_grid.onDblClick, handleDoubleClick);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \tfunction destroy() {\r\n
Login.c(118): \t\t_handler\r\n
Login.c(118): \t\t.unsubscribe(_grid.onClick, handleClick)\r\n
Login.c(118): .unsubscribe(_grid.onKeyDown, handleKeyDown)\r\n
Login.c(118): \t\t.unsubscribe(_grid.onDragInit, handleDragInit)\r\n
Login.c(118): .unsubscribe(_grid.onDragStart, handleDragStart)\r\n
Login.c(118): .unsubscribe(_grid.onDrag, handleDrag)\r\n
Login.c(118): .unsubscribe(_grid.onDragEnd, handleDragEnd)\r\n
Login.c(118): .unsubscribe(_grid.onDblClick, handleDoubleClick);\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragInit(e, dd) {\r\n
Login.c(118): \t\tvar start = _grid.getCellFromEvent(e);\r\n
Login.c(118): \t\tif (start && isRowSelectionCell(start)) {\r\n
Login.c(118): \t\t\t// prevent the grid from cancelling drag'n'drop by
default\r\n
Login.c(118): \t\t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragStart(e, dd) {\t\t\r\n
Login.c(118): \t\tvar start = _grid.getCellFromEvent(e), originalPoint =
$.extend(true, {}, start);\r\n
Login.c(118): \t\tif (start && !isRowSelectionCell(start)) {\r\n
Login.c(118): \t\t\treturn;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t_dragging = true;\r\n
Login.c(118): \t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\t_grid.focus();\r\n
Login.c(118): \r\n
Login.c(118): \t\tstart.cell = 0; //need to select from 0 cell to end cell
irrespective of user selectio
Login.c(118): n\r\n
Login.c(118): \t\tdd.range = { start: start, end: { row: start.row, cell:
lastCellIndex }, originalPoint
Login.c(118): : originalPoint };\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\treturn _decorator.show(new Slick.Range(start.row, start.cell,
start.row, lastCellIndex
Login.c(118): ));\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDrag(e, dd) {\r\n
Login.c(118): \t\tif (!_dragging) {\r\n
Login.c(118): \t\t\treturn;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\te.stopImmediatePropagation();\r\n
Login.c(118): \t\tvar end = _grid.getCellFromPoint(\r\n
Login.c(118): \t\t e.pageX - $(_canvas).offset().left,\r\n
Login.c(118): \t\t e.pageY - $(_canvas).offset().top);\r\n
Login.c(118): \r\n
Login.c(118): \t\tend.cell = lastCellIndex;\r\n
Login.c(118): \t\tdd.range.end = end;\r\n
Login.c(118): \t\tend.row = end.row >= 0 ? end.row : 0;\r\n
Login.c(118): \t\t_decorator.show(new Slick.Range(dd.range.start.row,
dd.range.start.cell, end.row, end.
Login.c(118): cell));\t\t\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): \tfunction handleDragEnd(e, dd) {\r\n
Login.c(118): if (!_dragging) {\r\n
Login.c(118): return;\r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): _dragging = false;\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): _decorator.hide();\r\n
Login.c(118): \r\n
Login.c(118): //concatRow(dd.range); // this for capturing all the
cell\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): // This is for capturing sepecific range.\r\n
Login.c(118): if (dd.range.originalPoint.cell == dd.range.end.cell &&
lastCellIndex > 0) {\r\n
Login.c(118): dd.range.end.cell = dd.range.end.cell - 1;\r\n
Login.c(118): }\r\n
Login.c(118): else if (dd.range.originalPoint.cell ==
dd.range.start.cell && lastCellIndex > 0)
Login.c(118): {\r\n
Login.c(118): dd.range.start.cell = dd.range.start.cell + 1;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): setSelectedRanges(new Slick.Range(\r\n
Login.c(118): dd.range.start.row,\r\n
Login.c(118): dd.range.start.cell,\r\n
Login.c(118): dd.range.end.row,\r\n
Login.c(118): dd.range.end.cell\r\n
Login.c(118): ));\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setSelectedRanges(range) {\r\n
Login.c(118): var selectionModel = _grid.getSelectionModel();\r\n
Login.c(118): if (selectionModel && selectionModel.setSelectedRanges)
{\r\n
Login.c(118): selectionModel.setSelectedRanges([range]);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleClick(e, args) { \r\n
Login.c(118): if (isRowSelectionCell(args)) {\r\n
Login.c(118): var range = { start: { row: args.row }, end: { row:
args.row } };\r\n
Login.c(118): if (args.cell === 0) {\r\n
Login.c(118): range.start.cell = args.cell + 1;\r\n
Login.c(118): range.end.cell = lastCellIndex;\r\n
Login.c(118): }\r\n
Login.c(118): else if (args.cell == lastCellIndex && lastCellIndex
> 0) {\r\n
Login.c(118): range.start.cell = 0;\r\n
Login.c(118): range.end.cell = lastCellIndex - 1;\r\n
Login.c(118): }\r\n
Login.c(118): else {\r\n
Login.c(118): range.start.cell = 0;\r\n
Login.c(118): range.end.cell = lastCellIndex;\r\n
Login.c(118): }\r\n
Login.c(118): setSelectedRanges(new Slick.Range(\r\n
Login.c(118): range.start.row,\r\n
Login.c(118): range.start.cell,\r\n
Login.c(118): range.end.row,\r\n
Login.c(118): range.end.cell\r\n
Login.c(118): ));\r\n
Login.c(118): //toggleRowSelection(args.row); // setting irrespective
of ranges. select complete
Login.c(118): row\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function handleDoubleClick(e, args) {\r\n
Login.c(118): if (isRowSelectionCell(args)) {\r\n
Login.c(118): // prevent the grid from cancelling set active cell
by default\r\n
Login.c(118): e.stopPropagation();\r\n
Login.c(118): e.stopImmediatePropagation();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \tfunction isRowSelectionCell(args) {\r\n
Login.c(118): \t\treturn _grid.getColumns()[args.cell].id ===
_options.columnId;\r\n
Login.c(118): \t}\r\n
Login.c(118): \r\n
Login.c(118): function toggleRowSelection(row) {\r\n
Login.c(118): \t_grid.setSelectedRows([row]);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function concatRow(range) {\r\n
Login.c(118): \tvar selectedRow = [];\r\n
Login.c(118): \tif (range.end.row) {\r\n
Login.c(118): \t\tvar max = Math.max(range.start.row, range.end.row);\r\n
Login.c(118): \t\tvar min = Math.min(range.start.row, range.end.row);\r\n
Login.c(118): \t\twhile (min <= max) {\r\n
Login.c(118): \t\t\tselectedRow.push(min);\r\n
Login.c(118): \t\t\tmin += 1;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t}\r\n
Login.c(118): \telse {\r\n
Login.c(118): \t\tselectedRow.push(range.start.row);\r\n
Login.c(118): \t}\r\n
Login.c(118): \t_grid.setSelectedRows(selectedRow);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getColumnDefinition(opt) {\r\n
Login.c(118): \tvar val = $.extend(true, {}, { id: _options.columnId },
opt);\r\n
Login.c(118): val.id = _options.columnId;\r\n
Login.c(118): val.isRowSelectionColumn = true;\r\n
Login.c(118): return val;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $.extend(this, {\r\n
Login.c(118): "init": init,\r\n
Login.c(118): "destroy": destroy,\r\n
Login.c(118): "getColumnDefinition": getColumnDefinition\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): })(jQuery);\r\n
Login.c(118): angular.module('slickgrid',[]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('ColumnBuilder', [function () {\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar columns = [];\r\n
Login.c(118): \t\tvar slickGridId;\r\n
Login.c(118): \t\tvar gridInstance;\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction setGridInstance(grid){\r\n
Login.c(118): \t\t\tgridInstance=grid;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction create(columnData, gridId){\r\n
Login.c(118): \t\t\tcolumns=[];\r\n
Login.c(118): \t\t\tslickGridId = gridId;\r\n
Login.c(118): \t\t\tangular.forEach(columnData, function(column){\r\n
Login.c(118): \t\t\t\tswitch(column.type){\r\n
Login.c(118): \t\t\t\t\tcase 'Text':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createTextColumn(column));\r\n
Login.c(118): \t\t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Number':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createNumberColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Auto':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createAutoCompleteColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Date':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createDateColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Boolean':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createBooleanColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Checkbox':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createCheckboxColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Calculator':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createCalculatorColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'RowSelectionColumn':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createRowSelectionColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tcase 'Radio':\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createRadioSelectionColumn(column));\r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t\tdefault:\r\n
Login.c(118): \t\t\t\t\t\tcolumns.push(createTextColumn(column));\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t\t\tbreak;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \t\t\t});\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn columns;\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createBasicColumnInfo(columnData){\r\n
Login.c(118): \t\t\tvar columnBasicOption= {\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t\tid: columnData.id,\r\n
Login.c(118): \t\t\t\tname: columnData.name,\r\n
Login.c(118): \t\t\t\tfield: columnData.id,\r\n
Login.c(118): \t\t\t\tsortable: columnData.sortable,\r\n
Login.c(118): \t\t\t\teditable: columnData.editable,\r\n
Login.c(118): \t\t\t\tformatter: Slick.Formatters.DisableCellFormatter\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t\tif(columnData.required){\r\n
Login.c(118): \t\t\t\t\tcolumnBasicOption.validator =
requireFieldValidator;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \t\t\t\tif(columnData.maxLength){\r\n
Login.c(118): \t\t\t\t\tcolumnBasicOption.validator=maxLengthValidator;\r\n
Login.c(118): \t\t\t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn jQuery.extend({}, columnData,
columnBasicOption);\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar requireFieldValidator= function validationFunction
(value)\r\n
Login.c(118): \t\t{\r\n
Login.c(118): \t\t\tif(value === null || value === undefined || !value.length)
{\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t valid: false,\r\n
Login.c(118): \t msg: "Value is required",\r\n
Login.c(118): \t type:"warning",\r\n
Login.c(118): \t errorComponent:'griderror'\r\n
Login.c(118): \t};\r\n
Login.c(118): \t\t\t}else {\r\n
Login.c(118): \t\t/*var activeCell = grid.getActiveCell(); \r\n
Login.c(118): \t\tvar dataView = grid.getData(); \r\n
Login.c(118): var item = dataView.getItem(activeCell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[activeCell.cell];\r\n
Login.c(118): delete item[""+column.id+
"_validationToolTipMsg"];*/\r\n
Login.c(118): \t\treturn {valid: true, msg :null } ;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar maxLengthValidator = function validationFunction(value)
{\r\n
Login.c(118): \t\t\tif(!value || value.length<5){\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t valid: false,\r\n
Login.c(118): \t msg: "minimum length is 5",\r\n
Login.c(118): \t type:"error",\r\n
Login.c(118): \t errorComponent:'griderror'\r\n
Login.c(118): \t};\r\n
Login.c(118): \t\t\t}else {\r\n
Login.c(118): \t\t/*var activeCell = grid.getActiveCell(); \r\n
Login.c(118): \t\tvar dataView = grid.getData(); \r\n
Login.c(118): var item = dataView.getItem(activeCell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[activeCell.cell];\r\n
Login.c(118): delete item[""+column.id+
"_validationToolTipMsg"];*/\r\n
Login.c(118): \t\treturn {valid: true, msg :null } ;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createAutoCompleteColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Auto;\r\n
Login.c(118): \t\t\tcolumn.autoCompleteData = columnData.autoCompleteData;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createTextColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.CustomTextEditor;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createNumberColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Integer;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createDateColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Date;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createBooleanColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.YesNoSelect;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createCheckboxColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Checkbox;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createCalculatorColumn(columnData){\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.editor = Slick.Editors.Calculator;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction rowSelectionColumnFormatter(row, cell, value,
columnDef, dataContext) {\r\n
Login.c(118): if (dataContext) {\r\n
Login.c(118): return '<div style="font-size: 10px;border-
right-color: silver;' +\r\n
Login.c(118): 'background: #f5f5f5;color: gray;text-align:
right;width:100%;height:1
Login.c(118): 00%;"></div>';\r\n
Login.c(118): }\r\n
Login.c(118): return null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createRowSelectionColumn(columnData)\r\n
Login.c(118): {\r\n
Login.c(118): \tvar rowSelectionPlugIn = new
Slick.RowSelectionColumn();\r\n
Login.c(118): \tvar column =
createBasicColumnInfo(rowSelectionPlugIn.getColumnDefinition(column
Login.c(118): Data));\r\n
Login.c(118): \tcolumn.formatter = rowSelectionColumnFormatter;\r\n
Login.c(118): \tcolumn.focusable = false;\r\n
Login.c(118): \t\t\treturn column
Login.c(118): t=8027ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): ;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function radioSelectionColumnFormatter(row, cell, value,
columnDef, dataContext) {
Login.c(118): \r\n
Login.c(118): \t\tif (dataContext) {\r\n
Login.c(118): \t\t\tif(row > 0){\r\n
Login.c(118): \t\t\t\treturn "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"'
Login.c(118): >";\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\telse{\r\n
Login.c(118): \t\t\t\treturn "<input type='radio' name='row-
select-"+columnDef.gridInstanceId+"'
Login.c(118): checked='checked' >";\r\n
Login.c(118): \t\t\t} \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\treturn null;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function createRadioSelectionColumn(columnData){\r\n
Login.c(118): \tvar radioSelectionPlugIn = new
Slick.RadioSelectColumn();\r\n
Login.c(118): \t\t\tvar column = createBasicColumnInfo(columnData);\r\n
Login.c(118): \t\t\tcolumn.formatter = radioSelectionColumnFormatter;\r\n
Login.c(118): \t\t\tcolumn.gridInstanceId = slickGridId;\r\n
Login.c(118): \t\t\treturn column;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create,\r\n
Login.c(118): \t\t\tsetGridInstance: setGridInstance\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('DataBuilder', ['SlickGridConstants',
'ChooserPopupUtility', \r\n
Login.c(118): function(SlickGridConstants, ChooserPopupUtility){\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\tfunction create(){\r\n
Login.c(118): \t\t\tvar dataView = new Slick.Data.DataView({ inlineFilters:
true });\r\n
Login.c(118): setMetaData(dataView);\r\n
Login.c(118): \t\t\treturn dataView;\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): function setMetaData(dataView){\r\n
Login.c(118): dataView.getItemMetadata = function (index) {\r\n
Login.c(118): var item = dataView.getItem(index);\r\n
Login.c(118): if(item && item.rowColor){\r\n
Login.c(118): var className = "grid-row-
background-"+item.rowColor;\r\n
Login.c(118): return { "cssClasses": className };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction setData(dataView, grid, data){\r\n
Login.c(118): \t\t\tdataView.setItems(data);\r\n
Login.c(118): dataView.syncGridSelection(grid, true);\r\n
Login.c(118): return dataView;\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): function openChooserWindow(gridInstance, activecell,
currentRowDetails){\r\n
Login.c(118): var columnNumber = activecell.cell;\r\n
Login.c(118): var rowNumber = activecell.row;\r\n
Login.c(118): var column = gridInstance.columns[columnNumber];\r\n
Login.c(118): var gridData=[];\r\n
Login.c(118): column.autoCompleteData.then(function(data){\r\n
Login.c(118): gridData = data;\r\n
Login.c(118): });\r\n
Login.c(118): var options = {\r\n
Login.c(118): query: currentRowDetails[column.field],\r\n
Login.c(118): displayAttr: "name"\r\n
Login.c(118): };\r\n
Login.c(118): var modalInstance;\r\n
Login.c(118): if(column.type==="Auto" && column.autoCompleteData){\r\n
Login.c(118): modalInstance =
ChooserPopupUtility.openModal(column.autoCompleteData, column.ch
Login.c(118): ooserGridData, options);\r\n
Login.c(118): modalInstance.result.then(function(updatedValue){\r\n
Login.c(118): \r\n
Login.c(118): var selectedRow =
gridData.filter(function(chooserItem){\r\n
Login.c(118): return chooserItem.selected === true;\r\n
Login.c(118): });\r\n
Login.c(118): if(selectedRow.length>0){\r\n
Login.c(118): gridInstance.grid.invalidateRow(rowNumber);\r\n
Login.c(118): currentRowDetails[column.field] = selectedRow[0]
[column.modelField];\r\n
Login.c(118): gridInstance.grid.render(); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction insertRows(grid, newRowIndex){\r\n
Login.c(118): \r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var columns = grid.getColumns();\r\n
Login.c(118): \r\n
Login.c(118): var newData={};\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(columns, function(value, key){\r\n
Login.c(118): newData[value.field] = "";\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var temp = angular.copy(newData);\r\n
Login.c(118): temp.id=parseInt(100+dataView.getLength()+1);\r\n
Login.c(118): dataView.insertItem(newRowIndex,temp);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): function splitRows(grid,modelItem, times, newRowIndex)
{\r\n
Login.c(118): var amount = modelItem[SlickGridConstants.AmountCol] ||
0, temp;\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var newData = angular.copy(modelItem);\r\n
Login.c(118): var oldId = newData.id;\r\n
Login.c(118): var newVal = (parseInt(amount,10) /
parseInt(times,10));\r\n
Login.c(118): newData[SlickGridConstants.AmountCol] = newVal;\r\n
Login.c(118): var newDatas=[];\r\n
Login.c(118): var totalRows = dataView.getLength();\r\n
Login.c(118): \r\n
Login.c(118): dataView.beginUpdate();\r\n
Login.c(118): deleteRow(grid, newRowIndex);\r\n
Login.c(118): for(var i=0; i<times;i++){\r\n
Login.c(118): temp = angular.copy(newData);\r\n
Login.c(118): var newId = oldId +"_"+(i); \r\n
Login.c(118): temp.id=newId;\r\n
Login.c(118): var newIndex = newRowIndex+i;\r\n
Login.c(118): dataView.insertItem(newIndex, temp);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): dataView.endUpdate(); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction addRow(grid){\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var columns = grid.getColumns();\r\n
Login.c(118): \r\n
Login.c(118): var newData={};\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(columns, function(value, key){\r\n
Login.c(118): newData[value.field] = "";\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): newData.id=parseInt(100+dataView.getLength()+1);\r\n
Login.c(118): dataView.addItem(newData);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function selectAll(grid){\r\n
Login.c(118): \t var dataView = grid.getData();\r\n
Login.c(118): \t var rows = [];\r\n
Login.c(118): \t for (var i = 0; i < dataView.getLength(); i++) {\r\n
Login.c(118): \t rows.push(i);\r\n
Login.c(118): \t }\r\n
Login.c(118): \t grid.setSelectedRows(rows);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function deleteRow(grid,newRowIndex){\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var data = dataView.getItems();\r\n
Login.c(118): data.splice(newRowIndex, 1);\r\n
Login.c(118): dataView.setItems(data);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create,\r\n
Login.c(118): \t\t\tsetData: setData,\r\n
Login.c(118): \t\t\taddRow: addRow,\r\n
Login.c(118): \t\t\tdeleteRow: deleteRow,\r\n
Login.c(118): \t\t\tinsertRows: insertRows,\r\n
Login.c(118): \t\t\tselectAll: selectAll,\r\n
Login.c(118): splitRows:splitRows,\r\n
Login.c(118): openChooserWindow: openChooserWindow\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .factory('GridBuilder', ['ColumnBuilder', 'DataBuilder',
'ShortcutsBuilder', 'SlickGri
Login.c(118): dUtility', 'SlickGridConstants',\r\n
Login.c(118): function(ColumnBuilder, DataBuilder, ShortcutsBuilder,
SlickGridUtility, SlickGrid
Login.c(118): Constants){\r\n
Login.c(118): var keyboardConstants =
SlickGridConstants.Shortcuts;\r\n
Login.c(118): var gridInstances={};\r\n
Login.c(118): \r\n
Login.c(118): var defaultGridOptions={\r\n
Login.c(118): enableCellNavigation: true,\r\n
Login.c(118): enableColumnReorder: true,\r\n
Login.c(118): multiColumnSort: true,\r\n
Login.c(118): editable: true,\r\n
Login.c(118): enableAddRow: false,\r\n
Login.c(118): asyncEditorLoading: true,\r\n
Login.c(118): topPanelHeight: 25,\r\n
Login.c(118): autoEdit: false,\r\n
Login.c(118): forceFitColumns: true,\r\n
Login.c(118): onAddRow: DataBuilder.addRow,\r\n
Login.c(118): onInsertRow: DataBuilder.insertRows,\r\n
Login.c(118): onDeleteRow: DataBuilder.deleteRow,\r\n
Login.c(118): onSelectAll: DataBuilder.selectAll,\r\n
Login.c(118): onSplit: DataBuilder.splitRows,\r\n
Login.c(118): actions: {\r\n
Login.c(118): AddRow: true,\r\n
Login.c(118): InsertRow:true,\r\n
Login.c(118): SplitRow: true,\r\n
Login.c(118): DeleteRow: true,\r\n
Login.c(118): SelectAll: true\r\n
Login.c(118): },\r\n
Login.c(118): Shortcuts: {\r\n
Login.c(118): AddRow1: keyboardConstants.AddRow1,\r\n
Login.c(118): AddRow2: keyboardConstants.AddRow2,\r\n
Login.c(118): InsertRow1: keyboardConstants.InsertRow1,\r\n
Login.c(118): InsertRow2: keyboardConstants.InsertRow2,\r\n
Login.c(118): DeleteRow1: keyboardConstants.DeleteRow1,\r\n
Login.c(118): DeleteRow2: keyboardConstants.DeleteRow2,\r\n
Login.c(118): SelectAll1: keyboardConstants.SelectAll1,\r\n
Login.c(118): SelectAll2: keyboardConstants.SelectAll2,\r\n
Login.c(118): Split1: keyboardConstants.Split1,\r\n
Login.c(118): Split2: keyboardConstants.Split2\r\n
Login.c(118): } \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function createGridInstance(el, gridData){\r\n
Login.c(118): var columns =
ColumnBuilder.create(gridData.columns,gridData.id);\r\n
Login.c(118): var dataView = DataBuilder.create();\r\n
Login.c(118): window.dataView =dataView; // Will be removed,
crated temp for testing\r\n
Login.c(118): var options = angular.extend(defaultGridOptions,
gridData.options,{});\r\n
Login.c(118): var grid = new Slick.Grid(el, dataView, columns,
options);\r\n
Login.c(118): window.grid =grid; // Will be removed, crated
temp for testing\r\n
Login.c(118): \r\n
Login.c(118): gridInstances[gridData.id] = {\r\n
Login.c(118): grid: grid,\r\n
Login.c(118): data: dataView,\r\n
Login.c(118): columns: columns,\r\n
Login.c(118): options: options,\r\n
Login.c(118): element: el,\r\n
Login.c(118): id: gridData.id\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): addPlugins(grid, columns, options);\r\n
Login.c(118): addFunctionalities(gridData.id);\r\n
Login.c(118):
ShortcutsBuilder.create(gridInstances[gridData.id]);\r\n
Login.c(118): setGridData(gridData.id, gridData.data);\r\n
Login.c(118): //DataBuilder.setData(dataView, grid,
gridData.data);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onKeyDown.subscribe(function(e,args){\r\n
Login.c(118): \r\n
Login.c(118): if (!e.shiftKey && !e.altKey && !e.ctrlKey)
{\r\n
Login.c(118): var cellEditor =
grid.getCellEditor();\r\n
Login.c(118): if(!cellEditor){\r\n
Login.c(118): grid.editActiveCell();\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118):
grid.onSelectedRowsChanged.subscribe(function(e,args){\r\n
Login.c(118): /* var doNotNotify = true; \r\n
Login.c(118): args.grid.validate(doNotNotify);\r\n
Login.c(118): args.grid.render(); */\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onValidationError.subscribe(function(e,args)
{\r\n
Login.c(118): var rowFailures = {\r\n
Login.c(118): rowFailures: args.rowFailures\r\n
Login.c(118): };\r\n
Login.c(118): $.event.trigger('errorValidation',
rowFailures);\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var gridToolTipStr = '<div id="slickgridtooltip"
class="gridtooltip" style=
Login.c(118): "display:none"><div class="gridtooltip-arrow"></div><div
class="gridtooltip-inner"></div><
Login.c(118): /div>';\r\n
Login.c(118): var toolTipHTML = $(gridToolTipStr);\r\n
Login.c(118): var bodyEl = angular.element('body');\r\n
Login.c(118): bodyEl.append(toolTipHTML);\r\n
Login.c(118): var toolTipElement;\r\n
Login.c(118): \r\n
Login.c(118): grid.onMouseEnter.subscribe(function(e,args){\r\n
Login.c(118): toolTipElement =
bodyEl.find('#slickgridtooltip');\r\n
Login.c(118): var cell = grid.getCellFromEvent(e);\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var item = dataView.getItem(cell.row);\r\n
Login.c(118): var columns=grid.getColumns();\r\n
Login.c(118): var column = columns[cell.cell];\r\n
Login.c(118): var toolTipProperty = ""+column.id+
"_validationToolTipMsg";
Login.c(118): \r\n
Login.c(118): if(item && item[toolTipProperty]){\r\n
Login.c(118): var
toolTipMessage=item[toolTipProperty].validation.msg;\r\n
Login.c(118): var tooltipcontent =
toolTipElement.find('.gridtooltip-inner');\r\n
Login.c(118): tooltipcontent\r\n
Login.c(118): .html(toolTipMessage);\r\n
Login.c(118): toolTipElement\r\n
Login.c(118): .css("top", e.pageY)\r\n
Login.c(118): .css("left", e.pageX)\r\n
Login.c(118): .removeClass("error warning")\r\n
Login.c(118):
.addClass(item[toolTipProperty].validation.type)\r\n
Login.c(118): .show();\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): grid.onMouseLeave.subscribe(function (e,args)
{\r\n
Login.c(118): toolTipElement.hide();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): var validateColumns = function(args){\r\n
Login.c(118): \r\n
Login.c(118): var failures=[];\r\n
Login.c(118): \r\n
Login.c(118): for (var c in columns) {\r\n
Login.c(118): var column = columns[c];\r\n
Login.c(118): var isDisabled = args.item.disabled ||
args.item[column.id+"_disabl
Login.c(118): ed"] || column.editable === false;\r\n
Login.c(118): if (column.validator && !isDisabled) {\r\n
Login.c(118): \r\n
Login.c(118): var cellValue=args.item[column.id];\r\n
Login.c(118): \r\n
Login.c(118): var validation =
column.validator(cellValue, {\r\n
Login.c(118): row: args.row, item: args.item,
column: column});\r\n
Login.c(118): \r\n
Login.c(118): if(!validation.valid){\r\n
Login.c(118): failures.push({\r\n
Login.c(118): columnIndex: c, \r\n
Login.c(118): column: column, \r\n
Login.c(118): rowIndex: args.row, item:
args.item, validation: validatio
Login.c(118): n});\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return failures;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): grid.validate = function(doNotNotify) {\r\n
Login.c(118): var rowFailures = [];\r\n
Login.c(118): var data = grid.getData().getItems();\r\n
Login.c(118): var failures=[];\r\n
Login.c(118): for (var r in data) {\r
Login.c(118): t=8045ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): \n
Login.c(118): //ignore our metadata provider (if
applicable)\r\n
Login.c(118): if(r == 'getItemMetadata'){continue;}\r\n
Login.c(118): \r\n
Login.c(118): failures = validateColumns({item: data[r],
row: r});\r\n
Login.c(118): if(failures.length > 0){\r\n
Login.c(118): rowFailures.push(failures);\r\n
Login.c(118): //rowFailures[r] = failures;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(doNotNotify === true){\r\n
Login.c(118): //Do nothing for now\r\n
Login.c(118): }\r\n
Login.c(118): else if(rowFailures.length > 0){\r\n
Login.c(118): setValidationErrorStyles(grid,
rowFailures);\r\n
Login.c(118):
grid.onValidationError.notify({"rowFailures": rowFailures}, new Sl
Login.c(118): ick.EventData());\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): if(rowFailures.length === 0){\r\n
Login.c(118): clearValidationStyles(grid);\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): ColumnBuilder.setGridInstance(grid);\r\n
Login.c(118): return gridData.id;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function clearValidationStyles(grid){\r\n
Login.c(118): grid.setCellCssStyles("validation_highlight",
{}); \r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var datas = dataView.getItems();\r\n
Login.c(118): datas= datas.map(function(item){\r\n
Login.c(118): for(var key in item){\r\n
Login.c(118): if(item.hasOwnProperty(key)){\r\n
Login.c(118): if(key.indexOf('_validationToolTipMsg')>-
1){\r\n
Login.c(118): delete item[key];\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setValidationErrorStyles(grid, failures)
{\r\n
Login.c(118): var flattenedFailures =
Array.prototype.concat.apply([],failures);\r\n
Login.c(118): var errorSet={};\r\n
Login.c(118): $.each(flattenedFailures, function(index,
errorItem){\r\n
Login.c(118): var rowObj =
errorSet[errorItem.rowIndex];\r\n
Login.c(118): var columnId = errorItem.column.id,
validationType = errorItem.validat
Login.c(118): ion.type;\r\n
Login.c(118): var isDisabled = errorItem.item.disabled ||
errorItem.item[columnId+"_
Login.c(118): disabled"] || errorItem.column.editable === false;\r\n
Login.c(118): var toolTipProp
=columnId+'_validationToolTipMsg';\r\n
Login.c(118): \r\n
Login.c(118): if(!isDisabled){\r\n
Login.c(118): errorItem.item[toolTipProp] =
errorItem;\r\n
Login.c(118): if(rowObj){\r\n
Login.c(118): rowObj[columnId] =
validationType;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): \r\n
Login.c(118): var cellObj = {};\r\n
Login.c(118): cellObj[columnId] =
validationType;\r\n
Login.c(118): errorSet[errorItem.rowIndex] =
cellObj;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118):
grid.setCellCssStyles("validation_highlight",errorSet);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addFunctionalities(id){\r\n
Login.c(118): var gridInstance = getGridInstance(id);\r\n
Login.c(118): var grid = gridInstance.grid;\r\n
Login.c(118):
SlickGridUtility.subscribeToAddNewRow(grid,gridInstance.data);\r\n
Login.c(118):
SlickGridUtility.addSorting(grid,gridInstance.data);\r\n
Login.c(118):
SlickGridUtility.addDisablecell(gridInstance);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addPlugins(grid, columns, options){\r\n
Login.c(118): grid.registerPlugin(new
Slick.RowSelectionColumn()); // it needs to be add
Login.c(118): ed at top of all the plugin. otherwise it will fail due to
stoppropagation\r\n
Login.c(118): grid.registerPlugin(new
Slick.CellSelectionModelExt());\r\n
Login.c(118): grid.setSelectionModel(new
Slick.CellSelectionModel());\r\n
Login.c(118): grid.registerPlugin(new
Slick.AutoTooltips());\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var undoRedoBuffer = {\r\n
Login.c(118): commandQueue : [],\r\n
Login.c(118): commandCtr : 0,\r\n
Login.c(118): \r\n
Login.c(118): queueAndExecuteCommand: function(editCommand)
{\r\n
Login.c(118): this.commandQueue[this.commandCtr] =
editCommand;\r\n
Login.c(118): this.commandCtr++;\r\n
Login.c(118): editCommand.execute();\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var copyManagerPluginOptions = {\r\n
Login.c(118): clipboardCommandHandler:
function(editCommand){ undoRedoBuffer.queueAn
Login.c(118): dExecuteCommand.call(undoRedoBuffer,editCommand); },\r\n
Login.c(118): includeHeaderWhenCopying : false\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): var columnpicker = new
Slick.Controls.ColumnPicker(columns, grid, options)
Login.c(118): ;\r\n
Login.c(118): \r\n
Login.c(118): grid.registerPlugin(new
Slick.CellExternalCopyManager(copyManagerPluginOpt
Login.c(118): ions));\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function create(el, gridData){\r\n
Login.c(118): var gridId = createGridInstance(el,
gridData);\r\n
Login.c(118): var grid = getGrid(gridId);\r\n
Login.c(118): \r\n
Login.c(118): // set keyboard focus on the grid\r\n
Login.c(118): grid.getCanvasNode().focus();\r\n
Login.c(118): return grid;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function destroyGrid(gridId){\r\n
Login.c(118): var gridInstance = getGridInstance(gridId);\r\n
Login.c(118): if(grid){\r\n
Login.c(118): //destroy functionality\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridInstance(gridId){\r\n
Login.c(118): return gridInstances[gridId];\r\n
Login.c(118): }\r\n
Login.c(118): function getGrid(gridId){\r\n
Login.c(118): var gridInstance = gridInstances[gridId];\r\n
Login.c(118): if(gridInstance){\r\n
Login.c(118): return gridInstance.grid;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function getGridData(gridId){\r\n
Login.c(118): var grid = getGrid(gridId);\r\n
Login.c(118): return grid.getData().getItems();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function isGridInstanceAvailable(gridId){\r\n
Login.c(118): if(gridId){\r\n
Login.c(118): var isAvail = getGridInstance(gridId) ||
false && true;\r\n
Login.c(118): return isAvail;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setGridData(gridId, data)\r\n
Login.c(118): {\r\n
Login.c(118): if(gridId && data){\r\n
Login.c(118): var gridInstance =
getGridInstance(gridId);\r\n
Login.c(118): if(gridInstance){\r\n
Login.c(118): var isDataSourcePresents =
getGridData(gridId); // Is Datasource a
Login.c(118): lreay has been set or not\r\n
Login.c(118): DataBuilder.setData(gridInstance.data,
gridInstance.grid, data); /
Login.c(118): /first param is dataView\r\n
Login.c(118): if(isDataSourcePresents){\r\n
Login.c(118): gridInstance.grid.invalidate();\r\n
Login.c(118): }\r\n
Login.c(118): }else{\r\n
Login.c(118): throw new Error("unable to find a grid
with having grid Id is" + g
Login.c(118): ridId);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): destroyGrid: destroyGrid,\r\n
Login.c(118): create: create,\r\n
Login.c(118): getGridData:getGridData,\r\n
Login.c(118): setGridData:setGridData,\r\n
Login.c(118):
isGridInstanceAvailable:isGridInstanceAvailable,\r\n
Login.c(118): getGridInstance: getGridInstance,\r\n
Login.c(118): clearValidationStyles:clearValidationStyles\r\n
Login.c(118): };\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('ShortcutsBuilder', ['$modal', 'SlickGridConstants',
'DataBuilder', \r\n
Login.c(118): \t\tfunction ($modal, SlickGridConstants, DataBuilder) {\r\n
Login.c(118): \r\n
Login.c(118): \t\tvar keyboardConstants = SlickGridConstants.Shortcuts;\r\n
Login.c(118): \t\tvar actionConstants = SlickGridConstants.Actions;\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createContextMenu(gridInstance, gridActions){\r\n
Login.c(118): \t\t\t//el, grid, data\r\n
Login.c(118): \t\t\tvar el = gridInstance.element,\r\n
Login.c(118): \t\t\t\tgrid = gridInstance.grid;\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \t\t\tvar str = '<ul id="contextMenu_'+ gridInstance.id+'"
class="context-menu" style="di
Login.c(118): splay:none">';\r\n
Login.c(118): if(gridActions.AddRow){\r\n
Login.c(118): str += '<li>'+gridActions.AddRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.InsertRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.InsertRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.SplitRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.SplitRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.DeleteRow){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.DeleteRow.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): if(gridActions.SelectAll){\r\n
Login.c(118): \tstr +=
'<li>'+gridActions.SelectAll.Name+'</li>';\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): str+='</ul>';\r\n
Login.c(118): var contextMenuHTML = $(str);\r\n
Login.c(118): var bodyEl = angular.element('body');\r\n
Login.c(118): bodyEl.append(contextMenuHTML);\r\n
Login.c(118): \r\n
Login.c(118): var contextMenuElement =
bodyEl.find('#contextMenu_'+gridInstance.id);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): contextMenuElement.click(function(e){\r\n
Login.c(118): if (!$(e.target).is("li")) {\r\n
Login.c(118): \r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): if (!grid.getEditorLock().commitCurrentEdit())
{\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var row = $(this).data("row");\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): var item = dataView.getItem(row);\r\n
Login.c(118): var currentTarget=$(e.target).text();\r\n
Login.c(118): switch(currentTarget){\r\n
Login.c(118): case actionConstants.AddRow:\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.InsertRow:\r\n
Login.c(118): var newRow = parseInt(row,10) + 1;\r\n
Login.c(118):
gridInstance.options.onInsertRow(grid,newRow);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.Split:\r\n
Login.c(118): splitRow(gridInstance, grid, item, row);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.Delete:\r\n
Login.c(118): gridInstance.options.onDeleteRow(grid,row);\r\n
Login.c(118): break;\r\n
Login.c(118): case actionConstants.SelectAll:\r\n
Login.c(118): gridInstance.options.onSelectAll(grid);\r\n
Login.c(118): break;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): grid.onContextMenu.subscribe(function (e) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): bodyEl.find('*[id^="contextMenu"]').hide();\r\n
Login.c(118): var cell = grid.getCellFromEvent(e);\r\n
Login.c(118): contextMenuElement\r\n
Login.c(118): .data("row", cell.row)\r\n
Login.c(118): .css("top", e.pageY)\r\n
Login.c(118): .css("left", e.pageX)\r\n
Login.c(118): .show();\r\n
Login.c(118): \r\n
Login.c(118): bodyEl.one("click keydown", function (evt) {
\r\n
Login.c(118): if ((evt.type == "keydown" && evt.which == 27)
|| evt.type == "click")
Login.c(118): \r\n
Login.c(118): contextMenuElement.hide();\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createKeyboardShortcuts(gridInstance, gridActions)
{\r\n
Login.c(118): \r\n
Login.c(118): \t\t var grid = gridInstance.grid;\r\n
Login.c(118): \t\t var shortcuts = gridInstance.options.Shortcuts;\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): grid.onKeyDown.subscribe(function(e,args) {\r\n
Login.c(118): var activeCell = grid.getActiveCell();\r\n
Login.c(118): var dataView = grid.getData();\r\n
Login.c(118): if(e.which===9 && !activeCell){\r\n
Login.c(118): return; \r\n
Login.c(118): }\r\n
Login.c(118): var currentRowDetails =
dataView.getItem(activeCell.row);\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): if (gridActions.AddRow && e.which ===
shortcuts.AddRow2 && e[shortcuts.AddRow1
Login.c(118): ]) {\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }\r\n
Login.c(118): else if (gridActions.InsertRow && e.which ===
shortcuts.InsertRow2 && e[shortc
Login.c(118): uts.InsertRow1]) {\r\n
Login.c(118):
gridInstance.options.onInsertRow(grid,activeCell.row+1);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if (gridActions.DeleteRow && e.which ===
shortcuts.DeleteRow2 && e[shortc
Login.c(118): uts.DeleteRow1]) {\r\n
Login.c(118):
gridInstance.options.onDeleteRow(grid,activeCell.row);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if(gridActions.SelectAll && e.which ===
shortcuts.SelectAll2 && e[shortcu
Login.c(118): ts.SelectAll1]){\r\n
Login.c(118): gridInstance.options.onSelectAll(grid);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): else if (gridActions.SplitRow && e.which ===
shortcuts.Split2 && e[shortcuts.S
Login.c(118): plit1]){\r\n
Login.c(118): splitRow(gridInstance, grid, currentRowDetails,
activeCell.row);\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): }\r\n
Login.c(118): else if(e.which===123){\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): var column =
gridInstance.columns[activeCell.cell];\r\n
Login.c(118): if(column.type==="Auto" && column.autoCompleteData)
{\r\n
Login.c(118): DataBu
Login.c(118): t=8064ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): ilder.openChooserWindow(gridInstance, activeCell,
currentRowDetails);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /*** Adding row on down arrow keypress ****/\r\n
Login.c(118): else if(gridActions.AddRow && e.which===40 &&
activeCell.row===(dataView.getLe
Login.c(118): ngth()-1)){\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }/*** Adding row on last cell tab keypress ****/\r\n
Login.c(118): else if(gridActions.AddRow && e.which===9 &&
activeCell.row===(dataView.getLen
Login.c(118): gth()-1) && activeCell.cell === gridInstance.columns.length-1)
{\r\n
Login.c(118): e.preventDefault();\r\n
Login.c(118): gridInstance.options.onAddRow(grid);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction splitRow(gridInstance, grid, item, rowIndex){\r\n
Login.c(118): var modalInstance =$modal.open({\r\n
Login.c(118):
templateUrl:'custom/slickgrid/templates/split.tpl.html',\r\n
Login.c(118): controller: 'ModalInstanceCtrl',\r\n
Login.c(118): resolve: {\r\n
Login.c(118): row: function(){\r\n
Login.c(118): return item; \r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): modalInstance.result.then(function (times) {\r\n
Login.c(118): //appendRows(grid,item, times, rowIndex);\r\n
Login.c(118): //TODO: This functionality is to be added later\r\n
Login.c(118): gridInstance.options.onSplit(grid,item, times,
rowIndex);\r\n
Login.c(118): \r\n
Login.c(118): }, function () {\r\n
Login.c(118): //not a valid value\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction createShortcuts(gridInstance){\r\n
Login.c(118): \t\t\tvar actions = gridInstance.options.actions;\r\n
Login.c(118): \t\t\tvar gridActions = {};\r\n
Login.c(118): if(actions.AddRow){\r\n
Login.c(118): gridActions.AddRow = {\r\n
Login.c(118): Name: SlickGridConstants.Actions.AddRow\r\n
Login.c(118): };\r\n
Login.c(118): }\r\n
Login.c(118): \t\t\tif(actions.InsertRow){\r\n
Login.c(118): \t\t\t\tgridActions.InsertRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.InsertRow\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.SplitRow){\r\n
Login.c(118): \t\t\t\tgridActions.SplitRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.Split\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.DeleteRow){\r\n
Login.c(118): \t\t\t\tgridActions.DeleteRow = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.Delete\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \t\t\tif(actions.SelectAll){\r\n
Login.c(118): \t\t\t\tgridActions.SelectAll = {\r\n
Login.c(118): \t\t\t\t\tName: SlickGridConstants.Actions.SelectAll\r\n
Login.c(118): \t\t\t\t};\r\n
Login.c(118): \t\t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\t\treturn gridActions;\r\n
Login.c(118): \t\t\t\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \r\n
Login.c(118): \t\tfunction create(gridInstance){\r\n
Login.c(118): \t\t\tvar gridActions = createShortcuts(gridInstance);\r\n
Login.c(118): \t\t\tcreateContextMenu(gridInstance, gridActions);\r\n
Login.c(118): \t\t\tcreateKeyboardShortcuts(gridInstance, gridActions);\r\n
Login.c(118): \t\t}\r\n
Login.c(118): \t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\t\tcreate: create\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.factory('SortFactory', [function () {\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t\r\n
Login.c(118): \t\treturn {\r\n
Login.c(118): \t\r\n
Login.c(118): \t\t};\r\n
Login.c(118): \t\t\r\n
Login.c(118): \t}]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): \t.constant('SlickGridConstants', {\r\n
Login.c(118): \t\tShortcuts: {\r\n
Login.c(118): \t\t\tInsertRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tInsertRow2: 73,// I \r\n
Login.c(118): \t\t\tAddRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tAddRow2: 82, //R\r\n
Login.c(118): \t\t\tDeleteRow1: "ctrlKey",\r\n
Login.c(118): \t\t\tDeleteRow2: 68, //D\r\n
Login.c(118): \t\t\tSelectAll1: "ctrlKey",\r\n
Login.c(118): \t\t\tSelectAll2: 65, //A,\r\n
Login.c(118): \t\t\tSplit1: "ctrlKey",\r\n
Login.c(118): \t\t\tSplit2: 83 //S\r\n
Login.c(118): \t\t},\r\n
Login.c(118): \t\tActions: {\r\n
Login.c(118): \t\t\tAddRow : "Add Row (Ctrl+R)",\r\n
Login.c(118): \t\t\tInsertRow: "Insert Row (Ctrl+I)",\r\n
Login.c(118): \t\t\tSplit: "Split (Ctrl+S)",\r\n
Login.c(118): \t\t\tDelete: "Delete Row (Ctrl+D)",\r\n
Login.c(118): \t\t\tSelectAll: "Select All (Ctrl+A)"\r\n
Login.c(118): \t\t},\r\n
Login.c(118): \t\tAmountCol: "amount"\r\n
Login.c(118): \r\n
Login.c(118): \t});\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .controller('ModalInstanceCtrl', ['$modal','$scope',
'$modalInstance', 'row', \r\n
Login.c(118): \tfunction ($modal,$scope, $modalInstance, row) {\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.lineSplit="";\r\n
Login.c(118): \r\n
Login.c(118): var initialSplitItems=[];\r\n
Login.c(118): \r\n
Login.c(118): $scope.totalAmount = row.amount || 0;\r\n
Login.c(118): \r\n
Login.c(118): \t\t $scope.textdisabled=true;\r\n
Login.c(118): $scope.radiodisabled=true;\r\n
Login.c(118): $scope.selectedOption="Evenly";\r\n
Login.c(118): $scope.errorMsgs=[];\r\n
Login.c(118): $scope.formSubmitted= false;\r\n
Login.c(118): $scope.form={\r\n
Login.c(118): name: 'splitform'\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function setErrorMessages(splitform){\r\n
Login.c(118): var errMsgs=[];\r\n
Login.c(118): if(splitform.splitvalue.$invalid){\r\n
Login.c(118): \r\n
Login.c(118): if(splitform.splitvalue.$error.required){\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This is required.'\r\n
Login.c(118): });\r\n
Login.c(118): }else if(splitform.splitvalue.$error.pattern)
{\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This value is not allowed.'\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): else if(splitform.splitvalue.$error.invalid){\r\n
Login.c(118): errMsgs.push({\r\n
Login.c(118): name: 'splitvalue',\r\n
Login.c(118): error: 'This value is not allowed.'\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): $scope.errorMsgs = errMsgs;\r\n
Login.c(118): }\r\n
Login.c(118): $scope.getTooltip = function(el){\r\n
Login.c(118): if(el && el.$invalid){\r\n
Login.c(118): var elementName = el.$name;\r\n
Login.c(118): var errMsg =
$scope.errorMsgs.filter(function(err){\r\n
Login.c(118): return err.name === elementName;\r\n
Login.c(118): });\r\n
Login.c(118): if(errMsg && errMsg.length>0){\r\n
Login.c(118): return errMsg[0].error;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): return "";\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): for(var i=0;i<10;i++){\r\n
Login.c(118): var item = {\r\n
Login.c(118): value: ""\r\n
Login.c(118): };\r\n
Login.c(118): initialSplitItems.push(item);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitItems =
angular.copy(initialSplitItems);\r\n
Login.c(118): \r\n
Login.c(118): function setPercentageTotal(itemsWithValue){\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitTotalMsg= "Split Percentage";\r\n
Login.c(118): $scope.splitTotal = [];\r\n
Login.c(118): var percentage=0;\r\n
Login.c(118): for(var i=0;i<itemsWithValue.length;i++){\r\n
Login.c(118): var item = itemsWithValue[i];\r\n
Login.c(118): percentage += parseInt(item.value);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.totalPercentage =percentage;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function setCustomTotal(itemsWithValue){\r\n
Login.c(118): $scope.splitTotalMsg= "Split Total"; \r\n
Login.c(118): $scope.customTotal = 0;\r\n
Login.c(118): var customTotal=0;\r\n
Login.c(118): for(var i=0;i<itemsWithValue.length;i++){\r\n
Login.c(118): var item = itemsWithValue[i];\r\n
Login.c(118): \r\n
Login.c(118): customTotal += parseInt(item.value);\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $scope.customTotal=customTotal;\r\n
Login.c(118): $scope.diffInTotal= $scope.totalAmount -
$scope.customTotal;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.$watch('selectedOption', function(newVal)
{\r\n
Login.c(118): if(newVal){\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.splitItems =
angular.copy(initialSplitItems);\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $scope.$watch('splitItems', function(newVal){\r\n
Login.c(118): if(newVal){\r\n
Login.c(118): var itemsWithValue =
$scope.splitItems.filter(function(item){\r\n
Login.c(118): return (item.value !== "" && item.value !==
undefined);\r\n
Login.c(118): });\r\n
Login.c(118): switch($scope.selectedOption){\r\n
Login.c(118): case "Percentage":\r\n
Login.c(118): setPercentageTotal(itemsWithValue);\r\n
Login.c(118): break;\r\n
Login.c(118): case "Custom":\r\n
Login.c(118): setCustomTotal(itemsWithValue);\r\n
Login.c(118): break;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): },true);\r\n
Login.c(118): \r\n
Login.c(118): $scope.getInputState = function(index){\r\n
Login.c(118): if(!$scope.selectedOption ||
$scope.selectedOption=== "Evenly"){\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): else if(parseInt($scope.lineSplit) > index){\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): function validatePercentage(){\r\n
Login.c(118): \r\n
Login.c(118): if($scope.totalPercentage !== 100){\r\n
Login.c(118): \r\n
Login.c(118): $scope.alerts = [\r\n
Login.c(118): { type: 'danger', msg: 'Percentage of all
lines must equal 100%' } \r
Login.c(118): \n
Login.c(118): ];\r\n
Login.c(118): return false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function validateCustom(){\r\n
Login.c(118): if($scope.customTotal !== $scope.totalAmount)
{\r\n
Login.c(118): $scope.alerts = [\r\n
Login.c(118): { type: 'danger', msg: 'Total of the split
lines doesn\\'t equal the t
Login.c(118): otal amount' } \r\n
Login.c(118): ];\r\n
Login.c(118): return false;\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return true;\r\n
Login.c(118): }\r\n
Login.c(118): function validateEvenly(){\r\n
Login.c(118): var init=$scope.splitform.splitvalue.
$modelValue;\r\n
Login.c(118): \r\n
Login.c(118): if(($scope.splitform.splitvalue.$modelValue <2)
|| ($scope.splitform.split
Login.c(118): value.$modelValue >10)){\r\n
Login.c(118): \r\n
Login.c(118): $scope.splitform.splitvalue.
$setValidity('invalid',false);\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): $scope.splitform.splitvalue.
$setValidity('invalid',true);\r\n
Login.c(118): }\r\n
Login.c(118): if($scope.splitform.$valid){\r\n
Login.c(118): return true;\r\n
Login.c(118): \r\n
Login.c(118): }else{\r\n
Login.c(118): setErrorMessages($scope.splitform);\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): $scope.closeAlert = function(index) {\r\n
Login.c(118): $scope.alerts.splice(index, 1);\r\n
Login.c(118): };\r\n
Login.c(118): function addAlert() {\r\n
Login.c(118): $scope.alerts.push({ type: 'danger',msg:
'Another alert!'});\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): //if($scope.splitform.$valid){\r\n
Login.c(118): $scope.ok = function () {\r\n
Login.c(118): $scope.alerts = [];\r\n
Login.c(118): $scope.formSubmitted= true;\r\n
Login.c(118): var isValidated = true;\r\n
Login.c(118): switch($scope.selectedOption){\r\n
Login.c(118): case 'Evenly':\r\n
Login.c(118): isValidated = validateEvenly();\r\n
Login.c(118): break;\r\n
Login.c(118): case 'Percentage':\r\n
Login.c(118): isValidated = validatePercentage();\r\n
Login.c(118): break;\r\n
Login.c(118): case 'Custom':\r\n
Login.c(118): isValidated = validateCustom();\r\n
Login.c(118): break;\r\n
Login.c(118): \r\n
Login.c(118): } \r\n
Login.c(118): \r\n
Login.c(118): if(isValidated){\r\n
Login.c(118):
$modalInstance.close(parseInt($scope.splitform.splitvalue.$modelValue, 1
Login.c(118): 0));\r\n
Login.c(118): $scope.formSubmitted= false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): $scope.cancel = function () {\r\n
Login.c(118): $modalInstance.dismiss('cancel');\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): }]);\r\n
Login.c(118): /**\r\n
Login.c(118): * @ngdoc directive\r\n
Login.c(118): * @name gridView\r\n
Login.c(118): * @restrict A\r\n
Login.c(118): * @element DIV\r\n
Login.c(118): * @param {string} autoCompleteResource The promise which will
return all the items\r\n
Login.c(118): * @param {boolean=} matchFilteringBeginning If set to true, only
the items which \r\n
Login.c(118): starts with the value entered on input box
will be shown.\r\n
Login.c(118): * @function\r\n
Login.c(118): *\r\n
Login.c(118): * @description\r\n
Login.c(118): * \r\n
Login.c(118): *\r\n
Login.c(118): * @example\r\n
Login.c(118): <example module="myapp">\r\n
Login.c(118): <file name="index.html">\r\n
Login.c(118): \r\n
Login.c(118): </file>\r\n
Login.c(118): </example>\r\n
Login.c(118): */\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .directive('gridView', ['$document',
'GridBuilder','EPConstant','$rootScope', \r\n
Login.c(118): function ($document, GridBuilder,EPConstant,$rootScope)
{\r\n
Login.c(118): return { \r\n
Login.c(118): restrict: 'A',\r\n
Login.c(118): scope: {\r\n
Login.c(118): columns: '=gridColumns',\r\n
Login.c(118): data: '=gridData',\r\n
Login.c(118): options: '=gridOptions',\r\n
Login.c(118): gridId: '@',\r\n
Login.c(118): removeFocus: '@'\r\n
Login.c(118): },\r\n
Login.c(118): link: function (scope, iElement, iAttrs) {\r\n
Login.c(118): var grid, gridId = scope.$id + '-' +
Math.floor(Math.random() * 10000);\r\n
Login.c(118): \r\n
Login.c(118): $document.on('click', function(e){\r\n
Login.c(118): var el = $(e.target);\r\n
Login.c(118): var isChild =
jQuery.contains(iElement[0],el[0]);\r\n
Login.c(118): if(!isChild){\r\n
Login.c(118): window.setTimeout(function(){\r\n
Login.c(118):
Slick.GlobalEditorLock.commitCurrentEdit();\r\n
Login.c(118): }, 0);\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $(document).on('errorValidation', function(e,
args){\r\n
Login.c(118): // alert('custom event triggered');\r\n
Login.c(118): $rootScope.$broadcast("Grid validation
Error",args);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function buildGrid(newVal){\r\n
Login.c(118): if(GridBuilder.isGridInstanceAvailable(gridId))
{\r\n
Login.c(118): GridBuilder.setGridData(gridId,
scope.data);\r\n
Login.c(118):
Login.c(118): t=8082ms: 5802-byte response body for
"http://v5devtom.ep.com/v5/ui/slick_custom.js" (RelFrameId=, Internal ID=45)
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): var gridData = {\r\n
Login.c(118): id: gridId,\r\n
Login.c(118): columns: scope.columns,\r\n
Login.c(118): data: scope.data,\r\n
Login.c(118): options: scope.options\r\n
Login.c(118): };\r\n
Login.c(118): grid = GridBuilder.create(iElement,
gridData);\r\n
Login.c(118): } \r\n
Login.c(118): if(scope.removeFocus){\r\n
Login.c(118):
iElement.find('div[tabIndex=0]').remove();\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): scope.$watch('data', function(newVal, oldVal)
{\r\n
Login.c(118): if(!scope.columns || !scope.data) return;\r\n
Login.c(118): buildGrid(newVal);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$watch('columns', function(newVal, oldVal)
{\r\n
Login.c(118): if(!scope.columns || !scope.data) return;\r\n
Login.c(118): buildGrid(newVal);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$on(EPConstant.Message.SaveTriggered,
function(){\r\n
Login.c(118): \r\n
Login.c(118): grid.gotoCell(0,0); \r\n
Login.c(118): var isValid = grid.validate();\r\n
Login.c(118): if(isValid){\r\n
Login.c(118): scope.data =
GridBuilder.getGridData(gridId); \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): scope.$on(EPConstant.Message.ClearTriggered,
function(){\r\n
Login.c(118):
GridBuilder.clearValidationStyles(grid);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): scope.$on('setFoucsGrid',function(e,item){\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): if(item.columnIndex && item.rowIndex){\r\n
Login.c(118):
grid.gotoCell(parseInt(item.rowIndex),parseInt(item.columnIndex),t
Login.c(118): rue); \r\n
Login.c(118): }\r\n
Login.c(118): //grid.setActiveCell();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): $rootScope.$on('$stateChangeStart',
function(event, toState){\r\n
Login.c(118): scope.data =
GridBuilder.getGridData(gridId);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): }]);\r\n
Login.c(118): angular.module('slickgrid')\r\n
Login.c(118): .factory('SlickGridUtility', ['SlickGridConstants',\r\n
Login.c(118): function (SlickGridConstants) {\r\n
Login.c(118): var keyboardConstants = SlickGridConstants.Shortcuts;\r\n
Login.c(118): var actionConstants = SlickGridConstants.Actions;\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): addSorting: addSorting,\r\n
Login.c(118): subscribeToAddNewRow: subscribeToAddNewRow,\r\n
Login.c(118): addDisablecell:addDisablecell,\r\n
Login.c(118): addCopyManager: addCopyManager\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): function addDisablecell(gridInstance){\r\n
Login.c(118): var grid = gridInstance.grid;\r\n
Login.c(118): grid.onBeforeEditCell.subscribe(function(e,args) {\r\n
Login.c(118): var columnId = args.column.id;\r\n
Login.c(118): var disableProperty = ""+columnId+ "_disabled";\r\n
Login.c(118): var item = args.item;\r\n
Login.c(118): if(item){\r\n
Login.c(118): if(item[disableProperty] === true){\r\n
Login.c(118): args.column.focusable=false;\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): if(item.disabled){\r\n
Login.c(118): args.row.selectable=false;\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): if(args.column.editable === false){\r\n
Login.c(118): return false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addSorting(grid,dataView){\r\n
Login.c(118): grid.onSort.subscribe(function (e, args) {\r\n
Login.c(118): var cols = args.sortCols;\r\n
Login.c(118): \r\n
Login.c(118): dataView.sort(function (dataRow1, dataRow2)
{\r\n
Login.c(118): for (var i = 0, l = cols.length; i < l; i++)
{\r\n
Login.c(118): var field = cols[i].sortCol.field;\r\n
Login.c(118): var sign = cols[i].sortAsc ? 1 : -1;\r\n
Login.c(118): var value1 = dataRow1[field], value2 =
dataRow2[field];\r\n
Login.c(118): var result = (value1 == value2 ? 0 :
(value1 > value2 ? 1 : -1)) * s
Login.c(118): ign;\r\n
Login.c(118): if (result !== 0) {\r\n
Login.c(118): return result;\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): return 0;\r\n
Login.c(118): }, args.sortAsc);\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function subscribeToAddNewRow(grid,dataView){\r\n
Login.c(118): grid.onAddNewRow.subscribe(function (e, args) {\r\n
Login.c(118): var item = args.item;\r\n
Login.c(118): dataView.addItem(item);\r\n
Login.c(118): });\r\n
Login.c(118): dataView.onRowCountChanged.subscribe(function (e,
args) {\r\n
Login.c(118): grid.updateRowCount();\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): dataView.onRowsChanged.subscribe(function (e, args)
{\r\n
Login.c(118): grid.invalidateRows(args.rows);\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): function addCopyManager(grid,data,columns){\r\n
Login.c(118): var copyManager = new Slick.CellCopyManager();\r\n
Login.c(118): grid.registerPlugin(copyManager);\r\n
Login.c(118): \r\n
Login.c(118): copyManager.onPasteCells.subscribe(function (e, args)
{\r\n
Login.c(118): if (args.from.length !== 1 || args.to.length !
== 1) {\r\n
Login.c(118): throw "This implementation only supports
single range copy and paste o
Login.c(118): perations";\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): var from = args.from[0];\r\n
Login.c(118): var to = args.to[0];\r\n
Login.c(118): var val;\r\n
Login.c(118): for (var i = 0; i <= from.toRow - from.fromRow;
i++) {\r\n
Login.c(118): for (var j = 0; j <= from.toCell -
from.fromCell; j++) {\r\n
Login.c(118): if (i <= to.toRow - to.fromRow && j <=
to.toCell - to.fromCell) {\r\n
Login.c(118): val = data[from.fromRow + i]
[columns[from.fromCell + j].field];\r\n
Login.c(118): data[to.fromRow + i][columns[to.fromCell
+ j].field] = val;\r\n
Login.c(118): grid.invalidateRow(to.fromRow + i);\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): grid.render();\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }]);
Login.c(118): t=8089ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"72592-1418683842000"\r\n
Login.c(118): Last-Modified: Mon, 15 Dec 2014 22:50:42 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 72592\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8090ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): /**\n
Login.c(118): * angular-ui-utils - Swiss-Army-Knife of AngularJS tools (with
no external dependencies!)
Login.c(118): \n
Login.c(118): * @version v0.1.1 - 2014-02-05\n
Login.c(118): * @link http://angular-ui.github.com\n
Login.c(118): * @license MIT License, http://www.opensource.org/licenses/MIT\n
Login.c(118): */\n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.alias', []).config(['$compileProvider',
'uiAliasConfig', function($comp
Login.c(118): ileProvider, uiAliasConfig){\n
Login.c(118): uiAliasConfig = uiAliasConfig || {};\n
Login.c(118): angular.forEach(uiAliasConfig, function(config, alias){\n
Login.c(118): if (angular.isString(config)) {\n
Login.c(118): config = {\n
Login.c(118): replace: true,\n
Login.c(118): template: config\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): $compileProvider.directive(alias, function(){\n
Login.c(118): return config;\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * General-purpose Event binding. Bind any event not natively
supported by Angular\n
Login.c(118): * Pass an object with keynames for events to ui-event\n
Login.c(118): * Allows $event object and $params object to be passed\n
Login.c(118): *\n
Login.c(118): * @example <input ui-event="{ focus : 'counter++', blur :
'someCallback()' }">\n
Login.c(118): * @example <input ui-event="{ myCustomEvent :
'myEventHandler($event, $params)'}">\n
Login.c(118): *\n
Login.c(118): * @param ui-event {string|object literal} The event to bind to
as a string or a hash of e
Login.c(118): vents with their callbacks\n
Login.c(118): */\n
Login.c(118): angular.module('ui.event',[]).directive('uiEvent', ['$parse',\n
Login.c(118): function ($parse) {\n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): var events = $scope.$eval(attrs.uiEvent);\n
Login.c(118): angular.forEach(events, function (uiEvent, eventName) {\n
Login.c(118): var fn = $parse(uiEvent);\n
Login.c(118): elm.bind(eventName, function (evt) {\n
Login.c(118): var params = Array.prototype.slice.call(arguments);\n
Login.c(118): //Take out first paramater (event object);\n
Login.c(118): params = params.splice(1);\n
Login.c(118): fn($scope, {$event: evt, $params: params});\n
Login.c(118): if (!$scope.$$phase) {\n
Login.c(118): $scope.$apply();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * A replacement utility for internationalization very similar to
sprintf.\n
Login.c(118): *\n
Login.c(118): * @param replace {mixed} The tokens to replace depends on type\n
Login.c(118): * string: all instances of $0 will be replaced\n
Login.c(118): * array: each instance of $0, $1, $2 etc. will be placed with
each array item in corresp
Login.c(118): onding order\n
Login.c(118): * object: all attributes will be iterated through, with :key
being replaced with its cor
Login.c(118): responding value\n
Login.c(118): * @return string\n
Login.c(118): *\n
Login.c(118): * @example: 'Hello :name, how are you
:day'.format({ name:'John', day:'Today' })\n
Login.c(118): * @example: 'Records $0 to $1 out of $2 total'.format(['10',
'20', '3000'])\n
Login.c(118): * @example: '$0 agrees to all mentions $0 makes in the event
that $0 hits a tree while $0
Login.c(118): is driving drunk'.format('Bob')\n
Login.c(118): */\n
Login.c(118): angular.module('ui.format',[]).filter('format', function(){\n
Login.c(118): return function(value, replace) {\n
Login.c(118): var target = value;\n
Login.c(118): if (angular.isString(target) && replace !== undefined) {\n
Login.c(118): if (!angular.isArray(replace) && !
angular.isObject(replace)) {\n
Login.c(118): replace = [replace];\n
Login.c(118): }\n
Login.c(118): if (angular.isArray(replace)) {\n
Login.c(118): var rlen = replace.length;\n
Login.c(118): var rfx = function (str, i) {\n
Login.c(118): i = parseInt(i, 10);\n
Login.c(118): return (i>=0 && i<rlen) ? replace[i] : str;\n
Login.c(118): };\n
Login.c(118): target = target.replace(/\\$([0-9]+)/g, rfx);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): angular.forEach(replace, function(value, key){\n
Login.c(118): target = target.split(':'+key).join(value);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return target;\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Wraps the\n
Login.c(118): * @param text {string} haystack to search through\n
Login.c(118): * @param search {string} needle to search for\n
Login.c(118): * @param [caseSensitive] {boolean} optional boolean to use case-
sensitive searching\n
Login.c(118): */\n
Login.c(118): angular.module('ui.highlight',[]).filter('highlight', function ()
{\n
Login.c(118): return function (text, search, caseSensitive) {\n
Login.c(118): if (search || angular.isNumber(search)) {\n
Login.c(118): text = text.toString();\n
Login.c(118): search = search.toString();\n
Login.c(118): if (caseSensitive) {\n
Login.c(118): return text.split(search).join('<span class="ui-match">'
+ search + '</span>');\n
Login.c(118): } else {\n
Login.c(118): return text.replace(new RegExp(search, 'gi'), '<span
class="ui-match">$&</span>');
Login.c(118): \n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): return text;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): // modeled after: angular-1.0.7/src/ng/directive/ngInclude.js\n
Login.c(118): angular.module('ui.include',[])\n
Login.c(118): .directive('uiInclude', ['$http', '$templateCache',
'$anchorScroll', '$compile',\n
Login.c(118): function($http, $templateCache,
$anchorScroll, $compile) {\n
Login.c(118): return {\n
Login.c(118): restrict: 'ECA',\n
Login.c(118): terminal: true,\n
Login.c(118): compile: function(element, attr) {\n
Login.c(118): var srcExp = attr.uiInclude || attr.src,\n
Login.c(118): fragExp = attr.fragment || '',\n
Login.c(118): onloadExp = attr.onload || '',\n
Login.c(118): autoScrollExp = attr.autoscroll;\n
Login.c(118): \n
Login.c(118): return function(scope, element) {\n
Login.c(118): var changeCounter = 0,\n
Login.c(118): childScope;\n
Login.c(118): \n
Login.c(118): var clearContent = function() {\n
Login.c(118): if (childScope) {\n
Login.c(118): childScope.$destroy();\n
Login.c(118): childScope = null;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): element.html('');\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): function ngIncludeWatchAction() {\n
Login.c(118): var thisChangeId = ++changeCounter;\n
Login.c(118): var src = scope.$eval(srcExp);\n
Login.c(118): var fragment = scope.$eval(fragExp);\n
Login.c(118): \n
Login.c(118): if (src) {\n
Login.c(118): $http.get(src, {cache:
$templateCache}).success(function(response) {\n
Login.c(118): if (thisChangeId !== changeCounter) { return; }\n
Login.c(118): \n
Login.c(118): if (childScope) { childScope.$destroy(); }\n
Login.c(118): childScope = scope.$new();\n
Login.c(118): \n
Login.c(118): var contents;\n
Login.c(118): if (fragment) {\n
Login.c(118): contents =
angular.element('<div/>').html(response).find(fragment);\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): contents =
angular.element('<div/>').html(response).contents();\n
Login.c(118): }\n
Login.c(118): element.html(contents);\n
Login.c(118): $compile(contents)(childScope);\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(autoScrollExp) && (!
autoScrollExp || scope.$eval(autoS
Login.c(118): crollExp))) {\n
Login.c(118): $anchorScroll();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): childScope.$emit('$includeContentLoaded');\n
Login.c(118): scope.$eval(onloadExp);\n
Login.c(118): }).error(function() {\n
Login.c(118): if (thisChangeId === changeCounter)
{ clearContent(); }\n
Login.c(118): });\n
Login.c(118): } else { clearContent(); }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): scope.$watch(fragExp, ngIncludeWatchAction);\n
Login.c(118): scope.$watch(srcExp, ngIncludeWatchAction);\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Provides an easy way to toggle a checkboxes indeterminate
property\n
Login.c(118): *\n
Login.c(118): * @example <input type="checkbox" ui-indeterminate="isUnkown">\n
Login.c(118): */\n
Login.c(118): angular.module('ui.indeterminate',
[]).directive('uiIndeterminate', [\n
Login.c(118): function () {\n
Login.c(118): return {\n
Login.c(118): compile: function(tElm, tAttrs) {\n
Login.c(118): if (!tAttrs.type || tAttrs.type.toLowerCase() !==
'checkbox') {\n
Login.c(118): return angular.noop;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): $scope.$watch(attrs.uiIndeterminate, function(newVal)
{\n
Login.c(118): elm[0].indeterminate = !!newVal;\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Converts variable-esque naming conventions to something
presentational, capitalized wor
Login.c(118): ds separated by space.\n
Login.c(118): * @param {String} value The value to be parsed and prettified.\n
Login.c(118): * @param {String} [inflector] The inflector to use. Default:
humanize.\n
Login.c(118): * @return {String}\n
Login.c(118): * @example {{ 'Here Is my_phoneNumber' | inflector:'humanize' }}
=> Here Is My Phone Numb
Login.c(118): er\n
Login.c(118): * {{ 'Here Is my_phoneNumber' |
inflector:'underscore' }} => here_is_my_phone_nu
Login.c(118): mber\n
Login.c(118): * {{ 'Here Is my_phoneNumber' | inflector:'variable' }}
=> hereIsMyPhoneNumber\n
Login.c(118): */\n
Login.c(118): angular.module('ui.inflector',[]).filter('inflector', function ()
{\n
Login.c(118): function ucwords(text) {\n
Login.c(118): return text.replace(/^([a-z])|\\s+([a-z])/g, function ($1)
{\n
Login.c(118): return $1.toUpperCase();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function breakup(text, separator) {\n
Login.c(118): return text.replace(/[A-Z]/g, function (match) {\n
Login.c(118): return separator + match;\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var inflectors = {\n
Login.c(118): humanize: function (value) {\n
Login.c(118): return ucwords(breakup(value, ' ').split('_').join(' '));\n
Login.c(118): },\n
Login.c(118): underscore: function (value) {\n
Login.c(118): return value.substr(0, 1).toLowerCase() +
breakup(value.substr(1), '_').toLowerCase(
Login.c(118): ).split(' ').join('_');\n
Login.c(118): },\n
Login.c(118): variable: function (value) {\n
Login.c(118): value = value.substr(0, 1).toLowerCase() +
ucwords(value.split('_').join(' ')).subst
Login.c(118): r(1).split(' ').join('');\n
Login.c(118): return value;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return function (text, inflector) {\n
Login.c(118): if (inflector !== false && angular.isString(text)) {\n
Login.c(118): inflector = inflector || 'humanize';\n
Login.c(118): return inflectors[inflector](text);\n
Login.c(118): } else {\n
Login.c(118): return text;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * General-purpose jQuery wrapper. Simply pass the plugin name as
the expression.\n
Login.c(118): *\n
Login.c(118): * It is possible to specify a default set of parameters for each
jQuery plugin.\n
Login.c(118): * Under the jq key, namespace each plugin by that which will be
passed to ui-jq.\n
Login.c(118): * Unfortunately, at this time you can
Login.c(118): t=8102ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): only pre-define the first parameter.\n
Login.c(118): * @example { jq : { datepicker : { showOn:'click' } } }\n
Login.c(118): *\n
Login.c(118): * @param ui-jq {string} The $elm.[pluginName]() to call.\n
Login.c(118): * @param [ui-options] {mixed} Expression to be evaluated and
passed as options to the fun
Login.c(118): ction\n
Login.c(118): * Multiple parameters can be separated by commas\n
Login.c(118): * @param [ui-refresh] {expression} Watch expression and refire
plugin on changes\n
Login.c(118): *\n
Login.c(118): * @example <input ui-jq="datepicker" ui-
options="{showOn:'click'},secondParameter,thirdPa
Login.c(118): rameter" ui-refresh="iChange">\n
Login.c(118): */\n
Login.c(118): angular.module('ui.jq',[]).\n
Login.c(118): value('uiJqConfig',{}).\n
Login.c(118): directive('uiJq', ['uiJqConfig', '$timeout', function
uiJqInjectingFunction(uiJqConfig,
Login.c(118): $timeout) {\n
Login.c(118): \n
Login.c(118): return {\n
Login.c(118): restrict: 'A',\n
Login.c(118): compile: function uiJqCompilingFunction(tElm, tAttrs) {\n
Login.c(118): \n
Login.c(118): if (!angular.isFunction(tElm[tAttrs.uiJq])) {\n
Login.c(118): throw new Error('ui-jq: The "' + tAttrs.uiJq + '"
function does not exist');\n
Login.c(118): }\n
Login.c(118): var options = uiJqConfig && uiJqConfig[tAttrs.uiJq];\n
Login.c(118): \n
Login.c(118): return function uiJqLinkingFunction(scope, elm, attrs) {\n
Login.c(118): \n
Login.c(118): var linkOptions = [];\n
Login.c(118): \n
Login.c(118): // If ui-options are passed, merge (or override) them
onto global defaults and pas
Login.c(118): s to the jQuery method\n
Login.c(118): if (attrs.uiOptions) {\n
Login.c(118): linkOptions = scope.$eval('[' + attrs.uiOptions +
']');\n
Login.c(118): if (angular.isObject(options) &&
angular.isObject(linkOptions[0])) {\n
Login.c(118): linkOptions[0] = angular.extend({}, options,
linkOptions[0]);\n
Login.c(118): }\n
Login.c(118): } else if (options) {\n
Login.c(118): linkOptions = [options];\n
Login.c(118): }\n
Login.c(118): // If change compatibility is enabled, the form input's
"change" event will trigge
Login.c(118): r an "input" event\n
Login.c(118): if (attrs.ngModel && elm.is('select,input,textarea')) {\n
Login.c(118): elm.bind('change', function() {\n
Login.c(118): elm.trigger('input');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Call jQuery method and pass relevant options\n
Login.c(118): function callPlugin() {\n
Login.c(118): $timeout(function() {\n
Login.c(118): elm[attrs.uiJq].apply(elm, linkOptions);\n
Login.c(118): }, 0, false);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // If ui-refresh is used, re-fire the the method upon
every change\n
Login.c(118): if (attrs.uiRefresh) {\n
Login.c(118): scope.$watch(attrs.uiRefresh, function() {\n
Login.c(118): callPlugin();\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): callPlugin();\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress',[]).\n
Login.c(118): factory('keypressHelper', ['$parse', function keypress($parse){\n
Login.c(118): var keysByCode = {\n
Login.c(118): 8: 'backspace',\n
Login.c(118): 9: 'tab',\n
Login.c(118): 13: 'enter',\n
Login.c(118): 27: 'esc',\n
Login.c(118): 32: 'space',\n
Login.c(118): 33: 'pageup',\n
Login.c(118): 34: 'pagedown',\n
Login.c(118): 35: 'end',\n
Login.c(118): 36: 'home',\n
Login.c(118): 37: 'left',\n
Login.c(118): 38: 'up',\n
Login.c(118): 39: 'right',\n
Login.c(118): 40: 'down',\n
Login.c(118): 45: 'insert',\n
Login.c(118): 46: 'delete'\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): var capitaliseFirstLetter = function (string) {\n
Login.c(118): return string.charAt(0).toUpperCase() + string.slice(1);\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): return function(mode, scope, elm, attrs) {\n
Login.c(118): var params, combinations = [];\n
Login.c(118): params = scope.
$eval(attrs['ui'+capitaliseFirstLetter(mode)]);\n
Login.c(118): \n
Login.c(118): // Prepare combinations for simple checking\n
Login.c(118): angular.forEach(params, function (v, k) {\n
Login.c(118): var combination, expression;\n
Login.c(118): expression = $parse(v);\n
Login.c(118): \n
Login.c(118): angular.forEach(k.split(' '), function(variation) {\n
Login.c(118): combination = {\n
Login.c(118): expression: expression,\n
Login.c(118): keys: {}\n
Login.c(118): };\n
Login.c(118): angular.forEach(variation.split('-'), function (value)
{\n
Login.c(118): combination.keys[value] = true;\n
Login.c(118): });\n
Login.c(118): combinations.push(combination);\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): // Check only matching of pressed keys one of the
conditions\n
Login.c(118): elm.bind(mode, function (event) {\n
Login.c(118): // No need to do that inside the cycle\n
Login.c(118): var metaPressed = !!(event.metaKey && !event.ctrlKey);\n
Login.c(118): var altPressed = !!event.altKey;\n
Login.c(118): var ctrlPressed = !!event.ctrlKey;\n
Login.c(118): var shiftPressed = !!event.shiftKey;\n
Login.c(118): var keyCode = event.keyCode;\n
Login.c(118): \n
Login.c(118): // normalize keycodes\n
Login.c(118): if (mode === 'keypress' && !shiftPressed && keyCode >= 97
&& keyCode <= 122) {\n
Login.c(118): keyCode = keyCode - 32;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Iterate over prepared combinations\n
Login.c(118): angular.forEach(combinations, function (combination) {\n
Login.c(118): \n
Login.c(118): var mainKeyPressed =
combination.keys[keysByCode[keyCode]] || combination.keys[key
Login.c(118): Code.toString()];\n
Login.c(118): \n
Login.c(118): var metaRequired = !!combination.keys.meta;\n
Login.c(118): var altRequired = !!combination.keys.alt;\n
Login.c(118): var ctrlRequired = !!combination.keys.ctrl;\n
Login.c(118): var shiftRequired = !!combination.keys.shift;\n
Login.c(118): \n
Login.c(118): if (\n
Login.c(118): mainKeyPressed &&\n
Login.c(118): ( metaRequired === metaPressed ) &&\n
Login.c(118): ( altRequired === altPressed ) &&\n
Login.c(118): ( ctrlRequired === ctrlPressed ) &&\n
Login.c(118): ( shiftRequired === shiftPressed )\n
Login.c(118): ) {\n
Login.c(118): // Run the function\n
Login.c(118): scope.$apply(function () {\n
Login.c(118): combination.expression(scope, { '$event': event });\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Bind one or more handlers to particular keys or their
combination\n
Login.c(118): * @param hash {mixed} keyBindings Can be an object or string
where keybinding expression
Login.c(118): of keys or keys combinations and AngularJS Exspressions are set.
Object syntax: "{ keys1:
Login.c(118): expression1 [, keys2: expression2 [ , ... ]]}". String syntax:
""expression1 on keys1 [ an
Login.c(118): d expression2 on keys2 [ and ... ]]"". Expression is an AngularJS
Expression, and key(s) a
Login.c(118): re dash-separated combinations of keys and modifiers (one or
many, if any. Order does not
Login.c(118): matter). Supported modifiers are 'ctrl', 'shift', 'alt' and key
can be used either via its
Login.c(118): keyCode (13 for Return) or name. Named keys are 'backspace',
'tab', 'enter', 'esc', 'spac
Login.c(118): e', 'pageup', 'pagedown', 'end', 'home', 'left', 'up', 'right',
'down', 'insert', 'delete'
Login.c(118): .\n
Login.c(118): * @example <input ui-keypress="{enter:'x = 1', 'ctrl-shift-
space':'foo()', 'shift-13':'ba
Login.c(118): r()'}" /> <input ui-keypress="foo = 2 on ctrl-13 and bar('hello')
on shift-esc" />\n
Login.c(118): **/\n
Login.c(118): angular.module('ui.keypress').directive('uiKeydown',
['keypressHelper', function(keypressH
Login.c(118): elper){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keydown', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress').directive('uiKeypress',
['keypressHelper', function(keypress
Login.c(118): Helper){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keypress', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): angular.module('ui.keypress').directive('uiKeyup',
['keypressHelper', function(keypressHel
Login.c(118): per){\n
Login.c(118): return {\n
Login.c(118): link: function (scope, elm, attrs) {\n
Login.c(118): keypressHelper('keyup', scope, elm, attrs);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /*\n
Login.c(118): Attaches input mask onto input element\n
Login.c(118): */\n
Login.c(118): angular.module('ui.mask', [])\n
Login.c(118): .value('uiMaskConfig', {\n
Login.c(118): 'maskDefinitions': {\n
Login.c(118): '9': /\\d/,\n
Login.c(118): 'A': /[a-zA-Z]/,\n
Login.c(118): '*': /[a-zA-Z0-9]/\n
Login.c(118): }\n
Login.c(118): })\n
Login.c(118): .directive('uiMask', ['uiMaskConfig', function (maskConfig) {\n
Login.c(118): return {\n
Login.c(118): priority: 100,\n
Login.c(118): require: 'ngModel',\n
Login.c(118): restrict: 'A',\n
Login.c(118): compile: function uiMaskCompilingFunction(){\n
Login.c(118): var options = maskConfig;\n
Login.c(118): \n
Login.c(118): return function uiMaskLinkingFunction(scope, iElement,
iAttrs, controller){\n
Login.c(118): var maskProcessed = false, eventsBound = false,\n
Login.c(118): maskCaretMap, maskPatterns, maskPlaceholder,
maskComponents,\n
Login.c(118): // Minimum required length of the value to be
considered valid\n
Login.c(118): minRequiredLength,\n
Login.c(118): value, valueMasked, isValid,\n
Login.c(118): // Vars for initializing/uninitializing\n
Login.c(118): originalPlaceholder = iAttrs.placeholder,\n
Login.c(118): originalMaxlength = iAttrs.maxlength,\n
Login.c(118): // Vars used exclusively in eventHandler()\n
Login.c(118): oldValue, oldValueUnmasked, oldCaretPosition,
oldSelectionLength;\n
Login.c(118): \n
Login.c(118): function initialize(maskAttr){\n
Login.c(118): if (!angular.isDefined(maskAttr)) {\n
Login.c(118): return uninitialize();\n
Login.c(118): }\n
Login.c(118): processRawMask(maskAttr);\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return uninitialize();\n
Login.c(118): }\n
Login.c(118): initializeElement();\n
Login.c(118): bindEventListeners();\n
Login.c(118): return true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function initPlaceholder(placeholderAttr) {\n
Login.c(118): if(! angular.isDefined(placeholderAttr)) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): maskPlaceholder = placeholderAttr;\n
Login.c(118): \n
Login.c(118): // If the mask is processed, then we need to update
the value\n
Login.c(118): if (maskProcessed) {\n
Login.c(118): eventHandler();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function formatter(fromModelValue){\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return fromModelValue;\n
Login.c(118): }\n
Login.c(118): value = unmaskValue(fromModelValue || '');\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): controller.$setValidity('mask', isValid);\n
Login.c(118): return isValid && value.length ? maskValue(value) :
undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function parser(fromViewValue){\n
Login.c(118): if (!maskProcessed) {\n
Login.c(118): return fromViewValue;\n
Login.c(118): }\n
Login.c(118): value = unmaskValue(fromViewValue || '');\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): // We have to set viewValue manually as the
reformatting of the input\n
Login.c(118): // value performed by eventHandler() doesn't happen
until after\n
Login.c(118): // this parser is called, which causes what the user
sees in the input\n
Login.c(118): // to be out-of-sync with what the controller's
$viewValue is set to.\n
Login.c(118): controller.$viewValue = value.length ?
maskValue(value) : '';\n
Login.c(118): controller.$setValidity('mask', isValid);\n
Login.c(118): if (value === '' && controller.$error.required !==
undefined) {\n
Login.c(118): controller.$setValidity('required', false);\n
Login.c(118): }\n
Login.c(118): return isValid ? value : undefined;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): var linkOptions = {};\n
Login.c(118): \n
Login.c(118): if (iAttrs.uiOptions) {\n
Login.c(118): linkOptions = scope.$eval('[' + iAttrs.uiOptions +
']');\n
Login.c(118): if (angular.isObject(linkOptions[0])) {\n
Login.c(118): // we can't use angular.copy nor angular.extend,
they lack the power to do a
Login.c(118): deep merge\n
Login.c(118): linkOptions = (function(original, current){\n
Login.c(118): for(var i in original) {\n
Login.c(118): if
(Object.prototype.hasOwnProperty.call(original, i)) {\n
Login.c(118): if (!current[i]) {\n
Login.c(118): current[i] = angular.copy(original[i]);\n
Login.c(118): } else {\n
Login.c(118): angular.extend(current[i], original[i]);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return current;\n
Login.c(118): })(options, linkOptions[0]);\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): linkOptions = options;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iAttrs.$observe('uiMask', initialize);\n
Login.c(118): iAttrs.$observe('placeholder', initPlaceholder);\n
Login.c(118): controller.$formatters.push(formatter);\n
Login.c(118): controller.$parsers.push(parser);\n
Login.c(118): \n
Login.c(118): function uninitialize(){\n
Login.c(118): maskProcessed = false;\n
Login.c(118): unbindEventListeners();\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(originalPlaceholder)) {\n
Login.c(118): iElement.attr('placeholder',
originalPlaceholder);\n
Login.c(118): } else {\n
Login.c(118): iElement.removeAttr('placeholder');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (angular.isDefined(originalMaxlength)) {\n
Login.c(118): iElement.attr('maxlength', originalMaxlength);\n
Login.c(118): } else {\n
Login.c(118): iElement.removeAttr('maxlength');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iElement.val(controller.$modelValue);\n
Login.c(118): controller.$viewValue = controller.$modelValue;\n
Login.c(118): return false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function initializeElement(){\n
Login.c(118): value = oldValueUnmasked = unmaskValue(controller.
$modelValue || '');\n
Login.c(118): valueMasked = oldValue = maskValue(value);\n
Login.c(118): isValid = validateValue(value);\n
Login.c(118): var viewValue = isValid && value.length ? valueMasked
: '';\n
Login.c(118): if (iAttrs.maxlength) { // Double maxlength to allow
pasting new val at end of
Login.c(118): mask\n
Login.c(118): iElement.attr('maxlength',
maskCaretMap[maskCaretMap.length - 1] * 2);\n
Login.c(118): }\n
Login.c(118): iElement.attr('placeholder', maskPlaceholder);\n
Login.c(118): iElement.val(viewValue);\n
Login.c(118): controller.$viewValue = viewValue;\n
Login.c(118): // Not using $setViewValue so we don't clobber the
model value and dirty the f
Login.c(118): orm\n
Login.c(118): // without any kind of user interaction.\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function bindEventListeners(){\n
Login.c(118): if (eventsBound) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): iElement.bind('blur', blurHandler);\n
Login.c(118): iElement.bind('mousedown mouseup',
mouseDownUpHandler);\n
Login.c(118): iElement.bind('input keyup click focus',
eventHandler);
Login.c(118): t=8117ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): \n
Login.c(118): eventsBound = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function unbindEventListeners(){\n
Login.c(118): if (!eventsBound) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): iElement.unbind('blur', blurHandler);\n
Login.c(118): iElement.unbind('mousedown', mouseDownUpHandler);\n
Login.c(118): iElement.unbind('mouseup', mouseDownUpHandler);\n
Login.c(118): iElement.unbind('input', eventHandler);\n
Login.c(118): iElement.unbind('keyup', eventHandler);\n
Login.c(118): iElement.unbind('click', eventHandler);\n
Login.c(118): iElement.unbind('focus', eventHandler);\n
Login.c(118): eventsBound = false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function validateValue(value){\n
Login.c(118): // Zero-length value validity is ngRequired's
determination\n
Login.c(118): return value.length ? value.length >=
minRequiredLength : true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function unmaskValue(value){\n
Login.c(118): var valueUnmasked = '',\n
Login.c(118): maskPatternsCopy = maskPatterns.slice();\n
Login.c(118): // Preprocess by stripping mask components from
value\n
Login.c(118): value = value.toString();\n
Login.c(118): angular.forEach(maskComponents, function (component)
{\n
Login.c(118): value = value.replace(component, '');\n
Login.c(118): });\n
Login.c(118): angular.forEach(value.split(''), function (chr){\n
Login.c(118): if (maskPatternsCopy.length &&
maskPatternsCopy[0].test(chr)) {\n
Login.c(118): valueUnmasked += chr;\n
Login.c(118): maskPatternsCopy.shift();\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): return valueUnmasked;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function maskValue(unmaskedValue){\n
Login.c(118): var valueMasked = '',\n
Login.c(118): maskCaretMapCopy = maskCaretMap.slice();\n
Login.c(118): \n
Login.c(118): angular.forEach(maskPlaceholder.split(''), function
(chr, i){\n
Login.c(118): if (unmaskedValue.length && i ===
maskCaretMapCopy[0]) {\n
Login.c(118): valueMasked += unmaskedValue.charAt(0) || '_';\n
Login.c(118): unmaskedValue = unmaskedValue.substr(1);\n
Login.c(118): maskCaretMapCopy.shift();\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): valueMasked += chr;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): return valueMasked;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getPlaceholderChar(i) {\n
Login.c(118): var placeholder = iAttrs.placeholder;\n
Login.c(118): \n
Login.c(118): if (typeof placeholder !== 'undefined' &&
placeholder[i]) {\n
Login.c(118): return placeholder[i];\n
Login.c(118): } else {\n
Login.c(118): return '_';\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Generate array of mask components that will be
stripped from a masked value\n
Login.c(118): // before processing to prevent mask components from
being added to the unmasked
Login.c(118): value.\n
Login.c(118): // E.g., a mask pattern of '+7 9999' won't have the 7
bleed into the unmasked va
Login.c(118): lue.\n
Login.c(118): // If a maskable char is followed by a mask char and
has a mask\n
Login.c(118): // char behind it, we'll split it into it's own
component so if\n
Login.c(118): // a user is aggressively deleting in the input and a
char ahead\n
Login.c(118): // of the maskable char gets deleted, we'll still be
able to strip\n
Login.c(118): // it in the unmaskValue() preprocessing.\n
Login.c(118): function getMaskComponents() {\n
Login.c(118): return maskPlaceholder.replace(/[_]+/g,
'_').replace(/([^_]+)([a-zA-Z0-9])([^_
Login.c(118): ])/g, '$1$2_$3').split('_');\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function processRawMask(mask){\n
Login.c(118): var characterCount = 0;\n
Login.c(118): \n
Login.c(118): maskCaretMap = [];\n
Login.c(118): maskPatterns = [];\n
Login.c(118): maskPlaceholder = '';\n
Login.c(118): \n
Login.c(118): if (typeof mask === 'string') {\n
Login.c(118): minRequiredLength = 0;\n
Login.c(118): \n
Login.c(118): var isOptional = false,\n
Login.c(118): splitMask = mask.split('');\n
Login.c(118): \n
Login.c(118): angular.forEach(splitMask, function (chr, i){\n
Login.c(118): if (linkOptions.maskDefinitions[chr]) {\n
Login.c(118): \n
Login.c(118): maskCaretMap.push(characterCount);\n
Login.c(118): \n
Login.c(118): maskPlaceholder += getPlaceholderChar(i);\n
Login.c(118):
maskPatterns.push(linkOptions.maskDefinitions[chr]);\n
Login.c(118): \n
Login.c(118): characterCount++;\n
Login.c(118): if (!isOptional) {\n
Login.c(118): minRequiredLength++;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): else if (chr === '?') {\n
Login.c(118): isOptional = true;\n
Login.c(118): }\n
Login.c(118): else {\n
Login.c(118): maskPlaceholder += chr;\n
Login.c(118): characterCount++;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): // Caret position immediately following last position
is valid.\n
Login.c(118): maskCaretMap.push(maskCaretMap.slice().pop() + 1);\n
Login.c(118): \n
Login.c(118): maskComponents = getMaskComponents();\n
Login.c(118): maskProcessed = maskCaretMap.length > 1 ? true :
false;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function blurHandler(){\n
Login.c(118): oldCaretPosition = 0;\n
Login.c(118): oldSelectionLength = 0;\n
Login.c(118): if (!isValid || value.length === 0) {\n
Login.c(118): valueMasked = '';\n
Login.c(118): iElement.val('');\n
Login.c(118): scope.$apply(function (){\n
Login.c(118): controller.$setViewValue('');\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function mouseDownUpHandler(e){\n
Login.c(118): if (e.type === 'mousedown') {\n
Login.c(118): iElement.bind('mouseout', mouseoutHandler);\n
Login.c(118): } else {\n
Login.c(118): iElement.unbind('mouseout', mouseoutHandler);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): iElement.bind('mousedown mouseup',
mouseDownUpHandler);\n
Login.c(118): \n
Login.c(118): function mouseoutHandler(){\n
Login.c(118): /*jshint validthis: true */\n
Login.c(118): oldSelectionLength = getSelectionLength(this);\n
Login.c(118): iElement.unbind('mouseout', mouseoutHandler);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function eventHandler(e){\n
Login.c(118): /*jshint validthis: true */\n
Login.c(118): e = e || {};\n
Login.c(118): // Allows more efficient minification\n
Login.c(118): var eventWhich = e.which,\n
Login.c(118): eventType = e.type;\n
Login.c(118): \n
Login.c(118): // Prevent shift and ctrl from mucking with old
values\n
Login.c(118): if (eventWhich === 16 || eventWhich === 91)
{ return;}\n
Login.c(118): \n
Login.c(118): var val = iElement.val(),\n
Login.c(118): valOld = oldValue,\n
Login.c(118): valMasked,\n
Login.c(118): valUnmasked = unmaskValue(val),\n
Login.c(118): valUnmaskedOld = oldValueUnmasked,\n
Login.c(118): valAltered = false,\n
Login.c(118): \n
Login.c(118): caretPos = getCaretPosition(this) || 0,\n
Login.c(118): caretPosOld = oldCaretPosition || 0,\n
Login.c(118): caretPosDelta = caretPos - caretPosOld,\n
Login.c(118): caretPosMin = maskCaretMap[0],\n
Login.c(118): caretPosMax = maskCaretMap[valUnmasked.length] ||
maskCaretMap.slice().shift
Login.c(118): (),\n
Login.c(118): \n
Login.c(118): selectionLenOld = oldSelectionLength || 0,\n
Login.c(118): isSelected = getSelectionLength(this) > 0,\n
Login.c(118): wasSelected = selectionLenOld > 0,\n
Login.c(118): \n
Login.c(118): // Case: Typing a character to overwrite a
selection\n
Login.c(118): isAddition = (val.length > valOld.length) ||
(selectionLenOld && val.length
Login.c(118): > valOld.length - selectionLenOld),\n
Login.c(118): // Case: Delete and backspace behave identically on a
selection\n
Login.c(118): isDeletion = (val.length < valOld.length) ||
(selectionLenOld && val.length
Login.c(118): === valOld.length - selectionLenOld),\n
Login.c(118): isSelection = (eventWhich >= 37 && eventWhich <=
40) && e.shiftKey, // Arrow
Login.c(118): key codes\n
Login.c(118): \n
Login.c(118): isKeyLeftArrow = eventWhich === 37,\n
Login.c(118): // Necessary due to "input" event not providing a key
code\n
Login.c(118): isKeyBackspace = eventWhich === 8 || (eventType !==
'keyup' && isDeletion &&
Login.c(118): (caretPosDelta === -1)),\n
Login.c(118): isKeyDelete = eventWhich === 46 || (eventType !==
'keyup' && isDeletion && (
Login.c(118): caretPosDelta === 0 ) && !wasSelected),\n
Login.c(118): \n
Login.c(118): // Handles cases where caret is moved and placed in
front of invalid maskCaret
Login.c(118): Map position. Logic below\n
Login.c(118): // ensures that, on click or leftward caret
placement, caret is moved leftward
Login.c(118): until directly right of\n
Login.c(118): // non-mask character. Also applied to click since
users are (arguably) more l
Login.c(118): ikely to backspace\n
Login.c(118): // a character when clicking within a filled input.\n
Login.c(118): caretBumpBack = (isKeyLeftArrow || isKeyBackspace
|| eventType === 'click')
Login.c(118): && caretPos > caretPosMin;\n
Login.c(118): \n
Login.c(118): oldSelectionLength = getSelectionLength(this);\n
Login.c(118): \n
Login.c(118): // These events don't require any action\n
Login.c(118): if (isSelection || (isSelected && (eventType ===
'click' || eventType === 'key
Login.c(118): up'))) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Value Handling\n
Login.c(118): // ==============\n
Login.c(118): \n
Login.c(118): // User attempted to delete but raw value was
unaffected--correct this grievou
Login.c(118): s offense\n
Login.c(118): if ((eventType === 'input') && isDeletion && !
wasSelected && valUnmasked === v
Login.c(118): alUnmaskedOld) {\n
Login.c(118): while (isKeyBackspace && caretPos > caretPosMin
&& !isValidCaretPosition(car
Login.c(118): etPos)) {\n
Login.c(118): caretPos--;\n
Login.c(118): }\n
Login.c(118): while (isKeyDelete && caretPos < caretPosMax &&
maskCaretMap.indexOf(caretPo
Login.c(118): s) === -1) {\n
Login.c(118): caretPos++;\n
Login.c(118): }\n
Login.c(118): var charIndex = maskCaretMap.indexOf(caretPos);\n
Login.c(118): // Strip out non-mask character that user would
have deleted if mask hadn't
Login.c(118): been in the way.\n
Login.c(118): valUnmasked = valUnmasked.substring(0, charIndex) +
valUnmasked.substring(ch
Login.c(118): arIndex + 1);\n
Login.c(118): valAltered = true;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Update values\n
Login.c(118): valMasked = maskValue(valUnmasked);\n
Login.c(118): \n
Login.c(118): oldValue = valMasked;\n
Login.c(118): oldValueUnmasked = valUnmasked;\n
Login.c(118): iElement.val(valMasked);\n
Login.c(118): if (valAltered) {\n
Login.c(118): // We've altered the raw value after it's been
$digest'ed, we need to $apply
Login.c(118): the new value.\n
Login.c(118): scope.$apply(function (){\n
Login.c(118): controller.$setViewValue(valUnmasked);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Caret Repositioning\n
Login.c(118): // ===================\n
Login.c(118): \n
Login.c(118): // Ensure that typing always places caret ahead of
typed character in cases wh
Login.c(118): ere the first char of\n
Login.c(118): // the input is a mask char and the caret is placed
at the 0 position.\n
Login.c(118): if (isAddition && (caretPos <= caretPosMin)) {\n
Login.c(118): caretPos = caretPosMin + 1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if (caretBumpBack) {\n
Login.c(118): caretPos--;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // Make sure caret is within min and max position
limits\n
Login.c(118): caretPos = caretPos > caretPosMax ? caretPosMax :
caretPos < caretPosMin ? car
Login.c(118): etPosMin : caretPos;\n
Login.c(118): \n
Login.c(118): // Scoot the caret back or forth until it's in a non-
mask position and within
Login.c(118): min/max position limits\n
Login.c(118): while (!isValidCaretPosition(caretPos) && caretPos >
caretPosMin && caretPos <
Login.c(118): caretPosMax) {\n
Login.c(118): caretPos += caretBumpBack ? -1 : 1;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((caretBumpBack && caretPos < caretPosMax) ||
(isAddition && !isValidCaretP
Login.c(118): osition(caretPosOld))) {\n
Login.c(118): caretPos++;\n
Login.c(118): }\n
Login.c(118): oldCaretPosition = caretPos;\n
Login.c(118): setCaretPosition(this, caretPos);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function isValidCaretPosition(pos){ return
maskCaretMap.indexOf(pos) > -1; }\n
Login.c(118): \n
Login.c(118): function getCaretPosition(input){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.selectionStart !== undefined) {\n
Login.c(118): return input.selectionStart;\n
Login.c(118): } else if (document.selection) {\n
Login.c(118): // Curse you IE\n
Login.c(118): input.focus();\n
Login.c(118): var selection = document.selection.createRange();\n
Login.c(118): selection.moveStart('character',
-input.value.length);\n
Login.c(118): return selection.text.length;\n
Login.c(118): }\n
Login.c(118): return 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function setCaretPosition(input, pos){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.offsetWidth === 0 || input.offsetHeight ===
0) {\n
Login.c(118): return; // Input's hidden\n
Login.c(118): }\n
Login.c(118): if (input.setSelectionRange) {\n
Login.c(118): input.focus();\n
Login.c(118): input.setSelectionRange(pos, pos);\n
Login.c(118): }\n
Login.c(118): else if (input.createTextRange) {\n
Login.c(118): // Curse you IE\n
Login.c(118): var range = input.createTextRange();\n
Login.c(118): range.collapse(true);\n
Login.c(118): range.moveEnd('character', pos);\n
Login.c(118): range.moveStart('character', pos);\n
Login.c(118): range.select();\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function getSelectionLength(input){\n
Login.c(118): if (!input) return 0;\n
Login.c(118): if (input.selectionStart !== undefined) {\n
Login.c(118): return (input.selectionEnd -
input.selectionStart);\n
Login.c(118): }\n
Login.c(118): if (document.selection) {\n
Login.c(118): return
(document.selection.createRange().text.length);\n
Login.c(118): }\n
Login.c(118): return 0;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): // https://developer.mozilla.org/en-
US/docs/JavaScript/Reference/Global_Objects/
Login.c(118): Array/indexOf\n
Login.c(118): if (!Array.prototype.indexO
Login.c(118): t=8194ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): f) {\n
Login.c(118): Array.prototype.indexOf = function (searchElement /*,
fromIndex */){\n
Login.c(118): if (this === null) {\n
Login.c(118): throw new TypeError();\n
Login.c(118): }\n
Login.c(118): var t = Object(this);\n
Login.c(118): var len = t.length >>> 0;\n
Login.c(118): if (len === 0) {\n
Login.c(118): return -1;\n
Login.c(118): }\n
Login.c(118): var n = 0;\n
Login.c(118): if (arguments.length > 1) {\n
Login.c(118): n = Number(arguments[1]);\n
Login.c(118): if (n !== n) { // shortcut for verifying if it's
NaN\n
Login.c(118): n = 0;\n
Login.c(118): } else if (n !== 0 && n !== Infinity && n !==
-Infinity) {\n
Login.c(118): n = (n > 0 || -1) * Math.floor(Math.abs(n));\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (n >= len) {\n
Login.c(118): return -1;\n
Login.c(118): }\n
Login.c(118): var k = n >= 0 ? n : Math.max(len - Math.abs(n),
0);\n
Login.c(118): for (; k < len; k++) {\n
Login.c(118): if (k in t && t[k] === searchElement) {\n
Login.c(118): return k;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): return -1;\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): ]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Add a clear button to form inputs to reset their value\n
Login.c(118): */\n
Login.c(118): angular.module('ui.reset',
[]).value('uiResetConfig',null).directive('uiReset', ['uiResetCo
Login.c(118): nfig', function (uiResetConfig) {\n
Login.c(118): var resetValue = null;\n
Login.c(118): if (uiResetConfig !== undefined){\n
Login.c(118): resetValue = uiResetConfig;\n
Login.c(118): }\n
Login.c(118): return {\n
Login.c(118): require: 'ngModel',\n
Login.c(118): link: function (scope, elm, attrs, ctrl) {\n
Login.c(118): var aElement;\n
Login.c(118): aElement = angular.element('<a class="ui-reset" />');\n
Login.c(118): elm.wrap('<span class="ui-resetwrap"
/>').after(aElement);\n
Login.c(118): aElement.bind('click', function (e) {\n
Login.c(118): e.preventDefault();\n
Login.c(118): scope.$apply(function () {\n
Login.c(118): if (attrs.uiReset){\n
Login.c(118): ctrl.$setViewValue(scope.$eval(attrs.uiReset));\n
Login.c(118): }else{\n
Login.c(118): ctrl.$setViewValue(resetValue);\n
Login.c(118): }\n
Login.c(118): ctrl.$render();\n
Login.c(118): });\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Set a $uiRoute boolean to see if the current route matches\n
Login.c(118): */\n
Login.c(118): angular.module('ui.route', []).directive('uiRoute', ['$location',
'$parse', function ($loc
Login.c(118): ation, $parse) {\n
Login.c(118): return {\n
Login.c(118): restrict: 'AC',\n
Login.c(118): scope: true,\n
Login.c(118): compile: function(tElement, tAttrs) {\n
Login.c(118): var useProperty;\n
Login.c(118): if (tAttrs.uiRoute) {\n
Login.c(118): useProperty = 'uiRoute';\n
Login.c(118): } else if (tAttrs.ngHref) {\n
Login.c(118): useProperty = 'ngHref';\n
Login.c(118): } else if (tAttrs.href) {\n
Login.c(118): useProperty = 'href';\n
Login.c(118): } else {\n
Login.c(118): throw new Error('uiRoute missing a route or href property
on ' + tElement[0]);\n
Login.c(118): }\n
Login.c(118): return function ($scope, elm, attrs) {\n
Login.c(118): var modelSetter = $parse(attrs.ngModel ||
attrs.routeModel || '$uiRoute').assign;\n
Login.c(118): var watcher = angular.noop;\n
Login.c(118): \n
Login.c(118): // Used by href and ngHref\n
Login.c(118): function staticWatcher(newVal) {\n
Login.c(118): var hash = newVal.indexOf('#');\n
Login.c(118): if (hash > -1){\n
Login.c(118): newVal = newVal.substr(hash + 1);\n
Login.c(118): }\n
Login.c(118): watcher = function watchHref() {\n
Login.c(118): modelSetter($scope, ($location.path().indexOf(newVal)
> -1));\n
Login.c(118): };\n
Login.c(118): watcher();\n
Login.c(118): }\n
Login.c(118): // Used by uiRoute\n
Login.c(118): function regexWatcher(newVal) {\n
Login.c(118): var hash = newVal.indexOf('#');\n
Login.c(118): if (hash > -1){\n
Login.c(118): newVal = newVal.substr(hash + 1);\n
Login.c(118): }\n
Login.c(118): watcher = function watchRegex() {\n
Login.c(118): var regexp = new RegExp('^' + newVal + '$', ['i']);\n
Login.c(118): modelSetter($scope, regexp.test($location.path()));\n
Login.c(118): };\n
Login.c(118): watcher();\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): switch (useProperty) {\n
Login.c(118): case 'uiRoute':\n
Login.c(118): // if uiRoute={{}} this will be undefined, otherwise
it will have a value and
Login.c(118): $observe() never gets triggered\n
Login.c(118): if (attrs.uiRoute){\n
Login.c(118): regexWatcher(attrs.uiRoute);\n
Login.c(118): }else{\n
Login.c(118): attrs.$observe('uiRoute', regexWatcher);\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 'ngHref':\n
Login.c(118): // Setup watcher() every time ngHref changes\n
Login.c(118): if (attrs.ngHref){\n
Login.c(118): staticWatcher(attrs.ngHref);\n
Login.c(118): }else{\n
Login.c(118): attrs.$observe('ngHref', staticWatcher);\n
Login.c(118): }\n
Login.c(118): break;\n
Login.c(118): case 'href':\n
Login.c(118): // Setup watcher()\n
Login.c(118): staticWatcher(attrs.href);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $scope.$on('$routeChangeSuccess', function(){\n
Login.c(118): watcher();\n
Login.c(118): });\n
Login.c(118): \n
Login.c(118): //Added for compatibility with ui-router\n
Login.c(118): $scope.$on('$stateChangeSuccess', function(){\n
Login.c(118): watcher();\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): angular.module('ui.scroll.jqlite',
['ui.scroll']).service('jqLiteExtras', [\n
Login.c(118): '$log', '$window', function(console, window) {\n
Login.c(118): return {\n
Login.c(118): registerFor: function(element) {\n
Login.c(118): var convertToPx, css, getMeasurements, getStyle,
getWidthHeight, isWindow, scrollT
Login.c(118): o;\n
Login.c(118): css = angular.element.prototype.css;\n
Login.c(118): element.prototype.css = function(name, value) {\n
Login.c(118): var elem, self;\n
Login.c(118): self = this;\n
Login.c(118): elem = self[0];\n
Login.c(118): if (!(!elem || elem.nodeType === 3 || elem.nodeType ===
8 || !elem.style)) {\n
Login.c(118): return css.call(self, name, value);\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): isWindow = function(obj) {\n
Login.c(118): return obj && obj.document && obj.location && obj.alert
&& obj.setInterval;\n
Login.c(118): };\n
Login.c(118): scrollTo = function(self, direction, value) {\n
Login.c(118): var elem, method, preserve, prop, _ref;\n
Login.c(118): elem = self[0];\n
Login.c(118): _ref = {\n
Login.c(118): top: ['scrollTop', 'pageYOffset', 'scrollLeft'],\n
Login.c(118): left: ['scrollLeft', 'pageXOffset', 'scrollTop']\n
Login.c(118): }[direction], method = _ref[0], prop = _ref[1],
preserve = _ref[2];\n
Login.c(118): if (isWindow(elem)) {\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): return elem.scrollTo(self[preserve].call(self),
value);\n
Login.c(118): } else {\n
Login.c(118): if (prop in elem) {\n
Login.c(118): return elem[prop];\n
Login.c(118): } else {\n
Login.c(118): return elem.document.documentElement[method];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): } else {\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): return elem[method] = value;\n
Login.c(118): } else {\n
Login.c(118): return elem[method];\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): if (window.getComputedStyle) {\n
Login.c(118): getStyle = function(elem) {\n
Login.c(118): return window.getComputedStyle(elem, null);\n
Login.c(118): };\n
Login.c(118): convertToPx = function(elem, value) {\n
Login.c(118): return parseFloat(value);\n
Login.c(118): };\n
Login.c(118): } else {\n
Login.c(118): getStyle = function(elem) {\n
Login.c(118): return elem.currentStyle;\n
Login.c(118): };\n
Login.c(118): convertToPx = function(elem, value) {\n
Login.c(118): var core_pnum, left, result, rnumnonpx, rs, rsLeft,
style;\n
Login.c(118): core_pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE]
[+-]?\\d+|)/.source;\n
Login.c(118): rnumnonpx = new RegExp('^(' + core_pnum + ')(?!px)[a-
z%]+$', 'i');\n
Login.c(118): if (!rnumnonpx.test(value)) {\n
Login.c(118): return parseFloat(value);\n
Login.c(118): } else {\n
Login.c(118): style = elem.style;\n
Login.c(118): left = style.left;\n
Login.c(118): rs = elem.runtimeStyle;\n
Login.c(118): rsLeft = rs && rs.left;\n
Login.c(118): if (rs) {\n
Login.c(118): rs.left = style.left;\n
Login.c(118): }\n
Login.c(118): style.left = value;\n
Login.c(118): result = style.pixelLeft;\n
Login.c(118): style.left = left;\n
Login.c(118): if (rsLeft) {\n
Login.c(118): rs.left = rsLeft;\n
Login.c(118): }\n
Login.c(118): return result;\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): getMeasurements = function(elem, measure) {\n
Login.c(118): var base, borderA, borderB, computedMarginA,
computedMarginB, computedStyle, dir
Login.c(118): A, dirB, marginA, marginB, paddingA, paddingB, _ref;\n
Login.c(118): if (isWindow(elem)) {\n
Login.c(118): base = document.documentElement[{\n
Login.c(118): height: 'clientHeight',\n
Login.c(118): width: 'clientWidth'\n
Login.c(118): }[measure]];\n
Login.c(118): return {\n
Login.c(118): base: base,\n
Login.c(118): padding: 0,\n
Login.c(118): border: 0,\n
Login.c(118): margin: 0\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): _ref = {\n
Login.c(118): width: [elem.offsetWidth, 'Left', 'Right'],\n
Login.c(118): height: [elem.offsetHeight, 'Top', 'Bottom']\n
Login.c(118): }[measure], base = _ref[0], dirA = _ref[1], dirB =
_ref[2];\n
Login.c(118): computedStyle = getStyle(elem);\n
Login.c(118): paddingA = convertToPx(elem, computedStyle['padding' +
dirA]) || 0;\n
Login.c(118): paddingB = convertToPx(elem, computedStyle['padding' +
dirB]) || 0;\n
Login.c(118): borderA = convertToPx(elem, computedStyle['border' +
dirA + 'Width']) || 0;\n
Login.c(118): borderB = convertToPx(elem, computedStyle['border' +
dirB + 'Width']) || 0;\n
Login.c(118): computedMarginA = computedStyle['margin' + dirA];\n
Login.c(118): computedMarginB = computedStyle['margin' + dirB];\n
Login.c(118): marginA = convertToPx(elem, computedMarginA) || 0;\n
Login.c(118): marginB = convertToPx(elem, computedMarginB) || 0;\n
Login.c(118): return {\n
Login.c(118): base: base,\n
Login.c(118): padding: paddingA + paddingB,\n
Login.c(118): border: borderA + borderB,\n
Login.c(118): margin: marginA + marginB\n
Login.c(118): };\n
Login.c(118): };\n
Login.c(118): getWidthHeight = function(elem, direction, measure) {\n
Login.c(118): var computedStyle, measurements, result;\n
Login.c(118): measurements = getMeasurements(elem, direction);\n
Login.c(118): if (measurements.base > 0) {\n
Login.c(118): return {\n
Login.c(118): base: measurements.base - measurements.padding -
measurements.border,\n
Login.c(118): outer: measurements.base,\n
Login.c(118): outerfull: measurements.base +
measurements.margin\n
Login.c(118): }[measure];\n
Login.c(118): } else {\n
Login.c(118): computedStyle = getStyle(elem);\n
Login.c(118): result = computedStyle[direction];\n
Login.c(118): if (result < 0 || result === null) {\n
Login.c(118): result = elem.style[direction] || 0;\n
Login.c(118): }\n
Login.c(118): result = parseFloat(result) || 0;\n
Login.c(118): return {\n
Login.c(118): base: result - measurements.padding -
measurements.border,\n
Login.c(118): outer: result,\n
Login.c(118): outerfull: result + measurements.padding +
measurements.border + measurement
Login.c(118): s.margin\n
Login.c(118): }[measure];\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): return angular.forEach({\n
Login.c(118): before: function(newElem) {\n
Login.c(118): var children, elem, i, parent, self, _i, _ref;\n
Login.c(118): self = this;\n
Login.c(118): elem = self[0];\n
Login.c(118): parent = self.parent();\n
Login.c(118): children = parent.contents();\n
Login.c(118): if (children[0] === elem) {\n
Login.c(118): return parent.prepend(newElem);\n
Login.c(118): } else {\n
Login.c(118): for (i = _i = 1, _ref = children.length - 1; 1 <=
_ref ? _i <= _ref : _i >=
Login.c(118): _ref; i = 1 <= _ref ? ++_i : --_i) {\n
Login.c(118): if (children[i] === elem) {\n
Login.c(118): angular.element(children[i -
1]).after(newElem);\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): throw new Error('invalid DOM structure ' +
elem.outerHTML);\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): height: function(value) {\n
Login.c(118): var self;\n
Login.c(118): self = this;\n
Login.c(118): if (angular.isDefined(value)) {\n
Login.c(118): if (angular.isNumber(value)) {\n
Login.c(118): value = value + 'px';\n
Login.c(118): }\n
Login.c(118): return css.call(self, 'height', value);\n
Login.c(118): } else {\n
Login.c(118): return getWidthHeight(this[0], 'height', 'base');\n
Login.c(118): }\n
Login.c(118): },\n
Login.c(118): outerHeight: function(option) {\n
Login.c(118): return getWidthHeight(this[0], 'height', option ?
'outerfull' : 'outer');\n
Login.c(118): },\n
Login.c(118): offset: function(value) {\n
Login.c(118): var box, doc, docElem, elem, self, win;\n
Login.c(118): self = this;\n
Login.c(118): if (arguments.length) {\n
Login.c(118): if (value === void 0) {\n
Login.c(118): return self;\n
Login.c(118): } else {\n
Login.c(118): return value;\n
Login.c(118): \n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): box = {\n
Login.c(118): top: 0,\n
Login.c(118): left: 0\n
Login.c(118): };\n
Login.c(118): elem = self[0];\n
Login.c(118): doc = elem && elem.ownerDocument;\n
Login.c(118): if (!doc) {\n
Login.c(118): return;\n
Login.c(118): }\n
Login.c(118): docElem = doc.documentElement;\n
Login.c(118): if (elem.getBoundingClientRect) {\n
Login.c(118): box = elem.getBoundingClientRect();\n
Login.c(118): }\n
Login.c(118): win = doc.defaultView || doc.parentWindow;\n
Login.c(118): return {\n
Login.c(118): top: box.top + (win.pageYOffset ||
docElem.scrollTop) - (docElem.clientTop |
Login.c(118): | 0),\n
Login.c(118): left: box.left + (win.pageXOffset ||
docElem.scrollLeft) - (docElem.clientLe
Login.c(118): ft || 0)\n
Login.c(118): };\n
Login.c(118): },\n
Login.c(118): scrollTop: function(value) {\n
Login.c(118): return scrollTo(this, 'top', value);\n
Login.c(118): },\n
Login.c(118): scrollLeft: function(value) {\n
Login.c(118): return scrollTo(this, 'left', value);\n
Login.c(118):
Login.c(118): t=8218ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): }\n
Login.c(118): }, function(value, key) {\n
Login.c(118): if (!element.prototype[key]) {\n
Login.c(118): return element.prototype[key] = value;\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }\n
Login.c(118): ]).run([\n
Login.c(118): '$log', '$window', 'jqLiteExtras', function(console, window,
jqLiteExtras) {\n
Login.c(118): if (!window.jQuery) {\n
Login.c(118): return jqLiteExtras.registerFor(angular.element);\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): ]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): /*\n
Login.c(118): \n
Login.c(118): List of used element methods available in JQuery but not in
JQuery Lite\n
Login.c(118): \n
Login.c(118): element.before(elem)\n
Login.c(118): element.height()\n
Login.c(118): element.outerHeight(true)\n
Login.c(118): element.height(value) = only for Top/Bottom padding elements\n
Login.c(118): element.scrollTop()\n
Login.c(118): element.scrollTop(value)\n
Login.c(118): */\n
Login.c(118): \n
Login.c(118): angular.module('ui.scroll', []).directive('ngScrollViewport', [\n
Login.c(118): \t\t'$log', function() {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\tcontroller: [\n
Login.c(118): \t\t\t\t\t'$scope', '$element', function(scope, element) {\n
Login.c(118): \t\t\t\t\t\treturn element;\n
Login.c(118): \t\t\t\t\t}\n
Login.c(118): \t\t\t\t]\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t]).directive('ngScroll', [\n
Login.c(118): \t\t'$log', '$injector', '$rootScope', '$timeout',
function(console, $injector, $rootScope
Login.c(118): , $timeout) {\n
Login.c(118): \t\t\treturn {\n
Login.c(118): \t\t\t\trequire: ['?^ngScrollViewport'],\n
Login.c(118): \t\t\t\ttransclude: 'element',\n
Login.c(118): \t\t\t\tpriority: 1000,\n
Login.c(118): \t\t\t\tterminal: true,\n
Login.c(118): \t\t\t\tcompile: function(element, attr, linker) {\n
Login.c(118): \t\t\t\t\treturn function($scope, $element, $attr, controllers)
{\n
Login.c(118): \t\t\t\t\t\tvar adapter, adjustBuffer, adjustRowHeight, bof,
bottomVisiblePos, buffer, buf
Login.c(118): ferPadding, bufferSize, clipBottom, clipTop, datasource,
datasourceName, enqueueFetch, eof
Login.c(118): , eventListener, fetch, finalize, first, insert, isDatasource,
isLoading, itemName, loadin
Login.c(118): g, match, next, pending, reload, removeFromBuffer, resizeHandler,
scrollHandler, scrollHei
Login.c(118): ght, shouldLoadBottom, shouldLoadTop, tempScope, topVisiblePos,
viewport;\n
Login.c(118): \t\t\t\t\t\tmatch = $attr.ngScroll.match(/^\\s*(\\w+)\\s+in\\s+
(\\w+)\\s*$/);\n
Login.c(118): \t\t\t\t\t\tif (!match) {\n
Login.c(118): \t\t\t\t\t\t\tthrow new Error('Expected ngScroll in form of
"item_ in _datasource_" but go
Login.c(118): t "' + $attr.ngScroll + '"');\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\titemName = match[1];\n
Login.c(118): \t\t\t\t\t\tdatasourceName = match[2];\n
Login.c(118): \t\t\t\t\t\tisDatasource = function(datasource) {\n
Login.c(118): \t\t\t\t\t\t\treturn angular.isObject(datasource) &&
datasource.get && angular.isFunction(
Login.c(118): datasource.get);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tdatasource = $scope[datasourceName];\n
Login.c(118): \t\t\t\t\t\tif (!isDatasource(datasource)) {\n
Login.c(118): \t\t\t\t\t\t\tdatasource = $injector.get(datasourceName);\n
Login.c(118): \t\t\t\t\t\t\tif (!isDatasource(datasource)) {\n
Login.c(118): \t\t\t\t\t\t\t\tthrow new Error(datasourceName + ' is not a valid
datasource');\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\tbufferSize = Math.max(3, +$attr.bufferSize || 10);\n
Login.c(118): \t\t\t\t\t\tbufferPadding = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.height() * Math.max(0.1, +
$attr.padding || 0.1);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tscrollHeight = function(elem) {\n
Login.c(118): \t\t\t\t\t\t\treturn elem[0].scrollHeight ||
elem[0].document.documentElement.scrollHeight
Login.c(118): ;\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadapter = null;\n
Login.c(118): \t\t\t\t\t\tlinker(tempScope = $scope.$new(), function(template)
{\n
Login.c(118): \t\t\t\t\t\t\tvar bottomPadding, createPadding, padding,
repeaterType, topPadding, viewpor
Login.c(118): t;\n
Login.c(118): \t\t\t\t\t\t\trepeaterType = template[0].localName;\n
Login.c(118): \t\t\t\t\t\t\tif (repeaterType === 'dl') {\n
Login.c(118): \t\t\t\t\t\t\t\tthrow new Error('ng-scroll directive does not
support <' + template[0].loc
Login.c(118): alName + '> as a repeating tag: ' + template[0].outerHTML);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (repeaterType !== 'li' && repeaterType !== 'tr')
{\n
Login.c(118): \t\t\t\t\t\t\t\trepeaterType = 'div';\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tviewport = controllers[0] ||
angular.element(window);\n
Login.c(118): \t\t\t\t\t\t\tviewport.css({\n
Login.c(118): \t\t\t\t\t\t\t\t'overflow-y': 'auto',\n
Login.c(118): \t\t\t\t\t\t\t\t'display': 'block'\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\tpadding = function(repeaterType) {\n
Login.c(118): \t\t\t\t\t\t\t\tvar div, result, table;\n
Login.c(118): \t\t\t\t\t\t\t\tswitch (repeaterType) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tcase 'tr':\n
Login.c(118): \t\t\t\t\t\t\t\t\t\ttable =
angular.element('<table><tr><td><div></div></td></tr></table>'
Login.c(118): );\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tdiv = table.find('div');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult = table.find('tr');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult.paddingHeight = function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn div.height.apply(div, arguments);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn result;\n
Login.c(118): \t\t\t\t\t\t\t\t\tdefault:\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult = angular.element('<' + repeaterType +
'></' + repeaterType + '
Login.c(118): >');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tresult.paddingHeight = result.height;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn result;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tcreatePadding = function(padding, element,
direction) {\n
Login.c(118): \t\t\t\t\t\t\t\telement[{\n
Login.c(118): \t\t\t\t\t\t\t\t\ttop: 'before',\n
Login.c(118): \t\t\t\t\t\t\t\t\tbottom: 'after'\n
Login.c(118): \t\t\t\t\t\t\t\t}[direction]](padding);\n
Login.c(118): \t\t\t\t\t\t\t\treturn {\n
Login.c(118): \t\t\t\t\t\t\t\t\tpaddingHeight: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn padding.paddingHeight.apply(padding,
arguments);\n
Login.c(118): \t\t\t\t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\t\t\t\tinsert: function(element) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn padding[{\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\ttop: 'after',\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tbottom: 'before'\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}[direction]](element);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\ttopPadding = createPadding(padding(repeaterType),
element, 'top');\n
Login.c(118): \t\t\t\t\t\t\tbottomPadding =
createPadding(padding(repeaterType), element, 'bottom');\n
Login.c(118): \t\t\t\t\t\t\ttempScope.$destroy();\n
Login.c(118): \t\t\t\t\t\t\treturn adapter = {\n
Login.c(118): \t\t\t\t\t\t\t\tviewport: viewport,\n
Login.c(118): \t\t\t\t\t\t\t\ttopPadding: topPadding.paddingHeight,\n
Login.c(118): \t\t\t\t\t\t\t\tbottomPadding: bottomPadding.paddingHeight,\n
Login.c(118): \t\t\t\t\t\t\t\tappend: bottomPadding.insert,\n
Login.c(118): \t\t\t\t\t\t\t\tprepend: topPadding.insert,\n
Login.c(118): \t\t\t\t\t\t\t\tbottomDataPos: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn scrollHeight(viewport) -
bottomPadding.paddingHeight();\n
Login.c(118): \t\t\t\t\t\t\t\t},\n
Login.c(118): \t\t\t\t\t\t\t\ttopDataPos: function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn topPadding.paddingHeight();\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\tviewport = adapter.viewport;\n
Login.c(118): \t\t\t\t\t\tfirst = 1;\n
Login.c(118): \t\t\t\t\t\tnext = 1;\n
Login.c(118): \t\t\t\t\t\tbuffer = [];\n
Login.c(118): \t\t\t\t\t\tpending = [];\n
Login.c(118): \t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\tloading = datasource.loading || function() {};\n
Login.c(118): \t\t\t\t\t\tisLoading = false;\n
Login.c(118): \t\t\t\t\t\tremoveFromBuffer = function(start, stop) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, _i;\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _i = start; start <= stop ? _i < stop : _i
> stop; i = start <= sto
Login.c(118): p ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\tbuffer[i].scope.$destroy();\n
Login.c(118): \t\t\t\t\t\t\t\tbuffer[i].element.remove();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn buffer.splice(start, stop - start);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\treload = function() {\n
Login.c(118): \t\t\t\t\t\t\tfirst = 1;\n
Login.c(118): \t\t\t\t\t\t\tnext = 1;\n
Login.c(118): \t\t\t\t\t\t\tremoveFromBuffer(0, buffer.length);\n
Login.c(118): \t\t\t\t\t\t\tadapter.topPadding(0);\n
Login.c(118): \t\t\t\t\t\t\tadapter.bottomPadding(0);\n
Login.c(118): \t\t\t\t\t\t\tpending = [];\n
Login.c(118): \t\t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tbottomVisiblePos = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.scrollTop() + viewport.height();\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\ttopVisiblePos = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.scrollTop();\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tshouldLoadBottom = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn !eof && adapter.bottomDataPos() <
bottomVisiblePos() + bufferPadding(
Login.c(118): );\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tclipBottom = function() {\n
Login.c(118): \t\t\t\t\t\t\tvar bottomHeight, i, itemHeight, overage, _i,
_ref;\n
Login.c(118): \t\t\t\t\t\t\tbottomHeight = 0;\n
Login.c(118): \t\t\t\t\t\t\toverage = 0;\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _i = _ref = buffer.length - 1; _ref <= 0 ?
_i <= 0 : _i >= 0; i = _
Login.c(118): ref <= 0 ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\titemHeight =
buffer[i].element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (adapter.bottomDataPos() - bottomHeight -
itemHeight > bottomVisiblePos
Login.c(118): () + bufferPadding()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbottomHeight += itemHeight;\n
Login.c(118): \t\t\t\t\t\t\t\t\toverage++;\n
Login.c(118): \t\t\t\t\t\t\t\t\teof = false;\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (overage > 0) {\n
Login.c(118): \t\t\t\t\t\t\t\tadapter.bottomPadding(adapter.bottomPadding() +
bottomHeight);\n
Login.c(118): \t\t\t\t\t\t\t\tremoveFromBuffer(buffer.length - overage,
buffer.length);\n
Login.c(118): \t\t\t\t\t\t\t\tnext -= overage;\n
Login.c(118): \t\t\t\t\t\t\t\treturn console.log('clipped off bottom ' +
overage + ' bottom padding ' +
Login.c(118): (adapter.bottomPadding()));\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tshouldLoadTop = function() {\n
Login.c(118): \t\t\t\t\t\t\treturn !bof && (adapter.topDataPos() >
topVisiblePos() - bufferPadding());\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tclipTop = function() {\n
Login.c(118): \t\t\t\t\t\t\tvar item, itemHeight, overage, topHeight, _i,
_len;\n
Login.c(118): \t\t\t\t\t\t\ttopHeight = 0;\n
Login.c(118): \t\t\t\t\t\t\toverage = 0;\n
Login.c(118): \t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i++)
{\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\titemHeight = item.element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (adapter.topDataPos() + topHeight + itemHeight
< topVisiblePos() - buff
Login.c(118): erPadding()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\ttopHeight += itemHeight;\n
Login.c(118): \t\t\t\t\t\t\t\t\toverage++;\n
Login.c(118): \t\t\t\t\t\t\t\t\tbof = false;\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbreak;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (overage > 0) {\n
Login.c(118): \t\t\t\t\t\t\t\tadapter.topPadding(adapter.topPadding() +
topHeight);\n
Login.c(118): \t\t\t\t\t\t\t\tremoveFromBuffer(0, overage);\n
Login.c(118): \t\t\t\t\t\t\t\tfirst += overage;\n
Login.c(118): \t\t\t\t\t\t\t\treturn console.log('clipped off top ' + overage +
' top padding ' + (adapt
Login.c(118): er.topPadding()));\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tenqueueFetch = function(direction, scrolling) {\n
Login.c(118): \t\t\t\t\t\t\tif (!isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tisLoading = true;\n
Login.c(118): \t\t\t\t\t\t\t\tloading(true);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tif (pending.push(direction) === 1) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn fetch(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tinsert = function(index, item) {\n
Login.c(118): \t\t\t\t\t\t\tvar itemScope, toBeAppended, wrapper;\n
Login.c(118): \t\t\t\t\t\t\titemScope = $scope.$new();\n
Login.c(118): \t\t\t\t\t\t\titemScope[itemName] = item;\n
Login.c(118): \t\t\t\t\t\t\ttoBeAppended = index > first;\n
Login.c(118): \t\t\t\t\t\t\titemScope.$index = index;\n
Login.c(118): \t\t\t\t\t\t\tif (toBeAppended) {\n
Login.c(118): \t\t\t\t\t\t\t\titemScope.$index--;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\twrapper = {\n
Login.c(118): \t\t\t\t\t\t\t\tscope: itemScope\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tlinker(itemScope, function(clone) {\n
Login.c(118): \t\t\t\t\t\t\t\twrapper.element = clone;\n
Login.c(118): \t\t\t\t\t\t\t\tif (toBeAppended) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (index === next) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tadapter.append(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn buffer.push(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tbuffer[index - first].element.after(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn buffer.splice(index - first + 1, 0,
wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tadapter.prepend(clone);\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn buffer.unshift(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\treturn {\n
Login.c(118): \t\t\t\t\t\t\t\tappended: toBeAppended,\n
Login.c(118): \t\t\t\t\t\t\t\twrapper: wrapper\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadjustRowHeight = function(appended, wrapper) {\n
Login.c(118): \t\t\t\t\t\t\tvar newHeight;\n
Login.c(118): \t\t\t\t\t\t\tif (appended) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn adapter.bottomPadding(Math.max(0,
adapter.bottomPadding() - wrapper
Login.c(118): .element.outerHeight(true)));\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tnewHeight = adapter.topPadding() -
wrapper.element.outerHeight(true);\n
Login.c(118): \t\t\t\t\t\t\t\tif (newHeight >= 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn adapter.topPadding(newHeight);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn viewport.scrollTop(viewport.scrollTop()
+ wrapper.element.outerHe
Login.c(118): ight(true));\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tadjustBuffer = function(scrolling, newItems,
finalize) {\n
Login.c(118): \t\t\t\t\t\t\tvar doAdjustment;\n
Login.c(118): \t\t\t\t\t\t\tdoAdjustment = function() {\n
Login.c(118): \t\t\t\t\t\t\t\tconsole.log('top {actual=' +
(adapter.topDataPos()) + ' visible from=' + (
Login.c(118): topVisiblePos()) + ' bottom {visible through=' +
(bottomVisiblePos()) + ' actual=' + (adap
Login.c(118): ter.bottomDataPos()) + '}');\n
Login.c(118): \t\t\t\t\t\t\t\tif (shouldLoadBottom()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tenqueueFetch(true, scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (shouldLoadTop()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tenqueueFetch(false, scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\tif (finalize) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize();\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\tif (newItems) {\n
Login.c(118): \t\t\t\t\t\t\t\treturn $timeout(function() {\n
Login.c(118): \t\t\t\t\t\t\t\t\tvar row, _i, _len;\n
Login.c(118): \t\t\t\t\t\t\t\t\tfor (_i = 0, _len = newItems.length; _i < _len;
_i++) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\trow = newItems[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tadjustRowHeight(row.appended, row.wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn doAdjustment();\n
Login.c(118): \t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\treturn doAdjustment();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tfinalize = function(scrolling, newItems) {\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(scrolling, newItems, function()
{\n
Login.c(118): \t\t\t\t\t\t\t\tpending.shift();\n
Login.c(118): \t\t\t\t\t\t\t\tif (pending.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tisLoading = false;\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn loading(false);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn fetch(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tfetch = function(scrolling) {\n
Login.c(118): \t\t\t\t\t\t\tvar direction;\n
Login.c(118): \t\t\t\t\t\t\tdirection = pending[0];\n
Login.c(118): \t\t\t\t\t\t\tif (direction) {\n
Login.c(118): \t\t\t\t\t\t\t\tif (buffer.length && !shouldLoadBottom()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn datasource.get(next, bufferSize,
function(result) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tvar item, newItems, _i, _len;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tnewItems = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (result.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\teof = true;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tadapter.bottomPadding(0);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('appended: requested ' +
bufferSize + ' records starting
Login.c(118): from ' + next + ' recieved: eof');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tclipTop();\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (_i = 0, _len = result.length; _i <
_len; _i++) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\titem = result[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\tnewItems.push(insert(++next, item));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('appended: requested ' +
bufferSize + ' received ' + res
Login.c(118): ult.length + ' buffer size ' + buffer.length + ' first ' + first
+ ' next ' + next);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn finalize(scrolling, newItems);\n
Login.c(118): \t\t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif (buffer.length && !shouldLoadTop()) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn finalize(scrolling);\n
Login.c(118): \t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn datasource.get(first - bufferSize,
bufferSize, function(result) {
Login.c(118): \n
Login.c(118): \t\t\t\t\t\t\t\t\t\tvar i, newItems, _i, _ref;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tnewItems = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (result.length === 0) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tbof = true;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tadapter.topPadding(0);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('prepended: requested ' +
bufferSize + ' records startin
Login.c(118): g from ' + (first - bufferSize) + ' recieved: bof');\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t
Login.c(118): t=8257ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): \t\t\t\t\t\t\t\t\t\tclipBottom();\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (i = _i = _ref = result.length - 1;
_ref <= 0 ? _i <= 0 : _i >=
Login.c(118): 0; i = _ref <= 0 ? ++_i : --_i) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\tnewItems.unshift(insert(--first,
result[i]));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tconsole.log('prepended: requested ' +
bufferSize + ' received ' + re
Login.c(118): sult.length + ' buffer size ' + buffer.length + ' first ' + first
+ ' next ' + next);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn finalize(scrolling, newItems);\n
Login.c(118): \t\t\t\t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tresizeHandler = function() {\n
Login.c(118): \t\t\t\t\t\t\tif (!$rootScope.$$phase && !isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tadjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t\t\treturn $scope.$apply();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tviewport.bind('resize', resizeHandler);\n
Login.c(118): \t\t\t\t\t\tscrollHandler = function() {\n
Login.c(118): \t\t\t\t\t\t\tif (!$rootScope.$$phase && !isLoading) {\n
Login.c(118): \t\t\t\t\t\t\t\tadjustBuffer(true);\n
Login.c(118): \t\t\t\t\t\t\t\treturn $scope.$apply();\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\tviewport.bind('scroll', scrollHandler);\n
Login.c(118): \t\t\t\t\t\t$scope.$watch(datasource.revision, function() {\n
Login.c(118): \t\t\t\t\t\t\treturn reload();\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\tif (datasource.scope) {\n
Login.c(118): \t\t\t\t\t\t\teventListener = datasource.scope.$new();\n
Login.c(118): \t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\teventListener = $scope.$new();\n
Login.c(118): \t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t$scope.$on('$destroy', function() {\n
Login.c(118): \t\t\t\t\t\t\teventListener.$destroy();\n
Login.c(118): \t\t\t\t\t\t\tviewport.unbind('resize', resizeHandler);\n
Login.c(118): \t\t\t\t\t\t\treturn viewport.unbind('scroll', scrollHandler);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\teventListener.$on('update.items', function(event,
locator, newItem) {\n
Login.c(118): \t\t\t\t\t\t\tvar wrapper, _fn, _i, _len, _ref;\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\treturn locator(wrapper.scope);\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tbuffer[locator - first - 1].scope[itemName] =
newItem;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn null;\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\teventListener.$on('delete.items', function(event,
locator) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, item, temp, wrapper, _fn, _i, _j, _k, _len,
_len1, _len2, _ref;\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\ttemp = [];\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\ttemp.unshift(item);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (locator(wrapper.scope)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tremoveFromBuffer(temp.length - 1 - i,
temp.length - i);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\treturn next--;\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (i = _j = 0, _len1 = temp.length; _j < _len1;
i = ++_j) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = temp[i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tremoveFromBuffer(locator - first - 1, locator -
first);\n
Login.c(118): \t\t\t\t\t\t\t\t\tnext--;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _k = 0, _len2 = buffer.length; _k < _len2;
i = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[i];\n
Login.c(118): \t\t\t\t\t\t\t\titem.scope.$index = first + i;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t\treturn eventListener.$on('insert.item',
function(event, locator, item) {\n
Login.c(118): \t\t\t\t\t\t\tvar i, inserted, temp, wrapper, _fn, _i, _j, _k,
_len, _len1, _len2, _ref;\n
Login.c(118): \t\t\t\t\t\t\tinserted = [];\n
Login.c(118): \t\t\t\t\t\t\tif (angular.isFunction(locator)) {\n
Login.c(118): \t\t\t\t\t\t\t\ttemp = [];\n
Login.c(118): \t\t\t\t\t\t\t\tfor (_i = 0, _len = buffer.length; _i < _len; _i+
+) {\n
Login.c(118): \t\t\t\t\t\t\t\t\titem = buffer[_i];\n
Login.c(118): \t\t\t\t\t\t\t\t\ttemp.unshift(item);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t_fn = function(wrapper) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tvar j, newItems, _k, _len2, _results;\n
Login.c(118): \t\t\t\t\t\t\t\t\tif (newItems = locator(wrapper.scope)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tinsert = function(index, newItem) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tinsert(index, newItem);\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn next++;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\t\t\tif (angular.isArray(newItems)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t_results = [];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\tfor (j = _k = 0, _len2 = newItems.length;
_k < _len2; j = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\titem = newItems[j];\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t\t_results.push(inserted.push(insert(i + j,
item)));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn _results;\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t\treturn inserted.push(insert(i,
newItems));\n
Login.c(118): \t\t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t\t};\n
Login.c(118): \t\t\t\t\t\t\t\tfor (i = _j = 0, _len1 = temp.length; _j < _len1;
i = ++_j) {\n
Login.c(118): \t\t\t\t\t\t\t\t\twrapper = temp[i];\n
Login.c(118): \t\t\t\t\t\t\t\t\t_fn(wrapper);\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t} else {\n
Login.c(118): \t\t\t\t\t\t\t\tif ((0 <= (_ref = locator - first - 1) && _ref <
buffer.length)) {\n
Login.c(118): \t\t\t\t\t\t\t\t\tinserted.push(insert(locator, item));\n
Login.c(118): \t\t\t\t\t\t\t\t\tnext++;\n
Login.c(118): \t\t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\tfor (i = _k = 0, _len2 = buffer.length; _k < _len2;
i = ++_k) {\n
Login.c(118): \t\t\t\t\t\t\t\titem = buffer[i];\n
Login.c(118): \t\t\t\t\t\t\t\titem.scope.$index = first + i;\n
Login.c(118): \t\t\t\t\t\t\t}\n
Login.c(118): \t\t\t\t\t\t\treturn adjustBuffer(false, inserted);\n
Login.c(118): \t\t\t\t\t\t});\n
Login.c(118): \t\t\t\t\t};\n
Login.c(118): \t\t\t\t}\n
Login.c(118): \t\t\t};\n
Login.c(118): \t\t}\n
Login.c(118): \t]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Adds a 'ui-scrollfix' class to the element when the page
scrolls past it's position.\n
Login.c(118): * @param [offset] {int} optional Y-offset to override the
detected offset.\n
Login.c(118): * Takes 300 (absolute) or -300 or +300 (relative to
detected)\n
Login.c(118): */\n
Login.c(118): angular.module('ui.scrollfix',[]).directive('uiScrollfix',
['$window', function ($window)
Login.c(118): {\n
Login.c(118): return {\n
Login.c(118): require: '^?uiScrollfixTarget',\n
Login.c(118): link: function (scope, elm, attrs, uiScrollfixTarget) {\n
Login.c(118): var top = elm[0].offsetTop,\n
Login.c(118): $target = uiScrollfixTarget && uiScrollfixTarget.
$element || angular.element($wi
Login.c(118): ndow);\n
Login.c(118): \n
Login.c(118): if (!attrs.uiScrollfix) {\n
Login.c(118): attrs.uiScrollfix = top;\n
Login.c(118): } else if (typeof(attrs.uiScrollfix) === 'string') {\n
Login.c(118): // charAt is generally faster than indexOf:
http://jsperf.com/indexof-vs-charat\n
Login.c(118): if (attrs.uiScrollfix.charAt(0) === '-') {\n
Login.c(118): attrs.uiScrollfix = top -
parseFloat(attrs.uiScrollfix.substr(1));\n
Login.c(118): } else if (attrs.uiScrollfix.charAt(0) === '+') {\n
Login.c(118): attrs.uiScrollfix = top +
parseFloat(attrs.uiScrollfix.substr(1));\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): function onScroll() {\n
Login.c(118): // if pageYOffset is defined use it, otherwise use other
crap for IE\n
Login.c(118): var offset;\n
Login.c(118): if (angular.isDefined($window.pageYOffset)) {\n
Login.c(118): offset = $window.pageYOffset;\n
Login.c(118): } else {\n
Login.c(118): var iebody = (document.compatMode &&
document.compatMode !== 'BackCompat') ? doc
Login.c(118): ument.documentElement : document.body;\n
Login.c(118): offset = iebody.scrollTop;\n
Login.c(118): }\n
Login.c(118): if (!elm.hasClass('ui-scrollfix') && offset >
attrs.uiScrollfix) {\n
Login.c(118): elm.addClass('ui-scrollfix');\n
Login.c(118): } else if (elm.hasClass('ui-scrollfix') && offset <
attrs.uiScrollfix) {\n
Login.c(118): elm.removeClass('ui-scrollfix');\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): $target.on('scroll', onScroll);\n
Login.c(118): \n
Login.c(118): // Unbind scroll event handler when directive is removed\n
Login.c(118): scope.$on('$destroy', function() {\n
Login.c(118): $target.off('scroll', onScroll);\n
Login.c(118): });\n
Login.c(118): }\n
Login.c(118): };\n
Login.c(118): }]).directive('uiScrollfixTarget', [function () {\n
Login.c(118): return {\n
Login.c(118): controller: ['$element', function($element) {\n
Login.c(118): this.$element = $element;\n
Login.c(118): }]\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiShow Directive\n
Login.c(118): *\n
Login.c(118): * Adds a 'ui-show' class to the element instead of
display:block\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): angular.module('ui.showhide',[])\n
Login.c(118): .directive('uiShow', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiShow, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.addClass('ui-show');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-show');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }])\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiHide Directive\n
Login.c(118): *\n
Login.c(118): * Adds a 'ui-hide' class to the element instead of
display:block\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): .directive('uiHide', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiHide, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.addClass('ui-hide');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-hide');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }])\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * uiToggle Directive\n
Login.c(118): *\n
Login.c(118): * Adds a class 'ui-show' if true, and a 'ui-hide' if false to
the element instead of disp
Login.c(118): lay:block/display:none\n
Login.c(118): * Created to allow tighter control of CSS without bulkier
directives. This also allows y
Login.c(118): ou to override the\n
Login.c(118): * default visibility of the element using either class.\n
Login.c(118): *\n
Login.c(118): * @param expression {boolean} evaluated expression to determine
if the class should be ad
Login.c(118): ded\n
Login.c(118): */\n
Login.c(118): .directive('uiToggle', [function () {\n
Login.c(118): return function (scope, elm, attrs) {\n
Login.c(118): scope.$watch(attrs.uiToggle, function (newVal) {\n
Login.c(118): if (newVal) {\n
Login.c(118): elm.removeClass('ui-hide').addClass('ui-show');\n
Login.c(118): } else {\n
Login.c(118): elm.removeClass('ui-show').addClass('ui-hide');\n
Login.c(118): }\n
Login.c(118): });\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\n
Login.c(118): \n
Login.c(118): /**\n
Login.c(118): * Filters out all duplicate items from an array by checking the
specified key\n
Login.c(118): * @param [key] {string} the name of the attribute of each object
to compare for uniquenes
Login.c(118): s\n
Login.c(118): if the key is empty, the entire object will be compared\n
Login.c(118): if the key === false then no filtering will be performed\n
Login.c(118): * @return {array}\n
Login.c(118): */\n
Login.c(118): angular.module('ui.unique',[]).filter('unique', ['$parse',
function ($parse) {\n
Login.c(118): \n
Login.c(118): return function (items, filterOn) {\n
Login.c(118): \n
Login.c(118): if (filterOn === false) {\n
Login.c(118): return items;\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): if ((filterOn || angular.isUndefined(filterOn)) &&
angular.isArray(items)) {\n
Login.c(118): var newItems = [],\n
Login.c(118): get = angular.isString(filterOn) ? $parse(filterOn) :
function (item) { return ite
Login.c(118): m; };\n
Login.c(118): \n
Login.c(118): var extractValueToCompare = function (item) {\n
Login.c(118): return angular.isObject(item) ? get(item) : item;\n
Login.c(118): };\n
Login.c(118): \n
Login.c(118): angular.forEach(items, function (item) {\n
Login.c(118): var isDuplicate = false;\n
Login.c(118): \n
Login.c(118): for (var i = 0; i < newItems.length; i++) {\n
Login.c(118): if (angular.equals(extractValueToCompare(newItems[i]),
extractValueToCompare(ite
Login.c(118): m))) {\n
Login.c(118): isDuplicate = true;\n
Login.c(118): break;\n
Login.c(118): }\n
Login.c(118): }\n
Login.c(118): if (!isDuplicate) {\n
Login.c(118): newItems.push(item);\n
Login.c(118): }\n
Login.c(118): \n
Login.c(118): });\n
Login.c(118): items = newItems;\n
Login.c(118): }\n
Login.c(118): return items;\n
Login.c(118): };\n
Login.c(118): }]);\n
Login.c(118): \n
Login.c(118): 'use strict';\r\n
Login.c(118): \r\n
Login.c(118): /**\r\n
Login.c(118): * General-purpose validator for ngModel.\r\n
Login.c(118): * angular.js comes with several built-in validation mechanism
for input fields (ngRequire
Login.c(118): d, ngPattern etc.) but using\r\n
Login.c(118): * an arbitrary validation function requires creation of a custom
formatters and / or pars
Login.c(118): ers.\r\n
Login.c(118): * The ui-validate directive makes it easy to use any function(s)
defined in scope as a va
Login.c(118): lidator function(s).\r\n
Login.c(118): * A validator function will trigger validation on both model and
input changes.\r\n
Login.c(118): *\r\n
Login.c(118): * @example <input ui-validate=" 'myValidatorFunction($value)'
">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value > anotherModel',
bar : 'validateFoo($value
Login.c(118): )' }">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value >
anotherModel' }" ui-validate-watch=" 'an
Login.c(118): otherModel' ">\r\n
Login.c(118): * @example <input ui-validate="{ foo : '$value > anotherModel',
bar : 'validateFoo($value
Login.c(118): )' }" ui-validate-watch=" { foo : 'anotherModel' } ">\r\n
Login.c(118): *\r\n
Login.c(118): * @param ui-validate {string|object literal} If strings is
passed it should be a scope's
Login.c(118): function to be used as a validator.\r\n
Login.c(118): * If an object literal is passed a key denotes a validation
error key while a value shoul
Login.c(118): d be a validator function.\r\n
Login.c(118): * In both cases validator function should take a value to
validate as its argument and sh
Login.c(118): ould return true/false indicating a validation result.\r\n
Login.c(118): */\r\n
Login.c(118): angular.module('ui.validate',[]).directive('uiValidate', function
() {\r\n
Login.c(118): \r\n
Login.c(118): return {\r\n
Login.c(118): restrict: 'A',\r\n
Login.c(118): require: 'ngModel',\r\n
Login.c(118): link: function (scope, elm, attrs, ctrl) {\r\n
Login.c(118): var validateFn, validators = {},\r\n
Login.c(118): validateExpr = scope.$eval(attrs.uiValidate);\r\n
Login.c(118): \r\n
Login.c(118): if (!validateExpr){ return;}\r\n
Login.c(118): \r\n
Login.c(118): if (angular.isString(validateExpr)) {\r\n
Login.c(118): validateExpr = { validator: validateExpr };\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): angular.forEach(validateExpr, function (exprssn, key) {\r\n
Login.c(118): validateFn = function (valueToValidate) {\r\n
Login.c(118): var expression = scope.$eval(exprssn, { '$value' :
valueToValidate });\r\n
Login.c(118): if (angular.isObject(expression) &&
angular.isFunction(expression.then)) {\r\n
Login.c(118): // expression is a promise\r\n
Login.c(118): expression.then(function(){\r\n
Login.c(118): ctrl.$setValidity(key, true);\r\n
Login.c(118): }, function(){\r\n
Login.c(118): ctrl.$setValidity(key, false);\r\n
Login.c(118): });\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): } else if (expression) {\r\n
Login.c(118): // expression is true\r\n
Login.c(118): ctrl.$setValidity(key, true);\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): } else {\r\n
Login.c(118): // expression is false\r\n
Login.c(118): ctrl.$setValidity(key, false);\r\n
Login.c(118): return valueToValidate;\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): validators[key] = validateFn;\r\n
Login.c(118): ctrl.$formatters.push
Login.c(118): t=8274ms: 2477-byte response body for
"http://v5devtom.ep.com/v5/ui/vendor/ui-utils-0.1.1/ui-utils.js" (RelFrameId=,
Internal ID=46)
Login.c(118): (validateFn);\r\n
Login.c(118): ctrl.$parsers.push(validateFn);\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): function apply_watch(watch)\r\n
Login.c(118): {\r\n
Login.c(118): //string - update all validators on expression
change\r\n
Login.c(118): if (angular.isString(watch))\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(watch, function(){\r\n
Login.c(118): angular.forEach(validators,
function(validatorFn){\r\n
Login.c(118): validatorFn(ctrl.$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //array - update all validators on change of any
expression\r\n
Login.c(118): if (angular.isArray(watch))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(watch, function(expression){\r\n
Login.c(118): scope.$watch(expression, function()\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(validators,
function(validatorFn){\r\n
Login.c(118): validatorFn(ctrl.$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): return;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //object - update appropriate validator\r\n
Login.c(118): if (angular.isObject(watch))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(watch, function(expression,
validatorKey)\r\n
Login.c(118): {\r\n
Login.c(118): //value is string - look after one
expression\r\n
Login.c(118): if (angular.isString(expression))\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(expression, function(){\r\n
Login.c(118): validators[validatorKey](ctrl.
$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): //value is array - look after all expressions
in array\r\n
Login.c(118): if (angular.isArray(expression))\r\n
Login.c(118): {\r\n
Login.c(118): angular.forEach(expression,
function(intExpression)\r\n
Login.c(118): {\r\n
Login.c(118): scope.$watch(intExpression, function()
{\r\n
Login.c(118): validators[validatorKey](ctrl.
$modelValue);\r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): });\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): // Support for ui-validate-watch\r\n
Login.c(118): if (attrs.uiValidateWatch){\r\n
Login.c(118): apply_watch( scope.$eval(attrs.uiValidateWatch) );\r\n
Login.c(118): }\r\n
Login.c(118): }\r\n
Login.c(118): };\r\n
Login.c(118): });\r\n
Login.c(118): \n
Login.c(118): angular.module('ui.utils', [\n
Login.c(118): 'ui.event',\n
Login.c(118): 'ui.format',\n
Login.c(118): 'ui.highlight',\n
Login.c(118): 'ui.include',\n
Login.c(118): 'ui.indeterminate',\n
Login.c(118): 'ui.inflector',\n
Login.c(118): 'ui.jq',\n
Login.c(118): 'ui.keypress',\n
Login.c(118): 'ui.mask',\n
Login.c(118): 'ui.reset',\n
Login.c(118): 'ui.route',\n
Login.c(118): 'ui.scrollfix',\n
Login.c(118): 'ui.scroll',\n
Login.c(118): 'ui.scroll.jqlite',\n
Login.c(118): 'ui.showhide',\n
Login.c(118): 'ui.unique',\n
Login.c(118): 'ui.validate'\n
Login.c(118): ]);\n
Login.c(118): t=8278ms: 295-byte response headers for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"25248-1419875280000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:48:00 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Transfer-Encoding: chunked\r\n
Login.c(118): Content-Encoding: gzip\r\n
Login.c(118): Vary: Accept-Encoding\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8278ms: 3-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): a\r\n
Login.c(118): t=8278ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8279ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 200\r\n
Login.c(118): t=8280ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 1fa\r\n
Login.c(118): t=8280ms: 5-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 8\r\n
Login.c(118): t=8280ms: 7-byte chunked response overhead for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): \r\n
Login.c(118): 0\r\n
Login.c(118): \r\n
Login.c(118): t=8280ms: 4620-byte ENCODED response body received for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): t=8280ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): angular.module('templates-main', ['company-
setup/templates/additional-information.tpl.html
Login.c(118): ', 'company-setup/templates/company-help.tpl.html', 'company-
setup/templates/company-infor
Login.c(118): mation.tpl.html', 'company-setup/templates/company-
setup.tpl.html', 'company-setup/templat
Login.c(118): es/tax-authorities-chooser-item.tpl.html', 'company-
setup/templates/tax-form-chooser-item.
Login.c(118): tpl.html', 'core/templates/country-chooser-item.tpl.html',
'core/templates/error-message-p
Login.c(118): opup.tpl.html', 'core/templates/state-chooser-item.tpl.html',
'dashboard/templates/dashboa
Login.c(118): rd-help.tpl.html', 'dashboard/templates/dashboard.tpl.html',
'layout/templates/contentarea
Login.c(118): .tpl.html', 'layout/templates/navSearch.tpl.html',
'layout/templates/navigation.tpl.html',
Login.c(118): 'layout/templates/navsearch-item.tpl.html',
'layout/templates/shell.tpl.html', 'layout/te
Login.c(118): mplates/tab-header.tpl.html', 'layout/templates/user-license-
header.tpl.html', 'layout/tem
Login.c(118): plates/verdivider.tpl.html',
'login/templates/contentarea.tpl.html', 'login/templates/lice
Login.c(118): nse-chooser-item.tpl.html']);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/additional-
information.tpl.html", []).run(["$templ
Login.c(118): ateCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/additional-
information.tpl.html",\r\n
Login.c(118): "<!-- grid --><div class=\\"row clearfix box-border\\"><label
class=serverMessage ng-c
Login.c(118): lass=\\"{'success':
company.serverStatusType}\\">{{company.serverStatus}}</label><div clas
Login.c(118): s=\\"col-md-12 column\\"><fieldset><label>Addresses:</label><div
class=\\"row clearfix\\">
Login.c(118): </div><!-- grid data binding --><div class=\\"table table-
bordered grid-view\\" grid-view=
Login.c(118): \\"\\" grid-columns=company.additionalColumnsDynamic grid-
id=address-grid grid-data=compan
Login.c(118): y.additionalDataDynamic grid-
options=company.additionalGridOptions></div></fieldset></div>
Login.c(118): </div><div class=\\"row clearfix box-border\\"><div class=\\"col-
md-6 column\\"><fieldset>
Login.c(118): <label>Contact Information (Including Tax Contact):</label><div
class=\\"row clearfix\\"><
Login.c(118): /div><!-- grid data binding --><div class=\\"table table-bordered
grid-view\\" grid-view=\\
Login.c(118): "\\" grid-columns=company.contactinfoColumnsDynamic grid-
id=contact-info-grid grid-data=co
Login.c(118): mpany.contactinfoDataDynamic grid-
options=company.contactinfoGridOptions></div></fieldset>
Login.c(118): </div><div class=\\"col-md-6
column\\"><fieldset><label></label><div class=\\"row clearfix
Login.c(118): \\"></div><!-- grid data binding --><div class=\\"table table-
bordered grid-view\\" grid-v
Login.c(118): iew=\\"\\" grid-columns=company.contactDetailColumnInfo grid-
id=contact-detail-grid grid-d
Login.c(118): ata=company.contactDetailInfo grid-
options=company.contactDetailGridOptions></div></fields
Login.c(118): et></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-help.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
help.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-title>Help of
CompanySetup</h3></div><div cla
Login.c(118): ss=modal-body>This is a CompanySetup help content</div><div
class=modal-footer><button cla
Login.c(118): ss=\\"btn btn-warning\\" ng-
click=$dismiss()>Close</button></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-
information.tpl.html", []).run(["$template
Login.c(118): Cache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
information.tpl.html",\r\n
Login.c(118): "<div class=\\"row clearfix\\"><div class=\\"col-md-12
column\\"><div class=\\"row cle
Login.c(118): arfix\\"><div class=\\"col-md-6 column\\"><div class=\\"col-md-10
column\\"><label class=s
Login.c(118): erverMessage ng-class=\\"{'success':
company.serverStatusType}\\">{{company.serverStatus}}
Login.c(118): </label><div class=form-horizontal><div class=form-group><label
for=inputEmail3 class=\\"c
Login.c(118): ol-sm-3 control-label text-left\\">{{ 'NUMBER' |
translate }}:</label><div class=col-sm-5>
Login.c(118): <input id=companyNumber name=companyNumber class=form-control
required tooltip-placement=r
Login.c(118): ight ng-model=company.form.companyNumber
tooltip={{company.getTooltip(company.form.name.co
Login.c(118): mpanyNumber)}} ng-disabled=company.disableCode ng-
maxlength=2></div><div class=col-sm-4><d
Login.c(118): iv class=checkbox><label><input type=checkbox id=companyactive
name=companyactive ng-model
Login.c(118): =company.form.companyactive>{{ 'ACTIVE' |
translate }}</label></div></div></div><div class
Login.c(118): =form-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'NAM
Login.c(118): E' | translate }}:</label><div class=col-sm-9><input
id=companName name=companyName class=
Login.c(118): form-control required tooltip-placement=right ng-
model=company.form.companyName tooltip={{
Login.c(118):
company.getTooltip(company.form.name.companyName)}}></div></div><div class=form-
group><lab
Login.c(118): el for=inputEmail3 class=\\"col-sm-3 control-label text-
left\\">{{ 'COUNTRY' | translate }
Login.c(118): }:</label><div class=col-sm-8><div name=country chooser=\\"\\"
id-attr=id display-attr=alp
Login.c(118): ha3code auto-complete-resource=company.countryResource strict-
enabled=true ng-model=compan
Login.c(118): y.form.country model-attr=company.form.country grid-
data=company.countryGridData item-temp
Login.c(118): late=core/templates/country-chooser-item.tpl.html match-
filtering-beginning=true chooser-t
Login.c(118): ooltip=company.getTooltip(company.form.name.country)
required></div></div></div><div class
Login.c(118): =form-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'ADD
Login.c(118): RESS' | translate }} 1:</label><div class=col-sm-9><input
id=companyAddress1 name=companyA
Login.c(118): ddress1 class=form-control required tooltip-placement=right ng-
model=company.form.companyA
Login.c(118): ddress1
tooltip={{company.getTooltip(company.form.name.companyAddress1)}} ng-change=compan
Login.c(118): y.syncWithAddInfoPage()></div></div><div class=form-group><label
for=inputEmail3 class=\\"
Login.c(118): col-sm-3 control-label text-left\\">{{ 'ADDRESS' | translate }}
2:</label><div class=col-s
Login.c(118): m-9><input class=form-control id=companyAddress2
name=companyAddress2 ng-model=company.for
Login.c(118): m.companyAddress2 ng-
change=company.syncWithAddInfoPage()></div></div><div class=form-grou
Login.c(118): p><label for=inputPassword3 class=\\"col-sm-3 control-label text-
left\\">{{ 'CITY' | trans
Login.c(118): late }}:</label><div class=col-sm-9><input id=companyCity
name=companyCity class=form-cont
Login.c(118): rol required tooltip-placement=right ng-
model=company.form.companyCity tooltip={{company.g
Login.c(118): etTooltip(company.form.name.companyCity)}} ng-
change=company.syncWithAddInfoPage()></div><
Login.c(118): /div><div class=form-group><label for=inputPassword3
class=\\"col-sm-3 control- text-left\\
Login.c(118): ">{{ 'STATE' | translate }}:</label><div class=col-sm-8><div
name=states chooser=\\"\\" id
Login.c(118): -attr=regionCode display-attr=regionCode auto-complete-
resource=company.stateResource stri
Login.c(118): ct-enabled=true ng-model=company.form.states model-
attr=company.form.states grid-data=comp
Login.c(118): any.stateGridData item-template=core/templates/state-chooser-
item.tpl.html match-filtering
Login.c(118): -beginning=true chooser-
tooltip=company.getTooltip(company.form.name.states) required ng-c
Login.c(118): hange=company.syncWithAddInfoPage() tooltip-
placement=right></div></div></div><div class=f
Login.c(118): orm-group><label for=inputPassword3 class=\\"col-sm-3 control-
label text-left\\">{{ 'ZIP_C
Login.c(118): ODE' | translate }}:</label><div class=col-sm-5><input
id=companyZipcode name=companyZipco
Login.c(118): de class=form-control required tooltip-placement=right ng-
model=company.form.companyZipcod
Login.c(118): e
tooltip={{company.getTooltip(company.form.name.companyZipcode)}} ng-
change=company.syncW
Login.c(118): ithAddInfoPage()></div></div><div class=form-group><label
for=inputPassword3 class=\\"col-
Login.c(118): sm-3 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.ATTENTION' | translate }}:</label>
Login.c(118): <div class=col-sm-5><input class=form-control id=companyAttention
name=companyAttention ng
Login.c(118): -model=company.form.companyAttention ng-
change=company.syncWithAddInfoPage()></div></div><
Login.c(118): div class=form-group><label for=inputPassword3 class=\\"col-sm-3
control-label text-left\\
Login.c(118): ">{{ 'PHONE' | translate }}#:</label><div class=col-sm-5><input
id=companyPhone name=compa
Login.c(118): nyPhone class=form-control ep-phone-formatter=\\"\\" ng-
model=company.form.companyPhone ng
Login.c(118): -change=company.syncWithAddInfoPage() ui-mask=\\"(999) 999-
9999\\" placeholder=\\"(xxx) xx
Login.c(118): x-xxxx\\"></div></div><div class=form-group><label
for=inputEmail3 class=\\"col-sm-3 contr
Login.c(118): ol-label text-left\\">{{ 'DESCRIPTION' |
translate }}:</label><div class=col-sm-9><input c
Login.c(118): lass=form-control id=companyDescription name=companyDescription
ng-model=company.form.comp
Login.c(118): anyDescription></div></div></div><!-- form-horizontal
--></div><!-- col-md-10 --></div><!
Login.c(118): -- col-md-6 column --><div class=\\"col-md-6 column tax-
info\\"><div class=\\"row clearfix
Login.c(118): box-border\\"><div class=\\"col-md-12
column\\"><fieldset><label>{{ 'PAGES.COMPANY_SETUP.
Login.c(118): TAX_INFORMATION' | translate }}:</label><div class=\\"row
clearfix box-border\\"><div clas
Login.c(118): s=\\"col-md-9 column\\"><div class=form-horizontal><div
class=form-group><label for=inputE
Login.c(118): mail3 class=\\"col-sm-5 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.TAX_AUTHORITY'
Login.c(118): | translate }}:</label><div class=col-sm-7><div chooser=\\"\\"
id-attr=authorityName displ
Login.c(118): ay-attr=authorityName auto-complete-
resource=company.authoritiesResource strict-enabled=tr
Login.c(118): ue ng-model=company.form.companyTaxauthority model-
attr=company.form.companyTaxauthority g
Login.c(118): rid-data=company.authoritiesGridData item-
template=global/templates/chooser-autocomplete-i
Login.c(118): tem-default.tpl.html match-filtering-beginning=true chooser-
tooltip=company.getTooltip(com
Login.c(118): pany.form.name.companyTaxauthority) required
name=companyTaxauthority></div></div></div><d
Login.c(118): iv class=form-group><label for=inputPassword3 class=\\"col-sm-5
control-label text-left\\"
Login.c(118): >{{ 'PAGES.COMPANY_SETUP.TAX_FORM' | translate }}:</label><div
class=col-sm-7><div chooser
Login.c(118): =\\"\\" id-attr=formName display-attr=formName auto-complete-
resource=company.taxformResou
Login.c(118): rce strict-enabled=true ng-model=company.form.companyTaxform
model-attr=company.form.compa
Login.c(118): nyTaxform grid-data=company.taxformGridData item-
template=global/templates/chooser-autocom
Login.c(118): plete-item-default.tpl.html match-filtering-beginning=true
chooser-tooltip=company.getTool
Login.c(118): tip(company.form.name.companyTaxform) required
name=companyTaxform tooltip-placement=right
Login.c(118): ></div></div></div><div class=form-group><label for=inputEmail3
class=\\"col-sm-5 control-
Login.c(118): label text-left\\">{{ 'PAGES.COMPANY_SETUP.TAX_ID_NUM' |
translate }}:</label><div class=c
Login.c(118): ol-sm-7><input class=form-control ng-
model=company.form.companyTaxidnumber id=companyTaxid
Login.c(118): number name=companyTaxidnumber tooltip-placement=right required
tooltip={{company.getToolt
Login.c(118): ip(company.form.name.companyTaxidnumber)}} ng-
minlength=9></div></div><div class=form-grou
Login.c(118): p><label for=inputPassword3 class=\\"col-sm-5 control-label text-
left\\">{{ 'PAGES.COMPANY
Login.c(118): _SETUP.DEFAULT_TCC' | translate }}:</label><div class=col-sm-
7><input class=form-control i
Login.c(118): d=companyDefaulttcc name=companyDefaulttcc ng-
model=company.form.companyDefaulttcc ng-minl
Login.c(118):
ength=5></div></div></div></div></div></fieldset><div><fieldset><!-- 1st grid
--><label>{{
Login.c(118): 'PAGES.COMPANY_SETUP.TAX_AMOUNT_ADJUSTMENT_OFFSET' |
translate }}:</label><div class=col-
Login.c(118): md-10><!-- grid data binding --><div class=\\"table table-
bordered taxInfo-grid-view\\" gr
Login.c(118): id-view=\\"\\" grid-columns=company.taxamountColumnsDynamic grid-
id=tax-amount-grid grid-d
Login.c(118): ata=company.taxamountDataDynamic grid-
options=company.taxamountGridOptions remove-focus=tr
Login.c(118): ue></div></div></fieldset></div></div></div><!-- col-md-6 column
--></div><!-- row clearfi
Login.c(118): x --></div><!-- col-md-12 column --></div><!-- row clearfix box-
border --><div class=\\"ro
Login.c(118): w clearfix box-border\\"><div class=\\"col-md-12 column box-
border icr-info-div\\"><fields
Login.c(118): et><label>{{ 'PAGES.COMPANY_SETUP.ICR_INFO' |
translate }}:</label><div class=\\"row clear
Login.c(118): fix\\"><div class=col-xs-4><div class=form-group><label
for=exampleInput1 class=\\"col-sm-
Login.c(118): 6 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.STATE_OF_INCORPORATION' | translate }
Login.c(118): }:</label><div class=col-sm-5><div
name=companyStateofincorporation chooser=\\"\\" id-attr
Login.c(118): =regionCode display-attr=regionCode auto-complete-
resource=company.stateofincorporationRes
Login.c(118): ource strict-enabled=true ng-
model=company.form.companyStateofincorporation model-attr=com
Login.c(118): pany.form.companyStateofincorporation grid-
data=company.stateGridData item-template=core/t
Login.c(118): emplates/state-chooser-item.tpl.html match-filtering-
beginning=true chooser-tooltip=compan
Login.c(118): y.getTooltip(company.form.name.companyStateofincorporation)
required tooltip-placement=rig
Login.c(118): ht></div></div></div></div><div class=col-xs-4><div class=form-
group><label for=exampleInp
Login.c(118): ut1 class=\\"col-sm-6 control-label text-
left\\">{{ 'PAGES.COMPANY_SETUP.STATE_TAX_ID_NUM'
Login.c(118): | translate }}:</label><div class=col-sm-6><input class=form-
control ng-model=company.for
Login.c(118): m.companyStatetaxidnumber id=companyStatetaxidn
Login.c(118): t=8287ms: 12288-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): umber name=companyStatetaxidnumber tooltip-placement=right
required tooltip={{company.getT
Login.c(118):
ooltip(company.form.name.companyStatetaxidnumber)}}></div></div></div><div
class=col-xs-4>
Login.c(118): <div class=form-group><label for=exampleInput1 class=\\"col-sm-6
control-label text-right\\
Login.c(118): ">{{ 'PAGES.COMPANY_SETUP.REPORTABLE_AMOUNT' |
translate }}:</label><div class=col-sm-6><i
Login.c(118): nput class=\\"form-control ep-calc\\" ng-
model=company.form.companyReportableamountfield i
Login.c(118): d=companyReportableamountfield name=companyReportableamountfield
ep-calc-field=\\"\\" vali
Login.c(118): d-number=\\"\\" tooltip-placement=right required
tooltip={{company.getTooltip(company.form
Login.c(118):
.name.companyReportableamountfield)}}></div></div></div></div><div class=form-
group><label
Login.c(118): class=\\"col-sm-4 control-label text-
right\\">{{ 'PAGES.COMPANY_SETUP.INCOME_TO_REPORT' |
Login.c(118): translate }}:</label><div class=col-sm-8><label class=radio-
inline><input type=radio name
Login.c(118): =companyincome value=All ng-
model=company.form.companyincome>{{ 'PAGES.COMPANY_SETUP.ALL'
Login.c(118): | translate }}</label><label class=radio-inline><input type=radio
name=companyincome value
Login.c(118): =\\"NEC Only\\" ng-
model=company.form.companyincome>{{ 'PAGES.COMPANY_SETUP.NEC' | transla
Login.c(118): te }}</label></div></div></fieldset></div></div><!-- grid --><div
class=\\"row clearfix bo
Login.c(118): x-border\\"><div class=\\"col-md-12 column\\"><fieldset><label>{{
'PAGES.COMPANY_SETUP.BIL
Login.c(118): LOVER_DESC' | translate }}:</label><div class=\\"row
clearfix\\"></div><div class=col-md-6
Login.c(118): ><b>{{ 'PAGES.COMPANY_SETUP.FROM_ACCNT' |
translate }}:</b></div><div class=col-md-6><b>{{
Login.c(118): 'PAGES.COMPANY_SETUP.TO_ACCNT' | translate }}:</b></div><!--
grid data binding --><div cl
Login.c(118): ass=\\"table table-bordered grid-view\\" grid-view=\\"\\" grid-
columns=company.billoverCol
Login.c(118): umnsDynamic grid-id=billover-grid grid-
data=company.billoverDataDynamic grid-options=compa
Login.c(118):
ny.billoverGridOptions></div></fieldset></div></div><div></div><!-- error >--><div
class=r
Login.c(118): ow><div class=col-md-6 ep-err-display=\\"\\" err-
data=company.errorMsgs form-name=companyf
Login.c(118): orm></div></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/company-setup.tpl.html",
[]).run(["$templateCache"
Login.c(118): , function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/company-
setup.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"CompanySetupCtrl as
company\\"><div ep-action-button-conta
Login.c(118): iner=\\"\\"></div><div id=myTabHeader ep-tab-header=\\"\\"
custom-tabs=company.tabs></div>
Login.c(118): <form class=form-horizontal id=companyform ng-
class=\\"{'submitted': company.formSubmitted
Login.c(118): , 'edited':company.disableCode}\\" name=company.form.name ng-
submit=company.form.submit(co
Login.c(118): mpanyform)><div id=myTabContent data-ui-view=\\"\\" class=tab-
content></div></form></div>"
Login.c(118): );\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/tax-authorities-chooser-
item.tpl.html", []).run(["
Login.c(118): $templateCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/tax-authorities-
chooser-item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.authorityName | t
Login.c(118): ypeaheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.authorityDescripti
Login.c(118): on></span> | <span bind-html-
unsafe=match.model.countryDescription></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("company-setup/templates/tax-form-chooser-
item.tpl.html", []).run(["$templa
Login.c(118): teCache", function($templateCache) {\r\n
Login.c(118): $templateCache.put("company-setup/templates/tax-form-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.formName | typeah
Login.c(118): eadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.countryDescription></sp
Login.c(118): an> | <span bind-html-
unsafe=match.model.authorityName></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/country-chooser-item.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/country-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.alpha3code | type
Login.c(118): aheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.name span=\\"\\"></sp
Login.c(118): an></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/error-message-popup.tpl.html",
[]).run(["$templateCache", f
Login.c(118): unction($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/error-message-
popup.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-
title>{{type}}</h3></div><div class=modal-bod
Login.c(118): y><h1>{{message}}</h1></div><div class=modal-footer></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("core/templates/state-chooser-item.tpl.html",
[]).run(["$templateCache", fu
Login.c(118): nction($templateCache) {\r\n
Login.c(118): $templateCache.put("core/templates/state-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.regionCode | type
Login.c(118): aheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.regionName span=\\"\\
Login.c(118): "></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("dashboard/templates/dashboard-help.tpl.html",
[]).run(["$templateCache", f
Login.c(118): unction($templateCache) {\r\n
Login.c(118): $templateCache.put("dashboard/templates/dashboard-
help.tpl.html",\r\n
Login.c(118): "<div class=modal-header><h3 class=modal-title>Help of
Dashboard</h3></div><div class=
Login.c(118): modal-body>This is a dashboard help content</div><div
class=modal-footer><button class=\\"
Login.c(118): btn btn-warning\\" ng-click=$dismiss()>OK</button></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("dashboard/templates/dashboard.tpl.html",
[]).run(["$templateCache", functi
Login.c(118): on($templateCache) {\r\n
Login.c(118):
$templateCache.put("dashboard/templates/dashboard.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"DashboardCtrl as
dashboard\\"><div class=jumbotron><h2>Wel
Login.c(118): come</h2><p>This is the Home page.</p></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/contentarea.tpl.html",
[]).run(["$templateCache", functio
Login.c(118): n($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/contentarea.tpl.html",\r\n
Login.c(118): "<div class=\\"container-fluid content-subtext\\" clip-board-
manager=\\"\\"><div class
Login.c(118): =row><div ep-tab-header=\\"\\" custom-
tabs=shell.tabs></div></div><div class=row><div clas
Login.c(118): s=content-area-outline data-ui-view=\\"\\"></div></div><div
vertical-divider=\\"\\"></div>
Login.c(118): </div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navSearch.tpl.html",
[]).run(["$templateCache", function(
Login.c(118): $templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navSearch.tpl.html",\r\n
Login.c(118): "<div class=form-group><div class=col-sm-12><input
placeholder=Search ng-model=selecte
Login.c(118): d typeahead-on-select=\\"onSelect({item: $item, group:
sectionNames, navigations: navItems
Login.c(118): }); clearItem();\\" typeahead=\\"item as item.name for item in
sectionNames | filter:$view
Login.c(118): Value | limitTo:8\\" typeahead-template-
url=layout/templates/navsearch-item.tpl.html class
Login.c(118): =form-control></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navigation.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navigation.tpl.html",\r\n
Login.c(118): "<ul class=nav id=side-menu><li><accordion class=\\"nav
navbar-nav side-nav\\" close-o
Login.c(118): thers=navigation.oneAtATime><accordion-group
heading={{group.tabname}} ng-repeat=\\"group
Login.c(118): in navigation.navigations\\" is-open=group.open><ul class=list-
group><li ng-repeat=\\"sub
Login.c(118): in group.subtabs\\"><a href=\\"\\" ng-
click=\\"shell.addTabs(sub,group, navigation.navigat
Login.c(118): ions)\\" class=list-group-
item>{{sub.name}}</a></li></ul></accordion-group></accordion></l
Login.c(118): i><li class=sidebar-search><div id=searchBox nav-search=\\"\\"
on-select=\\"shell.addTabs(
Login.c(118): item, gruop, navigations)\\" nav-
items=navigation.navigations></div><!-- /input-group --><
Login.c(118): /li></ul><!-- \\n" +\r\n
Login.c(118): "<div id=\\"searchBox\\" nav-search=\\"\\" on-
select=\\"shell.addTabs(item, gruop, na
Login.c(118): vigations)\\" nav-items=\\"navigation.navigations\\"></div>
-->");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/navsearch-item.tpl.html",
[]).run(["$templateCache", func
Login.c(118): tion($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/navsearch-
item.tpl.html",\r\n
Login.c(118): "<a href=\\"\\" class=\\"list-group-item
autoCompTextHighlite\\"><span bind-html-unsaf
Login.c(118): e=\\"match.label | typeaheadHighlight:query\\"></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/shell.tpl.html",
[]).run(["$templateCache", function($tem
Login.c(118): plateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/shell.tpl.html",\r\n
Login.c(118): "<nav class=\\"navbar navbar-default navbar-static-top
topHeader\\" role=navigation><d
Login.c(118): iv class=navbar-header><button type=button class=navbar-toggle
data-toggle=collapse data-t
Login.c(118): arget=.navbar-collapse><span class=sr-only>Toggle
navigation</span> <span class=icon-bar><
Login.c(118): /span> <span class=icon-bar></span> <span class=icon-
bar></span></button> <a class=navbar-
Login.c(118): brand id=logo href=\\"\\">Vista 5</a></div><!-- /.navbar-header
--><ul class=\\"nav navbar
Login.c(118): -top-links navbar-right\\"><!-- /.dropdown --><li
class=dropdown><a class=dropdown-toggle
Login.c(118): href=#><div user-license-header=\\"\\" class=username></div><i
class=\\"fa fa-caret-down\\
Login.c(118): "></i></a><ul class=\\"dropdown-menu dropdown-user\\"><li><a
href=\\"\\" ng-click=shell.lo
Login.c(118): gOff()><i class=\\"fa fa-sign-out fa-fw\\"></i>
Logout</a></li></ul><!-- /.dropdown-user -
Login.c(118): -></li><!-- /.dropdown --></ul><!-- /.navbar-top-links --><div
class=\\"navbar-default sid
Login.c(118): ebar\\" role=navigation><div class=\\"sidebar-nav navbar-
collapse\\"><div id=navLeftSideba
Login.c(118): r class=\\"col-md-2 sidebar\\" role=navigation data-ng-
controller=\\"NavigationCtrl as nav
Login.c(118): igation\\" data-ng-
include=\\"'layout/templates/navigation.tpl.html'\\"></div></div><!-- /
Login.c(118): .sidebar-collapse --></div><!-- /.navbar-static-side
--></nav><div id=page-wrapper class=\\
Login.c(118): "col-md-offset-2 col-md-10\\"><div class=\\"row content-area-
outer\\"><div class=col-lg-12
Login.c(118): ><div id=deskRightContent class=main data-ng-
controller=\\"ContentAreaCtrl as contentarea\\
Login.c(118): " data-ng-
include=\\"'layout/templates/contentarea.tpl.html'\\"></div></div><!-- /.col-lg-
Login.c(118): 12 --></div></div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/tab-header.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/tab-header.tpl.html",\r\n
Login.c(118): "<ul class=\\"nav nav-tabs nav-tabs-hover\\" role=tablist
id=sortableTabs><li ui-sref-
Login.c(118): active=active ng-repeat=\\"tab in customTabs\\"><a ng-
if=tab.subModule ui-sref=\\"module.s
Login.c(118): ubmodule({moduleId: '{{tab.module}}', subModuleId:
'{{tab.subModule}}', subModuleName: '{{
Login.c(118): tab.name}}', pageId: '{{tab.pageId}}' })\\"
translate={{tab.name}}></a> <span ng-if=!tab.s
Login.c(118): ubModule ng-click=removeTab(tab,$index)><i class=\\"fa fa-times-
circle\\"></i></span> <a n
Login.c(118): g-if=!tab.subModule ui-sref=\\"module({moduleId:
'{{tab.module}}', moduleName: '{{tab.name
Login.c(118): }}' , pageId: '{{tab.pageId}}' })\\"
translate={{tab.name}}></a></li></ul><!-- <i class=\\
Login.c(118): "fa fa-times-circle\\"></i>\\n" +\r\n
Login.c(118): "class='ui-icon-circle-close ui-icon ui-closable-tab'
-->");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/user-license-header.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/user-license-
header.tpl.html",\r\n
Login.c(118):
"<span>{{userDetails.username}}@{{userDetails.license}}</span>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("layout/templates/verdivider.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("layout/templates/verdivider.tpl.html",\r\n
Login.c(118): "<div id=dividerContainerDiv><i class=\\"fa fa-pause\\"
id=dividerGraphic></i></div>")
Login.c(118): ;\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("login/templates/contentarea.tpl.html",
[]).run(["$templateCache", function
Login.c(118): ($templateCache) {\r\n
Login.c(118): $templateCache.put("login/templates/contentarea.tpl.html",\r\n
Login.c(118): "<div data-ng-controller=\\"LoginCtrl as loginarea\\"><div
class=container-fluid><div>
Login.c(118): <form novalidate class=form-signin role=form name=loginform
id=loginform ng-submit=loginar
Login.c(118): ea.form.submit(loginform)><div class=error-container><div
class=error ng-show=\\"loginform
Login.c(118): .license.$invalid && loginarea.form.submitted\\"><small
class=error ng-show=loginform.lice
Login.c(118): nse.$error.required>License should not be
blank</small></div></div><div class=error ng-sho
Login.c(118): w=loginarea.authenticaionFailed><small
class=error>{{loginarea.authenticationFailureMsg}}<
Login.c(118): /small></div><h3 class=form-signin-heading>EP - VISTA 5</h3><p
class=eplogin>License</p><d
Login.c(118): iv class=col-md-11><div name=license ng-disabled=!
loginarea.authenticated is-disbled=!logi
Login.c(118): narea.authenticated ep-focus-me=loginarea.authenticated
chooser=\\"\\" id-attr=id display-
Login.c(118): attr=licenseCode auto-complete-resource=loginarea.licenseResource
strict-enabled=true ng-m
Login.c(118): odel=loginarea.form.license model-attr=loginarea.form.license
grid-data=loginarea.gridData
Login.c(118): item-template=login/templates/license-chooser-item.tpl.html
match-filtering-beginning=tru
Login.c(118): e required></div></div><br><br><br><div class=col-md-11><div
class=action-btns><button ng-
Login.c(118): disabled=!loginarea.authenticated
Login.c(118): t=8296ms: 672-byte DECODED response body for
"http://v5devtom.ep.com/v5/ui/templates.js" (RelFrameId=, Internal ID=47)
Login.c(118): class=\\"btn btn-lg btn-primary\\" type=submit>Log
In</button></div></div></form></div><di
Login.c(118): v class=\\"modal fade in\\" id=oAuthModal ng-
style=loginarea.modalStyle tabindex=-1 role=d
Login.c(118): ialog><div class=\\"modal-backdrop fade in\\" style=\\"height:
100%\\"></div></div></div><
Login.c(118): /div>");\r\n
Login.c(118): }]);\r\n
Login.c(118): \r\n
Login.c(118): angular.module("login/templates/license-chooser-item.tpl.html",
[]).run(["$templateCache",
Login.c(118): function($templateCache) {\r\n
Login.c(118): $templateCache.put("login/templates/license-chooser-
item.tpl.html",\r\n
Login.c(118): "<a class=autoCompTextHighlite><span bind-html-
unsafe=\\"match.model.licenseCode | typ
Login.c(118): eaheadHighlight:query\\"></span> | <span bind-html-
unsafe=match.model.description span=\\"
Login.c(118): \\"></span></a>");\r\n
Login.c(118): }]);\r\n
Login.c(118): t=8297ms: 243-byte response headers for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): HTTP/1.1 200 OK\r\n
Login.c(118): Server: Apache-Coyote/1.1\r\n
Login.c(118): Accept-Ranges: bytes\r\n
Login.c(118): ETag: W/"62141-1419875274000"\r\n
Login.c(118): Last-Modified: Mon, 29 Dec 2014 17:47:54 GMT\r\n
Login.c(118): Content-Type: application/javascript\r\n
Login.c(118): Content-Length: 62141\r\n
Login.c(118): Date: Wed, 31 Dec 2014 15:41:51 GMT\r\n
Login.c(118): \r\n
Login.c(118): t=8298ms: 8680-byte response body for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): angular.module('app.core',[\n
Login.c(118): 'pascalprecht.translate',\n
Login.c(118): 'ui.router',\n
Login.c(118): 'templates-global',\n
Login.c(118): 'templates-main',\n
Login.c(118): 'angular-data.DS',\n
Login.c(118): 'angular-data.DSCacheFactory',\n
Login.c(118): 'ui.bootstrap',\n
Login.c(118): 'ngStorage',\n
Login.c(118): 'angularOauth',\n
Login.c(118): 'ui.utils',\n
Login.c(118): 'config'\n
Login.c(118): ]);\r\n
Login.c(118): angular.module('app.layout.controllers',[]);\n
Login.c(118): angular.module('app.layout.services',[]);\n
Login.c(118): angular.module('app.layout',['app.layout.services',\n
Login.c(118): \t'app.layout.controllers']);\n
Login.c(118): \r\n
Login.c(118): angular.module('app.company-setup.controllers',[]);\r\n
Login.c(118): angular.module('app.company-setup.services',[]);\r\n
Login.c(118): angular.module('app.company-setup',[\r\n
Login.c(118): \t'app.company-setup.controllers', \r\n
Login.c(118): \t'app.company-setup.services'\r\n
Login.c(118): \t]);\r\n
Login.c(118): angular.module('app.dashboard.controllers',[]);\n
Login.c(118): angular.module('app.dashboard.services',[]);\n
Login.c(118): \n
Login.c(118): angular.module('app.dashboard',[\n
Login.c(118): \t'app.dashboard.controllers',\n
Login.c(118): \t'app.dashboard.services'\n
Login.c(118): ]);\r\n
Login.c(118): var app = angular.module('app', [\n
Login.c(118): 'app.core',\n
Login.c(118): 'app.layout',\n
Login.c(118): 'app.global',\n
Login.c(118): 'app.company-setup',\n
Login.c(118): 'app.dashboard',\n
Login.c(118): 'slickgrid'\n
Login.c(118): ]);\r\n
Login.c(118): angular.module('app.company-setup')\r\n
Login.c(118): .controller('CompanySetupCtrl', ['$scope','$rootScope',
'EPConstant','$stateParams','$mo
Login.c(118): dal','$timeout','$state', '$http','$q', 'CommonRepository',
'CompanySetupRepository','Choo
Login.c(118): serPopupUtility', 'ENV',\r\n
Login.c(118): function ($scope,$rootScope, EPConstant,$stateParams,$modal,
$timeout,$state,$http,$q, Co
Login.c(118): mmonRepository,CompanySetupRepository,ChooserPopupUtility, ENV)
{\r\n
Login.c(118): var vm = this;\r\n
Login.c(118): \r\n
Login.c(118): /***************************/\r\n
Login.c(118): vm.countries=[];\r\n
Login.c(118): \r\n
Login.c(118): vm.restReqObj = {};\r\n
Login.c(118): vm.getAllCompanies=CompanySetupRepository.getAllCompanies;\r\n
Login.c(118): vm.countryResource = CommonRepository.Country;\r\n
Login.c(118): vm.stateResource = CommonRepository.State;\r\n
Login.c(118): vm.stateofincorporationResource = CommonRepository.State;\r\n
Login.c(118): \r\n
Login.c(118): vm.authoritiesResource=CommonRepository.Authorities;\r\n
Login.c(118): vm.taxformResource=CommonRepository.Taxform;\r\n
Login.c(118): vm.form={\r\n
Login.c(118): name: 'companyform'\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.countryGridData = {\r\n
Login.c(118): columns: [{name: 'alpha3code', display: 'Country Code'}, {name:
'name', display: 'Countr
Login.c(118): y Name'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.stateGridData = {\r\n
Login.c(118): columns: [{name: 'regionCode', display: 'Region Code',
defaultSort: true}, {name: 'regio
Login.c(118): nName', display: 'Region Name'}]\r\n
Login.c(118): };\r\n
Login.c(118): vm.authoritiesGridData = {\r\n
Login.c(118): columns: [{name: 'authorityName', display: 'Tax Authority'},
{name: 'authorityDescriptio
Login.c(118): n', display: 'Description'},{name: 'countryDescription', display:
'Country Code'}]\r\n
Login.c(118): };\r\n
Login.c(118): vm.taxformGridData={\r\n
Login.c(118): columns: [{name: 'formName', display: 'Tax Form'}, {name:
'countryDescription', displa
Login.c(118): y: 'Country Code'},{name: 'authorityName', display: 'Tax
Authority'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.contactDetTypeGridData={\r\n
Login.c(118): columns: [{name: 'name', display: 'Detail Type'}]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.serverStatus = "";\r\n
Login.c(118): vm.disableCode = false;\r\n
Login.c(118): /**** Timer vars to clear once timeout called ****/\r\n
Login.c(118): var saveTimer;\r\n
Login.c(118): var errStatusTimer;\r\n
Login.c(118): \r\n
Login.c(118): /***********Save form****************/\r\n
Login.c(118): \r\n
Login.c(118): function constructReqObj(){\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var IcrInfoDTO = [{\r\n
Login.c(118): //id: null,\r\n
Login.c(118): stateOfRegistration:
vm.form.companyStateofincorporation || "CA" ,\r\n
Login.c(118): stateTaxId: vm.form.companyStatetaxidnumber ||
"",\r\n
Login.c(118): reportableAmount:
vm.form.companyReportableamountfield || "0",\r\n
Login.c(118): incomeToReport: vm.form.companyincome || "All",\r\n
Login.c(118): //companyId: null,\r\n
Login.c(118): currencyId: "25"\r\n
Login.c(118): }];\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var AddressDTO = (function(){\r\n
Login.c(118): var AddressDTOInfoArr=[];\r\n
Login.c(118): for(var i=0;i<vm.additionalDataDynamic.length;i++){\r\n
Login.c(118): var gridItem = vm.additionalDataDynamic[i];\r\n
Login.c(118): //var isDefaultItem = i===0? true : false;\r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): attention: gridItem.attention || null,\r\n
Login.c(118): addressLine1: gridItem.addressLine1 || "",\r\n
Login.c(118): addressLine2: gridItem.addressLine2 ||
null,\r\n
Login.c(118): city: gridItem.city || "",\r\n
Login.c(118): regionId: 5,\r\n
Login.c(118): regionCode: gridItem.regionCode || "CA", \r\n
Login.c(118): postalCode: gridItem.postalCode || "",\r\n
Login.c(118): countryId: vm.form.country, \r\n
Login.c(118): isDefault: gridItem.isDefault,\r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): phoneNumber: gridItem.phoneNumber || null,\r\n
Login.c(118): payeeName: "",\r\n
Login.c(118): isDisabled: false\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): AddressDTOInfoArr.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return AddressDTOInfoArr;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var contactDetailDTO = (function(){\r\n
Login.c(118): var contactDetDtoInfoArr=[];\r\n
Login.c(118): for(var i=0;i<vm.contactDetailInfo.length;i++){\r\n
Login.c(118): var gridItem = vm.contactDetailInfo[i];\r\n
Login.c(118): \r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): contactType: (gridItem.contactType) ?
String(gridItem.contactType).toUpp
Login.c(118): erCase() : "MOBILE",\r\n
Login.c(118): detail: gridItem.detail || "",\r\n
Login.c(118): description: "description",\r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): isDefault: gridItem.isDefault // i===0? true :
false, \r\n
Login.c(118): };\r\n
Login.c(118): contactDetDtoInfoArr.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return contactDetDtoInfoArr;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var ContactDTO = (function(){\r\n
Login.c(118): var contactDtoInfo=[];\r\n
Login.c(118): for(var i=0;i<vm.contactinfoDataDynamic.length;i++)
{\r\n
Login.c(118): var gridItem = vm.contactinfoDataDynamic[i];\r\n
Login.c(118): \r\n
Login.c(118): var infoItem = {\r\n
Login.c(118): contactName: gridItem.contactName ||
"Name",\r\n
Login.c(118): comments: gridItem.comments || null,\r\n
Login.c(118): contactDetailDTO: contactDetailDTO,\r\n
Login.c(118): isDefault: gridItem.isDefault, //i===0? true :
false, \r\n
Login.c(118): lineNumber: i+1,\r\n
Login.c(118): };\r\n
Login.c(118): contactDtoInfo.push(infoItem);\r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): return contactDtoInfo;\r\n
Login.c(118): })();\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): var taxInfoDTO = {\r\n
Login.c(118): //"id": null,\r\n
Login.c(118): taxId: vm.form.companyTaxidnumber,\r\n
Login.c(118): taxFormId: "1" ,\r\n
Login.c(118): taxFormName: vm.form.companyTaxform,\r\n
Login.c(118): taxContactDTO: [\r\n
Login.c(118): { \r\n
Login.c(118): // "id": null,\r\n
Login.c(118): personName: "",\r\n
Login.c(118): phoneNumber: "",\r\n
Login.c(118): emailAddress: "sample@xxxxxx.com",\r\n
Login.c(118): companyTaxInfoId: 20\r\n
Login.c(118): }\r\n
Login.c(118): ]\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): vm.restReqObj = {\r\n
Login.c(118): \r\n
Login.c(118): // "id": null,\r\n
Login.c(118): code: vm.form.companyNumber,\r\n
Login.c(118): active: vm.form.companyactive,\r\n
Login.c(118): name: vm.form.companyName,\r\n
Login.c(118): description: vm.form.companyDescription || null,\r\n
Login.c(118): comments: "comments",\r\n
Login.c(118): partConfigId: "11",\r\n
Login.c(118): defaultTccCode: vm.form.companyDefaulttcc || null,\r\n
Login.c(118): icrInfoDTO: IcrInfoDTO,\r\n
Login.c(118): addressDTO: AddressDTO,\r\n
Login.c(118): contactDTO: ContactDTO ,\r\n
Login.c(118): taxInfoDTO: taxInfoDTO,\r\n
Login.c(118): breakLevel: 1,\r\n
Login.c(118): isBreakLevelUpdatedByUser: false,\r\n
Login.c(118): isCompanyBillover: false,\r\n
Login.c(118): //"license": null,\r\n
Login.c(118): // "user": null,\r\n
Login.c(118): // "billoverInfo": null\r\n
Login.c(118): };\r\n
Login.c(118): \r\n
Login.c(118): \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): /***************************/\r\n
Login.c(118): vm.tabs = [\r\n
Login.c(118): {\r\n
Login.c(118): name: 'Company Information',\r\n
Login.c(118): module: 'company-setup',\r\n
Login.c(118): subModule: 'company-information',\r\n
Login.c(118): pageId: $stateParams.pageId\r\n
Login.c(118): },\r\n
Login.c(118): {\r\n
Login.c(118): name: 'Add&#39;l Information',\r\n
Login.c(118): module: 'company-setup',\r\n
Login.c(118): subModule: 'additional-information',\r\n
Login.c(118): pageId: $stateParams.pageId\r\n
Login.c(118): }];\r\n
Login.c(118): vm.errorMsgs=[];\r\n
Login.c(118): vm.formSubmitted= false;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyactive=true;\r\n
Login.c(118): vm.form.companyincome="All";\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.SearchTriggered, function()
{\r\n
Login.c(118): var options= { \r\n
Login.c(118): displayAttr: 'name',\r\n
Login.c(118): idAttr: 'code',\r\n
Login.c(118): multiSelect: false\r\n
Login.c(118): };\r\n
Login.c(118): vm.companySearchData=[];\r\n
Login.c(118): \r\n
Login.c(118): var searchResource =vm.getAllCompanies.findAll({},
{bypassCache: true});
Login.c(118): \r\n
Login.c(118): searchResource.then(function(searchdata){\r\n
Login.c(118): vm.companySearchData=searchdata;\r\n
Login.c(118): });\r\n
Login.c(118): var searchColumns = {columns: [{name: 'code',
display: 'Company Number', defau
Login.c(118): ltSort: true},{name: 'name', display: 'Company Name'}]};\r\n
Login.c(118): \r\n
Login.c(118): var modalInstance=
ChooserPopupUtility.openModal(searchResource, searchColumns,
Login.c(118): options);\r\n
Login.c(118): modalInstance.result.then(function(){\r\n
Login.c(118): var selectedItem
=vm.companySearchData.filter(function(item){\r\n
Login.c(118): return item.selected === true;\r\n
Login.c(118): });\r\n
Login.c(118): vm.selectedItem = selectedItem[0];\r\n
Login.c(118): delete vm.selectedItem.selected;\r\n
Login.c(118): vm.disableCode=true;\r\n
Login.c(118): vm.form.companyId=vm.selectedItem.id;\r\n
Login.c(118): vm.form.companyNumber=vm.selectedItem.code;\r\n
Login.c(118): vm.form.companyName=vm.selectedItem.name;\r\n
Login.c(118): vm.form.companyact
Login.c(118): t=8309ms: 12287-byte response body for
"http://v5devtom.ep.com/v5/ui/app.js" (RelFrameId=, Internal ID=48)
Login.c(118): ive=vm.selectedItem.active==='true'? true: false;\r\n
Login.c(118):
vm.form.country=vm.selectedItem.addressDTO[0].countryId;\r\n
Login.c(118):
vm.form.companyAddress1=vm.selectedItem.addressDTO[0].addressLine1;\r\n
Login.c(118):
vm.form.companyAddress2=vm.selectedItem.addressDTO[0].addressLine2;\r\n
Login.c(118):
vm.form.companyCity=vm.selectedItem.addressDTO[0].city;\r\n
Login.c(118): vm.form.states =
vm.selectedItem.addressDTO[0].regionCode;\r\n
Login.c(118):
vm.form.companyZipcode=vm.selectedItem.addressDTO[0].postalCode;\r\n
Login.c(118):
vm.form.companyAttention=vm.selectedItem.addressDTO[0].attention;\r\n
Login.c(118):
vm.form.companyPhone=vm.selectedItem.addressDTO[0].phoneNumber;\r\n
Login.c(118):
vm.form.companyDescription=vm.selectedItem.description;\r\n
Login.c(118):
vm.form.companyStateofincorporation=vm.selectedItem.icrInfoDTO[0].stateOfRegis
Login.c(118): tration;\r\n
Login.c(118):
vm.form.companyReportableamountfield=vm.selectedItem.icrInfoDTO[0].reportableA
Login.c(118): mount;\r\n
Login.c(118):
vm.form.companyStatetaxidnumber=vm.selectedItem.icrInfoDTO[0].stateTaxId;\r\n
Login.c(118): vm.form.companyincome =
vm.selectedItem.icrInfoDTO[0].incomeToReport;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyTaxform=
"IRS";//vm.selectedItem[0].taxInfoDTO.taxFormId;\r\n
Login.c(118): vm.form.companyTaxauthority = "IRS";
//selectedItem.taxInfoDTO.authorityName
Login.c(118): \r\n
Login.c(118): vm.form.companyTaxidnumber =
vm.selectedItem.taxInfoDTO.taxId ;\r\n
Login.c(118): \r\n
Login.c(118): vm.form.companyDefaulttcc =
vm.selectedItem.defaultTccCode;\r\n
Login.c(118): \r\n
Login.c(118): //*** code to get data for additional info page grids
********\r\n
Login.c(118): \r\n
Login.c(118): vm.additionalDataDynamic =
vm.selectedItem.addressDTO;\r\n
Login.c(118): if(vm.selectedItem.contactDTO[0]){\r\n
Login.c(118): vm.contactDetailInfo =
vm.selectedItem.contactDTO[0].contactDetailDTO; \r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): vm.contactinfoDataDynamic =
vm.selectedItem.contactDTO;\r\n
Login.c(118): \r\n
Login.c(118): vm.serverStatus = '';\r\n
Login.c(118): \r\n
Login.c(118): if(vm.form.companyId){\r\n
Login.c(118): vm.disableCode = true;\r\n
Login.c(118): }\r\n
Login.c(118): else{\r\n
Login.c(118): vm.disableCode = false;\r\n
Login.c(118): }\r\n
Login.c(118): \r\n
Login.c(118): });\r\n
Login.c(118): });\r\n
Login.c(118): $scope.$on(EPConstant.Message.ResetTriggered, function()
{\r\n
Login.c(118): resetCompany();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.ClearTriggered, function()
{\r\n
Login.c(118): clear();\r\n
Login.c(118): });\r\n
Login.c(118): \r\n
Login.c(118): $scope.$on(EPConstant.Message.DeleteTriggered, function()
{\r\n
Logi

You might also like