{"version":3,"sources":["app.config.js","all.1737635055604.min.js"],"names":["ap","Constants","Object","defineProperty","get","create","edit","enumerable","configurable","cacheKey","angular","destroy","routeChangeStarted","routeChangeError","routeChangeSuccess","updatedObject","backspace","tab","enter","shift","ctrl","alt","pauseOrBreak","capsLock","escape","pageUp","pageDown","end","home","leftArrow","upArrow","rightArrow","downArrow","insert","delete","windowKeyLeft","windowKeyRight","selectKey","numpad0","numpad1","numpad2","numpad3","numpad4","numpad5","numpad6","numpad7","numpad8","numpad9","multiply","add","subtract","decimalPoint","divide","numLock","scrollLock","semiColon","equalSign","comma","dash","period","forwardSlash","graveAccent","openBracket","backSlash","closeBraket","singleQuote","additionalArticlesForRec","opCodes","permissions","products","applications","quickSpecs","userSettings","milesOrKilometers","decimal","hexadecimal","octal","controller","app","Home","HomeController","controllerAs","label","name","templateUrl","route","Products","ProductsController","testing","Testing","TestingController","directives","loading","errorMessages","internalServerError","general","modals","cancelButtons","cancel","close","no","saveButtons","ok","save","yes","saving","shell","login","logo","logout","greeting","selectLang","selectLocation","package","section","task","ApplicationRoleType","AutoPointClaim","AutoPointRole","CrudAction","CodeType","ContactType","HttpRequestType","InspectionType","MediaType","ModalActionResult","ModalSize","OdometerType","OrganizationUnitType","PackageType","PackageStatusType","RegionType","RelatedRecommendationType","Source","TaskAnswer","TaskAvailabilityType","TaskInputType","UnitType","Guid","empty","AuthData","authData","this","_applicationAccessClaims","_hasPermissions","_isLoaded","_isValid","_longTermExpirationUtcTime","Date","now","_organizationUnits","_productAccessClaims","collection","_productAccessRoles","_shortTermExpirationUtcTime","_timeOutBufferSeconds","Utilities","isNullOrUndefined","updateAuthData","prototype","_bearerToken","_username","_firstName","_lastName","trim","_lastUiUpdate","_preferredLanguageId","_refreshToken","_userCacheKey","getUTCTime","dateString","date","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getTime","hasApplicationClaim","claim","hasOnlyTheRequestedClaim","arrayCheckProperty","x","firstOrganization","applicationPermissions","hasOrganizationProductClaim","organizationCacheKey","includeParentalAccessCheck","hasAccess","isNullOrEmptyCollection","filter","isTrueValue","organizationUnitCacheKey","hasOrganizationProductRole","role","indexOf","isExpired","bufferInMinutes","isTokenExpired","isStale","field","toString","expiration","expirationMinusNow","buffered","expired","toIAuthDataForCookieStorage","_a","_shortTermExpirationDate","_issued","access_token","expires_in","_expiresIn","first_name","last_name","organization_units","preferred_language_id","refresh_token","refresh_token_expires","_longTermExpirationDate","token_type","_tokenType","user_cache_key","username","_this","extend","hasOwnProperty","JSON","parse","application_permissions","orgsProducts","product_permissions","map","permissionId","organizationUnits","forEach","orgUnit","applicationRoles","isNullOrWhitespace","toJSON","space","stringify","copy","object","createKeyValueArray","enumeration","keyValueArray","keys","value","isNaN","parseInt","stringKey","push","key","split","join","clearObjectPropertiesFirst","target","object1","objectN","_i","arguments","length","member","$","input","replace","call","isNullOrTrueValue","stringValue","toLowerCase","sortByProperty","array","propertyName","ascending","sortByProperties","sortProperties","sort","a","b","asc","comparePropertyA","comparePropertyB","i","j","propertyNamesCount","propertyCount","propertyNames","toTitleCase","titleCaseRegex","toUpperCase","isValidVin","vin","char","digit","checkDigit","sum","vinRegex","RegExp","test","index","charAt","Number","w","weights","transliterations","actualDigit","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","module","constant","toastr","run","$route","reload","DirectivesTranslations","config","$translateProvider","translationKeys","translations","ErrorMessagesTranslations","englishTable","TaskTranslations","ModalTranslations","Services","BaseHttpService","httpService","$inject","url","data","isFormData","localStorageKey","bustCache","enableTimeStampedUrl","renew","resolveDeferred","update","service","Modals","BaseModalController","$uibModalInstance","initResult","Dismissed","action","result","fail","Failed","Saved","Components","TypeaheadOrgSelectorController","$document","$element","$routeParams","$scope","$timeout","locationService","ssoService","minLength","typeaheadOptions","debounce","default","blur","organizations","$on","eventNames","changeSelectedGroup","init","selectedGroup","getOrganizationCacheKey","createSearchableOrgs","then","searchableOrgs","clearSelection","tempGroup","focusSearch","$event","$input","find","on","organizationChanged","$item","onOrganizationChanged","off","TypeaheadOrgSelectorComponent","bindings","component","ApLabeledTextInputController","$transclude","$onChanges","changesObj","hasValue","property","currentValue","isReadOnly","readOnly","selectInput","$onInit","required","rows","showTextArea","hasText","isSlotFilled","hasAddOn","hasTranscludedContent","$postLink","event","onKeyPress","arg","autoFocus","onTextboxExit","model","cssClass","onChange","focus","select","ApLabeledTextInput","maxLength","options","placeholder","transclude","addOn","text","Directives","OrganizationSelectorLinkController","location","Location","onOrganizationChange","OrganizationSelectorLinkDirective","restrict","scope","activeOrganizationCacheKey","highlightSubOrganization","organization","factory","directive","ApPageContentController","$window","title","routes","routeChanged","adjustHeight","windowHeight","outerHeight","parent","jQuery","whiteSurround","graySurround","header","leftPanel","rightPanel","headerAndFooter","grayMinusWhite","padding","Math","ceil","height","organizationListHeight","workingHeight","max","workingOrganizationListHeight","css","resize","ApPageContent","ApPageHeaderController","$rootScope","authenticationService","appSettings","firstName","authorizationData","logoUrl","urls","dynamicContentUrl","ApPageHeader","ApPageMenuController","triggerMenuEvent","menuItem","subAction","isOpen","ApPageMenu","ApWaitingMessage","isLoading","displayText","link","ApPageNavbarController","showCloseWindow","onDefaultPage","onHomePage","closeWindow","defaultAction","ApPageNavbar","__extends","extendStatics","setPrototypeOf","__proto__","Array","d","p","__","constructor","ApplicationApiService","_super","$q","baseUrl","matrixApi","getProducts","getHierarchyPermissions","userCacheKey","getHierarchiesForOrg","orgCacheKey","getIsDsd","SsoApiService","ssoApi","oneMinuteInMilliseconds","refreshingToken","getActiveApplicationRoles","getUsersOrganizationsList","getUserApplicationRoles","renewAccessToken","authPromise","Token","refreshToken","ApplicationCacheKey","applicationCacheKey","IncludePermissions","newAuthData","ApplicationService","applicationApiService","_applications","_loaded","clear","loadApplications","when","ModalService","$uibModal","modal","open","modalFolderName","resolve","size","backdrop","keyboard","Large","Small","Medium","confirmModal","modalOptions","ConfirmModalController","modalSize","inject","AuthenticationService","$cookies","localStorageService","_authData","authDataCookieName","localStorageKeys","timeOutBufferSeconds","cookieData","getAuthorizationDataFromCookie","loaded","isLoaded","getObject","getItemWithoutPromise","isReportingOnly","reportingOnly","unit","ReportingUser","list","parentOrg","type","GlobalOrganization","splice","subOrganizationUnits","deleteAllItems","remove","window","href","sso","encodeURIComponent","setAuthorizationData","setItem","putObject","domain","cookieDomain","HttpService","$http","pendingRequests","shouldTimeStampUrl","timeStampKey","attemptLocalStorageFirst","hasLocalStorageKey","deleteItem","getItem","localItem","response","makeHttpRequest","POST","DELETE","GET","getRenewPromise","authRefreshPromise","getRequestConfig","includeContentTypeHeader","headers","Authorization","bearerToken","preferredLanguageId","method","originalUrl","timeStampUrl","undefined","transformRequest","identity","getPendingRequest","handleError","error","status","console","statusText","pendingRequest","promise","canceller","defer","thenFunc","finallyFunc","request","PUT","hasQueryString","search","queryParam","timeStamp","LocalStorageService","cacheHours","storedKeys","getApKeys","itemKey","localStorage","item","expires","actualItem","saveApKey","cacheTimeInMs","cacheTime","storageItem","LocationService","$location","changeOrganization","path","useFirstOrganizationIfRouteParamIsMissing","o","isOnPage","current","redirect","id","searchParams","replaceHistory","actionTrailingSlash","idTrailingSlash","idString","SsoService","$interval","ssoApiService","_bufferInMinutes","_loadedOrganizations","_loadedRoles","_oneMinuteInMilliseconds","_organizations","count","$destroy","_interval","roles","ApplicationUserRole","_applicationRoles","_productRoles","allRoles","applicationRoleType","isActive","ProductUserRole","_searchableOrgs","loadUsersOrganizationsList","isAutoPointAdmin","org","_orgListPromise","userOrganizations","userOrganization","ensureOrganizationMappings","referenceOrganization","lastUiUpdate","subOrganization","parentOrganizationUnitCacheKey","subOrganizationCacheKeys","subOrg","hasPermissions","updatedAuthData","isApAdmin","Admin","autoPointOrg","minOrgCount","rightPanelPadding","getFirstLocationIfOnlySubOrganizationsExist","success","searchableOrgsLength","organizationTypeAheadChanged","preventDefault","stopPropagation","applicationService","isAutoPoint","isGlobal","isLocation","isDsd","appointments","backoffice","datadictionary","matrix","multiPoint","noApplicationAccess","preowned","reporting","shop","welcomePoint","isPageRecentlyOpened","ssoPromise","appPromise","hierarchyPermissionsPromise","orgHierarchiesPromise","all","results","canAccessMultiPoint","some","MultiPointUser","canAccessAppointments","AppointmentsUser","canAccessWelcomePoint","WelcomePointUser","canAccessPreOwned","CPOUser","canAccessReporting","DealerReportsViewer","UserReportsViewer","InternalReportsViewer","hierarchies","hierarchyPermissionsForThisOrg","applicationRoleId","y","orgHierarchyCacheKey","accessVars","hasMultiPointAccess","hasAppointmentsAccess","hasWelcomePointAccess","hasReportingAccess","hasPreOwnedAccess","rolesList","hasMpRole","applicationId","mercedesmultipointii","multipointii","hasAppointmentsRole","advisor","hasWpRole","hasEnterpriseReportsRole","hasDealerReportsRole","hasInternalReportsRole","hasUserReportsRole","hasCpoRole","checkAnyAccess","checkProductAccess","openLink","hasAnyAccess","product","accessProduct","hasNoOtherAccess","productValue","productName","angularDebugEnabled","PackageEditorConfig","toastrConfig","timeOut","positionClass","configure","$compileProvider","$logProvider","$routeProvider","debugInfoEnabled","debugEnabled","otherwise","preferredLanguage","useSanitizeValueStrategy","avenue","motorist","$templateCache","put"],"mappings":"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","file":"all.1737635055604.min.js","sourcesContent":["/// \n'use strict';\nvar app;\n(function (app) {\n var PackageEditorConfig = /** @class */ (function () {\n function PackageEditorConfig() {\n }\n PackageEditorConfig.toastrConfig = function (toastr) {\n toastr.options.timeOut = 4000;\n toastr.options.positionClass = 'toast-bottom-right';\n };\n PackageEditorConfig.configure = function ($compileProvider, $logProvider, $routeProvider, $translateProvider, appSettings) {\n $compileProvider.debugInfoEnabled(appSettings.angularDebugEnabled);\n if (!ap.Utilities.isNullOrUndefined($logProvider.debugEnabled)) {\n $logProvider.debugEnabled(true);\n }\n var routes = ap.Constants.routes;\n $routeProvider\n .when(\"/\" + routes.home.route, routes.home)\n .when(\"/:organizationCacheKey/\" + routes.products.route, routes.products)\n .when(\"/:organizationCacheKey/\" + routes.testing.route, routes.testing)\n .otherwise(\"/\" + routes.home.route);\n $translateProvider.translations();\n $translateProvider.preferredLanguage('en');\n $translateProvider.useSanitizeValueStrategy('escapeParameters');\n };\n return PackageEditorConfig;\n }());\n angular.module('app')\n .config(['$compileProvider', '$logProvider', '$routeProvider', '$translateProvider', 'appSettings', PackageEditorConfig.configure])\n .config(['toastr', PackageEditorConfig.toastrConfig]);\n angular.module('deploy', []).constant('appSettings', {\n angularDebugEnabled: true,\n applicationCacheKey: '3dcc11f0-1ffc-4d5e-8804-11a22cbaa13e',\n cookieDomain: '.local.autopoint.com',\n urls: {\n advisor: 'http://advisor.local.autopoint.com',\n avenue: 'http://avenue.local.autopoint.com',\n backoffice: 'http://backoffice.local.autopoint.com',\n datadictionary: 'http://datadictionary.local.autopoint.com',\n dynamicContentUrl: 'http://dynamiccontent.local.autopoint.com',\n matrix: 'http://matrix.local.autopoint.com',\n matrixApi: 'http://thematrixapi.local.autopoint.com',\n motorist: 'http://motorist.local.autopoint.com',\n multipointii: 'http://multipointii.local.autopoint.com',\n package: 'http://package.local.autopoint.com',\n preowned: 'http://cpo.local.autopoint.com',\n reporting: 'http://reporting.local.autopoint.com',\n shop: 'http://shop.local.autopoint.com',\n sso: 'http://sso.local.autopoint.com',\n ssoApi: 'http://ssoapi.local.autopoint.com',\n welcomePoint: 'http://welcomePoint.local.autopoint.com',\n mercedesmultipointii: 'http://mercedes-multipointii.local.autopoint.com/'\n }\n });\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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O1NBQ3pFO0tBQ0QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxFQWpFTSxHQUFHLEtBQUgsR0FBRyxRQWlFVCIsImZpbGUiOiJhcHAuY29uZmlnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwIHtcblx0Y2xhc3MgUGFja2FnZUVkaXRvckNvbmZpZyB7XG5cblx0XHRzdGF0aWMgdG9hc3RyQ29uZmlnKHRvYXN0cjogVG9hc3RyKSB7XG5cdFx0XHR0b2FzdHIub3B0aW9ucy50aW1lT3V0ID0gNDAwMDtcblx0XHRcdHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0Jztcblx0XHR9XG5cblxuXHRcdHN0YXRpYyBjb25maWd1cmUoXG5cdFx0XHQkY29tcGlsZVByb3ZpZGVyOiBuZy5JQ29tcGlsZVByb3ZpZGVyLFxuXHRcdFx0JGxvZ1Byb3ZpZGVyOiBuZy5JTG9nUHJvdmlkZXIsXG5cdFx0XHQkcm91dGVQcm92aWRlcjogbmcucm91dGUuSVJvdXRlUHJvdmlkZXIsXG5cdFx0XHQkdHJhbnNsYXRlUHJvdmlkZXI6IG5nLnRyYW5zbGF0ZS5JVHJhbnNsYXRlUHJvdmlkZXIsXG5cdFx0XHRhcHBTZXR0aW5nczogSUFwcFNldHRpbmdzXG5cdFx0KSB7XG5cblx0XHRcdCRjb21waWxlUHJvdmlkZXIuZGVidWdJbmZvRW5hYmxlZChhcHBTZXR0aW5ncy5hbmd1bGFyRGVidWdFbmFibGVkKTtcblxuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoJGxvZ1Byb3ZpZGVyLmRlYnVnRW5hYmxlZCkpIHtcblx0XHRcdFx0JGxvZ1Byb3ZpZGVyLmRlYnVnRW5hYmxlZCh0cnVlKTtcblx0XHRcdH1cblxuXHRcdFx0dmFyIHJvdXRlcyA9IGFwLkNvbnN0YW50cy5yb3V0ZXM7XG5cblx0XHRcdCRyb3V0ZVByb3ZpZGVyXG5cdFx0XHRcdC53aGVuKGAvJHtyb3V0ZXMuaG9tZS5yb3V0ZX1gLCByb3V0ZXMuaG9tZSlcblx0XHRcdFx0LndoZW4oYC86b3JnYW5pemF0aW9uQ2FjaGVLZXkvJHtyb3V0ZXMucHJvZHVjdHMucm91dGV9YCwgcm91dGVzLnByb2R1Y3RzKVxuXHRcdFx0XHQud2hlbihgLzpvcmdhbml6YXRpb25DYWNoZUtleS8ke3JvdXRlcy50ZXN0aW5nLnJvdXRlfWAsIHJvdXRlcy50ZXN0aW5nKVxuXHRcdFx0XHQub3RoZXJ3aXNlKGAvJHtyb3V0ZXMuaG9tZS5yb3V0ZX1gKTtcblxuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnRyYW5zbGF0aW9ucygpO1xuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnByZWZlcnJlZExhbmd1YWdlKCdlbicpO1xuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnVzZVNhbml0aXplVmFsdWVTdHJhdGVneSgnZXNjYXBlUGFyYW1ldGVycycpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAnKVxuXHRcdC5jb25maWcoWyckY29tcGlsZVByb3ZpZGVyJywgJyRsb2dQcm92aWRlcicsICckcm91dGVQcm92aWRlcicsICckdHJhbnNsYXRlUHJvdmlkZXInLCAnYXBwU2V0dGluZ3MnLCBQYWNrYWdlRWRpdG9yQ29uZmlnLmNvbmZpZ3VyZV0pXG5cdFx0LmNvbmZpZyhbJ3RvYXN0cicsIFBhY2thZ2VFZGl0b3JDb25maWcudG9hc3RyQ29uZmlnXSk7XG5cblx0YW5ndWxhci5tb2R1bGUoJ2RlcGxveScsIFtdKS5jb25zdGFudCgnYXBwU2V0dGluZ3MnLCA8SUFwcFNldHRpbmdzPiB7XG5cdFx0YW5ndWxhckRlYnVnRW5hYmxlZDogdHJ1ZSxcblx0XHRhcHBsaWNhdGlvbkNhY2hlS2V5OiAnM2RjYzExZjAtMWZmYy00ZDVlLTg4MDQtMTFhMjJjYmFhMTNlJyxcblx0XHRjb29raWVEb21haW46ICcubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0dXJsczoge1xuXHRcdFx0YWR2aXNvcjogJ2h0dHA6Ly9hZHZpc29yLmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0YXZlbnVlOiAnaHR0cDovL2F2ZW51ZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdGJhY2tvZmZpY2U6ICdodHRwOi8vYmFja29mZmljZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdGRhdGFkaWN0aW9uYXJ5OiAnaHR0cDovL2RhdGFkaWN0aW9uYXJ5LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0ZHluYW1pY0NvbnRlbnRVcmw6ICdodHRwOi8vZHluYW1pY2NvbnRlbnQubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRtYXRyaXg6ICdodHRwOi8vbWF0cml4LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0bWF0cml4QXBpOiAnaHR0cDovL3RoZW1hdHJpeGFwaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdG1vdG9yaXN0OiAnaHR0cDovL21vdG9yaXN0LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0bXVsdGlwb2ludGlpOiAnaHR0cDovL211bHRpcG9pbnRpaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHBhY2thZ2U6ICdodHRwOi8vcGFja2FnZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHByZW93bmVkOiAnaHR0cDovL2Nwby5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHJlcG9ydGluZzogJ2h0dHA6Ly9yZXBvcnRpbmcubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRzaG9wOiAnaHR0cDovL3Nob3AubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRzc286ICdodHRwOi8vc3NvLmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0c3NvQXBpOiAnaHR0cDovL3Nzb2FwaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHdlbGNvbWVQb2ludDogJ2h0dHA6Ly93ZWxjb21lUG9pbnQubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRtZXJjZWRlc211bHRpcG9pbnRpaTogJ2h0dHA6Ly9tZXJjZWRlcy1tdWx0aXBvaW50aWkubG9jYWwuYXV0b3BvaW50LmNvbS8nXG5cdFx0fVxuXHR9KTtcbn1cbiJdfQ==\n","/// \n'use strict';\nvar ap;\n(function (ap) {\n var Constants = /** @class */ (function () {\n function Constants() {\n }\n Object.defineProperty(Constants, \"actions\", {\n get: function () {\n return {\n create: 'create',\n edit: 'edit'\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"autoPointOrg\", {\n get: function () {\n return {\n cacheKey: 'ef68fd19-86c9-478d-a0b3-2d62de2d41a1'\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"eventNames\", {\n get: function () {\n return {\n angular: {\n destroy: '$destroy',\n routeChangeStarted: '$routeChangeStart',\n routeChangeError: '$routeChangeError',\n routeChangeSuccess: '$routeChangeSuccess',\n },\n /** This is a catch all broadcast that should be replaced later with SignalR it should broadcast a IRefreshDataObject - T is the type of object being updated/refreshed */\n updatedObject: 'updatedObject',\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"key\", {\n get: function () {\n return {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n ctrl: 17,\n alt: 18,\n pauseOrBreak: 19,\n capsLock: 20,\n escape: 27,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n leftArrow: 37,\n upArrow: 38,\n rightArrow: 39,\n downArrow: 40,\n insert: 45,\n delete: 46,\n windowKeyLeft: 91,\n windowKeyRight: 92,\n selectKey: 93,\n numpad0: 96,\n numpad1: 97,\n numpad2: 98,\n numpad3: 99,\n numpad4: 100,\n numpad5: 101,\n numpad6: 102,\n numpad7: 103,\n numpad8: 104,\n numpad9: 105,\n multiply: 106,\n add: 107,\n subtract: 109,\n decimalPoint: 110,\n divide: 111,\n numLock: 144,\n scrollLock: 145,\n semiColon: 186,\n equalSign: 187,\n comma: 188,\n dash: 189,\n period: 190,\n forwardSlash: 191,\n graveAccent: 192,\n openBracket: 219,\n backSlash: 220,\n closeBraket: 221,\n singleQuote: 222\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"localStorageKeys\", {\n get: function () {\n return {\n additionalArticlesForRec: 'additionalArticlesForRecommendation',\n opCodes: 'opCodes',\n /** These are ONLY for application/product permissions used with the authentication service */\n permissions: {\n /** Product permissions claims that allow you to access the different products or applications developed at AutoPoint */\n products: 'permissionsProducts',\n /** Application specific permissions or roles (ie. \"admin\", \"technician\", etc...) */\n applications: 'permissionsApplications'\n },\n quickSpecs: 'quickSpecs',\n userSettings: {\n milesOrKilometers: 'userSettings_milesOrKilometers'\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"radix\", {\n get: function () {\n return {\n decimal: 10,\n hexadecimal: 16,\n octal: 8\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"routes\", {\n get: function () {\n return {\n /** Default location when no organization is selected */\n home: { controller: app.Home.HomeController, controllerAs: 'ctrl', label: 'Home', name: 'home', templateUrl: 'app/home/index.html', route: '' },\n /** Multiple products are available so prompt the user to redirect */\n products: { controller: app.Products.ProductsController, controllerAs: 'ctrl', label: 'Products', name: 'products', templateUrl: 'app/products/index.html', route: 'products' },\n /** testing page for getting controls up and running faster when nested within modals or other controls that need multiple layers of UI interaction to get them displayable */\n testing: { controller: app.Testing.TestingController, controllerAs: 'ctrl', label: 'Testing', name: 'testing', templateUrl: 'app/testing/index.html', route: 'testing' }\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"translationKeys\", {\n get: function () {\n return {\n directives: {\n loading: 'DIRECTIVES.LOADING'\n },\n errorMessages: {\n internalServerError: 'ERROR_MESSAGES.INTERNAL_SERVER_ERROR',\n },\n general: {},\n modals: {\n cancelButtons: {\n cancel: 'MODALS.CANCEL_BUTTONS.CANCEL',\n close: 'MODALS.CANCEL_BUTTONS.CLOSE',\n no: 'MODALS.CANCEL_BUTTONS.NO',\n },\n saveButtons: {\n ok: 'MODALS.SAVE_BUTTONS.OK',\n save: 'MODALS.SAVE_BUTTONS.SAVE',\n yes: 'MODALS.SAVE_BUTTONS.YES',\n },\n saving: 'MODALS.SAVING',\n },\n shell: {\n login: 'SHELL.LOGIN',\n logo: 'SHELL.AUTOPOINT_LOGO',\n logout: 'SHELL.LOGOUT',\n greeting: 'SHELL.GREETING',\n selectLang: 'SHELL.SELECT_LANG',\n selectLocation: 'SHELL.SELECT_LOCATION',\n },\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Constants, \"updatedObjects\", {\n get: function () {\n return {\n package: 'package',\n section: 'section',\n task: 'task',\n };\n },\n enumerable: true,\n configurable: true\n });\n return Constants;\n }());\n ap.Constants = Constants;\n})(ap || (ap = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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LENBQUM7OztXQUFBO1FBRUQsc0JBQVcsNEJBQWU7aUJBQTFCO2dCQUNDLE9BQU87b0JBQ04sVUFBVSxFQUFFO3dCQUNYLE9BQU8sRUFBRSxvQkFBb0I7cUJBQzdCO29CQUNELGFBQWEsRUFBRTt3QkFDZCxtQkFBbUIsRUFBRSxzQ0FBc0M7cUJBQzNEO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE1BQU0sRUFBRTt3QkFDUCxhQUFhLEVBQUU7NEJBQ2QsTUFBTSxFQUFFLDhCQUE4Qjs0QkFDdEMsS0FBSyxFQUFFLDZCQUE2Qjs0QkFDcEMsRUFBRSxFQUFFLDBCQUEwQjt5QkFDOUI7d0JBQ0QsV0FBVyxFQUFFOzRCQUNaLEVBQUUsRUFBRSx3QkFBd0I7NEJBQzVCLElBQUksRUFBRSwwQkFBMEI7NEJBQ2hDLEdBQUcsRUFBRSx5QkFBeUI7eUJBQzlCO3dCQUNELE1BQU0sRUFBRSxlQUFlO3FCQUN2QjtvQkFDRCxLQUFLLEVBQUU7d0JBQ04sS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLElBQUksRUFBRSxzQkFBc0I7d0JBQzVCLE1BQU0sRUFBRSxjQUFjO3dCQUN0QixRQUFRLEVBQUUsZ0JBQWdCO3dCQUMxQixVQUFVLEVBQUUsbUJBQW1CO3dCQUMvQixjQUFjLEVBQUUsdUJBQXVCO3FCQUN2QztpQkFDRCxDQUFDO1lBQ0gsQ0FBQzs7O1dBQUE7UUFFRCxzQkFBVywyQkFBYztpQkFBekI7Z0JBQ0MsT0FBTztvQkFDTixPQUFPLEVBQUUsU0FBUztvQkFDbEIsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLElBQUksRUFBRSxNQUFNO2lCQUNaLENBQUM7WUFDSCxDQUFDOzs7V0FBQTtRQUNGLGdCQUFDO0lBQUQsQ0FqS0EsQUFpS0MsSUFBQTtJQWpLWSxZQUFTLFlBaUtyQixDQUFBO0FBQ0YsQ0FBQyxFQW5LTSxFQUFFLEtBQUYsRUFBRSxRQW1LUiIsImZpbGUiOiJtb2RlbHMvY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXAge1xuXHRleHBvcnQgY2xhc3MgQ29uc3RhbnRzIHtcblx0XHRzdGF0aWMgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRjcmVhdGU6ICdjcmVhdGUnLFxuXHRcdFx0XHRlZGl0OiAnZWRpdCdcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0c3RhdGljIGdldCBhdXRvUG9pbnRPcmcoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRjYWNoZUtleTogJ2VmNjhmZDE5LTg2YzktNDc4ZC1hMGIzLTJkNjJkZTJkNDFhMSdcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0c3RhdGljIGdldCBldmVudE5hbWVzKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0YW5ndWxhcjpcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGRlc3Ryb3k6ICckZGVzdHJveScsXG5cdFx0XHRcdFx0cm91dGVDaGFuZ2VTdGFydGVkOiAnJHJvdXRlQ2hhbmdlU3RhcnQnLFxuXHRcdFx0XHRcdHJvdXRlQ2hhbmdlRXJyb3I6ICckcm91dGVDaGFuZ2VFcnJvcicsXG5cdFx0XHRcdFx0cm91dGVDaGFuZ2VTdWNjZXNzOiAnJHJvdXRlQ2hhbmdlU3VjY2VzcycsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC8qKiBUaGlzIGlzIGEgY2F0Y2ggYWxsIGJyb2FkY2FzdCB0aGF0IHNob3VsZCBiZSByZXBsYWNlZCBsYXRlciB3aXRoIFNpZ25hbFIgaXQgc2hvdWxkIGJyb2FkY2FzdCBhIElSZWZyZXNoRGF0YU9iamVjdDxUPiAtIFQgaXMgdGhlIHR5cGUgb2Ygb2JqZWN0IGJlaW5nIHVwZGF0ZWQvcmVmcmVzaGVkICovXG5cdFx0XHRcdHVwZGF0ZWRPYmplY3Q6ICd1cGRhdGVkT2JqZWN0Jyxcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0c3RhdGljIGdldCBrZXkoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRiYWNrc3BhY2U6IDgsXG5cdFx0XHRcdHRhYjogOSxcblx0XHRcdFx0ZW50ZXI6IDEzLFxuXHRcdFx0XHRzaGlmdDogMTYsXG5cdFx0XHRcdGN0cmw6IDE3LFxuXHRcdFx0XHRhbHQ6IDE4LFxuXHRcdFx0XHRwYXVzZU9yQnJlYWs6IDE5LFxuXHRcdFx0XHRjYXBzTG9jazogMjAsXG5cdFx0XHRcdGVzY2FwZTogMjcsXG5cdFx0XHRcdHBhZ2VVcDogMzMsXG5cdFx0XHRcdHBhZ2VEb3duOiAzNCxcblx0XHRcdFx0ZW5kOiAzNSxcblx0XHRcdFx0aG9tZTogMzYsXG5cdFx0XHRcdGxlZnRBcnJvdzogMzcsXG5cdFx0XHRcdHVwQXJyb3c6IDM4LFxuXHRcdFx0XHRyaWdodEFycm93OiAzOSxcblx0XHRcdFx0ZG93bkFycm93OiA0MCxcblx0XHRcdFx0aW5zZXJ0OiA0NSxcblx0XHRcdFx0ZGVsZXRlOiA0Nixcblx0XHRcdFx0d2luZG93S2V5TGVmdDogOTEsXG5cdFx0XHRcdHdpbmRvd0tleVJpZ2h0OiA5Mixcblx0XHRcdFx0c2VsZWN0S2V5OiA5Myxcblx0XHRcdFx0bnVtcGFkMDogOTYsXG5cdFx0XHRcdG51bXBhZDE6IDk3LFxuXHRcdFx0XHRudW1wYWQyOiA5OCxcblx0XHRcdFx0bnVtcGFkMzogOTksXG5cdFx0XHRcdG51bXBhZDQ6IDEwMCxcblx0XHRcdFx0bnVtcGFkNTogMTAxLFxuXHRcdFx0XHRudW1wYWQ2OiAxMDIsXG5cdFx0XHRcdG51bXBhZDc6IDEwMyxcblx0XHRcdFx0bnVtcGFkODogMTA0LFxuXHRcdFx0XHRudW1wYWQ5OiAxMDUsXG5cdFx0XHRcdG11bHRpcGx5OiAxMDYsXG5cdFx0XHRcdGFkZDogMTA3LFxuXHRcdFx0XHRzdWJ0cmFjdDogMTA5LFxuXHRcdFx0XHRkZWNpbWFsUG9pbnQ6IDExMCxcblx0XHRcdFx0ZGl2aWRlOiAxMTEsXG5cdFx0XHRcdG51bUxvY2s6IDE0NCxcblx0XHRcdFx0c2Nyb2xsTG9jazogMTQ1LFxuXHRcdFx0XHRzZW1pQ29sb246IDE4Nixcblx0XHRcdFx0ZXF1YWxTaWduOiAxODcsXG5cdFx0XHRcdGNvbW1hOiAxODgsXG5cdFx0XHRcdGRhc2g6IDE4OSxcblx0XHRcdFx0cGVyaW9kOiAxOTAsXG5cdFx0XHRcdGZvcndhcmRTbGFzaDogMTkxLFxuXHRcdFx0XHRncmF2ZUFjY2VudDogMTkyLFxuXHRcdFx0XHRvcGVuQnJhY2tldDogMjE5LFxuXHRcdFx0XHRiYWNrU2xhc2g6IDIyMCxcblx0XHRcdFx0Y2xvc2VCcmFrZXQ6IDIyMSxcblx0XHRcdFx0c2luZ2xlUXVvdGU6IDIyMlxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRzdGF0aWMgZ2V0IGxvY2FsU3RvcmFnZUtleXMoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRhZGRpdGlvbmFsQXJ0aWNsZXNGb3JSZWM6ICdhZGRpdGlvbmFsQXJ0aWNsZXNGb3JSZWNvbW1lbmRhdGlvbicsXG5cdFx0XHRcdG9wQ29kZXM6ICdvcENvZGVzJyxcblx0XHRcdFx0LyoqIFRoZXNlIGFyZSBPTkxZIGZvciBhcHBsaWNhdGlvbi9wcm9kdWN0IHBlcm1pc3Npb25zIHVzZWQgd2l0aCB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZSAqL1xuXHRcdFx0XHRwZXJtaXNzaW9uczoge1xuXHRcdFx0XHRcdC8qKiBQcm9kdWN0IHBlcm1pc3Npb25zIGNsYWltcyB0aGF0IGFsbG93IHlvdSB0byBhY2Nlc3MgdGhlIGRpZmZlcmVudCBwcm9kdWN0cyBvciBhcHBsaWNhdGlvbnMgZGV2ZWxvcGVkIGF0IEF1dG9Qb2ludCAqL1xuXHRcdFx0XHRcdHByb2R1Y3RzOiAncGVybWlzc2lvbnNQcm9kdWN0cycsXG5cdFx0XHRcdFx0LyoqIEFwcGxpY2F0aW9uIHNwZWNpZmljIHBlcm1pc3Npb25zIG9yIHJvbGVzIChpZS4gXCJhZG1pblwiLCBcInRlY2huaWNpYW5cIiwgZXRjLi4uKSAqL1xuXHRcdFx0XHRcdGFwcGxpY2F0aW9uczogJ3Blcm1pc3Npb25zQXBwbGljYXRpb25zJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRxdWlja1NwZWNzOiAncXVpY2tTcGVjcycsXG5cdFx0XHRcdHVzZXJTZXR0aW5nczoge1xuXHRcdFx0XHRcdG1pbGVzT3JLaWxvbWV0ZXJzOiAndXNlclNldHRpbmdzX21pbGVzT3JLaWxvbWV0ZXJzJ1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdHN0YXRpYyBnZXQgcmFkaXgoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRkZWNpbWFsOiAxMCxcblx0XHRcdFx0aGV4YWRlY2ltYWw6IDE2LFxuXHRcdFx0XHRvY3RhbDogOFxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRzdGF0aWMgZ2V0IHJvdXRlcygpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdC8qKiBEZWZhdWx0IGxvY2F0aW9uIHdoZW4gbm8gb3JnYW5pemF0aW9uIGlzIHNlbGVjdGVkICovXG5cdFx0XHRcdGhvbWU6ICAgICA8SVJvdXRlPnsgY29udHJvbGxlcjogYXBwLkhvbWUuSG9tZUNvbnRyb2xsZXIsICAgICAgICAgY29udHJvbGxlckFzOiAnY3RybCcsIGxhYmVsOiAnSG9tZScsICAgICBuYW1lOiAnaG9tZScsICAgICB0ZW1wbGF0ZVVybDogJ2FwcC9ob21lL2luZGV4Lmh0bWwnLCAgICAgcm91dGU6ICcnIH0sXG5cdFx0XHRcdC8qKiBNdWx0aXBsZSBwcm9kdWN0cyBhcmUgYXZhaWxhYmxlIHNvIHByb21wdCB0aGUgdXNlciB0byByZWRpcmVjdCAqL1xuXHRcdFx0XHRwcm9kdWN0czogPElSb3V0ZT57IGNvbnRyb2xsZXI6IGFwcC5Qcm9kdWN0cy5Qcm9kdWN0c0NvbnRyb2xsZXIsIGNvbnRyb2xsZXJBczogJ2N0cmwnLCBsYWJlbDogJ1Byb2R1Y3RzJywgbmFtZTogJ3Byb2R1Y3RzJywgdGVtcGxhdGVVcmw6ICdhcHAvcHJvZHVjdHMvaW5kZXguaHRtbCcsIHJvdXRlOiAncHJvZHVjdHMnIH0sXG5cdFx0XHRcdC8qKiB0ZXN0aW5nIHBhZ2UgZm9yIGdldHRpbmcgY29udHJvbHMgdXAgYW5kIHJ1bm5pbmcgZmFzdGVyIHdoZW4gbmVzdGVkIHdpdGhpbiBtb2RhbHMgb3Igb3RoZXIgY29udHJvbHMgdGhhdCBuZWVkIG11bHRpcGxlIGxheWVycyBvZiBVSSBpbnRlcmFjdGlvbiB0byBnZXQgdGhlbSBkaXNwbGF5YWJsZSAqL1xuXHRcdFx0XHR0ZXN0aW5nOiAgPElSb3V0ZT57IGNvbnRyb2xsZXI6IGFwcC5UZXN0aW5nLlRlc3RpbmdDb250cm9sbGVyLCAgIGNvbnRyb2xsZXJBczogJ2N0cmwnLCBsYWJlbDogJ1Rlc3RpbmcnLCAgbmFtZTogJ3Rlc3RpbmcnLCAgdGVtcGxhdGVVcmw6ICdhcHAvdGVzdGluZy9pbmRleC5odG1sJywgIHJvdXRlOiAndGVzdGluZycgfVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRzdGF0aWMgZ2V0IHRyYW5zbGF0aW9uS2V5cygpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGRpcmVjdGl2ZXM6IHtcblx0XHRcdFx0XHRsb2FkaW5nOiAnRElSRUNUSVZFUy5MT0FESU5HJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRlcnJvck1lc3NhZ2VzOiB7XG5cdFx0XHRcdFx0aW50ZXJuYWxTZXJ2ZXJFcnJvcjogJ0VSUk9SX01FU1NBR0VTLklOVEVSTkFMX1NFUlZFUl9FUlJPUicsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGdlbmVyYWw6IHtcblx0XHRcdFx0fSxcblx0XHRcdFx0bW9kYWxzOiB7XG5cdFx0XHRcdFx0Y2FuY2VsQnV0dG9uczoge1xuXHRcdFx0XHRcdFx0Y2FuY2VsOiAnTU9EQUxTLkNBTkNFTF9CVVRUT05TLkNBTkNFTCcsXG5cdFx0XHRcdFx0XHRjbG9zZTogJ01PREFMUy5DQU5DRUxfQlVUVE9OUy5DTE9TRScsXG5cdFx0XHRcdFx0XHRubzogJ01PREFMUy5DQU5DRUxfQlVUVE9OUy5OTycsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRzYXZlQnV0dG9uczoge1xuXHRcdFx0XHRcdFx0b2s6ICdNT0RBTFMuU0FWRV9CVVRUT05TLk9LJyxcblx0XHRcdFx0XHRcdHNhdmU6ICdNT0RBTFMuU0FWRV9CVVRUT05TLlNBVkUnLFxuXHRcdFx0XHRcdFx0eWVzOiAnTU9EQUxTLlNBVkVfQlVUVE9OUy5ZRVMnLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0c2F2aW5nOiAnTU9EQUxTLlNBVklORycsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNoZWxsOiB7XG5cdFx0XHRcdFx0bG9naW46ICdTSEVMTC5MT0dJTicsXG5cdFx0XHRcdFx0bG9nbzogJ1NIRUxMLkFVVE9QT0lOVF9MT0dPJyxcblx0XHRcdFx0XHRsb2dvdXQ6ICdTSEVMTC5MT0dPVVQnLFxuXHRcdFx0XHRcdGdyZWV0aW5nOiAnU0hFTEwuR1JFRVRJTkcnLFxuXHRcdFx0XHRcdHNlbGVjdExhbmc6ICdTSEVMTC5TRUxFQ1RfTEFORycsXG5cdFx0XHRcdFx0c2VsZWN0TG9jYXRpb246ICdTSEVMTC5TRUxFQ1RfTE9DQVRJT04nLFxuXHRcdFx0XHR9LFxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRzdGF0aWMgZ2V0IHVwZGF0ZWRPYmplY3RzKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0cGFja2FnZTogJ3BhY2thZ2UnLFxuXHRcdFx0XHRzZWN0aW9uOiAnc2VjdGlvbicsXG5cdFx0XHRcdHRhc2s6ICd0YXNrJyxcblx0XHRcdH07XG5cdFx0fVxuXHR9XG59Il19\n\n/// \n'use strict';\nvar ApplicationRoleType;\n(function (ApplicationRoleType) {\n /** Application access roles such as Admin, Manager, etc... */\n ApplicationRoleType[ApplicationRoleType[\"ApplicationUserRole\"] = 1] = \"ApplicationUserRole\";\n /** Product access roles such as MultiPoint, Appointments, etc... */\n ApplicationRoleType[ApplicationRoleType[\"ProductUserRole\"] = 2] = \"ProductUserRole\";\n})(ApplicationRoleType || (ApplicationRoleType = {}));\n/** A list of claims matching the back-end claim ids */\nvar AutoPointClaim;\n(function (AutoPointClaim) {\n /** Basic Access reserved for users with the Technician role. */\n AutoPointClaim[AutoPointClaim[\"Technician\"] = 1001] = \"Technician\";\n /** Basic Access reserved for users with the Service Advisor role. */\n AutoPointClaim[AutoPointClaim[\"ServiceAdvisor\"] = 1002] = \"ServiceAdvisor\";\n /** Basic Access reserved for users with the Manager role. */\n AutoPointClaim[AutoPointClaim[\"Manager\"] = 1003] = \"Manager\";\n /** Basic Access reserved for users with the Parts role. */\n AutoPointClaim[AutoPointClaim[\"Parts\"] = 1004] = \"Parts\";\n /** Basic Access reserved for users with the Used Vehicle Manager role. */\n AutoPointClaim[AutoPointClaim[\"UsedVehicleManager\"] = 1005] = \"UsedVehicleManager\";\n /** Basic Access reserved for users with the Admin role. */\n AutoPointClaim[AutoPointClaim[\"Admin\"] = 1006] = \"Admin\";\n /** Basic Access reserved for users with the CPO Admin role. */\n AutoPointClaim[AutoPointClaim[\"CPOAdmin\"] = 1007] = \"CPOAdmin\";\n /** Basic Access reserved for users with the Read Only role. */\n AutoPointClaim[AutoPointClaim[\"ReadOnly\"] = 1008] = \"ReadOnly\";\n /** Basic Access reserved for users with the BDC User role. */\n AutoPointClaim[AutoPointClaim[\"BDCUser\"] = 1009] = \"BDCUser\";\n /** Indicates the user has access to MultiPoint Application. */\n AutoPointClaim[AutoPointClaim[\"MultiPoint\"] = 10001] = \"MultiPoint\";\n /** Indicates the user has access to Welcome Point Application. */\n AutoPointClaim[AutoPointClaim[\"WelcomePoint\"] = 10002] = \"WelcomePoint\";\n /** Indicates the user has access to Appointments Application. */\n AutoPointClaim[AutoPointClaim[\"Appointments\"] = 10003] = \"Appointments\";\n /** Indicates the user has access to Certified Pre-Owned Application */\n AutoPointClaim[AutoPointClaim[\"CPOUser\"] = 1016] = \"CPOUser\";\n /** Indicates the user has access to Reporting Application. */\n AutoPointClaim[AutoPointClaim[\"Reporting\"] = 1017] = \"Reporting\";\n})(AutoPointClaim || (AutoPointClaim = {}));\n/** A list of roles matching the back-end role ids (These should be converted to a dynamic lookup based on claims rather than roles. */\nvar AutoPointRole;\n(function (AutoPointRole) {\n /** Basic Access reserved for users with the Technician role. */\n AutoPointRole[AutoPointRole[\"Technician\"] = 1] = \"Technician\";\n /** Basic Access reserved for users with the Service Advisor role. */\n AutoPointRole[AutoPointRole[\"ServiceAdvisor\"] = 2] = \"ServiceAdvisor\";\n /** Basic Access reserved for users with the Manager role. */\n AutoPointRole[AutoPointRole[\"ServiceManager\"] = 3] = \"ServiceManager\";\n /** Basic Access reserved for users with the Parts role. */\n AutoPointRole[AutoPointRole[\"Parts\"] = 4] = \"Parts\";\n /** Basic Access reserved for users with the Used Vehicle Manager role. */\n AutoPointRole[AutoPointRole[\"UsedVehicleManager\"] = 5] = \"UsedVehicleManager\";\n /** Basic Access reserved for users with the Admin role. */\n AutoPointRole[AutoPointRole[\"Admin\"] = 6] = \"Admin\";\n /** Basic Access reserved for users with the CPO Admin role. */\n AutoPointRole[AutoPointRole[\"CPOAdmin\"] = 7] = \"CPOAdmin\";\n /** Basic Access reserved for users with the Read Only role. */\n AutoPointRole[AutoPointRole[\"ReadOnly\"] = 8] = \"ReadOnly\";\n /** Basic Access reserved for users with the BDC User role. */\n AutoPointRole[AutoPointRole[\"BusinessDevelopmentCenterUser\"] = 9] = \"BusinessDevelopmentCenterUser\";\n /** Indicates the user has access to MultiPoint Application. */\n AutoPointRole[AutoPointRole[\"MultiPointUser\"] = 10] = \"MultiPointUser\";\n /** Indicates the user has access to Welcome Point Application. */\n AutoPointRole[AutoPointRole[\"WelcomePointUser\"] = 11] = \"WelcomePointUser\";\n /** Indicates the user has access to Appointments Application. */\n AutoPointRole[AutoPointRole[\"AppointmentsUser\"] = 12] = \"AppointmentsUser\";\n /** Indicates the user has access to Certified Pre-Owned Application */\n AutoPointRole[AutoPointRole[\"CPOUser\"] = 20] = \"CPOUser\";\n /** Indicates the user has access to Reporting Application. */\n AutoPointRole[AutoPointRole[\"ReportingUser\"] = 21] = \"ReportingUser\";\n /** Indicates the user has access to Dealer Reporting Application. */\n AutoPointRole[AutoPointRole[\"DealerReportsViewer\"] = 22] = \"DealerReportsViewer\";\n /** Indicates the user has access to Reporting Application. */\n AutoPointRole[AutoPointRole[\"UserReportsViewer\"] = 23] = \"UserReportsViewer\";\n /** Indicates the user has access to Reporting Application. */\n AutoPointRole[AutoPointRole[\"InternalReportsViewer\"] = 24] = \"InternalReportsViewer\";\n})(AutoPointRole || (AutoPointRole = {}));\nvar CrudAction;\n(function (CrudAction) {\n CrudAction[CrudAction[\"Initialized\"] = 0] = \"Initialized\";\n CrudAction[CrudAction[\"Added\"] = 100] = \"Added\";\n CrudAction[CrudAction[\"Deleted\"] = 200] = \"Deleted\";\n CrudAction[CrudAction[\"Updated\"] = 300] = \"Updated\";\n})(CrudAction || (CrudAction = {}));\nvar CodeType;\n(function (CodeType) {\n /** Standard Code Type. Indicates the item is a standard type. The majority of items will have this type. */\n CodeType[CodeType[\"Standard\"] = 1] = \"Standard\";\n /** Generic Code Type. Indicates the item is a generic type, meaning its description can be overridden by a user. */\n CodeType[CodeType[\"Generic\"] = 2] = \"Generic\";\n})(CodeType || (CodeType = {}));\nvar ContactType;\n(function (ContactType) {\n ContactType[ContactType[\"PersonalEmail\"] = 1] = \"PersonalEmail\";\n ContactType[ContactType[\"WorkEmail\"] = 2] = \"WorkEmail\";\n ContactType[ContactType[\"HomePhone\"] = 3] = \"HomePhone\";\n ContactType[ContactType[\"WorkPhone\"] = 4] = \"WorkPhone\";\n ContactType[ContactType[\"MobilePhone\"] = 5] = \"MobilePhone\";\n ContactType[ContactType[\"Fax\"] = 6] = \"Fax\";\n})(ContactType || (ContactType = {}));\nvar HttpRequestType;\n(function (HttpRequestType) {\n HttpRequestType[HttpRequestType[\"GET\"] = 1] = \"GET\";\n HttpRequestType[HttpRequestType[\"POST\"] = 2] = \"POST\";\n HttpRequestType[HttpRequestType[\"PUT\"] = 3] = \"PUT\";\n HttpRequestType[HttpRequestType[\"DELETE\"] = 4] = \"DELETE\";\n})(HttpRequestType || (HttpRequestType = {}));\nvar InspectionType;\n(function (InspectionType) {\n InspectionType[InspectionType[\"Reconditioning\"] = 1] = \"Reconditioning\";\n InspectionType[InspectionType[\"Express\"] = 2] = \"Express\";\n InspectionType[InspectionType[\"Full\"] = 3] = \"Full\";\n InspectionType[InspectionType[\"None\"] = 4] = \"None\";\n})(InspectionType || (InspectionType = {}));\nvar MediaType;\n(function (MediaType) {\n /** Image. Indicates this media is an image (jpeg, png, etc...) */\n MediaType[MediaType[\"Image\"] = 1] = \"Image\";\n /** Sound/Audio. Indicates this media is audio (mp3, wav, etc...) */\n MediaType[MediaType[\"Sound\"] = 2] = \"Sound\";\n /** Video. Indicates this media is a video (mpeg, wmv, etc...). */\n MediaType[MediaType[\"Video\"] = 3] = \"Video\";\n})(MediaType || (MediaType = {}));\nvar ModalActionResult;\n(function (ModalActionResult) {\n ModalActionResult[ModalActionResult[\"Dismissed\"] = 1] = \"Dismissed\";\n ModalActionResult[ModalActionResult[\"Saved\"] = 2] = \"Saved\";\n ModalActionResult[ModalActionResult[\"Failed\"] = 3] = \"Failed\";\n})(ModalActionResult || (ModalActionResult = {}));\nvar ModalSize;\n(function (ModalSize) {\n ModalSize[ModalSize[\"Large\"] = 1] = \"Large\";\n ModalSize[ModalSize[\"Medium\"] = 2] = \"Medium\";\n ModalSize[ModalSize[\"Small\"] = 3] = \"Small\";\n})(ModalSize || (ModalSize = {}));\nvar OdometerType;\n(function (OdometerType) {\n OdometerType[OdometerType[\"Miles\"] = 1] = \"Miles\";\n OdometerType[OdometerType[\"Kilometers\"] = 2] = \"Kilometers\";\n})(OdometerType || (OdometerType = {}));\nvar OrganizationUnitType;\n(function (OrganizationUnitType) {\n /** Organization Sub-Level. Indicates the organization unit is not a physical location but a virtual entity that is considered part of the organization hierarchy. */\n OrganizationUnitType[OrganizationUnitType[\"OrganizationSubLevel\"] = 1] = \"OrganizationSubLevel\";\n /** Location. Indicates the organization unit is a physical location. */\n OrganizationUnitType[OrganizationUnitType[\"Location\"] = 2] = \"Location\";\n /** GlobalOrganization. Indicates the organization is an AutoPoint root level organization */\n OrganizationUnitType[OrganizationUnitType[\"GlobalOrganization\"] = 3] = \"GlobalOrganization\";\n})(OrganizationUnitType || (OrganizationUnitType = {}));\nvar PackageType;\n(function (PackageType) {\n /** Dynamic. Indicates the package is dynamic, which means its data definition is the only thing that is set; it can be displayed however the consuming service or object desires. */\n PackageType[PackageType[\"Dynamic\"] = 1] = \"Dynamic\";\n /** Graphical. Indicates the package is graphical, which means it has to be displayed in the exact format defined by a dealership or OEM. */\n PackageType[PackageType[\"Graphical\"] = 2] = \"Graphical\";\n})(PackageType || (PackageType = {}));\nvar PackageStatusType;\n(function (PackageStatusType) {\n /** OBSOLETE - None. Indicates the package status has not been set. */\n PackageStatusType[PackageStatusType[\"None\"] = 1] = \"None\";\n /** OBSOLETE - Created. Indicates the package has been created but is not yet active. */\n PackageStatusType[PackageStatusType[\"Created\"] = 2] = \"Created\";\n /** Active. Indicates the package has been published and is available for use. */\n PackageStatusType[PackageStatusType[\"Active\"] = 3] = \"Active\";\n /** Inactive. Indicates the package is no longer available for use. */\n PackageStatusType[PackageStatusType[\"Inactive\"] = 4] = \"Inactive\";\n /** OBSOLETE - Archived. Indicates the package has been archived. This is particularly for old versions of an active package. */\n PackageStatusType[PackageStatusType[\"Archived\"] = 5] = \"Archived\";\n /** OBSOLETE - Scheduled. Indicates the package has been completed and is ready for use, but has not been made available yet.*/\n PackageStatusType[PackageStatusType[\"Scheduled\"] = 6] = \"Scheduled\";\n /** Deleted. Indicates the package will be marked as deleted. */\n PackageStatusType[PackageStatusType[\"Deleted\"] = 7] = \"Deleted\";\n})(PackageStatusType || (PackageStatusType = {}));\nvar RegionType;\n(function (RegionType) {\n RegionType[RegionType[\"State\"] = 1] = \"State\";\n RegionType[RegionType[\"FederalDistrict\"] = 2] = \"FederalDistrict\";\n RegionType[RegionType[\"Province\"] = 3] = \"Province\";\n RegionType[RegionType[\"Territory\"] = 4] = \"Territory\";\n RegionType[RegionType[\"Commonwealth\"] = 5] = \"Commonwealth\";\n RegionType[RegionType[\"FreelyAssociatedState\"] = 6] = \"FreelyAssociatedState\";\n RegionType[RegionType[\"Military\"] = 7] = \"Military\";\n})(RegionType || (RegionType = {}));\nvar RelatedRecommendationType;\n(function (RelatedRecommendationType) {\n /**\n * Alternate. Indicates a recommendation is an alternate (equivalent) recommendation\n * for another. Basically, a tech can do either recommendation to satisfy the needs\n * of the vehicle.\n */\n RelatedRecommendationType[RelatedRecommendationType[\"Alternate\"] = 1] = \"Alternate\";\n /**\n * Required. Indicates a recommendation is required (prerequisite/co-requisite)\n * to be able to complete another recommendation. Basically, a tech must do both\n * recommendations.\n */\n RelatedRecommendationType[RelatedRecommendationType[\"Required\"] = 2] = \"Required\";\n /**\n * Opportunity. Indicates a recommendation would be worthwhile to a complete with\n * another recommendation even though it is not completely necessary to repair a\n * vehicle. Basically, a customer should consider doing the opportunity recommendation\n * because it may save them money and time in the long run.\n */\n RelatedRecommendationType[RelatedRecommendationType[\"Opportunity\"] = 3] = \"Opportunity\";\n})(RelatedRecommendationType || (RelatedRecommendationType = {}));\nvar Source;\n(function (Source) {\n /** AutoPoint Inc. Indicates AutoPoint defined the package item. */\n Source[Source[\"AutoPoint\"] = 1] = \"AutoPoint\";\n /** Aftermarket Catalog Enhanced Standard (ACES). Indicates ACES defined the package item. */\n Source[Source[\"Aces\"] = 2] = \"Aces\";\n /** MOTOR Information Systems. Indicates MOTOR defined the package item. */\n Source[Source[\"Motor\"] = 3] = \"Motor\";\n})(Source || (Source = {}));\nvar TaskAnswer;\n(function (TaskAnswer) {\n TaskAnswer[TaskAnswer[\"Pass\"] = 1] = \"Pass\";\n TaskAnswer[TaskAnswer[\"Caution\"] = 2] = \"Caution\";\n TaskAnswer[TaskAnswer[\"Fail\"] = 3] = \"Fail\";\n TaskAnswer[TaskAnswer[\"Yes\"] = 4] = \"Yes\";\n TaskAnswer[TaskAnswer[\"No\"] = 5] = \"No\";\n TaskAnswer[TaskAnswer[\"NeedsReplacement\"] = 6] = \"NeedsReplacement\";\n TaskAnswer[TaskAnswer[\"NeedsRepair\"] = 7] = \"NeedsRepair\";\n TaskAnswer[TaskAnswer[\"BroughtToSpec\"] = 8] = \"BroughtToSpec\";\n TaskAnswer[TaskAnswer[\"NotDone\"] = 9] = \"NotDone\";\n TaskAnswer[TaskAnswer[\"NotApplicable\"] = 10] = \"NotApplicable\";\n})(TaskAnswer || (TaskAnswer = {}));\nvar TaskAvailabilityType;\n(function (TaskAvailabilityType) {\n /** Not Available. Indicates the observation or recommendation is not available for use based on the task result. */\n TaskAvailabilityType[TaskAvailabilityType[\"NotAvailable\"] = 1] = \"NotAvailable\";\n /** Available. Indicates the observation or recommendation is available for use based on the task result. */\n TaskAvailabilityType[TaskAvailabilityType[\"Available\"] = 2] = \"Available\";\n /** Default. Indicates the observation or recommendation is not only available for use, but it is the default selection based on the task result. */\n TaskAvailabilityType[TaskAvailabilityType[\"Default\"] = 3] = \"Default\";\n})(TaskAvailabilityType || (TaskAvailabilityType = {}));\nvar TaskInputType;\n(function (TaskInputType) {\n /** Inspection. Indicates the task is a standard inspection type. */\n TaskInputType[TaskInputType[\"Inspection\"] = 1] = \"Inspection\";\n /** RadioSelection. Indicates the task has two or more possible options as its result, but only one can be selected. */\n TaskInputType[TaskInputType[\"RadioSelection\"] = 3] = \"RadioSelection\";\n /** MultiSelection. Indicates the task has one more options that can be selected for its result. */\n TaskInputType[TaskInputType[\"MultiSelection\"] = 4] = \"MultiSelection\";\n /** FreeText. Indicates the task requires textual input from the tech as its result (e.g. notes). */\n TaskInputType[TaskInputType[\"FreeText\"] = 5] = \"FreeText\";\n /** Graph. Similar to RadioSelection. Indicates the task has a range of possible results, but only one value in the range can be selected. */\n TaskInputType[TaskInputType[\"Graph\"] = 6] = \"Graph\";\n})(TaskInputType || (TaskInputType = {}));\nvar UnitType;\n(function (UnitType) {\n /** None. Indicates the measurement does not have units. */\n UnitType[UnitType[\"None\"] = 1] = \"None\";\n /** Thirty Secondths (/32). Indicates the measurement is measured in 32nths. */\n UnitType[UnitType[\"ThirtySecondths\"] = 2] = \"ThirtySecondths\";\n /** Millimeters (mm). Indicates the measurement is measured in millimeters. */\n UnitType[UnitType[\"Millimeters\"] = 3] = \"Millimeters\";\n /** Pounds per Square Inch (psi). Indicates the measurement is measured in pounds per square inch. */\n UnitType[UnitType[\"PoundsPerSquareInch\"] = 4] = \"PoundsPerSquareInch\";\n /** Farads (F). Indicates the measurement is measured in Farads. It is an electrical quantity: the unit of capacitance. */\n UnitType[UnitType[\"Farads\"] = 5] = \"Farads\";\n})(UnitType || (UnitType = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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SUFDZCwyQ0FBUSxDQUFBO0lBQ1IsaURBQVcsQ0FBQTtJQUNYLDJDQUFRLENBQUE7SUFDUix5Q0FBTyxDQUFBO0lBQ1AsdUNBQU0sQ0FBQTtJQUNOLG1FQUFvQixDQUFBO0lBQ3BCLHlEQUFlLENBQUE7SUFDZiw2REFBaUIsQ0FBQTtJQUNqQixpREFBVyxDQUFBO0lBQ1gsOERBQWtCLENBQUE7QUFDbkIsQ0FBQyxFQVhJLFVBQVUsS0FBVixVQUFVLFFBV2Q7QUFFRCxJQUFLLG9CQU9KO0FBUEQsV0FBSyxvQkFBb0I7SUFDeEIsb0hBQW9IO0lBQ3BILCtFQUFnQixDQUFBO0lBQ2hCLDRHQUE0RztJQUM1Ryx5RUFBYSxDQUFBO0lBQ2Isb0pBQW9KO0lBQ3BKLHFFQUFXLENBQUE7QUFDWixDQUFDLEVBUEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQU94QjtBQUVELElBQUssYUFXSjtBQVhELFdBQUssYUFBYTtJQUNqQixvRUFBb0U7SUFDcEUsNkRBQWMsQ0FBQTtJQUNkLHVIQUF1SDtJQUN2SCxxRUFBa0IsQ0FBQTtJQUNsQixtR0FBbUc7SUFDbkcscUVBQWtCLENBQUE7SUFDbEIsb0dBQW9HO0lBQ3BHLHlEQUFZLENBQUE7SUFDWiw2SUFBNkk7SUFDN0ksbURBQVMsQ0FBQTtBQUNWLENBQUMsRUFYSSxhQUFhLEtBQWIsYUFBYSxRQVdqQjtBQUVELElBQUssUUFXSjtBQVhELFdBQUssUUFBUTtJQUNaLDJEQUEyRDtJQUMzRCx1Q0FBUSxDQUFBO0lBQ1IsK0VBQStFO0lBQy9FLDZEQUFtQixDQUFBO0lBQ25CLDhFQUE4RTtJQUM5RSxxREFBZSxDQUFBO0lBQ2YscUdBQXFHO0lBQ3JHLHFFQUF1QixDQUFBO0lBQ3ZCLDBIQUEwSDtJQUMxSCwyQ0FBVSxDQUFBO0FBQ1gsQ0FBQyxFQVhJLFFBQVEsS0FBUixRQUFRLFFBV1oiLCJmaWxlIjoibW9kZWxzL2VudW1zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5cbmVudW0gQXBwbGljYXRpb25Sb2xlVHlwZSB7XG5cdC8qKiBBcHBsaWNhdGlvbiBhY2Nlc3Mgcm9sZXMgc3VjaCBhcyBBZG1pbiwgTWFuYWdlciwgZXRjLi4uICovXG5cdEFwcGxpY2F0aW9uVXNlclJvbGUgPSAxLFxuXHQvKiogUHJvZHVjdCBhY2Nlc3Mgcm9sZXMgc3VjaCBhcyBNdWx0aVBvaW50LCBBcHBvaW50bWVudHMsIGV0Yy4uLiAqL1xuXHRQcm9kdWN0VXNlclJvbGUgPSAyXG59XG5cbi8qKiBBIGxpc3Qgb2YgY2xhaW1zIG1hdGNoaW5nIHRoZSBiYWNrLWVuZCBjbGFpbSBpZHMgKi9cbmVudW0gQXV0b1BvaW50Q2xhaW0ge1xuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBUZWNobmljaWFuIHJvbGUuICovXG5cdFRlY2huaWNpYW4gPSAxMDAxLFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBTZXJ2aWNlIEFkdmlzb3Igcm9sZS4gKi9cblx0U2VydmljZUFkdmlzb3IgPSAxMDAyLFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBNYW5hZ2VyIHJvbGUuICovXG5cdE1hbmFnZXIgPSAxMDAzLFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBQYXJ0cyByb2xlLiAqL1xuXHRQYXJ0cyA9IDEwMDQsXG5cdC8qKiBCYXNpYyBBY2Nlc3MgcmVzZXJ2ZWQgZm9yIHVzZXJzIHdpdGggdGhlIFVzZWQgVmVoaWNsZSBNYW5hZ2VyIHJvbGUuICovXG5cdFVzZWRWZWhpY2xlTWFuYWdlciA9IDEwMDUsXG5cdC8qKiBCYXNpYyBBY2Nlc3MgcmVzZXJ2ZWQgZm9yIHVzZXJzIHdpdGggdGhlIEFkbWluIHJvbGUuICovXG5cdEFkbWluID0gMTAwNixcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgQ1BPIEFkbWluIHJvbGUuICovXG5cdENQT0FkbWluID0gMTAwNyxcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgUmVhZCBPbmx5IHJvbGUuICovXG5cdFJlYWRPbmx5ID0gMTAwOCxcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgQkRDIFVzZXIgcm9sZS4gKi9cblx0QkRDVXNlciA9IDEwMDksXG5cdC8qKiBJbmRpY2F0ZXMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0byBNdWx0aVBvaW50IEFwcGxpY2F0aW9uLiAqL1xuXHRNdWx0aVBvaW50ID0gMTAwMDEsXG5cdC8qKiBJbmRpY2F0ZXMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0byBXZWxjb21lIFBvaW50IEFwcGxpY2F0aW9uLiAqL1xuXHRXZWxjb21lUG9pbnQgPSAxMDAwMixcblx0LyoqIEluZGljYXRlcyB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIEFwcG9pbnRtZW50cyBBcHBsaWNhdGlvbi4gKi9cblx0QXBwb2ludG1lbnRzID0gMTAwMDMsXG5cdC8qKiBJbmRpY2F0ZXMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0byBDZXJ0aWZpZWQgUHJlLU93bmVkIEFwcGxpY2F0aW9uICovXG5cdENQT1VzZXIgPSAxMDE2LFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gUmVwb3J0aW5nIEFwcGxpY2F0aW9uLiAqL1xuXHRSZXBvcnRpbmcgPSAxMDE3XG59XG5cbi8qKiBBIGxpc3Qgb2Ygcm9sZXMgbWF0Y2hpbmcgdGhlIGJhY2stZW5kIHJvbGUgaWRzIChUaGVzZSBzaG91bGQgYmUgY29udmVydGVkIHRvIGEgZHluYW1pYyBsb29rdXAgYmFzZWQgb24gY2xhaW1zIHJhdGhlciB0aGFuIHJvbGVzLiAqL1xuZW51bSBBdXRvUG9pbnRSb2xlIHtcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgVGVjaG5pY2lhbiByb2xlLiAqL1xuXHRUZWNobmljaWFuID0gMSxcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgU2VydmljZSBBZHZpc29yIHJvbGUuICovXG5cdFNlcnZpY2VBZHZpc29yID0gMixcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgTWFuYWdlciByb2xlLiAqL1xuXHRTZXJ2aWNlTWFuYWdlciA9IDMsXG5cdC8qKiBCYXNpYyBBY2Nlc3MgcmVzZXJ2ZWQgZm9yIHVzZXJzIHdpdGggdGhlIFBhcnRzIHJvbGUuICovXG5cdFBhcnRzID0gNCxcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgVXNlZCBWZWhpY2xlIE1hbmFnZXIgcm9sZS4gKi9cblx0VXNlZFZlaGljbGVNYW5hZ2VyID0gNSxcblx0LyoqIEJhc2ljIEFjY2VzcyByZXNlcnZlZCBmb3IgdXNlcnMgd2l0aCB0aGUgQWRtaW4gcm9sZS4gKi9cblx0QWRtaW4gPSA2LFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBDUE8gQWRtaW4gcm9sZS4gKi9cblx0Q1BPQWRtaW4gPSA3LFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBSZWFkIE9ubHkgcm9sZS4gKi9cblx0UmVhZE9ubHkgPSA4LFxuXHQvKiogQmFzaWMgQWNjZXNzIHJlc2VydmVkIGZvciB1c2VycyB3aXRoIHRoZSBCREMgVXNlciByb2xlLiAqL1xuXHRCdXNpbmVzc0RldmVsb3BtZW50Q2VudGVyVXNlciA9IDksXG5cdC8qKiBJbmRpY2F0ZXMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0byBNdWx0aVBvaW50IEFwcGxpY2F0aW9uLiAqL1xuXHRNdWx0aVBvaW50VXNlciA9IDEwLFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gV2VsY29tZSBQb2ludCBBcHBsaWNhdGlvbi4gKi9cblx0V2VsY29tZVBvaW50VXNlciA9IDExLFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gQXBwb2ludG1lbnRzIEFwcGxpY2F0aW9uLiAqL1xuXHRBcHBvaW50bWVudHNVc2VyID0gMTIsXG5cdC8qKiBJbmRpY2F0ZXMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0byBDZXJ0aWZpZWQgUHJlLU93bmVkIEFwcGxpY2F0aW9uICovXG5cdENQT1VzZXIgPSAyMCxcblx0LyoqIEluZGljYXRlcyB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIFJlcG9ydGluZyBBcHBsaWNhdGlvbi4gKi9cblx0UmVwb3J0aW5nVXNlciA9IDIxLFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gRGVhbGVyIFJlcG9ydGluZyBBcHBsaWNhdGlvbi4gKi9cblx0RGVhbGVyUmVwb3J0c1ZpZXdlciA9IDIyLFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gUmVwb3J0aW5nIEFwcGxpY2F0aW9uLiAqL1xuXHRVc2VyUmVwb3J0c1ZpZXdlciA9IDIzLFxuXHQvKiogSW5kaWNhdGVzIHRoZSB1c2VyIGhhcyBhY2Nlc3MgdG8gUmVwb3J0aW5nIEFwcGxpY2F0aW9uLiAqL1xuXHRJbnRlcm5hbFJlcG9ydHNWaWV3ZXIgPSAyNFxufVxuXG5lbnVtIENydWRBY3Rpb24ge1xuXHRJbml0aWFsaXplZCA9IDAsXG5cdEFkZGVkID0gMTAwLFxuXHREZWxldGVkID0gMjAwLFxuXHRVcGRhdGVkID0gMzAwXG59XG5cbmVudW0gQ29kZVR5cGUge1xuXHQvKiogU3RhbmRhcmQgQ29kZSBUeXBlLiBJbmRpY2F0ZXMgdGhlIGl0ZW0gaXMgYSBzdGFuZGFyZCB0eXBlLiBUaGUgbWFqb3JpdHkgb2YgaXRlbXMgd2lsbCBoYXZlIHRoaXMgdHlwZS4gKi9cblx0U3RhbmRhcmQgPSAxLFxuXHQvKiogR2VuZXJpYyBDb2RlIFR5cGUuIEluZGljYXRlcyB0aGUgaXRlbSBpcyBhIGdlbmVyaWMgdHlwZSwgbWVhbmluZyBpdHMgZGVzY3JpcHRpb24gY2FuIGJlIG92ZXJyaWRkZW4gYnkgYSB1c2VyLiAqL1xuXHRHZW5lcmljID0gMlxufVxuXG5lbnVtIENvbnRhY3RUeXBlIHtcblx0UGVyc29uYWxFbWFpbCA9IDEsXG5cdFdvcmtFbWFpbCA9IDIsXG5cdEhvbWVQaG9uZSA9IDMsXG5cdFdvcmtQaG9uZSA9IDQsXG5cdE1vYmlsZVBob25lID0gNSxcblx0RmF4ID0gNlxufVxuXG5lbnVtIEh0dHBSZXF1ZXN0VHlwZSB7XG5cdEdFVCA9IDEsXG5cdFBPU1QgPSAyLFxuXHRQVVQgPSAzLFxuXHRERUxFVEUgPSA0XG59XG5cbmVudW0gSW5zcGVjdGlvblR5cGUge1xuXHRSZWNvbmRpdGlvbmluZyA9IDEsXG5cdEV4cHJlc3MgPSAyLFxuXHRGdWxsID0gMyxcblx0Tm9uZSA9IDRcbn1cblxuZW51bSBNZWRpYVR5cGUge1xuXHQvKiogSW1hZ2UuIEluZGljYXRlcyB0aGlzIG1lZGlhIGlzIGFuIGltYWdlIChqcGVnLCBwbmcsIGV0Yy4uLikgKi9cblx0SW1hZ2UgPSAxLFxuXHQvKiogU291bmQvQXVkaW8uIEluZGljYXRlcyB0aGlzIG1lZGlhIGlzIGF1ZGlvIChtcDMsIHdhdiwgZXRjLi4uKSAqL1xuXHRTb3VuZCA9IDIsXG5cdC8qKiBWaWRlby4gSW5kaWNhdGVzIHRoaXMgbWVkaWEgaXMgYSB2aWRlbyAobXBlZywgd212LCBldGMuLi4pLiAqL1xuXHRWaWRlbyA9IDNcbn1cblxuZW51bSBNb2RhbEFjdGlvblJlc3VsdCB7XG5cdERpc21pc3NlZCA9IDEsXG5cdFNhdmVkID0gMixcblx0RmFpbGVkID0gM1xufVxuXG5lbnVtIE1vZGFsU2l6ZSB7XG5cdExhcmdlID0gMSxcblx0TWVkaXVtID0gMixcblx0U21hbGwgPSAzXG59XG5cbmVudW0gT2RvbWV0ZXJUeXBlIHtcblx0TWlsZXMgPSAxLFxuXHRLaWxvbWV0ZXJzID0gMlxufVxuXG5lbnVtIE9yZ2FuaXphdGlvblVuaXRUeXBlIHtcblx0LyoqIE9yZ2FuaXphdGlvbiBTdWItTGV2ZWwuIEluZGljYXRlcyB0aGUgb3JnYW5pemF0aW9uIHVuaXQgaXMgbm90IGEgcGh5c2ljYWwgbG9jYXRpb24gYnV0IGEgdmlydHVhbCBlbnRpdHkgdGhhdCBpcyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG9yZ2FuaXphdGlvbiBoaWVyYXJjaHkuICovXG5cdE9yZ2FuaXphdGlvblN1YkxldmVsID0gMSxcblx0LyoqIExvY2F0aW9uLiBJbmRpY2F0ZXMgdGhlIG9yZ2FuaXphdGlvbiB1bml0IGlzIGEgcGh5c2ljYWwgbG9jYXRpb24uICovXG5cdExvY2F0aW9uID0gMixcblx0LyoqIEdsb2JhbE9yZ2FuaXphdGlvbi4gSW5kaWNhdGVzIHRoZSBvcmdhbml6YXRpb24gaXMgYW4gQXV0b1BvaW50IHJvb3QgbGV2ZWwgb3JnYW5pemF0aW9uICovXG5cdEdsb2JhbE9yZ2FuaXphdGlvbiA9IDNcbn1cblxuZW51bSBQYWNrYWdlVHlwZSB7XG5cdC8qKiBEeW5hbWljLiBJbmRpY2F0ZXMgdGhlIHBhY2thZ2UgaXMgZHluYW1pYywgd2hpY2ggbWVhbnMgaXRzIGRhdGEgZGVmaW5pdGlvbiBpcyB0aGUgb25seSB0aGluZyB0aGF0IGlzIHNldDsgaXQgY2FuIGJlIGRpc3BsYXllZCBob3dldmVyIHRoZSBjb25zdW1pbmcgc2VydmljZSBvciBvYmplY3QgZGVzaXJlcy4gKi9cblx0RHluYW1pYyA9IDEsXG5cdC8qKiBHcmFwaGljYWwuIEluZGljYXRlcyB0aGUgcGFja2FnZSBpcyBncmFwaGljYWwsIHdoaWNoIG1lYW5zIGl0IGhhcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGV4YWN0IGZvcm1hdCBkZWZpbmVkIGJ5IGEgZGVhbGVyc2hpcCBvciBPRU0uICovXG5cdEdyYXBoaWNhbCA9IDJcbn1cblxuZW51bSBQYWNrYWdlU3RhdHVzVHlwZSB7XG5cdC8qKiBPQlNPTEVURSAtIE5vbmUuIEluZGljYXRlcyB0aGUgcGFja2FnZSBzdGF0dXMgaGFzIG5vdCBiZWVuIHNldC4gKi9cblx0Tm9uZSA9IDEsXG5cdC8qKiBPQlNPTEVURSAtIENyZWF0ZWQuIEluZGljYXRlcyB0aGUgcGFja2FnZSBoYXMgYmVlbiBjcmVhdGVkIGJ1dCBpcyBub3QgeWV0IGFjdGl2ZS4gKi9cblx0Q3JlYXRlZCA9IDIsXG5cdC8qKiBBY3RpdmUuIEluZGljYXRlcyB0aGUgcGFja2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQgYW5kIGlzIGF2YWlsYWJsZSBmb3IgdXNlLiAqL1xuXHRBY3RpdmUgPSAzLFxuXHQvKiogSW5hY3RpdmUuIEluZGljYXRlcyB0aGUgcGFja2FnZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGZvciB1c2UuICovXG5cdEluYWN0aXZlID0gNCxcblx0LyoqIE9CU09MRVRFIC0gQXJjaGl2ZWQuIEluZGljYXRlcyB0aGUgcGFja2FnZSBoYXMgYmVlbiBhcmNoaXZlZC4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgZm9yIG9sZCB2ZXJzaW9ucyBvZiBhbiBhY3RpdmUgcGFja2FnZS4gKi9cblx0QXJjaGl2ZWQgPSA1LFxuXHQvKiogT0JTT0xFVEUgLSBTY2hlZHVsZWQuIEluZGljYXRlcyB0aGUgcGFja2FnZSBoYXMgYmVlbiBjb21wbGV0ZWQgYW5kIGlzIHJlYWR5IGZvciB1c2UsIGJ1dCBoYXMgbm90IGJlZW4gbWFkZSBhdmFpbGFibGUgeWV0LiovXG5cdFNjaGVkdWxlZCA9IDYsXG5cdC8qKiBEZWxldGVkLiBJbmRpY2F0ZXMgdGhlIHBhY2thZ2Ugd2lsbCBiZSBtYXJrZWQgYXMgZGVsZXRlZC4gKi9cblx0RGVsZXRlZCA9IDdcbn1cblxuZW51bSBSZWdpb25UeXBlIHtcblx0U3RhdGUgPSAxLFxuXHRGZWRlcmFsRGlzdHJpY3QgPSAyLFxuXHRQcm92aW5jZSA9IDMsXG5cdFRlcnJpdG9yeSA9IDQsXG5cdENvbW1vbndlYWx0aCA9IDUsXG5cdEZyZWVseUFzc29jaWF0ZWRTdGF0ZSA9IDYsXG5cdE1pbGl0YXJ5ID0gN1xufVxuXG5lbnVtIFJlbGF0ZWRSZWNvbW1lbmRhdGlvblR5cGUge1xuXHQvKipcblx0ICAqIEFsdGVybmF0ZS4gSW5kaWNhdGVzIGEgcmVjb21tZW5kYXRpb24gaXMgYW4gYWx0ZXJuYXRlIChlcXVpdmFsZW50KSByZWNvbW1lbmRhdGlvblxuXHQgICogZm9yIGFub3RoZXIuIEJhc2ljYWxseSwgYSB0ZWNoIGNhbiBkbyBlaXRoZXIgcmVjb21tZW5kYXRpb24gdG8gc2F0aXNmeSB0aGUgbmVlZHNcblx0ICAqIG9mIHRoZSB2ZWhpY2xlLlxuXHQgICovXG5cdEFsdGVybmF0ZSA9IDEsXG5cdC8qKlxuXHQgICogUmVxdWlyZWQuIEluZGljYXRlcyBhIHJlY29tbWVuZGF0aW9uIGlzIHJlcXVpcmVkIChwcmVyZXF1aXNpdGUvY28tcmVxdWlzaXRlKVxuXHQgICogdG8gYmUgYWJsZSB0byBjb21wbGV0ZSBhbm90aGVyIHJlY29tbWVuZGF0aW9uLiBCYXNpY2FsbHksIGEgdGVjaCBtdXN0IGRvIGJvdGhcblx0ICAqIHJlY29tbWVuZGF0aW9ucy5cblx0ICAqL1xuXHRSZXF1aXJlZCA9IDIsXG5cdC8qKlxuXHQgICogT3Bwb3J0dW5pdHkuIEluZGljYXRlcyBhIHJlY29tbWVuZGF0aW9uIHdvdWxkIGJlIHdvcnRod2hpbGUgdG8gYSBjb21wbGV0ZSB3aXRoXG5cdCAgKiBhbm90aGVyIHJlY29tbWVuZGF0aW9uIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCBjb21wbGV0ZWx5IG5lY2Vzc2FyeSB0byByZXBhaXIgYVxuXHQgICogdmVoaWNsZS4gQmFzaWNhbGx5LCBhIGN1c3RvbWVyIHNob3VsZCBjb25zaWRlciBkb2luZyB0aGUgb3Bwb3J0dW5pdHkgcmVjb21tZW5kYXRpb25cblx0ICAqIGJlY2F1c2UgaXQgbWF5IHNhdmUgdGhlbSBtb25leSBhbmQgdGltZSBpbiB0aGUgbG9uZyBydW4uXG5cdCAgKi9cblx0T3Bwb3J0dW5pdHkgPSAzXG59XG5cbmVudW0gU291cmNlIHtcblx0LyoqIEF1dG9Qb2ludCBJbmMuIEluZGljYXRlcyBBdXRvUG9pbnQgZGVmaW5lZCB0aGUgcGFja2FnZSBpdGVtLiAqL1xuXHRBdXRvUG9pbnQgPSAxLFxuXHQvKiogQWZ0ZXJtYXJrZXQgQ2F0YWxvZyBFbmhhbmNlZCBTdGFuZGFyZCAoQUNFUykuIEluZGljYXRlcyBBQ0VTIGRlZmluZWQgdGhlIHBhY2thZ2UgaXRlbS4gKi9cblx0QWNlcyA9IDIsXG5cdC8qKiBNT1RPUiBJbmZvcm1hdGlvbiBTeXN0ZW1zLiBJbmRpY2F0ZXMgTU9UT1IgZGVmaW5lZCB0aGUgcGFja2FnZSBpdGVtLiAqL1xuXHRNb3RvciA9IDNcbn1cblxuZW51bSBUYXNrQW5zd2VyIHtcblx0UGFzcyA9IDEsXG5cdENhdXRpb24gPSAyLFxuXHRGYWlsID0gMyxcblx0WWVzID0gNCxcblx0Tm8gPSA1LFxuXHROZWVkc1JlcGxhY2VtZW50ID0gNixcblx0TmVlZHNSZXBhaXIgPSA3LFxuXHRCcm91Z2h0VG9TcGVjID0gOCxcblx0Tm90RG9uZSA9IDksXG5cdE5vdEFwcGxpY2FibGUgPSAxMFxufVxuXG5lbnVtIFRhc2tBdmFpbGFiaWxpdHlUeXBlIHtcblx0LyoqIE5vdCBBdmFpbGFibGUuIEluZGljYXRlcyB0aGUgb2JzZXJ2YXRpb24gb3IgcmVjb21tZW5kYXRpb24gaXMgbm90IGF2YWlsYWJsZSBmb3IgdXNlIGJhc2VkIG9uIHRoZSB0YXNrIHJlc3VsdC4gKi9cblx0Tm90QXZhaWxhYmxlID0gMSxcblx0LyoqIEF2YWlsYWJsZS4gSW5kaWNhdGVzIHRoZSBvYnNlcnZhdGlvbiBvciByZWNvbW1lbmRhdGlvbiBpcyBhdmFpbGFibGUgZm9yIHVzZSBiYXNlZCBvbiB0aGUgdGFzayByZXN1bHQuICovXG5cdEF2YWlsYWJsZSA9IDIsXG5cdC8qKiBEZWZhdWx0LiBJbmRpY2F0ZXMgdGhlIG9ic2VydmF0aW9uIG9yIHJlY29tbWVuZGF0aW9uIGlzIG5vdCBvbmx5IGF2YWlsYWJsZSBmb3IgdXNlLCBidXQgaXQgaXMgdGhlIGRlZmF1bHQgc2VsZWN0aW9uIGJhc2VkIG9uIHRoZSB0YXNrIHJlc3VsdC4gKi9cblx0RGVmYXVsdCA9IDNcbn1cblxuZW51bSBUYXNrSW5wdXRUeXBlIHtcblx0LyoqIEluc3BlY3Rpb24uIEluZGljYXRlcyB0aGUgdGFzayBpcyBhIHN0YW5kYXJkIGluc3BlY3Rpb24gdHlwZS4gKi9cblx0SW5zcGVjdGlvbiA9IDEsXG5cdC8qKiBSYWRpb1NlbGVjdGlvbi4gSW5kaWNhdGVzIHRoZSB0YXNrIGhhcyB0d28gb3IgbW9yZSBwb3NzaWJsZSBvcHRpb25zIGFzIGl0cyByZXN1bHQsIGJ1dCBvbmx5IG9uZSBjYW4gYmUgc2VsZWN0ZWQuICovXG5cdFJhZGlvU2VsZWN0aW9uID0gMyxcblx0LyoqIE11bHRpU2VsZWN0aW9uLiBJbmRpY2F0ZXMgdGhlIHRhc2sgaGFzIG9uZSBtb3JlIG9wdGlvbnMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgZm9yIGl0cyByZXN1bHQuICovXG5cdE11bHRpU2VsZWN0aW9uID0gNCxcblx0LyoqIEZyZWVUZXh0LiBJbmRpY2F0ZXMgdGhlIHRhc2sgcmVxdWlyZXMgdGV4dHVhbCBpbnB1dCBmcm9tIHRoZSB0ZWNoIGFzIGl0cyByZXN1bHQgKGUuZy4gbm90ZXMpLiAqL1xuXHRGcmVlVGV4dCA9IDUsXG5cdC8qKiBHcmFwaC4gU2ltaWxhciB0byBSYWRpb1NlbGVjdGlvbi4gSW5kaWNhdGVzIHRoZSB0YXNrIGhhcyBhIHJhbmdlIG9mIHBvc3NpYmxlIHJlc3VsdHMsIGJ1dCBvbmx5IG9uZSB2YWx1ZSBpbiB0aGUgcmFuZ2UgY2FuIGJlIHNlbGVjdGVkLiAqL1xuXHRHcmFwaCA9IDZcbn1cblxuZW51bSBVbml0VHlwZSB7XG5cdC8qKiBOb25lLiBJbmRpY2F0ZXMgdGhlIG1lYXN1cmVtZW50IGRvZXMgbm90IGhhdmUgdW5pdHMuICovXG5cdE5vbmUgPSAxLFxuXHQvKiogVGhpcnR5IFNlY29uZHRocyAoLzMyKS4gSW5kaWNhdGVzIHRoZSBtZWFzdXJlbWVudCBpcyBtZWFzdXJlZCBpbiAzMm50aHMuICovXG5cdFRoaXJ0eVNlY29uZHRocyA9IDIsXG5cdC8qKiBNaWxsaW1ldGVycyAobW0pLiBJbmRpY2F0ZXMgdGhlIG1lYXN1cmVtZW50IGlzIG1lYXN1cmVkIGluIG1pbGxpbWV0ZXJzLiAqL1xuXHRNaWxsaW1ldGVycyA9IDMsXG5cdC8qKiBQb3VuZHMgcGVyIFNxdWFyZSBJbmNoIChwc2kpLiBJbmRpY2F0ZXMgdGhlIG1lYXN1cmVtZW50IGlzIG1lYXN1cmVkIGluIHBvdW5kcyBwZXIgc3F1YXJlIGluY2guICovXG5cdFBvdW5kc1BlclNxdWFyZUluY2ggPSA0LFxuXHQvKiogRmFyYWRzIChGKS4gSW5kaWNhdGVzIHRoZSBtZWFzdXJlbWVudCBpcyBtZWFzdXJlZCBpbiBGYXJhZHMuIEl0IGlzIGFuIGVsZWN0cmljYWwgcXVhbnRpdHk6IHRoZSB1bml0IG9mIGNhcGFjaXRhbmNlLiAqL1xuXHRGYXJhZHMgPSA1XG59XG4iXX0=\n\n/// \nvar Guid = /** @class */ (function () {\n function Guid() {\n }\n Guid.empty = '00000000-0000-0000-0000-000000000000';\n return Guid;\n}());\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZGVscy9nbG9iYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBRS9DO0lBQUE7SUFFQSxDQUFDO0lBRE8sVUFBSyxHQUFHLHNDQUFzQyxDQUFDO0lBQ3ZELFdBQUM7Q0FGRCxBQUVDLElBQUEiLCJmaWxlIjoibW9kZWxzL2dsb2JhbC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cblxuY2xhc3MgR3VpZCB7XG5cdHN0YXRpYyBlbXB0eSA9ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var AuthData = /** @class */ (function () {\n function AuthData(authData) {\n /** aka: application_permissions - application_permissions Application permissions/claims such as Admin, Service Advisor, etc... */\n this._applicationAccessClaims = [];\n this._hasPermissions = false;\n this._isLoaded = false;\n this._isValid = false;\n this._longTermExpirationUtcTime = Date.now();\n /** aka: organization_units */\n this._organizationUnits = [];\n /** aka: product_permissions - product_permissions Product permission/claims such as MultiPoint User, WelcomePoint user, etc... */\n this._productAccessClaims = { collection: [] };\n this._productAccessRoles = {};\n this._shortTermExpirationUtcTime = Date.now();\n this._timeOutBufferSeconds = 30;\n if (!ap.Utilities.isNullOrUndefined(authData)) {\n this.updateAuthData(authData);\n }\n }\n Object.defineProperty(AuthData.prototype, \"applicationAccessClaims\", {\n /** application_permissions Application permissions/claims such as Admin, Service Advisor, etc... */\n get: function () { return this._applicationAccessClaims; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"bearerToken\", {\n /** access or bearer token for authentication of http requests */\n get: function () { return this._bearerToken; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"email\", {\n get: function () { return this._username; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"firstName\", {\n get: function () { return this._firstName; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"firstOrganization\", {\n get: function () { return this._organizationUnits[0]; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"fullName\", {\n get: function () { return (this._firstName + \" \" + this._lastName).trim(); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"hasPermissions\", {\n get: function () { return this._hasPermissions; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"isLoaded\", {\n get: function () { return this._isLoaded; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"isValid\", {\n get: function () { return this._isValid; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"lastName\", {\n get: function () { return this._lastName; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"lastUiUpdate\", {\n get: function () { return this._lastUiUpdate; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"preferredLanguageId\", {\n get: function () { return this._preferredLanguageId; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"productAccessClaims\", {\n /** product_permissions Product permission/claims such as MultiPoint User, WelcomePoint user, etc... */\n get: function () { return this._productAccessClaims; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"productAccessRoles\", {\n get: function () { return this._productAccessRoles; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"refreshToken\", {\n get: function () { return this._refreshToken; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AuthData.prototype, \"userCacheKey\", {\n get: function () { return this._userCacheKey; },\n enumerable: true,\n configurable: true\n });\n AuthData.prototype.getUTCTime = function (dateString) {\n var date = new Date(dateString);\n var utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());\n return utc.getTime();\n };\n AuthData.prototype.hasApplicationClaim = function (claim, hasOnlyTheRequestedClaim) {\n if (!this._isValid) {\n return false;\n }\n var arrayCheckProperty = hasOnlyTheRequestedClaim ? 'every' : 'some';\n if (this._hasPermissions) {\n return this._applicationAccessClaims[arrayCheckProperty](function (x) { return x === claim; });\n }\n // NOTE - This will return false if looking for \"if and ONLY if\"/hasOnlyTheRequestedClaim since every user it is required to have at LEAST 2 claims\n // product access and application access (i.e. access to MP2 - mp2User && \"technician\"/\"admin\"/\"service advisor\")\n return this.firstOrganization.applicationPermissions[arrayCheckProperty](function (x) { return x === claim; });\n };\n AuthData.prototype.hasOrganizationProductClaim = function (claim, organizationCacheKey, includeParentalAccessCheck) {\n if (!this._isValid) {\n return false;\n }\n var hasAccess = !ap.Utilities.isNullOrEmptyCollection((this._productAccessClaims[claim] || []).filter(function (x) { return x === organizationCacheKey; }));\n if (hasAccess || !ap.Utilities.isTrueValue(includeParentalAccessCheck)) {\n return hasAccess;\n }\n return this.hasOrganizationProductClaim(claim, this.firstOrganization.organizationUnitCacheKey);\n };\n AuthData.prototype.hasOrganizationProductRole = function (role, organizationCacheKey) {\n if (!this._isValid || ap.Utilities.isNullOrEmptyCollection(this._organizationUnits)) {\n return false;\n }\n return (!ap.Utilities.isNullOrEmptyCollection(this._productAccessRoles[organizationCacheKey]) &&\n this._productAccessRoles[organizationCacheKey].indexOf(role) > -1);\n };\n AuthData.prototype.isExpired = function (bufferInMinutes) {\n return this.isTokenExpired('_longTermExpirationUtcTime', bufferInMinutes);\n };\n AuthData.prototype.isStale = function (bufferInMinutes) {\n return this.isTokenExpired('_shortTermExpirationUtcTime', bufferInMinutes);\n };\n AuthData.prototype.isTokenExpired = function (field, bufferInMinutes) {\n if (!this._isValid) {\n return true;\n }\n var now = this.getUTCTime(new Date().toString());\n var expiration = this[field];\n var expirationMinusNow = expiration - now;\n var buffered = (ap.Utilities.isNullOrUndefined(bufferInMinutes) ? this._timeOutBufferSeconds : bufferInMinutes * 60) * 1000;\n var expired = expirationMinusNow < buffered;\n return expired;\n };\n AuthData.prototype.toIAuthDataForCookieStorage = function () {\n var _a;\n return _a = {},\n _a['.expires'] = this._shortTermExpirationDate,\n _a['.issued'] = this._issued,\n _a.access_token = this._bearerToken,\n _a.expires_in = this._expiresIn,\n _a.first_name = this._firstName,\n _a.last_name = this._lastName,\n _a.organization_units = this._organizationUnits,\n _a.preferred_language_id = this._preferredLanguageId,\n _a.refresh_token = this._refreshToken,\n _a.refresh_token_expires = this._longTermExpirationDate,\n _a.token_type = this._tokenType,\n _a.user_cache_key = this._userCacheKey,\n _a.username = this._username,\n _a;\n };\n /**\n * This will either update the AuthData if present OR will clear all properties if null is passed as parameter\n * @param authData - An IAuthData object from the SSO service/cookie storage\n */\n AuthData.prototype.updateAuthData = function (authData) {\n var _this = this;\n this._applicationAccessClaims = [];\n this._bearerToken = null;\n this._expiresIn = null;\n this._firstName = null;\n this._hasPermissions = false;\n this._isLoaded = false;\n this._issued = null;\n this._isValid = false;\n this._lastName = null;\n this._lastUiUpdate = null;\n this._longTermExpirationDate = null;\n this._longTermExpirationUtcTime = Date.now();\n this._organizationUnits = [];\n this._preferredLanguageId = null;\n ap.Utilities.extend(true, this._productAccessClaims, { collection: [] });\n this._productAccessRoles = {};\n this._refreshToken = null;\n this._shortTermExpirationDate = null;\n this._shortTermExpirationUtcTime = Date.now();\n this._tokenType = null;\n this._userCacheKey = null;\n this._username = null;\n if (ap.Utilities.isNullOrUndefined(authData) || !authData.hasOwnProperty('.expires')) {\n return;\n }\n if (!ap.Utilities.isNullOrUndefined(authData) && typeof (authData.organization_units) === 'string') {\n authData.organization_units = JSON.parse(authData.organization_units.toString());\n }\n this._shortTermExpirationDate = authData['.expires'];\n this._shortTermExpirationUtcTime = this.getUTCTime(this._shortTermExpirationDate);\n this._issued = authData['.issued'];\n this._bearerToken = authData.access_token;\n this._applicationAccessClaims = authData.application_permissions || [];\n this._expiresIn = authData.expires_in;\n this._firstName = authData.first_name;\n this._lastName = authData.last_name;\n this._organizationUnits = authData.organization_units || [];\n this._preferredLanguageId = authData.preferred_language_id;\n var orgsProducts = authData.product_permissions;\n if (!ap.Utilities.isNullOrEmptyCollection(orgsProducts)) {\n var collection = { collection: [] };\n orgsProducts.map(function (x) { return collection[x.permissionId] = x.organizationUnits; });\n ap.Utilities.extend(true, this._productAccessClaims, collection);\n }\n angular.forEach(authData.organization_units, function (orgUnit) {\n _this._productAccessRoles[orgUnit.organizationUnitCacheKey] = orgUnit.applicationRoles;\n });\n this._refreshToken = authData.refresh_token;\n this._longTermExpirationDate = authData.refresh_token_expires;\n this._longTermExpirationUtcTime = this.getUTCTime(this._longTermExpirationDate);\n this._tokenType = authData.token_type;\n this._userCacheKey = authData.user_cache_key;\n this._username = authData.username;\n this._hasPermissions = (this._productAccessRoles !== null);\n this._isValid = !ap.Utilities.isNullOrWhitespace(this._bearerToken) &&\n !ap.Utilities.isNullOrEmptyCollection(this._organizationUnits);\n this._isLoaded = true;\n this._lastUiUpdate = Date.now();\n };\n AuthData.prototype.toJSON = function (space) {\n return JSON.stringify(this.toIAuthDataForCookieStorage(), null, space);\n };\n return AuthData;\n }());\n app.AuthData = AuthData;\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZGVscy9vYmplY3RzL2F1dGgtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBb09UO0FBcE9ELFdBQU8sR0FBRztJQUNUO1FBd0NDLGtCQUFZLFFBQWdEO1lBdkM1RCxvSUFBb0k7WUFDNUgsNkJBQXdCLEdBQXFCLEVBQUUsQ0FBQztZQU9oRCxvQkFBZSxHQUFZLEtBQUssQ0FBQztZQUNqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1lBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7WUFNMUIsK0JBQTBCLEdBQVcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3hELDhCQUE4QjtZQUN0Qix1QkFBa0IsR0FBa0MsRUFBRSxDQUFDO1lBRy9ELGtJQUFrSTtZQUMxSCx5QkFBb0IsR0FBcUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDNUUsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO1lBS2pDLGdDQUEyQixHQUFXLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNqRCwwQkFBcUIsR0FBRyxFQUFFLENBQUM7WUFTbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUI7UUFDRixDQUFDO1FBR0Qsc0JBQVcsNkNBQXVCO1lBRGxDLHFHQUFxRztpQkFDckcsY0FBeUQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDOzs7V0FBQTtRQUVoRyxzQkFBVyxpQ0FBVztZQUR0QixpRUFBaUU7aUJBQ2pFLGNBQW1DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7OztXQUFBO1FBQzlELHNCQUFXLDJCQUFLO2lCQUFoQixjQUE2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDOzs7V0FB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QUM7WUFDOUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFFbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUNsRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakMsQ0FBQztRQUVNLHlCQUFNLEdBQWIsVUFBYyxLQUFhO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNGLGVBQUM7SUFBRCxDQWxPQSxBQWtPQyxJQUFBO0lBbE9ZLFlBQVEsV0FrT3BCLENBQUE7QUFDRixDQUFDLEVBcE9NLEdBQUcsS0FBSCxHQUFHLFFBb09UIiwiZmlsZSI6Im1vZGVscy9vYmplY3RzL2F1dGgtZGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcCB7XG5cdGV4cG9ydCBjbGFzcyBBdXRoRGF0YSBpbXBsZW1lbnRzIElBdXRoRGF0YSB7XG5cdFx0LyoqIGFrYTogYXBwbGljYXRpb25fcGVybWlzc2lvbnMgLSBhcHBsaWNhdGlvbl9wZXJtaXNzaW9ucyBBcHBsaWNhdGlvbiBwZXJtaXNzaW9ucy9jbGFpbXMgc3VjaCBhcyBBZG1pbiwgU2VydmljZSBBZHZpc29yLCBldGMuLi4gICovXG5cdFx0cHJpdmF0ZSBfYXBwbGljYXRpb25BY2Nlc3NDbGFpbXM6IEF1dG9Qb2ludENsYWltW10gPSBbXTtcblx0XHQvKiogYWthOiBhY2Nlc3NfdG9rZW4gKi9cblx0XHRwcml2YXRlIF9iZWFyZXJUb2tlbjogc3RyaW5nO1xuXHRcdC8qKiBha2E6IGV4cGlyZXNfaW4gKi9cblx0XHRwcml2YXRlIF9leHBpcmVzSW46IG51bWJlcjtcblx0XHQvKiogYWthOiBmaXJzdF9uYW1lICovXG5cdFx0cHJpdmF0ZSBfZmlyc3ROYW1lOiBzdHJpbmc7XG5cdFx0cHJpdmF0ZSBfaGFzUGVybWlzc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblx0XHRwcml2YXRlIF9pc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRcdC8qKiBha2E6IFsnLmlzc3VlZCddICovXG5cdFx0cHJpdmF0ZSBfaXNzdWVkOiBzdHJpbmc7XG5cdFx0cHJpdmF0ZSBfaXNWYWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRcdC8qKiBha2E6IGxhc3RfbmFtZSAqL1xuXHRcdHByaXZhdGUgX2xhc3ROYW1lOiBzdHJpbmc7XG5cdFx0cHJpdmF0ZSBfbGFzdFVpVXBkYXRlOiBudW1iZXI7XG5cdFx0LyoqIGFrYTogcmVmcmVzaF90b2tlbl9leHBpcmVzICovXG5cdFx0cHJpdmF0ZSBfbG9uZ1Rlcm1FeHBpcmF0aW9uRGF0ZTogc3RyaW5nO1xuXHRcdHByaXZhdGUgX2xvbmdUZXJtRXhwaXJhdGlvblV0Y1RpbWU6IG51bWJlciA9IERhdGUubm93KCk7XG5cdFx0LyoqIGFrYTogb3JnYW5pemF0aW9uX3VuaXRzICovXG5cdFx0cHJpdmF0ZSBfb3JnYW5pemF0aW9uVW5pdHM6IElPcmdhbml6YXRpb25BdXRoQXNzaWdubWVudFtdID0gW107XG5cdFx0LyoqIGFrYTogcHJlZmVycmVkX2xhbmd1YWdlX2lkICovXG5cdFx0cHJpdmF0ZSBfcHJlZmVycmVkTGFuZ3VhZ2VJZDogc3RyaW5nO1xuXHRcdC8qKiBha2E6IHByb2R1Y3RfcGVybWlzc2lvbnMgLSBwcm9kdWN0X3Blcm1pc3Npb25zIFByb2R1Y3QgcGVybWlzc2lvbi9jbGFpbXMgc3VjaCBhcyBNdWx0aVBvaW50IFVzZXIsIFdlbGNvbWVQb2ludCB1c2VyLCBldGMuLi4gKi9cblx0XHRwcml2YXRlIF9wcm9kdWN0QWNjZXNzQ2xhaW1zOiBJQ29sbGVjdGlvbkhvbGRlcjxBcnJheTxzdHJpbmc+PiA9IHsgY29sbGVjdGlvbjogW10gfTtcblx0XHRwcml2YXRlIF9wcm9kdWN0QWNjZXNzUm9sZXM6IE9iamVjdCA9IHt9O1xuXHRcdC8qKiBha2E6IHJlZnJlc2hfdG9rZW4gKi9cblx0XHRwcml2YXRlIF9yZWZyZXNoVG9rZW46IHN0cmluZztcblx0XHQvKiogYWthOiBbJy5leHBpcmVzJ10gKi9cblx0XHRwcml2YXRlIF9zaG9ydFRlcm1FeHBpcmF0aW9uRGF0ZTogc3RyaW5nO1xuXHRcdHByaXZhdGUgX3Nob3J0VGVybUV4cGlyYXRpb25VdGNUaW1lOiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXHRcdHByaXZhdGUgX3RpbWVPdXRCdWZmZXJTZWNvbmRzID0gMzA7XG5cdFx0LyoqIGFrYTogdG9rZW5fdHlwZSAqL1xuXHRcdHByaXZhdGUgX3Rva2VuVHlwZTogc3RyaW5nO1xuXHRcdC8qKiBha2E6IHVzZXJfY2FjaGVfa2V5ICovXG5cdFx0cHJpdmF0ZSBfdXNlckNhY2hlS2V5OiBzdHJpbmc7XG5cdFx0LyoqIGFrYTogdXNlcm5hbWUgKi9cblx0XHRwcml2YXRlIF91c2VybmFtZTogc3RyaW5nO1xuXG5cdFx0Y29uc3RydWN0b3IoYXV0aERhdGE/OiBJQXV0aERhdGEgfCBJQXV0aERhdGFGb3JDb29raWVTdG9yYWdlKSB7XG5cdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChhdXRoRGF0YSkpIHtcblx0XHRcdFx0dGhpcy51cGRhdGVBdXRoRGF0YShhdXRoRGF0YSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyoqIGFwcGxpY2F0aW9uX3Blcm1pc3Npb25zIEFwcGxpY2F0aW9uIHBlcm1pc3Npb25zL2NsYWltcyBzdWNoIGFzIEFkbWluLCBTZXJ2aWNlIEFkdmlzb3IsIGV0Yy4uLiAgKi9cblx0XHRwdWJsaWMgZ2V0IGFwcGxpY2F0aW9uQWNjZXNzQ2xhaW1zKCk6IEF1dG9Qb2ludENsYWltW10geyByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25BY2Nlc3NDbGFpbXM7IH1cblx0XHQvKiogYWNjZXNzIG9yIGJlYXJlciB0b2tlbiBmb3IgYXV0aGVudGljYXRpb24gb2YgaHR0cCByZXF1ZXN0cyAqL1xuXHRcdHB1YmxpYyBnZXQgYmVhcmVyVG9rZW4oKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2JlYXJlclRva2VuOyB9XG5cdFx0cHVibGljIGdldCBlbWFpbCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdXNlcm5hbWU7IH1cblx0XHRwdWJsaWMgZ2V0IGZpcnN0TmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZmlyc3ROYW1lOyB9XG5cdFx0cHVibGljIGdldCBmaXJzdE9yZ2FuaXphdGlvbigpOiBJT3JnYW5pemF0aW9uQXV0aEFzc2lnbm1lbnQgeyByZXR1cm4gdGhpcy5fb3JnYW5pemF0aW9uVW5pdHNbMF07IH1cblx0XHRwdWJsaWMgZ2V0IGZ1bGxOYW1lKCk6IHN0cmluZyB7IHJldHVybiBgJHt0aGlzLl9maXJzdE5hbWV9ICR7dGhpcy5fbGFzdE5hbWV9YC50cmltKCk7IH1cblx0XHRwdWJsaWMgZ2V0IGhhc1Blcm1pc3Npb25zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzUGVybWlzc2lvbnM7IH1cblx0XHRwdWJsaWMgZ2V0IGlzTG9hZGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faXNMb2FkZWQ7IH1cblx0XHRwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc1ZhbGlkOyB9XG5cdFx0cHVibGljIGdldCBsYXN0TmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fbGFzdE5hbWU7IH1cblx0XHRwdWJsaWMgZ2V0IGxhc3RVaVVwZGF0ZSgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fbGFzdFVpVXBkYXRlOyB9XG5cdFx0cHVibGljIGdldCBwcmVmZXJyZWRMYW5ndWFnZUlkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9wcmVmZXJyZWRMYW5ndWFnZUlkOyB9XG5cdFx0LyoqIHByb2R1Y3RfcGVybWlzc2lvbnMgUHJvZHVjdCBwZXJtaXNzaW9uL2NsYWltcyBzdWNoIGFzIE11bHRpUG9pbnQgVXNlciwgV2VsY29tZVBvaW50IHVzZXIsIGV0Yy4uLiAqL1xuXHRcdHB1YmxpYyBnZXQgcHJvZHVjdEFjY2Vzc0NsYWltcygpOiBJQ29sbGVjdGlvbkhvbGRlcjxBcnJheTxzdHJpbmc+PiB7IHJldHVybiB0aGlzLl9wcm9kdWN0QWNjZXNzQ2xhaW1zOyB9XG5cdFx0cHVibGljIGdldCBwcm9kdWN0QWNjZXNzUm9sZXMoKTogT2JqZWN0IHsgcmV0dXJuIHRoaXMuX3Byb2R1Y3RBY2Nlc3NSb2xlczsgfVxuXHRcdHB1YmxpYyBnZXQgcmVmcmVzaFRva2VuKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9yZWZyZXNoVG9rZW47IH1cblx0XHRwdWJsaWMgZ2V0IHVzZXJDYWNoZUtleSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdXNlckNhY2hlS2V5OyB9XG5cblx0XHRwcml2YXRlIGdldFVUQ1RpbWUoZGF0ZVN0cmluZzogc3RyaW5nKTogbnVtYmVyIHtcblx0XHRcdHZhciBkYXRlID0gbmV3IERhdGUoZGF0ZVN0cmluZyk7XG5cdFx0XHR2YXIgdXRjID0gbmV3IERhdGUoZGF0ZS5nZXRVVENGdWxsWWVhcigpLCBkYXRlLmdldFVUQ01vbnRoKCksIGRhdGUuZ2V0VVRDRGF0ZSgpLCBkYXRlLmdldFVUQ0hvdXJzKCksIGRhdGUuZ2V0VVRDTWludXRlcygpLCBkYXRlLmdldFVUQ1NlY29uZHMoKSk7XG5cdFx0XHRyZXR1cm4gdXRjLmdldFRpbWUoKTtcblx0XHR9XG5cblx0XHRwdWJsaWMgaGFzQXBwbGljYXRpb25DbGFpbShjbGFpbTogQXV0b1BvaW50Q2xhaW0sIGhhc09ubHlUaGVSZXF1ZXN0ZWRDbGFpbT86IGJvb2xlYW4pOiBib29sZWFuIHtcblx0XHRcdGlmICghdGhpcy5faXNWYWxpZCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdHZhciBhcnJheUNoZWNrUHJvcGVydHkgPSBoYXNPbmx5VGhlUmVxdWVzdGVkQ2xhaW0gPyAnZXZlcnknIDogJ3NvbWUnO1xuXHRcdFx0aWYgKHRoaXMuX2hhc1Blcm1pc3Npb25zKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLl9hcHBsaWNhdGlvbkFjY2Vzc0NsYWltc1thcnJheUNoZWNrUHJvcGVydHldKHggPT4geCA9PT0gY2xhaW0pO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBOT1RFIC0gVGhpcyB3aWxsIHJldHVybiBmYWxzZSBpZiBsb29raW5nIGZvciBcImlmIGFuZCBPTkxZIGlmXCIvaGFzT25seVRoZVJlcXVlc3RlZENsYWltIHNpbmNlIGV2ZXJ5IHVzZXIgaXQgaXMgcmVxdWlyZWQgdG8gaGF2ZSBhdCBMRUFTVCAyIGNsYWltc1xuXHRcdFx0Ly8gcHJvZHVjdCBhY2Nlc3MgYW5kIGFwcGxpY2F0aW9uIGFjY2VzcyAoaS5lLiBhY2Nlc3MgdG8gTVAyIC0gbXAyVXNlciAmJiBcInRlY2huaWNpYW5cIi9cImFkbWluXCIvXCJzZXJ2aWNlIGFkdmlzb3JcIilcblx0XHRcdHJldHVybiB0aGlzLmZpcnN0T3JnYW5pemF0aW9uLmFwcGxpY2F0aW9uUGVybWlzc2lvbnNbYXJyYXlDaGVja1Byb3BlcnR5XSh4ID0+IHggPT09IGNsYWltKTtcblx0XHR9XG5cblx0XHRwdWJsaWMgaGFzT3JnYW5pemF0aW9uUHJvZHVjdENsYWltKGNsYWltOiBBdXRvUG9pbnRDbGFpbSwgb3JnYW5pemF0aW9uQ2FjaGVLZXk6IHN0cmluZywgaW5jbHVkZVBhcmVudGFsQWNjZXNzQ2hlY2s/OiBib29sZWFuKTogYm9vbGVhbiB7XG5cdFx0XHRpZiAoIXRoaXMuX2lzVmFsaWQpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgaGFzQWNjZXNzID0gIWFwLlV0aWxpdGllcy5pc051bGxPckVtcHR5Q29sbGVjdGlvbigodGhpcy5fcHJvZHVjdEFjY2Vzc0NsYWltc1tjbGFpbV0gfHwgW10pLmZpbHRlcih4ID0+IHggPT09IG9yZ2FuaXphdGlvbkNhY2hlS2V5KSk7XG5cdFx0XHRpZiAoaGFzQWNjZXNzIHx8ICFhcC5VdGlsaXRpZXMuaXNUcnVlVmFsdWUoaW5jbHVkZVBhcmVudGFsQWNjZXNzQ2hlY2spKSB7XG5cdFx0XHRcdHJldHVybiBoYXNBY2Nlc3M7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLmhhc09yZ2FuaXphdGlvblByb2R1Y3RDbGFpbShjbGFpbSwgdGhpcy5maXJzdE9yZ2FuaXphdGlvbi5vcmdhbml6YXRpb25Vbml0Q2FjaGVLZXkpO1xuXHRcdH1cblxuXHRcdHB1YmxpYyBoYXNPcmdhbml6YXRpb25Qcm9kdWN0Um9sZShyb2xlOiBBdXRvUG9pbnRSb2xlLCBvcmdhbml6YXRpb25DYWNoZUtleTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0XHRpZiAoIXRoaXMuX2lzVmFsaWQgfHwgYXAuVXRpbGl0aWVzLmlzTnVsbE9yRW1wdHlDb2xsZWN0aW9uKHRoaXMuX29yZ2FuaXphdGlvblVuaXRzKSkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JFbXB0eUNvbGxlY3Rpb24odGhpcy5fcHJvZHVjdEFjY2Vzc1JvbGVzW29yZ2FuaXphdGlvbkNhY2hlS2V5XSkgJiZcblx0XHRcdFx0dGhpcy5fcHJvZHVjdEFjY2Vzc1JvbGVzW29yZ2FuaXphdGlvbkNhY2hlS2V5XS5pbmRleE9mKHJvbGUpID4gLTFcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0cHVibGljIGlzRXhwaXJlZChidWZmZXJJbk1pbnV0ZXM/OiBudW1iZXIpOiBib29sZWFuIHtcblx0XHRcdHJldHVybiB0aGlzLmlzVG9rZW5FeHBpcmVkKCdfbG9uZ1Rlcm1FeHBpcmF0aW9uVXRjVGltZScsIGJ1ZmZlckluTWludXRlcyk7XG5cdFx0fVxuXG5cdFx0cHVibGljIGlzU3RhbGUoYnVmZmVySW5NaW51dGVzPzogbnVtYmVyKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5pc1Rva2VuRXhwaXJlZCgnX3Nob3J0VGVybUV4cGlyYXRpb25VdGNUaW1lJywgYnVmZmVySW5NaW51dGVzKTtcblx0XHR9XG5cblx0XHRwcml2YXRlIGlzVG9rZW5FeHBpcmVkKGZpZWxkOiBzdHJpbmcsIGJ1ZmZlckluTWludXRlcz86IG51bWJlcik6IGJvb2xlYW4ge1xuXHRcdFx0aWYgKCF0aGlzLl9pc1ZhbGlkKSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgbm93OiBudW1iZXIgPSB0aGlzLmdldFVUQ1RpbWUobmV3IERhdGUoKS50b1N0cmluZygpKTtcblx0XHRcdHZhciBleHBpcmF0aW9uOiBudW1iZXIgPSB0aGlzW2ZpZWxkXTtcblx0XHRcdHZhciBleHBpcmF0aW9uTWludXNOb3cgPSBleHBpcmF0aW9uIC0gbm93O1xuXHRcdFx0dmFyIGJ1ZmZlcmVkID0gKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChidWZmZXJJbk1pbnV0ZXMpID8gdGhpcy5fdGltZU91dEJ1ZmZlclNlY29uZHMgOiBidWZmZXJJbk1pbnV0ZXMgKiA2MCkgKiAxMDAwO1xuXHRcdFx0dmFyIGV4cGlyZWQgPSBleHBpcmF0aW9uTWludXNOb3cgPCBidWZmZXJlZDtcblxuXHRcdFx0cmV0dXJuIGV4cGlyZWQ7XG5cdFx0fVxuXG5cdFx0cHVibGljIHRvSUF1dGhEYXRhRm9yQ29va2llU3RvcmFnZSgpOiBJQXV0aERhdGFGb3JDb29raWVTdG9yYWdlIHtcblx0XHRcdHJldHVybiA8SUF1dGhEYXRhRm9yQ29va2llU3RvcmFnZT57XG5cdFx0XHRcdFsnLmV4cGlyZXMnXTogdGhpcy5fc2hvcnRUZXJtRXhwaXJhdGlvbkRhdGUsXG5cdFx0XHRcdFsnLmlzc3VlZCddOiB0aGlzLl9pc3N1ZWQsXG5cdFx0XHRcdGFjY2Vzc190b2tlbjogdGhpcy5fYmVhcmVyVG9rZW4sXG5cdFx0XHRcdGV4cGlyZXNfaW46IHRoaXMuX2V4cGlyZXNJbixcblx0XHRcdFx0Zmlyc3RfbmFtZTogdGhpcy5fZmlyc3ROYW1lLFxuXHRcdFx0XHRsYXN0X25hbWU6IHRoaXMuX2xhc3ROYW1lLFxuXHRcdFx0XHRvcmdhbml6YXRpb25fdW5pdHM6IHRoaXMuX29yZ2FuaXphdGlvblVuaXRzLFxuXHRcdFx0XHRwcmVmZXJyZWRfbGFuZ3VhZ2VfaWQ6IHRoaXMuX3ByZWZlcnJlZExhbmd1YWdlSWQsXG5cdFx0XHRcdHJlZnJlc2hfdG9rZW46IHRoaXMuX3JlZnJlc2hUb2tlbixcblx0XHRcdFx0cmVmcmVzaF90b2tlbl9leHBpcmVzOiB0aGlzLl9sb25nVGVybUV4cGlyYXRpb25EYXRlLFxuXHRcdFx0XHR0b2tlbl90eXBlOiB0aGlzLl90b2tlblR5cGUsXG5cdFx0XHRcdHVzZXJfY2FjaGVfa2V5OiB0aGlzLl91c2VyQ2FjaGVLZXksXG5cdFx0XHRcdHVzZXJuYW1lOiB0aGlzLl91c2VybmFtZVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBUaGlzIHdpbGwgZWl0aGVyIHVwZGF0ZSB0aGUgQXV0aERhdGEgaWYgcHJlc2VudCBPUiB3aWxsIGNsZWFyIGFsbCBwcm9wZXJ0aWVzIGlmIG51bGwgaXMgcGFzc2VkIGFzIHBhcmFtZXRlclxuXHRcdCAqIEBwYXJhbSBhdXRoRGF0YSAtIEFuIElBdXRoRGF0YSBvYmplY3QgZnJvbSB0aGUgU1NPIHNlcnZpY2UvY29va2llIHN0b3JhZ2Vcblx0XHQgKi9cblx0XHRwdWJsaWMgdXBkYXRlQXV0aERhdGEoYXV0aERhdGE/OiBJQXV0aERhdGEgfCBJQXV0aERhdGFGb3JDb29raWVTdG9yYWdlKSB7XG5cdFx0XHR0aGlzLl9hcHBsaWNhdGlvbkFjY2Vzc0NsYWltcyA9IFtdO1xuXHRcdFx0dGhpcy5fYmVhcmVyVG9rZW4gPSBudWxsO1xuXHRcdFx0dGhpcy5fZXhwaXJlc0luID0gbnVsbDtcblx0XHRcdHRoaXMuX2ZpcnN0TmFtZSA9IG51bGw7XG5cdFx0XHR0aGlzLl9oYXNQZXJtaXNzaW9ucyA9IGZhbHNlO1xuXHRcdFx0dGhpcy5faXNMb2FkZWQgPSBmYWxzZTtcblx0XHRcdHRoaXMuX2lzc3VlZCA9IG51bGw7XG5cdFx0XHR0aGlzLl9pc1ZhbGlkID0gZmFsc2U7XG5cdFx0XHR0aGlzLl9sYXN0TmFtZSA9IG51bGw7XG5cdFx0XHR0aGlzLl9sYXN0VWlVcGRhdGUgPSBudWxsO1xuXHRcdFx0dGhpcy5fbG9uZ1Rlcm1FeHBpcmF0aW9uRGF0ZSA9IG51bGw7XG5cdFx0XHR0aGlzLl9sb25nVGVybUV4cGlyYXRpb25VdGNUaW1lID0gRGF0ZS5ub3coKTtcblx0XHRcdHRoaXMuX29yZ2FuaXphdGlvblVuaXRzID0gW107XG5cdFx0XHR0aGlzLl9wcmVmZXJyZWRMYW5ndWFnZUlkID0gbnVsbDtcblx0XHRcdGFwLlV0aWxpdGllcy5leHRlbmQodHJ1ZSwgdGhpcy5fcHJvZHVjdEFjY2Vzc0NsYWltcywgPElDb2xsZWN0aW9uSG9sZGVyPEFycmF5PHN0cmluZz4+PnsgY29sbGVjdGlvbjogW10gfSk7XG5cdFx0XHR0aGlzLl9wcm9kdWN0QWNjZXNzUm9sZXMgPSB7fTtcblx0XHRcdHRoaXMuX3JlZnJlc2hUb2tlbiA9IG51bGw7XG5cdFx0XHR0aGlzLl9zaG9ydFRlcm1FeHBpcmF0aW9uRGF0ZSA9IG51bGw7XG5cdFx0XHR0aGlzLl9zaG9ydFRlcm1FeHBpcmF0aW9uVXRjVGltZSA9IERhdGUubm93KCk7XG5cdFx0XHR0aGlzLl90b2tlblR5cGUgPSBudWxsO1xuXHRcdFx0dGhpcy5fdXNlckNhY2hlS2V5ID0gbnVsbDtcblx0XHRcdHRoaXMuX3VzZXJuYW1lID0gbnVsbDtcblxuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChhdXRoRGF0YSkgfHwgIWF1dGhEYXRhLmhhc093blByb3BlcnR5KCcuZXhwaXJlcycpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoYXV0aERhdGEpICYmIHR5cGVvZiAoYXV0aERhdGEub3JnYW5pemF0aW9uX3VuaXRzKSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0YXV0aERhdGEub3JnYW5pemF0aW9uX3VuaXRzID0gSlNPTi5wYXJzZShhdXRoRGF0YS5vcmdhbml6YXRpb25fdW5pdHMudG9TdHJpbmcoKSk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuX3Nob3J0VGVybUV4cGlyYXRpb25EYXRlID0gYXV0aERhdGFbJy5leHBpcmVzJ107XG5cdFx0XHR0aGlzLl9zaG9ydFRlcm1FeHBpcmF0aW9uVXRjVGltZSA9IHRoaXMuZ2V0VVRDVGltZSh0aGlzLl9zaG9ydFRlcm1FeHBpcmF0aW9uRGF0ZSk7XG5cdFx0XHR0aGlzLl9pc3N1ZWQgPSBhdXRoRGF0YVsnLmlzc3VlZCddO1xuXHRcdFx0dGhpcy5fYmVhcmVyVG9rZW4gPSBhdXRoRGF0YS5hY2Nlc3NfdG9rZW47XG5cdFx0XHR0aGlzLl9hcHBsaWNhdGlvbkFjY2Vzc0NsYWltcyA9IChhdXRoRGF0YSBhcyBJQXV0aERhdGEpLmFwcGxpY2F0aW9uX3Blcm1pc3Npb25zIHx8IFtdO1xuXHRcdFx0dGhpcy5fZXhwaXJlc0luID0gYXV0aERhdGEuZXhwaXJlc19pbjtcblx0XHRcdHRoaXMuX2ZpcnN0TmFtZSA9IGF1dGhEYXRhLmZpcnN0X25hbWU7XG5cdFx0XHR0aGlzLl9sYXN0TmFtZSA9IGF1dGhEYXRhLmxhc3RfbmFtZTtcblx0XHRcdHRoaXMuX29yZ2FuaXphdGlvblVuaXRzID0gYXV0aERhdGEub3JnYW5pemF0aW9uX3VuaXRzIHx8IFtdO1xuXHRcdFx0dGhpcy5fcHJlZmVycmVkTGFuZ3VhZ2VJZCA9IGF1dGhEYXRhLnByZWZlcnJlZF9sYW5ndWFnZV9pZDtcblxuXHRcdFx0dmFyIG9yZ3NQcm9kdWN0cyA9IChhdXRoRGF0YSBhcyBJQXV0aERhdGEpLnByb2R1Y3RfcGVybWlzc2lvbnM7XG5cdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPckVtcHR5Q29sbGVjdGlvbihvcmdzUHJvZHVjdHMpKSB7XG5cdFx0XHRcdHZhciBjb2xsZWN0aW9uOiBJQ29sbGVjdGlvbkhvbGRlcjxBcnJheTxzdHJpbmc+PiA9IHsgY29sbGVjdGlvbjogW10gfTtcblx0XHRcdFx0b3Jnc1Byb2R1Y3RzLm1hcCh4ID0+IGNvbGxlY3Rpb25beC5wZXJtaXNzaW9uSWRdID0geC5vcmdhbml6YXRpb25Vbml0cyk7XG5cdFx0XHRcdGFwLlV0aWxpdGllcy5leHRlbmQodHJ1ZSwgdGhpcy5fcHJvZHVjdEFjY2Vzc0NsYWltcywgY29sbGVjdGlvbik7XG5cdFx0XHR9XG5cblx0XHRcdGFuZ3VsYXIuZm9yRWFjaChhdXRoRGF0YS5vcmdhbml6YXRpb25fdW5pdHMsIChvcmdVbml0KSA9PiB7XG5cdFx0XHRcdHRoaXMuX3Byb2R1Y3RBY2Nlc3NSb2xlc1tvcmdVbml0Lm9yZ2FuaXphdGlvblVuaXRDYWNoZUtleV0gPSBvcmdVbml0LmFwcGxpY2F0aW9uUm9sZXM7XG5cdFx0XHR9KTtcblxuXHRcdFx0dGhpcy5fcmVmcmVzaFRva2VuID0gYXV0aERhdGEucmVmcmVzaF90b2tlbjtcblx0XHRcdHRoaXMuX2xvbmdUZXJtRXhwaXJhdGlvbkRhdGUgPSBhdXRoRGF0YS5yZWZyZXNoX3Rva2VuX2V4cGlyZXM7XG5cdFx0XHR0aGlzLl9sb25nVGVybUV4cGlyYXRpb25VdGNUaW1lID0gdGhpcy5nZXRVVENUaW1lKHRoaXMuX2xvbmdUZXJtRXhwaXJhdGlvbkRhdGUpO1xuXHRcdFx0dGhpcy5fdG9rZW5UeXBlID0gYXV0aERhdGEudG9rZW5fdHlwZTtcblx0XHRcdHRoaXMuX3VzZXJDYWNoZUtleSA9IGF1dGhEYXRhLnVzZXJfY2FjaGVfa2V5O1xuXHRcdFx0dGhpcy5fdXNlcm5hbWUgPSBhdXRoRGF0YS51c2VybmFtZTtcblxuXHRcdFx0dGhpcy5faGFzUGVybWlzc2lvbnMgPSAodGhpcy5fcHJvZHVjdEFjY2Vzc1JvbGVzICE9PSBudWxsKTtcblx0XHRcdHRoaXMuX2lzVmFsaWQgPSAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yV2hpdGVzcGFjZSh0aGlzLl9iZWFyZXJUb2tlbikgJiZcblx0XHRcdFx0IWFwLlV0aWxpdGllcy5pc051bGxPckVtcHR5Q29sbGVjdGlvbih0aGlzLl9vcmdhbml6YXRpb25Vbml0cyk7XG5cdFx0XHR0aGlzLl9pc0xvYWRlZCA9IHRydWU7XG5cdFx0XHR0aGlzLl9sYXN0VWlVcGRhdGUgPSBEYXRlLm5vdygpO1xuXHRcdH1cblxuXHRcdHB1YmxpYyB0b0pTT04oc3BhY2U6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy50b0lBdXRoRGF0YUZvckNvb2tpZVN0b3JhZ2UoKSwgbnVsbCwgc3BhY2UpO1xuXHRcdH1cblx0fVxufVxuIl19\n\n/// \n'use strict';\nvar ap;\n(function (ap) {\n /**\n * Common utilities created to minify duplicate code for consistent checks and methods.\n * NOTE: These do NOT work in the HTML and should be passed from the controllers if you need the check in html.\n */\n var Utilities = /** @class */ (function () {\n function Utilities() {\n }\n /**\n * Creates a deep copy of the specified object. which should be an object or an Array but can also be a primitive type if needed.\n * NOTE: If the object is null or undefined then the original object is returned.\n * @param object - The object to be copied.\n */\n Utilities.copy = function (object) {\n if (Utilities.isNullOrUndefined(object)) {\n return object;\n }\n return JSON.parse(JSON.stringify(object));\n };\n /**\n * Returns an array of Key / Value pairs created from an enum\n * @param enumeration - The enum to create the array from\n * @returns { IKeyValuePair }\n */\n Utilities.createKeyValueArray = function (enumeration) {\n var keyValueArray = [];\n Object.keys(enumeration)\n .filter(function (value) { return isNaN(parseInt(value, 10)); })\n .forEach(function (stringKey) {\n keyValueArray.push({\n key: enumeration[stringKey],\n value: stringKey.split(/(?=[A-Z])/).join(' ')\n });\n });\n return keyValueArray;\n };\n Utilities.extend = function (clearObjectPropertiesFirst, target, object1) {\n var objectN = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n objectN[_i - 3] = arguments[_i];\n }\n if (clearObjectPropertiesFirst) {\n for (var member in target) {\n if (target.hasOwnProperty[member]) {\n delete target[member];\n }\n }\n }\n return $.extend(target, object1, objectN);\n };\n /**\n * Returns a value indicating whether the specified object is null or undefined, false otherwise;\n * @param object - The object to be validated\n * @returns { boolean }\n */\n Utilities.isNullOrUndefined = function (object) {\n return object === null || typeof (object) === 'undefined';\n };\n /**\n * Returns a value indicating whether the specified input is a string and is not null or only white space characters.\n * @param input - the string input to be validated\n * @returns { boolean }\n */\n Utilities.isNullOrWhitespace = function (input) {\n return this.isNullOrUndefined(input) || typeof input !== 'string' || input.replace(/\\s/g, '') === '';\n };\n /**\n * Returns a value indicating whether the specified collection parameter is null/undefined, not an array or has no items in the collection.\n * @param collection - The collection to be validated\n * @returns { boolean }\n */\n Utilities.isNullOrEmptyCollection = function (collection) {\n return this.isNullOrUndefined(collection) || Object.prototype.toString.call(collection) !== '[object Array]' || collection.length === 0;\n };\n /**\n * Gets a value indicating whether the specified value is null/undefined or is equal to the true value\n * \"True\", \"true\", true, 1, \"1\" all return true, false otherwise.\n * @param value - The value to be processed\n * @returns { Boolean }\n */\n Utilities.isNullOrTrueValue = function (value) {\n return Utilities.isNullOrUndefined(value) || Utilities.isTrueValue(value);\n };\n /**\n * Gets a value indicating whether the specified value is NOT null/undefined and is equal to the true value\n * \"True\", \"true\", true, 1, \"1\" all return true, false otherwise.\n * @param value - The value to be processed\n * @returns { Boolean }\n */\n Utilities.isTrueValue = function (value) {\n var stringValue = (value || '').toString().toLowerCase().trim();\n return !Utilities.isNullOrWhitespace(stringValue) && (value === true\n || stringValue === 'true'\n || stringValue === '1');\n };\n /**\n * Sort the specified array by the specified property name.\n * @param array - The array to be sorted\n * @param propertyName - The property name to be sorted by.\n * @param ascending - A value indicating whether the values should be sorting in ascending order.\n * @returns { Array of type T }\n */\n Utilities.sortByProperty = function (array, propertyName, ascending) {\n Utilities.sortByProperties(array, [{ propertyName: propertyName, ascending: this.isNullOrTrueValue(ascending) }]);\n };\n /**\n * Sort the specified array by the specified property names, in the order they appear.\n * @param array - The array to be sorted\n * @param sortProperties - an array of ISortProperty.\n * @returns { Array of type T }\n */\n Utilities.sortByProperties = function (array, sortProperties) {\n if (Utilities.isNullOrEmptyCollection(array)) {\n return;\n }\n array.sort(function (a, b) {\n var asc;\n var comparePropertyA;\n var comparePropertyB;\n var i;\n var j;\n var propertyCount = sortProperties.length;\n var propertyNames = [];\n var propertyNamesCount;\n for (i = 0; i < propertyCount; i++) {\n asc = sortProperties[i].ascending;\n propertyNames = sortProperties[i].propertyName.split('.');\n propertyNamesCount = propertyNames.length;\n comparePropertyA = a[propertyNames[0]];\n comparePropertyB = b[propertyNames[0]];\n for (j = 1; j < propertyNamesCount; j++) {\n comparePropertyA = comparePropertyA[propertyNames[j]];\n comparePropertyB = comparePropertyB[propertyNames[j]];\n }\n if (comparePropertyA > comparePropertyB) {\n return asc ? 1 : -1;\n }\n if (comparePropertyA < comparePropertyB) {\n return asc ? -1 : 1;\n }\n }\n return 0;\n });\n };\n /**\n * Converts first letters after a space to an upper case IE.\n * fort collins, croton-on-hudson, harper's ferry, coeur d'alene, o'fallon\n * becomes\n * Fort Collins, Croton-On-Hudson, Harper's Ferry, Coeur D'Alene, O'Fallon\n * @param input - The string to be converted\n * @returns { string }\n */\n Utilities.toTitleCase = function (input) {\n return input.replace(this.titleCaseRegex, function (x) { return x.toUpperCase(); });\n };\n /**\n * US Vehicle Identification Number (VIN) validation.\n * version 1.0 by Christopher Jordan\n * version 1.1 by RHPT, Peter Boughton & Adam Cameron (original function rejected valid VINs)\n * see http://en.wikipedia.org/wiki/Vehicle_Identification_Number for VIN spec\n * http://stackoverflow.com/questions/26407015/javascript-jquery-vin-validator\n *\n * @param vin VIN to validate (Required)\n * @return Returns a boolean.\n * @author Christopher Jordan (cjordan@placs.net)\n * @version 1, February 19, 2013\n */\n Utilities.isValidVin = function (vin) {\n vin = (vin || '').toUpperCase();\n var char;\n var digit;\n var checkDigit;\n var sum = 0;\n var vinRegex = new RegExp('^[A-Z\\\\d]{17}$', 'i');\n if (!vinRegex.test(vin)) {\n return false;\n }\n for (var index = 0; index < vin.length; ++index) {\n char = vin.charAt(index);\n digit = Number(char);\n var w = Utilities.weights[index];\n if (isNaN(digit)) {\n digit = Utilities.transliterations[char];\n }\n sum += digit * w;\n }\n checkDigit = sum % 11;\n if (checkDigit === 10) {\n checkDigit = 'x';\n }\n var actualDigit = vin.charAt(8);\n return checkDigit === actualDigit;\n };\n Utilities.titleCaseRegex = /(\\b[a-z](?!\\s))/g;\n Utilities.weights = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2];\n Utilities.transliterations = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, J: 1, K: 2, L: 3, M: 4, N: 5, P: 7, R: 9, S: 2, T: 3, U: 4, V: 5, W: 6, X: 7, Y: 8, Z: 9 };\n return Utilities;\n }());\n ap.Utilities = Utilities;\n})(ap || (ap = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy91dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLFlBQVksQ0FBQztBQUViLElBQU8sRUFBRSxDQThOUjtBQTlORCxXQUFPLEVBQUU7SUFDUjs7O09BR0c7SUFDSDtRQUFBO1FBd05BLENBQUM7UUFuTkE7Ozs7V0FJRztRQUNJLGNBQUksR0FBWCxVQUFlLE1BQVM7WUFDdkIsSUFBSSxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hDLE9BQU8sTUFBTSxDQUFDO2FBQ2Q7WUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRDs7OztXQUlHO1FBQ0ksNkJBQW1CLEdBQTFCLFVBQTJCLFdBQWdCO1lBQzFDLElBQUksYUFBYSxHQUFvQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3RCLE1BQU0sQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQTFCLENBQTBCLENBQUM7aUJBQzNDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7Z0JBQ2xCLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLEdBQUcsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO29CQUMzQixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUM3QyxDQUFDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVKLE9BQU8sYUFBYSxDQUFDO1FBQ3RCLENBQUM7UUFFTSxnQkFBTSxHQUFiLFVBQWlCLDBCQUFtQyxFQUFFLE1BQVMsRUFBRSxPQUFVO1lBQUUsaUJBQWU7aUJBQWYsVUFBZSxFQUFmLHFCQUFlLEVBQWYsSUFBZTtn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Ly8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcCB7XG5cdC8qKlxuXHQgKiBDb21tb24gdXRpbGl0aWVzIGNyZWF0ZWQgdG8gbWluaWZ5IGR1cGxpY2F0ZSBjb2RlIGZvciBjb25zaXN0ZW50IGNoZWNrcyBhbmQgbWV0aG9kcy5cblx0ICogTk9URTogVGhlc2UgZG8gTk9UIHdvcmsgaW4gdGhlIEhUTUwgYW5kIHNob3VsZCBiZSBwYXNzZWQgZnJvbSB0aGUgY29udHJvbGxlcnMgaWYgeW91IG5lZWQgdGhlIGNoZWNrIGluIGh0bWwuXG5cdCAqL1xuXHRleHBvcnQgY2xhc3MgVXRpbGl0aWVzIHtcblx0XHRwcml2YXRlIHN0YXRpYyB0aXRsZUNhc2VSZWdleCA9IC8oXFxiW2Etel0oPyFcXHMpKS9nO1xuXHRcdHByaXZhdGUgc3RhdGljIHdlaWdodHMgPSBbOCwgNywgNiwgNSwgNCwgMywgMiwgMTAsIDAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdO1xuXHRcdHByaXZhdGUgc3RhdGljIHRyYW5zbGl0ZXJhdGlvbnMgPSB7IEE6IDEsIEI6IDIsIEM6IDMsIEQ6IDQsIEU6IDUsIEY6IDYsIEc6IDcsIEg6IDgsIEo6IDEsIEs6IDIsIEw6IDMsIE06IDQsIE46IDUsIFA6IDcsIFI6IDksIFM6IDIsIFQ6IDMsIFU6IDQsIFY6IDUsIFc6IDYsIFg6IDcsIFk6IDgsIFo6IDkgfTtcblxuXHRcdC8qKlxuXHRcdCAqIENyZWF0ZXMgYSBkZWVwIGNvcHkgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QuIHdoaWNoIHNob3VsZCBiZSBhbiBvYmplY3Qgb3IgYW4gQXJyYXkgYnV0IGNhbiBhbHNvIGJlIGEgcHJpbWl0aXZlIHR5cGUgaWYgbmVlZGVkLlxuXHRcdCAqIE5PVEU6IElmIHRoZSBvYmplY3QgaXMgbnVsbCBvciB1bmRlZmluZWQgdGhlbiB0aGUgb3JpZ2luYWwgb2JqZWN0IGlzIHJldHVybmVkLlxuXHRcdCAqIEBwYXJhbSBvYmplY3QgLSBUaGUgb2JqZWN0IHRvIGJlIGNvcGllZC5cblx0XHQgKi9cblx0XHRzdGF0aWMgY29weTxUPihvYmplY3Q6IFQpOiBUIHtcblx0XHRcdGlmIChVdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQob2JqZWN0KSkge1xuXHRcdFx0XHRyZXR1cm4gb2JqZWN0O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmplY3QpKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBSZXR1cm5zIGFuIGFycmF5IG9mIEtleSAvIFZhbHVlIHBhaXJzIGNyZWF0ZWQgZnJvbSBhbiBlbnVtXG5cdFx0ICogQHBhcmFtIGVudW1lcmF0aW9uIC0gVGhlIGVudW0gdG8gY3JlYXRlIHRoZSBhcnJheSBmcm9tXG5cdFx0ICogQHJldHVybnMgeyBJS2V5VmFsdWVQYWlyPG51bWJlciwgc3RyaW5nPiB9XG5cdFx0ICovXG5cdFx0c3RhdGljIGNyZWF0ZUtleVZhbHVlQXJyYXkoZW51bWVyYXRpb246IGFueSk6IElLZXlWYWx1ZVBhaXI8bnVtYmVyLCBzdHJpbmc+W10ge1xuXHRcdFx0dmFyIGtleVZhbHVlQXJyYXk6IElLZXlWYWx1ZVBhaXI8bnVtYmVyLCBzdHJpbmc+W10gPSBbXTtcblx0XHRcdE9iamVjdC5rZXlzKGVudW1lcmF0aW9uKVxuXHRcdFx0XHQuZmlsdGVyKHZhbHVlID0+IGlzTmFOKHBhcnNlSW50KHZhbHVlLCAxMCkpKVxuXHRcdFx0XHQuZm9yRWFjaCgoc3RyaW5nS2V5KSA9PiB7XG5cdFx0XHRcdFx0a2V5VmFsdWVBcnJheS5wdXNoKHtcblx0XHRcdFx0XHRcdGtleTogZW51bWVyYXRpb25bc3RyaW5nS2V5XSxcblx0XHRcdFx0XHRcdHZhbHVlOiBzdHJpbmdLZXkuc3BsaXQoLyg/PVtBLVpdKS8pLmpvaW4oJyAnKVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuIGtleVZhbHVlQXJyYXk7XG5cdFx0fVxuXHRcdFxuXHRcdHN0YXRpYyBleHRlbmQ8VD4oY2xlYXJPYmplY3RQcm9wZXJ0aWVzRmlyc3Q6IGJvb2xlYW4sIHRhcmdldDogVCwgb2JqZWN0MTogVCwgLi4ub2JqZWN0TjogVFtdKTogVCB7XG5cdFx0XHRpZiAoY2xlYXJPYmplY3RQcm9wZXJ0aWVzRmlyc3QpIHtcblx0XHRcdFx0Zm9yICh2YXIgbWVtYmVyIGluIHRhcmdldCkge1xuXHRcdFx0XHRcdGlmICh0YXJnZXQuaGFzT3duUHJvcGVydHlbbWVtYmVyXSkge1xuXHRcdFx0XHRcdFx0ZGVsZXRlIHRhcmdldFttZW1iZXJdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gJC5leHRlbmQodGFyZ2V0LCBvYmplY3QxLCBvYmplY3ROKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBSZXR1cm5zIGEgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgb2JqZWN0IGlzIG51bGwgb3IgdW5kZWZpbmVkLCBmYWxzZSBvdGhlcndpc2U7XG5cdFx0ICogQHBhcmFtIG9iamVjdCAtIFRoZSBvYmplY3QgdG8gYmUgdmFsaWRhdGVkXG5cdFx0ICogQHJldHVybnMgeyBib29sZWFuIH1cblx0XHQgKi9cblx0XHRzdGF0aWMgaXNOdWxsT3JVbmRlZmluZWQ8VD4ob2JqZWN0OiBUKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gb2JqZWN0ID09PSBudWxsIHx8IHR5cGVvZiAob2JqZWN0KSA9PT0gJ3VuZGVmaW5lZCc7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogUmV0dXJucyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlY2lmaWVkIGlucHV0IGlzIGEgc3RyaW5nIGFuZCBpcyBub3QgbnVsbCBvciBvbmx5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMuXG5cdFx0ICogQHBhcmFtIGlucHV0IC0gdGhlIHN0cmluZyBpbnB1dCB0byBiZSB2YWxpZGF0ZWRcblx0XHQgKiBAcmV0dXJucyB7IGJvb2xlYW4gfVxuXHRcdCAqL1xuXHRcdHN0YXRpYyBpc051bGxPcldoaXRlc3BhY2UoaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuaXNOdWxsT3JVbmRlZmluZWQoaW5wdXQpIHx8IHR5cGVvZiBpbnB1dCAhPT0gJ3N0cmluZycgfHwgaW5wdXQucmVwbGFjZSgvXFxzL2csICcnKSA9PT0gJyc7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogUmV0dXJucyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlY2lmaWVkIGNvbGxlY3Rpb24gcGFyYW1ldGVyIGlzIG51bGwvdW5kZWZpbmVkLCBub3QgYW4gYXJyYXkgb3IgaGFzIG5vIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uLlxuXHRcdCAqIEBwYXJhbSBjb2xsZWN0aW9uIC0gVGhlIGNvbGxlY3Rpb24gdG8gYmUgdmFsaWRhdGVkXG5cdFx0ICogQHJldHVybnMgeyBib29sZWFuIH1cblx0XHQgKi9cblx0XHRzdGF0aWMgaXNOdWxsT3JFbXB0eUNvbGxlY3Rpb248VD4oY29sbGVjdGlvbjogVFtdKTogYm9vbGVhbiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5pc051bGxPclVuZGVmaW5lZChjb2xsZWN0aW9uKSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoY29sbGVjdGlvbikgIT09ICdbb2JqZWN0IEFycmF5XScgfHwgY29sbGVjdGlvbi5sZW5ndGggPT09IDA7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogR2V0cyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIG51bGwvdW5kZWZpbmVkIG9yIGlzIGVxdWFsIHRvIHRoZSB0cnVlIHZhbHVlXG5cdFx0ICogPHN0cmluZz5cIlRydWVcIiwgPHN0cmluZz5cInRydWVcIiwgPGJvb2xlYW4+dHJ1ZSwgPG51bWJlcj4xLCA8c3RyaW5nPlwiMVwiIGFsbCByZXR1cm4gdHJ1ZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHRcdCAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBiZSBwcm9jZXNzZWRcblx0XHQgKiBAcmV0dXJucyB7IEJvb2xlYW4gfVxuXHRcdCAqL1xuXHRcdHN0YXRpYyBpc051bGxPclRydWVWYWx1ZSh2YWx1ZT86IGFueSkge1xuXHRcdFx0cmV0dXJuIFV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgVXRpbGl0aWVzLmlzVHJ1ZVZhbHVlKHZhbHVlKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBHZXRzIGEgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgTk9UIG51bGwvdW5kZWZpbmVkIGFuZCBpcyBlcXVhbCB0byB0aGUgdHJ1ZSB2YWx1ZVxuXHRcdCAqIDxzdHJpbmc+XCJUcnVlXCIsIDxzdHJpbmc+XCJ0cnVlXCIsIDxib29sZWFuPnRydWUsIDxudW1iZXI+MSwgPHN0cmluZz5cIjFcIiBhbGwgcmV0dXJuIHRydWUsIGZhbHNlIG90aGVyd2lzZS5cblx0XHQgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYmUgcHJvY2Vzc2VkXG5cdFx0ICogQHJldHVybnMgeyBCb29sZWFuIH1cblx0XHQgKi9cblx0XHRzdGF0aWMgaXNUcnVlVmFsdWUodmFsdWU/OiBhbnkpIHtcblx0XHRcdHZhciBzdHJpbmdWYWx1ZSA9ICh2YWx1ZSB8fCAnJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuXHRcdFx0cmV0dXJuICFVdGlsaXRpZXMuaXNOdWxsT3JXaGl0ZXNwYWNlKHN0cmluZ1ZhbHVlKSAmJiAoXG5cdFx0XHRcdHZhbHVlID09PSB0cnVlXG5cdFx0XHRcdHx8IHN0cmluZ1ZhbHVlID09PSAndHJ1ZSdcblx0XHRcdFx0fHwgc3RyaW5nVmFsdWUgPT09ICcxJ1xuXHRcdFx0KTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBTb3J0IHRoZSBzcGVjaWZpZWQgYXJyYXkgYnkgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eSBuYW1lLlxuXHRcdCAqIEBwYXJhbSBhcnJheSAtIFRoZSBhcnJheSB0byBiZSBzb3J0ZWRcblx0XHQgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgdG8gYmUgc29ydGVkIGJ5LlxuXHRcdCAqIEBwYXJhbSBhc2NlbmRpbmcgLSBBIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgdmFsdWVzIHNob3VsZCBiZSBzb3J0aW5nIGluIGFzY2VuZGluZyBvcmRlci5cblx0XHQgKiBAcmV0dXJucyB7IEFycmF5IG9mIHR5cGUgVCB9XG5cdFx0ICovXG5cdFx0c3RhdGljIHNvcnRCeVByb3BlcnR5PFQ+KGFycmF5OiBUW10sIHByb3BlcnR5TmFtZTogc3RyaW5nLCBhc2NlbmRpbmc/OiBib29sZWFuKTogdm9pZCB7XG5cdFx0XHRVdGlsaXRpZXMuc29ydEJ5UHJvcGVydGllczxUPihhcnJheSwgW3sgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWUsIGFzY2VuZGluZzogdGhpcy5pc051bGxPclRydWVWYWx1ZShhc2NlbmRpbmcpIH1dKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBTb3J0IHRoZSBzcGVjaWZpZWQgYXJyYXkgYnkgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eSBuYW1lcywgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyLlxuXHRcdCAqIEBwYXJhbSBhcnJheSAtIFRoZSBhcnJheSB0byBiZSBzb3J0ZWRcblx0XHQgKiBAcGFyYW0gc29ydFByb3BlcnRpZXMgLSBhbiBhcnJheSBvZiBJU29ydFByb3BlcnR5LlxuXHRcdCAqIEByZXR1cm5zIHsgQXJyYXkgb2YgdHlwZSBUIH1cblx0XHQgKi9cblx0XHRzdGF0aWMgc29ydEJ5UHJvcGVydGllczxUPihhcnJheTogVFtdLCBzb3J0UHJvcGVydGllczogSVNvcnRQcm9wZXJ0eVtdKTogdm9pZCB7XG5cdFx0XHRpZiAoVXRpbGl0aWVzLmlzTnVsbE9yRW1wdHlDb2xsZWN0aW9uKGFycmF5KSkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGFycmF5LnNvcnQoKGEsIGIpID0+IHtcblx0XHRcdFx0dmFyIGFzYzogYm9vbGVhbjtcblx0XHRcdFx0dmFyIGNvbXBhcmVQcm9wZXJ0eUE6IGFueTtcblx0XHRcdFx0dmFyIGNvbXBhcmVQcm9wZXJ0eUI6IGFueTtcblx0XHRcdFx0dmFyIGk6IG51bWJlcjtcblx0XHRcdFx0dmFyIGo6IG51bWJlcjtcblx0XHRcdFx0dmFyIHByb3BlcnR5Q291bnQgPSBzb3J0UHJvcGVydGllcy5sZW5ndGg7XG5cdFx0XHRcdHZhciBwcm9wZXJ0eU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0XHR2YXIgcHJvcGVydHlOYW1lc0NvdW50OiBudW1iZXI7XG5cblx0XHRcdFx0Zm9yIChpID0gMDsgaSA8IHByb3BlcnR5Q291bnQ7IGkrKykge1xuXHRcdFx0XHRcdGFzYyA9IHNvcnRQcm9wZXJ0aWVzW2ldLmFzY2VuZGluZztcblx0XHRcdFx0XHRwcm9wZXJ0eU5hbWVzID0gc29ydFByb3BlcnRpZXNbaV0ucHJvcGVydHlOYW1lLnNwbGl0KCcuJyk7XG5cdFx0XHRcdFx0cHJvcGVydHlOYW1lc0NvdW50ID0gcHJvcGVydHlOYW1lcy5sZW5ndGg7XG5cblx0XHRcdFx0XHRjb21wYXJlUHJvcGVydHlBID0gYVtwcm9wZXJ0eU5hbWVzWzBdXTtcblx0XHRcdFx0XHRjb21wYXJlUHJvcGVydHlCID0gYltwcm9wZXJ0eU5hbWVzWzBdXTtcblx0XHRcdFx0XHRmb3IgKGogPSAxOyBqIDwgcHJvcGVydHlOYW1lc0NvdW50OyBqKyspIHtcblx0XHRcdFx0XHRcdGNvbXBhcmVQcm9wZXJ0eUEgPSBjb21wYXJlUHJvcGVydHlBW3Byb3BlcnR5TmFtZXNbal1dO1xuXHRcdFx0XHRcdFx0Y29tcGFyZVByb3BlcnR5QiA9IGNvbXBhcmVQcm9wZXJ0eUJbcHJvcGVydHlOYW1lc1tqXV07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKGNvbXBhcmVQcm9wZXJ0eUEgPiBjb21wYXJlUHJvcGVydHlCKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gYXNjID8gMSA6IC0xO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChjb21wYXJlUHJvcGVydHlBIDwgY29tcGFyZVByb3BlcnR5Qikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGFzYyA/IC0xIDogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gMDtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIENvbnZlcnRzIGZpcnN0IGxldHRlcnMgYWZ0ZXIgYSBzcGFjZSB0byBhbiB1cHBlciBjYXNlIElFLlxuXHRcdCAqIGZvcnQgY29sbGlucywgY3JvdG9uLW9uLWh1ZHNvbiwgaGFycGVyJ3MgZmVycnksIGNvZXVyIGQnYWxlbmUsIG8nZmFsbG9uXG5cdFx0ICogYmVjb21lc1xuXHRcdCAqIEZvcnQgQ29sbGlucywgQ3JvdG9uLU9uLUh1ZHNvbiwgSGFycGVyJ3MgRmVycnksIENvZXVyIEQnQWxlbmUsIE8nRmFsbG9uXG5cdFx0ICogQHBhcmFtIGlucHV0IC0gVGhlIHN0cmluZyB0byBiZSBjb252ZXJ0ZWRcblx0XHQgKiBAcmV0dXJucyB7IHN0cmluZyB9XG5cdFx0ICovXG5cdFx0c3RhdGljIHRvVGl0bGVDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdFx0cmV0dXJuIGlucHV0LnJlcGxhY2UodGhpcy50aXRsZUNhc2VSZWdleCwgKHgpID0+IHgudG9VcHBlckNhc2UoKSk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogVVMgVmVoaWNsZSBJZGVudGlmaWNhdGlvbiBOdW1iZXIgKFZJTikgdmFsaWRhdGlvbi5cblx0XHQgKiB2ZXJzaW9uIDEuMCBieSBDaHJpc3RvcGhlciBKb3JkYW5cblx0XHQgKiB2ZXJzaW9uIDEuMSBieSBSSFBULCBQZXRlciBCb3VnaHRvbiAmYW1wOyBBZGFtIENhbWVyb24gKG9yaWdpbmFsIGZ1bmN0aW9uIHJlamVjdGVkIHZhbGlkIFZJTnMpXG5cdFx0ICogc2VlIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmVoaWNsZV9JZGVudGlmaWNhdGlvbl9OdW1iZXIgZm9yIFZJTiBzcGVjXG5cdFx0ICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNjQwNzAxNS9qYXZhc2NyaXB0LWpxdWVyeS12aW4tdmFsaWRhdG9yXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0gdmluIFZJTiB0byB2YWxpZGF0ZSAoUmVxdWlyZWQpXG5cdFx0ICogQHJldHVybiBSZXR1cm5zIGEgYm9vbGVhbi5cblx0XHQgKiBAYXV0aG9yIENocmlzdG9waGVyIEpvcmRhbiAoY2pvcmRhbkBwbGFjcy5uZXQpXG5cdFx0ICogQHZlcnNpb24gMSwgRmVicnVhcnkgMTksIDIwMTNcblx0XHQgKi9cblx0XHRzdGF0aWMgaXNWYWxpZFZpbih2aW46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdFx0dmluID0gKHZpbiB8fCAnJykudG9VcHBlckNhc2UoKTtcblx0XHRcdHZhciBjaGFyOiBzdHJpbmc7XG5cdFx0XHR2YXIgZGlnaXQ6IG51bWJlcjtcblx0XHRcdHZhciBjaGVja0RpZ2l0OiBzdHJpbmcgfCBudW1iZXI7XG5cdFx0XHR2YXIgc3VtID0gMDtcblx0XHRcdHZhciB2aW5SZWdleCA9IG5ldyBSZWdFeHAoJ15bQS1aXFxcXGRdezE3fSQnLCAnaScpO1xuXG5cdFx0XHRpZiAoIXZpblJlZ2V4LnRlc3QodmluKSkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB2aW4ubGVuZ3RoOyArK2luZGV4KSB7XG5cdFx0XHRcdGNoYXIgPSB2aW4uY2hhckF0KGluZGV4KTtcblx0XHRcdFx0ZGlnaXQgPSBOdW1iZXIoY2hhcik7XG5cblx0XHRcdFx0dmFyIHcgPSBVdGlsaXRpZXMud2VpZ2h0c1tpbmRleF07XG5cdFx0XHRcdGlmIChpc05hTihkaWdpdCkpIHtcblx0XHRcdFx0XHRkaWdpdCA9IFV0aWxpdGllcy50cmFuc2xpdGVyYXRpb25zW2NoYXJdO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHN1bSArPSBkaWdpdCAqIHc7XG5cdFx0XHR9XG5cblx0XHRcdGNoZWNrRGlnaXQgPSBzdW0gJSAxMTtcblxuXHRcdFx0aWYgKGNoZWNrRGlnaXQgPT09IDEwKSB7XG5cdFx0XHRcdGNoZWNrRGlnaXQgPSAneCc7XG5cdFx0XHR9XG5cblx0XHRcdHZhciBhY3R1YWxEaWdpdCA9IHZpbi5jaGFyQXQoOCk7XG5cblx0XHRcdHJldHVybiBjaGVja0RpZ2l0ID09PSBhY3R1YWxEaWdpdDtcblx0XHR9XG5cdH1cbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n angular\n .module('app', [\n 'app.Components',\n 'app.Directives',\n 'app.Home',\n 'app.Modals',\n 'app.Products',\n 'app.Services',\n 'app.Testing',\n 'angular-uuid',\n 'ngCookies',\n 'ngRoute',\n 'ngSanitize',\n 'ngScrollTo',\n 'mwl.confirm',\n 'pascalprecht.translate',\n 'ui.bootstrap',\n 'ui.sortable',\n 'ui.select',\n 'deploy' // This module is defined in the app.config then redefined when deploying. Used to replace the api url per deployment environment.\n ])\n .constant('toastr', toastr);\n angular.module('app.Components', []);\n angular.module('app.Directives', []);\n angular.module('app.Home', []);\n angular.module('app.Modals', []);\n angular.module('app.Products', []);\n angular.module('app.Services', []);\n angular.module('app.Testing', []);\n angular.module('app').run([\n '$route', function ($route) {\n $route.reload();\n }\n ]);\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDO0FBQzVDLFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQXdDVDtBQXhDRCxXQUFPLEdBQUc7SUFDVCxPQUFPO1NBQ0wsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNkLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGFBQWE7UUFFYixjQUFjO1FBQ2QsV0FBVztRQUNYLFNBQVM7UUFDVCxZQUFZO1FBQ1osWUFBWTtRQUVaLGFBQWE7UUFDYix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBRVgsUUFBUSxDQUFDLG1JQUFtSTtLQUM1SSxDQUFDO1NBQ0QsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU3QixPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFbEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDekIsUUFBUSxFQUFFLFVBQVMsTUFBTTtZQUN4QixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUNELENBQUMsQ0FBQztBQUNKLENBQUMsRUF4Q00sR0FBRyxLQUFILEdBQUcsUUF3Q1QiLCJmaWxlIjoiYXBwLm1vZHVsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcCB7XG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAnLCBbXG5cdFx0XHQnYXBwLkNvbXBvbmVudHMnLFxuXHRcdFx0J2FwcC5EaXJlY3RpdmVzJyxcblx0XHRcdCdhcHAuSG9tZScsXG5cdFx0XHQnYXBwLk1vZGFscycsXG5cdFx0XHQnYXBwLlByb2R1Y3RzJyxcblx0XHRcdCdhcHAuU2VydmljZXMnLFxuXHRcdFx0J2FwcC5UZXN0aW5nJyxcblxuXHRcdFx0J2FuZ3VsYXItdXVpZCcsXG5cdFx0XHQnbmdDb29raWVzJyxcblx0XHRcdCduZ1JvdXRlJyxcblx0XHRcdCduZ1Nhbml0aXplJyxcblx0XHRcdCduZ1Njcm9sbFRvJyxcblxuXHRcdFx0J213bC5jb25maXJtJyxcblx0XHRcdCdwYXNjYWxwcmVjaHQudHJhbnNsYXRlJyxcblx0XHRcdCd1aS5ib290c3RyYXAnLFxuXHRcdFx0J3VpLnNvcnRhYmxlJyxcblx0XHRcdCd1aS5zZWxlY3QnLFxuXG5cdFx0XHQnZGVwbG95JyAvLyBUaGlzIG1vZHVsZSBpcyBkZWZpbmVkIGluIHRoZSBhcHAuY29uZmlnIHRoZW4gcmVkZWZpbmVkIHdoZW4gZGVwbG95aW5nLiAgVXNlZCB0byByZXBsYWNlIHRoZSBhcGkgdXJsIHBlciBkZXBsb3ltZW50IGVudmlyb25tZW50LlxuXHRcdF0pXG5cdFx0LmNvbnN0YW50KCd0b2FzdHInLCB0b2FzdHIpO1xuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuQ29tcG9uZW50cycsIFtdKTtcblx0YW5ndWxhci5tb2R1bGUoJ2FwcC5EaXJlY3RpdmVzJywgW10pO1xuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLkhvbWUnLCBbXSk7XG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuTW9kYWxzJywgW10pO1xuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlByb2R1Y3RzJywgW10pO1xuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlNlcnZpY2VzJywgW10pO1xuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlRlc3RpbmcnLCBbXSk7XG5cblx0YW5ndWxhci5tb2R1bGUoJ2FwcCcpLnJ1bihbXG5cdFx0JyRyb3V0ZScsIGZ1bmN0aW9uKCRyb3V0ZSkge1xuXHRcdFx0JHJvdXRlLnJlbG9hZCgpO1xuXHRcdH1cblx0XSk7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var DirectivesTranslations = /** @class */ (function () {\n function DirectivesTranslations() {\n }\n DirectivesTranslations.config = function ($translateProvider) {\n var _a;\n var keys = ap.Constants.translationKeys.directives;\n $translateProvider.translations('en', (_a = {}, _a[keys.loading] = 'Loading...', _a));\n };\n return DirectivesTranslations;\n }());\n app.DirectivesTranslations = DirectivesTranslations;\n angular.module('app')\n .config(['$translateProvider', DirectivesTranslations.config]);\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0aW9ucy9kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0FXVDtBQVhELFdBQU8sR0FBRztJQUNUO1FBQUE7UUFNQSxDQUFDO1FBTE8sNkJBQU0sR0FBYixVQUFjLGtCQUF3RDs7WUFDckUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBRW5ELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQUksR0FBQyxJQUFJLENBQUMsT0FBTyxJQUFHLFlBQVksTUFBRyxDQUFDO1FBQ3pFLENBQUM7UUFDRiw2QkFBQztJQUFELENBTkEsQUFNQyxJQUFBO0lBTlksMEJBQXNCLHlCQU1sQyxDQUFBO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDbkIsTUFBTSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDLEVBWE0sR0FBRyxLQUFILEdBQUcsUUFXVCIsImZpbGUiOiJ0cmFuc2xhdGlvbnMvZGlyZWN0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcCB7XG5cdGV4cG9ydCBjbGFzcyBEaXJlY3RpdmVzVHJhbnNsYXRpb25zIHtcblx0XHRzdGF0aWMgY29uZmlnKCR0cmFuc2xhdGVQcm92aWRlcjogYW5ndWxhci50cmFuc2xhdGUuSVRyYW5zbGF0ZVByb3ZpZGVyKTogdm9pZCB7XG5cdFx0XHR2YXIga2V5cyA9IGFwLkNvbnN0YW50cy50cmFuc2xhdGlvbktleXMuZGlyZWN0aXZlcztcblxuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnRyYW5zbGF0aW9ucygnZW4nLCB7IFtrZXlzLmxvYWRpbmddOiAnTG9hZGluZy4uLicgfSk7XG5cdFx0fVxuXHR9XG5cblx0YW5ndWxhci5tb2R1bGUoJ2FwcCcpXG5cdFx0LmNvbmZpZyhbJyR0cmFuc2xhdGVQcm92aWRlcicsIERpcmVjdGl2ZXNUcmFuc2xhdGlvbnMuY29uZmlnXSk7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var ErrorMessagesTranslations = /** @class */ (function () {\n function ErrorMessagesTranslations() {\n }\n ErrorMessagesTranslations.config = function ($translateProvider) {\n var _a;\n var keys = ap.Constants.translationKeys.errorMessages;\n var englishTable = (_a = {},\n _a[keys.internalServerError] = 'An unexpected server error has occured and the request being made failed to complete. Please try again or contact AutoPoint support for assistance.',\n _a);\n $translateProvider.translations('en', englishTable);\n };\n return ErrorMessagesTranslations;\n }());\n angular.module('app')\n .config(['$translateProvider', ErrorMessagesTranslations.config]);\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0aW9ucy9lcnJvci1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0MsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBZVQ7QUFmRCxXQUFPLEdBQUc7SUFDVDtRQUFBO1FBVUEsQ0FBQztRQVRPLGdDQUFNLEdBQWIsVUFBYyxrQkFBd0Q7O1lBQ3JFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUV0RCxJQUFJLFlBQVk7Z0JBQ2YsR0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUcsc0pBQXNKO21CQUNsTCxDQUFDO1lBRUYsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0YsZ0NBQUM7SUFBRCxDQVZBLEFBVUMsSUFBQTtJQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ25CLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxFQWZNLEdBQUcsS0FBSCxHQUFHLFFBZVQiLCJmaWxlIjoidHJhbnNsYXRpb25zL2Vycm9yLW1lc3NhZ2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwIHtcblx0Y2xhc3MgRXJyb3JNZXNzYWdlc1RyYW5zbGF0aW9ucyB7XG5cdFx0c3RhdGljIGNvbmZpZygkdHJhbnNsYXRlUHJvdmlkZXI6IGFuZ3VsYXIudHJhbnNsYXRlLklUcmFuc2xhdGVQcm92aWRlcik6IHZvaWQge1xuXHRcdFx0dmFyIGtleXMgPSBhcC5Db25zdGFudHMudHJhbnNsYXRpb25LZXlzLmVycm9yTWVzc2FnZXM7XG5cblx0XHRcdHZhciBlbmdsaXNoVGFibGU6IG5nLnRyYW5zbGF0ZS5JVHJhbnNsYXRpb25UYWJsZSA9IHtcblx0XHRcdFx0W2tleXMuaW50ZXJuYWxTZXJ2ZXJFcnJvcl06ICdBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBoYXMgb2NjdXJlZCBhbmQgdGhlIHJlcXVlc3QgYmVpbmcgbWFkZSBmYWlsZWQgdG8gY29tcGxldGUuICBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3QgQXV0b1BvaW50IHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuJyxcblx0XHRcdH07XG5cblx0XHRcdCR0cmFuc2xhdGVQcm92aWRlci50cmFuc2xhdGlvbnMoJ2VuJywgZW5nbGlzaFRhYmxlKTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwJylcblx0XHQuY29uZmlnKFsnJHRyYW5zbGF0ZVByb3ZpZGVyJywgRXJyb3JNZXNzYWdlc1RyYW5zbGF0aW9ucy5jb25maWddKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var TaskTranslations = /** @class */ (function () {\n function TaskTranslations() {\n }\n TaskTranslations.config = function ($translateProvider) {\n var _a;\n var keys = ap.Constants.translationKeys.shell;\n var englishTable = (_a = {},\n _a[keys.login] = 'Login',\n _a[keys.logo] = 'AutoPoint Avenue - Take a drive around the avenue.',\n _a[keys.logout] = 'Logout',\n _a[keys.greeting] = 'Welcome',\n _a[keys.selectLang] = 'Select your language',\n _a[keys.selectLocation] = 'Select Location',\n _a);\n $translateProvider.translations('en', englishTable);\n };\n return TaskTranslations;\n }());\n app.TaskTranslations = TaskTranslations;\n angular.module('app')\n .config(['$translateProvider', TaskTranslations.config]);\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0aW9ucy9nZW5lcmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0FvQlQ7QUFwQkQsV0FBTyxHQUFHO0lBQ1Q7UUFBQTtRQWVBLENBQUM7UUFkTyx1QkFBTSxHQUFiLFVBQWMsa0JBQXdEOztZQUNyRSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFFOUMsSUFBSSxZQUFZO2dCQUNmLEdBQUMsSUFBSSxDQUFDLEtBQUssSUFBRyxPQUFPO2dCQUNyQixHQUFDLElBQUksQ0FBQyxJQUFJLElBQUcsb0RBQW9EO2dCQUNqRSxHQUFDLElBQUksQ0FBQyxNQUFNLElBQUcsUUFBUTtnQkFDdkIsR0FBQyxJQUFJLENBQUMsUUFBUSxJQUFHLFNBQVM7Z0JBQzFCLEdBQUMsSUFBSSxDQUFDLFVBQVUsSUFBRyxzQkFBc0I7Z0JBQ3pDLEdBQUMsSUFBSSxDQUFDLGNBQWMsSUFBRyxpQkFBaUI7bUJBQ3hDLENBQUM7WUFFRixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRix1QkFBQztJQUFELENBZkEsQUFlQyxJQUFBO0lBZlksb0JBQWdCLG1CQWU1QixDQUFBO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDbkIsTUFBTSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDLEVBcEJNLEdBQUcsS0FBSCxHQUFHLFFBb0JUIiwiZmlsZSI6InRyYW5zbGF0aW9ucy9nZW5lcmFsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwIHtcblx0ZXhwb3J0IGNsYXNzIFRhc2tUcmFuc2xhdGlvbnMge1xuXHRcdHN0YXRpYyBjb25maWcoJHRyYW5zbGF0ZVByb3ZpZGVyOiBhbmd1bGFyLnRyYW5zbGF0ZS5JVHJhbnNsYXRlUHJvdmlkZXIpOiB2b2lkIHtcblx0XHRcdHZhciBrZXlzID0gYXAuQ29uc3RhbnRzLnRyYW5zbGF0aW9uS2V5cy5zaGVsbDtcblxuXHRcdFx0dmFyIGVuZ2xpc2hUYWJsZTogbmcudHJhbnNsYXRlLklUcmFuc2xhdGlvblRhYmxlID0ge1xuXHRcdFx0XHRba2V5cy5sb2dpbl06ICdMb2dpbicsXG5cdFx0XHRcdFtrZXlzLmxvZ29dOiAnQXV0b1BvaW50IEF2ZW51ZSAtIFRha2UgYSBkcml2ZSBhcm91bmQgdGhlIGF2ZW51ZS4nLFxuXHRcdFx0XHRba2V5cy5sb2dvdXRdOiAnTG9nb3V0Jyxcblx0XHRcdFx0W2tleXMuZ3JlZXRpbmddOiAnV2VsY29tZScsXG5cdFx0XHRcdFtrZXlzLnNlbGVjdExhbmddOiAnU2VsZWN0IHlvdXIgbGFuZ3VhZ2UnLFxuXHRcdFx0XHRba2V5cy5zZWxlY3RMb2NhdGlvbl06ICdTZWxlY3QgTG9jYXRpb24nLFxuXHRcdFx0fTtcblxuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnRyYW5zbGF0aW9ucygnZW4nLCBlbmdsaXNoVGFibGUpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAnKVxuXHRcdC5jb25maWcoWyckdHJhbnNsYXRlUHJvdmlkZXInLCBUYXNrVHJhbnNsYXRpb25zLmNvbmZpZ10pO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var ModalTranslations = /** @class */ (function () {\n function ModalTranslations() {\n }\n ModalTranslations.config = function ($translateProvider) {\n var _a;\n var keys = ap.Constants.translationKeys.modals;\n var englishTable = (_a = {},\n _a[keys.cancelButtons.cancel] = 'Cancel',\n _a[keys.cancelButtons.close] = 'Close',\n _a[keys.cancelButtons.no] = 'No',\n _a[keys.saveButtons.ok] = 'OK',\n _a[keys.saveButtons.save] = 'Save',\n _a[keys.saveButtons.yes] = 'Yes',\n _a[keys.saving] = 'Saving...',\n _a);\n $translateProvider.translations('en', englishTable);\n };\n return ModalTranslations;\n }());\n app.ModalTranslations = ModalTranslations;\n angular.module('app')\n .config(['$translateProvider', ModalTranslations.config]);\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0aW9ucy9tb2RhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQXNCVDtBQXRCRCxXQUFPLEdBQUc7SUFDVDtRQUFBO1FBaUJBLENBQUM7UUFoQk8sd0JBQU0sR0FBYixVQUFjLGtCQUF3RDs7WUFDckUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQy9DLElBQUksWUFBWTtnQkFDZixHQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUErQyxRQUFRO2dCQUNqRixHQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFnRCxPQUFPO2dCQUNoRixHQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFtRCxJQUFJO2dCQUM3RSxHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFxRCxJQUFJO2dCQUM3RSxHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFtRCxNQUFNO2dCQUMvRSxHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFvRCxLQUFLO2dCQUM5RSxHQUFDLElBQUksQ0FBQyxNQUFNLElBQTZELFdBQVc7bUJBQ3BGLENBQUM7WUFJRixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRix3QkFBQztJQUFELENBakJBLEFBaUJDLElBQUE7SUFqQlkscUJBQWlCLG9CQWlCN0IsQ0FBQTtJQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ25CLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxFQXRCTSxHQUFHLEtBQUgsR0FBRyxRQXNCVCIsImZpbGUiOiJ0cmFuc2xhdGlvbnMvbW9kYWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwIHtcblx0ZXhwb3J0IGNsYXNzIE1vZGFsVHJhbnNsYXRpb25zIHtcblx0XHRzdGF0aWMgY29uZmlnKCR0cmFuc2xhdGVQcm92aWRlcjogYW5ndWxhci50cmFuc2xhdGUuSVRyYW5zbGF0ZVByb3ZpZGVyKTogdm9pZCB7XG5cdFx0XHR2YXIga2V5cyA9IGFwLkNvbnN0YW50cy50cmFuc2xhdGlvbktleXMubW9kYWxzO1xuXHRcdFx0dmFyIGVuZ2xpc2hUYWJsZTogbmcudHJhbnNsYXRlLklUcmFuc2xhdGlvblRhYmxlID0ge1xuXHRcdFx0XHRba2V5cy5jYW5jZWxCdXR0b25zLmNhbmNlbF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0NhbmNlbCcsXG5cdFx0XHRcdFtrZXlzLmNhbmNlbEJ1dHRvbnMuY2xvc2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnQ2xvc2UnLFxuXHRcdFx0XHRba2V5cy5jYW5jZWxCdXR0b25zLm5vXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ05vJyxcblx0XHRcdFx0W2tleXMuc2F2ZUJ1dHRvbnMub2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdPSycsXG5cdFx0XHRcdFtrZXlzLnNhdmVCdXR0b25zLnNhdmVdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnU2F2ZScsXG5cdFx0XHRcdFtrZXlzLnNhdmVCdXR0b25zLnllc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnWWVzJyxcblx0XHRcdFx0W2tleXMuc2F2aW5nXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdTYXZpbmcuLi4nXG5cdFx0XHR9O1xuXG5cblxuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnRyYW5zbGF0aW9ucygnZW4nLCBlbmdsaXNoVGFibGUpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAnKVxuXHRcdC5jb25maWcoWyckdHJhbnNsYXRlUHJvdmlkZXInLCBNb2RhbFRyYW5zbGF0aW9ucy5jb25maWddKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var BaseHttpService = /** @class */ (function () {\n BaseHttpService.$inject = ['httpService'];\n function BaseHttpService(httpService) {\n this.httpService = httpService;\n }\n /**\n * This is the POST method used to create data on the server\n * @param url - The URL for the server call\n * @param data - The request object used to create the requested object\n * @param isFormData - A value indicating that the data passed for creation is in FormData format\n * @param localStorageKey - The local storage key used for caching the request data\n * @param bustCache - A value indicating that local storage should be reset and call to server should complete regardless\n * @returns { An object that matches your type ReturnType promise - NOTE void is an acceptable type when making this request }\n */\n BaseHttpService.prototype.create = function (url, data, isFormData, localStorageKey, bustCache) {\n return this.httpService.create(url, data, isFormData, localStorageKey, bustCache);\n };\n /**\n * This is the DELETE method used to delete/remove data from the server\n * @param url - The URL for the server call\n * @param localStorageKey - The local storage key used for caching the request data\n * @returns { An object that matches your type ReturnType promise - NOTE void is an acceptable type when making this request }\n */\n BaseHttpService.prototype.delete = function (url, localStorageKey) {\n return this.httpService.delete(url, localStorageKey);\n };\n BaseHttpService.prototype.enableTimeStampedUrl = function (value) {\n this.httpService.enableTimeStampedUrl(value);\n };\n /**\n * This is the Get method used to retrieve your data from the server\n * @param url - The URL for the server call\n * @param data - The object used to filter the requested result object\n * @param localStorageKey - The local storage key for the requested object.\n * @param bustCache - A value indicating that local storage should be reset and call to server should complete regardless\n * @returns { An object that matches your type ReturnType promise }\n */\n BaseHttpService.prototype.get = function (url, data, localStorageKey, bustCache) {\n return this.httpService.get(url, data, localStorageKey, bustCache);\n };\n /**\n * This should ONLY be used for the renewing of the access token as it will delay all other http requests until it has completed.\n * @param url - The authentication data SSO API renewal endpoint\n * @param data - The data object required for renewing the authentication data token\n */\n BaseHttpService.prototype.renew = function (url, data) {\n return this.httpService.renew(url, data);\n };\n /**\n * This will return an ng.IPromise of Type ReturnType based on the specified variable. If no variable is passed the promise will be void\n * @param object - The object that should be resolved with the promise.then()\n * @returns { The exact object specified wrapped in a ng.IPromise }\n */\n BaseHttpService.prototype.resolveDeferred = function (object) {\n return this.httpService.resolveDeferred(object);\n };\n /**\n * This is the PUT method used to update data on the server\n * @param url - The URL for the server call\n * @param data - The object containing the ALL values for the object being updated\n * @param isFormData - A value indicating that the data passed for creation is in FormData format\n * @returns { An object that matches your type ReturnType promise - NOTE void is an acceptable type when making this request }\n */\n BaseHttpService.prototype.update = function (url, data, isFormData) {\n return this.httpService.update(url, data, isFormData);\n };\n return BaseHttpService;\n }());\n Services.BaseHttpService = BaseHttpService;\n angular.module('app.Services')\n .service('baseHttpService', BaseHttpService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UtY2xhc3Nlcy9iYXNlLmh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0MsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBNkVUO0FBN0VELFdBQU8sR0FBRztJQUFDLElBQUEsUUFBUSxDQTZFbEI7SUE3RVUsV0FBQSxRQUFRO1FBQ2xCO1lBQ0MseUJBQXNCLFdBQWlDO2dCQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7WUFFdkQsQ0FBQztZQUVEOzs7Ozs7OztlQVFHO1lBQ08sZ0NBQU0sR0FBaEIsVUFBdUMsR0FBVyxFQUFFLElBQWMsRUFBRSxVQUFvQixFQUFFLGVBQXdCLEVBQUUsU0FBbUI7Z0JBQ3RJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQXVCLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RyxDQUFDO1lBRUQ7Ozs7O2VBS0c7WUFDTyxnQ0FBTSxHQUFoQixVQUE2QixHQUFXLEVBQUUsZUFBd0I7Z0JBQ2pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQWEsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7WUFFRCw4Q0FBb0IsR0FBcEIsVUFBcUIsS0FBYztnQkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBRUQ7Ozs7Ozs7ZUFPRztZQUNPLDZCQUFHLEdBQWIsVUFBb0MsR0FBVyxFQUFFLElBQWUsRUFBRSxlQUF3QixFQUFFLFNBQW1CO2dCQUM5RyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF1QixHQUFHLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxRixDQUFDO1lBRUQ7Ozs7ZUFJRztZQUNPLCtCQUFLLEdBQWYsVUFBZ0IsR0FBVyxFQUFFLElBQTJCO2dCQUN2RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBRUQ7Ozs7ZUFJRztZQUNJLHlDQUFlLEdBQXRCLFVBQW1DLE1BQW1CO2dCQUNyRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFhLE1BQU0sQ0FBQyxDQUFDO1lBQzdELENBQUM7WUFFRDs7Ozs7O2VBTUc7WUFDTyxnQ0FBTSxHQUFoQixVQUF1QyxHQUFXLEVBQUUsSUFBYyxFQUFFLFVBQW9CO2dCQUN2RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUF1QixHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFDRixzQkFBQztRQUFELENBeEVBLEFBd0VDLElBQUE7UUF4RXFCLHdCQUFlLGtCQXdFcEMsQ0FBQTtRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDLEVBN0VVLFFBQVEsR0FBUixZQUFRLEtBQVIsWUFBUSxRQTZFbEI7QUFBRCxDQUFDLEVBN0VNLEdBQUcsS0FBSCxHQUFHLFFBNkVUIiwiZmlsZSI6ImJhc2UtY2xhc3Nlcy9iYXNlLmh0dHAuc2VydmljZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5TZXJ2aWNlcyB7XG5cdGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlSHR0cFNlcnZpY2Uge1xuXHRcdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwU2VydmljZTogU2VydmljZXMuSHR0cFNlcnZpY2UpIHtcblxuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIFRoaXMgaXMgdGhlIFBPU1QgbWV0aG9kIHVzZWQgdG8gY3JlYXRlIGRhdGEgb24gdGhlIHNlcnZlclxuXHRcdCAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIGZvciB0aGUgc2VydmVyIGNhbGxcblx0XHQgKiBAcGFyYW0gZGF0YSAtIFRoZSByZXF1ZXN0IG9iamVjdCB1c2VkIHRvIGNyZWF0ZSB0aGUgcmVxdWVzdGVkIG9iamVjdFxuXHRcdCAqIEBwYXJhbSBpc0Zvcm1EYXRhIC0gQSB2YWx1ZSBpbmRpY2F0aW5nIHRoYXQgdGhlIGRhdGEgcGFzc2VkIGZvciBjcmVhdGlvbiBpcyBpbiBGb3JtRGF0YSBmb3JtYXRcblx0XHQgKiBAcGFyYW0gbG9jYWxTdG9yYWdlS2V5IC0gVGhlIGxvY2FsIHN0b3JhZ2Uga2V5IHVzZWQgZm9yIGNhY2hpbmcgdGhlIHJlcXVlc3QgZGF0YVxuXHRcdCAqIEBwYXJhbSBidXN0Q2FjaGUgLSBBIHZhbHVlIGluZGljYXRpbmcgdGhhdCBsb2NhbCBzdG9yYWdlIHNob3VsZCBiZSByZXNldCBhbmQgY2FsbCB0byBzZXJ2ZXIgc2hvdWxkIGNvbXBsZXRlIHJlZ2FyZGxlc3Ncblx0XHQgKiBAcmV0dXJucyB7IEFuIG9iamVjdCB0aGF0IG1hdGNoZXMgeW91ciB0eXBlIFJldHVyblR5cGUgcHJvbWlzZSAtIE5PVEUgdm9pZCBpcyBhbiBhY2NlcHRhYmxlIHR5cGUgd2hlbiBtYWtpbmcgdGhpcyByZXF1ZXN0IH1cblx0XHQgKi9cblx0XHRwcm90ZWN0ZWQgY3JlYXRlPFJldHVyblR5cGUsIERhdGFUeXBlPih1cmw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUsIGlzRm9ybURhdGE/OiBib29sZWFuLCBsb2NhbFN0b3JhZ2VLZXk/OiBzdHJpbmcsIGJ1c3RDYWNoZT86IGJvb2xlYW4pOiBuZy5JUHJvbWlzZTxSZXR1cm5UeXBlPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5odHRwU2VydmljZS5jcmVhdGU8UmV0dXJuVHlwZSwgRGF0YVR5cGU+KHVybCwgZGF0YSwgaXNGb3JtRGF0YSwgbG9jYWxTdG9yYWdlS2V5LCBidXN0Q2FjaGUpO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIFRoaXMgaXMgdGhlIERFTEVURSBtZXRob2QgdXNlZCB0byBkZWxldGUvcmVtb3ZlIGRhdGEgZnJvbSB0aGUgc2VydmVyXG5cdFx0ICogQHBhcmFtIHVybCAtIFRoZSBVUkwgZm9yIHRoZSBzZXJ2ZXIgY2FsbFxuXHRcdCAqIEBwYXJhbSBsb2NhbFN0b3JhZ2VLZXkgLSBUaGUgbG9jYWwgc3RvcmFnZSBrZXkgdXNlZCBmb3IgY2FjaGluZyB0aGUgcmVxdWVzdCBkYXRhXG5cdFx0ICogQHJldHVybnMgeyBBbiBvYmplY3QgdGhhdCBtYXRjaGVzIHlvdXIgdHlwZSBSZXR1cm5UeXBlIHByb21pc2UgLSBOT1RFIHZvaWQgaXMgYW4gYWNjZXB0YWJsZSB0eXBlIHdoZW4gbWFraW5nIHRoaXMgcmVxdWVzdCB9XG5cdFx0ICovXG5cdFx0cHJvdGVjdGVkIGRlbGV0ZTxSZXR1cm5UeXBlPih1cmw6IHN0cmluZywgbG9jYWxTdG9yYWdlS2V5Pzogc3RyaW5nKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZGVsZXRlPFJldHVyblR5cGU+KHVybCwgbG9jYWxTdG9yYWdlS2V5KTtcblx0XHR9XG5cblx0XHRlbmFibGVUaW1lU3RhbXBlZFVybCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdFx0dGhpcy5odHRwU2VydmljZS5lbmFibGVUaW1lU3RhbXBlZFVybCh2YWx1ZSk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogVGhpcyBpcyB0aGUgR2V0IG1ldGhvZCB1c2VkIHRvIHJldHJpZXZlIHlvdXIgZGF0YSBmcm9tIHRoZSBzZXJ2ZXJcblx0XHQgKiBAcGFyYW0gdXJsIC0gVGhlIFVSTCBmb3IgdGhlIHNlcnZlciBjYWxsXG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgb2JqZWN0IHVzZWQgdG8gZmlsdGVyIHRoZSByZXF1ZXN0ZWQgcmVzdWx0IG9iamVjdFxuXHRcdCAqIEBwYXJhbSBsb2NhbFN0b3JhZ2VLZXkgLSBUaGUgbG9jYWwgc3RvcmFnZSBrZXkgZm9yIHRoZSByZXF1ZXN0ZWQgb2JqZWN0LlxuXHRcdCAqIEBwYXJhbSBidXN0Q2FjaGUgLSBBIHZhbHVlIGluZGljYXRpbmcgdGhhdCBsb2NhbCBzdG9yYWdlIHNob3VsZCBiZSByZXNldCBhbmQgY2FsbCB0byBzZXJ2ZXIgc2hvdWxkIGNvbXBsZXRlIHJlZ2FyZGxlc3Ncblx0XHQgKiBAcmV0dXJucyB7IEFuIG9iamVjdCB0aGF0IG1hdGNoZXMgeW91ciB0eXBlIFJldHVyblR5cGUgcHJvbWlzZSB9XG5cdFx0ICovXG5cdFx0cHJvdGVjdGVkIGdldDxSZXR1cm5UeXBlLCBEYXRhVHlwZT4odXJsOiBzdHJpbmcsIGRhdGE/OiBEYXRhVHlwZSwgbG9jYWxTdG9yYWdlS2V5Pzogc3RyaW5nLCBidXN0Q2FjaGU/OiBib29sZWFuKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0PFJldHVyblR5cGUsIERhdGFUeXBlPih1cmwsIGRhdGEsIGxvY2FsU3RvcmFnZUtleSwgYnVzdENhY2hlKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBUaGlzIHNob3VsZCBPTkxZIGJlIHVzZWQgZm9yIHRoZSByZW5ld2luZyBvZiB0aGUgYWNjZXNzIHRva2VuIGFzIGl0IHdpbGwgZGVsYXkgYWxsIG90aGVyIGh0dHAgcmVxdWVzdHMgdW50aWwgaXQgaGFzIGNvbXBsZXRlZC5cblx0XHQgKiBAcGFyYW0gdXJsIC0gVGhlIGF1dGhlbnRpY2F0aW9uIGRhdGEgU1NPIEFQSSByZW5ld2FsIGVuZHBvaW50XG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgcmVxdWlyZWQgZm9yIHJlbmV3aW5nIHRoZSBhdXRoZW50aWNhdGlvbiBkYXRhIHRva2VuXG5cdFx0ICovXG5cdFx0cHJvdGVjdGVkIHJlbmV3KHVybDogc3RyaW5nLCBkYXRhOiBJUmVuZXdBY2Nlc3NUb2tlbkRhdGEpOiBuZy5JUHJvbWlzZTxJQXV0aERhdGFGb3JDb29raWVTdG9yYWdlPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5odHRwU2VydmljZS5yZW5ldyh1cmwsIGRhdGEpO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIFRoaXMgd2lsbCByZXR1cm4gYW4gbmcuSVByb21pc2Ugb2YgVHlwZSBSZXR1cm5UeXBlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgdmFyaWFibGUuICBJZiBubyB2YXJpYWJsZSBpcyBwYXNzZWQgdGhlIHByb21pc2Ugd2lsbCBiZSB2b2lkXG5cdFx0ICogQHBhcmFtIG9iamVjdCAtIFRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmUgcmVzb2x2ZWQgd2l0aCB0aGUgcHJvbWlzZS50aGVuKClcblx0XHQgKiBAcmV0dXJucyB7IFRoZSBleGFjdCBvYmplY3Qgc3BlY2lmaWVkIHdyYXBwZWQgaW4gYSBuZy5JUHJvbWlzZSB9XG5cdFx0ICovXG5cdFx0cHVibGljIHJlc29sdmVEZWZlcnJlZDxSZXR1cm5UeXBlPihvYmplY3Q/OiBSZXR1cm5UeXBlKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucmVzb2x2ZURlZmVycmVkPFJldHVyblR5cGU+KG9iamVjdCk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogVGhpcyBpcyB0aGUgUFVUIG1ldGhvZCB1c2VkIHRvIHVwZGF0ZSBkYXRhIG9uIHRoZSBzZXJ2ZXJcblx0XHQgKiBAcGFyYW0gdXJsIC0gVGhlIFVSTCBmb3IgdGhlIHNlcnZlciBjYWxsXG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIEFMTCB2YWx1ZXMgZm9yIHRoZSBvYmplY3QgYmVpbmcgdXBkYXRlZFxuXHRcdCAqIEBwYXJhbSBpc0Zvcm1EYXRhIC0gQSB2YWx1ZSBpbmRpY2F0aW5nIHRoYXQgdGhlIGRhdGEgcGFzc2VkIGZvciBjcmVhdGlvbiBpcyBpbiBGb3JtRGF0YSBmb3JtYXRcblx0XHQgKiBAcmV0dXJucyB7IEFuIG9iamVjdCB0aGF0IG1hdGNoZXMgeW91ciB0eXBlIFJldHVyblR5cGUgcHJvbWlzZSAtIE5PVEUgdm9pZCBpcyBhbiBhY2NlcHRhYmxlIHR5cGUgd2hlbiBtYWtpbmcgdGhpcyByZXF1ZXN0IH1cblx0XHQgKi9cblx0XHRwcm90ZWN0ZWQgdXBkYXRlPFJldHVyblR5cGUsIERhdGFUeXBlPih1cmw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUsIGlzRm9ybURhdGE/OiBib29sZWFuKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UudXBkYXRlPFJldHVyblR5cGUsIERhdGFUeXBlPih1cmwsIGRhdGEsIGlzRm9ybURhdGEpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdiYXNlSHR0cFNlcnZpY2UnLCBCYXNlSHR0cFNlcnZpY2UpO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Modals;\n (function (Modals) {\n var BaseModalController = /** @class */ (function () {\n function BaseModalController($uibModalInstance) {\n this.$uibModalInstance = $uibModalInstance;\n this.initResult(ModalActionResult.Dismissed);\n }\n BaseModalController.prototype.initResult = function (action) {\n this.result = this.result || { action: action };\n this.result.action = action;\n return this.result;\n };\n /**\n * Closes the modal and returns an action of Dismissed in the returned promise.\n */\n BaseModalController.prototype.cancel = function () {\n this.$uibModalInstance.close(this.initResult(ModalActionResult.Dismissed));\n };\n /**\n * Closes the modal and returns an action of Failure in the returned promise.\n * @returns - ModalActionResult.Failed\n */\n BaseModalController.prototype.fail = function () {\n this.$uibModalInstance.close(this.initResult(ModalActionResult.Failed));\n };\n /**\n * Closes the modal and returns an action of Saved in the returned promise.\n * @returns - ModalActionResult.Saved\n */\n BaseModalController.prototype.save = function () {\n this.$uibModalInstance.close(this.initResult(ModalActionResult.Saved));\n };\n BaseModalController.$inject = ['$uibModalInstance'];\n return BaseModalController;\n }());\n Modals.BaseModalController = BaseModalController;\n angular\n .module('app.Modals')\n .controller('BaseModalController', BaseModalController);\n })(Modals = app.Modals || (app.Modals = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UtY2xhc3Nlcy9iYXNlLm1vZGFsLmNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQThDVDtBQTlDRCxXQUFPLEdBQUc7SUFBQyxJQUFBLE1BQU0sQ0E4Q2hCO0lBOUNVLFdBQUEsTUFBTTtRQUNoQjtZQVFDLDZCQUFzQixpQkFBd0Q7Z0JBQXhELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUM7Z0JBQzdFLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUVPLHdDQUFVLEdBQWxCLFVBQW1CLE1BQXlCO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3BCLENBQUM7WUFFRDs7ZUFFRztZQUNILG9DQUFNLEdBQU47Z0JBQ0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztZQUVEOzs7ZUFHRztZQUNILGtDQUFJLEdBQUo7Z0JBQ0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQztZQUVEOzs7ZUFHRztZQUNILGtDQUFJLEdBQUo7Z0JBQ0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQWpDTSwyQkFBTyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQWtDeEMsMEJBQUM7U0F4Q0QsQUF3Q0MsSUFBQTtRQXhDWSwwQkFBbUIsc0JBd0MvQixDQUFBO1FBRUQsT0FBTzthQUNMLE1BQU0sQ0FBQyxZQUFZLENBQUM7YUFDcEIsVUFBVSxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDMUQsQ0FBQyxFQTlDVSxNQUFNLEdBQU4sVUFBTSxLQUFOLFVBQU0sUUE4Q2hCO0FBQUQsQ0FBQyxFQTlDTSxHQUFHLEtBQUgsR0FBRyxRQThDVCIsImZpbGUiOiJiYXNlLWNsYXNzZXMvYmFzZS5tb2RhbC5jb250cm9sbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLk1vZGFscyB7XG5cdGV4cG9ydCBjbGFzcyBCYXNlTW9kYWxDb250cm9sbGVyIGltcGxlbWVudHMgSU1vZGFsQ29udHJvbGxlciB7XG5cdFx0LyoqXG5cdFx0ICogUmVzdWx0IGlzIHRoZSBtYWluIG9iamVjdCByZXR1cm4gbmFtZSB0aGF0IHNob3VsZCBiZSBvdmVycmlkZGVuIGluIGluaGVyaXRlZCBjbGFzc2VzIHdpdGggYSBtb3JlIHNwZWNpZmljIHR5cGUuXG5cdFx0ICovXG5cdFx0cmVzdWx0OiBJTW9kYWxSZXN1bHQ7XG5cblx0XHRzdGF0aWMgJGluamVjdCA9IFsnJHVpYk1vZGFsSW5zdGFuY2UnXTtcblxuXHRcdGNvbnN0cnVjdG9yKHByb3RlY3RlZCAkdWliTW9kYWxJbnN0YW5jZTogbmcudWkuYm9vdHN0cmFwLklNb2RhbFNlcnZpY2VJbnN0YW5jZSkge1xuXHRcdFx0dGhpcy5pbml0UmVzdWx0KE1vZGFsQWN0aW9uUmVzdWx0LkRpc21pc3NlZCk7XG5cdFx0fVxuXG5cdFx0cHJpdmF0ZSBpbml0UmVzdWx0KGFjdGlvbjogTW9kYWxBY3Rpb25SZXN1bHQpIHtcblx0XHRcdHRoaXMucmVzdWx0ID0gdGhpcy5yZXN1bHQgfHwgeyBhY3Rpb246IGFjdGlvbiB9O1xuXHRcdFx0dGhpcy5yZXN1bHQuYWN0aW9uID0gYWN0aW9uO1xuXHRcdFx0cmV0dXJuIHRoaXMucmVzdWx0O1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIENsb3NlcyB0aGUgbW9kYWwgYW5kIHJldHVybnMgYW4gYWN0aW9uIG9mIERpc21pc3NlZCBpbiB0aGUgcmV0dXJuZWQgcHJvbWlzZS5cblx0XHQgKi9cblx0XHRjYW5jZWwoKTogdm9pZCB7XG5cdFx0XHR0aGlzLiR1aWJNb2RhbEluc3RhbmNlLmNsb3NlKHRoaXMuaW5pdFJlc3VsdChNb2RhbEFjdGlvblJlc3VsdC5EaXNtaXNzZWQpKTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBDbG9zZXMgdGhlIG1vZGFsIGFuZCByZXR1cm5zIGFuIGFjdGlvbiBvZiBGYWlsdXJlIGluIHRoZSByZXR1cm5lZCBwcm9taXNlLlxuXHRcdCAqIEByZXR1cm5zIC0gTW9kYWxBY3Rpb25SZXN1bHQuRmFpbGVkXG5cdFx0ICovXG5cdFx0ZmFpbCgpOiB2b2lkIHtcblx0XHRcdHRoaXMuJHVpYk1vZGFsSW5zdGFuY2UuY2xvc2UodGhpcy5pbml0UmVzdWx0KE1vZGFsQWN0aW9uUmVzdWx0LkZhaWxlZCkpO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIENsb3NlcyB0aGUgbW9kYWwgYW5kIHJldHVybnMgYW4gYWN0aW9uIG9mIFNhdmVkIGluIHRoZSByZXR1cm5lZCBwcm9taXNlLlxuXHRcdCAqIEByZXR1cm5zIC0gTW9kYWxBY3Rpb25SZXN1bHQuU2F2ZWRcblx0XHQgKi9cblx0XHRzYXZlKCk6IHZvaWQge1xuXHRcdFx0dGhpcy4kdWliTW9kYWxJbnN0YW5jZS5jbG9zZSh0aGlzLmluaXRSZXN1bHQoTW9kYWxBY3Rpb25SZXN1bHQuU2F2ZWQpKTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyXG5cdFx0Lm1vZHVsZSgnYXBwLk1vZGFscycpXG5cdFx0LmNvbnRyb2xsZXIoJ0Jhc2VNb2RhbENvbnRyb2xsZXInLCBCYXNlTW9kYWxDb250cm9sbGVyKTtcbn0iXX0=\n\nvar app;\n(function (app) {\n var Components;\n (function (Components) {\n var TypeaheadOrgSelectorController = /** @class */ (function () {\n function TypeaheadOrgSelectorController($document, $element, $routeParams, $scope, $timeout, locationService, ssoService) {\n var _this = this;\n this.$document = $document;\n this.$element = $element;\n this.$routeParams = $routeParams;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.locationService = locationService;\n this.ssoService = ssoService;\n this.loading = true;\n this.minLength = 150;\n this.typeaheadOptions = {\n debounce: {\n default: 500,\n blur: 250\n }\n };\n this.$scope.organizations = this.ssoService.organizations;\n this.$scope.$on(ap.Constants.eventNames.angular.routeChangeSuccess, function () {\n if (!ap.Utilities.isNullOrWhitespace(_this.$routeParams.organizationCacheKey)) {\n _this.organizationCacheKey = _this.$routeParams.organizationCacheKey;\n _this.changeSelectedGroup(_this.organizationCacheKey);\n }\n });\n this.init();\n }\n TypeaheadOrgSelectorController.prototype.init = function () {\n var _this = this;\n this.selectedGroup = {};\n if (ap.Utilities.isNullOrUndefined(this.organizationCacheKey)) {\n this.organizationCacheKey = this.locationService.getOrganizationCacheKey(true);\n }\n this.ssoService.createSearchableOrgs().then(function (searchableOrgs) {\n _this.changeSelectedGroup(_this.organizationCacheKey);\n _this.$timeout(function () {\n _this.searchableOrgs = searchableOrgs;\n _this.loading = false;\n });\n });\n };\n TypeaheadOrgSelectorController.prototype.changeSelectedGroup = function (cacheKey) {\n if (!ap.Utilities.isNullOrUndefined(this.$scope.organizations[cacheKey])) {\n this.selectedGroup = this.$scope.organizations[cacheKey];\n }\n else {\n this.clearSelection();\n }\n };\n TypeaheadOrgSelectorController.prototype.clearSelection = function () {\n if (this.selectedGroup !== '') {\n this.tempGroup = ap.Utilities.copy(this.selectedGroup);\n this.selectedGroup = '';\n }\n };\n TypeaheadOrgSelectorController.prototype.focusSearch = function ($event) {\n var _this = this;\n var $input = this.$element.find('input[name=\"orgSearch\"]')[0];\n this.clearSelection();\n this.$document.on('click', function ($event) {\n if (_this.$element.find($event.target).length < 1) {\n _this.selectedGroup = _this.tempGroup;\n _this.$timeout(function () {\n $input.blur();\n });\n }\n });\n };\n TypeaheadOrgSelectorController.prototype.organizationChanged = function ($event, $item) {\n var _this = this;\n if (!ap.Utilities.isNullOrUndefined(this.onOrganizationChanged)) {\n this.changeSelectedGroup($item.cacheKey);\n this.onOrganizationChanged({ $event: $event, $item: $item });\n this.$document.off('click');\n // This is hacky but I can't figure out what keeps re-focusing the input after org changed\n this.$timeout(function () {\n _this.$element.find('input[name=\"orgSearch\"]')[0].blur();\n }, 1000);\n }\n };\n TypeaheadOrgSelectorController.$inject = [\n '$document',\n '$element',\n '$routeParams',\n '$scope',\n '$timeout',\n 'locationService',\n 'ssoService'\n ];\n return TypeaheadOrgSelectorController;\n }());\n Components.TypeaheadOrgSelectorController = TypeaheadOrgSelectorController;\n angular\n .module('app.Components')\n .controller('TypeaheadOrgSelectorController', TypeaheadOrgSelectorController);\n var TypeaheadOrgSelectorComponent = /** @class */ (function () {\n function TypeaheadOrgSelectorComponent() {\n this.bindings = {\n onOrganizationChanged: '&',\n organizationCacheKey: '@'\n };\n this.templateUrl = 'app/components/typeahead-org-selector/template.html';\n this.controller = 'TypeaheadOrgSelectorController';\n this.controllerAs = 'ctrl';\n }\n return TypeaheadOrgSelectorComponent;\n }());\n angular\n .module('app.Components')\n .component('typeaheadOrgSelector', new TypeaheadOrgSelectorComponent());\n })(Components = app.Components || (app.Components = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHlwZWFoZWFkLW9yZy1zZWxlY3Rvci9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTyxHQUFHLENBd0lUO0FBeElELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQXdJcEI7SUF4SVUsV0FBQSxVQUFVO1FBVXBCO1lBb0JDLHdDQUNTLFNBQThCLEVBQzlCLFFBQTZCLEVBQzdCLFlBQWdDLEVBQ2hDLE1BQWtDLEVBQ2xDLFFBQTRCLEVBQzVCLGVBQXlDLEVBQ3pDLFVBQStCO2dCQVB4QyxpQkFpQkM7Z0JBaEJRLGNBQVMsR0FBVCxTQUFTLENBQXFCO2dCQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtnQkFDN0IsaUJBQVksR0FBWixZQUFZLENBQW9CO2dCQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUE0QjtnQkFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7Z0JBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtnQkFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7Z0JBMUJ4QyxZQUFPLEdBQVksSUFBSSxDQUFDO2dCQUN4QixjQUFTLEdBQVcsR0FBRyxDQUFDO2dCQTRGeEIscUJBQWdCLEdBQUc7b0JBQ2xCLFFBQVEsRUFBRTt3QkFDVCxPQUFPLEVBQUUsR0FBRzt3QkFDWixJQUFJLEVBQUUsR0FBRztxQkFDVDtpQkFDRCxDQUFDO2dCQXRFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUNuRSxJQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7d0JBQzVFLEtBQUksQ0FBQyxvQkFBb0IsR0FB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QyxFQXhJTSxHQUFHLEtBQUgsR0FBRyxRQXdJVCIsImZpbGUiOiJjb21wb25lbnRzL3R5cGVhaGVhZC1vcmctc2VsZWN0b3IvY29tcG9uZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlIGFwcC5Db21wb25lbnRzIHtcblxuXHRleHBvcnQgaW50ZXJmYWNlIElUeXBlYWhlYWRPcmdTZWxlY3RvclNjb3BlIGV4dGVuZHMgbmcuSVNjb3BlIHtcblx0XHRvcmdhbml6YXRpb25DYWNoZUtleTogc3RyaW5nO1xuXHRcdG9yZ2FuaXphdGlvbnM6IElPcmdhbml6YXRpb25Ib2xkZXI7XG5cdFx0c2VhcmNoYWJsZU9yZ3M6IEFycmF5PGFueT47XG5cdFx0dGVtcEdyb3VwOiBhbnk7XG5cdFx0b25Pcmdhbml6YXRpb25DaGFuZ2VkKG9iamVjdDogYW55KTogdm9pZDtcblx0fVxuXG5cdGV4cG9ydCBjbGFzcyBUeXBlYWhlYWRPcmdTZWxlY3RvckNvbnRyb2xsZXIge1xuXHRcdGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXHRcdG1pbkxlbmd0aDogbnVtYmVyID0gMTUwO1xuXHRcdG9uT3JnYW5pemF0aW9uQ2hhbmdlZDtcblx0XHRvcmdhbml6YXRpb25DYWNoZUtleTogc3RyaW5nO1xuXHRcdG9yZ2FuaXphdGlvbnM6IElPcmdhbml6YXRpb25Ib2xkZXI7XG5cdFx0c2VhcmNoYWJsZU9yZ3M6IEFycmF5PHtjYWNoZUtleTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IH0+O1xuXHRcdHNlbGVjdGVkR3JvdXA6IGFueTtcblx0XHR0ZW1wR3JvdXA6IGFueTtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRkb2N1bWVudCcsXG5cdFx0XHQnJGVsZW1lbnQnLFxuXHRcdFx0JyRyb3V0ZVBhcmFtcycsXG5cdFx0XHQnJHNjb3BlJyxcblx0XHRcdCckdGltZW91dCcsXG5cdFx0XHQnbG9jYXRpb25TZXJ2aWNlJyxcblx0XHRcdCdzc29TZXJ2aWNlJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByaXZhdGUgJGRvY3VtZW50OiBuZy5JRG9jdW1lbnRTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkZWxlbWVudDogbmcuSUF1Z21lbnRlZEpRdWVyeSxcblx0XHRcdHByaXZhdGUgJHJvdXRlUGFyYW1zOiBJUm91dGVQYXJhbVNlcnZpY2UsXG5cdFx0XHRwcml2YXRlICRzY29wZTogSVR5cGVhaGVhZE9yZ1NlbGVjdG9yU2NvcGUsXG5cdFx0XHRwcml2YXRlICR0aW1lb3V0OiBuZy5JVGltZW91dFNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGxvY2F0aW9uU2VydmljZTogU2VydmljZXMuTG9jYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBzc29TZXJ2aWNlOiBTZXJ2aWNlcy5Tc29TZXJ2aWNlXG5cdFx0KSB7XG5cdFx0XHR0aGlzLiRzY29wZS5vcmdhbml6YXRpb25zID0gdGhpcy5zc29TZXJ2aWNlLm9yZ2FuaXphdGlvbnM7XG5cdFx0XHR0aGlzLiRzY29wZS4kb24oYXAuQ29uc3RhbnRzLmV2ZW50TmFtZXMuYW5ndWxhci5yb3V0ZUNoYW5nZVN1Y2Nlc3MsICgpID0+IHtcblx0XHRcdFx0aWYoIWFwLlV0aWxpdGllcy5pc051bGxPcldoaXRlc3BhY2UodGhpcy4kcm91dGVQYXJhbXMub3JnYW5pemF0aW9uQ2FjaGVLZXkpKSB7XG5cdFx0XHRcdFx0dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSA9IHRoaXMuJHJvdXRlUGFyYW1zLm9yZ2FuaXphdGlvbkNhY2hlS2V5O1xuXHRcdFx0XHRcdHRoaXMuY2hhbmdlU2VsZWN0ZWRHcm91cCh0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLmluaXQoKTtcblx0XHR9XG5cblx0XHRpbml0KCk6IHZvaWQge1xuXHRcdFx0dGhpcy5zZWxlY3RlZEdyb3VwID0ge307XG5cdFx0XHRpZihhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSkpIHtcblx0XHRcdFx0dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSA9IHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkNhY2hlS2V5KHRydWUpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5zc29TZXJ2aWNlLmNyZWF0ZVNlYXJjaGFibGVPcmdzKCkudGhlbigoc2VhcmNoYWJsZU9yZ3MpID0+IHtcblx0XHRcdFx0dGhpcy5jaGFuZ2VTZWxlY3RlZEdyb3VwKHRoaXMub3JnYW5pemF0aW9uQ2FjaGVLZXkpO1xuXHRcdFx0XHR0aGlzLiR0aW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNlYXJjaGFibGVPcmdzID0gc2VhcmNoYWJsZU9yZ3M7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Y2hhbmdlU2VsZWN0ZWRHcm91cChjYWNoZUtleSkge1xuXHRcdFx0aWYoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLiRzY29wZS5vcmdhbml6YXRpb25zW2NhY2hlS2V5XSkpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEdyb3VwID0gdGhpcy4kc2NvcGUub3JnYW5pemF0aW9uc1tjYWNoZUtleV07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y2xlYXJTZWxlY3Rpb24oKSB7XG5cdFx0XHRpZih0aGlzLnNlbGVjdGVkR3JvdXAgIT09ICcnKSB7XG5cdFx0XHRcdHRoaXMudGVtcEdyb3VwID0gYXAuVXRpbGl0aWVzLmNvcHkodGhpcy5zZWxlY3RlZEdyb3VwKTtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEdyb3VwID0gJyc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Zm9jdXNTZWFyY2goJGV2ZW50KSB7XG5cdFx0XHRsZXQgJGlucHV0ID0gdGhpcy4kZWxlbWVudC5maW5kKCdpbnB1dFtuYW1lPVwib3JnU2VhcmNoXCJdJylbMF07XG5cdFx0XHR0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG5cdFx0XHR0aGlzLiRkb2N1bWVudC5vbignY2xpY2snLCAoJGV2ZW50KSA9PiB7XG5cdFx0XHRcdGlmKHRoaXMuJGVsZW1lbnQuZmluZCgkZXZlbnQudGFyZ2V0KS5sZW5ndGggPCAxKSB7XG5cdFx0XHRcdFx0dGhpcy5zZWxlY3RlZEdyb3VwID0gdGhpcy50ZW1wR3JvdXA7XG5cdFx0XHRcdFx0dGhpcy4kdGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0XHQkaW5wdXQuYmx1cigpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRvcmdhbml6YXRpb25DaGFuZ2VkKCRldmVudDogbmcuSUFuZ3VsYXJFdmVudCwgJGl0ZW06IGFueSk6IHZvaWQge1xuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5vbk9yZ2FuaXphdGlvbkNoYW5nZWQpKSB7XG5cdFx0XHRcdHRoaXMuY2hhbmdlU2VsZWN0ZWRHcm91cCgkaXRlbS5jYWNoZUtleSk7XG5cdFx0XHRcdHRoaXMub25Pcmdhbml6YXRpb25DaGFuZ2VkKHsgJGV2ZW50OiAkZXZlbnQsICRpdGVtOiAkaXRlbSB9KTtcblx0XHRcdFx0dGhpcy4kZG9jdW1lbnQub2ZmKCdjbGljaycpO1xuXG5cdFx0XHRcdC8vIFRoaXMgaXMgaGFja3kgYnV0IEkgY2FuJ3QgZmlndXJlIG91dCB3aGF0IGtlZXBzIHJlLWZvY3VzaW5nIHRoZSBpbnB1dCBhZnRlciBvcmcgY2hhbmdlZFxuXHRcdFx0XHR0aGlzLiR0aW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W25hbWU9XCJvcmdTZWFyY2hcIl0nKVswXS5ibHVyKCk7XG5cdFx0XHRcdH0sIDEwMDApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHR5cGVhaGVhZE9wdGlvbnMgPSB7XG5cdFx0XHRkZWJvdW5jZToge1xuXHRcdFx0XHRkZWZhdWx0OiA1MDAsXG5cdFx0XHRcdGJsdXI6IDI1MFxuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHRhbmd1bGFyXG5cdFx0Lm1vZHVsZSgnYXBwLkNvbXBvbmVudHMnKVxuXHRcdC5jb250cm9sbGVyKCdUeXBlYWhlYWRPcmdTZWxlY3RvckNvbnRyb2xsZXInLCBUeXBlYWhlYWRPcmdTZWxlY3RvckNvbnRyb2xsZXIpO1xuXG5cdGNsYXNzIFR5cGVhaGVhZE9yZ1NlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgbmcuSUNvbXBvbmVudE9wdGlvbnMge1xuXHRcdGJpbmRpbmdzOiB7IFtiaW5kaW5nOiBzdHJpbmddOiBzdHJpbmcgfTtcblx0XHRjb250cm9sbGVyOiBzdHJpbmc7XG5cdFx0Y29udHJvbGxlckFzOiBzdHJpbmc7XG5cdFx0dGVtcGxhdGVVcmw6IHN0cmluZztcblxuXHRcdGNvbnN0cnVjdG9yKCkge1xuXHRcdFx0dGhpcy5iaW5kaW5ncyA9IHtcblx0XHRcdFx0b25Pcmdhbml6YXRpb25DaGFuZ2VkOiAnJicsXG5cdFx0XHRcdG9yZ2FuaXphdGlvbkNhY2hlS2V5OiAnQCdcblx0XHRcdH07XG5cdFx0XHR0aGlzLnRlbXBsYXRlVXJsID0gJ2FwcC9jb21wb25lbnRzL3R5cGVhaGVhZC1vcmctc2VsZWN0b3IvdGVtcGxhdGUuaHRtbCc7XG5cdFx0XHR0aGlzLmNvbnRyb2xsZXIgPSAnVHlwZWFoZWFkT3JnU2VsZWN0b3JDb250cm9sbGVyJztcblx0XHRcdHRoaXMuY29udHJvbGxlckFzID0gJ2N0cmwnO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuQ29tcG9uZW50cycpXG5cdFx0LmNvbXBvbmVudCgndHlwZWFoZWFkT3JnU2VsZWN0b3InLCBuZXcgVHlwZWFoZWFkT3JnU2VsZWN0b3JDb21wb25lbnQoKSk7XG59XG4iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Components;\n (function (Components) {\n var ApLabeledTextInputController = /** @class */ (function () {\n function ApLabeledTextInputController($element, $timeout, $transclude) {\n this.$element = $element;\n this.$timeout = $timeout;\n this.$transclude = $transclude;\n }\n // \"any\" is the defined type at this time\n ApLabeledTextInputController.prototype.$onChanges = function (changesObj) {\n var hasValue = function (property) { return changesObj[property] && changesObj[property].currentValue; };\n if (hasValue('readOnly')) {\n this.isReadOnly = ap.Utilities.isTrueValue(changesObj.readOnly.currentValue);\n }\n if (hasValue('autoFocus')) {\n this.selectInput();\n }\n };\n ApLabeledTextInputController.prototype.$onInit = function () {\n this.isReadOnly = ap.Utilities.isTrueValue(this.readOnly);\n this.required = ap.Utilities.isTrueValue(this.required);\n var rows = Number(this.rows);\n this.showTextArea = !ap.Utilities.isNullOrUndefined(this.rows) || rows > 1;\n this.hasText = this.$transclude.isSlotFilled('text');\n this.hasAddOn = this.$transclude.isSlotFilled('addOn');\n this.hasTranscludedContent = this.hasText || this.hasAddOn;\n };\n ApLabeledTextInputController.prototype.$postLink = function () {\n var _this = this;\n this.$element.on('keydown', function (event) { return _this.onKeyPress({ arg: event }); });\n this.$timeout(function () {\n if (ap.Utilities.isTrueValue(_this.autoFocus)) {\n _this.selectInput();\n }\n });\n };\n ApLabeledTextInputController.prototype.onTextboxExit = function () {\n var result = !this.required || (this.required && !ap.Utilities.isNullOrWhitespace(this.model));\n this.cssClass = !result ? this.cssClass || 'has-error' : '';\n this.onChange({ arg: this.model });\n };\n ApLabeledTextInputController.prototype.selectInput = function () {\n var input = this.$element.find('input');\n input.focus().select();\n };\n ApLabeledTextInputController.$inject = [\n '$element',\n '$timeout',\n '$transclude'\n ];\n return ApLabeledTextInputController;\n }());\n Components.ApLabeledTextInputController = ApLabeledTextInputController;\n angular\n .module('app.Components')\n .controller('ApLabeledTextInputController', ApLabeledTextInputController);\n })(Components = app.Components || (app.Components = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYXAtbGFiZWxlZC10ZXh0LWlucHV0L2EtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBaUZUO0FBakZELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQWlGcEI7SUFqRlUsV0FBQSxVQUFVO1FBQ3BCO1lBd0JDLHNDQUNTLFFBQTZCLEVBQzdCLFFBQTRCLEVBQzVCLFdBQWdDO2dCQUZoQyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtnQkFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7Z0JBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtZQUd6QyxDQUFDO1lBRUQseUNBQXlDO1lBQ3pDLGlEQUFVLEdBQVYsVUFBVyxVQUFlO2dCQUN6QixJQUFJLFFBQVEsR0FBRyxVQUFDLFFBQWdCLElBQWMsT0FBQSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBekQsQ0FBeUQsQ0FBQztnQkFFeEcsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDN0U7Z0JBRUQsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDbkI7WUFDRixDQUFDO1lBRUQsOENBQU8sR0FBUDtnQkFDQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVELENBQUM7WUFFRCxnREFBUyxHQUFUO2dCQUFBLGlCQVFDO2dCQVBBLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFDLEtBQXdCLElBQUssT0FBQSxLQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQS9CLENBQStCLENBQUMsQ0FBQztnQkFFM0YsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDYixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDN0MsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUNuQjtnQkFDRixDQUFDLENBQUMsQ0FBQztZQUNKLENBQUM7WUFFRCxvREFBYSxHQUFiO2dCQUNDLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMvRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFFRCxrREFBVyxHQUFYO2dCQUNDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEIsQ0FBQztZQXhETSxvQ0FBTyxHQUFHO2dCQUNoQixVQUFVO2dCQUNWLFVBQVU7Z0JBQ1YsYUFBYTthQUNiLENBQUM7WUFxREgsbUNBQUM7U0EzRUQsQUEyRUMsSUFBQTtRQTNFWSx1Q0FBNEIsK0JBMkV4QyxDQUFBO1FBRUQsT0FBTzthQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4QixVQUFVLENBQUMsOEJBQThCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztJQUM1RSxDQUFDLEVBakZVLFVBQVUsR0FBVixjQUFVLEtBQVYsY0FBVSxRQWlGcEI7QUFBRCxDQUFDLEVBakZNLEdBQUcsS0FBSCxHQUFHLFFBaUZUIiwiZmlsZSI6ImNvbXBvbmVudHMvYXAtbGFiZWxlZC10ZXh0LWlucHV0L2EtY29udHJvbGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5Db21wb25lbnRzIHtcblx0ZXhwb3J0IGNsYXNzIEFwTGFiZWxlZFRleHRJbnB1dENvbnRyb2xsZXIge1xuXHRcdGF1dG9Gb2N1czogYm9vbGVhbjsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0Y3NzQ2xhc3M6IHN0cmluZzsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0aGFzQWRkT246IGJvb2xlYW47XG5cdFx0aGFzVGV4dDogYm9vbGVhbjtcblx0XHRoYXNUcmFuc2NsdWRlZENvbnRlbnQ6IGJvb2xlYW47XG5cdFx0aXNSZWFkT25seTogYm9vbGVhbjtcblx0XHRtYXhMZW5ndGg6IG51bWJlciB8IHN0cmluZzsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0bW9kZWw6IGFueSB8IHN0cmluZzsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0b25LZXlQcmVzczogKG9iajogSUNhbGxiYWNrQXJnPEpRdWVyeUV2ZW50T2JqZWN0PikgPT4gdm9pZDsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0b25DaGFuZ2U6IChvYmo6IElDYWxsYmFja0FyZzxzdHJpbmc+KSA9PiB2b2lkOy8vIENvbXBvbmVudCB2YXJpYWJsZXNcblx0XHRvcHRpb25zOiBJVHlwZWFoZWFkT3B0aW9uPGFueT5bXTsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0cGxhY2Vob2xkZXI6IHN0cmluZzsvLyBDb21wb25lbnQgdmFyaWFibGVzXG5cdFx0cmVhZE9ubHk6IGJvb2xlYW4gfCBzdHJpbmc7Ly8gQ29tcG9uZW50IHZhcmlhYmxlc1xuXHRcdHJlcXVpcmVkOiBib29sZWFuIHwgc3RyaW5nOy8vIENvbXBvbmVudCB2YXJpYWJsZXNcblx0XHRyb3dzOiBudW1iZXIgfCBzdHJpbmc7Ly8gQ29tcG9uZW50IHZhcmlhYmxlc1xuXHRcdHNob3dUZXh0QXJlYTogYm9vbGVhbjtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRlbGVtZW50Jyxcblx0XHRcdCckdGltZW91dCcsXG5cdFx0XHQnJHRyYW5zY2x1ZGUnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkZWxlbWVudDogbmcuSUF1Z21lbnRlZEpRdWVyeSxcblx0XHRcdHByaXZhdGUgJHRpbWVvdXQ6IG5nLklUaW1lb3V0U2VydmljZSxcblx0XHRcdHByaXZhdGUgJHRyYW5zY2x1ZGU6IElUcmFuc2NsdWRlRnVuY3Rpb25cblx0XHQpIHtcblxuXHRcdH1cblxuXHRcdC8vIFwiYW55XCIgaXMgdGhlIGRlZmluZWQgdHlwZSBhdCB0aGlzIHRpbWVcblx0XHQkb25DaGFuZ2VzKGNoYW5nZXNPYmo6IGFueSk6IHZvaWQge1xuXHRcdFx0dmFyIGhhc1ZhbHVlID0gKHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuID0+IGNoYW5nZXNPYmpbcHJvcGVydHldICYmIGNoYW5nZXNPYmpbcHJvcGVydHldLmN1cnJlbnRWYWx1ZTtcblxuXHRcdFx0aWYgKGhhc1ZhbHVlKCdyZWFkT25seScpKSB7XG5cdFx0XHRcdHRoaXMuaXNSZWFkT25seSA9IGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZShjaGFuZ2VzT2JqLnJlYWRPbmx5LmN1cnJlbnRWYWx1ZSk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChoYXNWYWx1ZSgnYXV0b0ZvY3VzJykpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RJbnB1dCgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCRvbkluaXQoKTogdm9pZCB7XG5cdFx0XHR0aGlzLmlzUmVhZE9ubHkgPSBhcC5VdGlsaXRpZXMuaXNUcnVlVmFsdWUodGhpcy5yZWFkT25seSk7XG5cdFx0XHR0aGlzLnJlcXVpcmVkID0gYXAuVXRpbGl0aWVzLmlzVHJ1ZVZhbHVlKHRoaXMucmVxdWlyZWQpO1xuXHRcdFx0dmFyIHJvd3MgPSBOdW1iZXIodGhpcy5yb3dzKTtcblx0XHRcdHRoaXMuc2hvd1RleHRBcmVhID0gIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnJvd3MpIHx8IHJvd3MgPiAxO1xuXHRcdFx0dGhpcy5oYXNUZXh0ID0gdGhpcy4kdHJhbnNjbHVkZS5pc1Nsb3RGaWxsZWQoJ3RleHQnKTtcblx0XHRcdHRoaXMuaGFzQWRkT24gPSB0aGlzLiR0cmFuc2NsdWRlLmlzU2xvdEZpbGxlZCgnYWRkT24nKTtcblx0XHRcdHRoaXMuaGFzVHJhbnNjbHVkZWRDb250ZW50ID0gdGhpcy5oYXNUZXh0IHx8IHRoaXMuaGFzQWRkT247XG5cdFx0fVxuXG5cdFx0JHBvc3RMaW5rKCk6IHZvaWQge1xuXHRcdFx0dGhpcy4kZWxlbWVudC5vbigna2V5ZG93bicsIChldmVudDogSlF1ZXJ5RXZlbnRPYmplY3QpID0+IHRoaXMub25LZXlQcmVzcyh7IGFyZzogZXZlbnQgfSkpO1xuXG5cdFx0XHR0aGlzLiR0aW1lb3V0KCgpID0+IHtcblx0XHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZSh0aGlzLmF1dG9Gb2N1cykpIHtcblx0XHRcdFx0XHR0aGlzLnNlbGVjdElucHV0KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdG9uVGV4dGJveEV4aXQoKTogdm9pZCB7XG5cdFx0XHR2YXIgcmVzdWx0ID0gIXRoaXMucmVxdWlyZWQgfHwgKHRoaXMucmVxdWlyZWQgJiYgIWFwLlV0aWxpdGllcy5pc051bGxPcldoaXRlc3BhY2UodGhpcy5tb2RlbCkpO1xuXHRcdFx0dGhpcy5jc3NDbGFzcyA9ICFyZXN1bHQgPyB0aGlzLmNzc0NsYXNzIHx8ICdoYXMtZXJyb3InIDogJyc7XG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHsgYXJnOiB0aGlzLm1vZGVsIH0pO1xuXHRcdH1cblxuXHRcdHNlbGVjdElucHV0KCk6IHZvaWQge1xuXHRcdFx0dmFyIGlucHV0ID0gdGhpcy4kZWxlbWVudC5maW5kKCdpbnB1dCcpO1xuXHRcdFx0aW5wdXQuZm9jdXMoKS5zZWxlY3QoKTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyXG5cdFx0Lm1vZHVsZSgnYXBwLkNvbXBvbmVudHMnKVxuXHRcdC5jb250cm9sbGVyKCdBcExhYmVsZWRUZXh0SW5wdXRDb250cm9sbGVyJywgQXBMYWJlbGVkVGV4dElucHV0Q29udHJvbGxlcik7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Components;\n (function (Components) {\n var ApLabeledTextInput = /** @class */ (function () {\n function ApLabeledTextInput() {\n this.bindings = {\n /** optional a value indicating whether the input should have focus on load */\n autoFocus: '@',\n /** optional css class for control */\n cssClass: '@',\n /** optional max length for control */\n maxLength: '<',\n /** required model used as ng-model on control */\n model: '=',\n /** optional notification for when the user presses any key on the control - this returns an { arg: JQueryEventObject } */\n onKeyPress: '&',\n /** optional notification for when the user changes the value (ngBlur) - notice this is fired even if require validation fails */\n onChange: '&',\n /** typeahead options if the control supports this feature */\n options: '<',\n /** optional placeholder text for the control when no value is present */\n placeholder: '@',\n /** optional value that sets the control to readonly status when \"true\" */\n readOnly: '@',\n /** optional value that forces validation of user input to non null/whitespace strings - set control to \"has-error\" class but does NOT force user to enter valid input before leaving */\n required: '@',\n /** optional number of rows to be displayed if the control is to be a textarea rather than textbox */\n rows: '@'\n };\n this.controller = Components.ApLabeledTextInputController;\n this.controllerAs = 'ctrl';\n this.templateUrl = 'app/components/ap-labeled-text-input/template.html';\n this.transclude = {\n addOn: '?addOn',\n text: '?text'\n };\n }\n return ApLabeledTextInput;\n }());\n angular\n .module('app.Components')\n .component('apLabeledTextInput', new ApLabeledTextInput());\n })(Components = app.Components || (app.Components = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYXAtbGFiZWxlZC10ZXh0LWlucHV0L2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBc0NUO0FBdENELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQXNDcEI7SUF0Q1UsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7Z0JBQ0MsYUFBUSxHQUFrQztvQkFDekMsOEVBQThFO29CQUM5RSxTQUFTLEVBQUUsR0FBRztvQkFDZCxxQ0FBcUM7b0JBQ3JDLFFBQVEsRUFBRSxHQUFHO29CQUNiLHNDQUFzQztvQkFDdEMsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsaURBQWlEO29CQUNqRCxLQUFLLEVBQUUsR0FBRztvQkFDViwwSEFBMEg7b0JBQzFILFVBQVUsRUFBRSxHQUFHO29CQUNmLGlJQUFpSTtvQkFDakksUUFBUSxFQUFFLEdBQUc7b0JBQ2IsNkRBQTZEO29CQUM3RCxPQUFPLEVBQUUsR0FBRztvQkFDWix5RUFBeUU7b0JBQ3pFLFdBQVcsRUFBRSxHQUFHO29CQUNoQiwwRUFBMEU7b0JBQzFFLFFBQVEsRUFBRSxHQUFHO29CQUNiLHdMQUF3TDtvQkFDeEwsUUFBUSxFQUFFLEdBQUc7b0JBQ2IscUdBQXFHO29CQUNyRyxJQUFJLEVBQUUsR0FBRztpQkFDVCxDQUFDO2dCQUNGLGVBQVUsR0FBRyxXQUFBLDRCQUE0QixDQUFDO2dCQUMxQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQztnQkFDdEIsZ0JBQVcsR0FBRyxvREFBb0QsQ0FBQztnQkFDbkUsZUFBVSxHQUErQjtvQkFDeEMsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLE9BQU87aUJBQ2IsQ0FBQztZQUNILENBQUM7WUFBRCx5QkFBQztRQUFELENBaENBLEFBZ0NDLElBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDLEVBdENVLFVBQVUsR0FBVixjQUFVLEtBQVYsY0FBVSxRQXNDcEI7QUFBRCxDQUFDLEVBdENNLEdBQUcsS0FBSCxHQUFHLFFBc0NUIiwiZmlsZSI6ImNvbXBvbmVudHMvYXAtbGFiZWxlZC10ZXh0LWlucHV0L2NvbXBvbmVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5Db21wb25lbnRzIHtcblx0Y2xhc3MgQXBMYWJlbGVkVGV4dElucHV0IGltcGxlbWVudHMgbmcuSUNvbXBvbmVudE9wdGlvbnMge1xuXHRcdGJpbmRpbmdzOiB7IFtiaW5kaW5nOiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcblx0XHRcdC8qKiBvcHRpb25hbCBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgaW5wdXQgc2hvdWxkIGhhdmUgZm9jdXMgb24gbG9hZCAqL1xuXHRcdFx0YXV0b0ZvY3VzOiAnQCcsXG5cdFx0XHQvKiogb3B0aW9uYWwgY3NzIGNsYXNzIGZvciBjb250cm9sICovXG5cdFx0XHRjc3NDbGFzczogJ0AnLFxuXHRcdFx0LyoqIG9wdGlvbmFsIG1heCBsZW5ndGggZm9yIGNvbnRyb2wgKi9cblx0XHRcdG1heExlbmd0aDogJzwnLFxuXHRcdFx0LyoqIHJlcXVpcmVkIG1vZGVsIHVzZWQgYXMgbmctbW9kZWwgb24gY29udHJvbCAqL1xuXHRcdFx0bW9kZWw6ICc9Jyxcblx0XHRcdC8qKiBvcHRpb25hbCBub3RpZmljYXRpb24gZm9yIHdoZW4gdGhlIHVzZXIgcHJlc3NlcyBhbnkga2V5IG9uIHRoZSBjb250cm9sIC0gdGhpcyByZXR1cm5zIGFuIHsgYXJnOiBKUXVlcnlFdmVudE9iamVjdCB9ICovXG5cdFx0XHRvbktleVByZXNzOiAnJicsXG5cdFx0XHQvKiogb3B0aW9uYWwgbm90aWZpY2F0aW9uIGZvciB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHZhbHVlIChuZ0JsdXIpIC0gbm90aWNlIHRoaXMgaXMgZmlyZWQgZXZlbiBpZiByZXF1aXJlIHZhbGlkYXRpb24gZmFpbHMgKi9cblx0XHRcdG9uQ2hhbmdlOiAnJicsXG5cdFx0XHQvKiogdHlwZWFoZWFkIG9wdGlvbnMgaWYgdGhlIGNvbnRyb2wgc3VwcG9ydHMgdGhpcyBmZWF0dXJlICovXG5cdFx0XHRvcHRpb25zOiAnPCcsXG5cdFx0XHQvKiogb3B0aW9uYWwgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGNvbnRyb2wgd2hlbiBubyB2YWx1ZSBpcyBwcmVzZW50ICovXG5cdFx0XHRwbGFjZWhvbGRlcjogJ0AnLFxuXHRcdFx0LyoqIG9wdGlvbmFsIHZhbHVlIHRoYXQgc2V0cyB0aGUgY29udHJvbCB0byByZWFkb25seSBzdGF0dXMgd2hlbiBcInRydWVcIiAqL1xuXHRcdFx0cmVhZE9ubHk6ICdAJyxcblx0XHRcdC8qKiBvcHRpb25hbCB2YWx1ZSB0aGF0IGZvcmNlcyB2YWxpZGF0aW9uIG9mIHVzZXIgaW5wdXQgdG8gbm9uIG51bGwvd2hpdGVzcGFjZSBzdHJpbmdzIC0gc2V0IGNvbnRyb2wgdG8gXCJoYXMtZXJyb3JcIiBjbGFzcyBidXQgZG9lcyBOT1QgZm9yY2UgdXNlciB0byBlbnRlciB2YWxpZCBpbnB1dCBiZWZvcmUgbGVhdmluZyAqL1xuXHRcdFx0cmVxdWlyZWQ6ICdAJyxcblx0XHRcdC8qKiBvcHRpb25hbCBudW1iZXIgb2Ygcm93cyB0byBiZSBkaXNwbGF5ZWQgaWYgdGhlIGNvbnRyb2wgaXMgdG8gYmUgYSB0ZXh0YXJlYSByYXRoZXIgdGhhbiB0ZXh0Ym94ICovXG5cdFx0XHRyb3dzOiAnQCdcblx0XHR9O1xuXHRcdGNvbnRyb2xsZXIgPSBBcExhYmVsZWRUZXh0SW5wdXRDb250cm9sbGVyO1xuXHRcdGNvbnRyb2xsZXJBcyA9ICdjdHJsJztcblx0XHR0ZW1wbGF0ZVVybCA9ICdhcHAvY29tcG9uZW50cy9hcC1sYWJlbGVkLXRleHQtaW5wdXQvdGVtcGxhdGUuaHRtbCc7XG5cdFx0dHJhbnNjbHVkZTogeyBbc2xvdDogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG5cdFx0XHRhZGRPbjogJz9hZGRPbicsXG5cdFx0XHR0ZXh0OiAnP3RleHQnXG5cdFx0fTtcblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuQ29tcG9uZW50cycpXG5cdFx0LmNvbXBvbmVudCgnYXBMYWJlbGVkVGV4dElucHV0JywgbmV3IEFwTGFiZWxlZFRleHRJbnB1dCgpKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var OrganizationSelectorLinkController = /** @class */ (function () {\n function OrganizationSelectorLinkController($scope) {\n this.$scope = $scope;\n this.location = OrganizationUnitType.Location;\n }\n OrganizationSelectorLinkController.prototype.organizationChanged = function (event, organizationCacheKey) {\n this.$scope.onOrganizationChange({ arg: organizationCacheKey });\n };\n OrganizationSelectorLinkController.$inject = [\n '$scope'\n ];\n return OrganizationSelectorLinkController;\n }());\n Directives.OrganizationSelectorLinkController = OrganizationSelectorLinkController;\n angular.module('app.Directives')\n .controller('OrganizationSelectorLinkController', OrganizationSelectorLinkController);\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtb3JnYW5pemF0aW9uLXNlbGVjdG9yLWxpbmsvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBb0JUO0FBcEJELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQW9CcEI7SUFwQlUsV0FBQSxVQUFVO1FBQ3BCO1lBT0MsNENBQ1MsTUFBc0M7Z0JBQXRDLFdBQU0sR0FBTixNQUFNLENBQWdDO2dCQVAvQyxhQUFRLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1lBU3pDLENBQUM7WUFFRCxnRUFBbUIsR0FBbkIsVUFBb0IsS0FBdUIsRUFBRSxvQkFBNEI7Z0JBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQXVCLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUN2RixDQUFDO1lBWE0sMENBQU8sR0FBRztnQkFDaEIsUUFBUTthQUNSLENBQUM7WUFVSCx5Q0FBQztTQWZELEFBZUMsSUFBQTtRQWZZLDZDQUFrQyxxQ0FlOUMsQ0FBQTtRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDOUIsVUFBVSxDQUFDLG9DQUFvQyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDeEYsQ0FBQyxFQXBCVSxVQUFVLEdBQVYsY0FBVSxLQUFWLGNBQVUsUUFvQnBCO0FBQUQsQ0FBQyxFQXBCTSxHQUFHLEtBQUgsR0FBRyxRQW9CVCIsImZpbGUiOiJkaXJlY3RpdmVzL2FwLW9yZ2FuaXphdGlvbi1zZWxlY3Rvci1saW5rL2NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPScuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzJyAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkRpcmVjdGl2ZXMge1xuXHRleHBvcnQgY2xhc3MgT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rQ29udHJvbGxlciB7XG5cdFx0bG9jYXRpb24gPSBPcmdhbml6YXRpb25Vbml0VHlwZS5Mb2NhdGlvbjtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRzY29wZSdcblx0XHRdO1xuXG5cdFx0Y29uc3RydWN0b3IoXG5cdFx0XHRwcml2YXRlICRzY29wZTogSU9yZ2FuaXphdGlvblNlbGVjdG9yTGlua1Njb3BlXG5cdFx0KSB7XG5cdFx0fVxuXG5cdFx0b3JnYW5pemF0aW9uQ2hhbmdlZChldmVudDogbmcuSUFuZ3VsYXJFdmVudCwgb3JnYW5pemF0aW9uQ2FjaGVLZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdFx0dGhpcy4kc2NvcGUub25Pcmdhbml6YXRpb25DaGFuZ2UoPElDYWxsYmFja0FyZzxzdHJpbmc+PnsgYXJnOiBvcmdhbml6YXRpb25DYWNoZUtleSB9KTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLkRpcmVjdGl2ZXMnKVxuXHRcdC5jb250cm9sbGVyKCdPcmdhbml6YXRpb25TZWxlY3RvckxpbmtDb250cm9sbGVyJywgT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rQ29udHJvbGxlcik7XG59XG4iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var OrganizationSelectorLinkDirective = /** @class */ (function () {\n function OrganizationSelectorLinkDirective() {\n this.controller = Directives.OrganizationSelectorLinkController;\n this.controllerAs = 'ctrl';\n this.replace = true;\n this.restrict = 'E';\n this.templateUrl = 'app/directives/ap-organization-selector-link/template.html';\n this.scope = {\n activeOrganizationCacheKey: '@',\n highlightSubOrganization: '@',\n organization: '=',\n onOrganizationChange: '&'\n };\n }\n OrganizationSelectorLinkDirective.factory = function () {\n var directive = function () {\n return new OrganizationSelectorLinkDirective();\n };\n directive['$inject'] = [];\n return directive;\n };\n return OrganizationSelectorLinkDirective;\n }());\n angular.module('app.Directives')\n .directive('apOrganizationSelectorLink', OrganizationSelectorLinkDirective.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtb3JnYW5pemF0aW9uLXNlbGVjdG9yLWxpbmsvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0F5QlQ7QUF6QkQsV0FBTyxHQUFHO0lBQUMsSUFBQSxVQUFVLENBeUJwQjtJQXpCVSxXQUFBLFVBQVU7UUFDcEI7WUFBQTtnQkFDQyxlQUFVLEdBQUcsV0FBQSxrQ0FBa0MsQ0FBQztnQkFDaEQsaUJBQVksR0FBRyxNQUFNLENBQUM7Z0JBQ3RCLFlBQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsYUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDZixnQkFBVyxHQUFHLDREQUE0RCxDQUFDO2dCQUMzRSxVQUFLLEdBQUc7b0JBQ1AsMEJBQTBCLEVBQUUsR0FBRztvQkFDL0Isd0JBQXdCLEVBQUUsR0FBRztvQkFDN0IsWUFBWSxFQUFFLEdBQUc7b0JBQ2pCLG9CQUFvQixFQUFFLEdBQUc7aUJBQ3pCLENBQUM7WUFTSCxDQUFDO1lBUE8seUNBQU8sR0FBZDtnQkFDQyxJQUFJLFNBQVMsR0FBRztvQkFDZixPQUFPLElBQUksaUNBQWlDLEVBQUUsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sU0FBUyxDQUFDO1lBQ2xCLENBQUM7WUFDRix3Q0FBQztRQUFELENBcEJBLEFBb0JDLElBQUE7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQzlCLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUMsRUF6QlUsVUFBVSxHQUFWLGNBQVUsS0FBVixjQUFVLFFBeUJwQjtBQUFELENBQUMsRUF6Qk0sR0FBRyxLQUFILEdBQUcsUUF5QlQiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC1vcmdhbml6YXRpb24tc2VsZWN0b3ItbGluay9kaXJlY3RpdmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPScuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzJyAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkRpcmVjdGl2ZXMge1xuXHRjbGFzcyBPcmdhbml6YXRpb25TZWxlY3RvckxpbmtEaXJlY3RpdmUgaW1wbGVtZW50cyBuZy5JRGlyZWN0aXZlIHtcblx0XHRjb250cm9sbGVyID0gT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rQ29udHJvbGxlcjtcblx0XHRjb250cm9sbGVyQXMgPSAnY3RybCc7XG5cdFx0cmVwbGFjZSA9IHRydWU7XG5cdFx0cmVzdHJpY3QgPSAnRSc7XG5cdFx0dGVtcGxhdGVVcmwgPSAnYXBwL2RpcmVjdGl2ZXMvYXAtb3JnYW5pemF0aW9uLXNlbGVjdG9yLWxpbmsvdGVtcGxhdGUuaHRtbCc7XG5cdFx0c2NvcGUgPSB7XG5cdFx0XHRhY3RpdmVPcmdhbml6YXRpb25DYWNoZUtleTogJ0AnLFxuXHRcdFx0aGlnaGxpZ2h0U3ViT3JnYW5pemF0aW9uOiAnQCcsXG5cdFx0XHRvcmdhbml6YXRpb246ICc9Jyxcblx0XHRcdG9uT3JnYW5pemF0aW9uQ2hhbmdlOiAnJidcblx0XHR9O1xuXG5cdFx0c3RhdGljIGZhY3RvcnkoKTogbmcuSURpcmVjdGl2ZUZhY3Rvcnkge1xuXHRcdFx0dmFyIGRpcmVjdGl2ZSA9ICgpID0+IHtcblx0XHRcdFx0cmV0dXJuIG5ldyBPcmdhbml6YXRpb25TZWxlY3RvckxpbmtEaXJlY3RpdmUoKTtcblx0XHRcdH07XG5cdFx0XHRkaXJlY3RpdmVbJyRpbmplY3QnXSA9IFtdO1xuXHRcdFx0cmV0dXJuIGRpcmVjdGl2ZTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLkRpcmVjdGl2ZXMnKVxuXHRcdC5kaXJlY3RpdmUoJ2FwT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rJywgT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rRGlyZWN0aXZlLmZhY3RvcnkoKSk7XG59XG4iXX0=\n\n/// \n'use strict';\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtb3JnYW5pemF0aW9uLXNlbGVjdG9yLWxpbmsvSVNjb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUMiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC1vcmdhbml6YXRpb24tc2VsZWN0b3ItbGluay9JU2NvcGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbmludGVyZmFjZSBJT3JnYW5pemF0aW9uU2VsZWN0b3JMaW5rU2NvcGUgZXh0ZW5kcyBuZy5JU2NvcGUge1xuXHRhY3RpdmVPcmdhbml6YXRpb25DYWNoZUtleTogc3RyaW5nO1xuXHRvcmdhbml6YXRpb246IElTaW1wbGVPcmdhbml6YXRpb247XG5cdG9uT3JnYW5pemF0aW9uQ2hhbmdlKG9iamVjdDogSUNhbGxiYWNrQXJnPHN0cmluZz4pOiB2b2lkO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageContentController = /** @class */ (function () {\n function ApPageContentController($scope, $timeout, $window) {\n var _this = this;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n this.title = ap.Constants.routes.home.label;\n this.$scope.$on(ap.Constants.eventNames.angular.routeChangeSuccess, function (event, route) { return _this.routeChanged(route); });\n this.init();\n }\n ApPageContentController.prototype.init = function () {\n var _this = this;\n var adjustHeight = function () {\n _this.$timeout(function () {\n var windowHeight = $(_this.$window).outerHeight(true);\n var parent = jQuery('.main-content');\n var whiteSurround = parent.find('.white-surround');\n var graySurround = parent.find('.gray-surround');\n var header = parent.find('.ap-page-header');\n var leftPanel = parent.find('.left-panel');\n var rightPanel = parent.find('.right-panel');\n var headerAndFooter = header.outerHeight(true);\n var grayMinusWhite = graySurround.outerHeight(true) - whiteSurround.outerHeight(true);\n var padding = Math.ceil(grayMinusWhite / 2.0);\n var height = windowHeight - (headerAndFooter + grayMinusWhite + padding);\n var organizationListHeight = height;\n var workingHeight = Math.max(height, 300);\n var workingOrganizationListHeight = Math.max(organizationListHeight, 246);\n whiteSurround.css('min-height', workingHeight + \"px\");\n leftPanel.css('min-height', workingOrganizationListHeight + \"px\");\n rightPanel.css('min-height', workingOrganizationListHeight + \"px\");\n });\n };\n $(this.$window).resize(adjustHeight);\n adjustHeight();\n };\n ApPageContentController.prototype.routeChanged = function (route) {\n this.title = route.label;\n };\n ApPageContentController.$inject = [\n '$scope', '$timeout', '$window'\n ];\n return ApPageContentController;\n }());\n Directives.ApPageContentController = ApPageContentController;\n angular\n .module('app.Directives')\n .controller('ApPageContentController', ApPageContentController);\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1jb250ZW50L2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQXlEVDtBQXpERCxXQUFPLEdBQUc7SUFBQyxJQUFBLFVBQVUsQ0F5RHBCO0lBekRVLFdBQUEsVUFBVTtRQUNwQjtZQU9DLGlDQUNTLE1BQWlCLEVBQ2pCLFFBQTRCLEVBQzVCLE9BQTBCO2dCQUhuQyxpQkFPQztnQkFOUSxXQUFNLEdBQU4sTUFBTSxDQUFXO2dCQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtnQkFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7Z0JBVG5DLFVBQUssR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQVd0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsVUFBQyxLQUFLLEVBQUUsS0FBSyxJQUFLLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxDQUFDO2dCQUNoSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixDQUFDO1lBRU8sc0NBQUksR0FBWjtnQkFBQSxpQkE0QkM7Z0JBM0JBLElBQUksWUFBWSxHQUFHO29CQUNsQixLQUFJLENBQUMsUUFBUSxDQUFDO3dCQUNiLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNyRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3JDLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDbkQsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUNqRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7d0JBQzVDLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQzNDLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBRTdDLElBQUksZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQy9DLElBQUksY0FBYyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEYsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUM7d0JBQzlDLElBQUksTUFBTSxHQUFHLFlBQVksR0FBRyxDQUFDLGVBQWUsR0FBRyxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUM7d0JBQ3pFLElBQUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDO3dCQUVwQyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDMUMsSUFBSSw2QkFBNkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUUxRSxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBSyxhQUFhLE9BQUksQ0FBQyxDQUFDO3dCQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBSyw2QkFBNkIsT0FBSSxDQUFDLENBQUM7d0JBQ2xFLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFLLDZCQUE2QixPQUFJLENBQUMsQ0FBQztvQkFDcEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDO2dCQUVGLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNyQyxZQUFZLEVBQUUsQ0FBQztZQUNoQixDQUFDO1lBRU8sOENBQVksR0FBcEIsVUFBcUIsS0FBYTtnQkFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzFCLENBQUM7WUE3Q00sK0JBQU8sR0FBRztnQkFDaEIsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTO2FBQy9CLENBQUM7WUE4Q0gsOEJBQUM7U0FuREQsQUFtREMsSUFBQTtRQW5EWSxrQ0FBdUIsMEJBbURuQyxDQUFBO1FBRUQsT0FBTzthQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4QixVQUFVLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNsRSxDQUFDLEVBekRVLFVBQVUsR0FBVixjQUFVLEtBQVYsY0FBVSxRQXlEcEI7QUFBRCxDQUFDLEVBekRNLEdBQUcsS0FBSCxHQUFHLFFBeURUIiwiZmlsZSI6ImRpcmVjdGl2ZXMvYXAtcGFnZS1jb250ZW50L2NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuRGlyZWN0aXZlcyB7XG5cdGV4cG9ydCBjbGFzcyBBcFBhZ2VDb250ZW50Q29udHJvbGxlciB7XG5cdFx0dGl0bGUgPSBhcC5Db25zdGFudHMucm91dGVzLmhvbWUubGFiZWw7XG5cblx0XHRzdGF0aWMgJGluamVjdCA9IFtcblx0XHRcdCckc2NvcGUnLCAnJHRpbWVvdXQnLCAnJHdpbmRvdydcblx0XHRdO1xuXG5cdFx0Y29uc3RydWN0b3IoXG5cdFx0XHRwcml2YXRlICRzY29wZTogbmcuSVNjb3BlLFxuXHRcdFx0cHJpdmF0ZSAkdGltZW91dDogbmcuSVRpbWVvdXRTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkd2luZG93OiBuZy5JV2luZG93U2VydmljZVxuXHRcdCkge1xuXHRcdFx0dGhpcy4kc2NvcGUuJG9uKGFwLkNvbnN0YW50cy5ldmVudE5hbWVzLmFuZ3VsYXIucm91dGVDaGFuZ2VTdWNjZXNzLCAoZXZlbnQsIHJvdXRlKSA9PiB0aGlzLnJvdXRlQ2hhbmdlZChyb3V0ZSkpO1xuXHRcdFx0dGhpcy5pbml0KCk7XG5cdFx0fVxuXG5cdFx0cHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuXHRcdFx0dmFyIGFkanVzdEhlaWdodCA9ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0dGhpcy4kdGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0dmFyIHdpbmRvd0hlaWdodCA9ICQodGhpcy4kd2luZG93KS5vdXRlckhlaWdodCh0cnVlKTtcblx0XHRcdFx0XHR2YXIgcGFyZW50ID0galF1ZXJ5KCcubWFpbi1jb250ZW50Jyk7XG5cdFx0XHRcdFx0dmFyIHdoaXRlU3Vycm91bmQgPSBwYXJlbnQuZmluZCgnLndoaXRlLXN1cnJvdW5kJyk7XG5cdFx0XHRcdFx0dmFyIGdyYXlTdXJyb3VuZCA9IHBhcmVudC5maW5kKCcuZ3JheS1zdXJyb3VuZCcpO1xuXHRcdFx0XHRcdHZhciBoZWFkZXIgPSBwYXJlbnQuZmluZCgnLmFwLXBhZ2UtaGVhZGVyJyk7XG5cdFx0XHRcdFx0dmFyIGxlZnRQYW5lbCA9IHBhcmVudC5maW5kKCcubGVmdC1wYW5lbCcpO1xuXHRcdFx0XHRcdHZhciByaWdodFBhbmVsID0gcGFyZW50LmZpbmQoJy5yaWdodC1wYW5lbCcpO1xuXG5cdFx0XHRcdFx0dmFyIGhlYWRlckFuZEZvb3RlciA9IGhlYWRlci5vdXRlckhlaWdodCh0cnVlKTtcblx0XHRcdFx0XHR2YXIgZ3JheU1pbnVzV2hpdGUgPSBncmF5U3Vycm91bmQub3V0ZXJIZWlnaHQodHJ1ZSkgLSB3aGl0ZVN1cnJvdW5kLm91dGVySGVpZ2h0KHRydWUpO1xuXHRcdFx0XHRcdHZhciBwYWRkaW5nID0gTWF0aC5jZWlsKGdyYXlNaW51c1doaXRlIC8gMi4wKTtcblx0XHRcdFx0XHR2YXIgaGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gKGhlYWRlckFuZEZvb3RlciArIGdyYXlNaW51c1doaXRlICsgcGFkZGluZyk7XG5cdFx0XHRcdFx0dmFyIG9yZ2FuaXphdGlvbkxpc3RIZWlnaHQgPSBoZWlnaHQ7XG5cblx0XHRcdFx0XHR2YXIgd29ya2luZ0hlaWdodCA9IE1hdGgubWF4KGhlaWdodCwgMzAwKTtcblx0XHRcdFx0XHR2YXIgd29ya2luZ09yZ2FuaXphdGlvbkxpc3RIZWlnaHQgPSBNYXRoLm1heChvcmdhbml6YXRpb25MaXN0SGVpZ2h0LCAyNDYpO1xuXG5cdFx0XHRcdFx0d2hpdGVTdXJyb3VuZC5jc3MoJ21pbi1oZWlnaHQnLCBgJHt3b3JraW5nSGVpZ2h0fXB4YCk7XG5cdFx0XHRcdFx0bGVmdFBhbmVsLmNzcygnbWluLWhlaWdodCcsIGAke3dvcmtpbmdPcmdhbml6YXRpb25MaXN0SGVpZ2h0fXB4YCk7XG5cdFx0XHRcdFx0cmlnaHRQYW5lbC5jc3MoJ21pbi1oZWlnaHQnLCBgJHt3b3JraW5nT3JnYW5pemF0aW9uTGlzdEhlaWdodH1weGApO1xuXHRcdFx0XHR9KTtcblx0XHRcdH07XG5cblx0XHRcdCQodGhpcy4kd2luZG93KS5yZXNpemUoYWRqdXN0SGVpZ2h0KTtcblx0XHRcdGFkanVzdEhlaWdodCgpO1xuXHRcdH1cblxuXHRcdHByaXZhdGUgcm91dGVDaGFuZ2VkKHJvdXRlOiBJUm91dGUpOiB2b2lkIHtcblx0XHRcdHRoaXMudGl0bGUgPSByb3V0ZS5sYWJlbDtcblx0XHR9XG5cblxuXHR9XG5cblx0YW5ndWxhclxuXHRcdC5tb2R1bGUoJ2FwcC5EaXJlY3RpdmVzJylcblx0XHQuY29udHJvbGxlcignQXBQYWdlQ29udGVudENvbnRyb2xsZXInLCBBcFBhZ2VDb250ZW50Q29udHJvbGxlcik7XG59XG4iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageContent = /** @class */ (function () {\n function ApPageContent() {\n this.controller = Directives.ApPageContentController;\n this.controllerAs = 'ctrl';\n this.replace = false;\n this.restrict = 'A';\n this.scope = {};\n this.templateUrl = 'app/directives/ap-page-content/template.html';\n }\n ApPageContent.factory = function () {\n var directive = function () {\n return new ApPageContent();\n };\n directive['$inject'] = [];\n return directive;\n };\n return ApPageContent;\n }());\n Directives.ApPageContent = ApPageContent;\n angular\n .module('app.Directives')\n .directive('apPageContent', ApPageContent.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1jb250ZW50L2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBcUJUO0FBckJELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQXFCcEI7SUFyQlUsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7Z0JBQ0MsZUFBVSxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDaEQsaUJBQVksR0FBRyxNQUFNLENBQUM7Z0JBQ3RCLFlBQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ2hCLGFBQVEsR0FBRyxHQUFHLENBQUM7Z0JBQ2YsVUFBSyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxnQkFBVyxHQUFHLDhDQUE4QyxDQUFDO1lBUzlELENBQUM7WUFQTyxxQkFBTyxHQUFkO2dCQUNDLElBQUksU0FBUyxHQUFHO29CQUNmLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sU0FBUyxDQUFDO1lBQ2xCLENBQUM7WUFDRixvQkFBQztRQUFELENBZkEsQUFlQyxJQUFBO1FBZlksd0JBQWEsZ0JBZXpCLENBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxFQXJCVSxVQUFVLEdBQVYsY0FBVSxLQUFWLGNBQVUsUUFxQnBCO0FBQUQsQ0FBQyxFQXJCTSxHQUFHLEtBQUgsR0FBRyxRQXFCVCIsImZpbGUiOiJkaXJlY3RpdmVzL2FwLXBhZ2UtY29udGVudC9kaXJlY3RpdmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuRGlyZWN0aXZlcyB7XG5cdGV4cG9ydCBjbGFzcyBBcFBhZ2VDb250ZW50IGltcGxlbWVudHMgbmcuSURpcmVjdGl2ZSB7XG5cdFx0Y29udHJvbGxlciA9IERpcmVjdGl2ZXMuQXBQYWdlQ29udGVudENvbnRyb2xsZXI7XG5cdFx0Y29udHJvbGxlckFzID0gJ2N0cmwnO1xuXHRcdHJlcGxhY2UgPSBmYWxzZTtcblx0XHRyZXN0cmljdCA9ICdBJztcblx0XHRzY29wZSA9IHt9O1xuXHRcdHRlbXBsYXRlVXJsID0gJ2FwcC9kaXJlY3RpdmVzL2FwLXBhZ2UtY29udGVudC90ZW1wbGF0ZS5odG1sJztcblxuXHRcdHN0YXRpYyBmYWN0b3J5KCk6IG5nLklEaXJlY3RpdmVGYWN0b3J5IHtcblx0XHRcdHZhciBkaXJlY3RpdmUgPSAoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBuZXcgQXBQYWdlQ29udGVudCgpO1xuXHRcdFx0fTtcblx0XHRcdGRpcmVjdGl2ZVsnJGluamVjdCddID0gW107XG5cdFx0XHRyZXR1cm4gZGlyZWN0aXZlO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuRGlyZWN0aXZlcycpXG5cdFx0LmRpcmVjdGl2ZSgnYXBQYWdlQ29udGVudCcsIEFwUGFnZUNvbnRlbnQuZmFjdG9yeSgpKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageHeaderController = /** @class */ (function () {\n function ApPageHeaderController($rootScope, $scope, $timeout, $window, authenticationService, locationService, ssoService, appSettings) {\n var _this = this;\n this.$rootScope = $rootScope;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n this.authenticationService = authenticationService;\n this.locationService = locationService;\n this.ssoService = ssoService;\n this.appSettings = appSettings;\n this.keys = ap.Constants.translationKeys.shell;\n this.firstName = this.authenticationService.authorizationData.firstName;\n this.$scope.$on(ap.Constants.eventNames.angular.routeChangeSuccess, function () { return _this.init(); });\n this.logoUrl = this.appSettings.urls.dynamicContentUrl + '/1234/x/images/solera-autopoint_logo2019.svg';\n this.init();\n }\n ApPageHeaderController.prototype.init = function () {\n this.organizationCacheKey = this.locationService.getOrganizationCacheKey();\n };\n ApPageHeaderController.prototype.logout = function () {\n this.authenticationService.logout();\n };\n ApPageHeaderController.$inject = [\n '$rootScope',\n '$scope',\n '$timeout',\n '$window',\n 'authenticationService',\n 'locationService',\n 'ssoService',\n 'appSettings'\n ];\n return ApPageHeaderController;\n }());\n Directives.ApPageHeaderController = ApPageHeaderController;\n angular\n .module('app.Directives')\n .controller('ApPageHeaderController', ApPageHeaderController);\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1oZWFkZXIvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBZ0RUO0FBaERELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQWdEcEI7SUFoRFUsV0FBQSxVQUFVO1FBQ3BCO1lBb0JDLGdDQUNTLFVBQWdDLEVBQ2hDLE1BQTRCLEVBQzVCLFFBQTRCLEVBQzVCLE9BQTBCLEVBQzFCLHFCQUFxRCxFQUNyRCxlQUF5QyxFQUN6QyxVQUErQixFQUMvQixXQUF5QjtnQkFSbEMsaUJBYUM7Z0JBWlEsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7Z0JBQ2hDLFdBQU0sR0FBTixNQUFNLENBQXNCO2dCQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtnQkFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7Z0JBQzFCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBZ0M7Z0JBQ3JELG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtnQkFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7Z0JBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFjO2dCQTFCbEMsU0FBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztnQkFDMUMsY0FBUyxHQUFXLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7Z0JBMkIxRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLEVBQUUsRUFBWCxDQUFXLENBQUMsQ0FBQztnQkFDdkYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyw4Q0FBOEMsQ0FBQztnQkFDeEcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsQ0FBQztZQUVPLHFDQUFJLEdBQVo7Z0JBQ0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM1RSxDQUFDO1lBRUQsdUNBQU0sR0FBTjtnQkFDQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsQ0FBQztZQWhDTSw4QkFBTyxHQUFHO2dCQUNoQixZQUFZO2dCQUNaLFFBQVE7Z0JBQ1IsVUFBVTtnQkFDVixTQUFTO2dCQUNULHVCQUF1QjtnQkFDdkIsaUJBQWlCO2dCQUNqQixZQUFZO2dCQUNaLGFBQWE7YUFDYixDQUFDO1lBd0JILDZCQUFDO1NBMUNELEFBMENDLElBQUE7UUExQ1ksaUNBQXNCLHlCQTBDbEMsQ0FBQTtRQUVELE9BQU87YUFDTCxNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEIsVUFBVSxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDaEUsQ0FBQyxFQWhEVSxVQUFVLEdBQVYsY0FBVSxLQUFWLGNBQVUsUUFnRHBCO0FBQUQsQ0FBQyxFQWhETSxHQUFHLEtBQUgsR0FBRyxRQWdEVCIsImZpbGUiOiJkaXJlY3RpdmVzL2FwLXBhZ2UtaGVhZGVyL2NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuRGlyZWN0aXZlcyB7XG5cdGV4cG9ydCBjbGFzcyBBcFBhZ2VIZWFkZXJDb250cm9sbGVyIHtcblx0XHRkZWFsZXJJbmZvOiBhbnk7XG5cdFx0a2V5cyA9IGFwLkNvbnN0YW50cy50cmFuc2xhdGlvbktleXMuc2hlbGw7XG5cdFx0Zmlyc3ROYW1lOiBzdHJpbmcgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRob3JpemF0aW9uRGF0YS5maXJzdE5hbWU7XG5cdFx0bG9nb1VybDogc3RyaW5nO1xuXHRcdG9yZ2FuaXphdGlvbkNhY2hlS2V5OiBzdHJpbmc7XG5cdFx0b3JnYW5pemF0aW9uczogSU9yZ2FuaXphdGlvbkhvbGRlcjtcblx0XHRvcmdMaXN0UHJvbWlzZTogbmcuSVByb21pc2U8SU9yZ2FuaXphdGlvbkhvbGRlcj47XG5cblx0XHRzdGF0aWMgJGluamVjdCA9IFtcblx0XHRcdCckcm9vdFNjb3BlJyxcblx0XHRcdCckc2NvcGUnLFxuXHRcdFx0JyR0aW1lb3V0Jyxcblx0XHRcdCckd2luZG93Jyxcblx0XHRcdCdhdXRoZW50aWNhdGlvblNlcnZpY2UnLFxuXHRcdFx0J2xvY2F0aW9uU2VydmljZScsXG5cdFx0XHQnc3NvU2VydmljZScsXG5cdFx0XHQnYXBwU2V0dGluZ3MnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkcm9vdFNjb3BlOiBuZy5JUm9vdFNjb3BlU2VydmljZSxcblx0XHRcdHByaXZhdGUgJHNjb3BlOiBuZy5JUm9vdFNjb3BlU2VydmljZSxcblx0XHRcdHByaXZhdGUgJHRpbWVvdXQ6IG5nLklUaW1lb3V0U2VydmljZSxcblx0XHRcdHByaXZhdGUgJHdpbmRvdzogbmcuSVdpbmRvd1NlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogU2VydmljZXMuQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBsb2NhdGlvblNlcnZpY2U6IFNlcnZpY2VzLkxvY2F0aW9uU2VydmljZSxcblx0XHRcdHByaXZhdGUgc3NvU2VydmljZTogU2VydmljZXMuU3NvU2VydmljZSxcblx0XHRcdHByaXZhdGUgYXBwU2V0dGluZ3M6IElBcHBTZXR0aW5nc1xuXHRcdCkge1xuXHRcdFx0dGhpcy4kc2NvcGUuJG9uKGFwLkNvbnN0YW50cy5ldmVudE5hbWVzLmFuZ3VsYXIucm91dGVDaGFuZ2VTdWNjZXNzLCAoKSA9PiB0aGlzLmluaXQoKSk7XG5cdFx0XHR0aGlzLmxvZ29VcmwgPSB0aGlzLmFwcFNldHRpbmdzLnVybHMuZHluYW1pY0NvbnRlbnRVcmwgKyAnLzEyMzQveC9pbWFnZXMvc29sZXJhLWF1dG9wb2ludF9sb2dvMjAxOS5zdmcnO1xuXHRcdFx0dGhpcy5pbml0KCk7XG5cdFx0fVxuXG5cdFx0cHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuXHRcdFx0dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSA9IHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkNhY2hlS2V5KCk7XG5cdFx0fVxuXG5cdFx0bG9nb3V0KCk6IHZvaWQge1xuXHRcdFx0dGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG5cdFx0fVxuXHR9XG5cblx0YW5ndWxhclxuXHRcdC5tb2R1bGUoJ2FwcC5EaXJlY3RpdmVzJylcblx0XHQuY29udHJvbGxlcignQXBQYWdlSGVhZGVyQ29udHJvbGxlcicsIEFwUGFnZUhlYWRlckNvbnRyb2xsZXIpO1xufVxuIl19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageHeader = /** @class */ (function () {\n function ApPageHeader() {\n this.replace = false;\n this.restrict = 'A';\n this.scope = {};\n this.templateUrl = 'app/directives/ap-page-header/template.html';\n this.controller = Directives.ApPageHeaderController;\n this.controllerAs = 'ctrl';\n }\n ApPageHeader.factory = function () {\n var directive = function () {\n return new ApPageHeader();\n };\n directive['$inject'] = [];\n return directive;\n };\n return ApPageHeader;\n }());\n angular\n .module('app.Directives')\n .directive('apPageHeader', ApPageHeader.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1oZWFkZXIvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0FxQlQ7QUFyQkQsV0FBTyxHQUFHO0lBQUMsSUFBQSxVQUFVLENBcUJwQjtJQXJCVSxXQUFBLFVBQVU7UUFDcEI7WUFBQTtnQkFDQyxZQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNoQixhQUFRLEdBQUcsR0FBRyxDQUFDO2dCQUNmLFVBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ1gsZ0JBQVcsR0FBRyw2Q0FBNkMsQ0FBQztnQkFDNUQsZUFBVSxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDL0MsaUJBQVksR0FBRyxNQUFNLENBQUM7WUFTdkIsQ0FBQztZQVBPLG9CQUFPLEdBQWQ7Z0JBQ0MsSUFBSSxTQUFTLEdBQUc7b0JBQ2YsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxTQUFTLENBQUM7WUFDbEIsQ0FBQztZQUNGLG1CQUFDO1FBQUQsQ0FmQSxBQWVDLElBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQyxFQXJCVSxVQUFVLEdBQVYsY0FBVSxLQUFWLGNBQVUsUUFxQnBCO0FBQUQsQ0FBQyxFQXJCTSxHQUFHLEtBQUgsR0FBRyxRQXFCVCIsImZpbGUiOiJkaXJlY3RpdmVzL2FwLXBhZ2UtaGVhZGVyL2RpcmVjdGl2ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5EaXJlY3RpdmVzIHtcblx0Y2xhc3MgQXBQYWdlSGVhZGVyIGltcGxlbWVudHMgbmcuSURpcmVjdGl2ZSB7XG5cdFx0cmVwbGFjZSA9IGZhbHNlO1xuXHRcdHJlc3RyaWN0ID0gJ0EnO1xuXHRcdHNjb3BlID0ge307XG5cdFx0dGVtcGxhdGVVcmwgPSAnYXBwL2RpcmVjdGl2ZXMvYXAtcGFnZS1oZWFkZXIvdGVtcGxhdGUuaHRtbCc7XG5cdFx0Y29udHJvbGxlciA9IERpcmVjdGl2ZXMuQXBQYWdlSGVhZGVyQ29udHJvbGxlcjtcblx0XHRjb250cm9sbGVyQXMgPSAnY3RybCc7XG5cblx0XHRzdGF0aWMgZmFjdG9yeSgpOiBuZy5JRGlyZWN0aXZlRmFjdG9yeSB7XG5cdFx0XHR2YXIgZGlyZWN0aXZlID0gKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gbmV3IEFwUGFnZUhlYWRlcigpO1xuXHRcdFx0fTtcblx0XHRcdGRpcmVjdGl2ZVsnJGluamVjdCddID0gW107XG5cdFx0XHRyZXR1cm4gZGlyZWN0aXZlO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuRGlyZWN0aXZlcycpXG5cdFx0LmRpcmVjdGl2ZSgnYXBQYWdlSGVhZGVyJywgQXBQYWdlSGVhZGVyLmZhY3RvcnkoKSk7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageMenuController = /** @class */ (function () {\n function ApPageMenuController() {\n }\n ApPageMenuController.prototype.triggerMenuEvent = function (menuItem, subAction, isOpen) {\n // Trigger menu click if needed?\n };\n return ApPageMenuController;\n }());\n Directives.ApPageMenuController = ApPageMenuController;\n angular\n .module('app.Directives')\n .controller('ApPageMenuController', ApPageMenuController);\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1tZW51L2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQVVUO0FBVkQsV0FBTyxHQUFHO0lBQUMsSUFBQSxVQUFVLENBVXBCO0lBVlUsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7WUFJQSxDQUFDO1lBSEEsK0NBQWdCLEdBQWhCLFVBQWlCLFFBQW1CLEVBQUUsU0FBa0IsRUFBRSxNQUFnQjtnQkFDekUsZ0NBQWdDO1lBQ2pDLENBQUM7WUFDRiwyQkFBQztRQUFELENBSkEsQUFJQyxJQUFBO1FBSlksK0JBQW9CLHVCQUloQyxDQUFBO1FBRUQsT0FBTzthQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4QixVQUFVLENBQUMsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM1RCxDQUFDLEVBVlUsVUFBVSxHQUFWLGNBQVUsS0FBVixjQUFVLFFBVXBCO0FBQUQsQ0FBQyxFQVZNLEdBQUcsS0FBSCxHQUFHLFFBVVQiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC1wYWdlLW1lbnUvY29udHJvbGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5EaXJlY3RpdmVzIHtcblx0ZXhwb3J0IGNsYXNzIEFwUGFnZU1lbnVDb250cm9sbGVyIHtcblx0XHR0cmlnZ2VyTWVudUV2ZW50KG1lbnVJdGVtOiBJTWVudUl0ZW0sIHN1YkFjdGlvbj86IHN0cmluZywgaXNPcGVuPzogYm9vbGVhbik6IHZvaWQge1xuXHRcdFx0Ly8gVHJpZ2dlciBtZW51IGNsaWNrIGlmIG5lZWRlZD9cblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyXG5cdFx0Lm1vZHVsZSgnYXBwLkRpcmVjdGl2ZXMnKVxuXHRcdC5jb250cm9sbGVyKCdBcFBhZ2VNZW51Q29udHJvbGxlcicsIEFwUGFnZU1lbnVDb250cm9sbGVyKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageMenu = /** @class */ (function () {\n function ApPageMenu() {\n this.replace = false;\n this.restrict = 'A';\n this.scope = {};\n this.templateUrl = 'app/directives/ap-page-menu/template.html';\n this.controller = Directives.ApPageMenuController;\n this.controllerAs = 'ctrl';\n }\n ApPageMenu.factory = function () {\n var directive = function () {\n return new ApPageMenu();\n };\n directive['$inject'] = [];\n return directive;\n };\n return ApPageMenu;\n }());\n angular\n .module('app.Directives')\n .directive('apPageMenu', ApPageMenu.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1tZW51L2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBcUJUO0FBckJELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQXFCcEI7SUFyQlUsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7Z0JBQ0MsWUFBTyxHQUFHLEtBQUssQ0FBQztnQkFDaEIsYUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDZixVQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNYLGdCQUFXLEdBQUcsMkNBQTJDLENBQUM7Z0JBQzFELGVBQVUsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUM7Z0JBQzdDLGlCQUFZLEdBQUcsTUFBTSxDQUFDO1lBU3ZCLENBQUM7WUFQTyxrQkFBTyxHQUFkO2dCQUNDLElBQUksU0FBUyxHQUFHO29CQUNmLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sU0FBUyxDQUFDO1lBQ2xCLENBQUM7WUFDRixpQkFBQztRQUFELENBZkEsQUFlQyxJQUFBO1FBRUQsT0FBTzthQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4QixTQUFTLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUMsRUFyQlUsVUFBVSxHQUFWLGNBQVUsS0FBVixjQUFVLFFBcUJwQjtBQUFELENBQUMsRUFyQk0sR0FBRyxLQUFILEdBQUcsUUFxQlQiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC1wYWdlLW1lbnUvZGlyZWN0aXZlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkRpcmVjdGl2ZXMge1xuXHRjbGFzcyBBcFBhZ2VNZW51IGltcGxlbWVudHMgbmcuSURpcmVjdGl2ZSB7XG5cdFx0cmVwbGFjZSA9IGZhbHNlO1xuXHRcdHJlc3RyaWN0ID0gJ0EnO1xuXHRcdHNjb3BlID0ge307XG5cdFx0dGVtcGxhdGVVcmwgPSAnYXBwL2RpcmVjdGl2ZXMvYXAtcGFnZS1tZW51L3RlbXBsYXRlLmh0bWwnO1xuXHRcdGNvbnRyb2xsZXIgPSBEaXJlY3RpdmVzLkFwUGFnZU1lbnVDb250cm9sbGVyO1xuXHRcdGNvbnRyb2xsZXJBcyA9ICdjdHJsJztcblxuXHRcdHN0YXRpYyBmYWN0b3J5KCk6IG5nLklEaXJlY3RpdmVGYWN0b3J5IHtcblx0XHRcdHZhciBkaXJlY3RpdmUgPSAoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBuZXcgQXBQYWdlTWVudSgpO1xuXHRcdFx0fTtcblx0XHRcdGRpcmVjdGl2ZVsnJGluamVjdCddID0gW107XG5cdFx0XHRyZXR1cm4gZGlyZWN0aXZlO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuRGlyZWN0aXZlcycpXG5cdFx0LmRpcmVjdGl2ZSgnYXBQYWdlTWVudScsIEFwUGFnZU1lbnUuZmFjdG9yeSgpKTtcbn1cbiJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApWaitingMessage = /** @class */ (function () {\n function ApWaitingMessage() {\n this.restrict = 'E';\n this.scope = {\n isLoading: '=',\n displayText: '@'\n };\n this.templateUrl = 'app/directives/ap-waiting-message/template.html';\n }\n ApWaitingMessage.factory = function () {\n var directive = function () {\n return new ApWaitingMessage();\n };\n directive['$inject'] = [];\n return directive;\n };\n ApWaitingMessage.prototype.link = function (scope) {\n scope.displayText = scope.displayText || ap.Constants.translationKeys.directives.loading;\n };\n return ApWaitingMessage;\n }());\n angular\n .module('app')\n .directive('apWaitingMessage', ApWaitingMessage.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtd2FpdGluZy1tZXNzYWdlL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBeUJUO0FBekJELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQXlCcEI7SUF6QlUsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7Z0JBQ0MsYUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDZixVQUFLLEdBQUc7b0JBQ1AsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsV0FBVyxFQUFFLEdBQUc7aUJBQ2hCLENBQUM7Z0JBQ0YsZ0JBQVcsR0FBRyxpREFBaUQsQ0FBQztZQWFqRSxDQUFDO1lBWE8sd0JBQU8sR0FBZDtnQkFDQyxJQUFJLFNBQVMsR0FBRztvQkFDZixPQUFPLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sU0FBUyxDQUFDO1lBQ2xCLENBQUM7WUFFRCwrQkFBSSxHQUFKLFVBQUssS0FBNkI7Z0JBQ2pDLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzFGLENBQUM7WUFDRix1QkFBQztRQUFELENBbkJBLEFBbUJDLElBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNiLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUMsRUF6QlUsVUFBVSxHQUFWLGNBQVUsS0FBVixjQUFVLFFBeUJwQjtBQUFELENBQUMsRUF6Qk0sR0FBRyxLQUFILEdBQUcsUUF5QlQiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC13YWl0aW5nLW1lc3NhZ2UvZGlyZWN0aXZlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkRpcmVjdGl2ZXMge1xuXHRjbGFzcyBBcFdhaXRpbmdNZXNzYWdlIGltcGxlbWVudHMgbmcuSURpcmVjdGl2ZSB7XG5cdFx0cmVzdHJpY3QgPSAnRSc7XG5cdFx0c2NvcGUgPSB7XG5cdFx0XHRpc0xvYWRpbmc6ICc9Jyxcblx0XHRcdGRpc3BsYXlUZXh0OiAnQCdcblx0XHR9O1xuXHRcdHRlbXBsYXRlVXJsID0gJ2FwcC9kaXJlY3RpdmVzL2FwLXdhaXRpbmctbWVzc2FnZS90ZW1wbGF0ZS5odG1sJztcblxuXHRcdHN0YXRpYyBmYWN0b3J5KCk6IG5nLklEaXJlY3RpdmVGYWN0b3J5IHtcblx0XHRcdHZhciBkaXJlY3RpdmUgPSAoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBuZXcgQXBXYWl0aW5nTWVzc2FnZSgpO1xuXHRcdFx0fTtcblx0XHRcdGRpcmVjdGl2ZVsnJGluamVjdCddID0gW107XG5cdFx0XHRyZXR1cm4gZGlyZWN0aXZlO1xuXHRcdH1cblxuXHRcdGxpbmsoc2NvcGU6IElBcFdhaXRpbmdNZXNzYWdlU2NvcGUpOiB2b2lkIHtcblx0XHRcdHNjb3BlLmRpc3BsYXlUZXh0ID0gc2NvcGUuZGlzcGxheVRleHQgfHwgYXAuQ29uc3RhbnRzLnRyYW5zbGF0aW9uS2V5cy5kaXJlY3RpdmVzLmxvYWRpbmc7XG5cdFx0fVxuXHR9XG5cblx0YW5ndWxhclxuXHRcdC5tb2R1bGUoJ2FwcCcpXG5cdFx0LmRpcmVjdGl2ZSgnYXBXYWl0aW5nTWVzc2FnZScsIEFwV2FpdGluZ01lc3NhZ2UuZmFjdG9yeSgpKTtcbn0iXX0=\n\n/// \n'use strict';\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtd2FpdGluZy1tZXNzYWdlL0lTY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDIiwiZmlsZSI6ImRpcmVjdGl2ZXMvYXAtd2FpdGluZy1tZXNzYWdlL0lTY29wZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxuaW50ZXJmYWNlIElBcFdhaXRpbmdNZXNzYWdlU2NvcGUge1xuXHRkaXNwbGF5VGV4dDogc3RyaW5nO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageNavbarController = /** @class */ (function () {\n function ApPageNavbarController() {\n this.showCloseWindow = false;\n this.keys = ap.Constants.translationKeys.shell;\n this.onDefaultPage = false;\n this.onHomePage = true;\n }\n ApPageNavbarController.prototype.closeWindow = function () {\n // Do nothing\n };\n ApPageNavbarController.prototype.defaultAction = function () {\n // Do nothing\n };\n return ApPageNavbarController;\n }());\n Directives.ApPageNavbarController = ApPageNavbarController;\n angular\n .module('app.Directives')\n .controller('ApPageNavbarController', ApPageNavbarController);\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1uYXZiYXIvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBbUJUO0FBbkJELFdBQU8sR0FBRztJQUFDLElBQUEsVUFBVSxDQW1CcEI7SUFuQlUsV0FBQSxVQUFVO1FBQ3BCO1lBQUE7Z0JBQ0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLFNBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDO1lBU25CLENBQUM7WUFQQSw0Q0FBVyxHQUFYO2dCQUNDLGFBQWE7WUFDZCxDQUFDO1lBRUQsOENBQWEsR0FBYjtnQkFDQyxhQUFhO1lBQ2QsQ0FBQztZQUNGLDZCQUFDO1FBQUQsQ0FiQSxBQWFDLElBQUE7UUFiWSxpQ0FBc0IseUJBYWxDLENBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hCLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsRUFuQlUsVUFBVSxHQUFWLGNBQVUsS0FBVixjQUFVLFFBbUJwQjtBQUFELENBQUMsRUFuQk0sR0FBRyxLQUFILEdBQUcsUUFtQlQiLCJmaWxlIjoiZGlyZWN0aXZlcy9hcC1wYWdlLW5hdmJhci9jb250cm9sbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkRpcmVjdGl2ZXMge1xuXHRleHBvcnQgY2xhc3MgQXBQYWdlTmF2YmFyQ29udHJvbGxlciB7XG5cdFx0c2hvd0Nsb3NlV2luZG93ID0gZmFsc2U7XG5cdFx0a2V5cyA9IGFwLkNvbnN0YW50cy50cmFuc2xhdGlvbktleXMuc2hlbGw7XG5cdFx0b25EZWZhdWx0UGFnZSA9IGZhbHNlO1xuXHRcdG9uSG9tZVBhZ2UgPSB0cnVlO1xuXG5cdFx0Y2xvc2VXaW5kb3coKTogdm9pZCB7XG5cdFx0XHQvLyBEbyBub3RoaW5nXG5cdFx0fVxuXG5cdFx0ZGVmYXVsdEFjdGlvbigpOiB2b2lkIHtcblx0XHRcdC8vIERvIG5vdGhpbmdcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyXG5cdFx0Lm1vZHVsZSgnYXBwLkRpcmVjdGl2ZXMnKVxuXHRcdC5jb250cm9sbGVyKCdBcFBhZ2VOYXZiYXJDb250cm9sbGVyJywgQXBQYWdlTmF2YmFyQ29udHJvbGxlcik7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Directives;\n (function (Directives) {\n var ApPageNavbar = /** @class */ (function () {\n function ApPageNavbar() {\n this.replace = false;\n this.restrict = 'A';\n this.scope = {};\n this.templateUrl = 'app/directives/ap-page-navbar/template.html';\n this.controller = Directives.ApPageNavbarController;\n this.controllerAs = 'ctrl';\n }\n ApPageNavbar.factory = function () {\n var directive = function () {\n return new ApPageNavbar();\n };\n directive['$inject'] = [];\n return directive;\n };\n return ApPageNavbar;\n }());\n angular\n .module('app.Directives')\n .directive('apPageNavbar', ApPageNavbar.factory());\n })(Directives = app.Directives || (app.Directives = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYXAtcGFnZS1uYXZiYXIvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0FxQlQ7QUFyQkQsV0FBTyxHQUFHO0lBQUMsSUFBQSxVQUFVLENBcUJwQjtJQXJCVSxXQUFBLFVBQVU7UUFDcEI7WUFBQTtnQkFDQyxZQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNoQixhQUFRLEdBQUcsR0FBRyxDQUFDO2dCQUNmLFVBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ1gsZ0JBQVcsR0FBRyw2Q0FBNkMsQ0FBQztnQkFDNUQsZUFBVSxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDL0MsaUJBQVksR0FBRyxNQUFNLENBQUM7WUFTdkIsQ0FBQztZQVBPLG9CQUFPLEdBQWQ7Z0JBQ0MsSUFBSSxTQUFTLEdBQUc7b0JBQ2YsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxTQUFTLENBQUM7WUFDbEIsQ0FBQztZQUNGLG1CQUFDO1FBQUQsQ0FmQSxBQWVDLElBQUE7UUFFRCxPQUFPO2FBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQyxFQXJCVSxVQUFVLEdBQVYsY0FBVSxLQUFWLGNBQVUsUUFxQnBCO0FBQUQsQ0FBQyxFQXJCTSxHQUFHLEtBQUgsR0FBRyxRQXFCVCIsImZpbGUiOiJkaXJlY3RpdmVzL2FwLXBhZ2UtbmF2YmFyL2RpcmVjdGl2ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5EaXJlY3RpdmVzIHtcblx0Y2xhc3MgQXBQYWdlTmF2YmFyIGltcGxlbWVudHMgbmcuSURpcmVjdGl2ZSB7XG5cdFx0cmVwbGFjZSA9IGZhbHNlO1xuXHRcdHJlc3RyaWN0ID0gJ0EnO1xuXHRcdHNjb3BlID0ge307XG5cdFx0dGVtcGxhdGVVcmwgPSAnYXBwL2RpcmVjdGl2ZXMvYXAtcGFnZS1uYXZiYXIvdGVtcGxhdGUuaHRtbCc7XG5cdFx0Y29udHJvbGxlciA9IERpcmVjdGl2ZXMuQXBQYWdlTmF2YmFyQ29udHJvbGxlcjtcblx0XHRjb250cm9sbGVyQXMgPSAnY3RybCc7XG5cblx0XHRzdGF0aWMgZmFjdG9yeSgpOiBuZy5JRGlyZWN0aXZlRmFjdG9yeSB7XG5cdFx0XHR2YXIgZGlyZWN0aXZlID0gKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gbmV3IEFwUGFnZU5hdmJhcigpO1xuXHRcdFx0fTtcblx0XHRcdGRpcmVjdGl2ZVsnJGluamVjdCddID0gW107XG5cdFx0XHRyZXR1cm4gZGlyZWN0aXZlO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXJcblx0XHQubW9kdWxlKCdhcHAuRGlyZWN0aXZlcycpXG5cdFx0LmRpcmVjdGl2ZSgnYXBQYWdlTmF2YmFyJywgQXBQYWdlTmF2YmFyLmZhY3RvcnkoKSk7XG59XG4iXX0=\n\n/// \n'use strict';\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var ApplicationApiService = /** @class */ (function (_super) {\n __extends(ApplicationApiService, _super);\n function ApplicationApiService($q, httpService, appSettings) {\n var _this = _super.call(this, httpService) || this;\n _this.$q = $q;\n _this.httpService = httpService;\n _this.appSettings = appSettings;\n _this.baseUrl = _this.appSettings.urls.matrixApi + \"/application\";\n return _this;\n }\n ApplicationApiService.prototype.getProducts = function () {\n return this.get(this.baseUrl + \"/products\");\n };\n ApplicationApiService.prototype.getHierarchyPermissions = function (userCacheKey) {\n return this.get(this.baseUrl + \"/hierarchyPermissions/\" + userCacheKey);\n };\n ApplicationApiService.prototype.getHierarchiesForOrg = function (orgCacheKey) {\n return this.get(this.baseUrl + \"/orgHierarchies/\" + orgCacheKey);\n };\n ApplicationApiService.prototype.getIsDsd = function () {\n return this.get(this.appSettings.urls.matrixApi + \"/organization/dsd\");\n };\n ApplicationApiService.$inject = [\n '$q',\n 'httpService',\n 'appSettings'\n ];\n return ApplicationApiService;\n }(Services.BaseHttpService));\n Services.ApplicationApiService = ApplicationApiService;\n angular.module('app.Services')\n .service('applicationApiService', ApplicationApiService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL2FwaS1zZXJ2aWNlcy9hcHBsaWNhdGlvbi5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDOzs7Ozs7Ozs7OztBQUViLElBQU8sR0FBRyxDQXNDVDtBQXRDRCxXQUFPLEdBQUc7SUFBQyxJQUFBLFFBQVEsQ0FzQ2xCO0lBdENVLFdBQUEsUUFBUTtRQUNsQjtZQUEyQyx5Q0FBd0I7WUFTbEUsK0JBQ1MsRUFBZ0IsRUFDZCxXQUFpQyxFQUNuQyxXQUF5QjtnQkFIbEMsWUFNQyxrQkFBTSxXQUFXLENBQUMsU0FDbEI7Z0JBTlEsUUFBRSxHQUFGLEVBQUUsQ0FBYztnQkFDZCxpQkFBVyxHQUFYLFdBQVcsQ0FBc0I7Z0JBQ25DLGlCQUFXLEdBQVgsV0FBVyxDQUFjO2dCQVgxQixhQUFPLEdBQWMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxpQkFBYyxDQUFDOztZQWUzRSxDQUFDO1lBRUQsMkNBQVcsR0FBWDtnQkFDQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQTJDLElBQUksQ0FBQyxPQUFPLGNBQVcsQ0FBQyxDQUFDO1lBQ3BGLENBQUM7WUFFRCx1REFBdUIsR0FBdkIsVUFBd0IsWUFBa0I7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBc0MsSUFBSSxDQUFDLE9BQU8sOEJBQXlCLFlBQWMsQ0FBQyxDQUFDO1lBQzNHLENBQUM7WUFFRCxvREFBb0IsR0FBcEIsVUFBcUIsV0FBaUI7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBdUMsSUFBSSxDQUFDLE9BQU8sd0JBQW1CLFdBQWEsQ0FBQyxDQUFDO1lBQ3JHLENBQUM7WUFFRCx3Q0FBUSxHQUFSO2dCQUNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBbUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxzQkFBbUIsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7WUE3Qk0sNkJBQU8sR0FBRztnQkFDaEIsSUFBSTtnQkFDSixhQUFhO2dCQUNiLGFBQWE7YUFDYixDQUFDO1lBMEJILDRCQUFDO1NBakNELEFBaUNDLENBakMwQyxRQUFRLENBQUMsZUFBZSxHQWlDbEU7UUFqQ1ksOEJBQXFCLHdCQWlDakMsQ0FBQTtRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELENBQUMsRUF0Q1UsUUFBUSxHQUFSLFlBQVEsS0FBUixZQUFRLFFBc0NsQjtBQUFELENBQUMsRUF0Q00sR0FBRyxLQUFILEdBQUcsUUFzQ1QiLCJmaWxlIjoic2VydmljZXMvYXBpLXNlcnZpY2VzL2FwcGxpY2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLlNlcnZpY2VzIHtcblx0ZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQXBpU2VydmljZSBleHRlbmRzIFNlcnZpY2VzLkJhc2VIdHRwU2VydmljZSB7XG5cdFx0cHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcgPSBgJHt0aGlzLmFwcFNldHRpbmdzLnVybHMubWF0cml4QXBpfS9hcHBsaWNhdGlvbmA7XG5cdFx0XG5cdFx0c3RhdGljICRpbmplY3QgPSBbXG5cdFx0XHQnJHEnLFxuXHRcdFx0J2h0dHBTZXJ2aWNlJyxcblx0XHRcdCdhcHBTZXR0aW5ncydcblx0XHRdO1xuXG5cdFx0Y29uc3RydWN0b3IoXG5cdFx0XHRwcml2YXRlICRxOiBuZy5JUVNlcnZpY2UsXG5cdFx0XHRwcm90ZWN0ZWQgaHR0cFNlcnZpY2U6IFNlcnZpY2VzLkh0dHBTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBhcHBTZXR0aW5nczogSUFwcFNldHRpbmdzXG5cdFx0KSB7XG5cblx0XHRcdHN1cGVyKGh0dHBTZXJ2aWNlKTtcblx0XHR9XG5cblx0XHRnZXRQcm9kdWN0cygpOiBuZy5JUHJvbWlzZTxJT3JnYW5pemF0aW9uQXBwbGljYXRpb25Sb2xlc1tdPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXQ8SU9yZ2FuaXphdGlvbkFwcGxpY2F0aW9uUm9sZXNbXSwgdm9pZD4oYCR7dGhpcy5iYXNlVXJsfS9wcm9kdWN0c2ApO1xuXHRcdH1cblxuXHRcdGdldEhpZXJhcmNoeVBlcm1pc3Npb25zKHVzZXJDYWNoZUtleTogR3VpZCk6IG5nLklQcm9taXNlPElIaWVyYXJjaHlQZXJtaXNzaW9uc0R0b1tdPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXQ8SUhpZXJhcmNoeVBlcm1pc3Npb25zRHRvW10sIHZvaWQ+KGAke3RoaXMuYmFzZVVybH0vaGllcmFyY2h5UGVybWlzc2lvbnMvJHt1c2VyQ2FjaGVLZXl9YCk7XG5cdFx0fVxuXG5cdFx0Z2V0SGllcmFyY2hpZXNGb3JPcmcob3JnQ2FjaGVLZXk6IEd1aWQpOiBuZy5JUHJvbWlzZTxJT3JnYW5pemF0aW9uSGllcmFyY2h5RHRvW10+IHtcblx0XHRcdHJldHVybiB0aGlzLmdldDxJT3JnYW5pemF0aW9uSGllcmFyY2h5RHRvW10sIHZvaWQ+KGAke3RoaXMuYmFzZVVybH0vb3JnSGllcmFyY2hpZXMvJHtvcmdDYWNoZUtleX1gKTtcblx0XHR9XG5cblx0XHRnZXRJc0RzZCgpOiBuZy5JUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXQ8Ym9vbGVhbiwgdm9pZD4oYCR7dGhpcy5hcHBTZXR0aW5ncy51cmxzLm1hdHJpeEFwaX0vb3JnYW5pemF0aW9uL2RzZGApO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdhcHBsaWNhdGlvbkFwaVNlcnZpY2UnLCBBcHBsaWNhdGlvbkFwaVNlcnZpY2UpO1xufVxuIl19\n\n/// \n'use strict';\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var SsoApiService = /** @class */ (function (_super) {\n __extends(SsoApiService, _super);\n function SsoApiService($q, httpService, appSettings) {\n var _this = _super.call(this, httpService) || this;\n _this.$q = $q;\n _this.httpService = httpService;\n _this.appSettings = appSettings;\n _this.baseUrl = _this.appSettings.urls.ssoApi + \"/auth\";\n _this.bufferInMinutes = 5;\n _this.oneMinuteInMilliseconds = 60 * 1000;\n _this.refreshingToken = false;\n return _this;\n }\n SsoApiService.prototype.getActiveApplicationRoles = function () {\n return this.get(this.baseUrl + \"/application/roles\");\n };\n SsoApiService.prototype.getUsersOrganizationsList = function () {\n return this.get(this.baseUrl + \"/organization-units\");\n };\n SsoApiService.prototype.getUserApplicationRoles = function (userCacheKey, organizationUnitCacheKey) {\n return this.get(this.baseUrl + \"/application/GetUserApplicationRoles/\" + userCacheKey + \"/\" + organizationUnitCacheKey);\n };\n SsoApiService.prototype.renewAccessToken = function (authData) {\n var _this = this;\n if (this.refreshingToken && !ap.Utilities.isNullOrUndefined(this.authPromise)) {\n return this.authPromise;\n }\n this.refreshingToken = true;\n var data = {\n Token: authData.refreshToken,\n ApplicationCacheKey: this.appSettings.applicationCacheKey,\n IncludePermissions: true\n };\n return this.authPromise = this.renew(this.baseUrl + \"/refresh\", data)\n .then(function (newAuthData) {\n if (ap.Utilities.isNullOrUndefined(newAuthData)) {\n _this.refreshingToken = false;\n return false;\n }\n authData.updateAuthData(newAuthData);\n _this.refreshingToken = false;\n return true;\n });\n };\n SsoApiService.$inject = [\n '$q',\n 'httpService',\n 'appSettings'\n ];\n return SsoApiService;\n }(Services.BaseHttpService));\n Services.SsoApiService = SsoApiService;\n angular.module('app.Services')\n .service('ssoApiService', SsoApiService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL2FwaS1zZXJ2aWNlcy9zc28uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7QUFFYixJQUFPLEdBQUcsQ0ErRFQ7QUEvREQsV0FBTyxHQUFHO0lBQUMsSUFBQSxRQUFRLENBK0RsQjtJQS9EVSxXQUFBLFFBQVE7UUFDbEI7WUFBbUMsaUNBQWU7WUFhakQsdUJBQ1MsRUFBZ0IsRUFDZCxXQUFpQyxFQUNuQyxXQUF5QjtnQkFIbEMsWUFNQyxrQkFBTSxXQUFXLENBQUMsU0FDbEI7Z0JBTlEsUUFBRSxHQUFGLEVBQUUsQ0FBYztnQkFDZCxpQkFBVyxHQUFYLFdBQVcsQ0FBc0I7Z0JBQ25DLGlCQUFXLEdBQVgsV0FBVyxDQUFjO2dCQWQxQixhQUFPLEdBQWMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxVQUFPLENBQUM7Z0JBQ3pELHFCQUFlLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQiw2QkFBdUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNwQyxxQkFBZSxHQUFHLEtBQUssQ0FBQzs7WUFlaEMsQ0FBQztZQUVELGlEQUF5QixHQUF6QjtnQkFDQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQThCLElBQUksQ0FBQyxPQUFPLHVCQUFvQixDQUFDLENBQUM7WUFDaEYsQ0FBQztZQUVELGlEQUF5QixHQUF6QjtnQkFDQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQWlDLElBQUksQ0FBQyxPQUFPLHdCQUFxQixDQUFDLENBQUM7WUFDcEYsQ0FBQztZQUVELCtDQUF1QixHQUF2QixVQUF3QixZQUFpQixFQUFFLHdCQUE2QjtnQkFDdkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUE4QixJQUFJLENBQUMsT0FBTyw2Q0FBd0MsWUFBWSxTQUFJLHdCQUEwQixDQUFDLENBQUM7WUFDOUksQ0FBQztZQUVELHdDQUFnQixHQUFoQixVQUFpQixRQUFrQjtnQkFBbkMsaUJBdUJDO2dCQXRCQSxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDOUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO2lCQUN4QjtnQkFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxJQUFJLEdBQTBCO29CQUNqQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFlBQVk7b0JBQzVCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CO29CQUN6RCxrQkFBa0IsRUFBRSxJQUFJO2lCQUN4QixDQUFDO2dCQUVGLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFJLElBQUksQ0FBQyxPQUFPLGFBQVUsRUFBRSxJQUFJLENBQUM7cUJBQ25FLElBQUksQ0FBQyxVQUFDLFdBQXNCO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQ2hELEtBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO3dCQUM3QixPQUFPLEtBQUssQ0FBQztxQkFDYjtvQkFFRCxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNyQyxLQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztvQkFDN0IsT0FBTyxJQUFJLENBQUM7Z0JBQ2IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBbERNLHFCQUFPLEdBQUc7Z0JBQ2hCLElBQUk7Z0JBQ0osYUFBYTtnQkFDYixhQUFhO2FBQ2IsQ0FBQztZQStDSCxvQkFBQztTQTFERCxBQTBEQyxDQTFEa0MsU0FBQSxlQUFlLEdBMERqRDtRQTFEWSxzQkFBYSxnQkEwRHpCLENBQUE7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQzthQUM1QixPQUFPLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNDLENBQUMsRUEvRFUsUUFBUSxHQUFSLFlBQVEsS0FBUixZQUFRLFFBK0RsQjtBQUFELENBQUMsRUEvRE0sR0FBRyxLQUFILEdBQUcsUUErRFQiLCJmaWxlIjoic2VydmljZXMvYXBpLXNlcnZpY2VzL3Nzby5hcGkuc2VydmljZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5TZXJ2aWNlcyB7XG5cdGV4cG9ydCBjbGFzcyBTc29BcGlTZXJ2aWNlIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlIHtcblx0XHRwcml2YXRlIGF1dGhQcm9taXNlOiBuZy5JUHJvbWlzZTxib29sZWFuPjtcblx0XHRwcml2YXRlIGJhc2VVcmw6IHN0cmluZyA9IGAke3RoaXMuYXBwU2V0dGluZ3MudXJscy5zc29BcGl9L2F1dGhgO1xuXHRcdHByaXZhdGUgYnVmZmVySW5NaW51dGVzID0gNTtcblx0XHRwcml2YXRlIG9uZU1pbnV0ZUluTWlsbGlzZWNvbmRzID0gNjAgKiAxMDAwO1xuXHRcdHByaXZhdGUgcmVmcmVzaGluZ1Rva2VuID0gZmFsc2U7XG5cblx0XHRzdGF0aWMgJGluamVjdCA9IFtcblx0XHRcdCckcScsXG5cdFx0XHQnaHR0cFNlcnZpY2UnLFxuXHRcdFx0J2FwcFNldHRpbmdzJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByaXZhdGUgJHE6IG5nLklRU2VydmljZSxcblx0XHRcdHByb3RlY3RlZCBodHRwU2VydmljZTogU2VydmljZXMuSHR0cFNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGFwcFNldHRpbmdzOiBJQXBwU2V0dGluZ3Ncblx0XHQpIHtcblxuXHRcdFx0c3VwZXIoaHR0cFNlcnZpY2UpO1xuXHRcdH1cblxuXHRcdGdldEFjdGl2ZUFwcGxpY2F0aW9uUm9sZXMoKTogbmcuSVByb21pc2U8SUFwcGxpY2F0aW9uUm9sZVtdPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXQ8SUFwcGxpY2F0aW9uUm9sZVtdLCB2b2lkPihgJHt0aGlzLmJhc2VVcmx9L2FwcGxpY2F0aW9uL3JvbGVzYCk7XG5cdFx0fVxuXG5cdFx0Z2V0VXNlcnNPcmdhbml6YXRpb25zTGlzdCgpOiBuZy5JUHJvbWlzZTxJU2ltcGxlT3JnYW5pemF0aW9uW10+IHtcblx0XHRcdHJldHVybiB0aGlzLmdldDxJU2ltcGxlT3JnYW5pemF0aW9uW10sIHZvaWQ+KGAke3RoaXMuYmFzZVVybH0vb3JnYW5pemF0aW9uLXVuaXRzYCk7XG5cdFx0fVxuXG5cdFx0Z2V0VXNlckFwcGxpY2F0aW9uUm9sZXModXNlckNhY2hlS2V5Okd1aWQsIG9yZ2FuaXphdGlvblVuaXRDYWNoZUtleTpHdWlkKTogbmcuSVByb21pc2U8SUFwcGxpY2F0aW9uUm9sZVtdPiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXQ8SUFwcGxpY2F0aW9uUm9sZVtdLCB2b2lkPihgJHt0aGlzLmJhc2VVcmx9L2FwcGxpY2F0aW9uL0dldFVzZXJBcHBsaWNhdGlvblJvbGVzLyR7dXNlckNhY2hlS2V5fS8ke29yZ2FuaXphdGlvblVuaXRDYWNoZUtleX1gKTtcblx0XHR9XG5cblx0XHRyZW5ld0FjY2Vzc1Rva2VuKGF1dGhEYXRhOiBBdXRoRGF0YSk6IG5nLklQcm9taXNlPGJvb2xlYW4+IHtcblx0XHRcdGlmICh0aGlzLnJlZnJlc2hpbmdUb2tlbiAmJiAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuYXV0aFByb21pc2UpKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmF1dGhQcm9taXNlO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnJlZnJlc2hpbmdUb2tlbiA9IHRydWU7XG5cdFx0XHR2YXIgZGF0YTogSVJlbmV3QWNjZXNzVG9rZW5EYXRhID0ge1xuXHRcdFx0XHRUb2tlbjogYXV0aERhdGEucmVmcmVzaFRva2VuLFxuXHRcdFx0XHRBcHBsaWNhdGlvbkNhY2hlS2V5OiB0aGlzLmFwcFNldHRpbmdzLmFwcGxpY2F0aW9uQ2FjaGVLZXksXG5cdFx0XHRcdEluY2x1ZGVQZXJtaXNzaW9uczogdHJ1ZVxuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIHRoaXMuYXV0aFByb21pc2UgPSB0aGlzLnJlbmV3KGAke3RoaXMuYmFzZVVybH0vcmVmcmVzaGAsIGRhdGEpXG5cdFx0XHRcdC50aGVuKChuZXdBdXRoRGF0YTogSUF1dGhEYXRhKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChuZXdBdXRoRGF0YSkpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVmcmVzaGluZ1Rva2VuID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YXV0aERhdGEudXBkYXRlQXV0aERhdGEobmV3QXV0aERhdGEpO1xuXHRcdFx0XHRcdHRoaXMucmVmcmVzaGluZ1Rva2VuID0gZmFsc2U7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdzc29BcGlTZXJ2aWNlJywgU3NvQXBpU2VydmljZSk7XG59XG4iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var ApplicationService = /** @class */ (function () {\n function ApplicationService($q, $rootScope, applicationApiService) {\n var _this = this;\n this.$q = $q;\n this.$rootScope = $rootScope;\n this.applicationApiService = applicationApiService;\n this._applications = {};\n this._loaded = false;\n this.$rootScope.$on(ap.Constants.eventNames.angular.routeChangeStarted, function () { return _this.clear(); });\n }\n Object.defineProperty(ApplicationService.prototype, \"applications\", {\n get: function () { return this._applications; },\n enumerable: true,\n configurable: true\n });\n ApplicationService.prototype.clear = function () {\n this._loaded = false;\n ap.Utilities.extend(true, this._applications, {});\n };\n ApplicationService.prototype.loadApplications = function () {\n var _this = this;\n if (this._loaded) {\n return this.$q.when(this._loaded);\n }\n return this.applicationApiService.getProducts().then(function (applications) {\n applications.map(function (x) { return _this._applications[x.organizationUnitCacheKey] = x.applicationRoles; });\n return _this._loaded = true;\n }, function () { return false; });\n };\n ApplicationService.$inject = [\n '$q',\n '$rootScope',\n 'applicationApiService'\n ];\n return ApplicationService;\n }());\n Services.ApplicationService = ApplicationService;\n angular.module('app.Services')\n .service('applicationService', ApplicationService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQXlDVDtBQXpDRCxXQUFPLEdBQUc7SUFBQyxJQUFBLFFBQVEsQ0F5Q2xCO0lBekNVLFdBQUEsUUFBUTtRQUNsQjtZQVVDLDRCQUNTLEVBQWdCLEVBQ2hCLFVBQWdDLEVBQ2hDLHFCQUFxRDtnQkFIOUQsaUJBT0M7Z0JBTlEsT0FBRSxHQUFGLEVBQUUsQ0FBYztnQkFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7Z0JBQ2hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBZ0M7Z0JBWnRELGtCQUFhLEdBQXlDLEVBQUUsQ0FBQztnQkFDekQsWUFBTyxHQUFZLEtBQUssQ0FBQztnQkFjaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGNBQU0sT0FBQSxLQUFJLENBQUMsS0FBSyxFQUFFLEVBQVosQ0FBWSxDQUFDLENBQUM7WUFDN0YsQ0FBQztZQUVELHNCQUFXLDRDQUFZO3FCQUF2QixjQUFrRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDOzs7ZUFBQTtZQUV2RixrQ0FBSyxHQUFaO2dCQUNDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBRU0sNkNBQWdCLEdBQXZCO2dCQUFBLGlCQVNDO2dCQVJBLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDakIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xDO2dCQUVELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLFlBQTZDO29CQUNsRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsS0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQW5FLENBQW1FLENBQUMsQ0FBQztvQkFDM0YsT0FBTyxLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDNUIsQ0FBQyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQztZQS9CTSwwQkFBTyxHQUFHO2dCQUNoQixJQUFJO2dCQUNKLFlBQVk7Z0JBQ1osdUJBQXVCO2FBQ3ZCLENBQUM7WUE0QkgseUJBQUM7U0FwQ0QsQUFvQ0MsSUFBQTtRQXBDWSwyQkFBa0IscUJBb0M5QixDQUFBO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7YUFDNUIsT0FBTyxDQUFDLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDckQsQ0FBQyxFQXpDVSxRQUFRLEdBQVIsWUFBUSxLQUFSLFlBQVEsUUF5Q2xCO0FBQUQsQ0FBQyxFQXpDTSxHQUFHLEtBQUgsR0FBRyxRQXlDVCIsImZpbGUiOiJzZXJ2aWNlcy9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLlNlcnZpY2VzIHtcblx0ZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uU2VydmljZSB7XG5cdFx0cHJpdmF0ZSBfYXBwbGljYXRpb25zOiBJSG9pc3RlZENvbGxlY3Rpb248SUFwcGxpY2F0aW9uUm9sZT4gPSB7fTtcblx0XHRwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRxJyxcblx0XHRcdCckcm9vdFNjb3BlJyxcblx0XHRcdCdhcHBsaWNhdGlvbkFwaVNlcnZpY2UnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkcTogbmcuSVFTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkcm9vdFNjb3BlOiBuZy5JUm9vdFNjb3BlU2VydmljZSxcblx0XHRcdHByaXZhdGUgYXBwbGljYXRpb25BcGlTZXJ2aWNlOiBTZXJ2aWNlcy5BcHBsaWNhdGlvbkFwaVNlcnZpY2Vcblx0XHQpIHtcblxuXHRcdFx0dGhpcy4kcm9vdFNjb3BlLiRvbihhcC5Db25zdGFudHMuZXZlbnROYW1lcy5hbmd1bGFyLnJvdXRlQ2hhbmdlU3RhcnRlZCwgKCkgPT4gdGhpcy5jbGVhcigpKTtcblx0XHR9XG5cblx0XHRwdWJsaWMgZ2V0IGFwcGxpY2F0aW9ucygpOiBJSG9pc3RlZENvbGxlY3Rpb248SUFwcGxpY2F0aW9uUm9sZT4geyByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25zOyB9XG5cblx0XHRwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG5cdFx0XHR0aGlzLl9sb2FkZWQgPSBmYWxzZTtcblx0XHRcdGFwLlV0aWxpdGllcy5leHRlbmQodHJ1ZSwgdGhpcy5fYXBwbGljYXRpb25zLCB7fSk7XG5cdFx0fVxuXG5cdFx0cHVibGljIGxvYWRBcHBsaWNhdGlvbnMoKTogbmcuSVByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdFx0aWYgKHRoaXMuX2xvYWRlZCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy4kcS53aGVuKHRoaXMuX2xvYWRlZCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLmFwcGxpY2F0aW9uQXBpU2VydmljZS5nZXRQcm9kdWN0cygpLnRoZW4oKGFwcGxpY2F0aW9uczogSU9yZ2FuaXphdGlvbkFwcGxpY2F0aW9uUm9sZXNbXSkgPT4ge1xuXHRcdFx0XHRhcHBsaWNhdGlvbnMubWFwKHggPT4gdGhpcy5fYXBwbGljYXRpb25zW3gub3JnYW5pemF0aW9uVW5pdENhY2hlS2V5XSA9IHguYXBwbGljYXRpb25Sb2xlcyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuXHRcdFx0fSwgKCkgPT4gZmFsc2UpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdhcHBsaWNhdGlvblNlcnZpY2UnLCBBcHBsaWNhdGlvblNlcnZpY2UpO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var ModalService = /** @class */ (function () {\n ModalService.$inject = ['$uibModal'];\n function ModalService($uibModal) {\n this.$uibModal = $uibModal;\n this.modal = $uibModal;\n }\n /**\n * Opens the modal instance with default value for options allowing the modal to set the controller, template, size (default large) and any resolve params\n * @param modalFolderName - The modal folder name wheree the template.html file resides\n * @param controller - The Controller name used for angular injection.\n * @param resolve - Any parameters that need to be resolved during injection.\n * @param size - The sizes supported by the modal service UI.\n * @returns {} - The results promise of the modal once the user performs their tasks.\n */\n ModalService.prototype.open = function (modalFolderName, controller, resolve, size) {\n var options = {\n backdrop: 'static',\n controller: controller,\n controllerAs: 'ctrl',\n keyboard: false,\n resolve: resolve || {},\n templateUrl: \"app/modals/\" + modalFolderName + \"/template.html\"\n };\n if (!size)\n size = ModalSize.Large;\n switch (size) {\n case ModalSize.Small:\n options.size = 'sm';\n break;\n case ModalSize.Medium:\n options.size = 'md';\n break;\n default:\n options.size = 'lg';\n break;\n }\n return this.modal.open(options).result;\n };\n ModalService.prototype.confirmModal = function (modalOptions) {\n var resolve = {\n modalOptions: function () { return modalOptions; }\n };\n return this.open('confirm', app.Modals.ConfirmModalController, resolve, modalOptions.modalSize || ModalSize.Small);\n };\n ModalService.inject = ['$uibModal'];\n return ModalService;\n }());\n Services.ModalService = ModalService;\n angular.module('app.Services')\n .service('modalService', ModalService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL2FwcGxpY2F0aW9uL21vZGFscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0E0RFQ7QUE1REQsV0FBTyxHQUFHO0lBQUMsSUFBQSxRQUFRLENBNERsQjtJQTVEVSxXQUFBLFFBQVE7UUFDbEI7WUFTQyxzQkFBb0IsU0FBd0M7Z0JBQXhDLGNBQVMsR0FBVCxTQUFTLENBQStCO2dCQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN4QixDQUFDO1lBRUQ7Ozs7Ozs7ZUFPRztZQUNLLDJCQUFJLEdBQVosVUFBYSxlQUF1QixFQUFFLFVBQTZCLEVBQUUsT0FBYSxFQUFFLElBQWdCO2dCQUNuRyxJQUFJLE9BQU8sR0FBbUI7b0JBQzdCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsVUFBVTtvQkFDdEIsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLFFBQVEsRUFBRSxLQUFLO29CQUNmLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtvQkFDdEIsV0FBVyxFQUFFLGdCQUFjLGVBQWUsbUJBQWdCO2lCQUMxRCxDQUFDO2dCQUVGLElBQUksQ0FBQyxJQUFJO29CQUNSLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUV4QixRQUFRLElBQUksRUFBRTtvQkFDYixLQUFLLFNBQVMsQ0FBQyxLQUFLO3dCQUNuQixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzt3QkFDcEIsTUFBTTtvQkFDUCxLQUFLLFNBQVMsQ0FBQyxNQUFNO3dCQUNwQixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzt3QkFDcEIsTUFBTTtvQkFDUDt3QkFDQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzt3QkFDcEIsTUFBTTtpQkFDUDtnQkFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN4QyxDQUFDO1lBRUQsbUNBQVksR0FBWixVQUFhLFlBQTJCO2dCQUN2QyxJQUFJLE9BQU8sR0FBRztvQkFDYixZQUFZLEVBQUUsY0FBTSxPQUFBLFlBQVksRUFBWixDQUFZO2lCQUNoQyxDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBQSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hILENBQUM7WUEvQ00sbUJBQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBZ0QvQixtQkFBQztTQXZERCxBQXVEQyxJQUFBO1FBdkRZLHFCQUFZLGVBdUR4QixDQUFBO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7YUFDNUIsT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDLEVBNURVLFFBQVEsR0FBUixZQUFRLEtBQVIsWUFBUSxRQTREbEI7QUFBRCxDQUFDLEVBNURNLEdBQUcsS0FBSCxHQUFHLFFBNERUIiwiZmlsZSI6InNlcnZpY2VzL2FwcGxpY2F0aW9uL21vZGFscy5zZXJ2aWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLlNlcnZpY2VzIHtcblx0ZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG5cdFx0LyoqXG5cdFx0ICogVGhpcyBpcyB0aGUgaW5qZWN0ZWQgJHVpYk1vZGFsIHNlcnZpY2UgZnJvbSBhbmd1bGFyIGFuZCB1c2VkIHdpdGhpbiBvdXIgc2VydmljZS5cblx0XHQgKiBOT1RFOiB0aGlzLm9wZW4oLi4uKSBzaG91bGQgYmUgY2FsbGVkIGluIGludGVyZmFjZSBtZXRob2RzIHJhdGhlciB0aGFuIHRoaXMubW9kYWwub3BlbiguLi4pXG5cdFx0ICovXG5cdFx0bW9kYWw6IG5nLnVpLmJvb3RzdHJhcC5JTW9kYWxTZXJ2aWNlO1xuXG5cdFx0c3RhdGljIGluamVjdCA9IFsnJHVpYk1vZGFsJ107XG5cblx0XHRjb25zdHJ1Y3Rvcihwcml2YXRlICR1aWJNb2RhbDogbmcudWkuYm9vdHN0cmFwLklNb2RhbFNlcnZpY2UpIHtcblx0XHRcdHRoaXMubW9kYWwgPSAkdWliTW9kYWw7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogT3BlbnMgdGhlIG1vZGFsIGluc3RhbmNlIHdpdGggZGVmYXVsdCB2YWx1ZSBmb3Igb3B0aW9ucyBhbGxvd2luZyB0aGUgbW9kYWwgdG8gc2V0IHRoZSBjb250cm9sbGVyLCB0ZW1wbGF0ZSwgc2l6ZSAoZGVmYXVsdCBsYXJnZSkgYW5kIGFueSByZXNvbHZlIHBhcmFtc1xuXHRcdCAqIEBwYXJhbSBtb2RhbEZvbGRlck5hbWUgLSBUaGUgbW9kYWwgZm9sZGVyIG5hbWUgd2hlcmVlIHRoZSB0ZW1wbGF0ZS5odG1sIGZpbGUgcmVzaWRlc1xuXHRcdCAqIEBwYXJhbSBjb250cm9sbGVyIC0gVGhlIENvbnRyb2xsZXIgbmFtZSB1c2VkIGZvciBhbmd1bGFyIGluamVjdGlvbi5cblx0XHQgKiBAcGFyYW0gcmVzb2x2ZSAtIEFueSBwYXJhbWV0ZXJzIHRoYXQgbmVlZCB0byBiZSByZXNvbHZlZCBkdXJpbmcgaW5qZWN0aW9uLlxuXHRcdCAqIEBwYXJhbSBzaXplIC0gVGhlIHNpemVzIHN1cHBvcnRlZCBieSB0aGUgbW9kYWwgc2VydmljZSBVSS5cblx0XHQgKiBAcmV0dXJucyB7fSAtIFRoZSByZXN1bHRzIHByb21pc2Ugb2YgdGhlIG1vZGFsIG9uY2UgdGhlIHVzZXIgcGVyZm9ybXMgdGhlaXIgdGFza3MuXG5cdFx0ICovXG5cdFx0cHJpdmF0ZSBvcGVuKG1vZGFsRm9sZGVyTmFtZTogc3RyaW5nLCBjb250cm9sbGVyOiBzdHJpbmcgfCBGdW5jdGlvbiwgcmVzb2x2ZT86IGFueSwgc2l6ZT86IE1vZGFsU2l6ZSk6IG5nLklQcm9taXNlPElNb2RhbFJlc3VsdD4ge1xuXHRcdFx0dmFyIG9wdGlvbnM6IElNb2RhbFNldHRpbmdzID0ge1xuXHRcdFx0XHRiYWNrZHJvcDogJ3N0YXRpYycsXG5cdFx0XHRcdGNvbnRyb2xsZXI6IGNvbnRyb2xsZXIsXG5cdFx0XHRcdGNvbnRyb2xsZXJBczogJ2N0cmwnLFxuXHRcdFx0XHRrZXlib2FyZDogZmFsc2UsXG5cdFx0XHRcdHJlc29sdmU6IHJlc29sdmUgfHwge30sXG5cdFx0XHRcdHRlbXBsYXRlVXJsOiBgYXBwL21vZGFscy8ke21vZGFsRm9sZGVyTmFtZX0vdGVtcGxhdGUuaHRtbGBcblx0XHRcdH07XG5cblx0XHRcdGlmICghc2l6ZSlcblx0XHRcdFx0c2l6ZSA9IE1vZGFsU2l6ZS5MYXJnZTtcblxuXHRcdFx0c3dpdGNoIChzaXplKSB7XG5cdFx0XHRcdGNhc2UgTW9kYWxTaXplLlNtYWxsOlxuXHRcdFx0XHRcdG9wdGlvbnMuc2l6ZSA9ICdzbSc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgTW9kYWxTaXplLk1lZGl1bTpcblx0XHRcdFx0XHRvcHRpb25zLnNpemUgPSAnbWQnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdG9wdGlvbnMuc2l6ZSA9ICdsZyc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLm1vZGFsLm9wZW4ob3B0aW9ucykucmVzdWx0O1xuXHRcdH1cblxuXHRcdGNvbmZpcm1Nb2RhbChtb2RhbE9wdGlvbnM6IElNb2RhbE9wdGlvbnMpOiBuZy5JUHJvbWlzZTxJTW9kYWxSZXN1bHQ+IHtcblx0XHRcdHZhciByZXNvbHZlID0ge1xuXHRcdFx0XHRtb2RhbE9wdGlvbnM6ICgpID0+IG1vZGFsT3B0aW9uc1xuXHRcdFx0fTtcblx0XHRcdHJldHVybiB0aGlzLm9wZW4oJ2NvbmZpcm0nLCBNb2RhbHMuQ29uZmlybU1vZGFsQ29udHJvbGxlciwgcmVzb2x2ZSwgbW9kYWxPcHRpb25zLm1vZGFsU2l6ZSB8fCBNb2RhbFNpemUuU21hbGwpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdtb2RhbFNlcnZpY2UnLCBNb2RhbFNlcnZpY2UpO1xufSJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var AuthenticationService = /** @class */ (function () {\n function AuthenticationService($cookies, $q, localStorageService, appSettings) {\n this.$cookies = $cookies;\n this.$q = $q;\n this.localStorageService = localStorageService;\n this.appSettings = appSettings;\n this._authData = new app.AuthData();\n this.authDataCookieName = 'authorizationData';\n this.keys = ap.Constants.localStorageKeys.permissions;\n this.timeOutBufferSeconds = 30;\n var cookieData = this.getAuthorizationDataFromCookie();\n if (ap.Utilities.isNullOrUndefined(cookieData)) {\n this.logout();\n return;\n }\n this._authData.updateAuthData(cookieData);\n var loaded = this._authData.isLoaded;\n var expired = this._authData.isExpired();\n if (!loaded || expired) {\n this.logout();\n }\n }\n Object.defineProperty(AuthenticationService.prototype, \"authorizationData\", {\n get: function () {\n return this._authData;\n },\n enumerable: true,\n configurable: true\n });\n AuthenticationService.prototype.getAuthorizationDataFromCookie = function () {\n var cookieData = this.$cookies.getObject(this.authDataCookieName);\n if (ap.Utilities.isNullOrUndefined(cookieData)) {\n return null;\n }\n cookieData.product_permissions = this.localStorageService.getItemWithoutPromise(this.keys.products);\n cookieData.application_permissions = this.localStorageService.getItemWithoutPromise(this.keys.applications);\n return cookieData;\n };\n AuthenticationService.prototype.isStale = function (bufferInMinutes) {\n return this._authData.isStale(bufferInMinutes);\n };\n AuthenticationService.prototype.isExpired = function (bufferInMinutes) {\n return this._authData.isExpired(bufferInMinutes);\n };\n AuthenticationService.prototype.isReportingOnly = function (organizations) {\n var _this = this;\n return this.$q(function (resolve) {\n var cookieData = _this.$cookies.getObject(_this.authDataCookieName), reportingOnly = true;\n if (!ap.Utilities.isNullOrEmptyCollection(cookieData.organization_units)) {\n angular.forEach(cookieData.organization_units, function (unit) {\n if (!ap.Utilities.isNullOrUndefined(unit.applicationRoles)) {\n angular.forEach(unit.applicationRoles, function (role) {\n role = role * 1;\n if (role > 9 && role !== AutoPointRole.ReportingUser) {\n reportingOnly = false;\n }\n });\n }\n });\n if (reportingOnly) {\n angular.forEach(organizations.list, function (parentOrg, index) {\n if (parentOrg.type !== OrganizationUnitType.GlobalOrganization) {\n organizations.list.splice(index, 1);\n }\n parentOrg.subOrganizationUnits = [];\n });\n }\n resolve(organizations);\n }\n });\n };\n AuthenticationService.prototype.logout = function () {\n this.localStorageService.deleteAllItems();\n this.$cookies.remove(this.authDataCookieName);\n this._authData.updateAuthData();\n window.location.href = this.appSettings.urls.sso + \"/#/logout/?redirect=\" + encodeURIComponent(window.location.href) + \"&clientId=\" + this.appSettings.applicationCacheKey;\n };\n AuthenticationService.prototype.setAuthorizationData = function (authData) {\n this._authData.updateAuthData(authData);\n this.localStorageService.setItem(this.keys.products, authData.product_permissions);\n this.localStorageService.setItem(this.keys.applications, authData.application_permissions);\n // delete the values for cookie storage\n delete authData.product_permissions;\n delete authData.application_permissions;\n if (!ap.Utilities.isNullOrEmptyCollection(authData.organization_units) && authData.organization_units.length > 1) {\n authData.organization_units = [authData.organization_units[0]];\n }\n this.$cookies.putObject(this.authDataCookieName, authData, { domain: this.appSettings.cookieDomain });\n };\n AuthenticationService.$inject = [\n '$cookies',\n '$q',\n 'localStorageService',\n 'appSettings'\n ];\n return AuthenticationService;\n }());\n Services.AuthenticationService = AuthenticationService;\n angular.module('app.Services')\n .service('authenticationService', AuthenticationService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NoYXJlZC9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUVsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0FvSFQ7QUFwSEQsV0FBTyxHQUFHO0lBQUMsSUFBQSxRQUFRLENBb0hsQjtJQXBIVSxXQUFBLFFBQVE7UUFDbEI7WUFhQywrQkFDUyxRQUF5QixFQUN6QixFQUFnQixFQUNoQixtQkFBaUQsRUFDakQsV0FBeUI7Z0JBSHpCLGFBQVEsR0FBUixRQUFRLENBQWlCO2dCQUN6QixPQUFFLEdBQUYsRUFBRSxDQUFjO2dCQUNoQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQThCO2dCQUNqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYztnQkFoQjFCLGNBQVMsR0FBYSxJQUFJLElBQUEsUUFBUSxFQUFFLENBQUM7Z0JBQ3JDLHVCQUFrQixHQUFHLG1CQUFtQixDQUFDO2dCQUN6QyxTQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7Z0JBQ2pELHlCQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFlakMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7Z0JBRXZELElBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNkLE9BQU87aUJBQ1A7Z0JBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNyQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTtvQkFDdkIsSUFBSSxD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QUUsQ0FBQyxDQUFDO1lBQ25KLENBQUM7WUF4R00sNkJBQU8sR0FBRztnQkFDaEIsVUFBVTtnQkFDVixJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsYUFBYTthQUNiLENBQUM7WUFvR0gsNEJBQUM7U0EvR0QsQUErR0MsSUFBQTtRQS9HWSw4QkFBcUIsd0JBK0dqQyxDQUFBO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7YUFDNUIsT0FBTyxDQUFDLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDM0QsQ0FBQyxFQXBIVSxRQUFRLEdBQVIsWUFBUSxLQUFSLFlBQVEsUUFvSGxCO0FBQUQsQ0FBQyxFQXBITSxHQUFHLEtBQUgsR0FBRyxRQW9IVCIsImZpbGUiOiJzZXJ2aWNlcy9zaGFyZWQvYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLlNlcnZpY2VzIHtcblx0ZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XG5cdFx0cHJpdmF0ZSBfYXV0aERhdGE6IEF1dGhEYXRhID0gbmV3IEF1dGhEYXRhKCk7XG5cdFx0cHJpdmF0ZSBhdXRoRGF0YUNvb2tpZU5hbWUgPSAnYXV0aG9yaXphdGlvbkRhdGEnO1xuXHRcdHByaXZhdGUga2V5cyA9IGFwLkNvbnN0YW50cy5sb2NhbFN0b3JhZ2VLZXlzLnBlcm1pc3Npb25zO1xuXHRcdHByaXZhdGUgdGltZU91dEJ1ZmZlclNlY29uZHMgPSAzMDtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRjb29raWVzJyxcblx0XHRcdCckcScsXG5cdFx0XHQnbG9jYWxTdG9yYWdlU2VydmljZScsXG5cdFx0XHQnYXBwU2V0dGluZ3MnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkY29va2llczogSUNvb2tpZXNTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkcTogbmcuSVFTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBTZXJ2aWNlcy5Mb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBhcHBTZXR0aW5nczogSUFwcFNldHRpbmdzXG5cdFx0KSB7XG5cdFx0XHR2YXIgY29va2llRGF0YSA9IHRoaXMuZ2V0QXV0aG9yaXphdGlvbkRhdGFGcm9tQ29va2llKCk7XG5cblx0XHRcdGlmKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChjb29raWVEYXRhKSkge1xuXHRcdFx0XHR0aGlzLmxvZ291dCgpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuX2F1dGhEYXRhLnVwZGF0ZUF1dGhEYXRhKGNvb2tpZURhdGEpO1xuXHRcdFx0dmFyIGxvYWRlZCA9IHRoaXMuX2F1dGhEYXRhLmlzTG9hZGVkO1xuXHRcdFx0dmFyIGV4cGlyZWQgPSB0aGlzLl9hdXRoRGF0YS5pc0V4cGlyZWQoKTtcblx0XHRcdGlmICghbG9hZGVkIHx8IGV4cGlyZWQpIHtcblx0XHRcdFx0dGhpcy5sb2dvdXQoKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwdWJsaWMgZ2V0IGF1dGhvcml6YXRpb25EYXRhKCk6IEF1dGhEYXRhIHtcblx0XHRcdHJldHVybiB0aGlzLl9hdXRoRGF0YTtcblx0XHR9XG5cblx0XHRwcml2YXRlIGdldEF1dGhvcml6YXRpb25EYXRhRnJvbUNvb2tpZSgpOiBJQXV0aERhdGEge1xuXHRcdFx0dmFyIGNvb2tpZURhdGEgPSB0aGlzLiRjb29raWVzLmdldE9iamVjdCh0aGlzLmF1dGhEYXRhQ29va2llTmFtZSkgYXMgSUF1dGhEYXRhO1xuXG5cdFx0XHRpZihhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoY29va2llRGF0YSkpIHtcblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9XG5cblx0XHRcdGNvb2tpZURhdGEucHJvZHVjdF9wZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtV2l0aG91dFByb21pc2U8SVByb2R1Y3RQZXJtaXNzaW9uQXV0aEFzc2lnbm1lbnRbXT4odGhpcy5rZXlzLnByb2R1Y3RzKTtcblx0XHRcdGNvb2tpZURhdGEuYXBwbGljYXRpb25fcGVybWlzc2lvbnMgPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbVdpdGhvdXRQcm9taXNlPG51bWJlcltdPih0aGlzLmtleXMuYXBwbGljYXRpb25zKTtcblxuXHRcdFx0cmV0dXJuIGNvb2tpZURhdGE7XG5cdFx0fVxuXG5cdFx0aXNTdGFsZShidWZmZXJJbk1pbnV0ZXM/OiBudW1iZXIpOiBib29sZWFuIHtcblx0XHRcdHJldHVybiB0aGlzLl9hdXRoRGF0YS5pc1N0YWxlKGJ1ZmZlckluTWludXRlcyk7XG5cdFx0fVxuXG5cdFx0aXNFeHBpcmVkKGJ1ZmZlckluTWludXRlcz86IG51bWJlcik6IGJvb2xlYW4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2F1dGhEYXRhLmlzRXhwaXJlZChidWZmZXJJbk1pbnV0ZXMpO1xuXHRcdH1cblxuXHRcdGlzUmVwb3J0aW5nT25seShvcmdhbml6YXRpb25zOiBJT3JnYW5pemF0aW9uSG9sZGVyKTogbmcuSVByb21pc2U8SU9yZ2FuaXphdGlvbkhvbGRlcj4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHEoKHJlc29sdmUpID0+IHtcblx0XHRcdFx0bGV0IGNvb2tpZURhdGEgPSB0aGlzLiRjb29raWVzLmdldE9iamVjdCh0aGlzLmF1dGhEYXRhQ29va2llTmFtZSkgYXMgSUF1dGhEYXRhLFxuXHRcdFx0XHRcdHJlcG9ydGluZ09ubHk6IGJvb2xlYW4gPSB0cnVlO1xuXHRcdFx0XHRpZighYXAuVXRpbGl0aWVzLmlzTnVsbE9yRW1wdHlDb2xsZWN0aW9uKGNvb2tpZURhdGEub3JnYW5pemF0aW9uX3VuaXRzKSkge1xuXHRcdFx0XHRcdGFuZ3VsYXIuZm9yRWFjaChjb29raWVEYXRhLm9yZ2FuaXphdGlvbl91bml0cywgKHVuaXQpID0+IHtcblx0XHRcdFx0XHRcdGlmKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQodW5pdC5hcHBsaWNhdGlvblJvbGVzKSkge1xuXHRcdFx0XHRcdFx0XHRhbmd1bGFyLmZvckVhY2godW5pdC5hcHBsaWNhdGlvblJvbGVzLCAocm9sZSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHJvbGUgPSByb2xlICogMTtcblx0XHRcdFx0XHRcdFx0XHRpZihyb2xlID4gOSAmJiByb2xlICE9PSBBdXRvUG9pbnRSb2xlLlJlcG9ydGluZ1VzZXIpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJlcG9ydGluZ09ubHkgPSBmYWxzZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXG5cdFx0XHRcdFx0aWYocmVwb3J0aW5nT25seSkge1xuXHRcdFx0XHRcdFx0YW5ndWxhci5mb3JFYWNoKG9yZ2FuaXphdGlvbnMubGlzdCwgKHBhcmVudE9yZywgaW5kZXgpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYocGFyZW50T3JnLnR5cGUgIT09IE9yZ2FuaXphdGlvblVuaXRUeXBlLkdsb2JhbE9yZ2FuaXphdGlvbikge1xuXHRcdFx0XHRcdFx0XHRcdG9yZ2FuaXphdGlvbnMubGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHBhcmVudE9yZy5zdWJPcmdhbml6YXRpb25Vbml0cyA9IFtdO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmVzb2x2ZShvcmdhbml6YXRpb25zKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0bG9nb3V0KCk6IHZvaWQge1xuXHRcdFx0dGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmRlbGV0ZUFsbEl0ZW1zKCk7XG5cdFx0XHR0aGlzLiRjb29raWVzLnJlbW92ZSh0aGlzLmF1dGhEYXRhQ29va2llTmFtZSk7XG5cdFx0XHR0aGlzLl9hdXRoRGF0YS51cGRhdGVBdXRoRGF0YSgpO1xuXHRcdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmFwcFNldHRpbmdzLnVybHMuc3NvfS8jL2xvZ291dC8/cmVkaXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLmhyZWYpfSZjbGllbnRJZD0ke3RoaXMuYXBwU2V0dGluZ3MuYXBwbGljYXRpb25DYWNoZUtleX1gO1xuXHRcdH1cblxuXHRcdHNldEF1dGhvcml6YXRpb25EYXRhKGF1dGhEYXRhOiBJQXV0aERhdGEpOiB2b2lkIHtcblx0XHRcdHRoaXMuX2F1dGhEYXRhLnVwZGF0ZUF1dGhEYXRhKGF1dGhEYXRhKTtcblxuXHRcdFx0dGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW08SVByb2R1Y3RQZXJtaXNzaW9uQXV0aEFzc2lnbm1lbnRbXT4odGhpcy5rZXlzLnByb2R1Y3RzLCBhdXRoRGF0YS5wcm9kdWN0X3Blcm1pc3Npb25zKTtcblx0XHRcdHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5zZXRJdGVtPG51bWJlcltdPih0aGlzLmtleXMuYXBwbGljYXRpb25zLCBhdXRoRGF0YS5hcHBsaWNhdGlvbl9wZXJtaXNzaW9ucyk7XG5cblx0XHRcdC8vIGRlbGV0ZSB0aGUgdmFsdWVzIGZvciBjb29raWUgc3RvcmFnZVxuXHRcdFx0ZGVsZXRlIGF1dGhEYXRhLnByb2R1Y3RfcGVybWlzc2lvbnM7XG5cdFx0XHRkZWxldGUgYXV0aERhdGEuYXBwbGljYXRpb25fcGVybWlzc2lvbnM7XG5cdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPckVtcHR5Q29sbGVjdGlvbihhdXRoRGF0YS5vcmdhbml6YXRpb25fdW5pdHMpICYmIGF1dGhEYXRhLm9yZ2FuaXphdGlvbl91bml0cy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdGF1dGhEYXRhLm9yZ2FuaXphdGlvbl91bml0cyA9IFthdXRoRGF0YS5vcmdhbml6YXRpb25fdW5pdHNbMF1dO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLiRjb29raWVzLnB1dE9iamVjdDxJQXV0aERhdGFGb3JDb29raWVTdG9yYWdlPih0aGlzLmF1dGhEYXRhQ29va2llTmFtZSwgYXV0aERhdGEsIDxJQ29va2llc09wdGlvbnM+eyBkb21haW46IHRoaXMuYXBwU2V0dGluZ3MuY29va2llRG9tYWluIH0pO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdhdXRoZW50aWNhdGlvblNlcnZpY2UnLCBBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xufVxuIl19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var HttpService = /** @class */ (function () {\n function HttpService($http, $q, authenticationService, localStorageService, locationService, appSettings) {\n this.$http = $http;\n this.$q = $q;\n this.authenticationService = authenticationService;\n this.localStorageService = localStorageService;\n this.locationService = locationService;\n this.appSettings = appSettings;\n this.authData = this.authenticationService.authorizationData;\n this.oneMinuteInMilliseconds = 60 * 1000;\n // To allow us to cancel all pending http requests\n this.pendingRequests = [];\n this.shouldTimeStampUrl = true;\n this.timeStampKey = 'vTaSDHWefh';\n }\n HttpService.prototype.attemptLocalStorageFirst = function (localStorageKey, action, bustCache) {\n var hasLocalStorageKey = !ap.Utilities.isNullOrWhitespace(localStorageKey);\n if (ap.Utilities.isTrueValue(bustCache) && hasLocalStorageKey) {\n this.localStorageService.deleteItem(localStorageKey);\n }\n if (!hasLocalStorageKey) {\n return action();\n }\n var service = this;\n return this.localStorageService.getItem(localStorageKey)\n .then(function (localItem) {\n if (!ap.Utilities.isNullOrUndefined(localItem)) {\n return service.resolveDeferred(localItem);\n }\n return action().then(function (response) {\n service.localStorageService.setItem(localStorageKey, response);\n return response;\n });\n });\n };\n /**\n * Makes a POST to the url with the specified data object\n * @param url - The url or endpoint\n * @param data - The data to be transmitted to the server\n * @param isFormData - A value indicating whether the data object is a form data object\n * @param localStorageKey - The local storage key should the data be cached/stored locally until the user logs out of the system.\n * @param bustCache - A value indicating that even if the data is already present that the request to the server should be completed and the returned data replace the currently stored object.\n */\n HttpService.prototype.create = function (url, data, isFormData, localStorageKey, bustCache) {\n var _this = this;\n var action = function () { return _this.makeHttpRequest(HttpRequestType.POST, ap.Utilities.isTrueValue(isFormData), url, data); };\n return this.attemptLocalStorageFirst(localStorageKey, action, bustCache);\n };\n /**\n * Makes a DELETE request to the server\n * @param url - The url or endpoint\n * @param localStorageKey - The local storage key should the data be cached/stored locally until the user logs out of the system.\n */\n HttpService.prototype.delete = function (url, localStorageKey) {\n if (!ap.Utilities.isNullOrWhitespace(localStorageKey)) {\n this.localStorageService.deleteItem(localStorageKey);\n }\n return this.makeHttpRequest(HttpRequestType.DELETE, false, url);\n };\n /**\n * Sets a value indicating whether the urls should be time stamped to prevent caching between client and server.\n * @param value - True if the url should contain the current timestamp, false will call the specified url only.\n */\n HttpService.prototype.enableTimeStampedUrl = function (value) {\n this.shouldTimeStampUrl = ap.Utilities.isTrueValue(value);\n };\n /**\n * Makes a GET request to the server if NO data is present or a POST if data is present.\n * @param url - The url or endpoint\n * @param data - The data used for a get but to large for a GET url string\n * @param localStorageKey - The local storage key should the data be cached/stored locally until the user logs out of the system.\n * @param bustCache - A value indicating that even if the data is already present that the request to the server should be completed and the returned data replace the currently stored object.\n */\n HttpService.prototype.get = function (url, data, localStorageKey, bustCache) {\n var _this = this;\n var action = function () { return _this.makeHttpRequest(ap.Utilities.isNullOrUndefined(data) ? HttpRequestType.GET : HttpRequestType.POST, false, url, data); };\n return this.attemptLocalStorageFirst(localStorageKey, action, bustCache);\n };\n HttpService.prototype.getRenewPromise = function () {\n return this.$q.when(this.authRefreshPromise);\n };\n HttpService.prototype.getRequestConfig = function (type, url, data, includeContentTypeHeader) {\n var _a;\n var config = {\n data: data,\n headers: (_a = {\n Authorization: \"Bearer \" + this.authData.bearerToken\n },\n //['X-AppCacheKey']: this.appSettings.applicationCacheKey,\n _a['X-LangId'] = this.authData.preferredLanguageId,\n _a['X-OrgUnitCacheKey'] = this.locationService.getOrganizationCacheKey(true),\n _a['X-UserCacheKey'] = this.authData.userCacheKey,\n _a),\n method: \"\" + HttpRequestType[type],\n originalUrl: url,\n url: this.timeStampUrl(url),\n type: type\n };\n if (ap.Utilities.isTrueValue(includeContentTypeHeader)) {\n config.headers['Content-Type'] = undefined;\n config.transformRequest = angular.identity;\n }\n return config;\n };\n HttpService.prototype.getPendingRequest = function (url, type, config) {\n var _this = this;\n if (ap.Utilities.isNullOrEmptyCollection(this.pendingRequests)) {\n return null;\n }\n config = config || this.pendingRequests.filter(function (x) { return x.config.originalUrl === url && x.config.type === type && x.organizationCacheKey === _this.locationService.getOrganizationCacheKey(); })[0];\n if (!ap.Utilities.isNullOrUndefined(config)) {\n config.index = this.pendingRequests.indexOf(config);\n if (config.index > -1) {\n return config;\n }\n }\n return null;\n };\n HttpService.prototype.handleError = function (error, ctrl) {\n ctrl = ctrl || this;\n if (error.status === 401) {\n ctrl.authenticationService.logout();\n return null;\n }\n //ctrl.crudMessageService.notifyError(error);\n //notifyError(error: IAngularError): void {\n //\terror.\n //}\n console.error('Unexpected server error', error.statusText);\n return null;\n };\n HttpService.prototype.makeHttpRequest = function (type, isFormData, url, data) {\n var _this = this;\n return this.getRenewPromise().then(function () {\n var pendingRequest;\n // This would check if the request being made is already running and simply return the promise rather than queueing a new request to the same Url.\n if (type === HttpRequestType.GET && !ap.Utilities.isNullOrUndefined(pendingRequest = _this.getPendingRequest(url, type)) && !ap.Utilities.isNullOrUndefined(pendingRequest.promise)) {\n return pendingRequest.promise;\n }\n pendingRequest = {\n config: _this.getRequestConfig(type, url, data, isFormData),\n canceller: _this.$q.defer(),\n organizationCacheKey: _this.locationService.getOrganizationCacheKey()\n };\n _this.pendingRequests.push(pendingRequest);\n var thenFunc = function (response) {\n // We may need to address the null return response. I think that this is the reason that we see errors on fast page changing\n // Meaning that if you open the route-sheet then open a repair order and before the page loads you switch from estimate to \n // inspection then to parts and then back to estimate or inspection you will see JavaScript errors thrown in the console.\n // They do nothing because the page that was loading has been dumped from memory and the new page is processing and continues\n // to process.\n return (response || { data: null }).data;\n };\n var finallyFunc = function () {\n var request = _this.getPendingRequest(url, type, pendingRequest);\n if (!ap.Utilities.isNullOrUndefined(request)) {\n _this.pendingRequests.splice(request.index, 1);\n }\n };\n pendingRequest.promise = _this.$http(pendingRequest.config)\n .then(thenFunc, function (error) { return _this.handleError(error, _this); })\n .finally(finallyFunc);\n return pendingRequest.promise;\n });\n };\n /**\n * This should ONLY be used by the ssoApiService to renew the authentication data object.\n * @param url - The url or endpoint to get the authentication data\n * @param data - Renewal token data to transmit to the server\n */\n HttpService.prototype.renew = function (url, data) {\n var action = this.create(url, data);\n // You will be done renewing before the token is expired therefore allow others to continue without delay\n if (!this.authData.isStale(this.oneMinuteInMilliseconds)) {\n return action;\n }\n // The token is expired or will before the other requests can be completed so delay the request until this renewal has completed\n return this.authRefreshPromise = action;\n };\n /**\n * Ensures that the object specified is wrapped in an ng.IPromise\n * @param object - The object to be returned in the promise\n */\n HttpService.prototype.resolveDeferred = function (object) {\n return this.$q.when(object);\n };\n /**\n * Using the PUT method sends the data to the $http service\n * @param url - The url or endpoint\n * @param data - The data to be PUT on the server\n * @param isFormData - A value indicating whether the data is a form data object\n */\n HttpService.prototype.update = function (url, data, isFormData) {\n return this.makeHttpRequest(HttpRequestType.PUT, ap.Utilities.isTrueValue(isFormData), url, data);\n };\n HttpService.prototype.timeStampUrl = function (url) {\n if (!this.shouldTimeStampUrl) {\n return url;\n }\n var hasQueryString = url.search('\\\\?') !== -1;\n var queryParam = hasQueryString ? '&' : '?';\n var timeStamp = new Date().getTime();\n return \"\" + url + queryParam + this.timeStampKey + \"=\" + timeStamp;\n };\n HttpService.$inject = [\n '$http',\n '$q',\n 'authenticationService',\n 'localStorageService',\n 'locationService',\n 'appSettings'\n ];\n return HttpService;\n }());\n Services.HttpService = HttpService;\n angular.module('app.Services')\n .service('httpService', HttpService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NoYXJlZC9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQXlQVDtBQXpQRCxXQUFPLEdBQUc7SUFBQyxJQUFBLFFBQVEsQ0F5UGxCO0lBelBVLFdBQUEsUUFBUTtRQUNsQjtZQWtCQyxxQkFDUyxLQUFzQixFQUN0QixFQUFnQixFQUNoQixxQkFBcUQsRUFDckQsbUJBQWlELEVBQ2pELGVBQXlDLEVBQ3pDLFdBQXlCO2dCQUx6QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtnQkFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBYztnQkFDaEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFnQztnQkFDckQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE4QjtnQkFDakQsb0JBQWUsR0FBZixlQUFlLENBQTBCO2dCQUN6QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztnQkF2QjFCLGFBQVEsR0FBYSxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUM7Z0JBRWxFLDRCQUF1QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQzVDLGtEQUFrRDtnQkFDMUMsb0JBQWUsR0FBMkIsRUFBRSxDQUFDO2dCQUM3Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1lBb0JwQyxDQUFDO1lBRU8sOENBQXdCLEdBQWhDLFVBQW9DLGVBQXVCLEVBQUUsTUFBZ0IsRUFBRSxTQUFtQjtnQkFDakcsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzNFLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQWtCLEVBQUU7b0JBQzlELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENB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Q0FBQyxrQkFBa0IsRUFBRTtvQkFDN0IsT0FBTyxHQUFHLENBQUM7aUJBQ1g7Z0JBRUQsSUFBSSxjQUFjLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDNUMsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFFckMsT0FBTyxLQUFHLEdBQUcsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksU0FBSSxTQUFXLENBQUM7WUFDL0QsQ0FBQztZQTFPTSxtQkFBTyxHQUFHO2dCQUNoQixPQUFPO2dCQUNQLElBQUk7Z0JBQ0osdUJBQXVCO2dCQUN2QixxQkFBcUI7Z0JBQ3JCLGlCQUFpQjtnQkFDakIsYUFBYTthQUNiLENBQUM7WUFvT0gsa0JBQUM7U0FwUEQsQUFvUEMsSUFBQTtRQXBQWSxvQkFBVyxjQW9QdkIsQ0FBQTtRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQyxFQXpQVSxRQUFRLEdBQVIsWUFBUSxLQUFSLFlBQVEsUUF5UGxCO0FBQUQsQ0FBQyxFQXpQTSxHQUFHLEtBQUgsR0FBRyxRQXlQVCIsImZpbGUiOiJzZXJ2aWNlcy9zaGFyZWQvaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLlNlcnZpY2VzIHtcblx0ZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcblx0XHRwcml2YXRlIGF1dGhEYXRhOiBBdXRoRGF0YSA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhvcml6YXRpb25EYXRhO1xuXHRcdHByaXZhdGUgYXV0aFJlZnJlc2hQcm9taXNlOiBuZy5JUHJvbWlzZTxJQXV0aERhdGE+O1xuXHRcdHByaXZhdGUgb25lTWludXRlSW5NaWxsaXNlY29uZHMgPSA2MCAqIDEwMDA7XG5cdFx0Ly8gVG8gYWxsb3cgdXMgdG8gY2FuY2VsIGFsbCBwZW5kaW5nIGh0dHAgcmVxdWVzdHNcblx0XHRwcml2YXRlIHBlbmRpbmdSZXF1ZXN0czogSVBlbmRpbmdSZXF1ZXN0PGFueT5bXSA9IFtdO1xuXHRcdHByaXZhdGUgc2hvdWxkVGltZVN0YW1wVXJsID0gdHJ1ZTtcblx0XHRwcml2YXRlIHRpbWVTdGFtcEtleSA9ICd2VGFTREhXZWZoJztcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRodHRwJyxcblx0XHRcdCckcScsXG5cdFx0XHQnYXV0aGVudGljYXRpb25TZXJ2aWNlJyxcblx0XHRcdCdsb2NhbFN0b3JhZ2VTZXJ2aWNlJyxcblx0XHRcdCdsb2NhdGlvblNlcnZpY2UnLFxuXHRcdFx0J2FwcFNldHRpbmdzJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByaXZhdGUgJGh0dHA6IG5nLklIdHRwU2VydmljZSxcblx0XHRcdHByaXZhdGUgJHE6IG5nLklRU2VydmljZSxcblx0XHRcdHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBTZXJ2aWNlcy5BdXRoZW50aWNhdGlvblNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IFNlcnZpY2VzLkxvY2FsU3RvcmFnZVNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGxvY2F0aW9uU2VydmljZTogU2VydmljZXMuTG9jYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBhcHBTZXR0aW5nczogSUFwcFNldHRpbmdzXG5cdFx0KSB7XG5cblx0XHR9XG5cblx0XHRwcml2YXRlIGF0dGVtcHRMb2NhbFN0b3JhZ2VGaXJzdDxUPihsb2NhbFN0b3JhZ2VLZXk6IHN0cmluZywgYWN0aW9uOiBGdW5jdGlvbiwgYnVzdENhY2hlPzogYm9vbGVhbik6IG5nLklQcm9taXNlPFQ+IHtcblx0XHRcdHZhciBoYXNMb2NhbFN0b3JhZ2VLZXkgPSAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yV2hpdGVzcGFjZShsb2NhbFN0b3JhZ2VLZXkpO1xuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZShidXN0Q2FjaGUpICYmIGhhc0xvY2FsU3RvcmFnZUtleSkge1xuXHRcdFx0XHR0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZGVsZXRlSXRlbShsb2NhbFN0b3JhZ2VLZXkpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIWhhc0xvY2FsU3RvcmFnZUtleSkge1xuXHRcdFx0XHRyZXR1cm4gYWN0aW9uKCk7XG5cdFx0XHR9XG5cblx0XHRcdHZhciBzZXJ2aWNlID0gdGhpcztcblx0XHRcdHJldHVybiB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VLZXkpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKGxvY2FsSXRlbSkge1xuXHRcdFx0XHRcdGlmICghYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKGxvY2FsSXRlbSkpIHtcblx0XHRcdFx0XHRcdHJldHVybiBzZXJ2aWNlLnJlc29sdmVEZWZlcnJlZChsb2NhbEl0ZW0pO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiBhY3Rpb24oKS50aGVuKChyZXNwb25zZSkgPT4ge1xuXHRcdFx0XHRcdFx0c2VydmljZS5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0obG9jYWxTdG9yYWdlS2V5LCByZXNwb25zZSk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIE1ha2VzIGEgUE9TVCB0byB0aGUgdXJsIHdpdGggdGhlIHNwZWNpZmllZCBkYXRhIG9iamVjdFxuXHRcdCAqIEBwYXJhbSB1cmwgLSBUaGUgdXJsIG9yIGVuZHBvaW50XG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBiZSB0cmFuc21pdHRlZCB0byB0aGUgc2VydmVyXG5cdFx0ICogQHBhcmFtIGlzRm9ybURhdGEgLSBBIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGF0YSBvYmplY3QgaXMgYSBmb3JtIGRhdGEgb2JqZWN0XG5cdFx0ICogQHBhcmFtIGxvY2FsU3RvcmFnZUtleSAtIFRoZSBsb2NhbCBzdG9yYWdlIGtleSBzaG91bGQgdGhlIGRhdGEgYmUgY2FjaGVkL3N0b3JlZCBsb2NhbGx5IHVudGlsIHRoZSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0uXG5cdFx0ICogQHBhcmFtIGJ1c3RDYWNoZSAtIEEgdmFsdWUgaW5kaWNhdGluZyB0aGF0IGV2ZW4gaWYgdGhlIGRhdGEgaXMgYWxyZWFkeSBwcmVzZW50IHRoYXQgdGhlIHJlcXVlc3QgdG8gdGhlIHNlcnZlciBzaG91bGQgYmUgY29tcGxldGVkIGFuZCB0aGUgcmV0dXJuZWQgZGF0YSByZXBsYWNlIHRoZSBjdXJyZW50bHkgc3RvcmVkIG9iamVjdC5cblx0XHQgKi9cblx0XHRjcmVhdGU8UmV0dXJuVHlwZSwgRGF0YVR5cGU+KHVybDogc3RyaW5nLCBkYXRhOiBEYXRhVHlwZSwgaXNGb3JtRGF0YT86IGJvb2xlYW4sIGxvY2FsU3RvcmFnZUtleT86IHN0cmluZywgYnVzdENhY2hlPzogYm9vbGVhbik6IG5nLklQcm9taXNlPFJldHVyblR5cGU+IHtcblx0XHRcdHZhciBhY3Rpb24gPSAoKSA9PiB0aGlzLm1ha2VIdHRwUmVxdWVzdDxSZXR1cm5UeXBlLCBEYXRhVHlwZT4oSHR0cFJlcXVlc3RUeXBlLlBPU1QsIGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZShpc0Zvcm1EYXRhKSwgdXJsLCBkYXRhKTtcblxuXHRcdFx0cmV0dXJuIHRoaXMuYXR0ZW1wdExvY2FsU3RvcmFnZUZpcnN0PFJldHVyblR5cGU+KGxvY2FsU3RvcmFnZUtleSwgYWN0aW9uLCBidXN0Q2FjaGUpO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIE1ha2VzIGEgREVMRVRFIHJlcXVlc3QgdG8gdGhlIHNlcnZlclxuXHRcdCAqIEBwYXJhbSB1cmwgLSBUaGUgdXJsIG9yIGVuZHBvaW50XG5cdFx0ICogQHBhcmFtIGxvY2FsU3RvcmFnZUtleSAtIFRoZSBsb2NhbCBzdG9yYWdlIGtleSBzaG91bGQgdGhlIGRhdGEgYmUgY2FjaGVkL3N0b3JlZCBsb2NhbGx5IHVudGlsIHRoZSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0uXG5cdFx0ICovXG5cdFx0ZGVsZXRlPFJldHVyblR5cGU+KHVybDogc3RyaW5nLCBsb2NhbFN0b3JhZ2VLZXk/OiBzdHJpbmcpOiBuZy5JUHJvbWlzZTxSZXR1cm5UeXBlPiB7XG5cdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPcldoaXRlc3BhY2UobG9jYWxTdG9yYWdlS2V5KSkge1xuXHRcdFx0XHR0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZGVsZXRlSXRlbShsb2NhbFN0b3JhZ2VLZXkpO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gdGhpcy5tYWtlSHR0cFJlcXVlc3QoSHR0cFJlcXVlc3RUeXBlLkRFTEVURSwgZmFsc2UsIHVybCk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogU2V0cyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgdXJscyBzaG91bGQgYmUgdGltZSBzdGFtcGVkIHRvIHByZXZlbnQgY2FjaGluZyBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyLlxuXHRcdCAqIEBwYXJhbSB2YWx1ZSAtIFRydWUgaWYgdGhlIHVybCBzaG91bGQgY29udGFpbiB0aGUgY3VycmVudCB0aW1lc3RhbXAsIGZhbHNlIHdpbGwgY2FsbCB0aGUgc3BlY2lmaWVkIHVybCBvbmx5LlxuXHRcdCAqL1xuXHRcdGVuYWJsZVRpbWVTdGFtcGVkVXJsKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0XHR0aGlzLnNob3VsZFRpbWVTdGFtcFVybCA9IGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZSh2YWx1ZSk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogTWFrZXMgYSBHRVQgcmVxdWVzdCB0byB0aGUgc2VydmVyIGlmIE5PIGRhdGEgaXMgcHJlc2VudCBvciBhIFBPU1QgaWYgZGF0YSBpcyBwcmVzZW50LlxuXHRcdCAqIEBwYXJhbSB1cmwgLSBUaGUgdXJsIG9yIGVuZHBvaW50XG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB1c2VkIGZvciBhIGdldCBidXQgdG8gbGFyZ2UgZm9yIGEgR0VUIHVybCBzdHJpbmdcblx0XHQgKiBAcGFyYW0gbG9jYWxTdG9yYWdlS2V5IC0gVGhlIGxvY2FsIHN0b3JhZ2Uga2V5IHNob3VsZCB0aGUgZGF0YSBiZSBjYWNoZWQvc3RvcmVkIGxvY2FsbHkgdW50aWwgdGhlIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbS5cblx0XHQgKiBAcGFyYW0gYnVzdENhY2hlIC0gQSB2YWx1ZSBpbmRpY2F0aW5nIHRoYXQgZXZlbiBpZiB0aGUgZGF0YSBpcyBhbHJlYWR5IHByZXNlbnQgdGhhdCB0aGUgcmVxdWVzdCB0byB0aGUgc2VydmVyIHNob3VsZCBiZSBjb21wbGV0ZWQgYW5kIHRoZSByZXR1cm5lZCBkYXRhIHJlcGxhY2UgdGhlIGN1cnJlbnRseSBzdG9yZWQgb2JqZWN0LlxuXHRcdCAqL1xuXHRcdGdldDxSZXR1cm5UeXBlLCBEYXRhVHlwZT4odXJsOiBzdHJpbmcsIGRhdGE/OiBEYXRhVHlwZSwgbG9jYWxTdG9yYWdlS2V5Pzogc3RyaW5nLCBidXN0Q2FjaGU/OiBib29sZWFuKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0dmFyIGFjdGlvbiA9ICgpID0+IHRoaXMubWFrZUh0dHBSZXF1ZXN0KGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChkYXRhKSA/IEh0dHBSZXF1ZXN0VHlwZS5HRVQgOiBIdHRwUmVxdWVzdFR5cGUuUE9TVCwgZmFsc2UsIHVybCwgZGF0YSk7XG5cblx0XHRcdHJldHVybiB0aGlzLmF0dGVtcHRMb2NhbFN0b3JhZ2VGaXJzdDxSZXR1cm5UeXBlPihsb2NhbFN0b3JhZ2VLZXksIGFjdGlvbiwgYnVzdENhY2hlKTtcblx0XHR9XG5cblx0XHRwcml2YXRlIGdldFJlbmV3UHJvbWlzZSgpOiBuZy5JUHJvbWlzZTxJQXV0aERhdGE+IHtcblx0XHRcdHJldHVybiB0aGlzLiRxLndoZW4odGhpcy5hdXRoUmVmcmVzaFByb21pc2UpO1xuXHRcdH1cblxuXHRcdHByaXZhdGUgZ2V0UmVxdWVzdENvbmZpZzxEYXRhVHlwZT4odHlwZTogSHR0cFJlcXVlc3RUeXBlLCB1cmw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUsIGluY2x1ZGVDb250ZW50VHlwZUhlYWRlcj86IGJvb2xlYW4pOiBJUmVxdWVzdENvbmZpZyB7XG5cdFx0XHR2YXIgY29uZmlnID0gPElSZXF1ZXN0Q29uZmlnPntcblx0XHRcdFx0ZGF0YTogZGF0YSxcblx0XHRcdFx0aGVhZGVyczogPElBdXRoSGVhZGVycz57XG5cdFx0XHRcdFx0QXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYXV0aERhdGEuYmVhcmVyVG9rZW59YCxcblx0XHRcdFx0XHQvL1snWC1BcHBDYWNoZUtleSddOiB0aGlzLmFwcFNldHRpbmdzLmFwcGxpY2F0aW9uQ2FjaGVLZXksXG5cdFx0XHRcdFx0WydYLUxhbmdJZCddOiB0aGlzLmF1dGhEYXRhLnByZWZlcnJlZExhbmd1YWdlSWQsXG5cdFx0XHRcdFx0WydYLU9yZ1VuaXRDYWNoZUtleSddOiB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRPcmdhbml6YXRpb25DYWNoZUtleSh0cnVlKSxcblx0XHRcdFx0XHRbJ1gtVXNlckNhY2hlS2V5J106IHRoaXMuYXV0aERhdGEudXNlckNhY2hlS2V5XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1ldGhvZDogYCR7SHR0cFJlcXVlc3RUeXBlW3R5cGVdfWAsXG5cdFx0XHRcdG9yaWdpbmFsVXJsOiB1cmwsXG5cdFx0XHRcdHVybDogdGhpcy50aW1lU3RhbXBVcmwodXJsKSxcblx0XHRcdFx0dHlwZTogdHlwZVxuXHRcdFx0fTtcblxuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZShpbmNsdWRlQ29udGVudFR5cGVIZWFkZXIpKSB7XG5cdFx0XHRcdGNvbmZpZy5oZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IHVuZGVmaW5lZDtcblx0XHRcdFx0Y29uZmlnLnRyYW5zZm9ybVJlcXVlc3QgPSBhbmd1bGFyLmlkZW50aXR5O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gY29uZmlnO1xuXHRcdH1cblxuXHRcdHByaXZhdGUgZ2V0UGVuZGluZ1JlcXVlc3Q8VD4odXJsOiBzdHJpbmcsIHR5cGU6IEh0dHBSZXF1ZXN0VHlwZSwgY29uZmlnPzogSVBlbmRpbmdSZXF1ZXN0PFQ+KTogSVBlbmRpbmdSZXF1ZXN0PFQ+IHtcblx0XHRcdGlmIChhcC5VdGlsaXRpZXMuaXNOdWxsT3JFbXB0eUNvbGxlY3Rpb24odGhpcy5wZW5kaW5nUmVxdWVzdHMpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25maWcgPSBjb25maWcgfHwgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZmlsdGVyKHggPT4geC5jb25maWcub3JpZ2luYWxVcmwgPT09IHVybCAmJiB4LmNvbmZpZy50eXBlID09PSB0eXBlICYmIHgub3JnYW5pemF0aW9uQ2FjaGVLZXkgPT09IHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkNhY2hlS2V5KCkpWzBdO1xuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnKSkge1xuXHRcdFx0XHRjb25maWcuaW5kZXggPSB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5pbmRleE9mKGNvbmZpZyk7XG5cdFx0XHRcdGlmIChjb25maWcuaW5kZXggPiAtMSkge1xuXHRcdFx0XHRcdHJldHVybiBjb25maWc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cHJvdGVjdGVkIGhhbmRsZUVycm9yPERhdGFUeXBlLCBSZXR1cm5UeXBlPihlcnJvcjogSUFuZ3VsYXJFcnJvcjxEYXRhVHlwZT4sIGN0cmw/OiBIdHRwU2VydmljZSk6IFJldHVyblR5cGUge1xuXHRcdFx0Y3RybCA9IGN0cmwgfHwgdGhpcztcblx0XHRcdGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuXHRcdFx0XHRjdHJsLmF1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9XG5cblx0XHRcdC8vY3RybC5jcnVkTWVzc2FnZVNlcnZpY2U8RGF0YVR5cGU+Lm5vdGlmeUVycm9yKGVycm9yKTtcblx0XHRcdC8vbm90aWZ5RXJyb3I8VD4oZXJyb3I6IElBbmd1bGFyRXJyb3I8VD4pOiB2b2lkIHtcblx0XHRcdC8vXHRlcnJvci5cblx0XHRcdC8vfVxuXHRcdFx0Y29uc29sZS5lcnJvcignVW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3InLCBlcnJvci5zdGF0dXNUZXh0KTtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHByaXZhdGUgbWFrZUh0dHBSZXF1ZXN0PFJldHVyblR5cGUsIERhdGFUeXBlPih0eXBlOiBIdHRwUmVxdWVzdFR5cGUsIGlzRm9ybURhdGE6IGJvb2xlYW4sIHVybDogc3RyaW5nLCBkYXRhPzogRGF0YVR5cGUpIHtcblx0XHRcdHJldHVybiB0aGlzLmdldFJlbmV3UHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHR2YXIgcGVuZGluZ1JlcXVlc3Q6IElQZW5kaW5nUmVxdWVzdDxSZXR1cm5UeXBlPjtcblx0XHRcdFx0Ly8gVGhpcyB3b3VsZCBjaGVjayBpZiB0aGUgcmVxdWVzdCBiZWluZyBtYWRlIGlzIGFscmVhZHkgcnVubmluZyBhbmQgc2ltcGx5IHJldHVybiB0aGUgcHJvbWlzZSByYXRoZXIgdGhhbiBxdWV1ZWluZyBhIG5ldyByZXF1ZXN0IHRvIHRoZSBzYW1lIFVybC5cblx0XHRcdFx0aWYgKHR5cGUgPT09IEh0dHBSZXF1ZXN0VHlwZS5HRVQgJiYgIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChwZW5kaW5nUmVxdWVzdCA9IHRoaXMuZ2V0UGVuZGluZ1JlcXVlc3QodXJsLCB0eXBlKSkgJiYgIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChwZW5kaW5nUmVxdWVzdC5wcm9taXNlKSkge1xuXHRcdFx0XHRcdHJldHVybiBwZW5kaW5nUmVxdWVzdC5wcm9taXNlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cGVuZGluZ1JlcXVlc3QgPSB7XG5cdFx0XHRcdFx0Y29uZmlnOiB0aGlzLmdldFJlcXVlc3RDb25maWcodHlwZSwgdXJsLCBkYXRhLCBpc0Zvcm1EYXRhKSxcblx0XHRcdFx0XHRjYW5jZWxsZXI6IHRoaXMuJHEuZGVmZXIoKSxcblx0XHRcdFx0XHRvcmdhbml6YXRpb25DYWNoZUtleTogdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uQ2FjaGVLZXkoKVxuXHRcdFx0XHR9O1xuXHRcdFx0XHR0aGlzLnBlbmRpbmdSZXF1ZXN0cy5wdXNoKHBlbmRpbmdSZXF1ZXN0KTtcblxuXHRcdFx0XHR2YXIgdGhlbkZ1bmMgPSAocmVzcG9uc2U6IG5nLklIdHRwUHJvbWlzZUNhbGxiYWNrQXJnPFJldHVyblR5cGU+KSA9PiB7XG5cdFx0XHRcdFx0Ly8gV2UgbWF5IG5lZWQgdG8gYWRkcmVzcyB0aGUgbnVsbCByZXR1cm4gcmVzcG9uc2UuIEkgdGhpbmsgdGhhdCB0aGlzIGlzIHRoZSByZWFzb24gdGhhdCB3ZSBzZWUgZXJyb3JzIG9uIGZhc3QgcGFnZSBjaGFuZ2luZ1xuXHRcdFx0XHRcdC8vIE1lYW5pbmcgdGhhdCBpZiB5b3Ugb3BlbiB0aGUgcm91dGUtc2hlZXQgdGhlbiBvcGVuIGEgcmVwYWlyIG9yZGVyIGFuZCBiZWZvcmUgdGhlIHBhZ2UgbG9hZHMgeW91IHN3aXRjaCBmcm9tIGVzdGltYXRlIHRvIFxuXHRcdFx0XHRcdC8vIGluc3BlY3Rpb24gdGhlbiB0byBwYXJ0cyBhbmQgdGhlbiBiYWNrIHRvIGVzdGltYXRlIG9yIGluc3BlY3Rpb24geW91IHdpbGwgc2VlIEphdmFTY3JpcHQgZXJyb3JzIHRocm93biBpbiB0aGUgY29uc29sZS5cblx0XHRcdFx0XHQvLyBUaGV5IGRvIG5vdGhpbmcgYmVjYXVzZSB0aGUgcGFnZSB0aGF0IHdhcyBsb2FkaW5nIGhhcyBiZWVuIGR1bXBlZCBmcm9tIG1lbW9yeSBhbmQgdGhlIG5ldyBwYWdlIGlzIHByb2Nlc3NpbmcgYW5kIGNvbnRpbnVlc1xuXHRcdFx0XHRcdC8vIHRvIHByb2Nlc3MuXG5cdFx0XHRcdFx0cmV0dXJuIChyZXNwb25zZSB8fCB7IGRhdGE6IG51bGwgfSkuZGF0YTtcblx0XHRcdFx0fTtcblxuXHRcdFx0XHR2YXIgZmluYWxseUZ1bmMgPSAoKSA9PiB7XG5cdFx0XHRcdFx0dmFyIHJlcXVlc3QgPSB0aGlzLmdldFBlbmRpbmdSZXF1ZXN0KHVybCwgdHlwZSwgcGVuZGluZ1JlcXVlc3QpO1xuXHRcdFx0XHRcdGlmICghYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKHJlcXVlc3QpKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zcGxpY2UocmVxdWVzdC5pbmRleCwgMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXG5cdFx0XHRcdHBlbmRpbmdSZXF1ZXN0LnByb21pc2UgPSB0aGlzLiRodHRwKHBlbmRpbmdSZXF1ZXN0LmNvbmZpZylcblx0XHRcdFx0XHQudGhlbih0aGVuRnVuYywgKGVycm9yOiBJQW5ndWxhckVycm9yPERhdGFUeXBlPikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgdGhpcykpXG5cdFx0XHRcdFx0LmZpbmFsbHkoZmluYWxseUZ1bmMpO1xuXG5cdFx0XHRcdHJldHVybiBwZW5kaW5nUmVxdWVzdC5wcm9taXNlO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogVGhpcyBzaG91bGQgT05MWSBiZSB1c2VkIGJ5IHRoZSBzc29BcGlTZXJ2aWNlIHRvIHJlbmV3IHRoZSBhdXRoZW50aWNhdGlvbiBkYXRhIG9iamVjdC5cblx0XHQgKiBAcGFyYW0gdXJsIC0gVGhlIHVybCBvciBlbmRwb2ludCB0byBnZXQgdGhlIGF1dGhlbnRpY2F0aW9uIGRhdGFcblx0XHQgKiBAcGFyYW0gZGF0YSAtIFJlbmV3YWwgdG9rZW4gZGF0YSB0byB0cmFuc21pdCB0byB0aGUgc2VydmVyXG5cdFx0ICovXG5cdFx0cmVuZXcodXJsOiBzdHJpbmcsIGRhdGE6IElSZW5ld0FjY2Vzc1Rva2VuRGF0YSk6IG5nLklQcm9taXNlPElBdXRoRGF0YT4ge1xuXHRcdFx0dmFyIGFjdGlvbiA9IHRoaXMuY3JlYXRlPElBdXRoRGF0YSwgSVJlbmV3QWNjZXNzVG9rZW5EYXRhPih1cmwsIGRhdGEpO1xuXHRcdFx0Ly8gWW91IHdpbGwgYmUgZG9uZSByZW5ld2luZyBiZWZvcmUgdGhlIHRva2VuIGlzIGV4cGlyZWQgdGhlcmVmb3JlIGFsbG93IG90aGVycyB0byBjb250aW51ZSB3aXRob3V0IGRlbGF5XG5cdFx0XHRpZiAoIXRoaXMuYXV0aERhdGEuaXNTdGFsZSh0aGlzLm9uZU1pbnV0ZUluTWlsbGlzZWNvbmRzKSkge1xuXHRcdFx0XHRyZXR1cm4gYWN0aW9uO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBUaGUgdG9rZW4gaXMgZXhwaXJlZCBvciB3aWxsIGJlZm9yZSB0aGUgb3RoZXIgcmVxdWVzdHMgY2FuIGJlIGNvbXBsZXRlZCBzbyBkZWxheSB0aGUgcmVxdWVzdCB1bnRpbCB0aGlzIHJlbmV3YWwgaGFzIGNvbXBsZXRlZFxuXHRcdFx0cmV0dXJuIHRoaXMuYXV0aFJlZnJlc2hQcm9taXNlID0gYWN0aW9uO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdCAqIEVuc3VyZXMgdGhhdCB0aGUgb2JqZWN0IHNwZWNpZmllZCBpcyB3cmFwcGVkIGluIGFuIG5nLklQcm9taXNlXG5cdFx0ICogQHBhcmFtIG9iamVjdCAtIFRoZSBvYmplY3QgdG8gYmUgcmV0dXJuZWQgaW4gdGhlIHByb21pc2Vcblx0XHQgKi9cblx0XHRyZXNvbHZlRGVmZXJyZWQ8UmV0dXJuVHlwZT4ob2JqZWN0PzogUmV0dXJuVHlwZSk6IG5nLklQcm9taXNlPFJldHVyblR5cGU+IHtcblx0XHRcdHJldHVybiB0aGlzLiRxLndoZW4ob2JqZWN0KTtcblx0XHR9XG5cblx0XHQvKipcblx0XHQgKiBVc2luZyB0aGUgUFVUIG1ldGhvZCBzZW5kcyB0aGUgZGF0YSB0byB0aGUgJGh0dHAgc2VydmljZVxuXHRcdCAqIEBwYXJhbSB1cmwgLSBUaGUgdXJsIG9yIGVuZHBvaW50XG5cdFx0ICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBiZSBQVVQgb24gdGhlIHNlcnZlclxuXHRcdCAqIEBwYXJhbSBpc0Zvcm1EYXRhIC0gQSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGRhdGEgaXMgYSBmb3JtIGRhdGEgb2JqZWN0XG5cdFx0ICovXG5cdFx0dXBkYXRlPFJldHVyblR5cGUsIERhdGFUeXBlPih1cmw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUsIGlzRm9ybURhdGE/OiBib29sZWFuKTogbmcuSVByb21pc2U8UmV0dXJuVHlwZT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMubWFrZUh0dHBSZXF1ZXN0KEh0dHBSZXF1ZXN0VHlwZS5QVVQsIGFwLlV0aWxpdGllcy5pc1RydWVWYWx1ZShpc0Zvcm1EYXRhKSwgdXJsLCBkYXRhKTtcblx0XHR9XG5cblx0XHRwcml2YXRlIHRpbWVTdGFtcFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0XHRpZiAoIXRoaXMuc2hvdWxkVGltZVN0YW1wVXJsKSB7XG5cdFx0XHRcdHJldHVybiB1cmw7XG5cdFx0XHR9XG5cblx0XHRcdHZhciBoYXNRdWVyeVN0cmluZyA9IHVybC5zZWFyY2goJ1xcXFw/JykgIT09IC0xO1xuXHRcdFx0dmFyIHF1ZXJ5UGFyYW0gPSBoYXNRdWVyeVN0cmluZyA/ICcmJyA6ICc/Jztcblx0XHRcdHZhciB0aW1lU3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuXHRcdFx0cmV0dXJuIGAke3VybH0ke3F1ZXJ5UGFyYW19JHt0aGlzLnRpbWVTdGFtcEtleX09JHt0aW1lU3RhbXB9YDtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlNlcnZpY2VzJylcblx0XHQuc2VydmljZSgnaHR0cFNlcnZpY2UnLCBIdHRwU2VydmljZSk7XG59XG4iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var LocalStorageService = /** @class */ (function () {\n function LocalStorageService($q) {\n this.$q = $q;\n this.cacheHours = 24;\n this.keys = 'apKeys';\n }\n LocalStorageService.prototype.deleteAllItems = function () {\n var _this = this;\n var storedKeys = this.getApKeys();\n storedKeys.forEach(function (key) {\n _this.deleteItem(key);\n });\n this.deleteItem(this.keys);\n };\n LocalStorageService.prototype.deleteItem = function (itemKey) {\n localStorage.setItem(itemKey, null);\n };\n LocalStorageService.prototype.getApKeys = function () {\n return JSON.parse(localStorage.getItem(this.keys)) || [];\n };\n LocalStorageService.prototype.getItemWithoutPromise = function (itemKey) {\n var actualItem;\n var item = JSON.parse(localStorage.getItem(itemKey));\n if (ap.Utilities.isNullOrUndefined(item) || new Date(item.expires.toString()).getTime() < new Date().getTime()) {\n return null;\n }\n return item.actualItem;\n };\n LocalStorageService.prototype.getItem = function (itemKey) {\n return this.$q.when(this.getItemWithoutPromise(itemKey));\n };\n LocalStorageService.prototype.saveApKey = function (itemKey) {\n var storedKeys = this.getApKeys();\n if (storedKeys.indexOf(itemKey) === -1) {\n storedKeys.push(itemKey);\n localStorage.setItem(this.keys, JSON.stringify(storedKeys));\n }\n };\n LocalStorageService.prototype.setItem = function (itemKey, item, cacheTimeInMs) {\n var cacheTime = cacheTimeInMs || (this.cacheHours * 60 * 60 * 1000);\n var storageItem = {\n expires: new Date(new Date().getTime() + cacheTime),\n actualItem: item\n };\n localStorage.setItem(itemKey, JSON.stringify(storageItem));\n this.saveApKey(itemKey);\n };\n LocalStorageService.$inject = [\n '$q'\n ];\n return LocalStorageService;\n }());\n Services.LocalStorageService = LocalStorageService;\n angular.module('app.Services')\n .service('localStorageService', LocalStorageService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NoYXJlZC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQztBQUViLElBQU8sR0FBRyxDQW1FVDtBQW5FRCxXQUFPLEdBQUc7SUFBQyxJQUFBLFFBQVEsQ0FtRWxCO0lBbkVVLFdBQUEsUUFBUTtRQUNsQjtZQVFDLDZCQUNTLEVBQWdCO2dCQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO2dCQVJqQixlQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixTQUFJLEdBQUcsUUFBUSxDQUFDO1lBVXhCLENBQUM7WUFFRCw0Q0FBYyxHQUFkO2dCQUFBLGlCQU1DO2dCQUxBLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7b0JBQ3RCLEtBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFFRCx3Q0FBVSxHQUFWLFVBQVcsT0FBZTtnQkFDekIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUVPLHVDQUFTLEdBQWpCO2dCQUNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxRCxDQUFDO1lBRUQsbURBQXFCLEdBQXJCLFVBQXlCLE9BQWU7Z0JBQ3ZDLElBQUksVUFBYSxDQUFDO2dCQUVsQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQWtDLENBQUM7Z0JBQ3RGLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDL0csT0FBTyxJQUFJLENBQUM7aUJBQ1o7Z0JBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxxQ0FBTyxHQUFQLFVBQVcsT0FBZTtnQkFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBRU8sdUNBQVMsR0FBakIsVUFBa0IsT0FBZTtnQkFDaEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ3ZDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3pCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQzVEO1lBQ0YsQ0FBQztZQUVELHFDQUFPLEdBQVAsVUFBVyxPQUFlLEVBQUUsSUFBTyxFQUFFLGFBQXNCO2dCQUMxRCxJQUFJLFNBQVMsR0FBRyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3BFLElBQUksV0FBVyxHQUFrQztvQkFDaEQsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuRCxVQUFVLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQztnQkFDRixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQXpETSwyQkFBTyxHQUFHO2dCQUNoQixJQUFJO2FBQ0osQ0FBQztZQXdESCwwQkFBQztTQTlERCxBQThEQyxJQUFBO1FBOURZLDRCQUFtQixzQkE4RC9CLENBQUE7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQzthQUM1QixPQUFPLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RCxDQUFDLEVBbkVVLFFBQVEsR0FBUixZQUFRLEtBQVIsWUFBUSxRQW1FbEI7QUFBRCxDQUFDLEVBbkVNLEdBQUcsS0FBSCxHQUFHLFFBbUVUIiwiZmlsZSI6InNlcnZpY2VzL3NoYXJlZC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuU2VydmljZXMge1xuXHRleHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSB7XG5cdFx0cHJpdmF0ZSBjYWNoZUhvdXJzID0gMjQ7XG5cdFx0cHJpdmF0ZSBrZXlzID0gJ2FwS2V5cyc7XG5cblx0XHRzdGF0aWMgJGluamVjdCA9IFtcblx0XHRcdCckcSdcblx0XHRdO1xuXG5cdFx0Y29uc3RydWN0b3IoXG5cdFx0XHRwcml2YXRlICRxOiBuZy5JUVNlcnZpY2Vcblx0XHQpIHtcblxuXHRcdH1cblxuXHRcdGRlbGV0ZUFsbEl0ZW1zKCk6IHZvaWQge1xuXHRcdFx0dmFyIHN0b3JlZEtleXMgPSB0aGlzLmdldEFwS2V5cygpO1xuXHRcdFx0c3RvcmVkS2V5cy5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRcdFx0dGhpcy5kZWxldGVJdGVtKGtleSk7XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuZGVsZXRlSXRlbSh0aGlzLmtleXMpO1xuXHRcdH1cblxuXHRcdGRlbGV0ZUl0ZW0oaXRlbUtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRsb2NhbFN0b3JhZ2Uuc2V0SXRlbShpdGVtS2V5LCBudWxsKTtcblx0XHR9XG5cblx0XHRwcml2YXRlIGdldEFwS2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0XHRyZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMpKSB8fCBbXTtcblx0XHR9XG5cblx0XHRnZXRJdGVtV2l0aG91dFByb21pc2U8VD4oaXRlbUtleTogc3RyaW5nKTogVCB7XG5cdFx0XHR2YXIgYWN0dWFsSXRlbTogVDtcblxuXHRcdFx0dmFyIGl0ZW0gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGl0ZW1LZXkpKSBhcyBJTG9jYWxTdG9yYWdlSXRlbUNvbnRhaW5lcjxUPjtcblx0XHRcdGlmIChhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoaXRlbSkgfHwgbmV3IERhdGUoaXRlbS5leHBpcmVzLnRvU3RyaW5nKCkpLmdldFRpbWUoKSA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gaXRlbS5hY3R1YWxJdGVtO1xuXHRcdH1cblxuXHRcdGdldEl0ZW08VD4oaXRlbUtleTogc3RyaW5nKTogbmcuSVByb21pc2U8VD4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHEud2hlbjxUPih0aGlzLmdldEl0ZW1XaXRob3V0UHJvbWlzZTxUPihpdGVtS2V5KSk7XG5cdFx0fVxuXG5cdFx0cHJpdmF0ZSBzYXZlQXBLZXkoaXRlbUtleTogc3RyaW5nKSB7XG5cdFx0XHR2YXIgc3RvcmVkS2V5cyA9IHRoaXMuZ2V0QXBLZXlzKCk7XG5cdFx0XHRpZiAoc3RvcmVkS2V5cy5pbmRleE9mKGl0ZW1LZXkpID09PSAtMSkge1xuXHRcdFx0XHRzdG9yZWRLZXlzLnB1c2goaXRlbUtleSk7XG5cdFx0XHRcdGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cywgSlNPTi5zdHJpbmdpZnkoc3RvcmVkS2V5cykpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHNldEl0ZW08VD4oaXRlbUtleTogc3RyaW5nLCBpdGVtOiBULCBjYWNoZVRpbWVJbk1zPzogbnVtYmVyKSB7XG5cdFx0XHR2YXIgY2FjaGVUaW1lID0gY2FjaGVUaW1lSW5NcyB8fCAodGhpcy5jYWNoZUhvdXJzICogNjAgKiA2MCAqIDEwMDApO1xuXHRcdFx0dmFyIHN0b3JhZ2VJdGVtOiBJTG9jYWxTdG9yYWdlSXRlbUNvbnRhaW5lcjxUPiA9IHtcblx0XHRcdFx0ZXhwaXJlczogbmV3IERhdGUobmV3IERhdGUoKS5nZXRUaW1lKCkgKyBjYWNoZVRpbWUpLFxuXHRcdFx0XHRhY3R1YWxJdGVtOiBpdGVtXG5cdFx0XHR9O1xuXHRcdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oaXRlbUtleSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZUl0ZW0pKTtcblx0XHRcdHRoaXMuc2F2ZUFwS2V5KGl0ZW1LZXkpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdsb2NhbFN0b3JhZ2VTZXJ2aWNlJywgTG9jYWxTdG9yYWdlU2VydmljZSk7XG59Il19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var LocationService = /** @class */ (function () {\n function LocationService($location, $route, $routeParams, authenticationService) {\n this.$location = $location;\n this.$route = $route;\n this.$routeParams = $routeParams;\n this.authenticationService = authenticationService;\n this.authData = this.authenticationService.authorizationData;\n this.routes = ap.Constants.routes;\n }\n LocationService.prototype.changeOrganization = function (organizationCacheKey) {\n this.$location.path(\"/\" + organizationCacheKey + \"/\" + ap.Constants.routes.products.name).search({});\n };\n LocationService.prototype.getOrganizationCacheKey = function (useFirstOrganizationIfRouteParamIsMissing) {\n var cacheKey = this.$routeParams.organizationCacheKey;\n if (!ap.Utilities.isNullOrWhitespace(cacheKey)) {\n return cacheKey;\n }\n cacheKey = this.search().o;\n if (!ap.Utilities.isNullOrWhitespace(cacheKey)) {\n return cacheKey;\n }\n if (ap.Utilities.isTrueValue(useFirstOrganizationIfRouteParamIsMissing) && !ap.Utilities.isNullOrUndefined(this.authData.firstOrganization)) {\n return this.authData.firstOrganization.organizationUnitCacheKey;\n }\n return null;\n };\n LocationService.prototype.isOnPage = function (route) {\n if (ap.Utilities.isNullOrUndefined(route)) {\n return false;\n }\n return this.$route.current.name === route.name;\n };\n LocationService.prototype.path = function () {\n return this.$location.path();\n };\n LocationService.prototype.redirect = function (route, action, id, searchParams, replaceHistory) {\n var organizationCacheKey = this.getOrganizationCacheKey(true);\n if (route.name === ap.Constants.routes.home.name || ap.Utilities.isNullOrWhitespace(organizationCacheKey)) {\n this.$location.path(\"/\" + ap.Constants.routes.home.name).replace();\n return;\n }\n var actionTrailingSlash = ap.Utilities.isNullOrWhitespace(action) ? '' : '/', idTrailingSlash = ap.Utilities.isNullOrUndefined(id) ? '' : '/', idString = id || '';\n this.$location.path(\"/\" + organizationCacheKey + \"/\" + route.name + actionTrailingSlash + (action || '') + idTrailingSlash + idString).search(searchParams || {});\n if (ap.Utilities.isTrueValue(replaceHistory)) {\n this.$location.replace();\n }\n };\n LocationService.prototype.search = function () {\n return this.$location.search();\n };\n LocationService.$inject = [\n '$location',\n '$route',\n '$routeParams',\n 'authenticationService'\n ];\n return LocationService;\n }());\n Services.LocationService = LocationService;\n angular.module('app.Services')\n .service('locationService', LocationService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NoYXJlZC9sb2NhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxZQUFZLENBQUM7QUFFYixJQUFPLEdBQUcsQ0ErRVQ7QUEvRUQsV0FBTyxHQUFHO0lBQUMsSUFBQSxRQUFRLENBK0VsQjtJQS9FVSxXQUFBLFFBQVE7UUFDbEI7WUFXQyx5QkFDUyxTQUE4QixFQUM5QixNQUE4QixFQUM5QixZQUFnQyxFQUNoQyxxQkFBcUQ7Z0JBSHJELGNBQVMsR0FBVCxTQUFTLENBQXFCO2dCQUM5QixXQUFNLEdBQU4sTUFBTSxDQUF3QjtnQkFDOUIsaUJBQVksR0FBWixZQUFZLENBQW9CO2dCQUNoQywwQkFBcUIsR0FBckIscUJBQXFCLENBQWdDO2dCQWR0RCxhQUFRLEdBQWEsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO2dCQUNsRSxXQUFNLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFnQnJDLENBQUM7WUFFRCw0Q0FBa0IsR0FBbEIsVUFBbUIsb0JBQTRCO2dCQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFJLG9CQUFvQixTQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakcsQ0FBQztZQUVELGlEQUF1QixHQUF2QixVQUF3Qix5Q0FBbUQ7Z0JBQzFFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQyxPQUFPLFFBQVEsQ0FBQztpQkFDaEI7Z0JBRUQsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQyxPQUFPLFFBQVEsQ0FBQztpQkFDaEI7Z0JBRUQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7b0JBQzVJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDaEU7Z0JBRUQsT0FBTyxJQUFJLENBQUM7WUFDYixDQUFDO1lBRUQsa0NBQVEsR0FBUixVQUFTLEtBQWE7Z0JBQ3JCLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxLQUFLLENBQUM7aUJBQ2I7Z0JBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQztZQUNoRCxDQUFDO1lBRUQsOEJBQUksR0FBSjtnQkFDQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUIsQ0FBQztZQUVELGtDQUFRLEdBQVIsVUFBUyxLQUFhLEVBQUUsTUFBZSxFQUFFLEVBQVcsRUFBRSxZQUFtQyxFQUFFLGNBQXdCO2dCQUNsSCxJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO29CQUMxRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbkUsT0FBTztpQkFDUDtnQkFFRCxJQUFJLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsTUFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFDckYsZUFBZSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUMvRCxRQUFRLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFFckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBSSxvQkFBb0IsU0FBSSxLQUFLLENBQUMsSUFBSSxHQUFHLG1CQUFtQixJQUFHLE1BQU0sSUFBSSxFQUFFLElBQUcsZUFBZSxHQUFHLFFBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNKLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7b0JBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3pCO1lBQ0YsQ0FBQztZQUVELGdDQUFNLEdBQU47Z0JBQ0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFyRU0sdUJBQU8sR0FBRztnQkFDaEIsV0FBVztnQkFDWCxRQUFRO2dCQUNSLGNBQWM7Z0JBQ2QsdUJBQXVCO2FBQ3ZCLENBQUM7WUFpRUgsc0JBQUM7U0ExRUQsQUEwRUMsSUFBQTtRQTFFWSx3QkFBZSxrQkEwRTNCLENBQUE7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQzthQUM1QixPQUFPLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQS9FVSxRQUFRLEdBQVIsWUFBUSxLQUFSLFlBQVEsUUErRWxCO0FBQUQsQ0FBQyxFQS9FTSxHQUFHLEtBQUgsR0FBRyxRQStFVCIsImZpbGUiOiJzZXJ2aWNlcy9zaGFyZWQvbG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5TZXJ2aWNlcyB7XG5cdGV4cG9ydCBjbGFzcyBMb2NhdGlvblNlcnZpY2Uge1xuXHRcdHByaXZhdGUgYXV0aERhdGE6IEF1dGhEYXRhID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aG9yaXphdGlvbkRhdGE7XG5cdFx0cHJpdmF0ZSByb3V0ZXMgPSBhcC5Db25zdGFudHMucm91dGVzO1xuXG5cdFx0c3RhdGljICRpbmplY3QgPSBbXG5cdFx0XHQnJGxvY2F0aW9uJyxcblx0XHRcdCckcm91dGUnLFxuXHRcdFx0JyRyb3V0ZVBhcmFtcycsXG5cdFx0XHQnYXV0aGVudGljYXRpb25TZXJ2aWNlJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByaXZhdGUgJGxvY2F0aW9uOiBuZy5JTG9jYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkcm91dGU6IG5nLnJvdXRlLklSb3V0ZVNlcnZpY2UsXG5cdFx0XHRwcml2YXRlICRyb3V0ZVBhcmFtczogSVJvdXRlUGFyYW1TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IFNlcnZpY2VzLkF1dGhlbnRpY2F0aW9uU2VydmljZVxuXHRcdCkge1xuXG5cdFx0fVxuXG5cdFx0Y2hhbmdlT3JnYW5pemF0aW9uKG9yZ2FuaXphdGlvbkNhY2hlS2V5OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRcdHRoaXMuJGxvY2F0aW9uLnBhdGgoYC8ke29yZ2FuaXphdGlvbkNhY2hlS2V5fS8ke2FwLkNvbnN0YW50cy5yb3V0ZXMucHJvZHVjdHMubmFtZX1gKS5zZWFyY2goe30pO1xuXHRcdH1cblxuXHRcdGdldE9yZ2FuaXphdGlvbkNhY2hlS2V5KHVzZUZpcnN0T3JnYW5pemF0aW9uSWZSb3V0ZVBhcmFtSXNNaXNzaW5nPzogYm9vbGVhbik6IHN0cmluZyB7XG5cdFx0XHR2YXIgY2FjaGVLZXkgPSB0aGlzLiRyb3V0ZVBhcmFtcy5vcmdhbml6YXRpb25DYWNoZUtleTtcblx0XHRcdGlmICghYXAuVXRpbGl0aWVzLmlzTnVsbE9yV2hpdGVzcGFjZShjYWNoZUtleSkpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlS2V5O1xuXHRcdFx0fVxuXG5cdFx0XHRjYWNoZUtleSA9IHRoaXMuc2VhcmNoKCkubztcblx0XHRcdGlmICghYXAuVXRpbGl0aWVzLmlzTnVsbE9yV2hpdGVzcGFjZShjYWNoZUtleSkpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlS2V5O1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoYXAuVXRpbGl0aWVzLmlzVHJ1ZVZhbHVlKHVzZUZpcnN0T3JnYW5pemF0aW9uSWZSb3V0ZVBhcmFtSXNNaXNzaW5nKSAmJiAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuYXV0aERhdGEuZmlyc3RPcmdhbml6YXRpb24pKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmF1dGhEYXRhLmZpcnN0T3JnYW5pemF0aW9uLm9yZ2FuaXphdGlvblVuaXRDYWNoZUtleTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0aXNPblBhZ2Uocm91dGU6IElSb3V0ZSk6IGJvb2xlYW4ge1xuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChyb3V0ZSkpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gdGhpcy4kcm91dGUuY3VycmVudC5uYW1lID09PSByb3V0ZS5uYW1lO1xuXHRcdH1cblxuXHRcdHBhdGgoKTogc3RyaW5nIHtcblx0XHRcdHJldHVybiB0aGlzLiRsb2NhdGlvbi5wYXRoKCk7XG5cdFx0fVxuXG5cdFx0cmVkaXJlY3Qocm91dGU6IElSb3V0ZSwgYWN0aW9uPzogc3RyaW5nLCBpZD86IG51bWJlciwgc2VhcmNoUGFyYW1zPzogSUxvY2F0aW9uUXVlcnlQYXJhbXMsIHJlcGxhY2VIaXN0b3J5PzogYm9vbGVhbik6IHZvaWQge1xuXHRcdFx0dmFyIG9yZ2FuaXphdGlvbkNhY2hlS2V5ID0gdGhpcy5nZXRPcmdhbml6YXRpb25DYWNoZUtleSh0cnVlKTtcblx0XHRcdGlmIChyb3V0ZS5uYW1lID09PSBhcC5Db25zdGFudHMucm91dGVzLmhvbWUubmFtZSB8fCBhcC5VdGlsaXRpZXMuaXNOdWxsT3JXaGl0ZXNwYWNlKG9yZ2FuaXphdGlvbkNhY2hlS2V5KSkge1xuXHRcdFx0XHR0aGlzLiRsb2NhdGlvbi5wYXRoKGAvJHthcC5Db25zdGFudHMucm91dGVzLmhvbWUubmFtZX1gKS5yZXBsYWNlKCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dmFyIGFjdGlvblRyYWlsaW5nU2xhc2ggPSBhcC5VdGlsaXRpZXMuaXNOdWxsT3JXaGl0ZXNwYWNlKGFjdGlvbiBhcyBzdHJpbmcpID8gJycgOiAnLycsXG5cdFx0XHRcdGlkVHJhaWxpbmdTbGFzaCA9IGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChpZCkgPyAnJyA6ICcvJyxcblx0XHRcdFx0aWRTdHJpbmcgPSBpZCB8fCAnJztcblxuXHRcdFx0dGhpcy4kbG9jYXRpb24ucGF0aChgLyR7b3JnYW5pemF0aW9uQ2FjaGVLZXl9LyR7cm91dGUubmFtZX0ke2FjdGlvblRyYWlsaW5nU2xhc2h9JHthY3Rpb24gfHwgJyd9JHtpZFRyYWlsaW5nU2xhc2h9JHtpZFN0cmluZ31gKS5zZWFyY2goc2VhcmNoUGFyYW1zIHx8IHt9KTtcblx0XHRcdGlmIChhcC5VdGlsaXRpZXMuaXNUcnVlVmFsdWUocmVwbGFjZUhpc3RvcnkpKSB7XG5cdFx0XHRcdHRoaXMuJGxvY2F0aW9uLnJlcGxhY2UoKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzZWFyY2goKTogSUxvY2F0aW9uUXVlcnlQYXJhbXMge1xuXHRcdFx0cmV0dXJuIHRoaXMuJGxvY2F0aW9uLnNlYXJjaCgpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuU2VydmljZXMnKVxuXHRcdC5zZXJ2aWNlKCdsb2NhdGlvblNlcnZpY2UnLCBMb2NhdGlvblNlcnZpY2UpO1xufVxuIl19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Services;\n (function (Services) {\n var SsoService = /** @class */ (function () {\n function SsoService($interval, $q, authenticationService, ssoApiService, appSettings) {\n var _this = this;\n this.$interval = $interval;\n this.$q = $q;\n this.authenticationService = authenticationService;\n this.ssoApiService = ssoApiService;\n this.appSettings = appSettings;\n this._authData = this.authenticationService.authorizationData;\n this._bufferInMinutes = 5;\n this._loadedOrganizations = false;\n this._loadedRoles = false;\n this._oneMinuteInMilliseconds = 60 * 1000;\n this._organizations = { count: 0, list: [] };\n $interval(function () { return _this.init(); }, this._oneMinuteInMilliseconds);\n this.init();\n }\n SsoService.prototype.$destroy = function () {\n if (!ap.Utilities.isNullOrUndefined(this._interval)) {\n this.$interval.cancel(this._interval);\n }\n };\n Object.defineProperty(SsoService.prototype, \"organizations\", {\n get: function () { return this._organizations; },\n enumerable: true,\n configurable: true\n });\n // These are the actual role names for the system NOT claims but the role (collection of claims)\n SsoService.prototype.getActiveApplicationRoles = function (type) {\n var _this = this;\n if (this._loadedRoles) {\n var roles = type === ApplicationRoleType.ApplicationUserRole ? this._applicationRoles : this._productRoles;\n return this.$q.when(roles);\n }\n return this.ssoApiService.getActiveApplicationRoles().then(function (allRoles) {\n allRoles = allRoles || [];\n ap.Utilities.sortByProperty(allRoles, 'name');\n _this._applicationRoles = allRoles.filter(function (x) { return x.applicationRoleType === ApplicationRoleType.ApplicationUserRole && x.isActive; });\n _this._productRoles = allRoles.filter(function (x) { return x.applicationRoleType === ApplicationRoleType.ProductUserRole && x.isActive; });\n if (type === ApplicationRoleType.ApplicationUserRole) {\n return _this._applicationRoles;\n }\n return _this._productRoles;\n });\n };\n SsoService.prototype.createSearchableOrgs = function () {\n var _this = this;\n return this.$q(function (resolve) {\n if (!ap.Utilities.isNullOrUndefined(_this._searchableOrgs) && !ap.Utilities.isNullOrEmptyCollection(_this._searchableOrgs)) {\n resolve(_this._searchableOrgs);\n }\n _this.loadUsersOrganizationsList().then(function () {\n _this._searchableOrgs = [];\n if (_this.isAutoPointAdmin()) {\n angular.forEach(_this._organizations, function (org) {\n if (!ap.Utilities.isNullOrUndefined(org.cacheKey)) {\n _this._searchableOrgs.push({ cacheKey: org.cacheKey, name: org.name });\n }\n });\n }\n else {\n angular.forEach(_this._organizations.list, function (org) {\n if (!ap.Utilities.isNullOrUndefined(org.cacheKey)) {\n _this._searchableOrgs.push({ cacheKey: org.cacheKey, name: org.name });\n }\n });\n }\n resolve(_this._searchableOrgs);\n });\n });\n };\n SsoService.prototype.loadUsersOrganizationsList = function () {\n var _this = this;\n if (this._loadedOrganizations) {\n this.$q.when(this._loadedOrganizations);\n }\n if (ap.Utilities.isNullOrUndefined(this._orgListPromise)) {\n this._orgListPromise = this.ssoApiService.getUsersOrganizationsList().then(function (userOrganizations) {\n userOrganizations = userOrganizations || [];\n ap.Utilities.sortByProperty(userOrganizations, 'name');\n var organizations = { count: 0, list: [] };\n userOrganizations.forEach(function (userOrganization) { return organizations.list.push(_this.ensureOrganizationMappings(userOrganization)); });\n userOrganizations.forEach(function (userOrganization) { return _this.referenceOrganization(organizations, userOrganization); });\n organizations.lastUiUpdate = Date.now();\n ap.Utilities.extend(true, _this._organizations, organizations);\n return _this._loadedOrganizations = true;\n }, function () { return false; });\n }\n return this._orgListPromise;\n };\n SsoService.prototype.referenceOrganization = function (organizations, organization) {\n var _this = this;\n if (ap.Utilities.isNullOrUndefined(organization) || ap.Utilities.isNullOrUndefined(organizations)) {\n return;\n }\n ++organizations.count;\n organizations[organization.cacheKey] = organization;\n ap.Utilities.sortByProperty(organization.subOrganizationUnits, 'name');\n (organization.subOrganizationUnits || []).forEach(function (subOrganization) { return _this.referenceOrganization(organizations, subOrganization); });\n };\n SsoService.prototype.ensureOrganizationMappings = function (org) {\n var _this = this;\n if (org.hasOwnProperty('cacheKey')) {\n return org;\n }\n var organization = {\n cacheKey: org['CacheKey'],\n name: org['Name'],\n parentOrganizationUnitCacheKey: org['ParentOrganizationUnitCacheKey'],\n subOrganizationCacheKeys: org['SubOrganizationCacheKeys'] || [],\n subOrganizationUnits: [],\n type: org['Type']\n };\n (org['SubOrganizationUnits'] || []).forEach(function (subOrg) {\n var subOrganization = _this.ensureOrganizationMappings(subOrg);\n organization.subOrganizationUnits.push(subOrganization);\n if (ap.Utilities.isNullOrEmptyCollection(organization.subOrganizationCacheKeys.filter(function (x) { return x === organization.cacheKey; }))) {\n organization.subOrganizationCacheKeys.push(organization.cacheKey);\n }\n });\n return organization;\n };\n SsoService.prototype.init = function () {\n var _this = this;\n if (!this._authData.isStale(this._bufferInMinutes) && this._authData.hasPermissions) {\n return;\n }\n this.renewAccessToken().then(function (updatedAuthData) {\n if (!updatedAuthData) {\n _this.authenticationService.logout();\n }\n });\n };\n SsoService.prototype.renewAccessToken = function () {\n return this.ssoApiService.renewAccessToken(this._authData);\n };\n SsoService.prototype.isAutoPointAdmin = function () {\n var _this = this;\n var isApAdmin = false;\n this._organizations.list.forEach(function (org) {\n if (_this._authData.hasOrganizationProductRole(AutoPointRole.Admin, org.cacheKey) && org.cacheKey === ap.Constants.autoPointOrg.cacheKey) {\n isApAdmin = true;\n }\n });\n return isApAdmin;\n };\n SsoService.$inject = [\n '$interval',\n '$q',\n 'authenticationService',\n 'ssoApiService',\n 'appSettings'\n ];\n return SsoService;\n }());\n Services.SsoService = SsoService;\n angular.module('app.Services')\n .service('ssoService', SsoService);\n })(Services = app.Services || (app.Services = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NoYXJlZC9zc28uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBb0xUO0FBcExELFdBQU8sR0FBRztJQUFDLElBQUEsUUFBUSxDQW9MbEI7SUFwTFUsV0FBQSxRQUFRO1FBQ2xCO1lBc0JDLG9CQUNTLFNBQThCLEVBQzlCLEVBQWdCLEVBQ2hCLHFCQUFxRCxFQUNuRCxhQUFxQyxFQUN2QyxXQUF5QjtnQkFMbEMsaUJBVUM7Z0JBVFEsY0FBUyxHQUFULFNBQVMsQ0FBcUI7Z0JBQzlCLE9BQUUsR0FBRixFQUFFLENBQWM7Z0JBQ2hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBZ0M7Z0JBQ25ELGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtnQkFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWM7Z0JBMUIxQixjQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO2dCQUV6RCxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7Z0JBRXJCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztnQkFDN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLDZCQUF3QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ3JDLG1CQUFjLEdBQXdCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBc0JwRSxTQUFTLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLEVBQUUsRUFBWCxDQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLENBQUM7WUFFTSw2QkFBUSxHQUFmO2dCQUNDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLFNB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WUFBUSxLQUFSLFlBQVEsUUFvTGxCO0FBQUQsQ0FBQyxFQXBMTSxHQUFHLEtBQUgsR0FBRyxRQW9MVCIsImZpbGUiOiJzZXJ2aWNlcy9zaGFyZWQvc3NvLnNlcnZpY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuU2VydmljZXMge1xuXHRleHBvcnQgY2xhc3MgU3NvU2VydmljZSB7XG5cdFx0cHJpdmF0ZSBfYXV0aERhdGEgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRob3JpemF0aW9uRGF0YTtcblx0XHRwcml2YXRlIF9hcHBsaWNhdGlvblJvbGVzOiBJQXBwbGljYXRpb25Sb2xlW107XG5cdFx0cHJpdmF0ZSBfYnVmZmVySW5NaW51dGVzID0gNTtcblx0XHRwcml2YXRlIF9pbnRlcnZhbDogbmcuSVByb21pc2U8YW55PjsgLy8gVGhpcyBpcyBhbiBcImFueVwiIHNpbmNlIHRoYXQgaXMgd2FzIGl0IHJldHVybnNcblx0XHRwcml2YXRlIF9sb2FkZWRPcmdhbml6YXRpb25zID0gZmFsc2U7XG5cdFx0cHJpdmF0ZSBfbG9hZGVkUm9sZXMgPSBmYWxzZTtcblx0XHRwcml2YXRlIF9vbmVNaW51dGVJbk1pbGxpc2Vjb25kcyA9IDYwICogMTAwMDtcblx0XHRwcml2YXRlIF9vcmdhbml6YXRpb25zOiBJT3JnYW5pemF0aW9uSG9sZGVyID0geyBjb3VudDogMCwgbGlzdDogW10gfTtcblx0XHRwcml2YXRlIF9vcmdMaXN0UHJvbWlzZTogbmcuSVByb21pc2U8Ym9vbGVhbj47XG5cdFx0cHJpdmF0ZSBfcHJvZHVjdFJvbGVzOiBJQXBwbGljYXRpb25Sb2xlW107XG5cdFx0X3NlYXJjaGFibGVPcmdzOiBBcnJheTx7Y2FjaGVLZXk6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB9Pjtcblx0XHRwcml2YXRlIF9zZWFyY2hhYmxlT3Jnc1Byb21pc2U6IG5nLklQcm9taXNlPEFycmF5PHtjYWNoZUtleTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IH0+PjtcblxuXHRcdHN0YXRpYyAkaW5qZWN0ID0gW1xuXHRcdFx0JyRpbnRlcnZhbCcsXG5cdFx0XHQnJHEnLFxuXHRcdFx0J2F1dGhlbnRpY2F0aW9uU2VydmljZScsXG5cdFx0XHQnc3NvQXBpU2VydmljZScsXG5cdFx0XHQnYXBwU2V0dGluZ3MnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkaW50ZXJ2YWw6IG5nLklJbnRlcnZhbFNlcnZpY2UsXG5cdFx0XHRwcml2YXRlICRxOiBuZy5JUVNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogU2VydmljZXMuQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJvdGVjdGVkIHNzb0FwaVNlcnZpY2U6IFNlcnZpY2VzLlNzb0FwaVNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGFwcFNldHRpbmdzOiBJQXBwU2V0dGluZ3Ncblx0XHQpIHtcblxuXHRcdFx0JGludGVydmFsKCgpID0+IHRoaXMuaW5pdCgpLCB0aGlzLl9vbmVNaW51dGVJbk1pbGxpc2Vjb25kcyk7XG5cdFx0XHR0aGlzLmluaXQoKTtcblx0XHR9XG5cblx0XHRwdWJsaWMgJGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLl9pbnRlcnZhbCkpIHtcblx0XHRcdFx0dGhpcy4kaW50ZXJ2YWwuY2FuY2VsKHRoaXMuX2ludGVydmFsKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwdWJsaWMgZ2V0IG9yZ2FuaXphdGlvbnMoKTogSU9yZ2FuaXphdGlvbkhvbGRlciB7IHJldHVybiB0aGlzLl9vcmdhbml6YXRpb25zOyB9XG5cblx0XHQvLyBUaGVzZSBhcmUgdGhlIGFjdHVhbCByb2xlIG5hbWVzIGZvciB0aGUgc3lzdGVtIE5PVCBjbGFpbXMgYnV0IHRoZSByb2xlIChjb2xsZWN0aW9uIG9mIGNsYWltcylcblx0XHRwdWJsaWMgZ2V0QWN0aXZlQXBwbGljYXRpb25Sb2xlcyh0eXBlOiBBcHBsaWNhdGlvblJvbGVUeXBlKTogbmcuSVByb21pc2U8SUFwcGxpY2F0aW9uUm9sZVtdPiB7XG5cdFx0XHRpZiAodGhpcy5fbG9hZGVkUm9sZXMpIHtcblx0XHRcdFx0dmFyIHJvbGVzID0gdHlwZSA9PT0gQXBwbGljYXRpb25Sb2xlVHlwZS5BcHBsaWNhdGlvblVzZXJSb2xlID8gdGhpcy5fYXBwbGljYXRpb25Sb2xlcyA6IHRoaXMuX3Byb2R1Y3RSb2xlcztcblx0XHRcdFx0cmV0dXJuIHRoaXMuJHEud2hlbjxJQXBwbGljYXRpb25Sb2xlW10+KHJvbGVzKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHRoaXMuc3NvQXBpU2VydmljZS5nZXRBY3RpdmVBcHBsaWNhdGlvblJvbGVzKCkudGhlbigoYWxsUm9sZXM6IElBcHBsaWNhdGlvblJvbGVbXSkgPT4ge1xuXHRcdFx0XHRhbGxSb2xlcyA9IGFsbFJvbGVzIHx8IFtdO1xuXHRcdFx0XHRhcC5VdGlsaXRpZXMuc29ydEJ5UHJvcGVydHkoYWxsUm9sZXMsICduYW1lJyk7XG5cblx0XHRcdFx0dGhpcy5fYXBwbGljYXRpb25Sb2xlcyA9IGFsbFJvbGVzLmZpbHRlcih4ID0+IHguYXBwbGljYXRpb25Sb2xlVHlwZSA9PT0gQXBwbGljYXRpb25Sb2xlVHlwZS5BcHBsaWNhdGlvblVzZXJSb2xlICYmIHguaXNBY3RpdmUpO1xuXHRcdFx0XHR0aGlzLl9wcm9kdWN0Um9sZXMgPSBhbGxSb2xlcy5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uUm9sZVR5cGUgPT09IEFwcGxpY2F0aW9uUm9sZVR5cGUuUHJvZHVjdFVzZXJSb2xlICYmIHguaXNBY3RpdmUpO1xuXG5cdFx0XHRcdGlmICh0eXBlID09PSBBcHBsaWNhdGlvblJvbGVUeXBlLkFwcGxpY2F0aW9uVXNlclJvbGUpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5fYXBwbGljYXRpb25Sb2xlcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB0aGlzLl9wcm9kdWN0Um9sZXM7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRwdWJsaWMgY3JlYXRlU2VhcmNoYWJsZU9yZ3MoKTogbmcuSVByb21pc2U8QXJyYXk8eyBjYWNoZUtleTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7fT4+IHtcblx0XHRcdHJldHVybiB0aGlzLiRxKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdGlmKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5fc2VhcmNoYWJsZU9yZ3MpICYmICFhcC5VdGlsaXRpZXMuaXNOdWxsT3JFbXB0eUNvbGxlY3Rpb24odGhpcy5fc2VhcmNoYWJsZU9yZ3MpKSB7XG5cdFx0XHRcdFx0cmVzb2x2ZSh0aGlzLl9zZWFyY2hhYmxlT3Jncyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmxvYWRVc2Vyc09yZ2FuaXphdGlvbnNMaXN0KCkudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5fc2VhcmNoYWJsZU9yZ3MgPSBbXTtcblx0XHRcdFx0XHRpZih0aGlzLmlzQXV0b1BvaW50QWRtaW4oKSkge1xuXHRcdFx0XHRcdFx0YW5ndWxhci5mb3JFYWNoKHRoaXMuX29yZ2FuaXphdGlvbnMsIChvcmcpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChvcmcuY2FjaGVLZXkpKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fc2VhcmNoYWJsZU9yZ3MucHVzaCh7Y2FjaGVLZXk6IG9yZy5jYWNoZUtleSwgbmFtZTogb3JnLm5hbWV9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGFuZ3VsYXIuZm9yRWFjaCh0aGlzLl9vcmdhbml6YXRpb25zLmxpc3QsIChvcmcpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChvcmcuY2FjaGVLZXkpKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fc2VhcmNoYWJsZU9yZ3MucHVzaCh7Y2FjaGVLZXk6IG9yZy5jYWNoZUtleSwgbmFtZTogb3JnLm5hbWV9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmVzb2x2ZSh0aGlzLl9zZWFyY2hhYmxlT3Jncyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0cHVibGljIGxvYWRVc2Vyc09yZ2FuaXphdGlvbnNMaXN0KCk6IG5nLklQcm9taXNlPGJvb2xlYW4+IHtcblx0XHRcdGlmICh0aGlzLl9sb2FkZWRPcmdhbml6YXRpb25zKSB7XG5cdFx0XHRcdHRoaXMuJHEud2hlbih0aGlzLl9sb2FkZWRPcmdhbml6YXRpb25zKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLl9vcmdMaXN0UHJvbWlzZSkpIHtcblx0XHRcdFx0dGhpcy5fb3JnTGlzdFByb21pc2UgPSB0aGlzLnNzb0FwaVNlcnZpY2UuZ2V0VXNlcnNPcmdhbml6YXRpb25zTGlzdCgpLnRoZW4oKHVzZXJPcmdhbml6YXRpb25zOiBJU2ltcGxlT3JnYW5pemF0aW9uW10pID0+IHtcblx0XHRcdFx0XHR1c2VyT3JnYW5pemF0aW9ucyA9IHVzZXJPcmdhbml6YXRpb25zIHx8IFtdO1xuXHRcdFx0XHRcdGFwLlV0aWxpdGllcy5zb3J0QnlQcm9wZXJ0eSh1c2VyT3JnYW5pemF0aW9ucywgJ25hbWUnKTtcblx0XHRcdFx0XHR2YXIgb3JnYW5pemF0aW9uczogSU9yZ2FuaXphdGlvbkhvbGRlciA9IHsgY291bnQ6IDAsIGxpc3Q6IFtdIH07XG5cblx0XHRcdFx0XHR1c2VyT3JnYW5pemF0aW9ucy5mb3JFYWNoKCh1c2VyT3JnYW5pemF0aW9uKSA9PiBvcmdhbml6YXRpb25zLmxpc3QucHVzaCh0aGlzLmVuc3VyZU9yZ2FuaXphdGlvbk1hcHBpbmdzKHVzZXJPcmdhbml6YXRpb24pKSk7XG5cdFx0XHRcdFx0dXNlck9yZ2FuaXphdGlvbnMuZm9yRWFjaCgodXNlck9yZ2FuaXphdGlvbikgPT4gdGhpcy5yZWZlcmVuY2VPcmdhbml6YXRpb24ob3JnYW5pemF0aW9ucywgdXNlck9yZ2FuaXphdGlvbikpO1xuXHRcdFx0XHRcdG9yZ2FuaXphdGlvbnMubGFzdFVpVXBkYXRlID0gRGF0ZS5ub3coKTtcblxuXHRcdFx0XHRcdGFwLlV0aWxpdGllcy5leHRlbmQodHJ1ZSwgdGhpcy5fb3JnYW5pemF0aW9ucywgb3JnYW5pemF0aW9ucyk7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuX2xvYWRlZE9yZ2FuaXphdGlvbnMgPSB0cnVlO1xuXHRcdFx0XHR9LCAoKSA9PiBmYWxzZSk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLl9vcmdMaXN0UHJvbWlzZTtcblx0XHR9XG5cblx0XHRwcml2YXRlIHJlZmVyZW5jZU9yZ2FuaXphdGlvbihvcmdhbml6YXRpb25zOiBJT3JnYW5pemF0aW9uSG9sZGVyLCBvcmdhbml6YXRpb246IElTaW1wbGVPcmdhbml6YXRpb24pOiB2b2lkIHtcblx0XHRcdGlmIChhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQob3JnYW5pemF0aW9uKSB8fCBhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQob3JnYW5pemF0aW9ucykpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHQrK29yZ2FuaXphdGlvbnMuY291bnQ7XG5cdFx0XHRvcmdhbml6YXRpb25zW29yZ2FuaXphdGlvbi5jYWNoZUtleV0gPSBvcmdhbml6YXRpb247XG5cdFx0XHRhcC5VdGlsaXRpZXMuc29ydEJ5UHJvcGVydHkob3JnYW5pemF0aW9uLnN1Yk9yZ2FuaXphdGlvblVuaXRzLCAnbmFtZScpO1xuXHRcdFx0KG9yZ2FuaXphdGlvbi5zdWJPcmdhbml6YXRpb25Vbml0cyB8fCBbXSkuZm9yRWFjaCgoc3ViT3JnYW5pemF0aW9uKSA9PiB0aGlzLnJlZmVyZW5jZU9yZ2FuaXphdGlvbihvcmdhbml6YXRpb25zLCBzdWJPcmdhbml6YXRpb24pKTtcblx0XHR9XG5cblx0XHRwcml2YXRlIGVuc3VyZU9yZ2FuaXphdGlvbk1hcHBpbmdzKG9yZzogSVNpbXBsZU9yZ2FuaXphdGlvbik6IElTaW1wbGVPcmdhbml6YXRpb24ge1xuXHRcdFx0aWYgKG9yZy5oYXNPd25Qcm9wZXJ0eSgnY2FjaGVLZXknKSkge1xuXHRcdFx0XHRyZXR1cm4gb3JnO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgb3JnYW5pemF0aW9uOiBJU2ltcGxlT3JnYW5pemF0aW9uID0ge1xuXHRcdFx0XHRjYWNoZUtleTogb3JnWydDYWNoZUtleSddLFxuXHRcdFx0XHRuYW1lOiBvcmdbJ05hbWUnXSxcblx0XHRcdFx0cGFyZW50T3JnYW5pemF0aW9uVW5pdENhY2hlS2V5OiBvcmdbJ1BhcmVudE9yZ2FuaXphdGlvblVuaXRDYWNoZUtleSddLFxuXHRcdFx0XHRzdWJPcmdhbml6YXRpb25DYWNoZUtleXM6IG9yZ1snU3ViT3JnYW5pemF0aW9uQ2FjaGVLZXlzJ10gfHwgW10sXG5cdFx0XHRcdHN1Yk9yZ2FuaXphdGlvblVuaXRzOiBbXSxcblx0XHRcdFx0dHlwZTogb3JnWydUeXBlJ11cblx0XHRcdH07XG5cblx0XHRcdChvcmdbJ1N1Yk9yZ2FuaXphdGlvblVuaXRzJ10gfHwgW10pLmZvckVhY2goc3ViT3JnID0+IHtcblx0XHRcdFx0dmFyIHN1Yk9yZ2FuaXphdGlvbiA9IHRoaXMuZW5zdXJlT3JnYW5pemF0aW9uTWFwcGluZ3Moc3ViT3JnKTtcblx0XHRcdFx0b3JnYW5pemF0aW9uLnN1Yk9yZ2FuaXphdGlvblVuaXRzLnB1c2goc3ViT3JnYW5pemF0aW9uKTtcblx0XHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPckVtcHR5Q29sbGVjdGlvbihvcmdhbml6YXRpb24uc3ViT3JnYW5pemF0aW9uQ2FjaGVLZXlzLmZpbHRlcih4ID0+IHggPT09IG9yZ2FuaXphdGlvbi5jYWNoZUtleSkpKSB7XG5cdFx0XHRcdFx0b3JnYW5pemF0aW9uLnN1Yk9yZ2FuaXphdGlvbkNhY2hlS2V5cy5wdXNoKG9yZ2FuaXphdGlvbi5jYWNoZUtleSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHRyZXR1cm4gb3JnYW5pemF0aW9uO1xuXHRcdH1cblxuXHRcdHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcblx0XHRcdGlmICghdGhpcy5fYXV0aERhdGEuaXNTdGFsZSh0aGlzLl9idWZmZXJJbk1pbnV0ZXMpICYmIHRoaXMuX2F1dGhEYXRhLmhhc1Blcm1pc3Npb25zKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5yZW5ld0FjY2Vzc1Rva2VuKCkudGhlbigodXBkYXRlZEF1dGhEYXRhOiBib29sZWFuKSA9PiB7XG5cdFx0XHRcdGlmICghdXBkYXRlZEF1dGhEYXRhKSB7XG5cdFx0XHRcdFx0dGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHB1YmxpYyByZW5ld0FjY2Vzc1Rva2VuKCk6IG5nLklQcm9taXNlPGJvb2xlYW4+IHtcblx0XHRcdHJldHVybiB0aGlzLnNzb0FwaVNlcnZpY2UucmVuZXdBY2Nlc3NUb2tlbih0aGlzLl9hdXRoRGF0YSk7XG5cdFx0fVxuXG5cdFx0cHJpdmF0ZSBpc0F1dG9Qb2ludEFkbWluKCk6IGJvb2xlYW4ge1xuXHRcdFx0bGV0IGlzQXBBZG1pbiA9IGZhbHNlO1xuXHRcdFx0dGhpcy5fb3JnYW5pemF0aW9ucy5saXN0LmZvckVhY2goKG9yZykgPT4ge1xuXHRcdFx0XHRpZih0aGlzLl9hdXRoRGF0YS5oYXNPcmdhbml6YXRpb25Qcm9kdWN0Um9sZShBdXRvUG9pbnRSb2xlLkFkbWluLCBvcmcuY2FjaGVLZXkpICYmIG9yZy5jYWNoZUtleSA9PT0gYXAuQ29uc3RhbnRzLmF1dG9Qb2ludE9yZy5jYWNoZUtleSkge1xuXHRcdFx0XHRcdGlzQXBBZG1pbiA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIGlzQXBBZG1pbjtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlNlcnZpY2VzJylcblx0XHQuc2VydmljZSgnc3NvU2VydmljZScsIFNzb1NlcnZpY2UpO1xufVxuIl19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Home;\n (function (Home) {\n var HomeController = /** @class */ (function () {\n function HomeController($location, authenticationService, locationService, ssoService) {\n this.$location = $location;\n this.authenticationService = authenticationService;\n this.locationService = locationService;\n this.ssoService = ssoService;\n this.keys = {\n loading: 'Loading your organizations...',\n select: ap.Constants.translationKeys.shell.selectLocation,\n };\n this.minOrgCount = 11;\n this.organizations = this.ssoService.organizations;\n this.rightPanelPadding = 7;\n this.init();\n }\n HomeController.prototype.getFirstLocationIfOnlySubOrganizationsExist = function () {\n var organization = this.organizations[this.organizationCacheKey];\n if (!ap.Utilities.isNullOrUndefined(organization)) {\n return organization;\n }\n if (this.organizations.count > 2) {\n return null;\n }\n var index = this.organizations.count === 1 ? 0 : 1;\n organization = this.organizations.list[index];\n return organization.type === OrganizationUnitType.Location ? organization : null;\n };\n HomeController.prototype.init = function () {\n var _this = this;\n this.organizationCacheKey = this.locationService.getOrganizationCacheKey(true);\n this.ssoService.loadUsersOrganizationsList().then(function (success) {\n // Not sure how this might happen but if it does log the user out of the system.\n if (!success) {\n _this.authenticationService.logout();\n return;\n }\n _this.searchableOrgs = _this.ssoService._searchableOrgs;\n _this.searchableOrgsLength = (!ap.Utilities.isNullOrUndefined(_this.searchableOrgs)) ? _this.searchableOrgs.length : 0;\n var organization = _this.getFirstLocationIfOnlySubOrganizationsExist();\n if (!ap.Utilities.isNullOrUndefined(organization)) {\n _this.locationService.redirect(ap.Constants.routes.products);\n }\n // RSC-1516 Temp commenting out because of rollbacks\n // this.authenticationService.isReportingOnly(this.organizations)\n // \t.then((modifiedList: IOrganizationHolder) => {\n // \t\tthis.organizations = modifiedList;\n // \t\tif(this.organizations.list.length === 1) {\n // \t\t\tlet cacheKey = this.organizations.list[0].cacheKey;\n // \t\t\tthis.$location.path(`/${cacheKey}/${ap.Constants.routes.products.name}`).search({});\n // \t\t} else if (this.organizations.list.length < 1) {\n // \t\t\tthis.error = 'It appears your account has been configured incorrectly. Please notify your account manager to get this resolved.';\n // \t\t}\n // \t});\n });\n };\n HomeController.prototype.organizationTypeAheadChanged = function ($event, $item) {\n $event.preventDefault();\n $event.stopPropagation();\n this.organizationCacheKey = $item.cacheKey;\n this.locationService.changeOrganization(this.organizationCacheKey);\n };\n HomeController.prototype.organizationChanged = function (organizationCacheKey) {\n this.organizationCacheKey = organizationCacheKey;\n this.locationService.changeOrganization(organizationCacheKey);\n };\n HomeController.$inject = [\n '$location',\n 'authenticationService',\n 'locationService',\n 'ssoService'\n ];\n return HomeController;\n }());\n Home.HomeController = HomeController;\n angular.module('app.Home')\n .controller('HomeController', HomeController);\n })(Home = app.Home || (app.Home = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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cyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwLkhvbWUge1xuXHRleHBvcnQgY2xhc3MgSG9tZUNvbnRyb2xsZXIge1xuXHRcdGVycm9yOiBzdHJpbmc7XG5cdFx0a2V5cyA9IHtcblx0XHRcdGxvYWRpbmc6ICdMb2FkaW5nIHlvdXIgb3JnYW5pemF0aW9ucy4uLicsXG5cdFx0XHRzZWxlY3Q6IGFwLkNvbnN0YW50cy50cmFuc2xhdGlvbktleXMuc2hlbGwuc2VsZWN0TG9jYXRpb24sXG5cdFx0fTtcblx0XHRtaW5PcmdDb3VudDogbnVtYmVyID0gMTE7XG5cdFx0b3JnYW5pemF0aW9uQ2FjaGVLZXk6IHN0cmluZztcblx0XHRvcmdhbml6YXRpb25zOiBJT3JnYW5pemF0aW9uSG9sZGVyID0gdGhpcy5zc29TZXJ2aWNlLm9yZ2FuaXphdGlvbnM7XG5cdFx0cmlnaHRQYW5lbFBhZGRpbmcgPSA3O1xuXHRcdHNlYXJjaGFibGVPcmdzOiBBcnJheTx7Y2FjaGVLZXk6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB9Pjtcblx0XHRzZWFyY2hhYmxlT3Jnc0xlbmd0aDogbnVtYmVyO1xuXG5cdFx0c3RhdGljICRpbmplY3QgPSBbXG5cdFx0XHQnJGxvY2F0aW9uJyxcblx0XHRcdCdhdXRoZW50aWNhdGlvblNlcnZpY2UnLFxuXHRcdFx0J2xvY2F0aW9uU2VydmljZScsXG5cdFx0XHQnc3NvU2VydmljZSdcblx0XHRdO1xuXG5cdFx0Y29uc3RydWN0b3IoXG5cdFx0XHRwcml2YXRlICRsb2NhdGlvbjogbmcuSUxvY2F0aW9uU2VydmljZSxcblx0XHRcdHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBTZXJ2aWNlcy5BdXRoZW50aWNhdGlvblNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGxvY2F0aW9uU2VydmljZTogU2VydmljZXMuTG9jYXRpb25TZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBzc29TZXJ2aWNlOiBTZXJ2aWNlcy5Tc29TZXJ2aWNlXG5cdFx0KSB7XG5cdFx0XHR0aGlzLmluaXQoKTtcblx0XHR9XG5cblx0XHRnZXRGaXJzdExvY2F0aW9uSWZPbmx5U3ViT3JnYW5pemF0aW9uc0V4aXN0KCk6IElTaW1wbGVPcmdhbml6YXRpb24ge1xuXHRcdFx0dmFyIG9yZ2FuaXphdGlvbjogSVNpbXBsZU9yZ2FuaXphdGlvbiA9IHRoaXMub3JnYW5pemF0aW9uc1t0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5XTtcblx0XHRcdGlmICghYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKG9yZ2FuaXphdGlvbikpIHtcblx0XHRcdFx0cmV0dXJuIG9yZ2FuaXphdGlvbjtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHRoaXMub3JnYW5pemF0aW9ucy5jb3VudCA+IDIpIHtcblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9XG5cblx0XHRcdHZhciBpbmRleCA9IHRoaXMub3JnYW5pemF0aW9ucy5jb3VudCA9PT0gMSA/IDAgOiAxO1xuXHRcdFx0b3JnYW5pemF0aW9uID0gdGhpcy5vcmdhbml6YXRpb25zLmxpc3RbaW5kZXhdO1xuXHRcdFx0cmV0dXJuIG9yZ2FuaXphdGlvbi50eXBlID09PSBPcmdhbml6YXRpb25Vbml0VHlwZS5Mb2NhdGlvbiA/IG9yZ2FuaXphdGlvbiA6IG51bGw7XG5cdFx0fVxuXG5cdFx0aW5pdCgpOiB2b2lkIHtcblx0XHRcdHRoaXMub3JnYW5pemF0aW9uQ2FjaGVLZXkgPSB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRPcmdhbml6YXRpb25DYWNoZUtleSh0cnVlKTtcblxuXHRcdFx0dGhpcy5zc29TZXJ2aWNlLmxvYWRVc2Vyc09yZ2FuaXphdGlvbnNMaXN0KCkudGhlbihzdWNjZXNzID0+IHtcblx0XHRcdFx0Ly8gTm90IHN1cmUgaG93IHRoaXMgbWlnaHQgaGFwcGVuIGJ1dCBpZiBpdCBkb2VzIGxvZyB0aGUgdXNlciBvdXQgb2YgdGhlIHN5c3RlbS5cblx0XHRcdFx0aWYgKCFzdWNjZXNzKSB7XG5cdFx0XHRcdFx0dGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5zZWFyY2hhYmxlT3JncyA9IHRoaXMuc3NvU2VydmljZS5fc2VhcmNoYWJsZU9yZ3M7XG5cdFx0XHRcdHRoaXMuc2VhcmNoYWJsZU9yZ3NMZW5ndGggPSAoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnNlYXJjaGFibGVPcmdzKSkgPyB0aGlzLnNlYXJjaGFibGVPcmdzLmxlbmd0aCA6IDA7XG5cblx0XHRcdFx0dmFyIG9yZ2FuaXphdGlvbjogSVNpbXBsZU9yZ2FuaXphdGlvbiA9IHRoaXMuZ2V0Rmlyc3RMb2NhdGlvbklmT25seVN1Yk9yZ2FuaXphdGlvbnNFeGlzdCgpO1xuXHRcdFx0XHRpZiAoIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZChvcmdhbml6YXRpb24pKSB7XG5cdFx0XHRcdFx0dGhpcy5sb2NhdGlvblNlcnZpY2UucmVkaXJlY3QoYXAuQ29uc3RhbnRzLnJvdXRlcy5wcm9kdWN0cyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBSU0MtMTUxNiBUZW1wIGNvbW1lbnRpbmcgb3V0IGJlY2F1c2Ugb2Ygcm9sbGJhY2tzXG5cdFx0XHRcdC8vIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzUmVwb3J0aW5nT25seSh0aGlzLm9yZ2FuaXphdGlvbnMpXG5cdFx0XHRcdC8vIFx0LnRoZW4oKG1vZGlmaWVkTGlzdDogSU9yZ2FuaXphdGlvbkhvbGRlcikgPT4ge1xuXHRcdFx0XHQvLyBcdFx0dGhpcy5vcmdhbml6YXRpb25zID0gbW9kaWZpZWRMaXN0O1xuXHRcdFx0XHQvLyBcdFx0aWYodGhpcy5vcmdhbml6YXRpb25zLmxpc3QubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdC8vIFx0XHRcdGxldCBjYWNoZUtleSA9IHRoaXMub3JnYW5pemF0aW9ucy5saXN0WzBdLmNhY2hlS2V5O1xuXHRcdFx0XHQvLyBcdFx0XHR0aGlzLiRsb2NhdGlvbi5wYXRoKGAvJHtjYWNoZUtleX0vJHthcC5Db25zdGFudHMucm91dGVzLnByb2R1Y3RzLm5hbWV9YCkuc2VhcmNoKHt9KTtcblx0XHRcdFx0Ly8gXHRcdH0gZWxzZSBpZiAodGhpcy5vcmdhbml6YXRpb25zLmxpc3QubGVuZ3RoIDwgMSkge1xuXHRcdFx0XHQvLyBcdFx0XHR0aGlzLmVycm9yID0gJ0l0IGFwcGVhcnMgeW91ciBhY2NvdW50IGhhcyBiZWVuIGNvbmZpZ3VyZWQgaW5jb3JyZWN0bHkuIFBsZWFzZSBub3RpZnkgeW91ciBhY2NvdW50IG1hbmFnZXIgdG8gZ2V0IHRoaXMgcmVzb2x2ZWQuJztcblx0XHRcdFx0Ly8gXHRcdH1cblx0XHRcdFx0Ly8gXHR9KTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdG9yZ2FuaXphdGlvblR5cGVBaGVhZENoYW5nZWQoJGV2ZW50OiBuZy5JQW5ndWxhckV2ZW50LCAkaXRlbTogSVNpbXBsZU9yZ2FuaXphdGlvbik6IHZvaWQge1xuXHRcdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHQkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHR0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5ID0gJGl0ZW0uY2FjaGVLZXk7XG5cdFx0XHR0aGlzLmxvY2F0aW9uU2VydmljZS5jaGFuZ2VPcmdhbml6YXRpb24odGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSk7XG5cdFx0fVxuXG5cdFx0b3JnYW5pemF0aW9uQ2hhbmdlZChvcmdhbml6YXRpb25DYWNoZUtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHR0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5ID0gb3JnYW5pemF0aW9uQ2FjaGVLZXk7XG5cdFx0XHR0aGlzLmxvY2F0aW9uU2VydmljZS5jaGFuZ2VPcmdhbml6YXRpb24ob3JnYW5pemF0aW9uQ2FjaGVLZXkpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAuSG9tZScpXG5cdFx0LmNvbnRyb2xsZXIoJ0hvbWVDb250cm9sbGVyJywgSG9tZUNvbnRyb2xsZXIpO1xufVxuIl19\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Products;\n (function (Products) {\n var ProductsController = /** @class */ (function () {\n function ProductsController($q, $window, applicationService, applicationApiService, authenticationService, locationService, ssoService, appSettings, ssoApiService) {\n this.$q = $q;\n this.$window = $window;\n this.applicationService = applicationService;\n this.applicationApiService = applicationApiService;\n this.authenticationService = authenticationService;\n this.locationService = locationService;\n this.ssoService = ssoService;\n this.appSettings = appSettings;\n this.ssoApiService = ssoApiService;\n this.applications = this.applicationService.applications;\n this.authData = this.authenticationService.authorizationData;\n this.isAutoPoint = false;\n this.isGlobal = false;\n this.isLocation = false;\n this.isDsd = false;\n this.loaded = false;\n this.minOrgCount = 11;\n this.organizations = this.ssoService.organizations;\n this.keys = {\n appointments: 'Appointments',\n backoffice: 'Back Office',\n datadictionary: 'Data Dictionary',\n matrix: 'Matrix',\n multiPoint: 'MultiPoint',\n noApplicationAccess: 'It appears that you do not have permissions to any products for this organization',\n package: 'Inspection Form Editor',\n preowned: 'CPO',\n reporting: 'Reporting Tool',\n shop: 'Shop Provisioning',\n welcomePoint: 'WelcomePoint'\n };\n this.urls = {\n appointments: null,\n backoffice: this.appSettings.urls.backoffice,\n datadictionary: this.appSettings.urls.datadictionary,\n matrix: null,\n multiPoint: null,\n package: null,\n preowned: null,\n reporting: null,\n shop: this.appSettings.urls.shop,\n welcomePoint: null\n };\n //prevent opening multiple pages in rapid succession when the page first loads\n this.isPageRecentlyOpened = false;\n this.init();\n }\n ProductsController.prototype.init = function () {\n var _this = this;\n this.organizationCacheKey = this.locationService.getOrganizationCacheKey();\n if (ap.Utilities.isNullOrWhitespace(this.organizationCacheKey)) {\n this.locationService.redirect(ap.Constants.routes.home);\n return;\n }\n this.urls.shop = this.appSettings.urls.shop + \"/#/\" + this.organizationCacheKey;\n var ssoPromise = this.ssoService.loadUsersOrganizationsList();\n var appPromise = this.applicationService.loadApplications();\n var hierarchyPermissionsPromise = this.applicationApiService.getHierarchyPermissions(this.authData.userCacheKey);\n var orgHierarchiesPromise = this.applicationApiService.getHierarchiesForOrg(this.organizationCacheKey);\n this.$q.all([ssoPromise, appPromise, hierarchyPermissionsPromise, orgHierarchiesPromise]).then(function (results) {\n _this.organization = _this.organizations[_this.organizationCacheKey];\n var applications = _this.applications[_this.organizationCacheKey];\n _this.isLocation = _this.organization.type === OrganizationUnitType.Location;\n _this.isGlobal = _this.organization.type === OrganizationUnitType.GlobalOrganization;\n _this.isAutoPoint = _this.organizationCacheKey === ap.Constants.autoPointOrg.cacheKey;\n _this.loaded = true;\n _this.searchableOrgs = _this.ssoService._searchableOrgs;\n _this.searchableOrgsLength = !ap.Utilities.isNullOrUndefined(_this.searchableOrgs) ? _this.searchableOrgs.length : 0;\n var canAccessMultiPoint = applications.some(function (x) { return x.id === AutoPointRole.MultiPointUser; });\n var canAccessAppointments = applications.some(function (x) { return x.id === AutoPointRole.AppointmentsUser; });\n var canAccessWelcomePoint = applications.some(function (x) { return x.id === AutoPointRole.WelcomePointUser; });\n var canAccessPreOwned = applications.some(function (x) { return x.id === AutoPointRole.CPOUser; });\n var canAccessReporting = applications.some(function (x) { return x.id === AutoPointRole.ReportingUser || x.id === AutoPointRole.WelcomePointUser || x.id === AutoPointRole.DealerReportsViewer ||\n x.id === AutoPointRole.UserReportsViewer || x.id === AutoPointRole.InternalReportsViewer; });\n if (applications.some(function (x) { return x.id === AutoPointRole.ReportingUser; })) {\n var hierarchies = results['3'];\n var hierarchyPermissionsForThisOrg = results['2'].filter(function (x) {\n return x.applicationRoleId === AutoPointRole.ReportingUser &&\n hierarchies.some(function (y) { return y.orgHierarchyCacheKey === x.orgHierarchyCacheKey; });\n });\n if (hierarchyPermissionsForThisOrg == null || hierarchyPermissionsForThisOrg.length < 1) {\n canAccessReporting = false;\n }\n }\n var accessVars = {\n hasMultiPointAccess: false,\n hasAppointmentsAccess: false,\n hasWelcomePointAccess: false,\n hasReportingAccess: false,\n hasPreOwnedAccess: false\n };\n _this.ssoApiService.getUserApplicationRoles(Guid.empty, _this.organizationCacheKey).then(function (results) {\n _this.rolesList = results;\n _this.applicationApiService.getIsDsd().then(function (result) {\n _this.isDsd = result;\n var hasMpRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.MultiPointUser; })[0] != null;\n if (canAccessMultiPoint && _this.isLocation && hasMpRole) {\n if (_this.isDsd) {\n _this.urls.multiPoint = _this.appSettings.urls.mercedesmultipointii + \"/#/\" + _this.organizationCacheKey + \"/route-sheet\";\n }\n else {\n _this.urls.multiPoint = _this.appSettings.urls.multipointii + \"/#/\" + _this.organizationCacheKey + \"/route-sheet\";\n }\n accessVars.hasMultiPointAccess = true;\n }\n var hasAppointmentsRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.AppointmentsUser; })[0] != null;\n if (canAccessAppointments && _this.isLocation && hasAppointmentsRole) {\n _this.urls.appointments = _this.appSettings.urls.advisor + \"?org=\" + _this.organizationCacheKey + \"&sys=AP\";\n accessVars.hasAppointmentsAccess = true;\n }\n var hasWpRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.WelcomePointUser; })[0] != null;\n if (canAccessWelcomePoint && _this.isLocation && hasWpRole) {\n _this.urls.welcomePoint = _this.appSettings.urls.welcomePoint + \"/#/?org=\" + _this.organizationCacheKey + \"&sys=WP\";\n accessVars.hasWelcomePointAccess = true;\n }\n var hasEnterpriseReportsRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.ReportingUser; })[0] != null;\n var hasDealerReportsRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.DealerReportsViewer; })[0] != null;\n var hasInternalReportsRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.InternalReportsViewer; })[0] != null;\n var hasUserReportsRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.UserReportsViewer; })[0] != null;\n if (canAccessReporting && hasEnterpriseReportsRole || hasDealerReportsRole || hasInternalReportsRole || hasUserReportsRole || hasWpRole) {\n _this.urls.reporting = _this.appSettings.urls.reporting + \"/#/reports/\" + _this.organizationCacheKey;\n accessVars.hasReportingAccess = true;\n }\n var hasCpoRole = _this.rolesList.filter(function (x) { return x.applicationId === AutoPointRole.CPOUser; })[0] != null;\n if (canAccessPreOwned && _this.isLocation && hasCpoRole) {\n _this.urls.preowned = _this.appSettings.urls.preowned + \"/#/\" + _this.organizationCacheKey + \"/route-sheet\";\n accessVars.hasPreOwnedAccess = true;\n }\n _this.checkAnyAccess(accessVars);\n // If the org has access to one product but not the others, simply forward to that product\n if (_this.checkProductAccess(accessVars, 'hasMultiPointAccess') && !ap.Utilities.isNullOrUndefined(_this.urls.multiPoint) && _this.isPageRecentlyOpened === false) {\n _this.openLink(_this.urls.multiPoint);\n _this.isPageRecentlyOpened = true;\n }\n if (_this.checkProductAccess(accessVars, 'hasAppointmentsAccess') && !ap.Utilities.isNullOrUndefined(_this.urls.appointments) && _this.isPageRecentlyOpened === false) {\n _this.openLink(_this.urls.appointments);\n _this.isPageRecentlyOpened = true;\n }\n if (_this.checkProductAccess(accessVars, 'hasWelcomePointAccess') && !ap.Utilities.isNullOrUndefined(_this.urls.welcomePoint) && _this.isPageRecentlyOpened === false) {\n _this.openLink(_this.urls.welcomePoint);\n _this.isPageRecentlyOpened = true;\n }\n if (_this.checkProductAccess(accessVars, 'hasReportingAccess') && !ap.Utilities.isNullOrUndefined(_this.urls.reporting) && _this.isPageRecentlyOpened === false) {\n _this.openLink(_this.urls.reporting);\n _this.isPageRecentlyOpened = true;\n }\n if (_this.checkProductAccess(accessVars, 'hasPreOwnedAccess') && !ap.Utilities.isNullOrUndefined(_this.urls.preowned) && _this.isPageRecentlyOpened === false) {\n _this.openLink(_this.urls.preowned);\n _this.isPageRecentlyOpened = true;\n }\n });\n });\n });\n };\n ProductsController.prototype.checkAnyAccess = function (accessVars) {\n var hasAnyAccess = false;\n angular.forEach(accessVars, function (product) {\n if (product) {\n hasAnyAccess = true;\n }\n });\n if (!hasAnyAccess && !this.isGlobal) {\n this.error = this.keys.noApplicationAccess;\n return;\n }\n return;\n };\n ProductsController.prototype.checkProductAccess = function (accessVars, accessProduct) {\n var hasNoOtherAccess = true;\n if (accessVars[accessProduct]) {\n angular.forEach(accessVars, function (productValue, productName) {\n if (productName !== accessProduct && productValue) {\n hasNoOtherAccess = false;\n }\n });\n }\n return hasNoOtherAccess;\n };\n ProductsController.prototype.openLink = function (href) {\n this.$window.open(href);\n return;\n };\n ProductsController.prototype.organizationTypeAheadChanged = function ($event, $item) {\n $event.preventDefault();\n $event.stopPropagation();\n this.organizationCacheKey = $item.cacheKey;\n this.locationService.changeOrganization(this.organizationCacheKey);\n };\n ProductsController.prototype.organizationChanged = function (organizationCacheKey) {\n var _this = this;\n this.organizationCacheKey = organizationCacheKey;\n // RSC-1516 Update auth on new Avenue selection to ensure we get the right permissions for each org\n this.ssoService.renewAccessToken().then(function () {\n _this.locationService.changeOrganization(organizationCacheKey);\n });\n };\n ProductsController.$inject = [\n '$q',\n '$window',\n 'applicationService',\n 'applicationApiService',\n 'authenticationService',\n 'locationService',\n 'ssoService',\n 'appSettings',\n 'ssoApiService'\n ];\n return ProductsController;\n }());\n Products.ProductsController = ProductsController;\n angular.module('app.Products').controller('ProductsController', ProductsController);\n })(Products = app.Products || (app.Products = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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Z0JBQ3ZCLHVCQUF1QjtnQkFDdkIsaUJBQWlCO2dCQUNqQixZQUFZO2dCQUNaLGFBQWE7Z0JBQ2IsZUFBZTthQUNmLENBQUM7WUFtTUgseUJBQUM7U0F6UEQsQUF5UEMsSUFBQTtRQXpQWSwyQkFBa0IscUJBeVA5QixDQUFBO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNyRixDQUFDLEVBN1BVLFFBQVEsR0FBUixZQUFRLEtBQVIsWUFBUSxRQTZQbEI7QUFBRCxDQUFDLEVBN1BNLEdBQUcsS0FBSCxHQUFHLFFBNlBUIiwiZmlsZSI6InByb2R1Y3RzL2NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuUHJvZHVjdHMge1xuXHRleHBvcnQgY2xhc3MgUHJvZHVjdHNDb250cm9sbGVyIHtcblx0XHRhcHBsaWNhdGlvbnM6IElIb2lzdGVkQ29sbGVjdGlvbjxJQXBwbGljYXRpb25Sb2xlPiA9IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmFwcGxpY2F0aW9ucztcblx0XHRhdXRoRGF0YTogQXV0aERhdGEgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRob3JpemF0aW9uRGF0YTtcblx0XHRlcnJvcjogc3RyaW5nO1xuXHRcdGlzQXV0b1BvaW50OiBib29sZWFuID0gZmFsc2U7XG5cdFx0aXNHbG9iYWw6IGJvb2xlYW4gPSBmYWxzZTtcblx0XHRpc0xvY2F0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cdFx0aXNEc2Q6IGJvb2xlYW4gPSBmYWxzZTtcblx0XHRsb2FkZWQgPSBmYWxzZTtcblx0XHRtaW5PcmdDb3VudDogbnVtYmVyID0gMTE7XG5cdFx0b3JnYW5pemF0aW9uQ2FjaGVLZXk6IHN0cmluZztcblx0XHRyb2xlc0xpc3Q6IElBcHBsaWNhdGlvblJvbGVbXTtcblx0XHRvcmdhbml6YXRpb246IElTaW1wbGVPcmdhbml6YXRpb247XG5cdFx0b3JnYW5pemF0aW9uczogSU9yZ2FuaXphdGlvbkhvbGRlciA9IHRoaXMuc3NvU2VydmljZS5vcmdhbml6YXRpb25zO1xuXHRcdGtleXMgPSB7XG5cdFx0XHRhcHBvaW50bWVudHM6ICdBcHBvaW50bWVudHMnLFxuXHRcdFx0YmFja29mZmljZTogJ0JhY2sgT2ZmaWNlJyxcblx0XHRcdGRhdGFkaWN0aW9uYXJ5OiAnRGF0YSBEaWN0aW9uYXJ5Jyxcblx0XHRcdG1hdHJpeDogJ01hdHJpeCcsXG5cdFx0XHRtdWx0aVBvaW50OiAnTXVsdGlQb2ludCcsXG5cdFx0XHRub0FwcGxpY2F0aW9uQWNjZXNzOiAnSXQgYXBwZWFycyB0aGF0IHlvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBhbnkgcHJvZHVjdHMgZm9yIHRoaXMgb3JnYW5pemF0aW9uJyxcblx0XHRcdHBhY2thZ2U6ICdJbnNwZWN0aW9uIEZvcm0gRWRpdG9yJyxcblx0XHRcdHByZW93bmVkOiAnQ1BPJyxcblx0XHRcdHJlcG9ydGluZzogJ1JlcG9ydGluZyBUb29sJyxcblx0XHRcdHNob3A6ICdTaG9wIFByb3Zpc2lvbmluZycsXG5cdFx0XHR3ZWxjb21lUG9pbnQ6ICdXZWxjb21lUG9pbnQnXG5cdFx0fTtcblx0XHRzZWFyY2hhYmxlT3JnczogQXJyYXk8eyBjYWNoZUtleTogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfT47XG5cdFx0c2VhcmNoYWJsZU9yZ3NMZW5ndGg6IG51bWJlcjtcblx0XHR1cmxzID0ge1xuXHRcdFx0YXBwb2ludG1lbnRzOiBudWxsLFxuXHRcdFx0YmFja29mZmljZTogdGhpcy5hcHBTZXR0aW5ncy51cmxzLmJhY2tvZmZpY2UsXG5cdFx0XHRkYXRhZGljdGlvbmFyeTogdGhpcy5hcHBTZXR0aW5ncy51cmxzLmRhdGFkaWN0aW9uYXJ5LFxuXHRcdFx0bWF0cml4OiBudWxsLFxuXHRcdFx0bXVsdGlQb2ludDogbnVsbCxcblx0XHRcdHBhY2thZ2U6IG51bGwsXG5cdFx0XHRwcmVvd25lZDogbnVsbCxcblx0XHRcdHJlcG9ydGluZzogbnVsbCxcblx0XHRcdHNob3A6IHRoaXMuYXBwU2V0dGluZ3MudXJscy5zaG9wLFxuXHRcdFx0d2VsY29tZVBvaW50OiBudWxsXG5cdFx0fTtcblx0XHQvL3ByZXZlbnQgb3BlbmluZyBtdWx0aXBsZSBwYWdlcyBpbiByYXBpZCBzdWNjZXNzaW9uIHdoZW4gdGhlIHBhZ2UgZmlyc3QgbG9hZHNcblx0XHRpc1BhZ2VSZWNlbnRseU9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdFx0c3RhdGljICRpbmplY3QgPSBbXG5cdFx0XHQnJHEnLFxuXHRcdFx0JyR3aW5kb3cnLFxuXHRcdFx0J2FwcGxpY2F0aW9uU2VydmljZScsXG5cdFx0XHQnYXBwbGljYXRpb25BcGlTZXJ2aWNlJyxcblx0XHRcdCdhdXRoZW50aWNhdGlvblNlcnZpY2UnLFxuXHRcdFx0J2xvY2F0aW9uU2VydmljZScsXG5cdFx0XHQnc3NvU2VydmljZScsXG5cdFx0XHQnYXBwU2V0dGluZ3MnLFxuXHRcdFx0J3Nzb0FwaVNlcnZpY2UnXG5cdFx0XTtcblxuXHRcdGNvbnN0cnVjdG9yKFxuXHRcdFx0cHJpdmF0ZSAkcTogbmcuSVFTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSAkd2luZG93OiBuZy5JV2luZG93U2VydmljZSxcblx0XHRcdHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBTZXJ2aWNlcy5BcHBsaWNhdGlvblNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGFwcGxpY2F0aW9uQXBpU2VydmljZTogU2VydmljZXMuQXBwbGljYXRpb25BcGlTZXJ2aWNlLFxuXHRcdFx0cHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IFNlcnZpY2VzLkF1dGhlbnRpY2F0aW9uU2VydmljZSxcblx0XHRcdHByaXZhdGUgbG9jYXRpb25TZXJ2aWNlOiBTZXJ2aWNlcy5Mb2NhdGlvblNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIHNzb1NlcnZpY2U6IFNlcnZpY2VzLlNzb1NlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGFwcFNldHRpbmdzOiBJQXBwU2V0dGluZ3MsXG5cdFx0XHRwcml2YXRlIHNzb0FwaVNlcnZpY2U6IFNlcnZpY2VzLlNzb0FwaVNlcnZpY2Vcblx0XHQpIHtcblx0XHRcdHRoaXMuaW5pdCgpO1xuXHRcdH1cblxuXHRcdGluaXQoKTogdm9pZCB7XG5cdFx0XHR0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5ID0gdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uQ2FjaGVLZXkoKTtcblxuXHRcdFx0aWYgKGFwLlV0aWxpdGllcy5pc051bGxPcldoaXRlc3BhY2UodGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSkpIHtcblx0XHRcdFx0dGhpcy5sb2NhdGlvblNlcnZpY2UucmVkaXJlY3QoYXAuQ29uc3RhbnRzLnJvdXRlcy5ob21lKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR0aGlzLnVybHMuc2hvcCA9IGAke3RoaXMuYXBwU2V0dGluZ3MudXJscy5zaG9wfS8jLyR7dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleX1gO1xuXG5cdFx0XHR2YXIgc3NvUHJvbWlzZSA9IHRoaXMuc3NvU2VydmljZS5sb2FkVXNlcnNPcmdhbml6YXRpb25zTGlzdCgpO1xuXHRcdFx0dmFyIGFwcFByb21pc2UgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5sb2FkQXBwbGljYXRpb25zKCk7XG5cdFx0XHR2YXIgaGllcmFyY2h5UGVybWlzc2lvbnNQcm9taXNlID0gdGhpcy5hcHBsaWNhdGlvbkFwaVNlcnZpY2UuZ2V0SGllcmFyY2h5UGVybWlzc2lvbnMoXG5cdFx0XHRcdHRoaXMuYXV0aERhdGEudXNlckNhY2hlS2V5XG5cdFx0XHQpO1xuXHRcdFx0dmFyIG9yZ0hpZXJhcmNoaWVzUHJvbWlzZSA9IHRoaXMuYXBwbGljYXRpb25BcGlTZXJ2aWNlLmdldEhpZXJhcmNoaWVzRm9yT3JnKHRoaXMub3JnYW5pemF0aW9uQ2FjaGVLZXkpO1xuXG5cdFx0XHR0aGlzLiRxLmFsbChbc3NvUHJvbWlzZSwgYXBwUHJvbWlzZSwgaGllcmFyY2h5UGVybWlzc2lvbnNQcm9taXNlLCBvcmdIaWVyYXJjaGllc1Byb21pc2VdKS50aGVuKHJlc3VsdHMgPT4ge1xuXHRcdFx0XHR0aGlzLm9yZ2FuaXphdGlvbiA9IHRoaXMub3JnYW5pemF0aW9uc1t0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5XTtcblx0XHRcdFx0dmFyIGFwcGxpY2F0aW9uczogQXJyYXk8SUFwcGxpY2F0aW9uUm9sZT4gPSB0aGlzLmFwcGxpY2F0aW9uc1t0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5XTtcblx0XHRcdFx0dGhpcy5pc0xvY2F0aW9uID0gdGhpcy5vcmdhbml6YXRpb24udHlwZSA9PT0gT3JnYW5pemF0aW9uVW5pdFR5cGUuTG9jYXRpb247XG5cdFx0XHRcdHRoaXMuaXNHbG9iYWwgPSB0aGlzLm9yZ2FuaXphdGlvbi50eXBlID09PSBPcmdhbml6YXRpb25Vbml0VHlwZS5HbG9iYWxPcmdhbml6YXRpb247XG5cdFx0XHRcdHRoaXMuaXNBdXRvUG9pbnQgPSB0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5ID09PSBhcC5Db25zdGFudHMuYXV0b1BvaW50T3JnLmNhY2hlS2V5O1xuXHRcdFx0XHRcblx0XHRcdFx0dGhpcy5sb2FkZWQgPSB0cnVlO1xuXG5cdFx0XHRcdHRoaXMuc2VhcmNoYWJsZU9yZ3MgPSB0aGlzLnNzb1NlcnZpY2UuX3NlYXJjaGFibGVPcmdzO1xuXHRcdFx0XHR0aGlzLnNlYXJjaGFibGVPcmdzTGVuZ3RoID0gIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnNlYXJjaGFibGVPcmdzKT8gdGhpcy5zZWFyY2hhYmxlT3Jncy5sZW5ndGg6IDA7XG5cblx0XHRcdFx0dmFyIGNhbkFjY2Vzc011bHRpUG9pbnQgPSBhcHBsaWNhdGlvbnMuc29tZSh4ID0+IHguaWQgPT09IEF1dG9Qb2ludFJvbGUuTXVsdGlQb2ludFVzZXIpO1xuXHRcdFx0XHR2YXIgY2FuQWNjZXNzQXBwb2ludG1lbnRzID0gYXBwbGljYXRpb25zLnNvbWUoeCA9PiB4LmlkID09PSBBdXRvUG9pbnRSb2xlLkFwcG9pbnRtZW50c1VzZXIpO1xuXHRcdFx0XHR2YXIgY2FuQWNjZXNzV2VsY29tZVBvaW50ID0gYXBwbGljYXRpb25zLnNvbWUoeCA9PiB4LmlkID09PSBBdXRvUG9pbnRSb2xlLldlbGNvbWVQb2ludFVzZXIpO1xuXHRcdFx0XHR2YXIgY2FuQWNjZXNzUHJlT3duZWQgPSBhcHBsaWNhdGlvbnMuc29tZSh4ID0+IHguaWQgPT09IEF1dG9Qb2ludFJvbGUuQ1BPVXNlcik7XG5cdFx0XHRcdHZhciBjYW5BY2Nlc3NSZXBvcnRpbmcgPSBhcHBsaWNhdGlvbnMuc29tZSh4ID0+IHguaWQgPT09IEF1dG9Qb2ludFJvbGUuUmVwb3J0aW5nVXNlciB8fCB4LmlkID09PSBBdXRvUG9pbnRSb2xlLldlbGNvbWVQb2ludFVzZXIgfHwgeC5pZCA9PT0gQXV0b1BvaW50Um9sZS5EZWFsZXJSZXBvcnRzVmlld2VyIHx8XG5cdFx0XHRcdFx0eC5pZCA9PT0gQXV0b1BvaW50Um9sZS5Vc2VyUmVwb3J0c1ZpZXdlciB8fCB4LmlkID09PSBBdXRvUG9pbnRSb2xlLkludGVybmFsUmVwb3J0c1ZpZXdlcik7XG5cblx0XHRcdFx0aWYgKGFwcGxpY2F0aW9ucy5zb21lKHggPT4geC5pZCA9PT0gQXV0b1BvaW50Um9sZS5SZXBvcnRpbmdVc2VyKSkge1xuXHRcdFx0XHRcdHZhciBoaWVyYXJjaGllcyA9IHJlc3VsdHNbJzMnXTtcblx0XHRcdFx0XHR2YXIgaGllcmFyY2h5UGVybWlzc2lvbnNGb3JUaGlzT3JnID0gcmVzdWx0c1snMiddLmZpbHRlcihcblx0XHRcdFx0XHRcdHggPT5cblx0XHRcdFx0XHRcdFx0eC5hcHBsaWNhdGlvblJvbGVJZCA9PT0gQXV0b1BvaW50Um9sZS5SZXBvcnRpbmdVc2VyICYmXG5cdFx0XHRcdFx0XHRcdGhpZXJhcmNoaWVzLnNvbWUoeSA9PiB5Lm9yZ0hpZXJhcmNoeUNhY2hlS2V5ID09PSB4Lm9yZ0hpZXJhcmNoeUNhY2hlS2V5KVxuXHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0XHRpZiAoaGllcmFyY2h5UGVybWlzc2lvbnNGb3JUaGlzT3JnID09IG51bGwgfHwgaGllcmFyY2h5UGVybWlzc2lvbnNGb3JUaGlzT3JnLmxlbmd0aCA8IDEpIHtcblx0XHRcdFx0XHRcdGNhbkFjY2Vzc1JlcG9ydGluZyA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBhY2Nlc3NWYXJzID0ge1xuXHRcdFx0XHRcdGhhc011bHRpUG9pbnRBY2Nlc3M6IGZhbHNlLFxuXHRcdFx0XHRcdGhhc0FwcG9pbnRtZW50c0FjY2VzczogZmFsc2UsXG5cdFx0XHRcdFx0aGFzV2VsY29tZVBvaW50QWNjZXNzOiBmYWxzZSxcblx0XHRcdFx0XHRoYXNSZXBvcnRpbmdBY2Nlc3M6IGZhbHNlLFxuXHRcdFx0XHRcdGhhc1ByZU93bmVkQWNjZXNzOiBmYWxzZVxuXHRcdFx0XHR9O1xuXG5cdFx0XHRcdHRoaXMuc3NvQXBpU2VydmljZS5nZXRVc2VyQXBwbGljYXRpb25Sb2xlcyhHdWlkLmVtcHR5LCB0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5KS50aGVuKHJlc3VsdHMgPT4ge1xuXHRcdFx0XHRcdHRoaXMucm9sZXNMaXN0ID0gcmVzdWx0cztcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR0aGlzLmFwcGxpY2F0aW9uQXBpU2VydmljZS5nZXRJc0RzZCgpLnRoZW4ocmVzdWx0ID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuaXNEc2QgPSByZXN1bHQ7XG5cblx0XHRcdFx0XHRcdHZhciBoYXNNcFJvbGUgPSB0aGlzLnJvbGVzTGlzdC5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uSWQgPT09IEF1dG9Qb2ludFJvbGUuTXVsdGlQb2ludFVzZXIpWzBdICE9IG51bGw7XG5cdFx0XHRcdFx0XHRpZiAoY2FuQWNjZXNzTXVsdGlQb2ludCAmJiB0aGlzLmlzTG9jYXRpb24gJiYgaGFzTXBSb2xlKSB7XG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmlzRHNkKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy51cmxzLm11bHRpUG9pbnQgPSBgJHt0aGlzLmFwcFNldHRpbmdzLnVybHMubWVyY2VkZXNtdWx0aXBvaW50aWl9LyMvJHt0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5fS9yb3V0ZS1zaGVldGA7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy51cmxzLm11bHRpUG9pbnQgPSBgJHt0aGlzLmFwcFNldHRpbmdzLnVybHMubXVsdGlwb2ludGlpfS8jLyR7dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleX0vcm91dGUtc2hlZXRgO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0YWNjZXNzVmFycy5oYXNNdWx0aVBvaW50QWNjZXNzID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0dmFyIGhhc0FwcG9pbnRtZW50c1JvbGUgPSB0aGlzLnJvbGVzTGlzdC5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uSWQgPT09IEF1dG9Qb2ludFJvbGUuQXBwb2ludG1lbnRzVXNlcilbMF0gIT0gbnVsbDtcblx0XHRcdFx0XHRcdGlmIChjYW5BY2Nlc3NBcHBvaW50bWVudHMgJiYgdGhpcy5pc0xvY2F0aW9uICYmIGhhc0FwcG9pbnRtZW50c1JvbGUpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy51cmxzLmFwcG9pbnRtZW50cyA9IGAke3RoaXMuYXBwU2V0dGluZ3MudXJscy5hZHZpc29yfT9vcmc9JHt0aGlzLm9yZ2FuaXphdGlvbkNhY2hlS2V5fSZzeXM9QVBgO1xuXHRcdFx0XHRcdFx0XHRhY2Nlc3NWYXJzLmhhc0FwcG9pbnRtZW50c0FjY2VzcyA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdHZhciBoYXNXcFJvbGUgPSB0aGlzLnJvbGVzTGlzdC5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uSWQgPT09IEF1dG9Qb2ludFJvbGUuV2VsY29tZVBvaW50VXNlcilbMF0gIT0gbnVsbDtcblx0XHRcdFx0XHRcdGlmIChjYW5BY2Nlc3NXZWxjb21lUG9pbnQgJiYgdGhpcy5pc0xvY2F0aW9uICYmIGhhc1dwUm9sZSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnVybHMud2VsY29tZVBvaW50ID0gYCR7dGhpcy5hcHBTZXR0aW5ncy51cmxzLndlbGNvbWVQb2ludH0vIy8/b3JnPSR7dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleX0mc3lzPVdQYDtcblx0XHRcdFx0XHRcdFx0YWNjZXNzVmFycy5oYXNXZWxjb21lUG9pbnRBY2Nlc3MgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHR2YXIgaGFzRW50ZXJwcmlzZVJlcG9ydHNSb2xlID0gdGhpcy5yb2xlc0xpc3QuZmlsdGVyKHggPT4geC5hcHBsaWNhdGlvbklkID09PSBBdXRvUG9pbnRSb2xlLlJlcG9ydGluZ1VzZXIpWzBdICE9IG51bGw7XG5cdFx0XHRcdFx0XHR2YXIgaGFzRGVhbGVyUmVwb3J0c1JvbGUgPSB0aGlzLnJvbGVzTGlzdC5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uSWQgPT09IEF1dG9Qb2ludFJvbGUuRGVhbGVyUmVwb3J0c1ZpZXdlcilbMF0gIT0gbnVsbDtcblx0XHRcdFx0XHRcdHZhciBoYXNJbnRlcm5hbFJlcG9ydHNSb2xlID0gdGhpcy5yb2xlc0xpc3QuZmlsdGVyKHggPT4geC5hcHBsaWNhdGlvbklkID09PSBBdXRvUG9pbnRSb2xlLkludGVybmFsUmVwb3J0c1ZpZXdlcilbMF0gIT0gbnVsbDtcblx0XHRcdFx0XHRcdHZhciBoYXNVc2VyUmVwb3J0c1JvbGUgPSB0aGlzLnJvbGVzTGlzdC5maWx0ZXIoeCA9PiB4LmFwcGxpY2F0aW9uSWQgPT09IEF1dG9Qb2ludFJvbGUuVXNlclJlcG9ydHNWaWV3ZXIpWzBdICE9IG51bGw7XG5cblx0XHRcdFx0XHRcdGlmIChjYW5BY2Nlc3NSZXBvcnRpbmcgJiYgaGFzRW50ZXJwcmlzZVJlcG9ydHNSb2xlIHx8IGhhc0RlYWxlclJlcG9ydHNSb2xlIHx8IGhhc0ludGVybmFsUmVwb3J0c1JvbGUgfHwgaGFzVXNlclJlcG9ydHNSb2xlIHx8IGhhc1dwUm9sZSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnVybHMucmVwb3J0aW5nID0gYCR7dGhpcy5hcHBTZXR0aW5ncy51cmxzLnJlcG9ydGluZ30vIy9yZXBvcnRzLyR7dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleX1gO1xuXHRcdFx0XHRcdFx0XHRhY2Nlc3NWYXJzLmhhc1JlcG9ydGluZ0FjY2VzcyA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdHZhciBoYXNDcG9Sb2xlID0gdGhpcy5yb2xlc0xpc3QuZmlsdGVyKHggPT4geC5hcHBsaWNhdGlvbklkID09PSBBdXRvUG9pbnRSb2xlLkNQT1VzZXIpWzBdICE9IG51bGw7XG5cdFx0XHRcdFx0XHRpZiAoY2FuQWNjZXNzUHJlT3duZWQgJiYgdGhpcy5pc0xvY2F0aW9uICYmIGhhc0Nwb1JvbGUpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy51cmxzLnByZW93bmVkID0gYCR7dGhpcy5hcHBTZXR0aW5ncy51cmxzLnByZW93bmVkfS8jLyR7dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleX0vcm91dGUtc2hlZXRgO1xuXHRcdFx0XHRcdFx0XHRhY2Nlc3NWYXJzLmhhc1ByZU93bmVkQWNjZXNzID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0dGhpcy5jaGVja0FueUFjY2VzcyhhY2Nlc3NWYXJzKTtcblxuXHRcdFx0XHRcdFx0Ly8gSWYgdGhlIG9yZyBoYXMgYWNjZXNzIHRvIG9uZSBwcm9kdWN0IGJ1dCBub3QgdGhlIG90aGVycywgc2ltcGx5IGZvcndhcmQgdG8gdGhhdCBwcm9kdWN0XG5cdFx0XHRcdFx0XHRpZiAodGhpcy5jaGVja1Byb2R1Y3RBY2Nlc3MoYWNjZXNzVmFycywgJ2hhc011bHRpUG9pbnRBY2Nlc3MnKSAmJiAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudXJscy5tdWx0aVBvaW50KSAmJiB0aGlzLmlzUGFnZVJlY2VudGx5T3BlbmVkID09PSBmYWxzZSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9wZW5MaW5rKHRoaXMudXJscy5tdWx0aVBvaW50KTtcblx0XHRcdFx0XHRcdFx0dGhpcy5pc1BhZ2VSZWNlbnRseU9wZW5lZCA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAodGhpcy5jaGVja1Byb2R1Y3RBY2Nlc3MoYWNjZXNzVmFycywgJ2hhc0FwcG9pbnRtZW50c0FjY2VzcycpICYmICFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy51cmxzLmFwcG9pbnRtZW50cykgJiYgdGhpcy5pc1BhZ2VSZWNlbnRseU9wZW5lZCA9PT0gZmFsc2UpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vcGVuTGluayh0aGlzLnVybHMuYXBwb2ludG1lbnRzKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5pc1BhZ2VSZWNlbnRseU9wZW5lZCA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlmICh0aGlzLmNoZWNrUHJvZHVjdEFjY2VzcyhhY2Nlc3NWYXJzLCAnaGFzV2VsY29tZVBvaW50QWNjZXNzJykgJiYgIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnVybHMud2VsY29tZVBvaW50KSAmJiB0aGlzLmlzUGFnZVJlY2VudGx5T3BlbmVkID09PSBmYWxzZSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9wZW5MaW5rKHRoaXMudXJscy53ZWxjb21lUG9pbnQpO1xuXHRcdFx0XHRcdFx0XHR0aGlzLmlzUGFnZVJlY2VudGx5T3BlbmVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuY2hlY2tQcm9kdWN0QWNjZXNzKGFjY2Vzc1ZhcnMsICdoYXNSZXBvcnRpbmdBY2Nlc3MnKSAmJiAhYXAuVXRpbGl0aWVzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudXJscy5yZXBvcnRpbmcpICYmIHRoaXMuaXNQYWdlUmVjZW50bHlPcGVuZWQgPT09IGZhbHNlKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3BlbkxpbmsodGhpcy51cmxzLnJlcG9ydGluZyk7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaXNQYWdlUmVjZW50bHlPcGVuZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5jaGVja1Byb2R1Y3RBY2Nlc3MoYWNjZXNzVmFycywgJ2hhc1ByZU93bmVkQWNjZXNzJykgJiYgIWFwLlV0aWxpdGllcy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnVybHMucHJlb3duZWQpICYmIHRoaXMuaXNQYWdlUmVjZW50bHlPcGVuZWQgPT09IGZhbHNlKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3BlbkxpbmsodGhpcy51cmxzLnByZW93bmVkKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5pc1BhZ2VSZWNlbnRseU9wZW5lZCA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Y2hlY2tBbnlBY2Nlc3MoYWNjZXNzVmFyczogT2JqZWN0KTogdm9pZCB7XG5cdFx0XHRsZXQgaGFzQW55QWNjZXNzID0gZmFsc2U7XG5cdFx0XHRhbmd1bGFyLmZvckVhY2goYWNjZXNzVmFycywgcHJvZHVjdCA9PiB7XG5cdFx0XHRcdGlmIChwcm9kdWN0KSB7XG5cdFx0XHRcdFx0aGFzQW55QWNjZXNzID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRpZiAoIWhhc0FueUFjY2VzcyAmJiAhdGhpcy5pc0dsb2JhbCkge1xuXHRcdFx0XHR0aGlzLmVycm9yID0gdGhpcy5rZXlzLm5vQXBwbGljYXRpb25BY2Nlc3M7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjaGVja1Byb2R1Y3RBY2Nlc3MoYWNjZXNzVmFyczogT2JqZWN0LCBhY2Nlc3NQcm9kdWN0OiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRcdGxldCBoYXNOb090aGVyQWNjZXNzID0gdHJ1ZTtcblx0XHRcdGlmIChhY2Nlc3NWYXJzW2FjY2Vzc1Byb2R1Y3RdKSB7XG5cdFx0XHRcdGFuZ3VsYXIuZm9yRWFjaChhY2Nlc3NWYXJzLCAocHJvZHVjdFZhbHVlLCBwcm9kdWN0TmFtZSkgPT4ge1xuXHRcdFx0XHRcdGlmIChwcm9kdWN0TmFtZSAhPT0gYWNjZXNzUHJvZHVjdCAmJiBwcm9kdWN0VmFsdWUpIHtcblx0XHRcdFx0XHRcdGhhc05vT3RoZXJBY2Nlc3MgPSBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGhhc05vT3RoZXJBY2Nlc3M7XG5cdFx0fVxuXG5cdFx0b3BlbkxpbmsoaHJlZjogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHR0aGlzLiR3aW5kb3cub3BlbihocmVmKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRvcmdhbml6YXRpb25UeXBlQWhlYWRDaGFuZ2VkKCRldmVudDogbmcuSUFuZ3VsYXJFdmVudCwgJGl0ZW06IElTaW1wbGVPcmdhbml6YXRpb24pOiB2b2lkIHtcblx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSA9ICRpdGVtLmNhY2hlS2V5O1xuXHRcdFx0dGhpcy5sb2NhdGlvblNlcnZpY2UuY2hhbmdlT3JnYW5pemF0aW9uKHRoaXMub3JnYW5pemF0aW9uQ2FjaGVLZXkpO1xuXHRcdH1cblxuXHRcdG9yZ2FuaXphdGlvbkNoYW5nZWQob3JnYW5pemF0aW9uQ2FjaGVLZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdFx0dGhpcy5vcmdhbml6YXRpb25DYWNoZUtleSA9IG9yZ2FuaXphdGlvbkNhY2hlS2V5O1xuXG5cdFx0XHQvLyBSU0MtMTUxNiBVcGRhdGUgYXV0aCBvbiBuZXcgQXZlbnVlIHNlbGVjdGlvbiB0byBlbnN1cmUgd2UgZ2V0IHRoZSByaWdodCBwZXJtaXNzaW9ucyBmb3IgZWFjaCBvcmdcblx0XHRcdHRoaXMuc3NvU2VydmljZS5yZW5ld0FjY2Vzc1Rva2VuKCkudGhlbigoKSA9PiB7XG5cdFx0XHRcdHRoaXMubG9jYXRpb25TZXJ2aWNlLmNoYW5nZU9yZ2FuaXphdGlvbihvcmdhbml6YXRpb25DYWNoZUtleSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlByb2R1Y3RzJykuY29udHJvbGxlcignUHJvZHVjdHNDb250cm9sbGVyJywgUHJvZHVjdHNDb250cm9sbGVyKTtcbn1cbiJdfQ==\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var Testing;\n (function (Testing) {\n var TestingController = /** @class */ (function () {\n function TestingController(locationService, appSettings) {\n this.locationService = locationService;\n this.appSettings = appSettings;\n // In production code prevent the user from accessing this page.\n if (!ap.Utilities.isTrueValue(appSettings.angularDebugEnabled)) {\n //this.locationService.redirectToInspectionForms();\n return;\n }\n }\n TestingController.$inject = [\n 'locationService',\n 'appSettings'\n ];\n return TestingController;\n }());\n Testing.TestingController = TestingController;\n angular.module('app.Testing')\n .controller('TestingController', TestingController);\n })(Testing = app.Testing || (app.Testing = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3RpbmcvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0MsWUFBWSxDQUFDO0FBRWIsSUFBTyxHQUFHLENBc0JUO0FBdEJELFdBQU8sR0FBRztJQUFDLElBQUEsT0FBTyxDQXNCakI7SUF0QlUsV0FBQSxPQUFPO1FBQ2pCO1lBTUMsMkJBQ1MsZUFBeUMsRUFDekMsV0FBeUI7Z0JBRHpCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtnQkFDekMsZ0JBQVcsR0FBWCxXQUFXLENBQWM7Z0JBR2pDLGdFQUFnRTtnQkFDaEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO29CQUMvRCxtREFBbUQ7b0JBQ25ELE9BQU87aUJBQ1A7WUFDRixDQUFDO1lBZk0seUJBQU8sR0FBRztnQkFDaEIsaUJBQWlCO2dCQUNqQixhQUFhO2FBQ2IsQ0FBQztZQWFILHdCQUFDO1NBakJELEFBaUJDLElBQUE7UUFqQlkseUJBQWlCLG9CQWlCN0IsQ0FBQTtRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO2FBQzNCLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELENBQUMsRUF0QlUsT0FBTyxHQUFQLFdBQU8sS0FBUCxXQUFPLFFBc0JqQjtBQUFELENBQUMsRUF0Qk0sR0FBRyxLQUFILEdBQUcsUUFzQlQiLCJmaWxlIjoidGVzdGluZy9jb250cm9sbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD0nLi4vLi4vdHlwaW5ncy90c2QuZC50cycgLz5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlIGFwcC5UZXN0aW5nIHtcblx0ZXhwb3J0IGNsYXNzIFRlc3RpbmdDb250cm9sbGVyIHtcblx0XHRzdGF0aWMgJGluamVjdCA9IFtcblx0XHRcdCdsb2NhdGlvblNlcnZpY2UnLFxuXHRcdFx0J2FwcFNldHRpbmdzJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByaXZhdGUgbG9jYXRpb25TZXJ2aWNlOiBTZXJ2aWNlcy5Mb2NhdGlvblNlcnZpY2UsXG5cdFx0XHRwcml2YXRlIGFwcFNldHRpbmdzOiBJQXBwU2V0dGluZ3Ncblx0XHQpIHtcblxuXHRcdFx0Ly8gSW4gcHJvZHVjdGlvbiBjb2RlIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBhY2Nlc3NpbmcgdGhpcyBwYWdlLlxuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNUcnVlVmFsdWUoYXBwU2V0dGluZ3MuYW5ndWxhckRlYnVnRW5hYmxlZCkpIHtcblx0XHRcdFx0Ly90aGlzLmxvY2F0aW9uU2VydmljZS5yZWRpcmVjdFRvSW5zcGVjdGlvbkZvcm1zKCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLlRlc3RpbmcnKVxuXHRcdC5jb250cm9sbGVyKCdUZXN0aW5nQ29udHJvbGxlcicsIFRlc3RpbmdDb250cm9sbGVyKTtcbn0iXX0=\n\n/// \n'use strict';\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar app;\n(function (app) {\n var Modals;\n (function (Modals) {\n var ConfirmModalController = /** @class */ (function (_super) {\n __extends(ConfirmModalController, _super);\n function ConfirmModalController($uibModalInstance, modalOptions) {\n var _this = _super.call(this, $uibModalInstance) || this;\n _this.$uibModalInstance = $uibModalInstance;\n _this.modalOptions = modalOptions;\n return _this;\n }\n ConfirmModalController.$inject = [\n '$uibModalInstance',\n 'modalOptions'\n ];\n return ConfirmModalController;\n }(Modals.BaseModalController));\n Modals.ConfirmModalController = ConfirmModalController;\n angular.module('app.Modals')\n .controller('ConfirmModalController', ConfirmModalController);\n })(Modals = app.Modals || (app.Modals = {}));\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZGFscy9jb25maXJtL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7QUFFYixJQUFPLEdBQUcsQ0FtQlQ7QUFuQkQsV0FBTyxHQUFHO0lBQUMsSUFBQSxNQUFNLENBbUJoQjtJQW5CVSxXQUFBLE1BQU07UUFDaEI7WUFBNEMsMENBQTBCO1lBT3JFLGdDQUNXLGlCQUF3RCxFQUMxRCxZQUEyQjtnQkFGcEMsWUFLQyxrQkFBTSxpQkFBaUIsQ0FBQyxTQUN4QjtnQkFMVSx1QkFBaUIsR0FBakIsaUJBQWlCLENBQXVDO2dCQUMxRCxrQkFBWSxHQUFaLFlBQVksQ0FBZTs7WUFJcEMsQ0FBQztZQVhNLDhCQUFPLEdBQWtCO2dCQUMvQixtQkFBbUI7Z0JBQ25CLGNBQWM7YUFDZCxDQUFDO1lBU0gsNkJBQUM7U0FkRCxBQWNDLENBZDJDLE1BQU0sQ0FBQyxtQkFBbUIsR0FjckU7UUFkWSw2QkFBc0IseUJBY2xDLENBQUE7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzthQUMxQixVQUFVLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUNoRSxDQUFDLEVBbkJVLE1BQU0sR0FBTixVQUFNLEtBQU4sVUFBTSxRQW1CaEI7QUFBRCxDQUFDLEVBbkJNLEdBQUcsS0FBSCxHQUFHLFFBbUJUIiwiZmlsZSI6Im1vZGFscy9jb25maXJtL2NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZSBhcHAuTW9kYWxzIHtcblx0ZXhwb3J0IGNsYXNzIENvbmZpcm1Nb2RhbENvbnRyb2xsZXIgZXh0ZW5kcyBNb2RhbHMuQmFzZU1vZGFsQ29udHJvbGxlciB7XG5cblx0XHRzdGF0aWMgJGluamVjdDogQXJyYXk8c3RyaW5nPiA9IFtcblx0XHRcdCckdWliTW9kYWxJbnN0YW5jZScsXG5cdFx0XHQnbW9kYWxPcHRpb25zJ1xuXHRcdF07XG5cblx0XHRjb25zdHJ1Y3Rvcihcblx0XHRcdHByb3RlY3RlZCAkdWliTW9kYWxJbnN0YW5jZTogbmcudWkuYm9vdHN0cmFwLklNb2RhbFNlcnZpY2VJbnN0YW5jZSxcblx0XHRcdHByaXZhdGUgbW9kYWxPcHRpb25zOiBJTW9kYWxPcHRpb25zXG5cdFx0KSB7XG5cblx0XHRcdHN1cGVyKCR1aWJNb2RhbEluc3RhbmNlKTtcblx0XHR9XG5cdH1cblxuXHRhbmd1bGFyLm1vZHVsZSgnYXBwLk1vZGFscycpXG5cdFx0LmNvbnRyb2xsZXIoJ0NvbmZpcm1Nb2RhbENvbnRyb2xsZXInLCBDb25maXJtTW9kYWxDb250cm9sbGVyKTtcbn0iXX0=\n\n/// \n'use strict';\nvar app;\n(function (app) {\n var PackageEditorConfig = /** @class */ (function () {\n function PackageEditorConfig() {\n }\n PackageEditorConfig.toastrConfig = function (toastr) {\n toastr.options.timeOut = 4000;\n toastr.options.positionClass = 'toast-bottom-right';\n };\n PackageEditorConfig.configure = function ($compileProvider, $logProvider, $routeProvider, $translateProvider, appSettings) {\n $compileProvider.debugInfoEnabled(appSettings.angularDebugEnabled);\n if (!ap.Utilities.isNullOrUndefined($logProvider.debugEnabled)) {\n $logProvider.debugEnabled(true);\n }\n var routes = ap.Constants.routes;\n $routeProvider\n .when(\"/\" + routes.home.route, routes.home)\n .when(\"/:organizationCacheKey/\" + routes.products.route, routes.products)\n .when(\"/:organizationCacheKey/\" + routes.testing.route, routes.testing)\n .otherwise(\"/\" + routes.home.route);\n $translateProvider.translations();\n $translateProvider.preferredLanguage('en');\n $translateProvider.useSanitizeValueStrategy('escapeParameters');\n };\n return PackageEditorConfig;\n }());\n angular.module('app')\n .config(['$compileProvider', '$logProvider', '$routeProvider', '$translateProvider', 'appSettings', PackageEditorConfig.configure])\n .config(['toastr', PackageEditorConfig.toastrConfig]);\n angular.module('deploy', []).constant('appSettings', {\n angularDebugEnabled: true,\n applicationCacheKey: '3dcc11f0-1ffc-4d5e-8804-11a22cbaa13e',\n cookieDomain: '.local.autopoint.com',\n urls: {\n advisor: 'http://advisor.local.autopoint.com',\n avenue: 'http://avenue.local.autopoint.com',\n backoffice: 'http://backoffice.local.autopoint.com',\n datadictionary: 'http://datadictionary.local.autopoint.com',\n dynamicContentUrl: 'http://dynamiccontent.local.autopoint.com',\n matrix: 'http://matrix.local.autopoint.com',\n matrixApi: 'http://thematrixapi.local.autopoint.com',\n motorist: 'http://motorist.local.autopoint.com',\n multipointii: 'http://multipointii.local.autopoint.com',\n package: 'http://package.local.autopoint.com',\n preowned: 'http://cpo.local.autopoint.com',\n reporting: 'http://reporting.local.autopoint.com',\n shop: 'http://shop.local.autopoint.com',\n sso: 'http://sso.local.autopoint.com',\n ssoApi: 'http://ssoapi.local.autopoint.com',\n welcomePoint: 'http://welcomePoint.local.autopoint.com',\n mercedesmultipointii: 'http://mercedes-multipointii.local.autopoint.com/'\n }\n });\n})(app || (app = {}));\n\n//# sourceMappingURL=data:application/json;charset=utf8;base64,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O1NBQ3pFO0tBQ0QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxFQWpFTSxHQUFHLEtBQUgsR0FBRyxRQWlFVCIsImZpbGUiOiJhcHAuY29uZmlnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUgYXBwIHtcblx0Y2xhc3MgUGFja2FnZUVkaXRvckNvbmZpZyB7XG5cblx0XHRzdGF0aWMgdG9hc3RyQ29uZmlnKHRvYXN0cjogVG9hc3RyKSB7XG5cdFx0XHR0b2FzdHIub3B0aW9ucy50aW1lT3V0ID0gNDAwMDtcblx0XHRcdHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0Jztcblx0XHR9XG5cblxuXHRcdHN0YXRpYyBjb25maWd1cmUoXG5cdFx0XHQkY29tcGlsZVByb3ZpZGVyOiBuZy5JQ29tcGlsZVByb3ZpZGVyLFxuXHRcdFx0JGxvZ1Byb3ZpZGVyOiBuZy5JTG9nUHJvdmlkZXIsXG5cdFx0XHQkcm91dGVQcm92aWRlcjogbmcucm91dGUuSVJvdXRlUHJvdmlkZXIsXG5cdFx0XHQkdHJhbnNsYXRlUHJvdmlkZXI6IG5nLnRyYW5zbGF0ZS5JVHJhbnNsYXRlUHJvdmlkZXIsXG5cdFx0XHRhcHBTZXR0aW5nczogSUFwcFNldHRpbmdzXG5cdFx0KSB7XG5cblx0XHRcdCRjb21waWxlUHJvdmlkZXIuZGVidWdJbmZvRW5hYmxlZChhcHBTZXR0aW5ncy5hbmd1bGFyRGVidWdFbmFibGVkKTtcblxuXHRcdFx0aWYgKCFhcC5VdGlsaXRpZXMuaXNOdWxsT3JVbmRlZmluZWQoJGxvZ1Byb3ZpZGVyLmRlYnVnRW5hYmxlZCkpIHtcblx0XHRcdFx0JGxvZ1Byb3ZpZGVyLmRlYnVnRW5hYmxlZCh0cnVlKTtcblx0XHRcdH1cblxuXHRcdFx0dmFyIHJvdXRlcyA9IGFwLkNvbnN0YW50cy5yb3V0ZXM7XG5cblx0XHRcdCRyb3V0ZVByb3ZpZGVyXG5cdFx0XHRcdC53aGVuKGAvJHtyb3V0ZXMuaG9tZS5yb3V0ZX1gLCByb3V0ZXMuaG9tZSlcblx0XHRcdFx0LndoZW4oYC86b3JnYW5pemF0aW9uQ2FjaGVLZXkvJHtyb3V0ZXMucHJvZHVjdHMucm91dGV9YCwgcm91dGVzLnByb2R1Y3RzKVxuXHRcdFx0XHQud2hlbihgLzpvcmdhbml6YXRpb25DYWNoZUtleS8ke3JvdXRlcy50ZXN0aW5nLnJvdXRlfWAsIHJvdXRlcy50ZXN0aW5nKVxuXHRcdFx0XHQub3RoZXJ3aXNlKGAvJHtyb3V0ZXMuaG9tZS5yb3V0ZX1gKTtcblxuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnRyYW5zbGF0aW9ucygpO1xuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnByZWZlcnJlZExhbmd1YWdlKCdlbicpO1xuXHRcdFx0JHRyYW5zbGF0ZVByb3ZpZGVyLnVzZVNhbml0aXplVmFsdWVTdHJhdGVneSgnZXNjYXBlUGFyYW1ldGVycycpO1xuXHRcdH1cblx0fVxuXG5cdGFuZ3VsYXIubW9kdWxlKCdhcHAnKVxuXHRcdC5jb25maWcoWyckY29tcGlsZVByb3ZpZGVyJywgJyRsb2dQcm92aWRlcicsICckcm91dGVQcm92aWRlcicsICckdHJhbnNsYXRlUHJvdmlkZXInLCAnYXBwU2V0dGluZ3MnLCBQYWNrYWdlRWRpdG9yQ29uZmlnLmNvbmZpZ3VyZV0pXG5cdFx0LmNvbmZpZyhbJ3RvYXN0cicsIFBhY2thZ2VFZGl0b3JDb25maWcudG9hc3RyQ29uZmlnXSk7XG5cblx0YW5ndWxhci5tb2R1bGUoJ2RlcGxveScsIFtdKS5jb25zdGFudCgnYXBwU2V0dGluZ3MnLCA8SUFwcFNldHRpbmdzPiB7XG5cdFx0YW5ndWxhckRlYnVnRW5hYmxlZDogdHJ1ZSxcblx0XHRhcHBsaWNhdGlvbkNhY2hlS2V5OiAnM2RjYzExZjAtMWZmYy00ZDVlLTg4MDQtMTFhMjJjYmFhMTNlJyxcblx0XHRjb29raWVEb21haW46ICcubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0dXJsczoge1xuXHRcdFx0YWR2aXNvcjogJ2h0dHA6Ly9hZHZpc29yLmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0YXZlbnVlOiAnaHR0cDovL2F2ZW51ZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdGJhY2tvZmZpY2U6ICdodHRwOi8vYmFja29mZmljZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdGRhdGFkaWN0aW9uYXJ5OiAnaHR0cDovL2RhdGFkaWN0aW9uYXJ5LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0ZHluYW1pY0NvbnRlbnRVcmw6ICdodHRwOi8vZHluYW1pY2NvbnRlbnQubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRtYXRyaXg6ICdodHRwOi8vbWF0cml4LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0bWF0cml4QXBpOiAnaHR0cDovL3RoZW1hdHJpeGFwaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdG1vdG9yaXN0OiAnaHR0cDovL21vdG9yaXN0LmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0bXVsdGlwb2ludGlpOiAnaHR0cDovL211bHRpcG9pbnRpaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHBhY2thZ2U6ICdodHRwOi8vcGFja2FnZS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHByZW93bmVkOiAnaHR0cDovL2Nwby5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHJlcG9ydGluZzogJ2h0dHA6Ly9yZXBvcnRpbmcubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRzaG9wOiAnaHR0cDovL3Nob3AubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRzc286ICdodHRwOi8vc3NvLmxvY2FsLmF1dG9wb2ludC5jb20nLFxuXHRcdFx0c3NvQXBpOiAnaHR0cDovL3Nzb2FwaS5sb2NhbC5hdXRvcG9pbnQuY29tJyxcblx0XHRcdHdlbGNvbWVQb2ludDogJ2h0dHA6Ly93ZWxjb21lUG9pbnQubG9jYWwuYXV0b3BvaW50LmNvbScsXG5cdFx0XHRtZXJjZWRlc211bHRpcG9pbnRpaTogJ2h0dHA6Ly9tZXJjZWRlcy1tdWx0aXBvaW50aWkubG9jYWwuYXV0b3BvaW50LmNvbS8nXG5cdFx0fVxuXHR9KTtcbn1cbiJdfQ==\n\nangular.module(\"app\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"app/home/index.html\",\"{{ ctrl.error }} {{ ctrl.organization.name }} \");\n$templateCache.put(\"app/products/index.html\",\"{{ ctrl.organization.name }}{{ ctrl.error }}{{ ctrl.keys.multiPoint }} {{ ctrl.keys.appointments }} {{ ctrl.keys.welcomePoint }} {{ ctrl.keys.reporting }} {{ ctrl.keys.preowned }}{{ ctrl.keys.backoffice }} {{ ctrl.keys.datadictionary }} {{ ctrl.keys.shop }}\");\n$templateCache.put(\"app/testing/index.html\",\"\");\n$templateCache.put(\"app/directives/ap-page-content/template.html\",\"\");\n$templateCache.put(\"app/directives/ap-page-header/template.html\",\" {{ctrl.firstName}} {{ctrl.keys.logout|translate}}\");\n$templateCache.put(\"app/directives/ap-page-menu/template.html\",\"{{menuItem.label}}{{menuItem.label}}{{option.label}} {{option.label}}\");\n$templateCache.put(\"app/directives/ap-organization-selector-link/template.html\",\" {{organization.name}} 0\\\">\");\n$templateCache.put(\"app/directives/ap-waiting-message/template.html\",\"{{displayText | translate}} \");\n$templateCache.put(\"app/directives/ap-page-navbar/template.html\",\"{{ctrl.keys.defaultPage|translate}} {{ctrl.keys.close|translate}}\");\n$templateCache.put(\"app/components/ap-labeled-text-input/template.html\",\" \");\n$templateCache.put(\"app/modals/confirm/template.html\",\"×{{ctrl.modalOptions.headerText | translate}}{{ctrl.modalOptions.bodyText | translate}}\");\n$templateCache.put(\"app/components/typeahead-org-selector/template.html\",\" 0\\\">\");}]);"]}
{{ctrl.modalOptions.bodyText | translate}}