@clickview/lite 0.0.36 → 0.0.37-rc.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.
Files changed (167) hide show
  1. package/dist/bundles.json +3 -3
  2. package/dist/css/29-lite-697606d9b9.chunk.css +22 -0
  3. package/dist/css/30-lite-697606d9b9.chunk.css +22 -0
  4. package/dist/css/30-lite.chunk.css +1 -1
  5. package/dist/css/35-lite-7ca3f0a11c.chunk.css +10 -0
  6. package/dist/css/36-lite-e5df365569.chunk.css +10 -0
  7. package/dist/css/56-lite-1696cbd6bd.chunk.css +4 -0
  8. package/dist/css/57-lite-d8801b4cc5.chunk.css +6 -0
  9. package/dist/css/67-lite-794d3729e3.chunk.css +4 -0
  10. package/dist/css/69-lite-223991f675.chunk.css +4 -0
  11. package/dist/css/70-lite-f429a540cb.chunk.css +4 -0
  12. package/dist/css/lite-app-d1eacb1a19.css +147 -0
  13. package/dist/css/lite-app.css +9 -0
  14. package/dist/en.json +1 -1
  15. package/dist/scripts/0-50b38f3dee-lite.chunk.js +1 -0
  16. package/dist/scripts/1-c2600cf917-lite.chunk.js +17 -0
  17. package/dist/scripts/10-5989ce1c6c-lite.chunk.js +53 -0
  18. package/dist/scripts/10-lite.chunk.js +1 -1
  19. package/dist/scripts/100-05d41e762e-lite.chunk.js +1 -0
  20. package/dist/scripts/101-ccc3d24eef-lite.chunk.js +1 -0
  21. package/dist/scripts/102-30c5bf493e-lite.chunk.js +1 -0
  22. package/dist/scripts/103-5060210561-lite.chunk.js +1 -0
  23. package/dist/scripts/104-efaefe9e56-lite.chunk.js +1 -0
  24. package/dist/scripts/105-ce2b619d27-lite.chunk.js +1 -0
  25. package/dist/scripts/106-bf1bfb5453-lite.chunk.js +1 -0
  26. package/dist/scripts/107-146b960531-lite.chunk.js +1 -0
  27. package/dist/scripts/108-ce5bf08ba1-lite.chunk.js +1 -0
  28. package/dist/scripts/109-98039c9767-lite.chunk.js +1 -0
  29. package/dist/scripts/11-6a2ed615fa-lite.chunk.js +1 -0
  30. package/dist/scripts/110-4577784263-lite.chunk.js +1 -0
  31. package/dist/scripts/111-62c0128a85-lite.chunk.js +1 -0
  32. package/dist/scripts/112-c325b43d70-lite.chunk.js +1 -0
  33. package/dist/scripts/113-8e7315d212-lite.chunk.js +1 -0
  34. package/dist/scripts/114-941306e1ae-lite.chunk.js +1 -0
  35. package/dist/scripts/115-5dc866649d-lite.chunk.js +1 -0
  36. package/dist/scripts/116-7315159d99-lite.chunk.js +1 -0
  37. package/dist/scripts/117-8a93c791a4-lite.chunk.js +1 -0
  38. package/dist/scripts/118-1608a35359-lite.chunk.js +1 -0
  39. package/dist/scripts/119-fc2643d9fe-lite.chunk.js +1 -0
  40. package/dist/scripts/12-53e41dc421-lite.chunk.js +1 -0
  41. package/dist/scripts/12-lite.chunk.js +1 -1
  42. package/dist/scripts/120-09fe2f4a0a-lite.chunk.js +1 -0
  43. package/dist/scripts/121-8a07a48ee3-lite.chunk.js +1 -0
  44. package/dist/scripts/122-1468387844-lite.chunk.js +1 -0
  45. package/dist/scripts/123-8aa496545d-lite.chunk.js +1 -0
  46. package/dist/scripts/124-00c7675209-lite.chunk.js +1 -0
  47. package/dist/scripts/125-694d0b470e-lite.chunk.js +1 -0
  48. package/dist/scripts/126-5331a1e22a-lite.chunk.js +1 -0
  49. package/dist/scripts/13-98b93bd0f8-lite.chunk.js +1 -0
  50. package/dist/scripts/133-lite.chunk.js +1 -1
  51. package/dist/scripts/14-fda5e50373-lite.chunk.js +1 -0
  52. package/dist/scripts/141-lite.chunk.js +1 -1
  53. package/dist/scripts/15-175868579e-lite.chunk.js +1 -0
  54. package/dist/scripts/16-87892585d7-lite.chunk.js +1 -0
  55. package/dist/scripts/17-5f65681cae-lite.chunk.js +1 -0
  56. package/dist/scripts/18-531a405ced-lite.chunk.js +1 -0
  57. package/dist/scripts/19-4037f36189-lite.chunk.js +1 -0
  58. package/dist/scripts/2-aace6e333e-lite.chunk.js +1 -0
  59. package/dist/scripts/20-5d321b0376-lite.chunk.js +1 -0
  60. package/dist/scripts/21-c6d4a74bb5-lite.chunk.js +1 -0
  61. package/dist/scripts/22-aa827a3c03-lite.chunk.js +1 -0
  62. package/dist/scripts/23-8b60b2d781-lite.chunk.js +1 -0
  63. package/dist/scripts/23-lite.chunk.js +1 -1
  64. package/dist/scripts/25-lite.chunk.js +2 -2
  65. package/dist/scripts/26-74ed6cccb4-lite.chunk.js +1 -0
  66. package/dist/scripts/27-e6fe3e3648-lite.chunk.js +1 -0
  67. package/dist/scripts/28-25aa85123a-lite.chunk.js +1 -0
  68. package/dist/scripts/29-2618c24f2d-lite.chunk.js +1 -0
  69. package/dist/scripts/3-0145e76ab5-lite.chunk.js +1 -0
  70. package/dist/scripts/3-lite.chunk.js +4 -4
  71. package/dist/scripts/30-eeb6bf201c-lite.chunk.js +1 -0
  72. package/dist/scripts/30-lite.chunk.js +3 -3
  73. package/dist/scripts/31-20a21d1c09-lite.chunk.js +1 -0
  74. package/dist/scripts/31-lite.chunk.js +2 -2
  75. package/dist/scripts/32-6816fa2ee2-lite.chunk.js +1 -0
  76. package/dist/scripts/32-lite.chunk.js +1 -1
  77. package/dist/scripts/33-414f42000e-lite.chunk.js +1 -0
  78. package/dist/scripts/33-lite.chunk.js +5 -5
  79. package/dist/scripts/34-c52fc77c40-lite.chunk.js +1 -0
  80. package/dist/scripts/34-lite.chunk.js +1 -1
  81. package/dist/scripts/35-def2489e94-lite.chunk.js +1 -0
  82. package/dist/scripts/36-9ac5e01c3a-lite.chunk.js +1 -0
  83. package/dist/scripts/36-lite.chunk.js +1 -1
  84. package/dist/scripts/37-e37e5eef84-lite.chunk.js +1 -0
  85. package/dist/scripts/38-037f5b3b41-lite.chunk.js +1 -0
  86. package/dist/scripts/39-92c5743561-lite.chunk.js +1 -0
  87. package/dist/scripts/4-f39bbfd9e1-lite.chunk.js +1 -0
  88. package/dist/scripts/40-b24137d4ba-lite.chunk.js +1 -0
  89. package/dist/scripts/41-23ec3d1061-lite.chunk.js +1 -0
  90. package/dist/scripts/41-lite.chunk.js +1 -1
  91. package/dist/scripts/42-6b0f486977-lite.chunk.js +1 -0
  92. package/dist/scripts/43-11c715b79b-lite.chunk.js +1 -0
  93. package/dist/scripts/43-lite.chunk.js +2 -2
  94. package/dist/scripts/44-cde3c1dffa-lite.chunk.js +1 -0
  95. package/dist/scripts/44-lite.chunk.js +1 -1
  96. package/dist/scripts/45-0c60579abc-lite.chunk.js +1 -0
  97. package/dist/scripts/46-0ddf1facdf-lite.chunk.js +1 -0
  98. package/dist/scripts/47-444d99d220-lite.chunk.js +7 -0
  99. package/dist/scripts/48-4f2b8d55c1-lite.chunk.js +1 -0
  100. package/dist/scripts/49-8d5b3e11b2-lite.chunk.js +1 -0
  101. package/dist/scripts/5-7b9a19ea59-lite.chunk.js +1 -0
  102. package/dist/scripts/50-e07d3f9901-lite.chunk.js +1 -0
  103. package/dist/scripts/51-2b74d49fd6-lite.chunk.js +1 -0
  104. package/dist/scripts/52-a7f2938582-lite.chunk.js +1 -0
  105. package/dist/scripts/53-1cc60f86f0-lite.chunk.js +1 -0
  106. package/dist/scripts/53-lite.chunk.js +2 -2
  107. package/dist/scripts/54-95578b2330-lite.chunk.js +1 -0
  108. package/dist/scripts/55-ec9adafcb6-lite.chunk.js +1 -0
  109. package/dist/scripts/55-lite.chunk.js +2 -2
  110. package/dist/scripts/56-90cee4bfc8-lite.chunk.js +1 -0
  111. package/dist/scripts/57-32128cf4c8-lite.chunk.js +1 -0
  112. package/dist/scripts/58-108571751c-lite.chunk.js +1 -0
  113. package/dist/scripts/58-lite.chunk.js +1 -1
  114. package/dist/scripts/59-12b84f2cb5-lite.chunk.js +1 -0
  115. package/dist/scripts/6-4d191a2dcd-lite.chunk.js +1 -0
  116. package/dist/scripts/60-7f5c7b530e-lite.chunk.js +1 -0
  117. package/dist/scripts/61-0b656df2af-lite.chunk.js +1 -0
  118. package/dist/scripts/62-94d2aa53f3-lite.chunk.js +1 -0
  119. package/dist/scripts/62-lite.chunk.js +2 -2
  120. package/dist/scripts/63-14992cddf3-lite.chunk.js +1 -0
  121. package/dist/scripts/64-71d8e66f39-lite.chunk.js +1 -0
  122. package/dist/scripts/65-d82282aaab-lite.chunk.js +1 -0
  123. package/dist/scripts/66-549b5d2478-lite.chunk.js +1 -0
  124. package/dist/scripts/67-0348fba883-lite.chunk.js +1 -0
  125. package/dist/scripts/68-8565f9307b-lite.chunk.js +1 -0
  126. package/dist/scripts/69-51d62dbd9d-lite.chunk.js +1 -0
  127. package/dist/scripts/69-lite.chunk.js +1 -1
  128. package/dist/scripts/7-d0db9631cc-lite.chunk.js +1 -0
  129. package/dist/scripts/70-b2544979ff-lite.chunk.js +1 -0
  130. package/dist/scripts/71-4052e67d97-lite.chunk.js +1 -0
  131. package/dist/scripts/72-2c91b5ea6f-lite.chunk.js +1 -0
  132. package/dist/scripts/73-20d69773af-lite.chunk.js +1 -0
  133. package/dist/scripts/73-lite.chunk.js +1 -1
  134. package/dist/scripts/74-fe7972988e-lite.chunk.js +1 -0
  135. package/dist/scripts/75-fae9877a96-lite.chunk.js +1 -0
  136. package/dist/scripts/76-97979109a0-lite.chunk.js +1 -0
  137. package/dist/scripts/77-ad3d0204d4-lite.chunk.js +1 -0
  138. package/dist/scripts/78-15797c099a-lite.chunk.js +1 -0
  139. package/dist/scripts/79-384e7d7e26-lite.chunk.js +1 -0
  140. package/dist/scripts/79-lite.chunk.js +1 -1
  141. package/dist/scripts/8-7c355902eb-lite.chunk.js +27 -0
  142. package/dist/scripts/80-8695b1d496-lite.chunk.js +1 -0
  143. package/dist/scripts/81-9b8dbee906-lite.chunk.js +1 -0
  144. package/dist/scripts/82-547dbce020-lite.chunk.js +1 -0
  145. package/dist/scripts/83-a4dafdc46f-lite.chunk.js +1 -0
  146. package/dist/scripts/84-7a53cbd60f-lite.chunk.js +1 -0
  147. package/dist/scripts/85-b5e8b70fa9-lite.chunk.js +1 -0
  148. package/dist/scripts/86-ab65482643-lite.chunk.js +1 -0
  149. package/dist/scripts/87-99818f92db-lite.chunk.js +1 -0
  150. package/dist/scripts/88-fe6f817c49-lite.chunk.js +1 -0
  151. package/dist/scripts/89-601bda80ba-lite.chunk.js +1 -0
  152. package/dist/scripts/9-f8786982b9-lite.chunk.js +1 -0
  153. package/dist/scripts/90-115d0231ec-lite.chunk.js +1 -0
  154. package/dist/scripts/91-1278ef4058-lite.chunk.js +1 -0
  155. package/dist/scripts/92-213f7df310-lite.chunk.js +1 -0
  156. package/dist/scripts/93-f6ea8e6d5d-lite.chunk.js +1 -0
  157. package/dist/scripts/94-44161a0c6f-lite.chunk.js +1 -0
  158. package/dist/scripts/95-4a09997927-lite.chunk.js +1 -0
  159. package/dist/scripts/96-49d6ba064a-lite.chunk.js +1 -0
  160. package/dist/scripts/96-lite.chunk.js +1 -1
  161. package/dist/scripts/97-f51aacda64-lite.chunk.js +1 -0
  162. package/dist/scripts/98-1e96418149-lite.chunk.js +1 -0
  163. package/dist/scripts/99-1e3c875833-lite.chunk.js +1 -0
  164. package/dist/scripts/bundle-40f219265a.min.js +48 -0
  165. package/dist/scripts/bundle.js +8 -8
  166. package/dist/scripts/polyfills-4a63aaebcb.min.js +1 -0
  167. package/package.json +3 -3
