{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utilities/Utils.js","webpack:///./src/App.vue?b1bb","webpack:///./src/plugins/msal.js","webpack:///./src/Components/loadingIndicator.vue?fae3","webpack:///src/Components/loadingIndicator.vue","webpack:///./src/Components/loadingIndicator.vue?eb78","webpack:///./src/Components/loadingIndicator.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router/index.js","webpack:///./src/plugins/sfplugin.js","webpack:///./src/main.js","webpack:///./src/App.vue?c650","webpack:///./src/assets/state-farm-logo.png","webpack:///./src/assets/trupanion-logo.png","webpack:///./src/utilities/Net.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","Trupanion","fullPage","pageIndex","pageSize","PAGER","labels","first","prev","next","last","classes","ul","li","liActive","liDisable","button","SFStateIds","SFStateNames","AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY","stateId","stateCode","String","stateName","pageSpinner","incr","body","dispatchEvent","CustomEvent","detail","exportCSV","list","escaped","replace","csv","keys","line","join","item","k","date","Date","toISOString","saveLink","blobString","blob","Blob","download","URL","createObjectURL","click","asDateTime","dt","toLocaleDateString","toLocaleTimeString","exportAgentPolicies","agent","policies","map","pol","stateAgentCode","insuredPets","some","pet","isActive","policyNumber","policyDate","firstName","lastName","postalCode","Utils","stateIds","stateNames","SFAdmin","_vm","this","_h","$createElement","_c","_self","class","isLogoutActive","attrs","staticClass","truLogo","sfLogo","_v","on","getToken","logout","_e","loaded","isLoggedIn","login","_s","user","_l","page","active","$event","navTo","display","exportAll","selectPage","directives","rawName","noAgents","expression","staticRenderFns","config","RESETPWD","SIGNIN","CLIENTID","TOKENSCOPE","Authorities","resetPwd","signIn","MsalConfig","auth","authority","clientId","redirectUri","location","origin","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","info","Verbose","debug","Warning","warn","TokenRequest","forceRefresh","scopes","MsalInstance","PublicClientApplication","localStorage","token","nickname","username","assignLocalValues","loginResponse","account","idTokenClaims","given_name","family_name","idToken","forceUserLogin","attemptSilent","assign","acquireTokenSilent","catch","response","acquireTokenPopup","getAccessToken","requestToken","accessToken","decodeToken","parts","split","payload","Base64","decode","overlay","dir","ix","dancing","component","expired","num","loggedIn","Vue","use","VueRouter","routes","path","router","base","process","commaize","symbol","places","snum","Number","toFixed","fracPart","neg","intPart","isNaN","dtStr","OPTS","timeZone","hour12","LOCALE","ISODATETIMERE","dateISO","trim","test","pad","padStart","localeDateString","localeTimeString","parse","dateStr","y","timeStr","time","ap","match","h","asLongDate","andTime","opts","day","month","weekday","year","SFPlugin","install","options","mixin","gettingAgents","computed","agentsList","vue","$root","agentList","maxDate","setFullYear","getFullYear","minDate","methods","getAgents","normalizeAgent","agt","agentCode","text","Net","post","Urls","agents","items","sort","a","b","networkError","duration","finally","agentByCode","normalizedStateAgentCode","toLowerCase","find","agentName","Array","isArray","state","rest","msg","$toast","title","filters","phoneFmt","number","currency","asDate","asLongDateTime","productionTip","entries","collapsable","showClose","forEach","val","Message","globals","vSelect","VueModal","render","App","$mount","bearerToken","xUser","APIURL","USERSURL","PARAMS","params","qstring","url","host","cancelRequests","exportPolicies","getHistory","getPolicies","reassignPolicy","getUsers","axios","netio","method","headers","Authorization","req","netConfig","delete","put"],"mappings":"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","file":"js/app.b7c39031.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2419a811\":\"e3765215\",\"chunk-52ee6c3a\":\"f306819e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-2419a811\":1,\"chunk-52ee6c3a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2419a811\":\"fd73907f\",\"chunk-52ee6c3a\":\"9be375ee\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// utils module\n\nconst Trupanion = window.Trupanion;\n\nconst fullPage = {\n pageIndex: 1,\n pageSize: 99999999,\n },\n PAGER = {\n labels: {\n first: '<<',\n prev: '<',\n next: '>',\n last: '>>',\n },\n classes: {\n ul: 'pager center blue',\n li: 'pager-item',\n liActive: 'active',\n liDisable: 'disabled',\n button: 'page-link',\n },\n };\n\nconst SFStateIds = {\n '01': 'AL',\n '02': 'AK',\n '03': 'AZ',\n '04': 'AR',\n '55': 'CA',\n '05': 'CA',\n '75': 'CA',\n '06': 'CO',\n '07': 'CT',\n '08': 'DE',\n '09': 'DC',\n '59': 'FL',\n '11': 'GA',\n '51': 'HI',\n '12': 'ID',\n '13': 'IL',\n '14': 'IN',\n '15': 'IA',\n '16': 'KS',\n '17': 'KY',\n '18': 'LA',\n '19': 'ME',\n '20': 'MD',\n '21': 'MA',\n '22': 'MI',\n '23': 'MN',\n '24': 'MS',\n '25': 'MO',\n '26': 'MT',\n '27': 'NE',\n '28': 'NV',\n '29': 'NH',\n '30': 'NJ',\n '31': 'NM',\n '32': 'NY',\n '52': 'NY',\n '33': 'NC',\n '34': 'ND',\n '35': 'OH',\n '36': 'OK',\n '37': 'OR',\n '38': 'PA',\n '39': 'RI',\n '40': 'SC',\n '41': 'SD',\n '42': 'TN',\n '43': 'TX',\n '53': 'TX',\n '44': 'UT',\n '45': 'VT',\n '46': 'VA',\n '47': 'WA',\n '48': 'WV',\n '49': 'WI',\n '50': 'WY',\n },\n SFStateNames = {\n AK: 'Alaska',\n AL: 'Alabama',\n AR: 'Arkansas',\n AZ: 'Arizona',\n CA: 'California',\n CO: 'Colorado',\n CT: 'Connecticut',\n DC: 'Washington, DC',\n DE: 'Delaware',\n FL: 'Florida',\n GA: 'Georgia',\n HI: 'Hawaii',\n IA: 'Iowa',\n ID: 'Idaho',\n IL: 'Illinois',\n IN: 'Indiana',\n KS: 'Kansas',\n KY: 'Kentucky',\n LA: 'Louisiana',\n MA: 'Massachusetts',\n MD: 'Maryland',\n ME: 'Maine',\n MI: 'Michigan',\n MN: 'Minnesota',\n MO: 'Missouri',\n MS: 'Mississippi',\n MT: 'Montana',\n NC: 'North Carolina',\n ND: 'North Dakota',\n NE: 'Nebraska',\n NH: 'New Hampshire',\n NJ: 'New Jersey',\n NM: 'New Mexico',\n NV: 'Nevada',\n NY: 'New York',\n OH: 'Ohio',\n OK: 'Oklahoma',\n OR: 'Oregon',\n PA: 'Pennsylvania',\n RI: 'Rhode Island',\n SC: 'South Carolina',\n SD: 'South Dakota',\n TN: 'Tennessee',\n TX: 'Texas',\n UT: 'Utah',\n VA: 'Virginia',\n VT: 'Vermont',\n WA: 'Washington',\n WI: 'Wisconsin',\n WV: 'West Virginia',\n WY: 'Wyoming',\n },\n stateId = (code) => SFStateIds[code] || '',\n stateCode = (code) => String(code || '').slice(0,2),\n stateName = (code) => SFStateNames[code] || '';\n\nfunction pageSpinner(incr) {\n document.body.dispatchEvent(new CustomEvent('loading',{detail: incr}));\n}\n\nfunction exportCSV(list,name) {\n function escaped(value) {\n if (value === null || value === undefined) {\n return '\"\"';\n }\n return `\"${String(value).replace(/\"/g,'\"\"')}\"`;\n }\n function csv(list,keys) {\n // use for-loop to ensure consistent order;\n const line = [],\n result = [];\n\n for (let i=0; i < keys.length; i++) {\n line.push(escaped(keys[i]));\n }\n result.push(line.join(','));\n for (let i=0; i < (list || []).length; i++) {\n const line = [],\n item = list[i];\n for (let k=0; k < keys.length; k++) {\n line.push(escaped(item[keys[k]]));\n }\n result.push(line.join(','));\n }\n return result.join('\\r\\n');\n }\n\n const date = (new Date()).toISOString().replace(/T.*$/,''),\n saveLink = document.createElement('a'),\n keys = Object.keys((list || [])[0]),\n blobString = csv(list,keys),\n blob = new Blob([blobString],{type: 'application/csv'});\n\n saveLink.download = `${name}.${date}.csv`;\n saveLink.href = URL.createObjectURL(blob);\n document.body.appendChild(saveLink);\n saveLink.click();\n setTimeout(() => document.body.removeChild(saveLink), 1000);\n}\nfunction asDateTime(d) {\n if (!d) {\n return '';\n }\n const dt = new Date(d);\n return `${dt.toLocaleDateString()} ${dt.toLocaleTimeString()}`;\n}\n\nfunction exportAgentPolicies(agent,policies) {\n const list = (policies || []).map(pol => ({\n 'Agent Code': agent.stateAgentCode,\n 'Agent Name': agent.name,\n 'Active': (pol.insuredPets || []).some(pet => pet.isActive),\n 'Policy Number': pol.policyNumber,\n 'Policy Enroll Date': asDateTime(pol.policyDate),\n 'Owner First Name': pol.firstName,\n 'Owner Last Name': pol.lastName,\n 'State Code': pol.stateCode || '',\n 'Postal Code': pol.postalCode || '',\n 'Pets': (pol.insuredPets || [])\n .map((pet) => pet.name || '')\n .join(', '),\n }));\n\n exportCSV(list,agent.name);\n}\n\nconst Utils = {\n asDateTime: asDateTime,\n exportAgentPolicies: exportAgentPolicies,\n exportCSV: exportCSV,\n fullPage: fullPage,\n PAGER: PAGER,\n pageSpinner: pageSpinner,\n stateIds: SFStateIds,\n stateNames: SFStateNames,\n stateId: stateId,\n stateCode: stateCode,\n stateName: stateName,\n};\nTrupanion.SFAdmin.Utils = Utils;\n\nexport { Utils };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'logout-active': _vm.isLogoutActive},attrs:{\"id\":\"sf-admin-app\"}},[_c('header',{staticClass:\"header\"},[_c('div',{staticClass:\"ident\"},[_c('div',{staticClass:\"logos\"},[_c('img',{staticClass:\"tru-logo\",attrs:{\"src\":_vm.truLogo}}),_c('img',{staticClass:\"sf-logo\",attrs:{\"src\":_vm.sfLogo}})]),_c('div',{staticClass:\"underwritten\"},[_vm._v(\" Underwritten by American Pet Insurance Company \")])]),_c('span',{staticClass:\"app-title\",on:{\"click\":_vm.getToken}},[_vm._v(\" Agent Reassignment Tool \")]),(_vm.isLoggedIn)?_c('span',{staticClass:\"logout icon-log-out\",attrs:{\"title\":\"Logout\"},on:{\"click\":_vm.logout}},[_c('svg',{attrs:{\"version\":\"1.0\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"32.000000pt\",\"height\":\"32.000000pt\",\"viewBox\":\"0 0 32.000000 32.000000\",\"preserveAspectRatio\":\"xMidYMid meet\"}},[_c('g',{attrs:{\"transform\":\"translate(0.000000,32.000000) scale(0.100000,-0.100000)\",\"fill\":\"currentColor\",\"stroke\":\"none\"}},[_c('path',{attrs:{\"d\":\"M142 288 c3 -8 27 -14 66 -16 l62 -3 0 -109 0 -109 -62 -3 c-39 -2\\n -63 -8 -66 -16 -3 -10 14 -12 75 -10 l78 3 0 135 0 135 -78 3 c-61 2 -78 0\\n -75 -10z\"}}),_c('path',{attrs:{\"d\":\"M56 195 l-39 -35 39 -35 c47 -41 54 -43 54 -10 0 24 2 25 65 25 58 0\\n 65 2 65 20 0 18 -7 20 -65 20 -63 0 -65 1 -65 25 0 33 -7 31 -54 -10z\"}})])])]):_vm._e()]),_c('hr',{staticClass:\"header-border\"}),(_vm.loaded && !_vm.isLoggedIn)?_c('div',{staticClass:\"login-ctr\"},[_c('button',{staticClass:\"btn clear login\",on:{\"click\":_vm.login}},[_vm._v(\" Please login \")])]):_vm._e(),_c('div',{staticClass:\"top\"},[(_vm.loaded && _vm.isLoggedIn)?_c('h2',{staticClass:\"welcome-ctr\"},[_vm._v(\" Welcome, \"+_vm._s(_vm.user.firstName)+\" \")]):_vm._e(),_c('div',{staticClass:\"nav-action\"},[(_vm.dataReady)?_c('ul',{staticClass:\"nav\"},_vm._l((_vm.pages),function(page){return _c('li',{key:page.name,class:{active: _vm.isActive(page)}},[_c('a',{staticClass:\"nav-link\",class:{active: _vm.isActive(page)},on:{\"click\":function($event){return _vm.navTo(page)}}},[_vm._v(\" \"+_vm._s(page.display)+\" \")])])}),0):_vm._e(),(_vm.dataReady)?_c('button',{staticClass:\"btn std\",on:{\"click\":_vm.exportAll}},[_vm._v(\"Export all policies\")]):_vm._e()])]),(_vm.dataReady)?_c('hr',{staticClass:\"header-border\"}):_vm._e(),(_vm.dataReady)?_c('main',{staticClass:\"main\"},[_c('router-view',{attrs:{\"user\":_vm.user},on:{\"pagechange\":_vm.selectPage}}),(_vm.isLoading)?_c('loading-indicator'):_vm._e()],1):_vm._e(),_c('section',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noAgents()),expression:\"noAgents()\"}],staticClass:\"main\"},[_c('h3',[_vm._v(\" Agent list is not available…please try later\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n PublicClientApplication,\n LogLevel,\n} from '@azure/msal-browser';\n\nimport { Base64 } from 'js-base64';\n\nconst config = window.Trupanion.SFAdmin.config,\n RESETPWD = config('msal.resetPwd'),\n SIGNIN = config('msal.signIn'),\n CLIENTID = config('msal.clientId'),\n TOKENSCOPE = config('msal.tokenScope');\n\n\n/**\n * This are the user flow login policies\n */\nconst Authorities = {\n resetPwd: RESETPWD, // https://devtrupstatefarmb2c.b2clogin.com/devtrupstatefarmb2c.onmicrosoft.com/B2C_1_PasswordReset',\n signIn: SIGNIN, // 'https://devtrupstatefarmb2c.b2clogin.com/tfp/devtrupstatefarmb2c.onmicrosoft.com/B2C_1_SignIn',\n};\n\n/**\n * This is the configuration for our connection to Azure B2C\n *\n * TODO we need to move clientId value to an env file\n */\nconst MsalConfig = {\n auth: {\n authority: Authorities.signIn,\n clientId: CLIENTID, // '5deb8c4b-bbc0-4c3d-96dc-73669e307c7d',\n redirectUri: window.location.origin,\n },\n cache: {\n cacheLocation: 'localStorage',\n storeAuthStateInCookie: true // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\n loggerOptions: {\n loggerCallback: (level, message, containsPii) => {\n if (containsPii) {\n return;\n }\n switch (level) {\n case LogLevel.Error: console.error(message); break\n case LogLevel.Info: console.info(message); break\n case LogLevel.Verbose: console.debug(message); break\n case LogLevel.Warning: console.warn(message); break\n };\n },\n },\n }\n};\n\n/**\n * This would be used if we were using loginPopup, for ID tokens only.\n * We are not using this as we are using a hybrid flow retrieveing\n * accessToken and idToken\n */\n\n/**\n * We are using this request for login to retrieve application scopes.\n * This is used to get access tokens, but in conjuction with acquireTokenPopup\n * will also return idToken\n */\nconst TokenRequest = {\n forceRefresh: false, // Set this to \"true\" to skip a cached token and go to the server to get a new token\n scopes: [TOKENSCOPE], // 'https://devtrupstatefarmb2c.onmicrosoft.com/api/user.admin',\n}\n\n/**\n * This is a configured instance of our connection to Azure B2C\n */\nconst MsalInstance = new PublicClientApplication(MsalConfig);\n\n/**\n * Function to logout\n */\nconst logout = async () => {\n localStorage.token = '';\n localStorage.nickname = '';\n localStorage.username = '';\n await MsalInstance.logout();\n}\n\nconst assignLocalValues = (loginResponse) => {\n if (loginResponse && loginResponse.account) {\n const first = loginResponse.account.idTokenClaims.given_name,\n last = loginResponse.account.idTokenClaims.family_name[0],\n username = loginResponse.account.idTokenClaims.username;\n localStorage.nickname = `${first} ${last}`;\n localStorage.username = username;\n localStorage.token = loginResponse.idToken ? loginResponse.idToken : '';\n }\n}\n\n/**\n * Forces the login process. If attemptSilent is true (default) will attempt to retrive the token silently (ie no popup).\n * If that fails will recursively call itself with attemptSilent = false, which forces the popup dialog.\n */\nconst forceUserLogin = async (attemptSilent = true) => {\n let response;\n if (localStorage.username && attemptSilent) {\n const request = Object.assign({ account: localStorage.username }, TokenRequest);\n const loginResponse = await MsalInstance.acquireTokenSilent(request).catch(async () => {\n response = await forceUserLogin(false);\n return null;\n });\n if (loginResponse !== null) {\n assignLocalValues(loginResponse);\n response = true;\n }\n } else {\n const loginResponse = await MsalInstance.acquireTokenPopup(TokenRequest);\n if (loginResponse !== null) {\n assignLocalValues(loginResponse);\n response = true;\n }\n }\n return response;\n}\n\n/**\n * Attempt to authenticate via sso\n */\nconst ssoLogin = async () => {\n const request = Object.assign({\n loginHint: localStorage.username\n }, TokenRequest);\n const loginResponse = await MsalInstance.ssoSilent(request).catch(() => null);\n if (loginResponse !== null) {\n assignLocalValues(loginResponse);\n }\n return (loginResponse && loginResponse.account !== null);\n}\n\n/**\n * Expose the method to get a current access token, typically called before we make API calls.\n */\nconst getAccessToken = async () => {\n try {\n const requestToken = Object.assign({}, TokenRequest);\n const request = Object.assign({ account: localStorage.username }, requestToken);\n const response = await MsalInstance.acquireTokenSilent(request);\n if (response.accessToken) {\n return response.accessToken;\n } else {\n return '';\n }\n } catch (err) {\n return '';\n }\n}\n\nconst decodeToken = (token) => {\n try {\n if (!token) {\n return;\n }\n\n const parts = token.split('.');\n if (!parts || parts.length !== 3) {\n return;\n }\n\n const payload = Base64.decode(parts[1]);\n return payload;\n } catch (err) {\n return '';\n }\n}\n\nexport {\n decodeToken,\n forceUserLogin,\n getAccessToken,\n logout,\n ssoLogin,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading\",attrs:{\"aria-live\":\"polite\",\"aria-busy\":\"true\"}},[_c('div',{staticClass:\"overlay overlay-fs\",class:{'overlay-fs': _vm.overlay}}),_c('div',{staticClass:\"dancing-cube-grid\"},_vm._l((_vm.dirs),function(dir,ix){return _c('div',{key:ix,class:_vm.dancing(dir)})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loadingIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loadingIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loadingIndicator.vue?vue&type=template&id=06f8e096&\"\nimport script from \"./loadingIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./loadingIndicator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n \n\n
\n \n
\n\n
\n
\n Welcome, {{user.firstName}}\n
\n
\n
\n
\n
\n
\n\n \n
\n \n \n \n
\n Agent list is not available…please try later
\n \n\n
\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=62f310f4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n component: () => import('@/Views/Search.vue'),\n name: 'Search',\n path: '/search',\n },\n {\n component: () => import('@/Views/History.vue'),\n name: 'History',\n path: '/history',\n },\n];\n\nconst router = new VueRouter({\n base: process.env.BASE_URL,\n mode: 'history',\n routes,\n});\n\nexport default router;\n","import { Net,Urls } from '@/utilities/Net';\nimport { Utils } from '@/utilities/Utils';\n\nfunction commaize(num,symbol='',places=0) {\n const snum = Number(num).toFixed(places),\n parts = snum.split('.'), // 123 or 123.45\n fracPart = (parts.length === 1) ? '' : ('.' + parts[1]);\n let neg = '',\n intPart = parts[0],\n result = '';\n\n if (isNaN(num)) {\n return '';\n }\n\n // Handle negative numbers.\n if (intPart.slice(0) === '-') {\n neg = '-';\n intPart = intPart.slice(1); // strip off the negative\n }\n\n result = intPart.replace(/\\d{1,3}(?=(\\d{3})+(?!\\d))/g,'$&,');\n return neg + symbol + result + fracPart;\n}\n\nfunction asDateTime(dtStr = '') {\n const OPTS = {\n timeZone: 'America/Los_Angeles',\n hour12: true,\n },\n LOCALE = 'en-US',\n\n // ISO dateTime regular expression, from https://stackoverflow.com/a/3143231/9778003\n // see also: https://www.w3.org/TR/NOTE-datetime\n ISODATETIMERE = /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d)/,\n dateISO = (dtStr || '').trim();\n\n if (dateISO.length > 0 && ISODATETIMERE.test(dateISO)) {\n const pad = s => (String(s)).padStart(2,'0'),\n\n // Internet Explorer has incomplete support for toLocale(Date|Time)String\n // so fall back to something, rather than breaking\n localeDateString = date => {\n try {\n return date.toLocaleDateString(LOCALE,OPTS);\n } catch(e) {\n try {\n return date.toLocaleDateString(LOCALE);\n } catch(e) {\n return '??/??/????';\n }\n }\n },\n localeTimeString = date => {\n try {\n return date.toLocaleTimeString(LOCALE,OPTS);\n } catch(e) {\n try {\n return date.toLocaleTimeString(LOCALE);\n } catch(e) {\n return '??:??:?? AM';\n }\n }\n },\n date = new Date(Date.parse(dateISO)),\n dateStr = date => {\n const [m,d,y] = localeDateString(date).split(/\\//);\n return `${pad(m)}/${pad(d)}/${y}`;\n },\n timeStr = time => {\n const s = localeTimeString(date),\n ap = s.match(/PM$/i) ? 'p':'a';\n let [h,m] = s.split(/:/);\n\n h = (h === '0' || h === '00') ? '12' : h;\n return `${h}:${pad(m)}${ap}`;\n };\n\n return `${dateStr(date)} ${timeStr(date)}`;\n } else {\n return '';\n }\n}\n\nfunction asLongDate(dt,andTime=false) {\n const opts = {\n day: 'numeric',\n month: 'long',\n weekday: 'long',\n year: 'numeric',\n };\n let date,\n time;\n if (typeof dt === 'string') {\n date = new Date(dt);\n }\n if (dt instanceof Date) {\n date = dt;\n }\n if (date instanceof Date) {\n time = andTime ? ' ' + date.toLocaleTimeString('en-us') : ''\n return date.toLocaleDateString('en-us',opts) + time;\n }\n return '';\n}\n\n\nconst SFPlugin = {\n install: function(Vue,options) {\n Vue.mixin({\n data: function() {\n return {\n gettingAgents: false,\n };\n },\n computed: {\n agentsList: function() {\n const vue = this;\n return vue.$root.agentList;\n },\n maxDate: function() {\n const date = new Date();\n date.setFullYear(date.getFullYear()+1);\n return date.toISOString().slice(0,10);\n },\n minDate: function() {\n return (new Date()).toISOString().slice(0,10);\n },\n },\n methods: {\n getAgents: function() {\n const vue = this;\n\n function normalizeAgent(agt) {\n agt.stateAgentCode = vue.agentCode(agt); // ensures SS-NNNN format\n if (agt.name) {\n agt.text = `${agt.stateAgentCode} - ${agt.name}`;\n } else {\n agt.name = '';\n agt.text = agt.stateAgentCode;\n }\n return agt;\n }\n \n vue.gettingAgents = true;\n Net.post(Urls.getAgents(),Utils.fullPage)\n .then(agents => {\n const list = agents?.data?.items.map(normalizeAgent)\n list.sort((a,b) => a.stateAgentCode === b.stateAgentCode ? 0 : a.stateAgentCode < b.stateAgentCode ? -1 : 1);\n vue.$root.agentList = list;\n })\n .catch(err => {\n console.error('cannot retrieve agents',err);\n vue.networkError(`cannot retrieve agents: ${err.message}`,{\n duration: -1,\n });\n })\n .finally(() => vue.gettingAgents = false);\n \n },\n agentByCode: function(list,stateAgentCode) {\n const normalizedStateAgentCode = function(stateAgentCode) {\n const code = (stateAgentCode || '').toLowerCase();\n return code[2] === '-' ? code.slice(0,2) + code.slice(3) : code;\n },\n code = normalizedStateAgentCode(stateAgentCode);\n return list.find(agt => normalizedStateAgentCode(agt.stateAgentCode) === code);\n },\n agentName: function(list,agentCode) {\n const vue = this;\n if (Array.isArray(list)) {\n const agent = vue.agentByCode(list,agentCode);\n return agent ? agent.name : agentCode;\n } else {\n const agent = list;\n return agent ? agent.name : agentCode;\n }\n },\n agentCode: function(agent) {\n const agt = agent || {},\n code = agt.stateAgentCode || '',\n state = code.slice(0,2),\n rest = code.slice(2).replace(/^-+/,'');\n\n return `${state}-${rest}`;\n },\n networkError: function(msg,opts={}) {\n const vue = this;\n vue.$toast.error({\n message: msg,\n title: 'Network error',\n ...opts\n });\n },\n },\n filters: {\n phoneFmt: (number = '') => String(number).replace(/\\D/g,'').replace(/^(\\d{3})(\\d{3})(\\d{4})$/,'($1) $2-$3'),\n commaize: (num) => commaize(num),\n currency: (num) => commaize(num,'$',2),\n asDate: (dtStr = '') => asDateTime(dtStr).slice(0,10),\n asLongDate: (dtStr) => asLongDate(dtStr),\n asLongDateTime: (dtStr) => asLongDate(dtStr,true),\n }\n });\n },\n};\nexport default SFPlugin;\n","import Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\n\nimport vSelect from 'vue-select';\nimport VueModal from '@kouts/vue-modal';\nimport Message from 'vue-m-message';\nimport 'vue-select/dist/vue-select.css';\nimport '@kouts/vue-modal/dist/vue-modal.css';\nimport 'vue-m-message/dist/index.css';\n\nimport SFPlugin from './plugins/sfplugin';\n\nVue.config.productionTip = false;\n\n// https://mengdu.github.io/m-message/#/\nObject.entries({\n collapsable: false,\n duration: 10000,\n showClose: true,\n}).forEach(([key,val]) => Message.globals.options[key] = val);\n\nVue.use(Message,{name: 'toast'});\nVue.use(SFPlugin);\nVue.component('v-select',vSelect);\nVue.component('v-modal',VueModal);\n\nnew Vue({\n render: h => h(App),\n router,\n data: {\n agentList: [],\n }\n}).$mount('#app');\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/state-farm-logo.b97c3819.png\";","module.exports = __webpack_public_path__ + \"img/trupanion-logo.77d96cd4.png\";","// Net module\nimport axios from 'axios';\nimport {Utils} from '../utilities/Utils';\n\nconst Trupanion = window.Trupanion,\n config = Trupanion.SFAdmin.config,\n pageSpinner = Utils.pageSpinner;\n\nconst APIURL = config('apiUrl'),\n USERSURL = config('usersUrl'),\n PARAMS = (params) => {\n const qstring = Object.entries(params)\n .map(([key,val]) => `${key}=${val}`)\n .join('&');\n return qstring ? `?${qstring}` : '';\n },\n url = ({host = APIURL, path = '',params = {}}) => {\n return host + path + PARAMS(params);\n };\n\nlet bearerToken,\n xUser;\n\nconst Urls = {\n cancelRequests: () => url({path:'/reassignpolicyrequests/cancel'}),\n exportPolicies: () => url({path:'/reports/exportpolicies'}),\n getAgents: () => url({path:'/agentoffices'}),\n getHistory: () => url({path: '/reassignpolicyrequesthistories'}),\n getPolicies: () => url({path:'/policyholders'}),\n reassignPolicy: () => url({path:'/reassignpolicyrequests'}),\n\n getUsers: () => url({host: USERSURL}),\n};\n\nconst request = axios.create({});\n\nfunction netio(method,url,data = undefined,options = {}) {\n const headers = {\n 'Accept': '*/*',\n 'Content-Type': 'application/json',\n };\n\n if (bearerToken) {\n headers.Authorization = `Bearer ${bearerToken}`;\n } else {\n console.error(`SFAPP: Net request to ${url} but no bearerToken!`);\n }\n if (xUser) {\n headers['x-user-id'] = xUser;\n }\n\n pageSpinner(1);\n const req = request({\n method: method,\n url: url,\n data: data,\n headers: headers,\n });\n req.finally(() => pageSpinner(-1));\n return req;\n}\n\nfunction netConfig(data) {\n data = data || {};\n bearerToken = data.token || bearerToken;\n xUser = data.xUser || xUser;\n}\n\nconst Net = {\n config: netConfig,\n delete: (url,options) => netio('delete',url,undefined,options),\n get: (url,options) => netio('get',url,undefined,options),\n post: (url,data,options) => netio('post',url,data,options),\n put: (url,data,options) => netio('put',url,data,options),\n};\nexport {Net, Urls};\n"],"sourceRoot":""}