@flarehr/workflows-app 4.35.0 → 4.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tests.js +1 -1
- package/dist/workflows-app.js +1 -1
- package/package.json +1 -1
package/dist/tests.js
CHANGED
|
@@ -3061,7 +3061,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3061
3061
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
3062
3062
|
|
|
3063
3063
|
"use strict";
|
|
3064
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ init: () => (/* binding */ init),\n/* harmony export */ update: () => (/* binding */ update),\n/* harmony export */ updateTestable: () => (/* binding */ updateTestable)\n/* harmony export */ });\n/* harmony import */ var jwt_decode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jwt-decode */ \"./node_modules/jwt-decode/build/jwt-decode.esm.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Types.fs.js */ \"./src/Workflows/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/../Fable.Elmish.3.1.0/cmd.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.Elmish.3.1.0/cmd.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/Common.fs.js */ \"./src/Workflows/Components/Common.fs.js\");\n/* harmony import */ var _Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Services/BackendService.fs.js */ \"./src/Workflows/Services/BackendService.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../NotificationService.fs.js */ \"./src/NotificationService.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_Router_3_8_0_Router_fs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/./Router.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/Router.fs.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Config.fs.js */ \"./src/Config.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction init(accessToken) {\n const jwt = (0,jwt_decode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(accessToken);\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileIdModule_create)(jwt.sub), (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceIdModule_create)(jwt.workflow.instanceId), new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(0), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.empty)(), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(0)), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n}\n\nfunction updateTestable(completePaySetupAsync, accessToken, appMode, msg, state) {\n let matchValue_2, eventTarget, stepDetail, s_1, s_2, input_12, matchValue_7, input_14, fullPath, step, matchValue;\n switch (msg.tag) {\n case 1: {\n const view = msg.fields[0];\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, view, state.CssOverrides, state.BenefitsOnboarding), (view.tag === 2) ? ((matchValue_2 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepModule_stepConfig)(view.fields[0].Id), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(matchValue_2.Id, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessStepConfigModule_BenefitsOnboardingStep.Id) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(1))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(0, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessStepIdModule_value)(matchValue_2.Id)))))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 2: {\n const matchValue_3 = state.WorkflowDetail;\n let pattern_matching_result, workflowDetail_1;\n if (matchValue_3.tag === 2) {\n if (matchValue_3.fields[0].tag === 0) {\n pattern_matching_result = 0;\n workflowDetail_1 = matchValue_3.fields[0].fields[0];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_1, state.BenefitsOnboarding))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 11: {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)((0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.sendAnalyticsEvent)(accessToken, msg.fields[0], msg.fields[1]));\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 3: {\n const matchValue_4 = state.WorkflowDetail;\n let pattern_matching_result_1, workflowDetail_2;\n if (matchValue_4.tag === 2) {\n if (matchValue_4.fields[0].tag === 0) {\n pattern_matching_result_1 = 0;\n workflowDetail_2 = matchValue_4.fields[0].fields[0];\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n return [state, (eventTarget = msg.fields[0].target, (stepDetail = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.tryFind)((step_4) => ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_14__.compare)((0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_ComponentTagName)(step_4), eventTarget.tagName, 5) === 0), workflowDetail_2.Steps), (stepDetail == null) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)() : ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(stepDetail.Id, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Step(6)) ? ((s_1 = stepDetail, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(13)))) : ((s_2 = stepDetail, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_ProcessStepId)(s_2), new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0))))))))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 13: {\n const matchValue_5 = state.WorkflowDetail;\n let pattern_matching_result_2;\n if (matchValue_5.tag === 2) {\n if (matchValue_5.fields[0].tag === 0) {\n if (!(0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(state.BenefitsOnboarding, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(0))) {\n pattern_matching_result_2 = 0;\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, state.CurrentView, state.CssOverrides, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(2)), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_batch)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.ofArray)([(0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(2))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))]))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 4: {\n const processStepId = msg.fields[0];\n const deferredResult_1 = msg.fields[1];\n switch (deferredResult_1.tag) {\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 2: {\n const processInstanceResult = deferredResult_1.fields[0];\n const input_10 = processInstanceResult;\n if (input_10.tag === 1) {\n input_10.fields[0];\n }\n else {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyStepCompleted)(processStepId, input_10.fields[0], state.ProfileId);\n }\n let workflowDetail_3;\n const matchValue_6 = state.WorkflowDetail;\n let pattern_matching_result_3, detail;\n if (matchValue_6.tag === 2) {\n if (matchValue_6.fields[0].tag === 0) {\n pattern_matching_result_3 = 0;\n detail = matchValue_6.fields[0].fields[0];\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n switch (pattern_matching_result_3) {\n case 0: {\n workflowDetail_3 = (new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, (input_12 = processInstanceResult, (input_12.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_12.fields[0])) : (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(detail, input_12.fields[0]))));\n break;\n }\n case 1: {\n workflowDetail_3 = state.WorkflowDetail;\n break;\n }\n }\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, workflowDetail_3, state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((workflowDetail_3.tag === 2) ? ((workflowDetail_3.fields[0].tag === 1) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_3.fields[0].fields[0]))) : (0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_3.fields[0].fields[0], state.BenefitsOnboarding)) : ((workflowDetail_3.tag === 3) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_3.fields[0].message))) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))))];\n }\n case 3: {\n const ex_3 = deferredResult_1.fields[0];\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_3), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, ex_3.message)))];\n }\n default: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_7) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_7);\n }, (accessToken_1) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.completeStepV2)(state.ProcessInstanceId, processStepId, accessToken_1), accessToken, (result_4) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, processStepId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, result_4))), (ex_1) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, processStepId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_1))))];\n }\n }\n }\n case 5: {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(3), state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_10) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_10);\n }, (injectedBenefits) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.viewPaySetupPage)(state.ProcessInstanceId, accessToken, injectedBenefits), msg.fields[0].InjectedBenefits, (_arg_6) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(14)), (ex_4) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_4)))];\n }\n case 6: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_batch)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.ofArray)([(0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_11) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_11);\n }, (injectedBenefits_1) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.resumePaySetup)(state.ProcessInstanceId, accessToken, injectedBenefits_1), msg.fields[0].InjectedBenefits, (_arg_7) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(14)), (ex_5) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_5))), (matchValue_7 = state.WorkflowDetail, (matchValue_7.tag === 2) ? ((matchValue_7.fields[0].tag === 0) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.last)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.filter)((s_3) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(s_3.Status, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepStatus(0))) {\n return true;\n }\n else {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(s_3.Status, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepStatus(4));\n }\n }, matchValue_7.fields[0].fields[0].Steps))))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\"))))]))];\n }\n case 7: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_12) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_12);\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.partialApply)(1, completePaySetupAsync, [state.ProcessInstanceId, accessToken]), msg.fields[0].InjectedBenefits, (result_5) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(8, result_5)), (ex_6) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_6)))];\n }\n case 8: {\n let workflowDetail_5;\n const matchValue_8 = state.WorkflowDetail;\n let pattern_matching_result_4, detail_5;\n if (matchValue_8.tag === 2) {\n if (matchValue_8.fields[0].tag === 0) {\n pattern_matching_result_4 = 0;\n detail_5 = matchValue_8.fields[0].fields[0];\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n switch (pattern_matching_result_4) {\n case 0: {\n workflowDetail_5 = (new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, (input_14 = msg.fields[0], (input_14.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_14.fields[0])) : (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(detail_5, input_14.fields[0]))));\n break;\n }\n case 1: {\n workflowDetail_5 = state.WorkflowDetail;\n break;\n }\n }\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, workflowDetail_5, state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((workflowDetail_5.tag === 2) ? ((workflowDetail_5.fields[0].tag === 1) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_5.fields[0].fields[0]))) : (0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_5.fields[0].fields[0], state.BenefitsOnboarding)) : ((workflowDetail_5.tag === 3) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_5.fields[0].message))) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))))];\n }\n case 9: {\n const deferredResult_2 = msg.fields[0];\n if (deferredResult_2.tag === 1) {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n else if (deferredResult_2.tag === 2) {\n if (deferredResult_2.fields[0].tag === 1) {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, deferredResult_2.fields[0].fields[0])), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult_2.fields[0].fields[0])))];\n }\n else {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(deferredResult_2.fields[0].fields[0].Id, deferredResult_2.fields[0].fields[0].Configuration.Name, deferredResult_2.fields[0].fields[0].Configuration.Id, state.ProfileId);\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred_map)((result_7) => {\n const input_16 = result_7;\n if (input_16.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_16.fields[0]);\n }\n else {\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(input_16.fields[0], deferredResult_2.fields[0].fields[0]);\n }\n }, state.WorkflowDetail), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))];\n }\n }\n else if (deferredResult_2.tag === 3) {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, deferredResult_2.fields[0]), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult_2.fields[0].message)))];\n }\n else {\n const matchValue_9 = state.WorkflowDetail;\n let pattern_matching_result_5, workflow_1;\n if (matchValue_9.tag === 2) {\n if (matchValue_9.fields[0].tag === 0) {\n if ((0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceStatusModule_isComplete)(matchValue_9.fields[0].fields[0].Status)) {\n pattern_matching_result_5 = 0;\n workflow_1 = matchValue_9.fields[0].fields[0];\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n switch (pattern_matching_result_5) {\n case 0: {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(workflow_1.ProcessInstanceId, workflow_1.InstanceName, workflow_1.ProcessConfigId, state.ProfileId);\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_14) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_14);\n }, (accessToken_2) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.complete)(state.ProcessInstanceId, accessToken_2), accessToken, (result_6) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, result_6))), (ex_8) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_8))))];\n }\n }\n }\n }\n case 10: {\n const workflow_2 = msg.fields[0];\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(workflow_2.ProcessInstanceId, workflow_2.InstanceName, workflow_2.ProcessConfigId, state.ProfileId);\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))];\n }\n case 12: {\n return [state, (fullPath = (((window.location.pathname + \"/\") + window.location.search) + window.location.hash), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_ofSub)((_arg_9) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_Router_3_8_0_Router_fs_js__WEBPACK_IMPORTED_MODULE_10__.RouterModule_nav)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.singleton)(fullPath), 1, 2);\n }))];\n }\n case 14: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 15: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n default: {\n const deferredResult = msg.fields[0];\n let patternInput;\n switch (deferredResult.tag) {\n case 3: {\n patternInput = [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult.fields[0].message)))];\n break;\n }\n case 0:\n case 1: {\n patternInput = [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n break;\n }\n default: {\n let tupledArg_1;\n let input_8;\n const input_6 = deferredResult.fields[0];\n if (input_6.tag === 1) {\n input_8 = (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_6.fields[0]));\n }\n else {\n const ctx = input_6.fields[0];\n const benefitsOnboardingState = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingStateModule_init)(ctx.IsBenefitsEnabled);\n let input_4;\n const tupledArg = [ctx.ProcessInstance, benefitsOnboardingState];\n input_4 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetailListModule_ofProcessInstance)(tupledArg[0], tupledArg[1]);\n if (input_4.tag === 1) {\n input_8 = (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_4.fields[0]));\n }\n else {\n const stepList = input_4.fields[0];\n const input_2 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstance)(appMode, ctx);\n if (input_2.tag === 1) {\n input_8 = (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_2.fields[0]));\n }\n else {\n const workflowDetail = input_2.fields[0];\n const isWorkflowComplete = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceStatusModule_isComplete)(ctx.ProcessInstance.Status);\n let input;\n const matchValue_1 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetailListModule_tryFindActiveStep)(stepList);\n input = ((matchValue_1 == null) ? ((!workflowDetail.IsPaySetupComplete) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(3))) : (isWorkflowComplete ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5))) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Something went wrong\"))))) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, (step = matchValue_1, (matchValue = [_Config_fs_js__WEBPACK_IMPORTED_MODULE_11__.appRoot.clientWidth, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.length)(stepList)], (matchValue[1] === 1) ? ((document.title = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_DisplayName)(step), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, step))) : (((0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.$007CIsMobile$007C_$007C)(matchValue[0]) != null) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(1)) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, step))))))));\n input_8 = ((input.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, workflowDetail)), state.CurrentView, ctx.CssOverrides, benefitsOnboardingState), input.fields[0]])));\n }\n }\n }\n tupledArg_1 = ((input_8.tag === 1) ? [state, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, input_8.fields[0])] : input_8.fields[0]);\n patternInput = [tupledArg_1[0], (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, tupledArg_1[1]))];\n }\n }\n return [patternInput[0], patternInput[1]];\n }\n }\n}\n\nfunction update(accessToken, appMode, msg, state) {\n return updateTestable(_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.completePaySetup, accessToken, appMode, msg, state);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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L0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi9zcmMvV29ya2Zsb3dzL1N0YXRlLmZzLmpzPzNkZTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGp3dF9kZWNvZGUgZnJvbSBcImp3dC1kZWNvZGVcIjtcbmltcG9ydCB7IFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNDb21wbGV0ZSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmVuZWZpdHNPbmJvYXJkaW5nU3RlcCwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5CdXNpbmVzcy9BZ2dyZWdhdGVzL1Byb2Nlc3NJbnN0YW5jZUxpc3QvRG9tYWluLmZzLmpzXCI7XG5pbXBvcnQgeyBEZWZlcnJlZF9tYXAsIERlZmVycmVkJDEgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvRmVsaXouVXNlRGVmZXJyZWQuMS41LjAvVXNlRGVmZXJyZWQuZnMuanNcIjtcbmltcG9ydCB7ICQwMDdDSXNNb2JpbGUkMDA3Q18kMDA3QywgU3RlcERldGFpbF9fZ2V0X0Rpc3BsYXlOYW1lLCBTdGVwRGV0YWlsTGlzdE1vZHVsZV90cnlGaW5kQWN0aXZlU3RlcCwgV29ya2Zsb3dEZXRhaWxNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UsIFN0ZXBEZXRhaWxMaXN0TW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlLCBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZU1vZHVsZV9pbml0LCBTdGVwU3RhdHVzLCBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZSwgU3RlcERldGFpbF9fZ2V0X1Byb2Nlc3NTdGVwSWQsIFN0ZXAsIFN0ZXBEZXRhaWxfX2dldF9Db21wb25lbnRUYWdOYW1lLCBNc2csIFN0ZXBNb2R1bGVfc3RlcENvbmZpZywgU3RhdGUsIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlLCBWaWV3IH0gZnJvbSBcIi4vVHlwZXMuZnMuanNcIjtcbmltcG9ydCB7IGxlbmd0aCwgc2luZ2xldG9uLCBmaWx0ZXIsIGxhc3QsIG9mQXJyYXksIHRyeUZpbmQsIGVtcHR5IH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IENtZF9iYXRjaCwgQ21kX09mQXN5bmNfc3RhcnQsIENtZF9ub25lIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLkVsbWlzaC4zLjEuMC9jbWQuZnMuanNcIjtcbmltcG9ydCB7IHBhcnRpYWxBcHBseSwgZXF1YWxzIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IENtZF9PZkFzeW5jX3N0YXJ0IGFzIENtZF9PZkFzeW5jX3N0YXJ0XzEsIENtZF9PZkFzeW5jV2l0aF9laXRoZXIsIENtZF9PZkZ1bmNfcmVzdWx0IH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLkVsbWlzaC4zLjEuMC8uL2NtZC5mcy5qc1wiO1xuaW1wb3J0IHsgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuQnVzaW5lc3MvQWdncmVnYXRlcy9Qcm9jZXNzSW5zdGFuY2VMaXN0L0FwaS5mcy5qc1wiO1xuaW1wb3J0IHsgZGV0ZXJtaW5lTmV4dE1lc3NhZ2UgfSBmcm9tIFwiLi9Db21wb25lbnRzL0NvbW1vbi5mcy5qc1wiO1xuaW1wb3J0IHsgY29tcGxldGVQYXlTZXR1cCwgY29tcGxldGUsIHJlc3VtZVBheVNldHVwLCB2aWV3UGF5U2V0dXBQYWdlLCBjb21wbGV0ZVN0ZXBWMiwgc2VuZEFuYWx5dGljc0V2ZW50IGFzIHNlbmRBbmFseXRpY3NFdmVudF8xIH0gZnJvbSBcIi4vU2VydmljZXMvQmFja2VuZFNlcnZpY2UuZnMuanNcIjtcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvU3RyaW5nLmpzXCI7XG5pbXBvcnQgeyBub3RpZnlXb3JrZmxvd0NvbXBsZXRlZCwgbm90aWZ5U3RlcENvbXBsZXRlZCBhcyBub3RpZnlTdGVwQ29tcGxldGVkXzEgfSBmcm9tIFwiLi4vTm90aWZpY2F0aW9uU2VydmljZS5mcy5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBDbWRfb2ZTdWIgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvRmVsaXouUm91dGVyLjMuOC4wLy4uL0ZhYmxlLkVsbWlzaC4zLjEuMC9jbWQuZnMuanNcIjtcbmltcG9ydCB7IFJvdXRlck1vZHVsZV9uYXYgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvRmVsaXouUm91dGVyLjMuOC4wLy4vUm91dGVyLmZzLmpzXCI7XG5pbXBvcnQgeyBhcHBSb290IH0gZnJvbSBcIi4uL0NvbmZpZy5mcy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdChhY2Nlc3NUb2tlbikge1xuICAgIGNvbnN0IGp3dCA9IGp3dF9kZWNvZGUoYWNjZXNzVG9rZW4pO1xuICAgIHJldHVybiBbbmV3IFN0YXRlKFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUoand0LnN1YiksIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShqd3Qud29ya2Zsb3cuaW5zdGFuY2VJZCksIG5ldyBEZWZlcnJlZCQxKDApLCBuZXcgVmlldygwKSwgZW1wdHkoKSwgbmV3IEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKDApKSwgQ21kX25vbmUoKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVUZXN0YWJsZShjb21wbGV0ZVBheVNldHVwQXN5bmMsIGFjY2Vzc1Rva2VuLCBhcHBNb2RlLCBtc2csIHN0YXRlKSB7XG4gICAgbGV0IG1hdGNoVmFsdWVfMiwgZXZlbnRUYXJnZXQsIHN0ZXBEZXRhaWwsIHNfMSwgc18yLCBpbnB1dF8xMiwgbWF0Y2hWYWx1ZV83LCBpbnB1dF8xNCwgZnVsbFBhdGgsIHN0ZXAsIG1hdGNoVmFsdWU7XG4gICAgc3dpdGNoIChtc2cudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICByZXR1cm4gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBzdGF0ZS5Xb3JrZmxvd0RldGFpbCwgdmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCAodmlldy50YWcgPT09IDIpID8gKChtYXRjaFZhbHVlXzIgPSBTdGVwTW9kdWxlX3N0ZXBDb25maWcodmlldy5maWVsZHNbMF0uSWQpLCBlcXVhbHMobWF0Y2hWYWx1ZV8yLklkLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwLklkKSA/IENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMTEsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBuZXcgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0bygxKSkpIDogQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxMSwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvKDAsIFByb2Nlc3NTdGVwSWRNb2R1bGVfdmFsdWUobWF0Y2hWYWx1ZV8yLklkKSkpKSkpIDogQ21kX25vbmUoKV07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzMgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgd29ya2Zsb3dEZXRhaWxfMTtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzMudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfMy5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfMSA9IG1hdGNoVmFsdWVfMy5maWVsZHNbMF0uZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mRnVuY19yZXN1bHQoZGV0ZXJtaW5lTmV4dE1lc3NhZ2Uoc3RhdGUuQ3VycmVudFZpZXcsIHdvcmtmbG93RGV0YWlsXzEsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZykpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIENtZF9ub25lKCldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDExOiB7XG4gICAgICAgICAgICBDbWRfT2ZBc3luY19zdGFydChzZW5kQW5hbHl0aWNzRXZlbnRfMShhY2Nlc3NUb2tlbiwgbXNnLmZpZWxkc1swXSwgbXNnLmZpZWxkc1sxXSkpO1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzQgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8xLCB3b3JrZmxvd0RldGFpbF8yO1xuICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNC50YWcgPT09IDIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV80LmZpZWxkc1swXS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtmbG93RGV0YWlsXzIgPSBtYXRjaFZhbHVlXzQuZmllbGRzWzBdLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzEgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzEgPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8xKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIChldmVudFRhcmdldCA9IG1zZy5maWVsZHNbMF0udGFyZ2V0LCAoc3RlcERldGFpbCA9IHRyeUZpbmQoKHN0ZXBfNCkgPT4gKGNvbXBhcmUoU3RlcERldGFpbF9fZ2V0X0NvbXBvbmVudFRhZ05hbWUoc3RlcF80KSwgZXZlbnRUYXJnZXQudGFnTmFtZSwgNSkgPT09IDApLCB3b3JrZmxvd0RldGFpbF8yLlN0ZXBzKSwgKHN0ZXBEZXRhaWwgPT0gbnVsbCkgPyBDbWRfbm9uZSgpIDogKGVxdWFscyhzdGVwRGV0YWlsLklkLCBuZXcgU3RlcCg2KSkgPyAoKHNfMSA9IHN0ZXBEZXRhaWwsIENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMTMpKSkpIDogKChzXzIgPSBzdGVwRGV0YWlsLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDQsIFN0ZXBEZXRhaWxfX2dldF9Qcm9jZXNzU3RlcElkKHNfMiksIG5ldyBEZWZlcnJlZCQxKDApKSkpKSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxMzoge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV81ID0gc3RhdGUuV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgICAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMjtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzUudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNS5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZXF1YWxzKHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZywgbmV3IEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKDApKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8yID0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzIpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgc3RhdGUuV29ya2Zsb3dEZXRhaWwsIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIG5ldyBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSgyKSksIENtZF9iYXRjaChvZkFycmF5KFtDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDExLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IEFwaUR0b19CYWNrZW5kX1dyaXRlX1dvcmtmbG93QW5hbHl0aWNzRXZlbnREdG8oMikpKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZyg5LCBuZXcgRGVmZXJyZWQkMSgwKSkpLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDUpKSldKSldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc1N0ZXBJZCA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBkZWZlcnJlZFJlc3VsdF8xID0gbXNnLmZpZWxkc1sxXTtcbiAgICAgICAgICAgIHN3aXRjaCAoZGVmZXJyZWRSZXN1bHRfMS50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzSW5zdGFuY2VSZXN1bHQgPSBkZWZlcnJlZFJlc3VsdF8xLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMTAgPSBwcm9jZXNzSW5zdGFuY2VSZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dF8xMC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XzEwLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmeVN0ZXBDb21wbGV0ZWRfMShwcm9jZXNzU3RlcElkLCBpbnB1dF8xMC5maWVsZHNbMF0sIHN0YXRlLlByb2ZpbGVJZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGV0IHdvcmtmbG93RGV0YWlsXzM7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWVfNiA9IHN0YXRlLldvcmtmbG93RGV0YWlsO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMywgZGV0YWlsO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV82LnRhZyA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNi5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMyA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsID0gbWF0Y2hWYWx1ZV82LmZpZWxkc1swXS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8zID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzMgPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfMyA9IChuZXcgRGVmZXJyZWQkMSgyLCAoaW5wdXRfMTIgPSBwcm9jZXNzSW5zdGFuY2VSZXN1bHQsIChpbnB1dF8xMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xMi5maWVsZHNbMF0pKSA6IFdvcmtmbG93RGV0YWlsTW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlVXBkYXRlKGRldGFpbCwgaW5wdXRfMTIuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtmbG93RGV0YWlsXzMgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCB3b3JrZmxvd0RldGFpbF8zLCBzdGF0ZS5DdXJyZW50Vmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCBDbWRfT2ZGdW5jX3Jlc3VsdCgod29ya2Zsb3dEZXRhaWxfMy50YWcgPT09IDIpID8gKCh3b3JrZmxvd0RldGFpbF8zLmZpZWxkc1swXS50YWcgPT09IDEpID8gKG5ldyBNc2coMSwgbmV3IFZpZXcoNCwgd29ya2Zsb3dEZXRhaWxfMy5maWVsZHNbMF0uZmllbGRzWzBdKSkpIDogZGV0ZXJtaW5lTmV4dE1lc3NhZ2Uoc3RhdGUuQ3VycmVudFZpZXcsIHdvcmtmbG93RGV0YWlsXzMuZmllbGRzWzBdLmZpZWxkc1swXSwgc3RhdGUuQmVuZWZpdHNPbmJvYXJkaW5nKSkgOiAoKHdvcmtmbG93RGV0YWlsXzMudGFnID09PSAzKSA/IChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIHdvcmtmbG93RGV0YWlsXzMuZmllbGRzWzBdLm1lc3NhZ2UpKSkgOiAobmV3IE1zZygxLCBuZXcgVmlldyg0LCBcIlByb2Nlc3MgSW5zdGFuY2Ugbm90IHJlc29sdmVkXCIpKSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleF8zID0gZGVmZXJyZWRSZXN1bHRfMS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBEZWZlcnJlZCQxKDMsIGV4XzMpLCBzdGF0ZS5DdXJyZW50Vmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIGV4XzMubWVzc2FnZSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mQXN5bmNXaXRoX2VpdGhlcigoeF83KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBDbWRfT2ZBc3luY19zdGFydF8xKHhfNyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIChhY2Nlc3NUb2tlbl8xKSA9PiBjb21wbGV0ZVN0ZXBWMihzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgcHJvY2Vzc1N0ZXBJZCwgYWNjZXNzVG9rZW5fMSksIGFjY2Vzc1Rva2VuLCAocmVzdWx0XzQpID0+IChuZXcgTXNnKDQsIHByb2Nlc3NTdGVwSWQsIG5ldyBEZWZlcnJlZCQxKDIsIHJlc3VsdF80KSkpLCAoZXhfMSkgPT4gKG5ldyBNc2coNCwgcHJvY2Vzc1N0ZXBJZCwgbmV3IERlZmVycmVkJDEoMywgZXhfMSkpKSldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIHN0YXRlLldvcmtmbG93RGV0YWlsLCBuZXcgVmlldygzKSwgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCBDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzEwKSA9PiB7XG4gICAgICAgICAgICAgICAgQ21kX09mQXN5bmNfc3RhcnRfMSh4XzEwKTtcbiAgICAgICAgICAgIH0sIChpbmplY3RlZEJlbmVmaXRzKSA9PiB2aWV3UGF5U2V0dXBQYWdlKHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbiwgaW5qZWN0ZWRCZW5lZml0cyksIG1zZy5maWVsZHNbMF0uSW5qZWN0ZWRCZW5lZml0cywgKF9hcmdfNikgPT4gKG5ldyBNc2coMTQpKSwgKGV4XzQpID0+IChuZXcgTXNnKDE1LCBleF80KSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIENtZF9iYXRjaChvZkFycmF5KFtDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzExKSA9PiB7XG4gICAgICAgICAgICAgICAgQ21kX09mQXN5bmNfc3RhcnRfMSh4XzExKTtcbiAgICAgICAgICAgIH0sIChpbmplY3RlZEJlbmVmaXRzXzEpID0+IHJlc3VtZVBheVNldHVwKHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbiwgaW5qZWN0ZWRCZW5lZml0c18xKSwgbXNnLmZpZWxkc1swXS5JbmplY3RlZEJlbmVmaXRzLCAoX2FyZ183KSA9PiAobmV3IE1zZygxNCkpLCAoZXhfNSkgPT4gKG5ldyBNc2coMTUsIGV4XzUpKSksIChtYXRjaFZhbHVlXzcgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbCwgKG1hdGNoVmFsdWVfNy50YWcgPT09IDIpID8gKChtYXRjaFZhbHVlXzcuZmllbGRzWzBdLnRhZyA9PT0gMCkgPyBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDIsIGxhc3QoZmlsdGVyKChzXzMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXF1YWxzKHNfMy5TdGF0dXMsIG5ldyBTdGVwU3RhdHVzKDApKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbHMoc18zLlN0YXR1cywgbmV3IFN0ZXBTdGF0dXMoNCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG1hdGNoVmFsdWVfNy5maWVsZHNbMF0uZmllbGRzWzBdLlN0ZXBzKSkpKSkgOiBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSkgOiBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSldKSldO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mQXN5bmNXaXRoX2VpdGhlcigoeF8xMikgPT4ge1xuICAgICAgICAgICAgICAgIENtZF9PZkFzeW5jX3N0YXJ0XzEoeF8xMik7XG4gICAgICAgICAgICB9LCBwYXJ0aWFsQXBwbHkoMSwgY29tcGxldGVQYXlTZXR1cEFzeW5jLCBbc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuXSksIG1zZy5maWVsZHNbMF0uSW5qZWN0ZWRCZW5lZml0cywgKHJlc3VsdF81KSA9PiAobmV3IE1zZyg4LCByZXN1bHRfNSkpLCAoZXhfNikgPT4gKG5ldyBNc2coMTUsIGV4XzYpKSldO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgbGV0IHdvcmtmbG93RGV0YWlsXzU7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzggPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF80LCBkZXRhaWxfNTtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzgudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfOC5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzQgPSAwO1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWxfNSA9IG1hdGNoVmFsdWVfOC5maWVsZHNbMF0uZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfNCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfNCA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfNSA9IChuZXcgRGVmZXJyZWQkMSgyLCAoaW5wdXRfMTQgPSBtc2cuZmllbGRzWzBdLCAoaW5wdXRfMTQudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTQuZmllbGRzWzBdKSkgOiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZShkZXRhaWxfNSwgaW5wdXRfMTQuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd0RldGFpbF81ID0gc3RhdGUuV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIHdvcmtmbG93RGV0YWlsXzUsIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZyksIENtZF9PZkZ1bmNfcmVzdWx0KCh3b3JrZmxvd0RldGFpbF81LnRhZyA9PT0gMikgPyAoKHdvcmtmbG93RGV0YWlsXzUuZmllbGRzWzBdLnRhZyA9PT0gMSkgPyAobmV3IE1zZygxLCBuZXcgVmlldyg0LCB3b3JrZmxvd0RldGFpbF81LmZpZWxkc1swXS5maWVsZHNbMF0pKSkgOiBkZXRlcm1pbmVOZXh0TWVzc2FnZShzdGF0ZS5DdXJyZW50Vmlldywgd29ya2Zsb3dEZXRhaWxfNS5maWVsZHNbMF0uZmllbGRzWzBdLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpKSA6ICgod29ya2Zsb3dEZXRhaWxfNS50YWcgPT09IDMpID8gKG5ldyBNc2coMSwgbmV3IFZpZXcoNCwgd29ya2Zsb3dEZXRhaWxfNS5maWVsZHNbMF0ubWVzc2FnZSkpKSA6IChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDk6IHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmVycmVkUmVzdWx0XzIgPSBtc2cuZmllbGRzWzBdO1xuICAgICAgICAgICAgaWYgKGRlZmVycmVkUmVzdWx0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkZWZlcnJlZFJlc3VsdF8yLnRhZyA9PT0gMikge1xuICAgICAgICAgICAgICAgIGlmIChkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IERlZmVycmVkJDEoMiwgbmV3IEZTaGFycFJlc3VsdCQyKDEsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSkpLCBzdGF0ZS5DdXJyZW50Vmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlXb3JrZmxvd0NvbXBsZXRlZChkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS5maWVsZHNbMF0uSWQsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXS5Db25maWd1cmF0aW9uLk5hbWUsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXS5Db25maWd1cmF0aW9uLklkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBEZWZlcnJlZF9tYXAoKHJlc3VsdF83KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xNiA9IHJlc3VsdF83O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzE2LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZShpbnB1dF8xNi5maWVsZHNbMF0sIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIHN0YXRlLldvcmtmbG93RGV0YWlsKSwgc3RhdGUuQ3VycmVudFZpZXcsIHN0YXRlLkNzc092ZXJyaWRlcywgc3RhdGUuQmVuZWZpdHNPbmJvYXJkaW5nKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg1KSkpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkZWZlcnJlZFJlc3VsdF8yLnRhZyA9PT0gMykge1xuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBEZWZlcnJlZCQxKDMsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdKSwgc3RhdGUuQ3VycmVudFZpZXcsIHN0YXRlLkNzc092ZXJyaWRlcywgc3RhdGUuQmVuZWZpdHNPbmJvYXJkaW5nKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg0LCBkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS5tZXNzYWdlKSkpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWVfOSA9IHN0YXRlLldvcmtmbG93RGV0YWlsO1xuICAgICAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81LCB3b3JrZmxvd18xO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzkudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzkuZmllbGRzWzBdLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFByb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9pc0NvbXBsZXRlKG1hdGNoVmFsdWVfOS5maWVsZHNbMF0uZmllbGRzWzBdLlN0YXR1cykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd18xID0gbWF0Y2hWYWx1ZV85LmZpZWxkc1swXS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzUgPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81KSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZ5V29ya2Zsb3dDb21wbGV0ZWQod29ya2Zsb3dfMS5Qcm9jZXNzSW5zdGFuY2VJZCwgd29ya2Zsb3dfMS5JbnN0YW5jZU5hbWUsIHdvcmtmbG93XzEuUHJvY2Vzc0NvbmZpZ0lkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzE0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ21kX09mQXN5bmNfc3RhcnRfMSh4XzE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIChhY2Nlc3NUb2tlbl8yKSA9PiBjb21wbGV0ZShzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW5fMiksIGFjY2Vzc1Rva2VuLCAocmVzdWx0XzYpID0+IChuZXcgTXNnKDksIG5ldyBEZWZlcnJlZCQxKDIsIHJlc3VsdF82KSkpLCAoZXhfOCkgPT4gKG5ldyBNc2coOSwgbmV3IERlZmVycmVkJDEoMywgZXhfOCkpKSldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgIGNvbnN0IHdvcmtmbG93XzIgPSBtc2cuZmllbGRzWzBdO1xuICAgICAgICAgICAgbm90aWZ5V29ya2Zsb3dDb21wbGV0ZWQod29ya2Zsb3dfMi5Qcm9jZXNzSW5zdGFuY2VJZCwgd29ya2Zsb3dfMi5JbnN0YW5jZU5hbWUsIHdvcmtmbG93XzIuUHJvY2Vzc0NvbmZpZ0lkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg1KSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDEyOiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCAoZnVsbFBhdGggPSAoKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyBcIi9cIikgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoKSArIHdpbmRvdy5sb2NhdGlvbi5oYXNoKSwgQ21kX29mU3ViKChfYXJnXzkpID0+IHtcbiAgICAgICAgICAgICAgICBSb3V0ZXJNb2R1bGVfbmF2KHNpbmdsZXRvbihmdWxsUGF0aCksIDEsIDIpO1xuICAgICAgICAgICAgfSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE0OiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE1OiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBkZWZlcnJlZFJlc3VsdCA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICBsZXQgcGF0dGVybklucHV0O1xuICAgICAgICAgICAgc3dpdGNoIChkZWZlcnJlZFJlc3VsdC50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybklucHV0ID0gW3N0YXRlLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIGRlZmVycmVkUmVzdWx0LmZpZWxkc1swXS5tZXNzYWdlKSkpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybklucHV0ID0gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHR1cGxlZEFyZ18xO1xuICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXRfODtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfNiA9IGRlZmVycmVkUmVzdWx0LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzYudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF84ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF82LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3R4ID0gaW5wdXRfNi5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSA9IEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlTW9kdWxlX2luaXQoY3R4LklzQmVuZWZpdHNFbmFibGVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dF80O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHVwbGVkQXJnID0gW2N0eC5Qcm9jZXNzSW5zdGFuY2UsIGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XzQgPSBTdGVwRGV0YWlsTGlzdE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZSh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRfNC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF84ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF80LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RlcExpc3QgPSBpbnB1dF80LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8yID0gV29ya2Zsb3dEZXRhaWxNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UoYXBwTW9kZSwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfOCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtmbG93RGV0YWlsID0gaW5wdXRfMi5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzV29ya2Zsb3dDb21wbGV0ZSA9IFByb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9pc0NvbXBsZXRlKGN0eC5Qcm9jZXNzSW5zdGFuY2UuU3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBTdGVwRGV0YWlsTGlzdE1vZHVsZV90cnlGaW5kQWN0aXZlU3RlcChzdGVwTGlzdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0ID0gKChtYXRjaFZhbHVlXzEgPT0gbnVsbCkgPyAoKCF3b3JrZmxvd0RldGFpbC5Jc1BheVNldHVwQ29tcGxldGUpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgVmlldygzKSkpIDogKGlzV29ya2Zsb3dDb21wbGV0ZSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFZpZXcoNSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFZpZXcoNCwgXCJTb21ldGhpbmcgd2VudCB3cm9uZ1wiKSkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIChzdGVwID0gbWF0Y2hWYWx1ZV8xLCAobWF0Y2hWYWx1ZSA9IFthcHBSb290LmNsaWVudFdpZHRoLCBsZW5ndGgoc3RlcExpc3QpXSwgKG1hdGNoVmFsdWVbMV0gPT09IDEpID8gKChkb2N1bWVudC50aXRsZSA9IFN0ZXBEZXRhaWxfX2dldF9EaXNwbGF5TmFtZShzdGVwKSwgbmV3IFZpZXcoMiwgc3RlcCkpKSA6ICgoJDAwN0NJc01vYmlsZSQwMDdDXyQwMDdDKG1hdGNoVmFsdWVbMF0pICE9IG51bGwpID8gKG5ldyBWaWV3KDEpKSA6IChuZXcgVmlldygyLCBzdGVwKSkpKSkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XzggPSAoKGlucHV0LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBEZWZlcnJlZCQxKDIsIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB3b3JrZmxvd0RldGFpbCkpLCBzdGF0ZS5DdXJyZW50VmlldywgY3R4LkNzc092ZXJyaWRlcywgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpLCBpbnB1dC5maWVsZHNbMF1dKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0dXBsZWRBcmdfMSA9ICgoaW5wdXRfOC50YWcgPT09IDEpID8gW3N0YXRlLCBuZXcgVmlldyg0LCBpbnB1dF84LmZpZWxkc1swXSldIDogaW5wdXRfOC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuSW5wdXQgPSBbdHVwbGVkQXJnXzFbMF0sIENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMSwgdHVwbGVkQXJnXzFbMV0pKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtwYXR0ZXJuSW5wdXRbMF0sIHBhdHRlcm5JbnB1dFsxXV07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGUoYWNjZXNzVG9rZW4sIGFwcE1vZGUsIG1zZywgc3RhdGUpIHtcbiAgICByZXR1cm4gdXBkYXRlVGVzdGFibGUoY29tcGxldGVQYXlTZXR1cCwgYWNjZXNzVG9rZW4sIGFwcE1vZGUsIG1zZywgc3RhdGUpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Workflows/State.fs.js\n");
|
|
3064
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ init: () => (/* binding */ init),\n/* harmony export */ update: () => (/* binding */ update),\n/* harmony export */ updateTestable: () => (/* binding */ updateTestable)\n/* harmony export */ });\n/* harmony import */ var jwt_decode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jwt-decode */ \"./node_modules/jwt-decode/build/jwt-decode.esm.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Types.fs.js */ \"./src/Workflows/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/../Fable.Elmish.3.1.0/cmd.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.Elmish.3.1.0/cmd.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/Common.fs.js */ \"./src/Workflows/Components/Common.fs.js\");\n/* harmony import */ var _Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Services/BackendService.fs.js */ \"./src/Workflows/Services/BackendService.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../NotificationService.fs.js */ \"./src/NotificationService.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_Router_3_8_0_Router_fs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/./Router.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.Router.3.8.0/Router.fs.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Config.fs.js */ \"./src/Config.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction init(accessToken) {\n const jwt = (0,jwt_decode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(accessToken);\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileIdModule_create)(jwt.sub), (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceIdModule_create)(jwt.workflow.instanceId), new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(0), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.empty)(), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(0)), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n}\n\nfunction updateTestable(completePaySetupAsync, accessToken, appMode, msg, state) {\n let matchValue_2, eventTarget, stepDetail, s_1, s_2, input_10, matchValue_7, input_12, fullPath, workflowDetail, isWorkflowComplete, matchValue_1, step, matchValue;\n switch (msg.tag) {\n case 1: {\n const view = msg.fields[0];\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, view, state.CssOverrides, state.BenefitsOnboarding), (view.tag === 2) ? ((matchValue_2 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepModule_stepConfig)(view.fields[0].Id), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(matchValue_2.Id, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessStepConfigModule_BenefitsOnboardingStep.Id) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(1))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(0, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessStepIdModule_value)(matchValue_2.Id)))))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 2: {\n const matchValue_3 = state.WorkflowDetail;\n let pattern_matching_result, workflowDetail_1;\n if (matchValue_3.tag === 2) {\n if (matchValue_3.fields[0].tag === 0) {\n pattern_matching_result = 0;\n workflowDetail_1 = matchValue_3.fields[0].fields[0];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_1, state.BenefitsOnboarding))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 11: {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)((0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.sendAnalyticsEvent)(accessToken, msg.fields[0], msg.fields[1]));\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 3: {\n const matchValue_4 = state.WorkflowDetail;\n let pattern_matching_result_1, workflowDetail_2;\n if (matchValue_4.tag === 2) {\n if (matchValue_4.fields[0].tag === 0) {\n pattern_matching_result_1 = 0;\n workflowDetail_2 = matchValue_4.fields[0].fields[0];\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n return [state, (eventTarget = msg.fields[0].target, (stepDetail = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.tryFind)((step_4) => ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_14__.compare)((0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_ComponentTagName)(step_4), eventTarget.tagName, 5) === 0), workflowDetail_2.Steps), (stepDetail == null) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)() : ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(stepDetail.Id, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Step(6)) ? ((s_1 = stepDetail, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(13)))) : ((s_2 = stepDetail, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_ProcessStepId)(s_2), new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0))))))))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 13: {\n const matchValue_5 = state.WorkflowDetail;\n let pattern_matching_result_2;\n if (matchValue_5.tag === 2) {\n if (matchValue_5.fields[0].tag === 0) {\n if (!(0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(state.BenefitsOnboarding, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(0))) {\n pattern_matching_result_2 = 0;\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, state.CurrentView, state.CssOverrides, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingState(2)), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_batch)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.ofArray)([(0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(11, state.ProcessInstanceId, new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_6__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto(2))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))]))];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n }\n }\n case 4: {\n const processStepId = msg.fields[0];\n const deferredResult_1 = msg.fields[1];\n switch (deferredResult_1.tag) {\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 2: {\n const processInstanceResult = deferredResult_1.fields[0];\n const input_8 = processInstanceResult;\n if (input_8.tag === 1) {\n input_8.fields[0];\n }\n else {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyStepCompleted)(processStepId, input_8.fields[0], state.ProfileId);\n }\n let workflowDetail_3;\n const matchValue_6 = state.WorkflowDetail;\n let pattern_matching_result_3, detail;\n if (matchValue_6.tag === 2) {\n if (matchValue_6.fields[0].tag === 0) {\n pattern_matching_result_3 = 0;\n detail = matchValue_6.fields[0].fields[0];\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n switch (pattern_matching_result_3) {\n case 0: {\n workflowDetail_3 = (new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, (input_10 = processInstanceResult, (input_10.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_10.fields[0])) : (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(detail, input_10.fields[0]))));\n break;\n }\n case 1: {\n workflowDetail_3 = state.WorkflowDetail;\n break;\n }\n }\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, workflowDetail_3, state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((workflowDetail_3.tag === 2) ? ((workflowDetail_3.fields[0].tag === 1) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_3.fields[0].fields[0]))) : (0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_3.fields[0].fields[0], state.BenefitsOnboarding)) : ((workflowDetail_3.tag === 3) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_3.fields[0].message))) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))))];\n }\n case 3: {\n const ex_3 = deferredResult_1.fields[0];\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_3), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, ex_3.message)))];\n }\n default: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_6) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_6);\n }, (accessToken_1) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.completeStepV2)(state.ProcessInstanceId, processStepId, accessToken_1), accessToken, (result_3) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, processStepId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, result_3))), (ex_1) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(4, processStepId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_1))))];\n }\n }\n }\n case 5: {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, state.WorkflowDetail, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(3), state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_9) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_9);\n }, (injectedBenefits) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.viewPaySetupPage)(state.ProcessInstanceId, accessToken, injectedBenefits), msg.fields[0].InjectedBenefits, (_arg_5) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(14)), (ex_4) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_4)))];\n }\n case 6: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_batch)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.ofArray)([(0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_10) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_10);\n }, (injectedBenefits_1) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.resumePaySetup)(state.ProcessInstanceId, accessToken, injectedBenefits_1), msg.fields[0].InjectedBenefits, (_arg_6) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(14)), (ex_5) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_5))), (matchValue_7 = state.WorkflowDetail, (matchValue_7.tag === 2) ? ((matchValue_7.fields[0].tag === 0) ? (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.last)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.filter)((s_3) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(s_3.Status, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepStatus(0))) {\n return true;\n }\n else {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.equals)(s_3.Status, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepStatus(4));\n }\n }, matchValue_7.fields[0].fields[0].Steps))))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))) : (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\"))))]))];\n }\n case 7: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_11) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_11);\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_13__.partialApply)(1, completePaySetupAsync, [state.ProcessInstanceId, accessToken]), msg.fields[0].InjectedBenefits, (result_4) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(8, result_4)), (ex_6) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(15, ex_6)))];\n }\n case 8: {\n let workflowDetail_5;\n const matchValue_8 = state.WorkflowDetail;\n let pattern_matching_result_4, detail_5;\n if (matchValue_8.tag === 2) {\n if (matchValue_8.fields[0].tag === 0) {\n pattern_matching_result_4 = 0;\n detail_5 = matchValue_8.fields[0].fields[0];\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n switch (pattern_matching_result_4) {\n case 0: {\n workflowDetail_5 = (new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, (input_12 = msg.fields[0], (input_12.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_12.fields[0])) : (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(detail_5, input_12.fields[0]))));\n break;\n }\n case 1: {\n workflowDetail_5 = state.WorkflowDetail;\n break;\n }\n }\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, workflowDetail_5, state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)((workflowDetail_5.tag === 2) ? ((workflowDetail_5.fields[0].tag === 1) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_5.fields[0].fields[0]))) : (0,_Components_Common_fs_js__WEBPACK_IMPORTED_MODULE_7__.determineNextMessage)(state.CurrentView, workflowDetail_5.fields[0].fields[0], state.BenefitsOnboarding)) : ((workflowDetail_5.tag === 3) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, workflowDetail_5.fields[0].message))) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, \"Process Instance not resolved\")))))];\n }\n case 9: {\n const deferredResult_2 = msg.fields[0];\n if (deferredResult_2.tag === 1) {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n else if (deferredResult_2.tag === 2) {\n if (deferredResult_2.fields[0].tag === 1) {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, deferredResult_2.fields[0].fields[0])), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult_2.fields[0].fields[0])))];\n }\n else {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(deferredResult_2.fields[0].fields[0].Id, deferredResult_2.fields[0].fields[0].Configuration.Name, deferredResult_2.fields[0].fields[0].Configuration.Id, state.ProfileId);\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred_map)((result_6) => {\n const input_14 = result_6;\n if (input_14.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_14.fields[0]);\n }\n else {\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstanceUpdate)(input_14.fields[0], deferredResult_2.fields[0].fields[0]);\n }\n }, state.WorkflowDetail), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))];\n }\n }\n else if (deferredResult_2.tag === 3) {\n return [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, deferredResult_2.fields[0]), state.CurrentView, state.CssOverrides, state.BenefitsOnboarding), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult_2.fields[0].message)))];\n }\n else {\n const matchValue_9 = state.WorkflowDetail;\n let pattern_matching_result_5, workflow_1;\n if (matchValue_9.tag === 2) {\n if (matchValue_9.fields[0].tag === 0) {\n if ((0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceStatusModule_isComplete)(matchValue_9.fields[0].fields[0].Status)) {\n pattern_matching_result_5 = 0;\n workflow_1 = matchValue_9.fields[0].fields[0];\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n switch (pattern_matching_result_5) {\n case 0: {\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(workflow_1.ProcessInstanceId, workflow_1.InstanceName, workflow_1.ProcessConfigId, state.ProfileId);\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 1: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsyncWith_either)((x_13) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfAsync_start)(x_13);\n }, (accessToken_2) => (0,_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.complete)(state.ProcessInstanceId, accessToken_2), accessToken, (result_5) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, result_5))), (ex_8) => (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(3, ex_8))))];\n }\n }\n }\n }\n case 10: {\n const workflow_2 = msg.fields[0];\n (0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyWorkflowCompleted)(workflow_2.ProcessInstanceId, workflow_2.InstanceName, workflow_2.ProcessConfigId, state.ProfileId);\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5)))];\n }\n case 12: {\n return [state, (fullPath = (((window.location.pathname + \"/\") + window.location.search) + window.location.hash), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_ofSub)((_arg_8) => {\n (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_Router_3_8_0_Router_fs_js__WEBPACK_IMPORTED_MODULE_10__.RouterModule_nav)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.singleton)(fullPath), 1, 2);\n }))];\n }\n case 14: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n case 15: {\n return [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n }\n default: {\n const deferredResult = msg.fields[0];\n let patternInput;\n switch (deferredResult.tag) {\n case 3: {\n patternInput = [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, deferredResult.fields[0].message)))];\n break;\n }\n case 0:\n case 1: {\n patternInput = [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()];\n break;\n }\n default: {\n let input_6;\n const input_4 = deferredResult.fields[0];\n if (input_4.tag === 1) {\n input_6 = (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_4.fields[0]));\n }\n else {\n const ctx = input_4.fields[0];\n const benefitsOnboardingState = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BenefitsOnboardingStateModule_init)(ctx.IsBenefitsEnabled);\n let input_2;\n const tupledArg = [ctx.ProcessInstance, benefitsOnboardingState];\n input_2 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetailListModule_ofProcessInstance)(tupledArg[0], tupledArg[1]);\n if (input_2.tag === 1) {\n input_6 = (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input_2.fields[0]));\n }\n else {\n const stepList = input_2.fields[0];\n const input = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.WorkflowDetailModule_ofProcessInstance)(appMode, ctx);\n input_6 = ((input.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(1, input.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, (workflowDetail = input.fields[0], (isWorkflowComplete = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceStatusModule_isComplete)(ctx.ProcessInstance.Status), (matchValue_1 = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetailListModule_tryFindActiveStep)(stepList), (matchValue_1 == null) ? ((!workflowDetail.IsPaySetupComplete) ? [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, workflowDetail)), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(3), ctx.CssOverrides, benefitsOnboardingState), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()] : (isWorkflowComplete ? [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, workflowDetail)), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5), ctx.CssOverrides, benefitsOnboardingState), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()] : (((0,_NotificationService_fs_js__WEBPACK_IMPORTED_MODULE_9__.notifyOnAppReady)(0), [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, workflowDetail)), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(5), ctx.CssOverrides, benefitsOnboardingState), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(9, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(0)))])))) : [new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.State(state.ProfileId, state.ProcessInstanceId, new _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_3__.Deferred$1(2, new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_15__.FSharpResult$2(0, workflowDetail)), (step = matchValue_1, (matchValue = [_Config_fs_js__WEBPACK_IMPORTED_MODULE_11__.appRoot.clientWidth, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_12__.length)(stepList)], (matchValue[1] === 1) ? ((document.title = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.StepDetail__get_DisplayName)(step), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, step))) : (((0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.$007CIsMobile$007C_$007C)(matchValue[0]) != null) ? (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(1)) : (new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(2, step))))), ctx.CssOverrides, benefitsOnboardingState), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_none)()]))))));\n }\n }\n patternInput = ((input_6.tag === 1) ? [state, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_Elmish_3_1_0_cmd_fs_js__WEBPACK_IMPORTED_MODULE_5__.Cmd_OfFunc_result)(new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.Msg(1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.View(4, input_6.fields[0])))] : input_6.fields[0]);\n }\n }\n return [patternInput[0], patternInput[1]];\n }\n }\n}\n\nfunction update(accessToken, appMode, msg, state) {\n return updateTestable(_Services_BackendService_fs_js__WEBPACK_IMPORTED_MODULE_8__.completePaySetup, accessToken, appMode, msg, state);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLDBCQUEwQiw0RUFBZ0I7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4vc3JjL1dvcmtmbG93cy9TdGF0ZS5mcy5qcz8zZGUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqd3RfZGVjb2RlIGZyb20gXCJqd3QtZGVjb2RlXCI7XG5pbXBvcnQgeyBQcm9maWxlSWRNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5CdXNpbmVzcy9BZ2dyZWdhdGVzL0NvbW1vbi5mcy5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlU3RhdHVzTW9kdWxlX2lzQ29tcGxldGUsIFByb2Nlc3NTdGVwSWRNb2R1bGVfdmFsdWUsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXAsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZSB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuQnVzaW5lc3MvQWdncmVnYXRlcy9Qcm9jZXNzSW5zdGFuY2VMaXN0L0RvbWFpbi5mcy5qc1wiO1xuaW1wb3J0IHsgRGVmZXJyZWRfbWFwLCBEZWZlcnJlZCQxIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZlbGl6LlVzZURlZmVycmVkLjEuNS4wL1VzZURlZmVycmVkLmZzLmpzXCI7XG5pbXBvcnQgeyAkMDA3Q0lzTW9iaWxlJDAwN0NfJDAwN0MsIFN0ZXBEZXRhaWxfX2dldF9EaXNwbGF5TmFtZSwgU3RlcERldGFpbExpc3RNb2R1bGVfdHJ5RmluZEFjdGl2ZVN0ZXAsIFdvcmtmbG93RGV0YWlsTW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlLCBTdGVwRGV0YWlsTGlzdE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZSwgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGVNb2R1bGVfaW5pdCwgU3RlcFN0YXR1cywgV29ya2Zsb3dEZXRhaWxNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2VVcGRhdGUsIFN0ZXBEZXRhaWxfX2dldF9Qcm9jZXNzU3RlcElkLCBTdGVwLCBTdGVwRGV0YWlsX19nZXRfQ29tcG9uZW50VGFnTmFtZSwgTXNnLCBTdGVwTW9kdWxlX3N0ZXBDb25maWcsIFN0YXRlLCBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSwgVmlldyB9IGZyb20gXCIuL1R5cGVzLmZzLmpzXCI7XG5pbXBvcnQgeyBsZW5ndGgsIHNpbmdsZXRvbiwgZmlsdGVyLCBsYXN0LCBvZkFycmF5LCB0cnlGaW5kLCBlbXB0eSB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5pbXBvcnQgeyBDbWRfYmF0Y2gsIENtZF9PZkFzeW5jX3N0YXJ0LCBDbWRfbm9uZSB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9GYWJsZS5FbG1pc2guMy4xLjAvY21kLmZzLmpzXCI7XG5pbXBvcnQgeyBwYXJ0aWFsQXBwbHksIGVxdWFscyB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9VdGlsLmpzXCI7XG5pbXBvcnQgeyBDbWRfT2ZBc3luY19zdGFydCBhcyBDbWRfT2ZBc3luY19zdGFydF8xLCBDbWRfT2ZBc3luY1dpdGhfZWl0aGVyLCBDbWRfT2ZGdW5jX3Jlc3VsdCB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9GYWJsZS5FbG1pc2guMy4xLjAvLi9jbWQuZnMuanNcIjtcbmltcG9ydCB7IEFwaUR0b19CYWNrZW5kX1dyaXRlX1dvcmtmbG93QW5hbHl0aWNzRXZlbnREdG8gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanNcIjtcbmltcG9ydCB7IGRldGVybWluZU5leHRNZXNzYWdlIH0gZnJvbSBcIi4vQ29tcG9uZW50cy9Db21tb24uZnMuanNcIjtcbmltcG9ydCB7IGNvbXBsZXRlUGF5U2V0dXAsIGNvbXBsZXRlLCByZXN1bWVQYXlTZXR1cCwgdmlld1BheVNldHVwUGFnZSwgY29tcGxldGVTdGVwVjIsIHNlbmRBbmFseXRpY3NFdmVudCBhcyBzZW5kQW5hbHl0aWNzRXZlbnRfMSB9IGZyb20gXCIuL1NlcnZpY2VzL0JhY2tlbmRTZXJ2aWNlLmZzLmpzXCI7XG5pbXBvcnQgeyBjb21wYXJlIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuaW1wb3J0IHsgbm90aWZ5T25BcHBSZWFkeSwgbm90aWZ5V29ya2Zsb3dDb21wbGV0ZWQsIG5vdGlmeVN0ZXBDb21wbGV0ZWQgYXMgbm90aWZ5U3RlcENvbXBsZXRlZF8xIH0gZnJvbSBcIi4uL05vdGlmaWNhdGlvblNlcnZpY2UuZnMuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgQ21kX29mU3ViIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZlbGl6LlJvdXRlci4zLjguMC8uLi9GYWJsZS5FbG1pc2guMy4xLjAvY21kLmZzLmpzXCI7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGVfbmF2IH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZlbGl6LlJvdXRlci4zLjguMC8uL1JvdXRlci5mcy5qc1wiO1xuaW1wb3J0IHsgYXBwUm9vdCB9IGZyb20gXCIuLi9Db25maWcuZnMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXQoYWNjZXNzVG9rZW4pIHtcbiAgICBjb25zdCBqd3QgPSBqd3RfZGVjb2RlKGFjY2Vzc1Rva2VuKTtcbiAgICByZXR1cm4gW25ldyBTdGF0ZShQcm9maWxlSWRNb2R1bGVfY3JlYXRlKGp3dC5zdWIpLCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoand0LndvcmtmbG93Lmluc3RhbmNlSWQpLCBuZXcgRGVmZXJyZWQkMSgwKSwgbmV3IFZpZXcoMCksIGVtcHR5KCksIG5ldyBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSgwKSksIENtZF9ub25lKCldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVGVzdGFibGUoY29tcGxldGVQYXlTZXR1cEFzeW5jLCBhY2Nlc3NUb2tlbiwgYXBwTW9kZSwgbXNnLCBzdGF0ZSkge1xuICAgIGxldCBtYXRjaFZhbHVlXzIsIGV2ZW50VGFyZ2V0LCBzdGVwRGV0YWlsLCBzXzEsIHNfMiwgaW5wdXRfMTAsIG1hdGNoVmFsdWVfNywgaW5wdXRfMTIsIGZ1bGxQYXRoLCB3b3JrZmxvd0RldGFpbCwgaXNXb3JrZmxvd0NvbXBsZXRlLCBtYXRjaFZhbHVlXzEsIHN0ZXAsIG1hdGNoVmFsdWU7XG4gICAgc3dpdGNoIChtc2cudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICByZXR1cm4gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBzdGF0ZS5Xb3JrZmxvd0RldGFpbCwgdmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCAodmlldy50YWcgPT09IDIpID8gKChtYXRjaFZhbHVlXzIgPSBTdGVwTW9kdWxlX3N0ZXBDb25maWcodmlldy5maWVsZHNbMF0uSWQpLCBlcXVhbHMobWF0Y2hWYWx1ZV8yLklkLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwLklkKSA/IENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMTEsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBuZXcgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0bygxKSkpIDogQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxMSwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvKDAsIFByb2Nlc3NTdGVwSWRNb2R1bGVfdmFsdWUobWF0Y2hWYWx1ZV8yLklkKSkpKSkpIDogQ21kX25vbmUoKV07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzMgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgd29ya2Zsb3dEZXRhaWxfMTtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzMudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfMy5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfMSA9IG1hdGNoVmFsdWVfMy5maWVsZHNbMF0uZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mRnVuY19yZXN1bHQoZGV0ZXJtaW5lTmV4dE1lc3NhZ2Uoc3RhdGUuQ3VycmVudFZpZXcsIHdvcmtmbG93RGV0YWlsXzEsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZykpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIENtZF9ub25lKCldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDExOiB7XG4gICAgICAgICAgICBDbWRfT2ZBc3luY19zdGFydChzZW5kQW5hbHl0aWNzRXZlbnRfMShhY2Nlc3NUb2tlbiwgbXNnLmZpZWxkc1swXSwgbXNnLmZpZWxkc1sxXSkpO1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzQgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8xLCB3b3JrZmxvd0RldGFpbF8yO1xuICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNC50YWcgPT09IDIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV80LmZpZWxkc1swXS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtmbG93RGV0YWlsXzIgPSBtYXRjaFZhbHVlXzQuZmllbGRzWzBdLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzEgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzEgPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8xKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIChldmVudFRhcmdldCA9IG1zZy5maWVsZHNbMF0udGFyZ2V0LCAoc3RlcERldGFpbCA9IHRyeUZpbmQoKHN0ZXBfNCkgPT4gKGNvbXBhcmUoU3RlcERldGFpbF9fZ2V0X0NvbXBvbmVudFRhZ05hbWUoc3RlcF80KSwgZXZlbnRUYXJnZXQudGFnTmFtZSwgNSkgPT09IDApLCB3b3JrZmxvd0RldGFpbF8yLlN0ZXBzKSwgKHN0ZXBEZXRhaWwgPT0gbnVsbCkgPyBDbWRfbm9uZSgpIDogKGVxdWFscyhzdGVwRGV0YWlsLklkLCBuZXcgU3RlcCg2KSkgPyAoKHNfMSA9IHN0ZXBEZXRhaWwsIENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMTMpKSkpIDogKChzXzIgPSBzdGVwRGV0YWlsLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDQsIFN0ZXBEZXRhaWxfX2dldF9Qcm9jZXNzU3RlcElkKHNfMiksIG5ldyBEZWZlcnJlZCQxKDApKSkpKSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxMzoge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV81ID0gc3RhdGUuV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgICAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMjtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzUudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNS5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZXF1YWxzKHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZywgbmV3IEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKDApKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8yID0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMiA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzIpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgc3RhdGUuV29ya2Zsb3dEZXRhaWwsIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIG5ldyBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSgyKSksIENtZF9iYXRjaChvZkFycmF5KFtDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDExLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IEFwaUR0b19CYWNrZW5kX1dyaXRlX1dvcmtmbG93QW5hbHl0aWNzRXZlbnREdG8oMikpKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZyg5LCBuZXcgRGVmZXJyZWQkMSgwKSkpLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDUpKSldKSldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc1N0ZXBJZCA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBkZWZlcnJlZFJlc3VsdF8xID0gbXNnLmZpZWxkc1sxXTtcbiAgICAgICAgICAgIHN3aXRjaCAoZGVmZXJyZWRSZXN1bHRfMS50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzSW5zdGFuY2VSZXN1bHQgPSBkZWZlcnJlZFJlc3VsdF8xLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfOCA9IHByb2Nlc3NJbnN0YW5jZVJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzgudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF84LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmeVN0ZXBDb21wbGV0ZWRfMShwcm9jZXNzU3RlcElkLCBpbnB1dF84LmZpZWxkc1swXSwgc3RhdGUuUHJvZmlsZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsZXQgd29ya2Zsb3dEZXRhaWxfMztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV82ID0gc3RhdGUuV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8zLCBkZXRhaWw7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzYudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV82LmZpZWxkc1swXS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8zID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWwgPSBtYXRjaFZhbHVlXzYuZmllbGRzWzBdLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzMgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfMyA9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF8zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd0RldGFpbF8zID0gKG5ldyBEZWZlcnJlZCQxKDIsIChpbnB1dF8xMCA9IHByb2Nlc3NJbnN0YW5jZVJlc3VsdCwgKGlucHV0XzEwLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEwLmZpZWxkc1swXSkpIDogV29ya2Zsb3dEZXRhaWxNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2VVcGRhdGUoZGV0YWlsLCBpbnB1dF8xMC5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfMyA9IHN0YXRlLldvcmtmbG93RGV0YWlsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIHdvcmtmbG93RGV0YWlsXzMsIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZyksIENtZF9PZkZ1bmNfcmVzdWx0KCh3b3JrZmxvd0RldGFpbF8zLnRhZyA9PT0gMikgPyAoKHdvcmtmbG93RGV0YWlsXzMuZmllbGRzWzBdLnRhZyA9PT0gMSkgPyAobmV3IE1zZygxLCBuZXcgVmlldyg0LCB3b3JrZmxvd0RldGFpbF8zLmZpZWxkc1swXS5maWVsZHNbMF0pKSkgOiBkZXRlcm1pbmVOZXh0TWVzc2FnZShzdGF0ZS5DdXJyZW50Vmlldywgd29ya2Zsb3dEZXRhaWxfMy5maWVsZHNbMF0uZmllbGRzWzBdLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpKSA6ICgod29ya2Zsb3dEZXRhaWxfMy50YWcgPT09IDMpID8gKG5ldyBNc2coMSwgbmV3IFZpZXcoNCwgd29ya2Zsb3dEZXRhaWxfMy5maWVsZHNbMF0ubWVzc2FnZSkpKSA6IChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSkpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4XzMgPSBkZWZlcnJlZFJlc3VsdF8xLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IERlZmVycmVkJDEoMywgZXhfMyksIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZyksIENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coMSwgbmV3IFZpZXcoNCwgZXhfMy5tZXNzYWdlKSkpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIENtZF9PZkFzeW5jX3N0YXJ0XzEoeF82KTtcbiAgICAgICAgICAgICAgICAgICAgfSwgKGFjY2Vzc1Rva2VuXzEpID0+IGNvbXBsZXRlU3RlcFYyKHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBwcm9jZXNzU3RlcElkLCBhY2Nlc3NUb2tlbl8xKSwgYWNjZXNzVG9rZW4sIChyZXN1bHRfMykgPT4gKG5ldyBNc2coNCwgcHJvY2Vzc1N0ZXBJZCwgbmV3IERlZmVycmVkJDEoMiwgcmVzdWx0XzMpKSksIChleF8xKSA9PiAobmV3IE1zZyg0LCBwcm9jZXNzU3RlcElkLCBuZXcgRGVmZXJyZWQkMSgzLCBleF8xKSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgc3RhdGUuV29ya2Zsb3dEZXRhaWwsIG5ldyBWaWV3KDMpLCBzdGF0ZS5Dc3NPdmVycmlkZXMsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZyksIENtZF9PZkFzeW5jV2l0aF9laXRoZXIoKHhfOSkgPT4ge1xuICAgICAgICAgICAgICAgIENtZF9PZkFzeW5jX3N0YXJ0XzEoeF85KTtcbiAgICAgICAgICAgIH0sIChpbmplY3RlZEJlbmVmaXRzKSA9PiB2aWV3UGF5U2V0dXBQYWdlKHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbiwgaW5qZWN0ZWRCZW5lZml0cyksIG1zZy5maWVsZHNbMF0uSW5qZWN0ZWRCZW5lZml0cywgKF9hcmdfNSkgPT4gKG5ldyBNc2coMTQpKSwgKGV4XzQpID0+IChuZXcgTXNnKDE1LCBleF80KSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHJldHVybiBbc3RhdGUsIENtZF9iYXRjaChvZkFycmF5KFtDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzEwKSA9PiB7XG4gICAgICAgICAgICAgICAgQ21kX09mQXN5bmNfc3RhcnRfMSh4XzEwKTtcbiAgICAgICAgICAgIH0sIChpbmplY3RlZEJlbmVmaXRzXzEpID0+IHJlc3VtZVBheVNldHVwKHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbiwgaW5qZWN0ZWRCZW5lZml0c18xKSwgbXNnLmZpZWxkc1swXS5JbmplY3RlZEJlbmVmaXRzLCAoX2FyZ182KSA9PiAobmV3IE1zZygxNCkpLCAoZXhfNSkgPT4gKG5ldyBNc2coMTUsIGV4XzUpKSksIChtYXRjaFZhbHVlXzcgPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbCwgKG1hdGNoVmFsdWVfNy50YWcgPT09IDIpID8gKChtYXRjaFZhbHVlXzcuZmllbGRzWzBdLnRhZyA9PT0gMCkgPyBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDIsIGxhc3QoZmlsdGVyKChzXzMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXF1YWxzKHNfMy5TdGF0dXMsIG5ldyBTdGVwU3RhdHVzKDApKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlcXVhbHMoc18zLlN0YXR1cywgbmV3IFN0ZXBTdGF0dXMoNCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG1hdGNoVmFsdWVfNy5maWVsZHNbMF0uZmllbGRzWzBdLlN0ZXBzKSkpKSkgOiBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSkgOiBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSldKSldO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mQXN5bmNXaXRoX2VpdGhlcigoeF8xMSkgPT4ge1xuICAgICAgICAgICAgICAgIENtZF9PZkFzeW5jX3N0YXJ0XzEoeF8xMSk7XG4gICAgICAgICAgICB9LCBwYXJ0aWFsQXBwbHkoMSwgY29tcGxldGVQYXlTZXR1cEFzeW5jLCBbc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuXSksIG1zZy5maWVsZHNbMF0uSW5qZWN0ZWRCZW5lZml0cywgKHJlc3VsdF80KSA9PiAobmV3IE1zZyg4LCByZXN1bHRfNCkpLCAoZXhfNikgPT4gKG5ldyBNc2coMTUsIGV4XzYpKSldO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgbGV0IHdvcmtmbG93RGV0YWlsXzU7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzggPSBzdGF0ZS5Xb3JrZmxvd0RldGFpbDtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF80LCBkZXRhaWxfNTtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzgudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfOC5maWVsZHNbMF0udGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzQgPSAwO1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWxfNSA9IG1hdGNoVmFsdWVfOC5maWVsZHNbMF0uZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfNCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHRfNCA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dEZXRhaWxfNSA9IChuZXcgRGVmZXJyZWQkMSgyLCAoaW5wdXRfMTIgPSBtc2cuZmllbGRzWzBdLCAoaW5wdXRfMTIudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTIuZmllbGRzWzBdKSkgOiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZShkZXRhaWxfNSwgaW5wdXRfMTIuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd0RldGFpbF81ID0gc3RhdGUuV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIHdvcmtmbG93RGV0YWlsXzUsIHN0YXRlLkN1cnJlbnRWaWV3LCBzdGF0ZS5Dc3NPdmVycmlkZXMsIHN0YXRlLkJlbmVmaXRzT25ib2FyZGluZyksIENtZF9PZkZ1bmNfcmVzdWx0KCh3b3JrZmxvd0RldGFpbF81LnRhZyA9PT0gMikgPyAoKHdvcmtmbG93RGV0YWlsXzUuZmllbGRzWzBdLnRhZyA9PT0gMSkgPyAobmV3IE1zZygxLCBuZXcgVmlldyg0LCB3b3JrZmxvd0RldGFpbF81LmZpZWxkc1swXS5maWVsZHNbMF0pKSkgOiBkZXRlcm1pbmVOZXh0TWVzc2FnZShzdGF0ZS5DdXJyZW50Vmlldywgd29ya2Zsb3dEZXRhaWxfNS5maWVsZHNbMF0uZmllbGRzWzBdLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpKSA6ICgod29ya2Zsb3dEZXRhaWxfNS50YWcgPT09IDMpID8gKG5ldyBNc2coMSwgbmV3IFZpZXcoNCwgd29ya2Zsb3dEZXRhaWxfNS5maWVsZHNbMF0ubWVzc2FnZSkpKSA6IChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIFwiUHJvY2VzcyBJbnN0YW5jZSBub3QgcmVzb2x2ZWRcIikpKSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDk6IHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmVycmVkUmVzdWx0XzIgPSBtc2cuZmllbGRzWzBdO1xuICAgICAgICAgICAgaWYgKGRlZmVycmVkUmVzdWx0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkZWZlcnJlZFJlc3VsdF8yLnRhZyA9PT0gMikge1xuICAgICAgICAgICAgICAgIGlmIChkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IERlZmVycmVkJDEoMiwgbmV3IEZTaGFycFJlc3VsdCQyKDEsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSkpLCBzdGF0ZS5DdXJyZW50Vmlldywgc3RhdGUuQ3NzT3ZlcnJpZGVzLCBzdGF0ZS5CZW5lZml0c09uYm9hcmRpbmcpLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSkpKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlXb3JrZmxvd0NvbXBsZXRlZChkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS5maWVsZHNbMF0uSWQsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXS5Db25maWd1cmF0aW9uLk5hbWUsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXS5Db25maWd1cmF0aW9uLklkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBEZWZlcnJlZF9tYXAoKHJlc3VsdF82KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xNCA9IHJlc3VsdF82O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzE0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTQuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZShpbnB1dF8xNC5maWVsZHNbMF0sIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIHN0YXRlLldvcmtmbG93RGV0YWlsKSwgc3RhdGUuQ3VycmVudFZpZXcsIHN0YXRlLkNzc092ZXJyaWRlcywgc3RhdGUuQmVuZWZpdHNPbmJvYXJkaW5nKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg1KSkpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkZWZlcnJlZFJlc3VsdF8yLnRhZyA9PT0gMykge1xuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFN0YXRlKHN0YXRlLlByb2ZpbGVJZCwgc3RhdGUuUHJvY2Vzc0luc3RhbmNlSWQsIG5ldyBEZWZlcnJlZCQxKDMsIGRlZmVycmVkUmVzdWx0XzIuZmllbGRzWzBdKSwgc3RhdGUuQ3VycmVudFZpZXcsIHN0YXRlLkNzc092ZXJyaWRlcywgc3RhdGUuQmVuZWZpdHNPbmJvYXJkaW5nKSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg0LCBkZWZlcnJlZFJlc3VsdF8yLmZpZWxkc1swXS5tZXNzYWdlKSkpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWVfOSA9IHN0YXRlLldvcmtmbG93RGV0YWlsO1xuICAgICAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81LCB3b3JrZmxvd18xO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzkudGFnID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzkuZmllbGRzWzBdLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFByb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9pc0NvbXBsZXRlKG1hdGNoVmFsdWVfOS5maWVsZHNbMF0uZmllbGRzWzBdLlN0YXR1cykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd18xID0gbWF0Y2hWYWx1ZV85LmZpZWxkc1swXS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0XzUgPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81ID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdF81KSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZ5V29ya2Zsb3dDb21wbGV0ZWQod29ya2Zsb3dfMS5Qcm9jZXNzSW5zdGFuY2VJZCwgd29ya2Zsb3dfMS5JbnN0YW5jZU5hbWUsIHdvcmtmbG93XzEuUHJvY2Vzc0NvbmZpZ0lkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX25vbmUoKV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfT2ZBc3luY1dpdGhfZWl0aGVyKCh4XzEzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ21kX09mQXN5bmNfc3RhcnRfMSh4XzEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIChhY2Nlc3NUb2tlbl8yKSA9PiBjb21wbGV0ZShzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW5fMiksIGFjY2Vzc1Rva2VuLCAocmVzdWx0XzUpID0+IChuZXcgTXNnKDksIG5ldyBEZWZlcnJlZCQxKDIsIHJlc3VsdF81KSkpLCAoZXhfOCkgPT4gKG5ldyBNc2coOSwgbmV3IERlZmVycmVkJDEoMywgZXhfOCkpKSldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgIGNvbnN0IHdvcmtmbG93XzIgPSBtc2cuZmllbGRzWzBdO1xuICAgICAgICAgICAgbm90aWZ5V29ya2Zsb3dDb21wbGV0ZWQod29ya2Zsb3dfMi5Qcm9jZXNzSW5zdGFuY2VJZCwgd29ya2Zsb3dfMi5JbnN0YW5jZU5hbWUsIHdvcmtmbG93XzIuUHJvY2Vzc0NvbmZpZ0lkLCBzdGF0ZS5Qcm9maWxlSWQpO1xuICAgICAgICAgICAgcmV0dXJuIFtzdGF0ZSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg1KSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDEyOiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCAoZnVsbFBhdGggPSAoKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyBcIi9cIikgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoKSArIHdpbmRvdy5sb2NhdGlvbi5oYXNoKSwgQ21kX29mU3ViKChfYXJnXzgpID0+IHtcbiAgICAgICAgICAgICAgICBSb3V0ZXJNb2R1bGVfbmF2KHNpbmdsZXRvbihmdWxsUGF0aCksIDEsIDIpO1xuICAgICAgICAgICAgfSkpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE0OiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE1OiB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBkZWZlcnJlZFJlc3VsdCA9IG1zZy5maWVsZHNbMF07XG4gICAgICAgICAgICBsZXQgcGF0dGVybklucHV0O1xuICAgICAgICAgICAgc3dpdGNoIChkZWZlcnJlZFJlc3VsdC50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybklucHV0ID0gW3N0YXRlLCBDbWRfT2ZGdW5jX3Jlc3VsdChuZXcgTXNnKDEsIG5ldyBWaWV3KDQsIGRlZmVycmVkUmVzdWx0LmZpZWxkc1swXS5tZXNzYWdlKSkpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybklucHV0ID0gW3N0YXRlLCBDbWRfbm9uZSgpXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0XzY7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzQgPSBkZWZlcnJlZFJlc3VsdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dF80LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfNiA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IGlucHV0XzQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUgPSBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZU1vZHVsZV9pbml0KGN0eC5Jc0JlbmVmaXRzRW5hYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXRfMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR1cGxlZEFyZyA9IFtjdHguUHJvY2Vzc0luc3RhbmNlLCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF8yID0gU3RlcERldGFpbExpc3RNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UodHVwbGVkQXJnWzBdLCB0dXBsZWRBcmdbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfNiA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXBMaXN0ID0gaW5wdXRfMi5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZShhcHBNb2RlLCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XzYgPSAoKGlucHV0LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCAod29ya2Zsb3dEZXRhaWwgPSBpbnB1dC5maWVsZHNbMF0sIChpc1dvcmtmbG93Q29tcGxldGUgPSBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNDb21wbGV0ZShjdHguUHJvY2Vzc0luc3RhbmNlLlN0YXR1cyksIChtYXRjaFZhbHVlXzEgPSBTdGVwRGV0YWlsTGlzdE1vZHVsZV90cnlGaW5kQWN0aXZlU3RlcChzdGVwTGlzdCksIChtYXRjaFZhbHVlXzEgPT0gbnVsbCkgPyAoKCF3b3JrZmxvd0RldGFpbC5Jc1BheVNldHVwQ29tcGxldGUpID8gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBuZXcgRGVmZXJyZWQkMSgyLCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgd29ya2Zsb3dEZXRhaWwpKSwgbmV3IFZpZXcoMyksIGN0eC5Dc3NPdmVycmlkZXMsIGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKSwgQ21kX25vbmUoKV0gOiAoaXNXb3JrZmxvd0NvbXBsZXRlID8gW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBuZXcgRGVmZXJyZWQkMSgyLCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgd29ya2Zsb3dEZXRhaWwpKSwgbmV3IFZpZXcoNSksIGN0eC5Dc3NPdmVycmlkZXMsIGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKSwgQ21kX25vbmUoKV0gOiAoKG5vdGlmeU9uQXBwUmVhZHkoMCksIFtuZXcgU3RhdGUoc3RhdGUuUHJvZmlsZUlkLCBzdGF0ZS5Qcm9jZXNzSW5zdGFuY2VJZCwgbmV3IERlZmVycmVkJDEoMiwgbmV3IEZTaGFycFJlc3VsdCQyKDAsIHdvcmtmbG93RGV0YWlsKSksIG5ldyBWaWV3KDUpLCBjdHguQ3NzT3ZlcnJpZGVzLCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSksIENtZF9PZkZ1bmNfcmVzdWx0KG5ldyBNc2coOSwgbmV3IERlZmVycmVkJDEoMCkpKV0pKSkpIDogW25ldyBTdGF0ZShzdGF0ZS5Qcm9maWxlSWQsIHN0YXRlLlByb2Nlc3NJbnN0YW5jZUlkLCBuZXcgRGVmZXJyZWQkMSgyLCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgd29ya2Zsb3dEZXRhaWwpKSwgKHN0ZXAgPSBtYXRjaFZhbHVlXzEsIChtYXRjaFZhbHVlID0gW2FwcFJvb3QuY2xpZW50V2lkdGgsIGxlbmd0aChzdGVwTGlzdCldLCAobWF0Y2hWYWx1ZVsxXSA9PT0gMSkgPyAoKGRvY3VtZW50LnRpdGxlID0gU3RlcERldGFpbF9fZ2V0X0Rpc3BsYXlOYW1lKHN0ZXApLCBuZXcgVmlldygyLCBzdGVwKSkpIDogKCgkMDA3Q0lzTW9iaWxlJDAwN0NfJDAwN0MobWF0Y2hWYWx1ZVswXSkgIT0gbnVsbCkgPyAobmV3IFZpZXcoMSkpIDogKG5ldyBWaWV3KDIsIHN0ZXApKSkpKSwgY3R4LkNzc092ZXJyaWRlcywgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpLCBDbWRfbm9uZSgpXSkpKSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuSW5wdXQgPSAoKGlucHV0XzYudGFnID09PSAxKSA/IFtzdGF0ZSwgQ21kX09mRnVuY19yZXN1bHQobmV3IE1zZygxLCBuZXcgVmlldyg0LCBpbnB1dF82LmZpZWxkc1swXSkpKV0gOiBpbnB1dF82LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtwYXR0ZXJuSW5wdXRbMF0sIHBhdHRlcm5JbnB1dFsxXV07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGUoYWNjZXNzVG9rZW4sIGFwcE1vZGUsIG1zZywgc3RhdGUpIHtcbiAgICByZXR1cm4gdXBkYXRlVGVzdGFibGUoY29tcGxldGVQYXlTZXR1cCwgYWNjZXNzVG9rZW4sIGFwcE1vZGUsIG1zZywgc3RhdGUpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Workflows/State.fs.js\n");
|
|
3065
3065
|
|
|
3066
3066
|
/***/ }),
|
|
3067
3067
|
|