@@ -43,7 +43,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
43
43
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
44
44
 
45
45
  "use strict";
46
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SubjectPreferencesView\", function() { return SubjectPreferencesView; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"react-bootstrap\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"react-redux\");\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var libs_common_flight__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"../../libs/common/src/react/index.ts\");\n/* harmony import */ var libs_common_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"../../libs/common/src/backbone/index.ts\");\n/* harmony import */ var libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"../../libs/common/src/react/utils/ArrayHelper.ts\");\n/* harmony import */ var libs_common_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"../../libs/common/src/backbone/services/LanguageService.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_hooks_useGetPreferredSubjects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/hooks/useGetPreferredSubjects.ts\");\n/* harmony import */ var libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"../../libs/shared/src/flight-requests/PreferenceRequests.ts\");\n/* harmony import */ var libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"../../libs/shared/src/components/text/Text.tsx\");\n/* harmony import */ var libs_shared_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"../../libs/shared/src/components/app-link/AppLink.tsx\");\n/* harmony import */ var libs_shared_components_toggle_switch_ToggleSwitch__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"../../libs/shared/src/components/toggle-switch/ToggleSwitch.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_contexts_SubjectPreferencesContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/contexts/SubjectPreferencesContext.ts\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_subject_preference_grid_SubjectPreferenceGrid__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/SubjectPreferenceGrid.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_subject_preference_item_partial_loading_PartialSubjectPreferences__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_footer_PreferenceFooter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/footer/PreferenceFooter.tsx\");\n/* harmony import */ var libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(\"../../libs/shared/src/enums/BulkOnboardingPreferencesState.ts\");\n/* harmony import */ var libs_shared_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(\"../../libs/shared/src/hooks/UseAlerts.ts\");\n/* harmony import */ var libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(\"../../libs/shared/src/flight-requests/SettingRequests.ts\");\n/* harmony import */ var libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(\"../../libs/shared/src/enums/SettingName.ts\");\n/* harmony import */ var libs_shared_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(\"../../libs/shared/src/flight-requests/UserRequests.ts\");\n/* harmony import */ var libs_shared_enums_SettingKind__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(\"../../libs/shared/src/enums/SettingKind.ts\");\n/* harmony import */ var libs_shared_utils_audience_helper_AudienceHelper__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(\"../../libs/shared/src/utils/audience-helper/AudienceHelper.ts\");\n/* harmony import */ var apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(\"./src/apps/subjects/utils/OnboardingHelper.ts\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar namespace = 'subjects.subjectPreferencesView';\n\nfunction structurePreferencesGrid(rawPreferenceOptions) {\n if (!(rawPreferenceOptions === null || rawPreferenceOptions === void 0 ? void 0 : rawPreferenceOptions.length)) return [];\n var preferenceOptions = [];\n rawPreferenceOptions.forEach(function (option) {\n if (!option.children || !option.children.length) {\n preferenceOptions.push(Object.assign({}, option));\n return;\n }\n\n preferenceOptions.push(Object.assign(Object.assign({}, option), {\n isExpandableOption: true,\n children: [Object.assign({}, option)].concat(_toConsumableArray(option.children))\n }));\n });\n return preferenceOptions;\n}\n\nfunction SubjectPreferencesView(_ref) {\n var redirectUrl = _ref.redirectUrl;\n\n var _a, _b;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n setAsyncSaveCounter = _React$useState2[1];\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"]([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n selectedSubjects = _React$useState4[0],\n setSelectedSubjects = _React$useState4[1];\n\n var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n expandedSubject = _React$useState6[0],\n setExpandedSubject = _React$useState6[1];\n\n var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](null),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n bulkPreferencesState = _React$useState8[0],\n setBulkPreferencesState = _React$useState8[1];\n\n var _React$useState9 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](!selectedSubjects.length),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n disableNext = _React$useState10[0],\n setDisableNext = _React$useState10[1];\n\n var _React$useState11 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](false),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n showSpinner = _React$useState12[0],\n setShowSpinner = _React$useState12[1];\n\n var currentUser = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_20__[\"UserRequests\"].currentUser());\n var allLevels = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].allLevelPreferences());\n var availablePresentations = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].availablePresentations());\n var rawPreferenceOptions = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].allSubjectPreferences());\n var preselections = Object(libs_shared_apps_subjects_hooks_useGetPreferredSubjects__WEBPACK_IMPORTED_MODULE_7__[\"useGetPreferredSubjects\"])();\n var hasCompletedOnboarding = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(currentUser.statusCode ? libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].setting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].HasCompletedOnboarding) : null);\n var bulkOnboardingPreferencesState = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(currentUser.statusCode ? libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].setting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].BulkOnboardingPreferencesState) : null);\n var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_2__[\"useDispatch\"])();\n var alerts = Object(libs_shared_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_17__[\"useAlerts\"])();\n var hasBulkSelectedSubjects = apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].hasBulkSelectedSubjects(bulkPreferencesState);\n /**\r\n * Set initial selections\r\n */\n\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n var _a;\n\n if (!((_a = preselections.data) === null || _a === void 0 ? void 0 : _a.length)) {\n setSelectedSubjects([]);\n return;\n }\n\n setSelectedSubjects(libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__[\"ArrayHelper\"].uniq([].concat(_toConsumableArray(selectedSubjects), _toConsumableArray(preselections.data.map(function (p) {\n return p.id;\n })))));\n }, [(_a = preselections.data) === null || _a === void 0 ? void 0 : _a.length]);\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n if (!bulkOnboardingPreferencesState.data || bulkPreferencesState) return;\n setBulkPreferencesState(bulkOnboardingPreferencesState.data.value);\n }, [(_b = bulkOnboardingPreferencesState.data) === null || _b === void 0 ? void 0 : _b.value]);\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n setDisableNext(!selectedSubjects.length && !hasBulkSelectedSubjects);\n }, [selectedSubjects, hasBulkSelectedSubjects]);\n /**\r\n * Event handlers\r\n */\n\n function onSelect(subject) {\n setSelectedSubjects(libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__[\"ArrayHelper\"].addOrRemoveImmutable(selectedSubjects, subject.id));\n }\n\n function onExpand(subject) {\n setExpandedSubject(expandedSubject && expandedSubject.id === subject.id ? null : subject);\n }\n\n function onCollapse() {\n setExpandedSubject(null);\n }\n\n function hasChanged() {\n if (!preselections.data) return false;\n var preselectedIds = preselections.data.map(function (p) {\n return p.id;\n });\n return preselectedIds.sort().toString() !== selectedSubjects.sort().toString();\n }\n\n function onSave() {\n var _a;\n\n if (disableNext) return;\n if (!selectedSubjects.length && !hasBulkSelectedSubjects) return; // If they have selected the bulk option, we do not want to clear their preferences or save any changes.\n\n if (!hasChanged() || hasBulkSelectedSubjects) {\n libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].AppLinkHelper.trigger(apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('summary', redirectUrl));\n return;\n }\n\n setAsyncSaveCounter(0);\n setShowSpinner(true);\n setDisableNext(true);\n var addedSubjects = selectedSubjects.filter(function (id) {\n var _a;\n\n return !((_a = preselections.data) === null || _a === void 0 ? void 0 : _a.find(function (p) {\n return p.id === id;\n }));\n });\n var removedSubjects = (_a = preselections.data) === null || _a === void 0 ? void 0 : _a.filter(function (p) {\n return !selectedSubjects.includes(p.id);\n });\n\n if (addedSubjects === null || addedSubjects === void 0 ? void 0 : addedSubjects.length) {\n setAsyncSaveCounter(function (currentVal) {\n return currentVal + 1;\n });\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].followSubjects(addedSubjects, onSaveSuccess, onSaveError));\n }\n\n if (removedSubjects === null || removedSubjects === void 0 ? void 0 : removedSubjects.length) {\n setAsyncSaveCounter(function (currentVal) {\n return currentVal + 1;\n });\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].unfollowSubjects(removedSubjects.map(function (s) {\n return s.id;\n }), onSaveSuccess, onSaveError));\n }\n }\n\n function onSaveSuccess() {\n setAsyncSaveCounter(function (currentValue) {\n if (currentValue === 1) {\n setShowSpinner(false);\n libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].AppLinkHelper.trigger(apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('summary', redirectUrl));\n }\n\n return currentValue - 1;\n });\n }\n\n function onSaveError() {\n setAsyncSaveCounter(0);\n setShowSpinner(false);\n setDisableNext(false);\n alerts.error(libs_common_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_6__[\"LanguageService\"].getPhrase(namespace, 'error'));\n }\n\n function onToggleSelectAll() {\n var newBulkState = null;\n\n switch (bulkPreferencesState) {\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].None:\n default:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjects;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjects:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].None;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllLevels:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjectsAndAllLevels;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjectsAndAllLevels:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllLevels;\n break;\n }\n\n setBulkPreferencesState(newBulkState);\n setExpandedSubject(null);\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].updateSetting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].BulkOnboardingPreferencesState, newBulkState, libs_shared_enums_SettingKind__WEBPACK_IMPORTED_MODULE_21__[\"SettingKind\"].Permanent));\n }\n\n function getBackButtonAppLink() {\n var _a;\n\n var hasSelectableLevels = libs_shared_utils_audience_helper_AudienceHelper__WEBPACK_IMPORTED_MODULE_22__[\"AudienceHelper\"].shouldShowAudiences(allLevels.data);\n\n if (!hasSelectableLevels) {\n if ((_a = hasCompletedOnboarding.data) === null || _a === void 0 ? void 0 : _a.value) return null;\n\n var _OnboardingHelper$has = apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].hasManyPresentationTypes(availablePresentations.data),\n hasManyCurriculumPresentations = _OnboardingHelper$has.hasManyCurriculumPresentations,\n hasManySubjectPresentations = _OnboardingHelper$has.hasManySubjectPresentations;\n\n if (hasManyCurriculumPresentations) return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('curriculum', redirectUrl);\n if (hasManySubjectPresentations) return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('school-level', redirectUrl);\n return null;\n }\n\n return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('levels', redirectUrl);\n }\n\n var preferenceOptions = structurePreferencesGrid(rawPreferenceOptions.data);\n var backButtonAppLink = getBackButtonAppLink();\n return react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"LanguageNamespaceContext\"].Provider, {\n value: namespace\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_contexts_SubjectPreferencesContext__WEBPACK_IMPORTED_MODULE_12__[\"SubjectPreferencesContext\"].Provider, {\n value: {\n selectedSubjects: selectedSubjects,\n expandedSubject: expandedSubject\n }\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"form\", {\n className: 'p-3 pb-5'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'position-relative'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'text-center mb-4'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"h1\", {\n className: 'mb-3'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'heading'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n className: 'm-0 h6'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'infoRow1'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n className: 'h6'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'infoRow2'\n }))), rawPreferenceOptions.data && preselections.data ? react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_subject_preference_grid_SubjectPreferenceGrid__WEBPACK_IMPORTED_MODULE_13__[\"SubjectPreferenceGrid\"], {\n subjects: preferenceOptions,\n onSelect: onSelect,\n onExpand: onExpand,\n onCollapse: onCollapse,\n hasSelectedBulk: hasBulkSelectedSubjects\n }) : react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_subject_preference_item_partial_loading_PartialSubjectPreferences__WEBPACK_IMPORTED_MODULE_14__[\"PartialSubjectPreferences\"], {\n style: 'grid',\n count: 7\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_footer_PreferenceFooter__WEBPACK_IMPORTED_MODULE_15__[\"PreferenceFooter\"], null, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", null, !!backButtonAppLink && react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_10__[\"AppLink\"], {\n appLink: getBackButtonAppLink(),\n className: 'btn btn-outline-dark'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'back'\n }))), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'd-flex align-items-center justify-content-right'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'd-flex mr-3'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n onClick: onToggleSelectAll,\n className: 'mr-2 mb-0 font-weight-bold'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'allSubjects'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_toggle_switch_ToggleSwitch__WEBPACK_IMPORTED_MODULE_11__[\"ToggleSwitch\"], {\n onClick: onToggleSelectAll,\n on: hasBulkSelectedSubjects,\n hideOutline: true\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__[\"Button\"], {\n variant: 'dark',\n disabled: disableNext,\n onClick: onSave\n }, showSpinner ? react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__[\"Spinner\"], {\n as: 'span',\n animation: 'border',\n role: 'status',\n size: 'sm'\n }) : react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'next',\n options: {\n smartCount: selectedSubjects.length\n }\n })))))));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvYXBwcy9zdWJqZWN0cy92aWV3cy9wcmVmZXJlbmNlcy9zdWJqZWN0LXByZWZlcmVuY2VzL0xpdGVTdWJqZWN0UHJlZmVyZW5jZXNWaWV3LnRzeC5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9AY2xpY2t2aWV3L3BhY2thZ2VzL3Byb2plY3RzL2xpdGUvc3JjL2FwcHMvc3ViamVjdHMvdmlld3MvcHJlZmVyZW5jZXMvc3ViamVjdC1wcmVmZXJlbmNlcy9MaXRlU3ViamVjdFByZWZlcmVuY2VzVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24sIFNwaW5uZXIgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcclxuXHJcbmltcG9ydCB7IEZsaWdodCB9IGZyb20gJ2xpYnMvY29tbW9uL2ZsaWdodCc7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICdsaWJzL2NvbW1vbi9jb3JlJztcclxuaW1wb3J0IHsgQXJyYXlIZWxwZXIgfSBmcm9tICdsaWJzL2NvbW1vbi9yZWFjdC91dGlscy9BcnJheUhlbHBlcic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ2xpYnMvY29tbW9uL2JhY2tib25lL3NlcnZpY2VzL0xhbmd1YWdlU2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTZXR0aW5nLCBDdXJyZW50VXNlciwgUHJlc2VudGF0aW9uQXVkaWVuY2UsIFByZXNlbnRhdGlvbiB9IGZyb20gJ2xpYnMvc2hhcmVkL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyB1c2VHZXRQcmVmZXJyZWRTdWJqZWN0cyB9IGZyb20gJ2xpYnMvc2hhcmVkL2FwcHMvc3ViamVjdHMvaG9va3MvdXNlR2V0UHJlZmVycmVkU3ViamVjdHMnO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlUmVxdWVzdHMgfSBmcm9tICdsaWJzL3NoYXJlZC9mbGlnaHQtcmVxdWVzdHMvUHJlZmVyZW5jZVJlcXVlc3RzJztcclxuaW1wb3J0IHsgVGV4dCwgTGFuZ3VhZ2VOYW1lc3BhY2VDb250ZXh0IH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy90ZXh0L1RleHQnO1xyXG5pbXBvcnQgeyBBcHBMaW5rIH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy9hcHAtbGluay9BcHBMaW5rJztcclxuaW1wb3J0IHsgVG9nZ2xlU3dpdGNoIH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy90b2dnbGUtc3dpdGNoL1RvZ2dsZVN3aXRjaCc7XHJcbmltcG9ydCB7IFN1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2NvbnRleHRzL1N1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQnO1xyXG5pbXBvcnQgeyBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2UgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2ludGVyZmFjZXMvQ2xhc3NpZmljYXRpb25QcmVmZXJlbmNlJztcclxuaW1wb3J0IHsgU3ViamVjdFByZWZlcmVuY2VHcmlkIH0gZnJvbSAnbGlicy9zaGFyZWQvYXBwcy9zdWJqZWN0cy9jb21wb25lbnRzL3ByZWZlcmVuY2VzL3N1YmplY3QtcHJlZmVyZW5jZS1ncmlkL1N1YmplY3RQcmVmZXJlbmNlR3JpZCc7XHJcbmltcG9ydCB7IFBhcnRpYWxTdWJqZWN0UHJlZmVyZW5jZXMgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2NvbXBvbmVudHMvcHJlZmVyZW5jZXMvc3ViamVjdC1wcmVmZXJlbmNlLWl0ZW0vcGFydGlhbC1sb2FkaW5nL1BhcnRpYWxTdWJqZWN0UHJlZmVyZW5jZXMnO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlRm9vdGVyIH0gZnJvbSAnbGlicy9zaGFyZWQvYXBwcy9zdWJqZWN0cy9jb21wb25lbnRzL3ByZWZlcmVuY2VzL2Zvb3Rlci9QcmVmZXJlbmNlRm9vdGVyJztcclxuaW1wb3J0IHsgQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlIH0gZnJvbSAnbGlicy9zaGFyZWQvZW51bXMvQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlJztcclxuaW1wb3J0IHsgdXNlQWxlcnRzIH0gZnJvbSAnbGlicy9zaGFyZWQvaG9va3MvVXNlQWxlcnRzJztcclxuaW1wb3J0IHsgU2V0dGluZ1JlcXVlc3RzIH0gZnJvbSAnbGlicy9zaGFyZWQvZmxpZ2h0LXJlcXVlc3RzL1NldHRpbmdSZXF1ZXN0cyc7XHJcbmltcG9ydCB7IFNldHRpbmdOYW1lIH0gZnJvbSAnbGlicy9zaGFyZWQvZW51bXMvU2V0dGluZ05hbWUnO1xyXG5pbXBvcnQgeyBVc2VyUmVxdWVzdHMgfSBmcm9tICdsaWJzL3NoYXJlZC9mbGlnaHQtcmVxdWVzdHMvVXNlclJlcXVlc3RzJztcclxuaW1wb3J0IHsgU2V0dGluZ0tpbmQgfSBmcm9tICdsaWJzL3NoYXJlZC9lbnVtcy9TZXR0aW5nS2luZCc7XHJcbmltcG9ydCB7IEF1ZGllbmNlSGVscGVyIH0gZnJvbSAnbGlicy9zaGFyZWQvdXRpbHMvYXVkaWVuY2UtaGVscGVyL0F1ZGllbmNlSGVscGVyJztcclxuXHJcbmltcG9ydCB7IE9uYm9hcmRpbmdIZWxwZXIgfSBmcm9tICdhcHBzL3N1YmplY3RzL3V0aWxzL09uYm9hcmRpbmdIZWxwZXInO1xyXG5cclxuY29uc3QgbmFtZXNwYWNlID0gJ3N1YmplY3RzLnN1YmplY3RQcmVmZXJlbmNlc1ZpZXcnO1xyXG5cclxuZnVuY3Rpb24gc3RydWN0dXJlUHJlZmVyZW5jZXNHcmlkKHJhd1ByZWZlcmVuY2VPcHRpb25zOiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2VbXSk6IENsYXNzaWZpY2F0aW9uUHJlZmVyZW5jZVtdIHtcclxuICBpZiAoIXJhd1ByZWZlcmVuY2VPcHRpb25zPy5sZW5ndGgpXHJcbiAgICByZXR1cm4gW107XHJcblxyXG4gIGNvbnN0IHByZWZlcmVuY2VPcHRpb25zOiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2VbXSA9IFtdO1xyXG5cclxuICByYXdQcmVmZXJlbmNlT3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICBpZiAoIW9wdGlvbi5jaGlsZHJlbiB8fCAhb3B0aW9uLmNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICBwcmVmZXJlbmNlT3B0aW9ucy5wdXNoKHsgLi4ub3B0aW9uIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcHJlZmVyZW5jZU9wdGlvbnMucHVzaCh7XHJcbiAgICAgIC4uLm9wdGlvbixcclxuICAgICAgaXNFeHBhbmRhYmxlT3B0aW9uOiB0cnVlLFxyXG4gICAgICBjaGlsZHJlbjogW3sgLi4ub3B0aW9uIH0sIC4uLm9wdGlvbi5jaGlsZHJlbiBdXHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHByZWZlcmVuY2VPcHRpb25zO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU3ViamVjdFByZWZlcmVuY2VzVmlld1Byb3BzIHtcclxuICByZWRpcmVjdFVybDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU3ViamVjdFByZWZlcmVuY2VzVmlldyh7IHJlZGlyZWN0VXJsIH06IFN1YmplY3RQcmVmZXJlbmNlc1ZpZXdQcm9wcyk6IEpTWC5FbGVtZW50IHtcclxuICBjb25zdCBbICwgc2V0QXN5bmNTYXZlQ291bnRlciBdID0gUmVhY3QudXNlU3RhdGUoMCk7XHJcbiAgY29uc3QgWyBzZWxlY3RlZFN1YmplY3RzLCBzZXRTZWxlY3RlZFN1YmplY3RzIF0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xyXG4gIGNvbnN0IFsgZXhwYW5kZWRTdWJqZWN0LCBzZXRFeHBhbmRlZFN1YmplY3QgXSA9IFJlYWN0LnVzZVN0YXRlPENsYXNzaWZpY2F0aW9uUHJlZmVyZW5jZT4obnVsbCk7XHJcbiAgY29uc3QgWyBidWxrUHJlZmVyZW5jZXNTdGF0ZSwgc2V0QnVsa1ByZWZlcmVuY2VzU3RhdGUgXSA9IFJlYWN0LnVzZVN0YXRlPEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZT4obnVsbCk7XHJcbiAgY29uc3QgWyBkaXNhYmxlTmV4dCwgc2V0RGlzYWJsZU5leHQgXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KCFzZWxlY3RlZFN1YmplY3RzLmxlbmd0aCk7XHJcbiAgY29uc3QgWyBzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXIgXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgY29uc3QgY3VycmVudFVzZXIgPSBGbGlnaHQudXNlQmFzaWNGZXRjaDxDdXJyZW50VXNlcj4oVXNlclJlcXVlc3RzLmN1cnJlbnRVc2VyKCkpO1xyXG4gIGNvbnN0IGFsbExldmVscyA9IEZsaWdodC51c2VCYXNpY0ZldGNoPFByZXNlbnRhdGlvbkF1ZGllbmNlW10+KFByZWZlcmVuY2VSZXF1ZXN0cy5hbGxMZXZlbFByZWZlcmVuY2VzKCkpO1xyXG4gIGNvbnN0IGF2YWlsYWJsZVByZXNlbnRhdGlvbnMgPSBGbGlnaHQudXNlQmFzaWNGZXRjaDxQcmVzZW50YXRpb25bXT4oUHJlZmVyZW5jZVJlcXVlc3RzLmF2YWlsYWJsZVByZXNlbnRhdGlvbnMoKSk7XHJcbiAgY29uc3QgcmF3UHJlZmVyZW5jZU9wdGlvbnMgPVxyXG4gICAgRmxpZ2h0LnVzZUJhc2ljRmV0Y2g8Q2xhc3NpZmljYXRpb25QcmVmZXJlbmNlW10+KFByZWZlcmVuY2VSZXF1ZXN0cy5hbGxTdWJqZWN0UHJlZmVyZW5jZXMoKSk7XHJcbiAgY29uc3QgcHJlc2VsZWN0aW9ucyA9IHVzZUdldFByZWZlcnJlZFN1YmplY3RzKCk7XHJcbiAgY29uc3QgaGFzQ29tcGxldGVkT25ib2FyZGluZyA9IEZsaWdodC51c2VCYXNpY0ZldGNoPEVudGl0eVNldHRpbmc8Ym9vbGVhbj4+KFxyXG4gICAgY3VycmVudFVzZXIuc3RhdHVzQ29kZSA/IFNldHRpbmdSZXF1ZXN0cy5zZXR0aW5nKGN1cnJlbnRVc2VyLmRhdGEuaWQsIFNldHRpbmdOYW1lLkhhc0NvbXBsZXRlZE9uYm9hcmRpbmcpIDogbnVsbCk7XHJcbiAgY29uc3QgYnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlID0gRmxpZ2h0LnVzZUJhc2ljRmV0Y2g8RW50aXR5U2V0dGluZzxCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGU+PihcclxuICAgIGN1cnJlbnRVc2VyLnN0YXR1c0NvZGVcclxuICAgICAgPyBTZXR0aW5nUmVxdWVzdHMuc2V0dGluZyhjdXJyZW50VXNlci5kYXRhLmlkLCBTZXR0aW5nTmFtZS5CdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUpXHJcbiAgICAgIDogbnVsbFxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcclxuICBjb25zdCBhbGVydHMgPSB1c2VBbGVydHMoKTtcclxuXHJcbiAgY29uc3QgaGFzQnVsa1NlbGVjdGVkU3ViamVjdHMgPSBPbmJvYXJkaW5nSGVscGVyLmhhc0J1bGtTZWxlY3RlZFN1YmplY3RzKGJ1bGtQcmVmZXJlbmNlc1N0YXRlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGluaXRpYWwgc2VsZWN0aW9uc1xyXG4gICAqL1xyXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoIXByZXNlbGVjdGlvbnMuZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgIHNldFNlbGVjdGVkU3ViamVjdHMoW10pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2VsZWN0ZWRTdWJqZWN0cyhBcnJheUhlbHBlci51bmlxKFsgLi4uc2VsZWN0ZWRTdWJqZWN0cywgLi4ucHJlc2VsZWN0aW9ucy5kYXRhLm1hcChwID0+IHAuaWQpIF0pKTtcclxuICB9LCBbcHJlc2VsZWN0aW9ucy5kYXRhPy5sZW5ndGhdKTtcclxuXHJcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghYnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLmRhdGEgfHwgYnVsa1ByZWZlcmVuY2VzU3RhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBzZXRCdWxrUHJlZmVyZW5jZXNTdGF0ZShidWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuZGF0YS52YWx1ZSk7XHJcbiAgfSwgW2J1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5kYXRhPy52YWx1ZV0pO1xyXG5cclxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgc2V0RGlzYWJsZU5leHQoIXNlbGVjdGVkU3ViamVjdHMubGVuZ3RoICYmICFoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0cyk7XHJcbiAgfSwgWyBzZWxlY3RlZFN1YmplY3RzLCBoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0cyBdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgaGFuZGxlcnNcclxuICAgKi9cclxuICBmdW5jdGlvbiBvblNlbGVjdChzdWJqZWN0OiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2UpOiB2b2lkIHtcclxuICAgIHNldFNlbGVjdGVkU3ViamVjdHMoQXJyYXlIZWxwZXIuYWRkT3JSZW1vdmVJbW11dGFibGUoc2VsZWN0ZWRTdWJqZWN0cywgc3ViamVjdC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gb25FeHBhbmQoc3ViamVjdDogQ2xhc3NpZmljYXRpb25QcmVmZXJlbmNlKTogdm9pZCB7XHJcbiAgICBzZXRFeHBhbmRlZFN1YmplY3QoZXhwYW5kZWRTdWJqZWN0ICYmIGV4cGFuZGVkU3ViamVjdC5pZCA9PT0gc3ViamVjdC5pZCA/IG51bGwgOiBzdWJqZWN0KTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG9uQ29sbGFwc2UoKTogdm9pZCB7XHJcbiAgICBzZXRFeHBhbmRlZFN1YmplY3QobnVsbCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFwcmVzZWxlY3Rpb25zLmRhdGEpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBwcmVzZWxlY3RlZElkcyA9IHByZXNlbGVjdGlvbnMuZGF0YS5tYXAocCA9PiBwLmlkKTtcclxuICAgIHJldHVybiBwcmVzZWxlY3RlZElkcy5zb3J0KCkudG9TdHJpbmcoKSAhPT0gc2VsZWN0ZWRTdWJqZWN0cy5zb3J0KCkudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG9uU2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmIChkaXNhYmxlTmV4dClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghc2VsZWN0ZWRTdWJqZWN0cy5sZW5ndGggJiYgIWhhc0J1bGtTZWxlY3RlZFN1YmplY3RzKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gSWYgdGhleSBoYXZlIHNlbGVjdGVkIHRoZSBidWxrIG9wdGlvbiwgd2UgZG8gbm90IHdhbnQgdG8gY2xlYXIgdGhlaXIgcHJlZmVyZW5jZXMgb3Igc2F2ZSBhbnkgY2hhbmdlcy5cclxuICAgIGlmICghaGFzQ2hhbmdlZCgpIHx8IGhhc0J1bGtTZWxlY3RlZFN1YmplY3RzKSB7XHJcbiAgICAgIENvcmUuQXBwTGlua0hlbHBlci50cmlnZ2VyKE9uYm9hcmRpbmdIZWxwZXIuYnVpbGRBcHBMaW5rKCdzdW1tYXJ5JywgcmVkaXJlY3RVcmwpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoMCk7XHJcbiAgICBzZXRTaG93U3Bpbm5lcih0cnVlKTtcclxuICAgIHNldERpc2FibGVOZXh0KHRydWUpO1xyXG5cclxuICAgIGNvbnN0IGFkZGVkU3ViamVjdHMgPSBzZWxlY3RlZFN1YmplY3RzLmZpbHRlcihpZCA9PiAhcHJlc2VsZWN0aW9ucy5kYXRhPy5maW5kKHAgPT4gcC5pZCA9PT0gaWQpKTtcclxuICAgIGNvbnN0IHJlbW92ZWRTdWJqZWN0cyA9IHByZXNlbGVjdGlvbnMuZGF0YT8uZmlsdGVyKHAgPT4gIXNlbGVjdGVkU3ViamVjdHMuaW5jbHVkZXMocC5pZCkpO1xyXG5cclxuICAgIGlmIChhZGRlZFN1YmplY3RzPy5sZW5ndGgpIHtcclxuICAgICAgc2V0QXN5bmNTYXZlQ291bnRlcihjdXJyZW50VmFsID0+IGN1cnJlbnRWYWwgKyAxKTtcclxuICAgICAgRmxpZ2h0LmZldGNoKGRpc3BhdGNoLCBQcmVmZXJlbmNlUmVxdWVzdHMuZm9sbG93U3ViamVjdHMoYWRkZWRTdWJqZWN0cywgb25TYXZlU3VjY2Vzcywgb25TYXZlRXJyb3IpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVtb3ZlZFN1YmplY3RzPy5sZW5ndGgpIHtcclxuICAgICAgc2V0QXN5bmNTYXZlQ291bnRlcihjdXJyZW50VmFsID0+IGN1cnJlbnRWYWwgKyAxKTtcclxuICAgICAgRmxpZ2h0LmZldGNoKFxyXG4gICAgICAgIGRpc3BhdGNoLFxyXG4gICAgICAgIFByZWZlcmVuY2VSZXF1ZXN0cy51bmZvbGxvd1N1YmplY3RzKHJlbW92ZWRTdWJqZWN0cy5tYXAocyA9PiBzLmlkKSwgb25TYXZlU3VjY2Vzcywgb25TYXZlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBvblNhdmVTdWNjZXNzKCk6IHZvaWQge1xyXG4gICAgc2V0QXN5bmNTYXZlQ291bnRlcihjdXJyZW50VmFsdWUgPT4ge1xyXG4gICAgICBpZiAoY3VycmVudFZhbHVlID09PSAxKSB7XHJcbiAgICAgICAgc2V0U2hvd1NwaW5uZXIoZmFsc2UpO1xyXG5cclxuICAgICAgICBDb3JlLkFwcExpbmtIZWxwZXIudHJpZ2dlcihPbmJvYXJkaW5nSGVscGVyLmJ1aWxkQXBwTGluaygnc3VtbWFyeScsIHJlZGlyZWN0VXJsKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWUgLSAxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBvblNhdmVFcnJvcigpOiB2b2lkIHtcclxuICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoMCk7XHJcbiAgICBzZXRTaG93U3Bpbm5lcihmYWxzZSk7XHJcbiAgICBzZXREaXNhYmxlTmV4dChmYWxzZSk7XHJcbiAgICBhbGVydHMuZXJyb3IoTGFuZ3VhZ2VTZXJ2aWNlLmdldFBocmFzZShuYW1lc3BhY2UsICdlcnJvcicpKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG9uVG9nZ2xlU2VsZWN0QWxsKCk6IHZvaWQge1xyXG4gICAgbGV0IG5ld0J1bGtTdGF0ZTogQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlID0gbnVsbDtcclxuXHJcbiAgICBzd2l0Y2ggKGJ1bGtQcmVmZXJlbmNlc1N0YXRlKSB7XHJcbiAgICAgIGNhc2UgQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLk5vbmU6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgbmV3QnVsa1N0YXRlID0gQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLkFsbFN1YmplY3RzO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5BbGxTdWJqZWN0czpcclxuICAgICAgICBuZXdCdWxrU3RhdGUgPSBCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuTm9uZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuQWxsTGV2ZWxzOlxyXG4gICAgICAgIG5ld0J1bGtTdGF0ZSA9IEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5BbGxTdWJqZWN0c0FuZEFsbExldmVscztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuQWxsU3ViamVjdHNBbmRBbGxMZXZlbHM6XHJcbiAgICAgICAgbmV3QnVsa1N0YXRlID0gQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLkFsbExldmVscztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBzZXRCdWxrUHJlZmVyZW5jZXNTdGF0ZShuZXdCdWxrU3RhdGUpO1xyXG4gICAgc2V0RXhwYW5kZWRTdWJqZWN0KG51bGwpO1xyXG5cclxuICAgIEZsaWdodC5mZXRjaChkaXNwYXRjaCwgU2V0dGluZ1JlcXVlc3RzLnVwZGF0ZVNldHRpbmcoXHJcbiAgICAgIGN1cnJlbnRVc2VyLmRhdGEuaWQsXHJcbiAgICAgIFNldHRpbmdOYW1lLkJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZSxcclxuICAgICAgbmV3QnVsa1N0YXRlLFxyXG4gICAgICBTZXR0aW5nS2luZC5QZXJtYW5lbnRcclxuICAgICkpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gZ2V0QmFja0J1dHRvbkFwcExpbmsoKTogQ29yZS5BcHBMaW5rIHtcclxuICAgIGNvbnN0IGhhc1NlbGVjdGFibGVMZXZlbHMgPSBBdWRpZW5jZUhlbHBlci5zaG91bGRTaG93QXVkaWVuY2VzKGFsbExldmVscy5kYXRhKTtcclxuXHJcbiAgICBpZiAoIWhhc1NlbGVjdGFibGVMZXZlbHMpIHtcclxuICAgICAgaWYgKGhhc0NvbXBsZXRlZE9uYm9hcmRpbmcuZGF0YT8udmFsdWUpXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgaGFzTWFueUN1cnJpY3VsdW1QcmVzZW50YXRpb25zLFxyXG4gICAgICAgIGhhc01hbnlTdWJqZWN0UHJlc2VudGF0aW9uc1xyXG4gICAgICB9ID0gT25ib2FyZGluZ0hlbHBlci5oYXNNYW55UHJlc2VudGF0aW9uVHlwZXMoYXZhaWxhYmxlUHJlc2VudGF0aW9ucy5kYXRhKTtcclxuXHJcbiAgICAgIGlmIChoYXNNYW55Q3VycmljdWx1bVByZXNlbnRhdGlvbnMpXHJcbiAgICAgICAgcmV0dXJuIE9uYm9hcmRpbmdIZWxwZXIuYnVpbGRBcHBMaW5rKCdjdXJyaWN1bHVtJywgcmVkaXJlY3RVcmwpO1xyXG5cclxuICAgICAgaWYgKGhhc01hbnlTdWJqZWN0UHJlc2VudGF0aW9ucylcclxuICAgICAgICByZXR1cm4gT25ib2FyZGluZ0hlbHBlci5idWlsZEFwcExpbmsoJ3NjaG9vbC1sZXZlbCcsIHJlZGlyZWN0VXJsKTtcclxuXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBPbmJvYXJkaW5nSGVscGVyLmJ1aWxkQXBwTGluaygnbGV2ZWxzJywgcmVkaXJlY3RVcmwpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcHJlZmVyZW5jZU9wdGlvbnMgPSBzdHJ1Y3R1cmVQcmVmZXJlbmNlc0dyaWQocmF3UHJlZmVyZW5jZU9wdGlvbnMuZGF0YSk7XHJcbiAgY29uc3QgYmFja0J1dHRvbkFwcExpbmsgPSBnZXRCYWNrQnV0dG9uQXBwTGluaygpO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPExhbmd1YWdlTmFtZXNwYWNlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmFtZXNwYWNlfT5cclxuICAgICAgPFN1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgc2VsZWN0ZWRTdWJqZWN0cywgZXhwYW5kZWRTdWJqZWN0IH19PlxyXG4gICAgICAgIDxmb3JtIGNsYXNzTmFtZT0ncC0zIHBiLTUnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Bvc2l0aW9uLXJlbGF0aXZlJz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RleHQtY2VudGVyIG1iLTQnPlxyXG4gICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9J21iLTMnPjxUZXh0IHBocmFzZT0naGVhZGluZycgLz48L2gxPlxyXG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0nbS0wIGg2Jz48VGV4dCBwaHJhc2U9J2luZm9Sb3cxJyAvPjwvcD5cclxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9J2g2Jz48VGV4dCBwaHJhc2U9J2luZm9Sb3cyJyAvPjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICB7cmF3UHJlZmVyZW5jZU9wdGlvbnMuZGF0YSAmJiBwcmVzZWxlY3Rpb25zLmRhdGFcclxuICAgICAgICAgICAgICA/IChcclxuICAgICAgICAgICAgICAgIDxTdWJqZWN0UHJlZmVyZW5jZUdyaWRcclxuICAgICAgICAgICAgICAgICAgc3ViamVjdHM9e3ByZWZlcmVuY2VPcHRpb25zfVxyXG4gICAgICAgICAgICAgICAgICBvblNlbGVjdD17b25TZWxlY3R9XHJcbiAgICAgICAgICAgICAgICAgIG9uRXhwYW5kPXtvbkV4cGFuZH1cclxuICAgICAgICAgICAgICAgICAgb25Db2xsYXBzZT17b25Db2xsYXBzZX1cclxuICAgICAgICAgICAgICAgICAgaGFzU2VsZWN0ZWRCdWxrPXtoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0c31cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgKSA6IDxQYXJ0aWFsU3ViamVjdFByZWZlcmVuY2VzIHN0eWxlPSdncmlkJyBjb3VudD17N30gLz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPFByZWZlcmVuY2VGb290ZXI+XHJcbiAgICAgICAgICAgIHsvKiBGb290ZXIgTEhTICovfVxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIHshIWJhY2tCdXR0b25BcHBMaW5rICYmIChcclxuICAgICAgICAgICAgICAgIDxBcHBMaW5rIGFwcExpbms9e2dldEJhY2tCdXR0b25BcHBMaW5rKCl9IGNsYXNzTmFtZT0nYnRuIGJ0bi1vdXRsaW5lLWRhcmsnPlxyXG4gICAgICAgICAgICAgICAgICA8VGV4dCBwaHJhc2U9J2JhY2snIC8+XHJcbiAgICAgICAgICAgICAgICA8L0FwcExpbms+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICB7LyogRm9vdGVyIFJIUyAqL31cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2QtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXJpZ2h0Jz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZC1mbGV4IG1yLTMnPlxyXG4gICAgICAgICAgICAgICAgPHAgb25DbGljaz17b25Ub2dnbGVTZWxlY3RBbGx9IGNsYXNzTmFtZT0nbXItMiBtYi0wIGZvbnQtd2VpZ2h0LWJvbGQnPlxyXG4gICAgICAgICAgICAgICAgICA8VGV4dCBwaHJhc2U9J2FsbFN1YmplY3RzJyAvPlxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPFRvZ2dsZVN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZVNlbGVjdEFsbH1cclxuICAgICAgICAgICAgICAgICAgb249e2hhc0J1bGtTZWxlY3RlZFN1YmplY3RzfVxyXG4gICAgICAgICAgICAgICAgICBoaWRlT3V0bGluZVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PSdkYXJrJyBkaXNhYmxlZD17ZGlzYWJsZU5leHR9IG9uQ2xpY2s9e29uU2F2ZX0gPlxyXG4gICAgICAgICAgICAgICAge3Nob3dTcGlubmVyXHJcbiAgICAgICAgICAgICAgICAgID8gPFNwaW5uZXIgYXM9J3NwYW4nIGFuaW1hdGlvbj0nYm9yZGVyJyByb2xlPSdzdGF0dXMnIHNpemU9J3NtJyAvPlxyXG4gICAgICAgICAgICAgICAgICA6IChcclxuICAgICAgICAgICAgICAgICAgICA8VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgcGhyYXNlPSduZXh0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17eyBzbWFydENvdW50OiBzZWxlY3RlZFN1YmplY3RzLmxlbmd0aCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L1ByZWZlcmVuY2VGb290ZXI+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICA8L1N1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQuUHJvdmlkZXI+XHJcbiAgICA8L0xhbmd1YWdlTmFtZXNwYWNlQ29udGV4dC5Qcm92aWRlcj5cclxuICApO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFBQTtBQUNBOzs7QUFEQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFNQTtBQUNBO0FBRUE7QUFFQTs7QUFFQTtBQUNBO0FBQUE7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQWJBO0FBQ0E7QUFlQTtBQUNBO0FBRUE7QUFNQTtBQUNBO0FBQ0E7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUFBO0FBQUE7QUFDQTtBQVFBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBRkE7QUFhQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/apps/subjects/views/preferences/subject-preferences/LiteSubjectPreferencesView.tsx\n");
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SubjectPreferencesView\", function() { return SubjectPreferencesView; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"react-bootstrap\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"react-redux\");\n/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var libs_common_flight__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"../../libs/common/src/react/index.ts\");\n/* harmony import */ var libs_common_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"../../libs/common/src/backbone/index.ts\");\n/* harmony import */ var libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"../../libs/common/src/react/utils/ArrayHelper.ts\");\n/* harmony import */ var libs_common_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"../../libs/common/src/backbone/services/LanguageService.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_hooks_useGetPreferredSubjects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/hooks/useGetPreferredSubjects.ts\");\n/* harmony import */ var libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"../../libs/shared/src/flight-requests/PreferenceRequests.ts\");\n/* harmony import */ var libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"../../libs/shared/src/components/text/Text.tsx\");\n/* harmony import */ var libs_shared_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"../../libs/shared/src/components/app-link/AppLink.tsx\");\n/* harmony import */ var libs_shared_components_toggle_switch_ToggleSwitch__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"../../libs/shared/src/components/toggle-switch/ToggleSwitch.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_contexts_SubjectPreferencesContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/contexts/SubjectPreferencesContext.ts\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_subject_preference_grid_SubjectPreferenceGrid__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/SubjectPreferenceGrid.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_subject_preference_item_partial_loading_PartialSubjectPreferences__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/subject-preference-item/partial-loading/PartialSubjectPreferences.tsx\");\n/* harmony import */ var libs_shared_apps_subjects_components_preferences_footer_PreferenceFooter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(\"../../libs/shared/src/apps/subjects/components/preferences/footer/PreferenceFooter.tsx\");\n/* harmony import */ var libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(\"../../libs/shared/src/enums/BulkOnboardingPreferencesState.ts\");\n/* harmony import */ var libs_shared_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(\"../../libs/shared/src/hooks/UseAlerts.ts\");\n/* harmony import */ var libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(\"../../libs/shared/src/flight-requests/SettingRequests.ts\");\n/* harmony import */ var libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(\"../../libs/shared/src/enums/SettingName.ts\");\n/* harmony import */ var libs_shared_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(\"../../libs/shared/src/flight-requests/UserRequests.ts\");\n/* harmony import */ var libs_shared_enums_SettingKind__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(\"../../libs/shared/src/enums/SettingKind.ts\");\n/* harmony import */ var libs_shared_utils_audience_helper_AudienceHelper__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(\"../../libs/shared/src/utils/audience-helper/AudienceHelper.ts\");\n/* harmony import */ var apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(\"./src/apps/subjects/utils/OnboardingHelper.ts\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar namespace = 'subjects.subjectPreferencesView';\n\nfunction structurePreferencesGrid(rawPreferenceOptions) {\n if (!(rawPreferenceOptions === null || rawPreferenceOptions === void 0 ? void 0 : rawPreferenceOptions.length)) return [];\n var preferenceOptions = [];\n rawPreferenceOptions.forEach(function (option) {\n if (!option.children || !option.children.length) {\n preferenceOptions.push(Object.assign({}, option));\n return;\n }\n\n preferenceOptions.push(Object.assign(Object.assign({}, option), {\n isExpandableOption: true,\n children: [Object.assign({}, option)].concat(_toConsumableArray(option.children))\n }));\n });\n return preferenceOptions;\n}\n\nfunction SubjectPreferencesView(_ref) {\n var redirectUrl = _ref.redirectUrl;\n\n var _a, _b;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n setAsyncSaveCounter = _React$useState2[1];\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"]([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n selectedSubjects = _React$useState4[0],\n setSelectedSubjects = _React$useState4[1];\n\n var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n expandedSubject = _React$useState6[0],\n setExpandedSubject = _React$useState6[1];\n\n var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](null),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n bulkPreferencesState = _React$useState8[0],\n setBulkPreferencesState = _React$useState8[1];\n\n var _React$useState9 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](!selectedSubjects.length),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n disableNext = _React$useState10[0],\n setDisableNext = _React$useState10[1];\n\n var _React$useState11 = react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"](false),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n showSpinner = _React$useState12[0],\n setShowSpinner = _React$useState12[1];\n\n var currentUser = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_UserRequests__WEBPACK_IMPORTED_MODULE_20__[\"UserRequests\"].currentUser());\n var allLevels = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].allLevelPreferences());\n var availablePresentations = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].availablePresentations());\n var rawPreferenceOptions = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].allSubjectPreferences());\n var preselections = Object(libs_shared_apps_subjects_hooks_useGetPreferredSubjects__WEBPACK_IMPORTED_MODULE_7__[\"useGetPreferredSubjects\"])();\n var hasCompletedOnboarding = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(currentUser.statusCode ? libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].setting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].HasCompletedOnboarding) : null);\n var bulkOnboardingPreferencesState = libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].useBasicFetch(currentUser.statusCode ? libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].setting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].BulkOnboardingPreferencesState) : null);\n var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_2__[\"useDispatch\"])();\n var alerts = Object(libs_shared_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_17__[\"useAlerts\"])();\n var hasBulkSelectedSubjects = apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].hasBulkSelectedSubjects(bulkPreferencesState);\n /**\r\n * Set initial selections\r\n */\n\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n var _a;\n\n if (!((_a = preselections.data) === null || _a === void 0 ? void 0 : _a.length)) {\n setSelectedSubjects([]);\n return;\n }\n\n setSelectedSubjects(libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__[\"ArrayHelper\"].uniq([].concat(_toConsumableArray(selectedSubjects), _toConsumableArray(preselections.data.map(function (p) {\n return p.id;\n })))));\n }, [(_a = preselections.data) === null || _a === void 0 ? void 0 : _a.length]);\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n if (!bulkOnboardingPreferencesState.data || bulkPreferencesState) return;\n setBulkPreferencesState(bulkOnboardingPreferencesState.data.value);\n }, [(_b = bulkOnboardingPreferencesState.data) === null || _b === void 0 ? void 0 : _b.value]);\n react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"](function () {\n setDisableNext(!selectedSubjects.length && !hasBulkSelectedSubjects);\n }, [selectedSubjects, hasBulkSelectedSubjects]);\n /**\r\n * Event handlers\r\n */\n\n function onSelect(subject) {\n var newSelections = libs_common_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_5__[\"ArrayHelper\"].addOrRemoveImmutable(selectedSubjects, subject.id);\n setSelectedSubjects(newSelections);\n if (!newSelections.length && !disableNext) setDisableNext(true);else if (newSelections.length && disableNext) setDisableNext(false);\n }\n\n function onExpand(subject) {\n setExpandedSubject(expandedSubject && expandedSubject.id === subject.id ? null : subject);\n }\n\n function onCollapse() {\n setExpandedSubject(null);\n }\n\n function hasChangedTopics() {\n if (!preselections.data) return false;\n var preselectedIds = preselections.data.map(function (p) {\n return p.id;\n });\n return preselectedIds.sort().toString() !== selectedSubjects.sort().toString();\n }\n\n function hasChangedBulkState() {\n var _a;\n\n return ((_a = bulkOnboardingPreferencesState.data) === null || _a === void 0 ? void 0 : _a.value) !== bulkPreferencesState;\n }\n\n function onSave() {\n var _a;\n\n if (disableNext) return;\n if (!selectedSubjects.length && !hasBulkSelectedSubjects) return; // If they have selected the bulk option, we do not want to clear their preferences or save any changes.\n\n if (!hasChangedTopics() && !hasChangedBulkState()) {\n libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].AppLinkHelper.trigger(apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('summary', redirectUrl));\n return;\n }\n\n setShowSpinner(true);\n setDisableNext(true);\n\n if (hasChangedBulkState()) {\n setAsyncSaveCounter(function (currentVal) {\n return currentVal + 1;\n });\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_SettingRequests__WEBPACK_IMPORTED_MODULE_18__[\"SettingRequests\"].updateSetting(currentUser.data.id, libs_shared_enums_SettingName__WEBPACK_IMPORTED_MODULE_19__[\"SettingName\"].BulkOnboardingPreferencesState, bulkPreferencesState, libs_shared_enums_SettingKind__WEBPACK_IMPORTED_MODULE_21__[\"SettingKind\"].Permanent, onSaveSuccess));\n return;\n }\n\n setAsyncSaveCounter(0);\n var addedSubjects = selectedSubjects.filter(function (id) {\n var _a;\n\n return !((_a = preselections.data) === null || _a === void 0 ? void 0 : _a.find(function (p) {\n return p.id === id;\n }));\n });\n var removedSubjects = (_a = preselections.data) === null || _a === void 0 ? void 0 : _a.filter(function (p) {\n return !selectedSubjects.includes(p.id);\n });\n\n if (addedSubjects === null || addedSubjects === void 0 ? void 0 : addedSubjects.length) {\n setAsyncSaveCounter(function (currentVal) {\n return currentVal + 1;\n });\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].followSubjects(addedSubjects, onSaveSuccess, onSaveError));\n }\n\n if (removedSubjects === null || removedSubjects === void 0 ? void 0 : removedSubjects.length) {\n setAsyncSaveCounter(function (currentVal) {\n return currentVal + 1;\n });\n libs_common_flight__WEBPACK_IMPORTED_MODULE_3__[\"Flight\"].fetch(dispatch, libs_shared_flight_requests_PreferenceRequests__WEBPACK_IMPORTED_MODULE_8__[\"PreferenceRequests\"].unfollowSubjects(removedSubjects.map(function (s) {\n return s.id;\n }), onSaveSuccess, onSaveError));\n }\n }\n\n function onSaveSuccess() {\n setAsyncSaveCounter(function (currentValue) {\n if (currentValue === 1) {\n setShowSpinner(false);\n libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].AppLinkHelper.trigger(apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('summary', redirectUrl));\n }\n\n return currentValue - 1;\n });\n }\n\n function onSaveError() {\n setAsyncSaveCounter(0);\n setShowSpinner(false);\n setDisableNext(false);\n alerts.error(libs_common_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_6__[\"LanguageService\"].getPhrase(namespace, 'error'));\n }\n\n function onToggleSelectAll() {\n setDisableNext(true);\n var newBulkState = null;\n\n switch (bulkPreferencesState) {\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].None:\n default:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjects;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjects:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].None;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllLevels:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjectsAndAllLevels;\n break;\n\n case libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllSubjectsAndAllLevels:\n newBulkState = libs_shared_enums_BulkOnboardingPreferencesState__WEBPACK_IMPORTED_MODULE_16__[\"BulkOnboardingPreferencesState\"].AllLevels;\n break;\n }\n\n setBulkPreferencesState(newBulkState);\n setExpandedSubject(null);\n }\n\n function getBackButtonAppLink() {\n var _a;\n\n var hasSelectableLevels = libs_shared_utils_audience_helper_AudienceHelper__WEBPACK_IMPORTED_MODULE_22__[\"AudienceHelper\"].shouldShowAudiences(allLevels.data);\n\n if (!hasSelectableLevels) {\n if ((_a = hasCompletedOnboarding.data) === null || _a === void 0 ? void 0 : _a.value) return null;\n\n var _OnboardingHelper$has = apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].hasManyPresentationTypes(availablePresentations.data),\n hasManyCurriculumPresentations = _OnboardingHelper$has.hasManyCurriculumPresentations,\n hasManySubjectPresentations = _OnboardingHelper$has.hasManySubjectPresentations;\n\n if (hasManyCurriculumPresentations) return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('curriculum', redirectUrl);\n if (hasManySubjectPresentations) return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('school-level', redirectUrl);\n return null;\n }\n\n return apps_subjects_utils_OnboardingHelper__WEBPACK_IMPORTED_MODULE_23__[\"OnboardingHelper\"].buildAppLink('levels', redirectUrl);\n }\n\n var preferenceOptions = structurePreferencesGrid(rawPreferenceOptions.data);\n var backButtonAppLink = getBackButtonAppLink();\n return react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"LanguageNamespaceContext\"].Provider, {\n value: namespace\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_contexts_SubjectPreferencesContext__WEBPACK_IMPORTED_MODULE_12__[\"SubjectPreferencesContext\"].Provider, {\n value: {\n selectedSubjects: selectedSubjects,\n expandedSubject: expandedSubject\n }\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"form\", {\n className: 'p-3 pb-5'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'position-relative'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'text-center mb-4'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"h1\", {\n className: 'mb-3'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'heading'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n className: 'm-0 h6'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'infoRow1'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n className: 'h6'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'infoRow2'\n }))), rawPreferenceOptions.data && preselections.data ? react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_subject_preference_grid_SubjectPreferenceGrid__WEBPACK_IMPORTED_MODULE_13__[\"SubjectPreferenceGrid\"], {\n subjects: preferenceOptions,\n onSelect: onSelect,\n onExpand: onExpand,\n onCollapse: onCollapse,\n hasSelectedBulk: hasBulkSelectedSubjects\n }) : react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_subject_preference_item_partial_loading_PartialSubjectPreferences__WEBPACK_IMPORTED_MODULE_14__[\"PartialSubjectPreferences\"], {\n style: 'grid',\n count: 7\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_apps_subjects_components_preferences_footer_PreferenceFooter__WEBPACK_IMPORTED_MODULE_15__[\"PreferenceFooter\"], null, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", null, !!backButtonAppLink && react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_10__[\"AppLink\"], {\n appLink: getBackButtonAppLink(),\n className: 'btn btn-outline-dark'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'back'\n }))), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'd-flex align-items-center justify-content-right'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"div\", {\n className: 'd-flex mr-3'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"p\", {\n onClick: onToggleSelectAll,\n className: 'mr-2 mb-0 font-weight-bold'\n }, react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'allSubjects'\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_toggle_switch_ToggleSwitch__WEBPACK_IMPORTED_MODULE_11__[\"ToggleSwitch\"], {\n onClick: onToggleSelectAll,\n on: hasBulkSelectedSubjects,\n hideOutline: true\n })), react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__[\"Button\"], {\n variant: 'dark',\n disabled: disableNext,\n onClick: onSave\n }, showSpinner ? react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__[\"Spinner\"], {\n as: 'span',\n animation: 'border',\n role: 'status',\n size: 'sm'\n }) : react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](libs_shared_components_text_Text__WEBPACK_IMPORTED_MODULE_9__[\"Text\"], {\n phrase: 'next',\n options: {\n smartCount: selectedSubjects.length\n }\n })))))));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvYXBwcy9zdWJqZWN0cy92aWV3cy9wcmVmZXJlbmNlcy9zdWJqZWN0LXByZWZlcmVuY2VzL0xpdGVTdWJqZWN0UHJlZmVyZW5jZXNWaWV3LnRzeC5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9AY2xpY2t2aWV3L3BhY2thZ2VzL3Byb2plY3RzL2xpdGUvc3JjL2FwcHMvc3ViamVjdHMvdmlld3MvcHJlZmVyZW5jZXMvc3ViamVjdC1wcmVmZXJlbmNlcy9MaXRlU3ViamVjdFByZWZlcmVuY2VzVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBCdXR0b24sIFNwaW5uZXIgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcclxuXHJcbmltcG9ydCB7IEZsaWdodCB9IGZyb20gJ2xpYnMvY29tbW9uL2ZsaWdodCc7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICdsaWJzL2NvbW1vbi9jb3JlJztcclxuaW1wb3J0IHsgQXJyYXlIZWxwZXIgfSBmcm9tICdsaWJzL2NvbW1vbi9yZWFjdC91dGlscy9BcnJheUhlbHBlcic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ2xpYnMvY29tbW9uL2JhY2tib25lL3NlcnZpY2VzL0xhbmd1YWdlU2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTZXR0aW5nLCBDdXJyZW50VXNlciwgUHJlc2VudGF0aW9uQXVkaWVuY2UsIFByZXNlbnRhdGlvbiB9IGZyb20gJ2xpYnMvc2hhcmVkL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyB1c2VHZXRQcmVmZXJyZWRTdWJqZWN0cyB9IGZyb20gJ2xpYnMvc2hhcmVkL2FwcHMvc3ViamVjdHMvaG9va3MvdXNlR2V0UHJlZmVycmVkU3ViamVjdHMnO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlUmVxdWVzdHMgfSBmcm9tICdsaWJzL3NoYXJlZC9mbGlnaHQtcmVxdWVzdHMvUHJlZmVyZW5jZVJlcXVlc3RzJztcclxuaW1wb3J0IHsgVGV4dCwgTGFuZ3VhZ2VOYW1lc3BhY2VDb250ZXh0IH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy90ZXh0L1RleHQnO1xyXG5pbXBvcnQgeyBBcHBMaW5rIH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy9hcHAtbGluay9BcHBMaW5rJztcclxuaW1wb3J0IHsgVG9nZ2xlU3dpdGNoIH0gZnJvbSAnbGlicy9zaGFyZWQvY29tcG9uZW50cy90b2dnbGUtc3dpdGNoL1RvZ2dsZVN3aXRjaCc7XHJcbmltcG9ydCB7IFN1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2NvbnRleHRzL1N1YmplY3RQcmVmZXJlbmNlc0NvbnRleHQnO1xyXG5pbXBvcnQgeyBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2UgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2ludGVyZmFjZXMvQ2xhc3NpZmljYXRpb25QcmVmZXJlbmNlJztcclxuaW1wb3J0IHsgU3ViamVjdFByZWZlcmVuY2VHcmlkIH0gZnJvbSAnbGlicy9zaGFyZWQvYXBwcy9zdWJqZWN0cy9jb21wb25lbnRzL3ByZWZlcmVuY2VzL3N1YmplY3QtcHJlZmVyZW5jZS1ncmlkL1N1YmplY3RQcmVmZXJlbmNlR3JpZCc7XHJcbmltcG9ydCB7IFBhcnRpYWxTdWJqZWN0UHJlZmVyZW5jZXMgfSBmcm9tICdsaWJzL3NoYXJlZC9hcHBzL3N1YmplY3RzL2NvbXBvbmVudHMvcHJlZmVyZW5jZXMvc3ViamVjdC1wcmVmZXJlbmNlLWl0ZW0vcGFydGlhbC1sb2FkaW5nL1BhcnRpYWxTdWJqZWN0UHJlZmVyZW5jZXMnO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlRm9vdGVyIH0gZnJvbSAnbGlicy9zaGFyZWQvYXBwcy9zdWJqZWN0cy9jb21wb25lbnRzL3ByZWZlcmVuY2VzL2Zvb3Rlci9QcmVmZXJlbmNlRm9vdGVyJztcclxuaW1wb3J0IHsgQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlIH0gZnJvbSAnbGlicy9zaGFyZWQvZW51bXMvQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlJztcclxuaW1wb3J0IHsgdXNlQWxlcnRzIH0gZnJvbSAnbGlicy9zaGFyZWQvaG9va3MvVXNlQWxlcnRzJztcclxuaW1wb3J0IHsgU2V0dGluZ1JlcXVlc3RzIH0gZnJvbSAnbGlicy9zaGFyZWQvZmxpZ2h0LXJlcXVlc3RzL1NldHRpbmdSZXF1ZXN0cyc7XHJcbmltcG9ydCB7IFNldHRpbmdOYW1lIH0gZnJvbSAnbGlicy9zaGFyZWQvZW51bXMvU2V0dGluZ05hbWUnO1xyXG5pbXBvcnQgeyBVc2VyUmVxdWVzdHMgfSBmcm9tICdsaWJzL3NoYXJlZC9mbGlnaHQtcmVxdWVzdHMvVXNlclJlcXVlc3RzJztcclxuaW1wb3J0IHsgU2V0dGluZ0tpbmQgfSBmcm9tICdsaWJzL3NoYXJlZC9lbnVtcy9TZXR0aW5nS2luZCc7XHJcbmltcG9ydCB7IEF1ZGllbmNlSGVscGVyIH0gZnJvbSAnbGlicy9zaGFyZWQvdXRpbHMvYXVkaWVuY2UtaGVscGVyL0F1ZGllbmNlSGVscGVyJztcclxuXHJcbmltcG9ydCB7IE9uYm9hcmRpbmdIZWxwZXIgfSBmcm9tICdhcHBzL3N1YmplY3RzL3V0aWxzL09uYm9hcmRpbmdIZWxwZXInO1xyXG5cclxuY29uc3QgbmFtZXNwYWNlID0gJ3N1YmplY3RzLnN1YmplY3RQcmVmZXJlbmNlc1ZpZXcnO1xyXG5cclxuZnVuY3Rpb24gc3RydWN0dXJlUHJlZmVyZW5jZXNHcmlkKHJhd1ByZWZlcmVuY2VPcHRpb25zOiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2VbXSk6IENsYXNzaWZpY2F0aW9uUHJlZmVyZW5jZVtdIHtcclxuICBpZiAoIXJhd1ByZWZlcmVuY2VPcHRpb25zPy5sZW5ndGgpXHJcbiAgICByZXR1cm4gW107XHJcblxyXG4gIGNvbnN0IHByZWZlcmVuY2VPcHRpb25zOiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2VbXSA9IFtdO1xyXG5cclxuICByYXdQcmVmZXJlbmNlT3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICBpZiAoIW9wdGlvbi5jaGlsZHJlbiB8fCAhb3B0aW9uLmNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICBwcmVmZXJlbmNlT3B0aW9ucy5wdXNoKHsgLi4ub3B0aW9uIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcHJlZmVyZW5jZU9wdGlvbnMucHVzaCh7XHJcbiAgICAgIC4uLm9wdGlvbixcclxuICAgICAgaXNFeHBhbmRhYmxlT3B0aW9uOiB0cnVlLFxyXG4gICAgICBjaGlsZHJlbjogW3sgLi4ub3B0aW9uIH0sIC4uLm9wdGlvbi5jaGlsZHJlbiBdXHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHByZWZlcmVuY2VPcHRpb25zO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU3ViamVjdFByZWZlcmVuY2VzVmlld1Byb3BzIHtcclxuICByZWRpcmVjdFVybDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU3ViamVjdFByZWZlcmVuY2VzVmlldyh7IHJlZGlyZWN0VXJsIH06IFN1YmplY3RQcmVmZXJlbmNlc1ZpZXdQcm9wcyk6IEpTWC5FbGVtZW50IHtcclxuICBjb25zdCBbICwgc2V0QXN5bmNTYXZlQ291bnRlciBdID0gUmVhY3QudXNlU3RhdGUoMCk7XHJcbiAgY29uc3QgWyBzZWxlY3RlZFN1YmplY3RzLCBzZXRTZWxlY3RlZFN1YmplY3RzIF0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xyXG4gIGNvbnN0IFsgZXhwYW5kZWRTdWJqZWN0LCBzZXRFeHBhbmRlZFN1YmplY3QgXSA9IFJlYWN0LnVzZVN0YXRlPENsYXNzaWZpY2F0aW9uUHJlZmVyZW5jZT4obnVsbCk7XHJcbiAgY29uc3QgWyBidWxrUHJlZmVyZW5jZXNTdGF0ZSwgc2V0QnVsa1ByZWZlcmVuY2VzU3RhdGUgXSA9IFJlYWN0LnVzZVN0YXRlPEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZT4obnVsbCk7XHJcbiAgY29uc3QgWyBkaXNhYmxlTmV4dCwgc2V0RGlzYWJsZU5leHQgXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KCFzZWxlY3RlZFN1YmplY3RzLmxlbmd0aCk7XHJcbiAgY29uc3QgWyBzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXIgXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgY29uc3QgY3VycmVudFVzZXIgPSBGbGlnaHQudXNlQmFzaWNGZXRjaDxDdXJyZW50VXNlcj4oVXNlclJlcXVlc3RzLmN1cnJlbnRVc2VyKCkpO1xyXG4gIGNvbnN0IGFsbExldmVscyA9IEZsaWdodC51c2VCYXNpY0ZldGNoPFByZXNlbnRhdGlvbkF1ZGllbmNlW10+KFByZWZlcmVuY2VSZXF1ZXN0cy5hbGxMZXZlbFByZWZlcmVuY2VzKCkpO1xyXG4gIGNvbnN0IGF2YWlsYWJsZVByZXNlbnRhdGlvbnMgPSBGbGlnaHQudXNlQmFzaWNGZXRjaDxQcmVzZW50YXRpb25bXT4oUHJlZmVyZW5jZVJlcXVlc3RzLmF2YWlsYWJsZVByZXNlbnRhdGlvbnMoKSk7XHJcbiAgY29uc3QgcmF3UHJlZmVyZW5jZU9wdGlvbnMgPVxyXG4gICAgRmxpZ2h0LnVzZUJhc2ljRmV0Y2g8Q2xhc3NpZmljYXRpb25QcmVmZXJlbmNlW10+KFByZWZlcmVuY2VSZXF1ZXN0cy5hbGxTdWJqZWN0UHJlZmVyZW5jZXMoKSk7XHJcbiAgY29uc3QgcHJlc2VsZWN0aW9ucyA9IHVzZUdldFByZWZlcnJlZFN1YmplY3RzKCk7XHJcbiAgY29uc3QgaGFzQ29tcGxldGVkT25ib2FyZGluZyA9IEZsaWdodC51c2VCYXNpY0ZldGNoPEVudGl0eVNldHRpbmc8Ym9vbGVhbj4+KFxyXG4gICAgY3VycmVudFVzZXIuc3RhdHVzQ29kZSA/IFNldHRpbmdSZXF1ZXN0cy5zZXR0aW5nKGN1cnJlbnRVc2VyLmRhdGEuaWQsIFNldHRpbmdOYW1lLkhhc0NvbXBsZXRlZE9uYm9hcmRpbmcpIDogbnVsbCk7XHJcbiAgY29uc3QgYnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlID0gRmxpZ2h0LnVzZUJhc2ljRmV0Y2g8RW50aXR5U2V0dGluZzxCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGU+PihcclxuICAgIGN1cnJlbnRVc2VyLnN0YXR1c0NvZGVcclxuICAgICAgPyBTZXR0aW5nUmVxdWVzdHMuc2V0dGluZyhjdXJyZW50VXNlci5kYXRhLmlkLCBTZXR0aW5nTmFtZS5CdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUpXHJcbiAgICAgIDogbnVsbFxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcclxuICBjb25zdCBhbGVydHMgPSB1c2VBbGVydHMoKTtcclxuXHJcbiAgY29uc3QgaGFzQnVsa1NlbGVjdGVkU3ViamVjdHMgPSBPbmJvYXJkaW5nSGVscGVyLmhhc0J1bGtTZWxlY3RlZFN1YmplY3RzKGJ1bGtQcmVmZXJlbmNlc1N0YXRlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGluaXRpYWwgc2VsZWN0aW9uc1xyXG4gICAqL1xyXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoIXByZXNlbGVjdGlvbnMuZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgIHNldFNlbGVjdGVkU3ViamVjdHMoW10pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2VsZWN0ZWRTdWJqZWN0cyhBcnJheUhlbHBlci51bmlxKFsgLi4uc2VsZWN0ZWRTdWJqZWN0cywgLi4ucHJlc2VsZWN0aW9ucy5kYXRhLm1hcChwID0+IHAuaWQpIF0pKTtcclxuICB9LCBbcHJlc2VsZWN0aW9ucy5kYXRhPy5sZW5ndGhdKTtcclxuXHJcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghYnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLmRhdGEgfHwgYnVsa1ByZWZlcmVuY2VzU3RhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBzZXRCdWxrUHJlZmVyZW5jZXNTdGF0ZShidWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuZGF0YS52YWx1ZSk7XHJcbiAgfSwgW2J1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5kYXRhPy52YWx1ZV0pO1xyXG5cclxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgc2V0RGlzYWJsZU5leHQoIXNlbGVjdGVkU3ViamVjdHMubGVuZ3RoICYmICFoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0cyk7XHJcbiAgfSwgWyBzZWxlY3RlZFN1YmplY3RzLCBoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0cyBdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgaGFuZGxlcnNcclxuICAgKi9cclxuICBmdW5jdGlvbiBvblNlbGVjdChzdWJqZWN0OiBDbGFzc2lmaWNhdGlvblByZWZlcmVuY2UpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld1NlbGVjdGlvbnMgPSBBcnJheUhlbHBlci5hZGRPclJlbW92ZUltbXV0YWJsZShzZWxlY3RlZFN1YmplY3RzLCBzdWJqZWN0LmlkKTtcclxuICAgIHNldFNlbGVjdGVkU3ViamVjdHMobmV3U2VsZWN0aW9ucyk7XHJcblxyXG4gICAgaWYgKCFuZXdTZWxlY3Rpb25zLmxlbmd0aCAmJiAhZGlzYWJsZU5leHQpXHJcbiAgICAgIHNldERpc2FibGVOZXh0KHRydWUpO1xyXG4gICAgZWxzZSBpZiAobmV3U2VsZWN0aW9ucy5sZW5ndGggJiYgZGlzYWJsZU5leHQpXHJcbiAgICAgIHNldERpc2FibGVOZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG9uRXhwYW5kKHN1YmplY3Q6IENsYXNzaWZpY2F0aW9uUHJlZmVyZW5jZSk6IHZvaWQge1xyXG4gICAgc2V0RXhwYW5kZWRTdWJqZWN0KGV4cGFuZGVkU3ViamVjdCAmJiBleHBhbmRlZFN1YmplY3QuaWQgPT09IHN1YmplY3QuaWQgPyBudWxsIDogc3ViamVjdCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBvbkNvbGxhcHNlKCk6IHZvaWQge1xyXG4gICAgc2V0RXhwYW5kZWRTdWJqZWN0KG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gaGFzQ2hhbmdlZFRvcGljcygpOiBib29sZWFuIHtcclxuICAgIGlmICghcHJlc2VsZWN0aW9ucy5kYXRhKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgcHJlc2VsZWN0ZWRJZHMgPSBwcmVzZWxlY3Rpb25zLmRhdGEubWFwKHAgPT4gcC5pZCk7XHJcbiAgICByZXR1cm4gcHJlc2VsZWN0ZWRJZHMuc29ydCgpLnRvU3RyaW5nKCkgIT09IHNlbGVjdGVkU3ViamVjdHMuc29ydCgpLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYXNDaGFuZ2VkQnVsa1N0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5kYXRhPy52YWx1ZSAhPT0gYnVsa1ByZWZlcmVuY2VzU3RhdGU7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBvblNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAoZGlzYWJsZU5leHQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXNlbGVjdGVkU3ViamVjdHMubGVuZ3RoICYmICFoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0cylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIC8vIElmIHRoZXkgaGF2ZSBzZWxlY3RlZCB0aGUgYnVsayBvcHRpb24sIHdlIGRvIG5vdCB3YW50IHRvIGNsZWFyIHRoZWlyIHByZWZlcmVuY2VzIG9yIHNhdmUgYW55IGNoYW5nZXMuXHJcbiAgICBpZiAoKCFoYXNDaGFuZ2VkVG9waWNzKCkgJiYgIWhhc0NoYW5nZWRCdWxrU3RhdGUoKSkpIHtcclxuICAgICAgQ29yZS5BcHBMaW5rSGVscGVyLnRyaWdnZXIoT25ib2FyZGluZ0hlbHBlci5idWlsZEFwcExpbmsoJ3N1bW1hcnknLCByZWRpcmVjdFVybCkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2hvd1NwaW5uZXIodHJ1ZSk7XHJcbiAgICBzZXREaXNhYmxlTmV4dCh0cnVlKTtcclxuXHJcbiAgICBpZiAoaGFzQ2hhbmdlZEJ1bGtTdGF0ZSgpKSB7XHJcbiAgICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoY3VycmVudFZhbCA9PiBjdXJyZW50VmFsICsgMSk7XHJcblxyXG4gICAgICBGbGlnaHQuZmV0Y2goZGlzcGF0Y2gsIFNldHRpbmdSZXF1ZXN0cy51cGRhdGVTZXR0aW5nKFxyXG4gICAgICAgIGN1cnJlbnRVc2VyLmRhdGEuaWQsXHJcbiAgICAgICAgU2V0dGluZ05hbWUuQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLFxyXG4gICAgICAgIGJ1bGtQcmVmZXJlbmNlc1N0YXRlLFxyXG4gICAgICAgIFNldHRpbmdLaW5kLlBlcm1hbmVudCxcclxuICAgICAgICBvblNhdmVTdWNjZXNzXHJcbiAgICAgICkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QXN5bmNTYXZlQ291bnRlcigwKTtcclxuXHJcbiAgICBjb25zdCBhZGRlZFN1YmplY3RzID0gc2VsZWN0ZWRTdWJqZWN0cy5maWx0ZXIoaWQgPT4gIXByZXNlbGVjdGlvbnMuZGF0YT8uZmluZChwID0+IHAuaWQgPT09IGlkKSk7XHJcbiAgICBjb25zdCByZW1vdmVkU3ViamVjdHMgPSBwcmVzZWxlY3Rpb25zLmRhdGE/LmZpbHRlcihwID0+ICFzZWxlY3RlZFN1YmplY3RzLmluY2x1ZGVzKHAuaWQpKTtcclxuXHJcbiAgICBpZiAoYWRkZWRTdWJqZWN0cz8ubGVuZ3RoKSB7XHJcbiAgICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoY3VycmVudFZhbCA9PiBjdXJyZW50VmFsICsgMSk7XHJcbiAgICAgIEZsaWdodC5mZXRjaChkaXNwYXRjaCwgUHJlZmVyZW5jZVJlcXVlc3RzLmZvbGxvd1N1YmplY3RzKGFkZGVkU3ViamVjdHMsIG9uU2F2ZVN1Y2Nlc3MsIG9uU2F2ZUVycm9yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlbW92ZWRTdWJqZWN0cz8ubGVuZ3RoKSB7XHJcbiAgICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoY3VycmVudFZhbCA9PiBjdXJyZW50VmFsICsgMSk7XHJcbiAgICAgIEZsaWdodC5mZXRjaChcclxuICAgICAgICBkaXNwYXRjaCxcclxuICAgICAgICBQcmVmZXJlbmNlUmVxdWVzdHMudW5mb2xsb3dTdWJqZWN0cyhyZW1vdmVkU3ViamVjdHMubWFwKHMgPT4gcy5pZCksIG9uU2F2ZVN1Y2Nlc3MsIG9uU2F2ZUVycm9yKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gb25TYXZlU3VjY2VzcygpOiB2b2lkIHtcclxuICAgIHNldEFzeW5jU2F2ZUNvdW50ZXIoY3VycmVudFZhbHVlID0+IHtcclxuICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gMSkge1xyXG4gICAgICAgIHNldFNob3dTcGlubmVyKGZhbHNlKTtcclxuXHJcbiAgICAgICAgQ29yZS5BcHBMaW5rSGVscGVyLnRyaWdnZXIoT25ib2FyZGluZ0hlbHBlci5idWlsZEFwcExpbmsoJ3N1bW1hcnknLCByZWRpcmVjdFVybCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gY3VycmVudFZhbHVlIC0gMTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gb25TYXZlRXJyb3IoKTogdm9pZCB7XHJcbiAgICBzZXRBc3luY1NhdmVDb3VudGVyKDApO1xyXG4gICAgc2V0U2hvd1NwaW5uZXIoZmFsc2UpO1xyXG4gICAgc2V0RGlzYWJsZU5leHQoZmFsc2UpO1xyXG4gICAgYWxlcnRzLmVycm9yKExhbmd1YWdlU2VydmljZS5nZXRQaHJhc2UobmFtZXNwYWNlLCAnZXJyb3InKSk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBvblRvZ2dsZVNlbGVjdEFsbCgpOiB2b2lkIHtcclxuICAgIHNldERpc2FibGVOZXh0KHRydWUpO1xyXG5cclxuICAgIGxldCBuZXdCdWxrU3RhdGU6IEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZSA9IG51bGw7XHJcblxyXG4gICAgc3dpdGNoIChidWxrUHJlZmVyZW5jZXNTdGF0ZSkge1xyXG4gICAgICBjYXNlIEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5Ob25lOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIG5ld0J1bGtTdGF0ZSA9IEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5BbGxTdWJqZWN0cztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuQWxsU3ViamVjdHM6XHJcbiAgICAgICAgbmV3QnVsa1N0YXRlID0gQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLk5vbmU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLkFsbExldmVsczpcclxuICAgICAgICBuZXdCdWxrU3RhdGUgPSBCdWxrT25ib2FyZGluZ1ByZWZlcmVuY2VzU3RhdGUuQWxsU3ViamVjdHNBbmRBbGxMZXZlbHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQnVsa09uYm9hcmRpbmdQcmVmZXJlbmNlc1N0YXRlLkFsbFN1YmplY3RzQW5kQWxsTGV2ZWxzOlxyXG4gICAgICAgIG5ld0J1bGtTdGF0ZSA9IEJ1bGtPbmJvYXJkaW5nUHJlZmVyZW5jZXNTdGF0ZS5BbGxMZXZlbHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QnVsa1ByZWZlcmVuY2VzU3RhdGUobmV3QnVsa1N0YXRlKTtcclxuICAgIHNldEV4cGFuZGVkU3ViamVjdChudWxsKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIGdldEJhY2tCdXR0b25BcHBMaW5rKCk6IENvcmUuQXBwTGluayB7XHJcbiAgICBjb25zdCBoYXNTZWxlY3RhYmxlTGV2ZWxzID0gQXVkaWVuY2VIZWxwZXIuc2hvdWxkU2hvd0F1ZGllbmNlcyhhbGxMZXZlbHMuZGF0YSk7XHJcblxyXG4gICAgaWYgKCFoYXNTZWxlY3RhYmxlTGV2ZWxzKSB7XHJcbiAgICAgIGlmIChoYXNDb21wbGV0ZWRPbmJvYXJkaW5nLmRhdGE/LnZhbHVlKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIGhhc01hbnlDdXJyaWN1bHVtUHJlc2VudGF0aW9ucyxcclxuICAgICAgICBoYXNNYW55U3ViamVjdFByZXNlbnRhdGlvbnNcclxuICAgICAgfSA9IE9uYm9hcmRpbmdIZWxwZXIuaGFzTWFueVByZXNlbnRhdGlvblR5cGVzKGF2YWlsYWJsZVByZXNlbnRhdGlvbnMuZGF0YSk7XHJcblxyXG4gICAgICBpZiAoaGFzTWFueUN1cnJpY3VsdW1QcmVzZW50YXRpb25zKVxyXG4gICAgICAgIHJldHVybiBPbmJvYXJkaW5nSGVscGVyLmJ1aWxkQXBwTGluaygnY3VycmljdWx1bScsIHJlZGlyZWN0VXJsKTtcclxuXHJcbiAgICAgIGlmIChoYXNNYW55U3ViamVjdFByZXNlbnRhdGlvbnMpXHJcbiAgICAgICAgcmV0dXJuIE9uYm9hcmRpbmdIZWxwZXIuYnVpbGRBcHBMaW5rKCdzY2hvb2wtbGV2ZWwnLCByZWRpcmVjdFVybCk7XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gT25ib2FyZGluZ0hlbHBlci5idWlsZEFwcExpbmsoJ2xldmVscycsIHJlZGlyZWN0VXJsKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHByZWZlcmVuY2VPcHRpb25zID0gc3RydWN0dXJlUHJlZmVyZW5jZXNHcmlkKHJhd1ByZWZlcmVuY2VPcHRpb25zLmRhdGEpO1xyXG4gIGNvbnN0IGJhY2tCdXR0b25BcHBMaW5rID0gZ2V0QmFja0J1dHRvbkFwcExpbmsoKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxMYW5ndWFnZU5hbWVzcGFjZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25hbWVzcGFjZX0+XHJcbiAgICAgIDxTdWJqZWN0UHJlZmVyZW5jZXNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IHNlbGVjdGVkU3ViamVjdHMsIGV4cGFuZGVkU3ViamVjdCB9fT5cclxuICAgICAgICA8Zm9ybSBjbGFzc05hbWU9J3AtMyBwYi01Jz5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdwb3NpdGlvbi1yZWxhdGl2ZSc+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSd0ZXh0LWNlbnRlciBtYi00Jz5cclxuICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPSdtYi0zJz48VGV4dCBwaHJhc2U9J2hlYWRpbmcnIC8+PC9oMT5cclxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9J20tMCBoNic+PFRleHQgcGhyYXNlPSdpbmZvUm93MScgLz48L3A+XHJcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSdoNic+PFRleHQgcGhyYXNlPSdpbmZvUm93MicgLz48L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAge3Jhd1ByZWZlcmVuY2VPcHRpb25zLmRhdGEgJiYgcHJlc2VsZWN0aW9ucy5kYXRhXHJcbiAgICAgICAgICAgICAgPyAoXHJcbiAgICAgICAgICAgICAgICA8U3ViamVjdFByZWZlcmVuY2VHcmlkXHJcbiAgICAgICAgICAgICAgICAgIHN1YmplY3RzPXtwcmVmZXJlbmNlT3B0aW9uc31cclxuICAgICAgICAgICAgICAgICAgb25TZWxlY3Q9e29uU2VsZWN0fVxyXG4gICAgICAgICAgICAgICAgICBvbkV4cGFuZD17b25FeHBhbmR9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ29sbGFwc2U9e29uQ29sbGFwc2V9XHJcbiAgICAgICAgICAgICAgICAgIGhhc1NlbGVjdGVkQnVsaz17aGFzQnVsa1NlbGVjdGVkU3ViamVjdHN9XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICkgOiA8UGFydGlhbFN1YmplY3RQcmVmZXJlbmNlcyBzdHlsZT0nZ3JpZCcgY291bnQ9ezd9IC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxQcmVmZXJlbmNlRm9vdGVyPlxyXG4gICAgICAgICAgICB7LyogRm9vdGVyIExIUyAqL31cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICB7ISFiYWNrQnV0dG9uQXBwTGluayAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QXBwTGluayBhcHBMaW5rPXtnZXRCYWNrQnV0dG9uQXBwTGluaygpfSBjbGFzc05hbWU9J2J0biBidG4tb3V0bGluZS1kYXJrJz5cclxuICAgICAgICAgICAgICAgICAgPFRleHQgcGhyYXNlPSdiYWNrJyAvPlxyXG4gICAgICAgICAgICAgICAgPC9BcHBMaW5rPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgey8qIEZvb3RlciBSSFMgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1yaWdodCc+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2QtZmxleCBtci0zJz5cclxuICAgICAgICAgICAgICAgIDxwIG9uQ2xpY2s9e29uVG9nZ2xlU2VsZWN0QWxsfSBjbGFzc05hbWU9J21yLTIgbWItMCBmb250LXdlaWdodC1ib2xkJz5cclxuICAgICAgICAgICAgICAgICAgPFRleHQgcGhyYXNlPSdhbGxTdWJqZWN0cycgLz5cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDxUb2dnbGVTd2l0Y2hcclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Ub2dnbGVTZWxlY3RBbGx9XHJcbiAgICAgICAgICAgICAgICAgIG9uPXtoYXNCdWxrU2VsZWN0ZWRTdWJqZWN0c31cclxuICAgICAgICAgICAgICAgICAgaGlkZU91dGxpbmVcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD0nZGFyaycgZGlzYWJsZWQ9e2Rpc2FibGVOZXh0fSBvbkNsaWNrPXtvblNhdmV9ID5cclxuICAgICAgICAgICAgICAgIHtzaG93U3Bpbm5lclxyXG4gICAgICAgICAgICAgICAgICA/IDxTcGlubmVyIGFzPSdzcGFuJyBhbmltYXRpb249J2JvcmRlcicgcm9sZT0nc3RhdHVzJyBzaXplPSdzbScgLz5cclxuICAgICAgICAgICAgICAgICAgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPFRleHRcclxuICAgICAgICAgICAgICAgICAgICAgIHBocmFzZT0nbmV4dCdcclxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3sgc21hcnRDb3VudDogc2VsZWN0ZWRTdWJqZWN0cy5sZW5ndGggfX1cclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9QcmVmZXJlbmNlRm9vdGVyPlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgICAgPC9TdWJqZWN0UHJlZmVyZW5jZXNDb250ZXh0LlByb3ZpZGVyPlxyXG4gICAgPC9MYW5ndWFnZU5hbWVzcGFjZUNvbnRleHQuUHJvdmlkZXI+XHJcbiAgKTtcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQUE7QUFDQTs7O0FBREE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBTUE7QUFDQTtBQUVBO0FBRUE7O0FBRUE7QUFDQTtBQUFBOzs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBYkE7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUFBO0FBQUE7QUFDQTtBQVFBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBRkE7QUFhQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/apps/subjects/views/preferences/subject-preferences/LiteSubjectPreferencesView.tsx\n");
47
47
 
48
48
  /***/ })
49
49