{"version":3,"file":"Centro.Main.min.js","mappings":"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","sources":["/webpack/bootstrap","/../node_modules/tslib/tslib.es6.mjs","/../node_modules/@ms/centro-hvc-loader/dist/runtime/logging/log.types.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/bootstrap/scriptLoader.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/logging/broadcastLogger.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/logging/macKustoLogger.js","/../node_modules/@ms/centro-hvc-loader/dist/hvc-loader/foreignEnvLoader.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/theme/theme.types.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/data/requestFunction.types.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/public/utils/uuid.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/routing/history.js","/../node_modules/@ms/centro-hvc-loader/dist/runtime/configuration/staticDataSource.js","/./ValueGuidance/CentroTypes.ts","/./ValueGuidance/CentroParams.ts","/./Common/AuthenticationTypes.ts","/./Common/Helpers.ts","/./Common/Logging.ts","/./Common/Strings.ts","/./ValueGuidance/DataSources/AuthDataSource.ts","/./ValueGuidance/DataSources/DataBoundaryDataSource.ts","/./ValueGuidance/DataSources/CentroAuthStateWrapper.ts","/./ValueGuidance/Centro.Main.ts","/./ValueGuidance/Centro.ts"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var LogKind;\r\n(function (LogKind) {\r\n LogKind[\"Info\"] = \"Info\";\r\n LogKind[\"Error\"] = \"Error\";\r\n /**\r\n * Engagement/Analytics logging\r\n */\r\n LogKind[\"Analytics\"] = \"Analytics\";\r\n /**\r\n * Performance related logging\r\n */\r\n LogKind[\"Performance\"] = \"Performance\";\r\n /**\r\n * Interface kind is dedicated for module's logging of interfacing informations.\r\n * To improve interoperability and debugging.\r\n */\r\n LogKind[\"Interface\"] = \"Interface\";\r\n /**\r\n * Logs dedicated to availability.\r\n */\r\n LogKind[\"Availability\"] = \"Availability\";\r\n /**\r\n * Logs dedicated to availability.\r\n */\r\n LogKind[\"Reliability\"] = \"Reliability\";\r\n})(LogKind || (LogKind = {}));\r\n/*\r\nthis enumeration is used to categorize client logs in kusto to help with data mining, reporting and querying logs\r\n*/\r\nexport var LogCategory;\r\n(function (LogCategory) {\r\n LogCategory[\"ClientInfo\"] = \"ClientInfo\";\r\n LogCategory[\"ClientError\"] = \"ClientError\";\r\n /**\r\n * logs related to Engagement/Analytics\r\n */\r\n LogCategory[\"ClientAnalytics\"] = \"ClientAnalytics\";\r\n /**\r\n * Logs related to Performance\r\n */\r\n LogCategory[\"ClientPerformance\"] = \"ClientPerformance\";\r\n /**\r\n * Logs related to availability.\r\n */\r\n LogCategory[\"ClientAvailability\"] = \"ClientAvailability\";\r\n /*\r\n Logs related to reliability\r\n */\r\n LogCategory[\"ClientReliability\"] = \"ClientReliability\";\r\n})(LogCategory || (LogCategory = {}));\r\n/**\r\n * A type guard to check if the log is a info log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isInfo(option) {\r\n return option.type === LogKind.Info || option.type === LogKind.Interface;\r\n}\r\n/**\r\n * A type guard to check if the log is a error log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isError(option) {\r\n return option.type === LogKind.Error;\r\n}\r\n/**\r\n * A type guard to check if the log is a analytics log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isAnalytics(option) {\r\n return option.type === LogKind.Analytics;\r\n}\r\n/**\r\n * A type guard to check if the log is a performance log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isPerformance(option) {\r\n return option.type === LogKind.Performance;\r\n}\r\n/**\r\n * A type guard to check if the log is an availability log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isAvailability(option) {\r\n return option.type === LogKind.Availability;\r\n}\r\n/**\r\n * A type guard to check if the log is an reliability log\r\n *\r\n * @param option a ILogOptions\r\n */\r\nexport function isReliability(option) {\r\n return option.type === LogKind.Reliability;\r\n}\r\n","import { __awaiter, __generator, __values } from \"tslib\";\r\nfunction decorateElement(element, attributes) {\r\n if (!attributes) {\r\n return;\r\n }\r\n for (var attr in attributes) {\r\n if (attributes.hasOwnProperty(attr)) {\r\n // this can be any attributes\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n ;\r\n element[attr] = attributes[attr];\r\n }\r\n }\r\n}\r\nfunction loadScriptUrl(leaf) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // @ts-ignore TODO: TS Bug, remove once upgrade\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var scriptElement = document.createElement('script');\r\n scriptElement.src = leaf.content;\r\n scriptElement.onload = function () {\r\n resolve();\r\n };\r\n scriptElement.onerror = function () {\r\n reject(new Error(\"Dynamically loading script \" + leaf.content + \" failed\"));\r\n };\r\n decorateElement(scriptElement, leaf.attributes);\r\n document.body.appendChild(scriptElement);\r\n })];\r\n });\r\n });\r\n}\r\nfunction loadScript(leaf) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // @ts-ignore TODO: TS Bug, remove once upgrade\r\n return [2 /*return*/, new Promise(function (resolve) {\r\n var scriptElement = document.createElement('script');\r\n var inlineScript = document.createTextNode(leaf.content);\r\n scriptElement.appendChild(inlineScript);\r\n decorateElement(scriptElement, leaf.attributes);\r\n document.body.appendChild(scriptElement);\r\n resolve();\r\n })];\r\n });\r\n });\r\n}\r\nfunction loadStyleUrl(leaf) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // @ts-ignore TODO: TS Bug, remove once upgrade\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var linkElement = document.createElement('link');\r\n linkElement.rel = 'stylesheet';\r\n linkElement.type = 'text/css';\r\n linkElement.href = leaf.content;\r\n linkElement.onload = function () {\r\n resolve();\r\n };\r\n linkElement.onerror = function () {\r\n reject(new Error(\"Dynamically loading style \" + leaf.content + \" failed\"));\r\n };\r\n decorateElement(linkElement, leaf.attributes);\r\n document.head.appendChild(linkElement);\r\n })];\r\n });\r\n });\r\n}\r\nfunction loadStyle(leaf) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // @ts-ignore TODO: TS Bug, remove once upgrade\r\n return [2 /*return*/, new Promise(function (resolve) {\r\n var linkElement = document.createElement('link');\r\n linkElement.rel = 'stylesheet';\r\n linkElement.type = 'text/css';\r\n var inlineStyle = document.createTextNode(leaf.content);\r\n linkElement.appendChild(inlineStyle);\r\n decorateElement(linkElement, leaf.attributes);\r\n document.head.appendChild(linkElement);\r\n resolve();\r\n })];\r\n });\r\n });\r\n}\r\nexport function dynamicLoader(node) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, err_1, _b, _c, script, e_1_1, err_2;\r\n var e_1, _d;\r\n return __generator(this, function (_e) {\r\n switch (_e.label) {\r\n case 0:\r\n _a = node.type;\r\n switch (_a) {\r\n case 'parallel': return [3 /*break*/, 1];\r\n case 'sequential': return [3 /*break*/, 5];\r\n case 'scriptUrl': return [3 /*break*/, 16];\r\n case 'script': return [3 /*break*/, 18];\r\n case 'styleUrl': return [3 /*break*/, 20];\r\n case 'style': return [3 /*break*/, 22];\r\n }\r\n return [3 /*break*/, 24];\r\n case 1:\r\n _e.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, Promise.all(node.children.map(dynamicLoader))];\r\n case 2:\r\n _e.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n err_1 = _e.sent();\r\n if (node.optional) {\r\n console.log('Dynamic loading of optional script failed', err_1);\r\n }\r\n else {\r\n throw err_1;\r\n }\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n case 5:\r\n _e.trys.push([5, 14, , 15]);\r\n _e.label = 6;\r\n case 6:\r\n _e.trys.push([6, 11, 12, 13]);\r\n _b = __values(node.children), _c = _b.next();\r\n _e.label = 7;\r\n case 7:\r\n if (!!_c.done) return [3 /*break*/, 10];\r\n script = _c.value;\r\n return [4 /*yield*/, dynamicLoader(script)];\r\n case 8:\r\n _e.sent();\r\n _e.label = 9;\r\n case 9:\r\n _c = _b.next();\r\n return [3 /*break*/, 7];\r\n case 10: return [3 /*break*/, 13];\r\n case 11:\r\n e_1_1 = _e.sent();\r\n e_1 = { error: e_1_1 };\r\n return [3 /*break*/, 13];\r\n case 12:\r\n try {\r\n if (_c && !_c.done && (_d = _b.return)) _d.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n return [7 /*endfinally*/];\r\n case 13: return [3 /*break*/, 15];\r\n case 14:\r\n err_2 = _e.sent();\r\n if (node.optional) {\r\n console.log('Dynamic loading of optional script failed', err_2);\r\n }\r\n else {\r\n throw err_2;\r\n }\r\n return [3 /*break*/, 15];\r\n case 15: return [2 /*return*/];\r\n case 16: return [4 /*yield*/, loadScriptUrl(node)];\r\n case 17:\r\n _e.sent();\r\n return [2 /*return*/];\r\n case 18: return [4 /*yield*/, loadScript(node)];\r\n case 19:\r\n _e.sent();\r\n return [2 /*return*/];\r\n case 20: return [4 /*yield*/, loadStyleUrl(node)];\r\n case 21:\r\n _e.sent();\r\n return [2 /*return*/];\r\n case 22: return [4 /*yield*/, loadStyle(node)];\r\n case 23:\r\n _e.sent();\r\n return [2 /*return*/];\r\n case 24: throw new Error(\"Invalid script loader object \" + JSON.stringify(node));\r\n }\r\n });\r\n });\r\n}\r\n","import { LogCategory, LogKind } from './log.types';\r\nvar registeredLoggers = new Map();\r\nexport function addLogger(name, logger) {\r\n if (registeredLoggers.has(name)) {\r\n throw new Error(\"Logger \" + name + \" already exists\");\r\n }\r\n registeredLoggers.set(name, logger);\r\n}\r\nexport function removeLogger(name) {\r\n registeredLoggers.delete(name);\r\n}\r\nexport function broadcastLogger(options) {\r\n broadCastTo(options, registeredLoggers);\r\n}\r\nexport function addAdditionalLoggers(additionalLoggers) {\r\n if (additionalLoggers) {\r\n Object.keys(additionalLoggers).forEach(function (key) {\r\n addLogger(key, additionalLoggers[key]);\r\n });\r\n }\r\n}\r\nfunction broadCastTo(options, loggers) {\r\n // eslint-disable-next-line @typescript-eslint/typedef\r\n loggers.forEach(function (logger, name) {\r\n try {\r\n logger(options);\r\n }\r\n catch (error) {\r\n var restLoggers = new Map(loggers);\r\n restLoggers.delete(name);\r\n broadCastTo({\r\n id: '500294',\r\n type: LogKind.Error,\r\n logCategory: LogCategory.ClientError,\r\n message: \"Failure in logger: \" + name,\r\n error: error\r\n }, restLoggers);\r\n }\r\n });\r\n}\r\n/**\r\n * Log messages\r\n */\r\nexport var log = broadcastLogger;\r\n","import { getHistory } from '../routing/history';\r\nimport { isAnalytics, isError, isPerformance, LogCategory } from './log.types';\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n LogLevel[LogLevel[\"Info\"] = 1] = \"Info\";\r\n LogLevel[LogLevel[\"Comment\"] = 2] = \"Comment\";\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n})(LogLevel || (LogLevel = {}));\r\nvar loggingQueueLocked = true;\r\nexport function makeMacKustoLogger(appIdStr, kustoEndpointStr, hostNameStr, versionInfoStr) {\r\n var loggingQueueInterval = 1000;\r\n var queue = [];\r\n var remoteLoggerSequenceNumber = 0;\r\n var appId = appIdStr;\r\n var kustoEndpoint = kustoEndpointStr;\r\n var hostName = hostNameStr;\r\n var versionInfo = versionInfoStr;\r\n /**\r\n * Type confirms with server-side contract\r\n */\r\n /**\r\n * Http request used exclusively for talking with /api/instrument\r\n */\r\n var sendInstrumentRequest = function () {\r\n if (queue.length === 0 || loggingQueueLocked) {\r\n setTimeout(sendInstrumentRequest, loggingQueueInterval);\r\n return;\r\n }\r\n // TODO: sendBeacon() is broken right now in Chrome:\r\n // http://crbug.com/490015\r\n var req = new XMLHttpRequest();\r\n req.open('POST', kustoEndpoint, true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n // Set common headers\r\n req.setRequestHeader('x-ms-mac-hostingapp', hostName);\r\n req.setRequestHeader('x-ms-mac-appid', appId);\r\n req.setRequestHeader('x-ms-mac-version', versionInfo);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === XMLHttpRequest.DONE) {\r\n if (req.status !== 204) {\r\n console.log(\"Request to /api/instrument/logclient failed, server responseCode: \" + req.status + \" body: \" + req.response);\r\n }\r\n setTimeout(sendInstrumentRequest, loggingQueueInterval);\r\n }\r\n };\r\n var data = queue.splice(0, queue.length);\r\n req.send(JSON.stringify(data));\r\n };\r\n setTimeout(sendInstrumentRequest, loggingQueueInterval);\r\n var queueLog = function (data) {\r\n queue.push(data);\r\n };\r\n function macKustoLogger(options) {\r\n // only log anything that is not analytics and perf\r\n if (isAnalytics(options) || isPerformance(options)) {\r\n return;\r\n }\r\n remoteLoggerSequenceNumber += 1;\r\n var tagId = parseInt(options.id, 10);\r\n var message = options.message || '';\r\n var pathName = '', flyoutName = '';\r\n try {\r\n pathName = getHistory().location.pathname;\r\n if (pathName !== null && pathName.indexOf(':') !== -1) {\r\n var pathArray = pathName.split(':');\r\n pathName = pathArray[0];\r\n flyoutName = pathArray[1];\r\n }\r\n }\r\n catch (error) {\r\n pathName = '';\r\n flyoutName = '';\r\n }\r\n queueLog({\r\n TagId: tagId,\r\n LogLevel: LogLevel.Info,\r\n LogCategory: options.logCategory || LogCategory.ClientInfo,\r\n Message: message,\r\n Adhoc0: appId,\r\n Adhoc1: remoteLoggerSequenceNumber.toString(),\r\n Adhoc2: JSON.stringify({\r\n data: options.data\r\n }),\r\n Adhoc5: flyoutName,\r\n PageName: pathName\r\n });\r\n if (isError(options)) {\r\n var stack = options.error.stack || '';\r\n // log the stack under 500781\r\n queueLog({\r\n TagId: 500781,\r\n LogLevel: LogLevel.Error,\r\n LogCategory: options.logCategory || LogCategory.ClientError,\r\n Message: \"UI Exception: \" + (options.error.message || ''),\r\n Adhoc0: appId,\r\n Adhoc1: remoteLoggerSequenceNumber.toString(),\r\n Adhoc2: JSON.stringify({\r\n version: versionInfo,\r\n stack: stack\r\n }),\r\n Adhoc3: tagId.toString(),\r\n Adhoc5: flyoutName,\r\n PageName: pathName\r\n });\r\n }\r\n }\r\n return macKustoLogger;\r\n}\r\nexport function unlockLoggingQueue() {\r\n loggingQueueLocked = false;\r\n}\r\n","import { __assign, __awaiter, __generator } from \"tslib\";\r\nimport { dynamicLoader } from '../runtime/bootstrap/scriptLoader';\r\nimport { addLogger, log } from '../runtime/logging/broadcastLogger';\r\nimport { LogKind } from '../runtime/logging/log.types';\r\nimport { makeMacKustoLogger, unlockLoggingQueue } from '../runtime/logging/macKustoLogger';\r\nimport { createUUID } from '../runtime/public/utils/uuid';\r\nfunction assert(condition, message) {\r\n if (!condition) {\r\n var error = new Error(message);\r\n log({ type: LogKind.Error, message: message, id: '508371', error: error });\r\n throw error;\r\n }\r\n}\r\nfunction getFeatureLoadingState(featureName) {\r\n if (window === undefined) {\r\n log({ type: LogKind.Info, message: 'window is undefined', id: '512105' });\r\n return false;\r\n }\r\n if (window.m365_admin_features === undefined) {\r\n log({ type: LogKind.Info, message: 'window.m365_admin_features is undefined', id: '512108' });\r\n return false;\r\n }\r\n if (window.m365_admin_features.initializers !== undefined &&\r\n window.m365_admin_features.initializers[featureName] !== undefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction getDbgState(featureName) {\r\n var _a, _b;\r\n return !!((_b = (_a = window.m365_admin_features) === null || _a === void 0 ? void 0 : _a.locDbg) === null || _b === void 0 ? void 0 : _b[featureName]);\r\n}\r\nvar centroBaseUrl = undefined;\r\nvar uxVersionData = undefined;\r\nvar adapters = undefined;\r\nvar loaderInitialized = false;\r\nvar loggersInitialized = false;\r\nvar uxVersionDebugData = undefined;\r\nfunction normalizeCasingForUxVersionData(mixedCaseUxVersionData) {\r\n if (mixedCaseUxVersionData !== undefined && mixedCaseUxVersionData.hasOwnProperty('__hostApp_config')) {\r\n for (var hvcProp in mixedCaseUxVersionData) {\r\n if (!hvcProp.startsWith('__')) {\r\n mixedCaseUxVersionData[hvcProp.toLowerCase()] = mixedCaseUxVersionData[hvcProp];\r\n if (hvcProp.toLowerCase() !== hvcProp) {\r\n delete mixedCaseUxVersionData[hvcProp];\r\n }\r\n }\r\n }\r\n }\r\n return JSON.stringify(mixedCaseUxVersionData);\r\n}\r\nfunction getUxVersionData(queryParams) {\r\n if (queryParams === void 0) { queryParams = ''; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var error, versionUrl;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (adapters === undefined) {\r\n error = new Error('attempting to getUxVersionData before adapters were provided');\r\n log({ type: LogKind.Error, message: error.message, error: error, id: '508373' });\r\n throw error;\r\n }\r\n versionUrl = centroBaseUrl + \"/admin/api/uxversion\" + queryParams;\r\n return [4 /*yield*/, new Promise(function (resolve, reject) {\r\n var req = new XMLHttpRequest();\r\n req.open('GET', versionUrl, true);\r\n req.setRequestHeader('x-ms-mac-locale', adapters.runtimeStaticConfig.locale);\r\n req.setRequestHeader('x-ms-mac-hostingapp', adapters.runtimeStaticConfig.hostName);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === XMLHttpRequest.DONE) {\r\n var correlationId = req.getResponseHeader('x-ms-correlation-id');\r\n if (req.status !== 200) {\r\n var errorMsg = \"Request to \" + versionUrl + \" failed, server responseCode: \" + req.status + \" body: \" + req.response + \" correlationId: \" + correlationId;\r\n var err = new Error(errorMsg);\r\n reject(err);\r\n }\r\n resolve(normalizeCasingForUxVersionData(JSON.parse(req.response)));\r\n }\r\n };\r\n req.send();\r\n })];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n}\r\nfunction getUxVersionDebugData() {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n if (uxVersionDebugData) {\r\n return [2 /*return*/];\r\n }\r\n _b = (_a = JSON).parse;\r\n return [4 /*yield*/, getUxVersionData('?locdbg=true')];\r\n case 1:\r\n uxVersionDebugData = _b.apply(_a, [_c.sent()]);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Initialize the HVC loader.\r\n *\r\n * This should be called before calling any other hvc-loader functions\r\n */\r\nexport function initialize(params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var baseUrl, centroAdapters, uxData, appId, hostName, versionInfo, kustoEndpoint, additionalLoggers_1, hvcLoaderInitializeStartTime, queryParam, uxDataFromAPI, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n baseUrl = params.centroEnvironmentBaseUrl, centroAdapters = params.centroAdapters, uxData = params.centroHvcData;\r\n // Note: user might not call us from TypeScript environment, so assert on all non-optional params.\r\n assert(!!baseUrl, 'centroEnvironmentBaseUrl is missing');\r\n assert(!!centroAdapters, 'centroAdapters is missing');\r\n adapters = centroAdapters;\r\n if (!adapters.runtimeStaticConfig.appId) {\r\n adapters.runtimeStaticConfig.appId = createUUID();\r\n }\r\n appId = adapters.runtimeStaticConfig.appId;\r\n hostName = adapters.runtimeStaticConfig.hostName;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 5, , 6]);\r\n if (loaderInitialized) {\r\n log({\r\n type: LogKind.Info,\r\n message: 'initialize() is called but loader is already previously initialized',\r\n id: '508375'\r\n });\r\n return [2 /*return*/];\r\n }\r\n centroBaseUrl = baseUrl.substring(baseUrl.length - 1) === '/' ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl;\r\n versionInfo = require('../../package.json');\r\n kustoEndpoint = centroBaseUrl + \"/api/instrument/logclient\";\r\n if (!loggersInitialized) {\r\n // do this first\r\n addLogger('hvcLoaderKustoLogger', makeMacKustoLogger(appId, kustoEndpoint, hostName, versionInfo.name + '_' + versionInfo.version));\r\n unlockLoggingQueue();\r\n additionalLoggers_1 = adapters.additionalLoggers;\r\n if (additionalLoggers_1 !== undefined) {\r\n Object.keys(additionalLoggers_1).forEach(function (key) {\r\n addLogger(key, additionalLoggers_1[key]);\r\n });\r\n }\r\n loggersInitialized = true;\r\n }\r\n hvcLoaderInitializeStartTime = performance.now();\r\n if (!!!uxData) return [3 /*break*/, 2];\r\n log({ type: LogKind.Info, message: 'uxVersion Data is provided thru parameter', id: '508372', data: uxData });\r\n uxVersionData = JSON.parse(uxData);\r\n return [3 /*break*/, 4];\r\n case 2:\r\n if (params.forHostVersion && params.hvcVersion) {\r\n throw new Error('cannot specify both forHostVersion and hvcVersion');\r\n }\r\n queryParam = '';\r\n if (params.forHostVersion) {\r\n queryParam = \"?bldVer=\" + encodeURIComponent(params.forHostVersion);\r\n }\r\n else if (params.hvcVersion) {\r\n queryParam = \"?pkgver=\" + encodeURIComponent(params.hvcVersion);\r\n }\r\n return [4 /*yield*/, getUxVersionData(queryParam)];\r\n case 3:\r\n uxDataFromAPI = _a.sent();\r\n log({\r\n type: LogKind.Info,\r\n message: 'uxVersion Data is provided thru parameter',\r\n id: '508372',\r\n data: uxDataFromAPI\r\n });\r\n uxVersionData = JSON.parse(uxDataFromAPI);\r\n _a.label = 4;\r\n case 4:\r\n loaderInitialized = true;\r\n log({\r\n type: LogKind.Info,\r\n message: 'hvcloader initialze() step has succeeded',\r\n id: '513574',\r\n data: {\r\n eventName: 'hvcLoader_Initialize_step',\r\n fromStart: performance.now() - hvcLoaderInitializeStartTime,\r\n UA: navigator.userAgent\r\n }\r\n });\r\n return [3 /*break*/, 6];\r\n case 5:\r\n error_1 = _a.sent();\r\n log({ type: LogKind.Error, message: 'hvcloader initialze() step has failed ' + error_1.message, id: '508376', error: error_1 });\r\n throw error_1;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Preload HVC to prepare for its bootstrapping.\r\n *\r\n * This should be called before attempting to bootstrap a HVC\r\n *\r\n * To preload multiple features in parallel: Promise.all([preloadFeature(), preloadFeature(), ...])\r\n *\r\n * The returning Promise resolves to a boolean, indicating if the preload has happened.\r\n * If the HVC is not enabled for your app in the Centro versioning server the promise resolves to false.\r\n */\r\nexport function preloadFeature(params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var uxData, preloadFeatureStartTime, lowerCaseFeatureName, error_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n uxData = uxVersionData;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 7, , 8]);\r\n if (!loaderInitialized) {\r\n throw new Error('initialize() needs to be invoked before calling preloadFeature()');\r\n }\r\n preloadFeatureStartTime = performance.now();\r\n if (!params.localMode) return [3 /*break*/, 3];\r\n return [4 /*yield*/, getUxVersionDebugData()];\r\n case 2:\r\n _a.sent();\r\n uxData = uxVersionDebugData;\r\n _a.label = 3;\r\n case 3:\r\n if (!uxData) {\r\n throw new Error('uxVersionData is not populated');\r\n }\r\n lowerCaseFeatureName = params.featureName.toLowerCase();\r\n if (!uxData[lowerCaseFeatureName]) {\r\n log({\r\n type: LogKind.Info,\r\n message: \"HVC \" + lowerCaseFeatureName + \" is not enabled for this host\",\r\n id: '508419'\r\n });\r\n return [2 /*return*/, false];\r\n }\r\n if (!(getFeatureLoadingState(lowerCaseFeatureName) && getDbgState(lowerCaseFeatureName) === !!params.localMode)) return [3 /*break*/, 4];\r\n log({\r\n type: LogKind.Info,\r\n message: \"preloadFeature() feature \" + lowerCaseFeatureName + \" already loaded previously\",\r\n id: '508465',\r\n data: { hvc: lowerCaseFeatureName }\r\n });\r\n return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, dynamicLoader(uxData[lowerCaseFeatureName].loaderSpec)];\r\n case 5:\r\n _a.sent();\r\n if (!getFeatureLoadingState(lowerCaseFeatureName)) {\r\n throw new Error(\"preloadFeature(): global is not populated after loading for \" + lowerCaseFeatureName);\r\n }\r\n if (window.m365_admin_features.locDbg === undefined) {\r\n window.m365_admin_features.locDbg = {};\r\n }\r\n window.m365_admin_features.locDbg[lowerCaseFeatureName] = !!params.localMode;\r\n _a.label = 6;\r\n case 6:\r\n log({\r\n type: LogKind.Info,\r\n message: 'preloadFeatures() step has succeeded',\r\n id: '513585',\r\n data: {\r\n hvc: lowerCaseFeatureName,\r\n uxdata: JSON.stringify(uxData),\r\n eventName: 'preloadFeature_step',\r\n fromStart: performance.now() - preloadFeatureStartTime,\r\n UA: navigator.userAgent\r\n }\r\n });\r\n return [2 /*return*/, true];\r\n case 7:\r\n error_2 = _a.sent();\r\n log({\r\n type: LogKind.Error,\r\n message: 'error in preloadFeatures() step ' + error_2.message,\r\n id: '508417',\r\n data: { uxdata: JSON.stringify(uxData) },\r\n error: error_2\r\n });\r\n throw error_2;\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Bootstrap the HVC.\r\n *\r\n * This will return a function which you could use to bootstrap the HVC, the return result\r\n * of the function can be used to unmount the HVC\r\n */\r\nexport function bootstrapFeature(params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var bootStrapFeatureStartTime, uxData, lowerCaseFeatureName, providedAdapter_1, adapterProvider, loaderData, bootstrapper;\r\n return __generator(this, function (_a) {\r\n try {\r\n if (!loaderInitialized) {\r\n throw new Error('initialize() needs to be invoked before calling bootstrapFeature()');\r\n }\r\n bootStrapFeatureStartTime = performance.now();\r\n uxData = uxVersionData;\r\n lowerCaseFeatureName = params.featureName.toLowerCase();\r\n if (getDbgState(lowerCaseFeatureName)) {\r\n uxData = uxVersionDebugData;\r\n }\r\n if (!uxData) {\r\n throw new Error('uxVersionData is not populated');\r\n }\r\n providedAdapter_1 = adapters;\r\n adapterProvider = __assign(__assign({}, providedAdapter_1), { dataSources: function (set) {\r\n if (providedAdapter_1.dataSources) {\r\n providedAdapter_1.dataSources(set);\r\n }\r\n if (params.setAdditionalDataSource) {\r\n params.setAdditionalDataSource(set);\r\n }\r\n } });\r\n if (getFeatureLoadingState(lowerCaseFeatureName)) {\r\n loaderData = {\r\n centroBaseUrl: centroBaseUrl,\r\n cdnUrl: uxData[lowerCaseFeatureName].cdnUrl,\r\n ariaLoggerId: uxData.__hostApp_config.ariaLoggerId,\r\n targetAppUrls: uxData.__hostApp_config.hostingAppUrls\r\n };\r\n bootstrapper = window.m365_admin_features.initializers[lowerCaseFeatureName](adapterProvider, loaderData);\r\n log({\r\n type: LogKind.Info,\r\n message: 'bootstrapFeature() step has succeeded',\r\n id: '513586',\r\n data: {\r\n hvc: lowerCaseFeatureName,\r\n eventName: 'bootstrapFeature_step',\r\n fromStart: performance.now() - bootStrapFeatureStartTime,\r\n UA: navigator.userAgent\r\n }\r\n });\r\n return [2 /*return*/, bootstrapper];\r\n }\r\n else {\r\n throw new Error(\"bootstrapFeature(): preloadFeature() was not called before bootstraping \" + lowerCaseFeatureName);\r\n }\r\n }\r\n catch (error) {\r\n log({\r\n type: LogKind.Error,\r\n message: 'error in bootstrapFeature() step ' + error.message,\r\n id: '508481',\r\n error: error\r\n });\r\n throw error;\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n}\r\n","export var M365ThemeKind;\r\n(function (M365ThemeKind) {\r\n M365ThemeKind[M365ThemeKind[\"FabricDefaultTheme\"] = 0] = \"FabricDefaultTheme\";\r\n M365ThemeKind[M365ThemeKind[\"M365Dark\"] = 1] = \"M365Dark\";\r\n M365ThemeKind[M365ThemeKind[\"M365Light\"] = 2] = \"M365Light\";\r\n M365ThemeKind[M365ThemeKind[\"M365LightWithContrast\"] = 3] = \"M365LightWithContrast\";\r\n M365ThemeKind[M365ThemeKind[\"TeamsLight\"] = 4] = \"TeamsLight\";\r\n M365ThemeKind[M365ThemeKind[\"TeamsDark\"] = 5] = \"TeamsDark\";\r\n M365ThemeKind[M365ThemeKind[\"PPACLight\"] = 6] = \"PPACLight\";\r\n M365ThemeKind[M365ThemeKind[\"PPACDark\"] = 7] = \"PPACDark\";\r\n M365ThemeKind[M365ThemeKind[\"WindowsLight\"] = 8] = \"WindowsLight\";\r\n M365ThemeKind[M365ThemeKind[\"WindowsDark\"] = 9] = \"WindowsDark\";\r\n M365ThemeKind[M365ThemeKind[\"ExcelDarkTheme\"] = 10] = \"ExcelDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"ExcelLightTheme\"] = 11] = \"ExcelLightTheme\";\r\n M365ThemeKind[M365ThemeKind[\"OfficeDarkTheme\"] = 12] = \"OfficeDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"OfficeLightTheme\"] = 13] = \"OfficeLightTheme\";\r\n M365ThemeKind[M365ThemeKind[\"OneNoteDarkTheme\"] = 14] = \"OneNoteDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"OneNoteLightTheme\"] = 15] = \"OneNoteLightTheme\";\r\n M365ThemeKind[M365ThemeKind[\"PowerPointDarkTheme\"] = 16] = \"PowerPointDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"PowerPointLightTheme\"] = 17] = \"PowerPointLightTheme\";\r\n M365ThemeKind[M365ThemeKind[\"VisioDarkTheme\"] = 18] = \"VisioDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"VisioLightTheme\"] = 19] = \"VisioLightTheme\";\r\n M365ThemeKind[M365ThemeKind[\"WordDarkTheme\"] = 20] = \"WordDarkTheme\";\r\n M365ThemeKind[M365ThemeKind[\"WordLightTheme\"] = 21] = \"WordLightTheme\";\r\n})(M365ThemeKind || (M365ThemeKind = {}));\r\n// TODO: DI this thing.\r\n// NOTE: keep in same order as above, until above is deprecated.\r\nexport var themeNameToEnum = [\r\n 'FabricDefaultTheme',\r\n 'M365Dark',\r\n 'M365Light',\r\n 'M365LightWithContrast',\r\n 'TeamsLight',\r\n 'TeamsDark',\r\n 'PPACLight',\r\n 'PPACDark',\r\n 'WindowsLight',\r\n 'WindowsDark',\r\n 'ExcelDarkTheme',\r\n 'ExcelLightTheme',\r\n 'OfficeDarkTheme',\r\n 'OfficeLightTheme',\r\n 'OneNoteDarkTheme',\r\n 'OneNoteLightTheme',\r\n 'PowerPointDarkTheme',\r\n 'PowerPointLightTheme',\r\n 'VisioDarkTheme',\r\n 'VisioLightTheme',\r\n 'WordDarkTheme',\r\n 'WordLightTheme'\r\n].map(function (n) { return n.toLowerCase(); });\r\n","/**\r\n * The Verb used for the HTTP request\r\n */\r\nexport var RequestVerb;\r\n(function (RequestVerb) {\r\n /**\r\n * HTTP GET method\r\n */\r\n RequestVerb[\"GET\"] = \"GET\";\r\n /**\r\n * HTTP PUT method\r\n */\r\n RequestVerb[\"PUT\"] = \"PUT\";\r\n /**\r\n * HTTP POST method\r\n */\r\n RequestVerb[\"POST\"] = \"POST\";\r\n /**\r\n * HTTP DELETE method\r\n */\r\n RequestVerb[\"DELETE\"] = \"DELETE\";\r\n /**\r\n * HTTP PATCH method\r\n */\r\n RequestVerb[\"PATCH\"] = \"PATCH\";\r\n})(RequestVerb || (RequestVerb = {}));\r\n/**\r\n * The target of the HTTP call\r\n */\r\nexport var BackendTarget;\r\n(function (BackendTarget) {\r\n BackendTarget[\"M365AdminCenter\"] = \"MAC\";\r\n BackendTarget[\"Mover\"] = \"Mover\";\r\n BackendTarget[\"ExchangeAdminCenter\"] = \"EAC\";\r\n BackendTarget[\"SharepointAdminCenter\"] = \"SPO\";\r\n BackendTarget[\"TeamsAdminCenter\"] = \"TAC\";\r\n BackendTarget[\"ComplianceAdminCenter\"] = \"CAC\";\r\n BackendTarget[\"SecurityAdminCenter\"] = \"SAC\";\r\n BackendTarget[\"ProductivityAdminCenter\"] = \"PAC\";\r\n BackendTarget[\"GraphApi\"] = \"Graph\";\r\n BackendTarget[\"VRoomApi\"] = \"VRoom\";\r\n BackendTarget[\"DeviceCareApi\"] = \"DeviceCare\";\r\n BackendTarget[\"RecommendationApi\"] = \"Reco\";\r\n BackendTarget[\"M365AoboApi\"] = \"M365Aobo\";\r\n BackendTarget[\"Assist\"] = \"Assist\";\r\n})(BackendTarget || (BackendTarget = {}));\r\n/**\r\n * When this is used as request URL, then a token response should be sent\r\n */\r\nexport var TokenOnlyRequestUrl = '__token__';\r\n","/* eslint-disable no-bitwise */\r\n/**\r\n * Create a UUID\r\n */\r\nexport function createUUID() {\r\n return (1e7 + '' + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {\r\n return (c ^\r\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16);\r\n });\r\n}\r\n","import { __read } from \"tslib\";\r\nimport { SupportedHostingApps } from '../configuration/runtimeDataSources';\r\nvar history = undefined;\r\nexport var parseUrls = function (urlJsonString) {\r\n var urlMap = new Map();\r\n if (urlJsonString) {\r\n var urls = JSON.parse(urlJsonString);\r\n Object.entries(urls).forEach(function (_a) {\r\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n urlMap.set(SupportedHostingApps[key], new URL(value));\r\n });\r\n }\r\n return urlMap;\r\n};\r\nexport function setHistory(newHistory) {\r\n history = newHistory;\r\n}\r\nexport function getHistory() {\r\n if (history === undefined) {\r\n throw new Error('History object has not been set');\r\n }\r\n return history;\r\n}\r\n","export function createStaticDataSource(config) {\r\n return {\r\n register: function () { return config; },\r\n unregister: function () {\r\n // do nothing\r\n }\r\n };\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tIConfigObject,\r\n\tIReactiveConfigurationDataSource\r\n} from '@ms/centro-hvc-loader'\r\nimport { SilentSignInProperties, DataBoundary, UserAgeGroup } from '../Common/AuthenticationTypes';\r\n\r\n\r\nexport interface IDataBoundaryConfig extends IConfigObject {\r\n\tdataBoundary?: DataBoundary\r\n}\r\n\r\n// ToDo: pattri, #7695764 import from centro-hvc-loader\r\nexport enum SignInState {\r\n\tnotSignedIn,\r\n\tsignedInMSA,\r\n\tsignedInAAD,\r\n\tsignInDismissed\r\n}\r\n\r\nexport enum SignInProgressState {\r\n\tnotStarted,\r\n\tinProgress,\r\n\tcompleted\r\n}\r\n\r\nexport enum ComponentTypes {\r\n\t'vg-hero',\r\n\t'vg-explore'\r\n}\r\n\r\nexport interface ISignInConfig extends IConfigObject {\r\n\t// SignIn enum to store the current sign in state\r\n\tsignin: SignInState | undefined\r\n\r\n\t// SignInProgressState to store the current sign in progress state\r\n\tsigninProgress: SignInProgressState | undefined\r\n\r\n\t// user id of the signed in user\r\n\tuserId: string | undefined\r\n\r\n\t// user age group of the signed in user\r\n\tageGroup: UserAgeGroup | undefined\r\n\r\n\t// function to trigger sign in flow on surface\r\n\trequestSignIn: () => void\r\n}\r\n\r\nexport interface ICentroSignInState {\r\n\t// user id of the signed in user\r\n\tpuid?: string | undefined,\r\n\r\n\tdataBoundary?: DataBoundary | undefined,\r\n\r\n\t// user age group of the signed in user\r\n\tageGroup?: UserAgeGroup | undefined,\r\n\r\n\t// auth type of the signed in user\r\n\tauthType: string | undefined,\r\n}\r\n\r\nexport interface DataSourceType {\r\n\tname: string\r\n\tsource: IReactiveConfigurationDataSource;\r\n}\r\n\r\nexport type DataSourcesType = Array;\r\n\r\nexport type CentroParams = {\r\n\tdataBoundary: DataBoundary,\r\n\tpopupSignInUrl: string,\r\n\tauthType: string,\r\n\tageGroup: UserAgeGroup,\r\n\tpuid: string,\r\n\tisProduction: boolean,\r\n\tinitializeParams?: { centroEnvironmentBaseUrl?: string, hvcVersion?: string },\r\n\tpreloadFeatureParams?: { localMode?: boolean }\r\n}\r\n\r\nexport type PopupSignInObj = {\r\n\tisSignedIn: boolean,\r\n\tsignInProperties: SilentSignInProperties\r\n}\r\n\r\nexport type PopupPropertyType = {\r\n\twindow: Window | undefined;\r\n\twidth: number;\r\n\theight: number;\r\n\turl: string;\r\n\ttimeoutDelay: number;\r\n\tintervalDelay: number;\r\n\ttimeout: ReturnType;\r\n\tinterval: ReturnType;\r\n\tclosedIntentionally: boolean;\r\n};\r\n\r\ntype DataAttributes = {\r\n\theroPrimaryButtonDataAttributes: { [key: string]: string };\r\n\theroSecondaryButtonDataAttributes: { [key: string]: string };\r\n\texploreButtonDataAttributes: { [key: string]: string };\r\n};\r\n\r\nexport const dataAttributes: DataAttributes = {\r\n\theroPrimaryButtonDataAttributes: {\r\n\t\t'data-bi-id': 'VGCard_GetStarted',\r\n\t\t'data-bi-bhvr': '2'\r\n\t},\r\n\theroSecondaryButtonDataAttributes: {\r\n\t\t'data-bi-id': 'VGCard_ChangeGoals',\r\n\t\t'data-bi-bhvr': '2'\r\n\t},\r\n\texploreButtonDataAttributes: {\r\n\t\t'data-bi-id': 'VGExplore_Start',\r\n\t\t'data-bi-bhvr': '2'\r\n\t}\r\n};\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tDataSourceSetter,\r\n\tcreateStaticDataSource,\r\n\tIRequest,\r\n\tIRequestOptions,\r\n\tRequestFunction,\r\n\tRequestVerb,\r\n} from '@ms/centro-hvc-loader';\r\nimport { DataSourcesType } from './CentroTypes';\r\n\r\nexport const featureNameValueGuidance = 'value-guidance-v2';\r\nexport const dataSourceNameSignIn = 'centro.hvc.signin';\r\nexport const dataSourceNameFeature = 'centro.hvc.feature';\r\nexport const dataSourceNameDataBoundary = 'centro.DataBoundary';\r\nexport const dataSourceNameValueGuidance = 'centro.hvc.valueguidance';\r\nexport const centroEnvironmentBaseUrl = 'https://portal.office.com'\r\n\r\ntype DataSourceSetterFunctionType = (sd: DataSourceSetter) => void;\r\n\r\nexport const staticConfig = {\r\n\tappId: 'ee272b19-4411-433f-8f28-5c13cb6fd407',\r\n\thostName: 'SMCSupportService',\r\n\tperfPrefix: 'SMC'\r\n}\r\n\r\nexport const smcRequestFunction: RequestFunction = (reqOptions: IRequestOptions) => {\r\n\tconst abortController = new AbortController();\r\n\r\n\tconst networkRequestPromise = fetch(\r\n\t\t`/api/${reqOptions.backend}/${reqOptions.url}`,\r\n\t\t{\r\n\t\t\tmethod: reqOptions.type,\r\n\t\t\theaders: reqOptions.type !== RequestVerb.GET || typeof reqOptions.data === 'string'\r\n\t\t\t\t? { 'content-type': 'application/json' }\r\n\t\t\t\t: null,\r\n\t\t\tbody: reqOptions.type !== RequestVerb.GET\r\n\t\t\t\t? typeof reqOptions.data === 'string' ? reqOptions.data : JSON.stringify(reqOptions.data)\r\n\t\t\t\t: null,\r\n\t\t\tsignal: abortController.signal,\r\n\t\t})\r\n\t\t.then(async (resp) => {\r\n\t\t\treturn {\r\n\t\t\t\tdata: await resp.json(),\r\n\t\t\t\tstatus: resp.status,\r\n\t\t\t\tstatusText: resp.statusText,\r\n\t\t\t\theaders: resp.headers\r\n\t\t\t}\r\n\t\t});\r\n\r\n\tconst request: IRequest = {\r\n\t\tpromise: networkRequestPromise,\r\n\t\tcancel: () => {\r\n\t\t\tabortController.abort();\r\n\t\t}\r\n\t};\r\n\r\n\treturn request;\r\n};\r\n\r\nexport const setDataSources = (dataSources: DataSourcesType): DataSourceSetterFunctionType => {\r\n\tconst dataSetterFunction = (sd: DataSourceSetter) => {\r\n\t\tdataSources && dataSources.forEach((dataSource) => {\r\n\t\t\tconst { name, source } = dataSource;\r\n\t\t\tsd(name, source);\r\n\t\t});\r\n\t}\r\n\r\n\treturn dataSetterFunction\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nexport enum DataBoundary {\r\n\tNone = 'None',\r\n\tEU = 'EU'\r\n}\r\n\r\nexport enum UserAgeGroup {\r\n\tUndefined,\r\n\tMinorWithoutParentalConsent,\r\n\tMinorWithParentalConsent,\r\n\tAdult,\r\n\tNotAdult,\r\n\tMinorNoParentalConsentRequired,\r\n}\r\n\r\nexport interface MeControlAccount {\r\n\ttype: string,\r\n\ttenantId: string,\r\n\tmemberName: string,\r\n\tdisplayName: string,\r\n\tfirstName: string,\r\n\tlastName: string,\r\n\tauthenticatedState: string\r\n}\r\n\r\nexport interface SilentSignInProperties {\r\n\taccount: MeControlAccount,\r\n\tuserIsChild?: boolean,\r\n\tlocalTelemetryId: string,\r\n\ttelemetryAuthType: string,\r\n\tpuid: string,\r\n\tauthType: string,\r\n\tdataBoundary: string,\r\n\tageGroup?: UserAgeGroup\r\n}\r\n\r\nexport type MsShellObj = {\r\n\tmeControlOptions: { currentAccount: MeControlAccount }\r\n}\r\n\r\nexport interface IMsCommonShell {\r\n\tload: (msShellCurrentAccount: MsShellObj) => Promise;\r\n\tmeControlOptions: () => { currentAccount: MeControlAccount };\r\n}\r\n\r\n// Value Guidance Types\r\nexport interface ISignInCompletionObj {\r\n\teventType: string,\r\n\tauthType?: string,\r\n\tdataBoundary?: DataBoundary,\r\n\tmeControlAccount?: MeControlAccount\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\nimport { MeControlAccount, DataBoundary } from '../Common/AuthenticationTypes';\r\n\r\n/*\r\n * @param {string} authType - authentication type from user auth object\r\n * @returns {boolean} - true if user is authenticated, false otherwise\r\n */\r\nexport const isUserAuthenticated = (authType: string): boolean => (authType && (authType != '') ? authType.toLowerCase() != 'none' : false);\r\n\r\n/*\r\n * @returns {MeControlAccount} - returns current user account information if available\r\n */\r\nexport const getCurrUser = (): MeControlAccount => (window?.msCommonShell?.meControlOptions()?.currentAccount);\r\n\r\n/*\r\n * @param {string} authType - authentication type from user auth object\r\n * @returns {boolean} - true if user is AAD user, false otherwise\r\n */\r\nexport const isAadUser = (authType): boolean => !!authType && (authType.toLowerCase() === \"aad\");\r\n\r\n/*\r\n * @param {window} window - window to close\r\n */\r\nexport const closeWindow = (window: Window | undefined | null): void => window?.close();\r\n\r\n/*\r\n * Returns valid data source\r\n * @param {string} dataBoundary - data boundary from user auth object\r\n */\r\nexport const parseDataBoundary = (dataBoundary: string): DataBoundary => (dataBoundary === DataBoundary.EU ? DataBoundary.EU : DataBoundary.None);\r\n\r\n/*\r\n * @param {string} url - URL to open in pop up window\r\n * @param {string} width - width of the window\r\n * @param {string} height - height of the window\r\n * @returns {Window} - returns the window created\r\n */\r\nexport const createPopUpWindow = (url: string, width: number, height: number) : Window | null => {\r\n\tif (window) {\r\n\t\tconst wLeft = window.screenLeft ? window.screenLeft : window.screenX;\r\n\t\tconst wTop = window.screenTop ? window.screenTop : window.screenY;\r\n\r\n\t\tconst left = wLeft + (window.innerWidth / 2) - (width / 2);\r\n\t\tconst top = wTop + (window.innerHeight / 2) - (height / 2);\r\n\t\treturn window.open(url, '_blank', `popup=yes, width=${width}, height=${height}, top=${top}, left=${left}`);\r\n\t}\r\n\treturn null;\r\n}\r\n\r\n/*\r\n * @param {MeControlAccount} userAccount - sets MeControlAccount in msCommonShell\r\n * @param {window} win - window to set MeControlAccount in\r\n */\r\nexport const SetMeControlAccount = (userAccount: MeControlAccount, window: any): void => {\r\n\t// ToDo: pattri, #7729785 set type for window\r\n\twindow?.MeControl?.API?.setActiveAccount(userAccount);\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nexport interface CaptureContentEventProperties {\r\n\tactionType: string,\r\n\tcontent: {\r\n\t\t[key: string]: string\r\n\t},\r\n\tpageTags?: {\r\n\t\t[key: string]: string\r\n\t},\r\n\tisManual?: boolean\r\n}\r\n\r\nexport function LogContentUpdateEvent(properties: CaptureContentEventProperties, behavior: BehaviorType) {\r\n\tif (typeof (window).top.analytics === 'object') {\r\n\t\tproperties['behavior'] = (window).top?.oneDS?.Behavior[behavior];\r\n\t\t(window).top?.analytics?.captureContentUpdate(properties);\r\n\t};\r\n}\r\n\r\nexport enum BehaviorType {\r\n\tImpression = 'IMPRESSION',\r\n\tSignIn = 'SIGNIN'\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\n// Silent Sign In\r\nexport const eventNameSilentSignInComplete = \"silentSignInComplete\";\r\n\r\n// Popup Sign In\r\nexport const eventNamePopupSignInComplete = \"popupSignInComplete\";\r\n\r\n// Value Guidance strings\r\nexport const eventNameVgSignInSuccess = \"vg.signin.success\";\r\nexport const eventNameVgSignInFailed = \"vg.signin.failed\";\r\n\r\nexport const vgComponentNames = {\r\n\tvgHero: 'vg-hero',\r\n\tvgExplore: 'vg-explore'\r\n}\r\n\r\nexport const HvcComponentType = {\r\n\t[vgComponentNames.vgHero]: 'ValueGuidanceV2HvcHero',\r\n\t[vgComponentNames.vgExplore]: 'ValueGuidanceV2HvcExplore'\r\n}\r\n\r\nexport const TenantAdminPoliciesElementId = \"TAP__SETTINGS\";\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tConfigUpdatedListener,\r\n\tIReactiveConfigurationDataSource\r\n} from '@ms/centro-hvc-loader';\r\n\r\nimport { UserAgeGroup } from '../../Common/AuthenticationTypes';\r\nimport { isAadUser, isUserAuthenticated } from '../../Common/Helpers';\r\nimport { SignInState, ISignInConfig, SignInProgressState, ICentroSignInState } from '../CentroTypes';\r\n\r\nexport class AuthDataSource implements IReactiveConfigurationDataSource {\r\n\tconfigUpdatedListeners: ConfigUpdatedListener[] = [];\r\n\tconfig: ISignInConfig;\r\n\r\n\tconstructor(requestSignIn: () => void) {\r\n\t\tthis.config = {\r\n\t\t\tsignin: SignInState.notSignedIn,\r\n\t\t\tsigninProgress: SignInProgressState.notStarted,\r\n\t\t\tuserId: undefined,\r\n\t\t\tageGroup: UserAgeGroup.Undefined,\r\n\r\n\t\t\t// function to trigger sign in flow on surface from Centro\r\n\t\t\trequestSignIn\r\n\t\t}\r\n\t}\r\n\r\n\t/*\r\n\t * set signin state and signin progress on demand\r\n\t * @param {SignInState | undefined} signInState - signin enum value\r\n\t * @param {SignInProgressState | undefined} signInProgress - signin progress enum value\r\n\t */\r\n\tsetConfig(\r\n\t\tthis: AuthDataSource,\r\n\t\tsignInState: SignInState | undefined,\r\n\t\tsigninProgress: SignInProgressState | undefined = undefined,\r\n\t\tageGroup: UserAgeGroup | undefined = undefined,\r\n\t\tuserId: string | undefined = undefined\r\n\t) {\r\n\t\tconst validSignInState = Object.values(SignInState).includes(signInState);\r\n\t\tconst validProgressState = Object.values(SignInProgressState).includes(signinProgress);\r\n\r\n\t\tif (validSignInState || validProgressState) {\r\n\t\t\t// set signin value if it is not undefined\r\n\t\t\tvalidSignInState && (this.config.signin = signInState);\r\n\r\n\t\t\t// set signin progress value if it is not undefined\r\n\t\t\tvalidProgressState && (this.config.signinProgress = signinProgress);\r\n\r\n\t\t\t// set age group value if it is not undefined\r\n\t\t\tageGroup && (this.config.ageGroup = ageGroup);\r\n\r\n\t\t\t// set user id value if it is not undefined\r\n\t\t\tuserId && (this.config.userId = userId);\r\n\r\n\t\t\t// if signin state or signin progress is not undefined, trigger the config updated listeners\r\n\t\t\t(validSignInState || validProgressState) && this.configUpdatedListeners.forEach(\r\n\t\t\t\t(listener: ConfigUpdatedListener) => listener(this.config)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t/*\r\n\t * set signin progress to in progress on sign in start on surface\r\n\t */\r\n\tpublic setInProgressSignin(this: AuthDataSource) {\r\n\t\tthis.setConfig(undefined, SignInProgressState.inProgress);\r\n\t}\r\n\r\n\t/*\r\n\t * Transition signin and signin progress state to completed on sign in success or failure\r\n\t * In case of success, states transition from in progress to completed\r\n\t * In case of failure, states transition from in progress to completed and then to not started\r\n\t * @param {authType} string - sign in authentication type, AAD or MSA\r\n\t */\r\n\tpublic transitionToCompleteState(this: AuthDataSource, signInState: ICentroSignInState | undefined, isDismissed: boolean = false) {\r\n\t\t// if signin progress is not in progress, set it to in progress\r\n\t\tif (this.config.signinProgress !== SignInProgressState.inProgress) {\r\n\t\t\tthis.setInProgressSignin();\r\n\t\t}\r\n\r\n\t\tlet signinState = this.config.signin || SignInState.notSignedIn;\r\n\t\tlet ageG = undefined;\r\n\t\tlet userId = undefined\r\n\t\tif (signInState) {\r\n\t\t\tconst { authType, ageGroup, puid } = signInState;\r\n\r\n\t\t\t// if authType is not an undefined value\r\n\t\t\tif (isUserAuthenticated(authType)) {\r\n\t\t\t\tsigninState = isAadUser(authType) ? SignInState.signedInAAD : SignInState.signedInMSA;\r\n\t\t\t\tageG = ageGroup;\r\n\t\t\t\tuserId = puid;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// set signin state and progress to completed\r\n\t\tthis.setConfig(signinState, SignInProgressState.completed, ageG, userId);\r\n\r\n\t\t// for signin failed scenario, set signin state to in progress. This is to ensure that the sign in pop up is not shown again\r\n\t\tif (signinState === SignInState.notSignedIn && !isDismissed) {\r\n\t\t\tthis.setConfig(signinState, SignInProgressState.notStarted);\r\n\t\t}\r\n\t}\r\n\r\n\t// centro functions to register listener events on centro\r\n\tpublic register(this: AuthDataSource, configUpdated?: ConfigUpdatedListener) {\r\n\t\tif (configUpdated) {\r\n\t\t\tthis.configUpdatedListeners.push(configUpdated);\r\n\t\t}\r\n\t\treturn this.config;\r\n\t}\r\n\r\n\t// centro functions to unregister listener events on centro\r\n\tpublic unregister(this: AuthDataSource, configUpdated: ConfigUpdatedListener) {\r\n\t\tconst index = this.configUpdatedListeners.indexOf(configUpdated);\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.configUpdatedListeners.splice(index, 1);\r\n\t\t}\r\n\t}\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tConfigUpdatedListener,\r\n\tIReactiveConfigurationDataSource\r\n} from '@ms/centro-hvc-loader';\r\nimport { IDataBoundaryConfig } from '../CentroTypes';\r\nimport { DataBoundary } from '../../Common/AuthenticationTypes';\r\n\r\nexport class DataBoundaryDataSource implements IReactiveConfigurationDataSource {\r\n\tconfigUpdatedListeners: ConfigUpdatedListener[] = [];\r\n\tconfig: IDataBoundaryConfig;\r\n\r\n\tconstructor(dataBoundary?: DataBoundary) {\r\n\t\tthis.config = {\r\n\t\t\tdataBoundary: dataBoundary || DataBoundary.None\r\n\t\t}\r\n\t}\r\n\r\n\tpublic setDataBoundary(this: DataBoundaryDataSource, dataBoundary: DataBoundary) {\r\n\t\tthis.config.dataBoundary = dataBoundary;\r\n\t\tthis.configUpdatedListeners.forEach(\r\n\t\t\t(listener: ConfigUpdatedListener) => listener(this.config)\r\n\t\t);\r\n\t}\r\n\t\r\n\t// centro functions to register listener events on centro\r\n\tpublic register(this: DataBoundaryDataSource, configUpdated?: ConfigUpdatedListener) {\r\n\t\tif (configUpdated) {\r\n\t\t\tthis.configUpdatedListeners.push(configUpdated);\r\n\t\t}\r\n\t\treturn this.config;\r\n\t}\r\n\r\n\t// centro functions to unregister listener events on centro\r\n\tpublic unregister(this: DataBoundaryDataSource, configUpdated: ConfigUpdatedListener) {\r\n\t\tconst index = this.configUpdatedListeners.indexOf(configUpdated);\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.configUpdatedListeners.splice(index, 1);\r\n\t\t}\r\n\t}\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tcloseWindow,\r\n\tgetCurrUser,\r\n\tcreatePopUpWindow,\r\n\tparseDataBoundary,\r\n\tisUserAuthenticated,\r\n\tSetMeControlAccount\r\n} from \"../../Common/Helpers\";\r\nimport { MeControlAccount, UserAgeGroup } from \"../../Common/AuthenticationTypes\";\r\nimport { ICentroSignInState, PopupPropertyType, SignInProgressState } from \"../CentroTypes\";\r\nimport { AuthDataSource } from \"./AuthDataSource\";\r\nimport { DataBoundaryDataSource } from \"./DataBoundaryDataSource\";\r\n\r\nexport class CentroAuthStateWrapper {\r\n\tauthDataSource: AuthDataSource;\r\n\tdataBoundaryDataSource: DataBoundaryDataSource;\r\n\tpopup: PopupPropertyType;\r\n\r\n\t// ToDo: pattri, #7695739 decide window width and height\r\n\tconstructor(dataBoundary: string, popupUrl: string, width: number = 650, height: number = 600) {\r\n\t\tthis.popup = {\r\n\t\t\twindow: undefined,\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\turl: popupUrl,\r\n\t\t\ttimeout: undefined,\r\n\t\t\tinterval: undefined,\r\n\t\t\ttimeoutDelay: 900000,\r\n\t\t\tintervalDelay: 500,\r\n\t\t\tclosedIntentionally: false,\r\n\t\t}\r\n\t\tthis.authDataSource = new AuthDataSource(() => this.openLoginPopUp());\r\n\t\tthis.dataBoundaryDataSource = new DataBoundaryDataSource(parseDataBoundary(dataBoundary));\r\n\t}\r\n\r\n\tcloseWindow(this: CentroAuthStateWrapper): void {\r\n\t\tcloseWindow(this.popup.window);\r\n\t\tthis.clearTimers();\r\n\t\tthis.popup.window = undefined;\r\n\t}\r\n\r\n\tclearTimers(this: CentroAuthStateWrapper): void {\r\n\t\tclearInterval(this.popup.interval);\r\n\t\tclearTimeout(this.popup.timeout);\r\n\r\n\t\tthis.popup.timeout = undefined;\r\n\t\tthis.popup.interval = undefined;\r\n\t}\r\n\r\n\tpublic getDataBoundaryDataSource(this: CentroAuthStateWrapper): DataBoundaryDataSource {\r\n\t\treturn this.dataBoundaryDataSource;\r\n\t}\r\n\r\n\tpublic getAuthDataSource(this: CentroAuthStateWrapper): AuthDataSource {\r\n\t\treturn this.authDataSource;\r\n\t}\r\n\r\n\tpublic setSigninInProgress(this: CentroAuthStateWrapper): void {\r\n\t\tthis.authDataSource.setInProgressSignin();\r\n\t}\r\n\r\n\tpublic isSigninInProgress(this: CentroAuthStateWrapper): boolean {\r\n\t\treturn this.authDataSource.config.signinProgress === SignInProgressState.inProgress;\r\n\t}\r\n\r\n\tpublic signinSuccess(this: CentroAuthStateWrapper, signInState: ICentroSignInState, meControlAccount?: MeControlAccount): void {\r\n\t\tconst { authType, dataBoundary, puid, ageGroup } = signInState;\r\n\r\n\t\t// set me control account if it is undefined\r\n\t\tmeControlAccount && SetMeControlAccount(meControlAccount, window);\r\n\r\n\t\tthis.popup.closedIntentionally = true;\r\n\t\tthis.authDataSource.transitionToCompleteState({ authType, ageGroup, puid });\r\n\t\tthis.dataBoundaryDataSource.setDataBoundary(parseDataBoundary(dataBoundary));\r\n\t\tthis.closeWindow();\r\n\t}\r\n\r\n\tpublic signinFailed(this: CentroAuthStateWrapper, isDismissed: boolean = false): void {\r\n\t\tthis.popup.closedIntentionally = true;\r\n\t\tthis.authDataSource.transitionToCompleteState(undefined, isDismissed);\r\n\t\tthis.closeWindow();\r\n\t}\r\n\r\n\tpublic handleSignInCompleteEvent(this: CentroAuthStateWrapper, e: CustomEvent): void {\r\n\t\tconst { authType, dataBoundary, ageGroup, puid } = e.detail;\r\n\t\tif (isUserAuthenticated(authType)) {\r\n\t\t\tthis.signinSuccess({authType, dataBoundary, ageGroup, puid});\r\n\t\t} else {\r\n\t\t\tthis.signinFailed();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic openLoginPopUp(this: CentroAuthStateWrapper): void {\r\n\t\tconst user = getCurrUser();\r\n\r\n\t\t// not authenticated and signin not in progress\r\n\t\tif (!(user && isUserAuthenticated(user.type)) && !this.isSigninInProgress()) {\r\n\t\t\tconst { url, width, height, timeoutDelay, intervalDelay } = this.popup;\r\n\t\t\tthis.setSigninInProgress();\r\n\r\n\t\t\t// close popup if already open\r\n\t\t\tthis.closeWindow();\r\n\r\n\t\t\t// reset closed intentionally flag\t\r\n\t\t\tthis.popup.closedIntentionally = false;\r\n\r\n\t\t\t// open popup\r\n\t\t\tthis.popup.window = createPopUpWindow(url, width, height);\r\n\r\n\t\t\tif (this.popup.window) {\r\n\t\t\t\t// close popup after 15 mins before cookies expire.\r\n\t\t\t\tthis.popup.timeout = setTimeout(() => this.signinFailed(), timeoutDelay);\r\n\r\n\t\t\t\t// Interval pop up closed and mark sigin failed if it was not closed intentionally.\r\n\t\t\t\tthis.popup.interval = setInterval(() => {\r\n\t\t\t\t\tif (this.popup.window?.closed && !this.popup.closedIntentionally) {\r\n\t\t\t\t\t\tthis.signinFailed(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, intervalDelay);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport { IRuntimeHvcStaticConfig } from '@ms/centro-hvc-loader/dist/runtime/configuration/runtimeDataSources';\r\nimport { RequestFunction } from '@ms/centro-hvc-loader';\r\nimport { ShowCentro } from './Centro';\r\nimport { CentroParams } from './CentroTypes';\r\nimport { IMsCommonShell } from '../Common/AuthenticationTypes';\r\nimport { smcRequestFunction } from './CentroParams';\r\n\r\ndeclare global {\r\n\tinterface Window {\r\n\t\tmsCommonShell: IMsCommonShell;\r\n\t\tsilentSigninProgress: boolean;\r\n\t\tinitializeComponents: (_: IRuntimeHvcStaticConfig, centroParams: CentroParams) => Promise;\r\n\t\tsmcRequestFunction: RequestFunction;\r\n\t}\r\n}\r\n\r\nwindow.smcRequestFunction = smcRequestFunction;\r\nwindow.initializeComponents = ShowCentro;\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport {\r\n\tinitialize,\r\n\tpreloadFeature,\r\n\tM365ThemeKind,\r\n\tcreateStaticDataSource,\r\n\tHvcBootstrapperWithAdditionalObjects,\r\n\tbootstrapFeature,\r\n} from '@ms/centro-hvc-loader';\r\nimport { IRuntimeHvcStaticConfig } from '@ms/centro-hvc-loader/dist/runtime/configuration/runtimeDataSources';\r\n\r\nimport {\r\n\tcentroEnvironmentBaseUrl,\r\n\tstaticConfig,\r\n\tsmcRequestFunction,\r\n\tfeatureNameValueGuidance,\r\n\tdataSourceNameSignIn,\r\n\tdataSourceNameFeature,\r\n\tdataSourceNameValueGuidance,\r\n\tsetDataSources,\r\n\tdataSourceNameDataBoundary,\r\n} from './CentroParams';\r\nimport { DataSourcesType, CentroParams, ComponentTypes, dataAttributes } from './CentroTypes';\r\nimport { isUserAuthenticated } from '../Common/Helpers';\r\nimport { eventNamePopupSignInComplete, eventNameSilentSignInComplete, HvcComponentType } from '../Common/Strings';\r\nimport { CentroAuthStateWrapper } from './DataSources/CentroAuthStateWrapper';\r\nimport { CaptureContentEventProperties, LogContentUpdateEvent, BehaviorType } from '../Common/Logging';\r\n\r\n//bootstrap centro component\r\nasync function bootstrapComponent(featureName: string, additionalDataSource: DataSourcesType): Promise> {\r\n\treturn await bootstrapFeature({\r\n\t\tfeatureName: featureName,\r\n\t\tsetAdditionalDataSource: setDataSources(additionalDataSource)\r\n\t});\r\n}\r\n\r\nexport async function ShowCentro(runtimeStaticConfig: IRuntimeHvcStaticConfig, centroParams: CentroParams): Promise {\r\n\tconst locale = runtimeStaticConfig.locale;\r\n\tconst { popupSignInUrl, authType, dataBoundary, ageGroup, puid, isProduction, initializeParams, preloadFeatureParams } = centroParams;\r\n\tconst elements = document.querySelectorAll('.centro-component');\r\n\tconst centroAuthStateWrapper = new CentroAuthStateWrapper(dataBoundary, popupSignInUrl);\r\n\r\n\t// Check if silent sign in in progress\r\n\tif (window.silentSigninProgress) {\r\n\t\tcentroAuthStateWrapper.setSigninInProgress();\r\n\t}\r\n\r\n\t// Listen to silent sign in complete event from iframe\r\n\twindow.document.addEventListener(eventNameSilentSignInComplete, (e: CustomEvent) => centroAuthStateWrapper.handleSignInCompleteEvent(e));\r\n\r\n\t// Listen to signin complete events from pop up\r\n\twindow.document.addEventListener(eventNamePopupSignInComplete, (e: CustomEvent) => {\r\n\r\n\t\tvar captureEvent: CaptureContentEventProperties = {\r\n\t\t\tactionType: 'A',\r\n\t\t\tcontent: { contentId: 'centroLoginPopupSignInSucceeded', authProvider: e.detail.authType }\r\n\t\t}\r\n\r\n\t\tLogContentUpdateEvent(captureEvent, BehaviorType.SignIn);\r\n\r\n\t\tcentroAuthStateWrapper.handleSignInCompleteEvent(e);\r\n\t});\r\n\r\n\t// Initialize Centro Data Source with user auth state on page load.\r\n\tif (authType && isUserAuthenticated(authType)) {\r\n\t\tcentroAuthStateWrapper.signinSuccess({ authType, dataBoundary, ageGroup, puid });\r\n\t}\r\n\r\n\tif (elements) {\r\n\t\tconst dataSources = setDataSources([\r\n\t\t\t{\r\n\t\t\t\tname: dataSourceNameFeature,\r\n\t\t\t\tsource: createStaticDataSource({\r\n\t\t\t\t\ttheme: M365ThemeKind.M365Light,\r\n\t\t\t\t\tisSimplifiedView: true\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: dataSourceNameDataBoundary,\r\n\t\t\t\tsource: centroAuthStateWrapper.getDataBoundaryDataSource()\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst additionalDataSources: DataSourcesType = [\r\n\t\t\t{\r\n\t\t\t\tname: dataSourceNameSignIn,\r\n\t\t\t\tsource: centroAuthStateWrapper.getAuthDataSource()\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: dataSourceNameValueGuidance,\r\n\t\t\t\tsource: createStaticDataSource({\r\n\t\t\t\t\treferrer: 5,\r\n\t\t\t\t\tcultureInfo: locale,\r\n\t\t\t\t\tocvFeedbackConfig: { enableFeedback: true, isProduction },\r\n\t\t\t\t\tdataAttributes: dataAttributes\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t];\r\n\r\n\t\ttry {\r\n\t\t\tawait initialize({\r\n\t\t\t\tcentroEnvironmentBaseUrl: centroEnvironmentBaseUrl,\r\n\t\t\t\tcentroAdapters: {\r\n\t\t\t\t\truntimeStaticConfig: {\r\n\t\t\t\t\t\t...runtimeStaticConfig,\r\n\t\t\t\t\t\t...staticConfig\r\n\t\t\t\t\t},\r\n\t\t\t\t\trequest: smcRequestFunction,\r\n\t\t\t\t\tdataSources,\r\n\t\t\t\t},\r\n\t\t\t\t...initializeParams\r\n\t\t\t});\r\n\r\n\t\t\tif (await preloadFeature({ featureName: featureNameValueGuidance, ...preloadFeatureParams })) {\r\n\t\t\t\tawait Promise.all(Array.from(elements).map(element => {\r\n\t\t\t\t\tconst hvcElement = element.getAttribute('component').toLowerCase();\r\n\t\t\t\t\tlet componentType = HvcComponentType[hvcElement];\r\n\r\n\t\t\t\t\treturn bootstrapComponent(featureNameValueGuidance, additionalDataSources)\r\n\t\t\t\t\t\t.then(result => result.objects[componentType](element))\r\n\t\t\t\t}))\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t\t// ToDo: pattri, #7779760 decide what to show in case of error\r\n\t\t\tthrow error;\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":["__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","LogKind","LogCategory","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","decorateElement","element","attributes","attr","loadScriptUrl","leaf","_a","scriptElement","document","createElement","src","content","onload","onerror","Error","appendChild","loadScript","inlineScript","createTextNode","loadStyleUrl","linkElement","rel","type","href","head","loadStyle","inlineStyle","dynamicLoader","node","err_1","_b","_c","e_1_1","err_2","e_1","_d","_e","all","children","map","optional","console","log","o","m","__values","error","return","JSON","stringify","create","SuppressedError","registeredLoggers","Map","addLogger","name","logger","has","set","broadCastTo","options","loggers","forEach","restLoggers","delete","id","logCategory","ClientError","message","LogLevel","loggingQueueLocked","assert","condition","getFeatureLoadingState","featureName","window","Info","m365_admin_features","initializers","getDbgState","locDbg","M365ThemeKind","RequestVerb","BackendTarget","centroBaseUrl","uxVersionData","adapters","loaderInitialized","loggersInitialized","uxVersionDebugData","getUxVersionData","queryParams","versionUrl","req","XMLHttpRequest","open","setRequestHeader","runtimeStaticConfig","locale","hostName","onreadystatechange","readyState","DONE","correlationId","getResponseHeader","status","errorMsg","response","err","mixedCaseUxVersionData","hvcProp","startsWith","toLowerCase","normalizeCasingForUxVersionData","parse","send","getUxVersionDebugData","initialize","params","baseUrl","centroAdapters","uxData","appId","versionInfo","kustoEndpoint","additionalLoggers_1","hvcLoaderInitializeStartTime","queryParam","uxDataFromAPI","error_1","centroEnvironmentBaseUrl","centroHvcData","replace","c","crypto","getRandomValues","Uint8Array","toString","substring","appIdStr","kustoEndpointStr","hostNameStr","versionInfoStr","loggingQueueInterval","queue","remoteLoggerSequenceNumber","sendInstrumentRequest","setTimeout","data","splice","queueLog","Analytics","Performance","tagId","parseInt","pathName","flyoutName","getHistory","location","pathname","indexOf","pathArray","split","TagId","ClientInfo","Message","Adhoc0","Adhoc1","Adhoc2","Adhoc5","PageName","stack","version","Adhoc3","makeMacKustoLogger","additionalLoggers","keys","key","performance","now","forHostVersion","hvcVersion","encodeURIComponent","eventName","fromStart","UA","navigator","userAgent","preloadFeature","preloadFeatureStartTime","lowerCaseFeatureName","error_2","localMode","hvc","loaderSpec","uxdata","bootstrapFeature","bootStrapFeatureStartTime","providedAdapter_1","adapterProvider","loaderData","bootstrapper","dataSources","setAdditionalDataSource","cdnUrl","ariaLoggerId","__hostApp_config","targetAppUrls","hostingAppUrls","createStaticDataSource","config","register","unregister","SignInState","SignInProgressState","ComponentTypes","featureNameValueGuidance","staticConfig","perfPrefix","smcRequestFunction","reqOptions","abortController","AbortController","networkRequestPromise","fetch","backend","url","method","headers","GET","signal","resp","json","statusText","promise","cancel","abort","setDataSources","sd","dataSource","source","DataBoundary","UserAgeGroup","dataAttributes","heroPrimaryButtonDataAttributes","heroSecondaryButtonDataAttributes","exploreButtonDataAttributes","BehaviorType","isUserAuthenticated","authType","parseDataBoundary","dataBoundary","EU","None","HvcComponentType","requestSignIn","configUpdatedListeners","signin","notSignedIn","signinProgress","notStarted","userId","ageGroup","Undefined","setConfig","signInState","validSignInState","values","includes","validProgressState","listener","setInProgressSignin","inProgress","transitionToCompleteState","isDismissed","signinState","ageG","puid","isAadUser","signedInAAD","signedInMSA","completed","configUpdated","index","setDataBoundary","popupUrl","width","height","popup","timeout","interval","timeoutDelay","intervalDelay","closedIntentionally","authDataSource","AuthDataSource","openLoginPopUp","dataBoundaryDataSource","DataBoundaryDataSource","closeWindow","close","clearTimers","clearInterval","clearTimeout","getDataBoundaryDataSource","getAuthDataSource","setSigninInProgress","isSigninInProgress","signinSuccess","meControlAccount","userAccount","MeControl","API","setActiveAccount","SetMeControlAccount","signinFailed","handleSignInCompleteEvent","detail","user","msCommonShell","meControlOptions","currentAccount","getCurrUser","wLeft","screenLeft","screenX","wTop","screenTop","screenY","left","innerWidth","innerHeight","createPopUpWindow","setInterval","closed","initializeComponents","centroParams","popupSignInUrl","isProduction","initializeParams","preloadFeatureParams","elements","querySelectorAll","centroAuthStateWrapper","CentroAuthStateWrapper","silentSigninProgress","addEventListener","properties","behavior","top","analytics","oneDS","Behavior","captureContentUpdate","LogContentUpdateEvent","actionType","contentId","authProvider","SignIn","theme","M365Light","isSimplifiedView","referrer","cultureInfo","ocvFeedbackConfig","enableFeedback","request","Array","from","hvcElement","getAttribute","componentType","additionalDataSource","bootstrapComponent","objects"],"sourceRoot":""}