survey-creator-core 2.5.0 → 2.5.1

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 (151) hide show
  1. package/fesm/i18n/arabic.mjs +1 -1
  2. package/fesm/i18n/bulgarian.mjs +1 -1
  3. package/fesm/i18n/burmese.mjs +1 -1
  4. package/fesm/i18n/croatian.mjs +1 -1
  5. package/fesm/i18n/czech.mjs +1 -1
  6. package/fesm/i18n/danish.mjs +1 -1
  7. package/fesm/i18n/dutch.mjs +1 -1
  8. package/fesm/i18n/english.mjs +1 -1
  9. package/fesm/i18n/finnish.mjs +1 -1
  10. package/fesm/i18n/french.mjs +1 -1
  11. package/fesm/i18n/german.mjs +1 -1
  12. package/fesm/i18n/greek.mjs +1 -1
  13. package/fesm/i18n/haitian-creole.mjs +1 -1
  14. package/fesm/i18n/hebrew.mjs +1 -1
  15. package/fesm/i18n/hungarian.mjs +1 -1
  16. package/fesm/i18n/index.mjs +1 -1
  17. package/fesm/i18n/indonesian.mjs +1 -1
  18. package/fesm/i18n/italian.mjs +1 -1
  19. package/fesm/i18n/japanese.mjs +1 -1
  20. package/fesm/i18n/korean.mjs +1 -1
  21. package/fesm/i18n/malay.mjs +1 -1
  22. package/fesm/i18n/mongolian.mjs +1 -1
  23. package/fesm/i18n/norwegian.mjs +1 -1
  24. package/fesm/i18n/persian.mjs +1 -1
  25. package/fesm/i18n/polish.mjs +1 -1
  26. package/fesm/i18n/portuguese.mjs +1 -1
  27. package/fesm/i18n/romanian.mjs +1 -1
  28. package/fesm/i18n/russian.mjs +1 -1
  29. package/fesm/i18n/simplified-chinese.mjs +1 -1
  30. package/fesm/i18n/slovak.mjs +1 -1
  31. package/fesm/i18n/slovenian.mjs +1 -1
  32. package/fesm/i18n/spanish.mjs +1 -1
  33. package/fesm/i18n/swedish.mjs +1 -1
  34. package/fesm/i18n/tajik.mjs +1 -1
  35. package/fesm/i18n/thai.mjs +1 -1
  36. package/fesm/i18n/traditional-chinese.mjs +1 -1
  37. package/fesm/i18n/turkish.mjs +1 -1
  38. package/fesm/presets/index.mjs +32 -8
  39. package/fesm/presets/index.mjs.map +1 -1
  40. package/fesm/survey-creator-core.i18n.mjs +1 -1
  41. package/fesm/survey-creator-core.mjs +36 -6
  42. package/fesm/survey-creator-core.mjs.map +1 -1
  43. package/fesm/themes/index.mjs +1 -1
  44. package/fonts.fontless.css +1 -1
  45. package/fonts.fontless.min.css +1 -1
  46. package/i18n/arabic.js +1 -1
  47. package/i18n/arabic.min.js.LICENSE.txt +1 -1
  48. package/i18n/bulgarian.js +1 -1
  49. package/i18n/bulgarian.min.js.LICENSE.txt +1 -1
  50. package/i18n/burmese.js +1 -1
  51. package/i18n/burmese.min.js.LICENSE.txt +1 -1
  52. package/i18n/croatian.js +1 -1
  53. package/i18n/croatian.min.js.LICENSE.txt +1 -1
  54. package/i18n/czech.js +1 -1
  55. package/i18n/czech.min.js.LICENSE.txt +1 -1
  56. package/i18n/danish.js +1 -1
  57. package/i18n/danish.min.js.LICENSE.txt +1 -1
  58. package/i18n/dutch.js +1 -1
  59. package/i18n/dutch.min.js.LICENSE.txt +1 -1
  60. package/i18n/english.js +1 -1
  61. package/i18n/english.min.js.LICENSE.txt +1 -1
  62. package/i18n/finnish.js +1 -1
  63. package/i18n/finnish.min.js.LICENSE.txt +1 -1
  64. package/i18n/french.js +1 -1
  65. package/i18n/french.min.js.LICENSE.txt +1 -1
  66. package/i18n/german.js +1 -1
  67. package/i18n/german.min.js.LICENSE.txt +1 -1
  68. package/i18n/greek.js +1 -1
  69. package/i18n/greek.min.js.LICENSE.txt +1 -1
  70. package/i18n/haitian-creole.js +1 -1
  71. package/i18n/haitian-creole.min.js.LICENSE.txt +1 -1
  72. package/i18n/hebrew.js +1 -1
  73. package/i18n/hebrew.min.js.LICENSE.txt +1 -1
  74. package/i18n/hungarian.js +1 -1
  75. package/i18n/hungarian.min.js.LICENSE.txt +1 -1
  76. package/i18n/index.js +1 -1
  77. package/i18n/index.min.js.LICENSE.txt +1 -1
  78. package/i18n/indonesian.js +1 -1
  79. package/i18n/indonesian.min.js.LICENSE.txt +1 -1
  80. package/i18n/italian.js +1 -1
  81. package/i18n/italian.min.js.LICENSE.txt +1 -1
  82. package/i18n/japanese.js +1 -1
  83. package/i18n/japanese.min.js.LICENSE.txt +1 -1
  84. package/i18n/korean.js +1 -1
  85. package/i18n/korean.min.js.LICENSE.txt +1 -1
  86. package/i18n/malay.js +1 -1
  87. package/i18n/malay.min.js.LICENSE.txt +1 -1
  88. package/i18n/mongolian.js +1 -1
  89. package/i18n/mongolian.min.js.LICENSE.txt +1 -1
  90. package/i18n/norwegian.js +1 -1
  91. package/i18n/norwegian.min.js.LICENSE.txt +1 -1
  92. package/i18n/persian.js +1 -1
  93. package/i18n/persian.min.js.LICENSE.txt +1 -1
  94. package/i18n/polish.js +1 -1
  95. package/i18n/polish.min.js.LICENSE.txt +1 -1
  96. package/i18n/portuguese.js +1 -1
  97. package/i18n/portuguese.min.js.LICENSE.txt +1 -1
  98. package/i18n/romanian.js +1 -1
  99. package/i18n/romanian.min.js.LICENSE.txt +1 -1
  100. package/i18n/russian.js +1 -1
  101. package/i18n/russian.min.js.LICENSE.txt +1 -1
  102. package/i18n/simplified-chinese.js +1 -1
  103. package/i18n/simplified-chinese.min.js.LICENSE.txt +1 -1
  104. package/i18n/slovak.js +1 -1
  105. package/i18n/slovak.min.js.LICENSE.txt +1 -1
  106. package/i18n/slovenian.js +1 -1
  107. package/i18n/slovenian.min.js.LICENSE.txt +1 -1
  108. package/i18n/spanish.js +1 -1
  109. package/i18n/spanish.min.js.LICENSE.txt +1 -1
  110. package/i18n/swedish.js +1 -1
  111. package/i18n/swedish.min.js.LICENSE.txt +1 -1
  112. package/i18n/tajik.js +1 -1
  113. package/i18n/tajik.min.js.LICENSE.txt +1 -1
  114. package/i18n/thai.js +1 -1
  115. package/i18n/thai.min.js.LICENSE.txt +1 -1
  116. package/i18n/traditional-chinese.js +1 -1
  117. package/i18n/traditional-chinese.min.js.LICENSE.txt +1 -1
  118. package/i18n/turkish.js +1 -1
  119. package/i18n/turkish.min.js.LICENSE.txt +1 -1
  120. package/package.json +2 -2
  121. package/presets/index.js +6 -6
  122. package/presets/index.min.js +1 -1
  123. package/presets/index.min.js.map +1 -1
  124. package/presets/localization/english.d.ts +4 -0
  125. package/presets/presets-editable-categorized.d.ts +1 -0
  126. package/presets/presets-plugin.d.ts +1 -0
  127. package/survey-creator-core.css +3 -3
  128. package/survey-creator-core.fontless.css +2 -2
  129. package/survey-creator-core.fontless.css.map +1 -1
  130. package/survey-creator-core.fontless.min.css +2 -2
  131. package/survey-creator-core.i18n.js +1 -1
  132. package/survey-creator-core.i18n.min.js.LICENSE.txt +1 -1
  133. package/survey-creator-core.js +40 -6
  134. package/survey-creator-core.js.map +1 -1
  135. package/survey-creator-core.min.css +3 -3
  136. package/survey-creator-core.min.js +1 -1
  137. package/survey-creator-core.min.js.LICENSE.txt +1 -1
  138. package/themes/default-contrast.js +1 -1
  139. package/themes/default-contrast.min.js.LICENSE.txt +1 -1
  140. package/themes/default-dark.js +1 -1
  141. package/themes/default-dark.min.js.LICENSE.txt +1 -1
  142. package/themes/default-light.js +1 -1
  143. package/themes/default-light.min.js.LICENSE.txt +1 -1
  144. package/themes/index.js +1 -1
  145. package/themes/index.min.js.LICENSE.txt +1 -1
  146. package/themes/sc2020.js +1 -1
  147. package/themes/sc2020.min.js.LICENSE.txt +1 -1
  148. package/themes/test.js +1 -1
  149. package/themes/test.min.js.LICENSE.txt +1 -1
  150. package/typings/creator-base.d.ts +6 -1
  151. package/typings/creator-settings.d.ts +1 -0
package/presets/index.js CHANGED
@@ -76,7 +76,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
76
76
  \******************************/
77
77
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
78
78
 
79
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableBase: () => (/* reexport safe */ _presets_editable_base__WEBPACK_IMPORTED_MODULE_6__.CreatorPresetEditableBase),\n/* harmony export */ CreatorPresetEditableLanguages: () => (/* reexport safe */ _presets_editable_languages__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableLanguages),\n/* harmony export */ CreatorPresetEditableOptions: () => (/* reexport safe */ _presets_editable_options__WEBPACK_IMPORTED_MODULE_5__.CreatorPresetEditableOptions),\n/* harmony export */ CreatorPresetEditableTabs: () => (/* reexport safe */ _presets_editable_tabs__WEBPACK_IMPORTED_MODULE_4__.CreatorPresetEditableTabs),\n/* harmony export */ CreatorPresetEditableToolboxConfigurator: () => (/* reexport safe */ _presets_editable_toolbox__WEBPACK_IMPORTED_MODULE_0__.CreatorPresetEditableToolboxConfigurator),\n/* harmony export */ CreatorPresetEditorModel: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditorModel),\n/* harmony export */ NavigationBar: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.NavigationBar),\n/* harmony export */ QuestionPresetJsonModel: () => (/* reexport safe */ _preset_question_json__WEBPACK_IMPORTED_MODULE_7__.QuestionPresetJsonModel),\n/* harmony export */ TabPresetsPlugin: () => (/* reexport safe */ _presets_plugin__WEBPACK_IMPORTED_MODULE_2__.TabPresetsPlugin),\n/* harmony export */ Version: () => (/* binding */ Version),\n/* harmony export */ enStrings: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.enStrings)\n/* harmony export */ });\n/* harmony import */ var _presets_editable_toolbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./presets-editable-toolbox */ \"./src/presets/presets-editable-toolbox.ts\");\n/* harmony import */ var _presets_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editor */ \"./src/presets/presets-editor.ts\");\n/* harmony import */ var _presets_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-plugin */ \"./src/presets/presets-plugin.ts\");\n/* harmony import */ var _presets_editable_languages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-languages */ \"./src/presets/presets-editable-languages.ts\");\n/* harmony import */ var _presets_editable_tabs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./presets-editable-tabs */ \"./src/presets/presets-editable-tabs.ts\");\n/* harmony import */ var _presets_editable_options__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./presets-editable-options */ \"./src/presets/presets-editable-options.ts\");\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var _preset_question_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./preset-question-json */ \"./src/presets/preset-question-json.ts\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _presets_presets_theme_presets_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../presets/presets-theme/presets.scss */ \"./src/presets/presets-theme/presets.scss\");\n\n\n\n\n\n\n\n\n\n\nvar Version;\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nVersion = \"\".concat(\"2.5.0\");\n(0,survey_core__WEBPACK_IMPORTED_MODULE_8__.checkLibraryVersion)(Version, \"survey-creator-core-presets\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9pbmRleC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJDO0FBQ1Y7QUFDQTtBQUNZO0FBQ0w7QUFDRztBQUNIO0FBQ0Q7QUFDVztBQUNIO0FBQ3hDLElBQUksT0FBZSxDQUFDO0FBQzNCLDZEQUE2RDtBQUM3RCxZQUFZO0FBQ1osT0FBTyxHQUFHLFVBQUcsT0FBbUIsQ0FBRSxDQUFDO0FBQ25DLGdFQUFtQixDQUFDLE9BQU8sRUFBRSw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vU3VydmV5Q3JlYXRvckNvcmVQcmVzZXRzLy4vc3JjL3ByZXNldHMvaW5kZXgudHM/NWJlYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLWVkaXRhYmxlLXRvb2xib3hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldHMtZWRpdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLXBsdWdpblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1sYW5ndWFnZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldHMtZWRpdGFibGUtdGFic1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1vcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLWVkaXRhYmxlLWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldC1xdWVzdGlvbi1qc29uXCI7XG5pbXBvcnQgeyBjaGVja0xpYnJhcnlWZXJzaW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgXCIuLi9wcmVzZXRzL3ByZXNldHMtdGhlbWUvcHJlc2V0cy5zY3NzXCI7XG5leHBvcnQgbGV0IFZlcnNpb246IHN0cmluZztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbi8vQHRzLWlnbm9yZVxuVmVyc2lvbiA9IGAke3Byb2Nlc3MuZW52LlZFUlNJT059YDtcbmNoZWNrTGlicmFyeVZlcnNpb24oVmVyc2lvbiwgXCJzdXJ2ZXktY3JlYXRvci1jb3JlLXByZXNldHNcIik7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/presets/index.ts\n");
79
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableBase: () => (/* reexport safe */ _presets_editable_base__WEBPACK_IMPORTED_MODULE_6__.CreatorPresetEditableBase),\n/* harmony export */ CreatorPresetEditableLanguages: () => (/* reexport safe */ _presets_editable_languages__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableLanguages),\n/* harmony export */ CreatorPresetEditableOptions: () => (/* reexport safe */ _presets_editable_options__WEBPACK_IMPORTED_MODULE_5__.CreatorPresetEditableOptions),\n/* harmony export */ CreatorPresetEditableTabs: () => (/* reexport safe */ _presets_editable_tabs__WEBPACK_IMPORTED_MODULE_4__.CreatorPresetEditableTabs),\n/* harmony export */ CreatorPresetEditableToolboxConfigurator: () => (/* reexport safe */ _presets_editable_toolbox__WEBPACK_IMPORTED_MODULE_0__.CreatorPresetEditableToolboxConfigurator),\n/* harmony export */ CreatorPresetEditorModel: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditorModel),\n/* harmony export */ NavigationBar: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.NavigationBar),\n/* harmony export */ QuestionPresetJsonModel: () => (/* reexport safe */ _preset_question_json__WEBPACK_IMPORTED_MODULE_7__.QuestionPresetJsonModel),\n/* harmony export */ TabPresetsPlugin: () => (/* reexport safe */ _presets_plugin__WEBPACK_IMPORTED_MODULE_2__.TabPresetsPlugin),\n/* harmony export */ Version: () => (/* binding */ Version),\n/* harmony export */ enStrings: () => (/* reexport safe */ _presets_editor__WEBPACK_IMPORTED_MODULE_1__.enStrings)\n/* harmony export */ });\n/* harmony import */ var _presets_editable_toolbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./presets-editable-toolbox */ \"./src/presets/presets-editable-toolbox.ts\");\n/* harmony import */ var _presets_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editor */ \"./src/presets/presets-editor.ts\");\n/* harmony import */ var _presets_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-plugin */ \"./src/presets/presets-plugin.ts\");\n/* harmony import */ var _presets_editable_languages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-languages */ \"./src/presets/presets-editable-languages.ts\");\n/* harmony import */ var _presets_editable_tabs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./presets-editable-tabs */ \"./src/presets/presets-editable-tabs.ts\");\n/* harmony import */ var _presets_editable_options__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./presets-editable-options */ \"./src/presets/presets-editable-options.ts\");\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var _preset_question_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./preset-question-json */ \"./src/presets/preset-question-json.ts\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _presets_presets_theme_presets_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../presets/presets-theme/presets.scss */ \"./src/presets/presets-theme/presets.scss\");\n\n\n\n\n\n\n\n\n\n\nvar Version;\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nVersion = \"\".concat(\"2.5.1\");\n(0,survey_core__WEBPACK_IMPORTED_MODULE_8__.checkLibraryVersion)(Version, \"survey-creator-core-presets\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9pbmRleC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJDO0FBQ1Y7QUFDQTtBQUNZO0FBQ0w7QUFDRztBQUNIO0FBQ0Q7QUFDVztBQUNIO0FBQ3hDLElBQUksT0FBZSxDQUFDO0FBQzNCLDZEQUE2RDtBQUM3RCxZQUFZO0FBQ1osT0FBTyxHQUFHLFVBQUcsT0FBbUIsQ0FBRSxDQUFDO0FBQ25DLGdFQUFtQixDQUFDLE9BQU8sRUFBRSw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vU3VydmV5Q3JlYXRvckNvcmVQcmVzZXRzLy4vc3JjL3ByZXNldHMvaW5kZXgudHM/NWJlYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLWVkaXRhYmxlLXRvb2xib3hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldHMtZWRpdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLXBsdWdpblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1sYW5ndWFnZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldHMtZWRpdGFibGUtdGFic1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1vcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVzZXRzLWVkaXRhYmxlLWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXNldC1xdWVzdGlvbi1qc29uXCI7XG5pbXBvcnQgeyBjaGVja0xpYnJhcnlWZXJzaW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgXCIuLi9wcmVzZXRzL3ByZXNldHMtdGhlbWUvcHJlc2V0cy5zY3NzXCI7XG5leHBvcnQgbGV0IFZlcnNpb246IHN0cmluZztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbi8vQHRzLWlnbm9yZVxuVmVyc2lvbiA9IGAke3Byb2Nlc3MuZW52LlZFUlNJT059YDtcbmNoZWNrTGlicmFyeVZlcnNpb24oVmVyc2lvbiwgXCJzdXJ2ZXktY3JlYXRvci1jb3JlLXByZXNldHNcIik7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/presets/index.ts\n");
80
80
 
81
81
  /***/ }),
82
82
 
@@ -86,7 +86,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
86
86
  \*********************************************/
87
87
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
88
88
 
89
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ enStrings: () => (/* binding */ enStrings)\n/* harmony export */ });\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_0__);\n\nvar enStrings = {\n languages: {\n title: \"Languages\",\n navigationTitle: \"Languages\",\n description: \"Select the language of the Survey Creator UI and target\\nlanguages for the survey being configured.\",\n creatorUI: \"Survey Creator UI language\",\n surveyLanguages: \"Survey languages\",\n searchPlaceholder: \"Type to search...\",\n translateToEnglish: \"Translate language names to English\"\n },\n tabs: {\n title: \"Configure tabs\",\n navigationTitle: \"Tabs\",\n description: \"Select the tabs you want to show, reorder them, change their titles,\\nand choose the tab that will be active by default.\",\n items: \"Visible tabs\",\n hiddenItems: \"Hidden tabs\",\n defaultTab: \"Default tab\",\n noItemsText: \"Drag tabs here to show them\",\n noHiddenItemsText: \"Drag tabs here to hide them\",\n name: \"Name\",\n titleField: \"Title\",\n iconName: \"Icon name\"\n },\n toolbox: {\n title: \"Set up the Toolbox\",\n navigationTitle: \"Toolbox\",\n description: \"Select the toolbox items you want to show, group them into categories, \\nrename them, and change their order if required.\",\n toolbox: \"Toolbox\",\n categories: \"Categories\",\n noCategoriesText: \"No categories\",\n noItemsText: \"Drag items here to show them\",\n noHiddenItemsText: \"Drag items here to hide them\",\n hiddenItems: \"Hidden toolbox items\",\n enableGrouping: \"Enable grouping\",\n showCategoryTitles: \"Show category titles\",\n categoryName: \"Name\",\n categoryTitle: \"Title\",\n tooltip: \"Tooltip\",\n iconName: \"Icon name\",\n jsonObject: \"JSON object to apply when users select this toolbox item\",\n subitems: \"Subitems\",\n enableSubitems: \"Enable subitems for this question\",\n moveAsSubitem: \"Move as a subitem to...\",\n addToToolbox: \"Add to Toolbox\",\n deleteCustomItem: \"Delete Custom Item\",\n addCustomCategory: \"New Category\",\n addCustomItem: \"New Item\",\n addNewItem: \"Add a new item\",\n addNewSubitem: \"Add a new subitem\",\n noRowsText: \"There are no items\",\n newItem: \"New item in\",\n },\n propertyGrid: {\n title: \"Customize the Property Grid\",\n navigationTitle: \"Property Grid\",\n description: \"Hide, rename, reorder, or change property grouping in the Property Grid.\",\n selectElement: \"Select a survey element to customize\",\n propertyGrid: \"Property Grid\",\n noCategoriesText: \"No categories\",\n noItemsText: \"Drag properties here to show them\",\n noHiddenItemsText: \"Drag properties here to hide them\",\n hiddenItems: \"Hidden properties\",\n categoryName: \"Name\",\n categoryTitle: \"Title\",\n iconName: \"Icon name\",\n name: \"Name\",\n titleField: \"Title\",\n descriptionField: \"Helper text\",\n addCustomCategory: \"New Category\"\n },\n options: {\n title: \"Options\",\n navigationTitle: \"Options\",\n description: \"Detailed configuration settings for Survey Creator.\",\n },\n items: {\n addNewItem: \"Add a new item\",\n addNewSubitem: \"Add a new subitem\",\n newItem: \"New item in\",\n addCustomCategory: \"New Category\",\n newCategory: \"New category in\",\n moveToCategory: \"Move to category...\",\n moveToNewCategory: \"Move to new category\",\n categoriesLabel: \"Categories\",\n moveTo: \"Move To...\",\n removeFrom: \"Remove from {0}\",\n more: \"More\",\n restoreToDefault: \"Restore\",\n edit: \"Edit\",\n expand: \"Expand\",\n collapse: \"Collapse\",\n remove: \"Remove\",\n add: \"Add\",\n delete: \"Delete\"\n },\n editor: {\n title: \"Creator Presets\",\n presetJson: \"Preset JSON:\",\n copy: \"Copy\",\n download: \"Download\",\n load: \"Load\",\n saveExit: \"Save & Exit\",\n back: \"Back\",\n resetToDefault: \"Reset\",\n resetToDefaults: \"All settings restored to default\",\n resoredToDefault: \"resored to default\",\n itemRestoredToDefault: \"Item restored to default\",\n categoryRestoredToDefault: \"Category restored to default\",\n edit: \"Edit\",\n completeText: \"Save & Exit\",\n pagePrevText: \"Back\",\n required: \"Please enter a value.\",\n },\n plugin: {\n buttonTitle: \"UI Configuration Manager\",\n buttonDescription: \"Configure the Toolbox, Tabs, Property Grid, and other UI elements, and save the setup as a reusable preset.\",\n presetsTab: \"Presets\",\n creatorPresets: \"Creator Presets\",\n save: \"Save & Exit\",\n file: \"File\",\n import: \"Import\",\n export: \"Export\",\n edit: \"Edit\",\n resetLanguages: \"Reset Languages\",\n resetAll: \"Reset all changes\",\n resetConfirmation: \"Do you really want to reset the settings?\",\n resetConfirmationOk: \"Yes, reset the settings\",\n resetToDefaults: \"Reset {0}\",\n defaultSettings: \"Default Settings\",\n basic: \"Basic\",\n advanced: \"Advanced\",\n expert: \"Expert\"\n }\n};\nvar locale = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_0__.getLocaleStrings)(\"en\");\nlocale.presets = enStrings;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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OUQsbUJBQW1CLEVBQUUseUJBQXlCO1FBRTlDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsS0FBSyxFQUFFLE9BQU87UUFDZCxRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsUUFBUTtLQUNqQjtDQUNGLENBQUM7QUFDRixJQUFNLE1BQU0sR0FBRyxxRUFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1N1cnZleUNyZWF0b3JDb3JlUHJlc2V0cy8uL3NyYy9wcmVzZXRzL2xvY2FsaXphdGlvbi9lbmdsaXNoLnRzPzNjYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9jYWxlU3RyaW5ncyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5leHBvcnQgY29uc3QgZW5TdHJpbmdzID0ge1xuICBsYW5ndWFnZXM6IHtcbiAgICB0aXRsZTogXCJMYW5ndWFnZXNcIixcbiAgICBuYXZpZ2F0aW9uVGl0bGU6IFwiTGFuZ3VhZ2VzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2VsZWN0IHRoZSBsYW5ndWFnZSBvZiB0aGUgU3VydmV5IENyZWF0b3IgVUkgYW5kIHRhcmdldFxcbmxhbmd1YWdlcyBmb3IgdGhlIHN1cnZleSBiZWluZyBjb25maWd1cmVkLlwiLFxuICAgIGNyZWF0b3JVSTogXCJTdXJ2ZXkgQ3JlYXRvciBVSSBsYW5ndWFnZVwiLFxuICAgIHN1cnZleUxhbmd1YWdlczogXCJTdXJ2ZXkgbGFuZ3VhZ2VzXCIsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IFwiVHlwZSB0byBzZWFyY2guLi5cIixcbiAgICB0cmFuc2xhdGVUb0VuZ2xpc2g6IFwiVHJhbnNsYXRlIGxhbmd1YWdlIG5hbWVzIHRvIEVuZ2xpc2hcIlxuICB9LFxuICB0YWJzOiB7XG4gICAgdGl0bGU6IFwiQ29uZmlndXJlIHRhYnNcIixcbiAgICBuYXZpZ2F0aW9uVGl0bGU6IFwiVGFic1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlNlbGVjdCB0aGUgdGFicyB5b3Ugd2FudCB0byBzaG93LCByZW9yZGVyIHRoZW0sIGNoYW5nZSB0aGVpciB0aXRsZXMsXFxuYW5kIGNob29zZSB0aGUgdGFiIHRoYXQgd2lsbCBiZSBhY3RpdmUgYnkgZGVmYXVsdC5cIixcbiAgICBpdGVtczogXCJWaXNpYmxlIHRhYnNcIixcbiAgICBoaWRkZW5JdGVtczogXCJIaWRkZW4gdGFic1wiLFxuICAgIGRlZmF1bHRUYWI6IFwiRGVmYXVsdCB0YWJcIixcbiAgICBub0l0ZW1zVGV4dDogXCJEcmFnIHRhYnMgaGVyZSB0byBzaG93IHRoZW1cIixcbiAgICBub0hpZGRlbkl0ZW1zVGV4dDogXCJEcmFnIHRhYnMgaGVyZSB0byBoaWRlIHRoZW1cIixcbiAgICBuYW1lOiBcIk5hbWVcIixcbiAgICB0aXRsZUZpZWxkOiBcIlRpdGxlXCIsXG4gICAgaWNvbk5hbWU6IFwiSWNvbiBuYW1lXCJcbiAgfSxcbiAgdG9vbGJveDoge1xuICAgIHRpdGxlOiBcIlNldCB1cCB0aGUgVG9vbGJveFwiLFxuICAgIG5hdmlnYXRpb25UaXRsZTogXCJUb29sYm94XCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2VsZWN0IHRoZSB0b29sYm94IGl0ZW1zIHlvdSB3YW50IHRvIHNob3csIGdyb3VwIHRoZW0gaW50byBjYXRlZ29yaWVzLCBcXG5yZW5hbWUgdGhlbSwgYW5kIGNoYW5nZSB0aGVpciBvcmRlciBpZiByZXF1aXJlZC5cIixcbiAgICB0b29sYm94OiBcIlRvb2xib3hcIixcbiAgICBjYXRlZ29yaWVzOiBcIkNhdGVnb3JpZXNcIixcbiAgICBub0NhdGVnb3JpZXNUZXh0OiBcIk5vIGNhdGVnb3JpZXNcIixcbiAgICBub0l0ZW1zVGV4dDogXCJEcmFnIGl0ZW1zIGhlcmUgdG8gc2hvdyB0aGVtXCIsXG4gICAgbm9IaWRkZW5JdGVtc1RleHQ6IFwiRHJhZyBpdGVtcyBoZXJlIHRvIGhpZGUgdGhlbVwiLFxuICAgIGhpZGRlbkl0ZW1zOiBcIkhpZGRlbiB0b29sYm94IGl0ZW1zXCIsXG4gICAgZW5hYmxlR3JvdXBpbmc6IFwiRW5hYmxlIGdyb3VwaW5nXCIsXG4gICAgc2hvd0NhdGVnb3J5VGl0bGVzOiBcIlNob3cgY2F0ZWdvcnkgdGl0bGVzXCIsXG4gICAgY2F0ZWdvcnlOYW1lOiBcIk5hbWVcIixcbiAgICBjYXRlZ29yeVRpdGxlOiBcIlRpdGxlXCIsXG4gICAgdG9vbHRpcDogXCJUb29sdGlwXCIsXG4gICAgaWNvbk5hbWU6IFwiSWNvbiBuYW1lXCIsXG4gICAganNvbk9iamVjdDogXCJKU09OIG9iamVjdCB0byBhcHBseSB3aGVuIHVzZXJzIHNlbGVjdCB0aGlzIHRvb2xib3ggaXRlbVwiLFxuICAgIHN1Yml0ZW1zOiBcIlN1Yml0ZW1zXCIsXG4gICAgZW5hYmxlU3ViaXRlbXM6IFwiRW5hYmxlIHN1Yml0ZW1zIGZvciB0aGlzIHF1ZXN0aW9uXCIsXG4gICAgbW92ZUFzU3ViaXRlbTogXCJNb3ZlIGFzIGEgc3ViaXRlbSB0by4uLlwiLFxuICAgIGFkZFRvVG9vbGJveDogXCJBZGQgdG8gVG9vbGJveFwiLFxuICAgIGRlbGV0ZUN1c3RvbUl0ZW06IFwiRGVsZXRlIEN1c3RvbSBJdGVtXCIsXG4gICAgYWRkQ3VzdG9tQ2F0ZWdvcnk6IFwiTmV3IENhdGVnb3J5XCIsXG4gICAgYWRkQ3VzdG9tSXRlbTogXCJOZXcgSXRlbVwiLFxuICAgIGFkZE5ld0l0ZW06IFwiQWRkIGEgbmV3IGl0ZW1cIixcbiAgICBhZGROZXdTdWJpdGVtOiBcIkFkZCBhIG5ldyBzdWJpdGVtXCIsXG4gICAgbm9Sb3dzVGV4dDogXCJUaGVyZSBhcmUgbm8gaXRlbXNcIixcbiAgICBuZXdJdGVtOiBcIk5ldyBpdGVtIGluXCIsXG4gIH0sXG4gIHByb3BlcnR5R3JpZDoge1xuICAgIHRpdGxlOiBcIkN1c3RvbWl6ZSB0aGUgUHJvcGVydHkgR3JpZFwiLFxuICAgIG5hdmlnYXRpb25UaXRsZTogXCJQcm9wZXJ0eSBHcmlkXCIsXG4gICAgZGVzY3JpcHRpb246IFwiSGlkZSwgcmVuYW1lLCByZW9yZGVyLCBvciBjaGFuZ2UgcHJvcGVydHkgZ3JvdXBpbmcgaW4gdGhlIFByb3BlcnR5IEdyaWQuXCIsXG4gICAgc2VsZWN0RWxlbWVudDogXCJTZWxlY3QgYSBzdXJ2ZXkgZWxlbWVudCB0byBjdXN0b21pemVcIixcbiAgICBwcm9wZXJ0eUdyaWQ6IFwiUHJvcGVydHkgR3JpZFwiLFxuICAgIG5vQ2F0ZWdvcmllc1RleHQ6IFwiTm8gY2F0ZWdvcmllc1wiLFxuICAgIG5vSXRlbXNUZXh0OiBcIkRyYWcgcHJvcGVydGllcyBoZXJlIHRvIHNob3cgdGhlbVwiLFxuICAgIG5vSGlkZGVuSXRlbXNUZXh0OiBcIkRyYWcgcHJvcGVydGllcyBoZXJlIHRvIGhpZGUgdGhlbVwiLFxuICAgIGhpZGRlbkl0ZW1zOiBcIkhpZGRlbiBwcm9wZXJ0aWVzXCIsXG4gICAgY2F0ZWdvcnlOYW1lOiBcIk5hbWVcIixcbiAgICBjYXRlZ29yeVRpdGxlOiBcIlRpdGxlXCIsXG4gICAgaWNvbk5hbWU6IFwiSWNvbiBuYW1lXCIsXG4gICAgbmFtZTogXCJOYW1lXCIsXG4gICAgdGl0bGVGaWVsZDogXCJUaXRsZVwiLFxuICAgIGRlc2NyaXB0aW9uRmllbGQ6IFwiSGVscGVyIHRleHRcIixcbiAgICBhZGRDdXN0b21DYXRlZ29yeTogXCJOZXcgQ2F0ZWdvcnlcIlxuICB9LFxuICBvcHRpb25zOiB7XG4gICAgdGl0bGU6IFwiT3B0aW9uc1wiLFxuICAgIG5hdmlnYXRpb25UaXRsZTogXCJPcHRpb25zXCIsXG4gICAgZGVzY3JpcHRpb246IFwiRGV0YWlsZWQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgU3VydmV5IENyZWF0b3IuXCIsXG4gIH0sXG4gIGl0ZW1zOiB7XG4gICAgYWRkTmV3SXRlbTogXCJBZGQgYSBuZXcgaXRlbVwiLFxuICAgIGFkZE5ld1N1Yml0ZW06IFwiQWRkIGEgbmV3IHN1Yml0ZW1cIixcbiAgICBuZXdJdGVtOiBcIk5ldyBpdGVtIGluXCIsXG4gICAgYWRkQ3VzdG9tQ2F0ZWdvcnk6IFwiTmV3IENhdGVnb3J5XCIsXG4gICAgbmV3Q2F0ZWdvcnk6IFwiTmV3IGNhdGVnb3J5IGluXCIsXG4gICAgbW92ZVRvQ2F0ZWdvcnk6IFwiTW92ZSB0byBjYXRlZ29yeS4uLlwiLFxuICAgIG1vdmVUb05ld0NhdGVnb3J5OiBcIk1vdmUgdG8gbmV3IGNhdGVnb3J5XCIsXG4gICAgY2F0ZWdvcmllc0xhYmVsOiBcIkNhdGVnb3JpZXNcIixcbiAgICBtb3ZlVG86IFwiTW92ZSBUby4uLlwiLFxuICAgIHJlbW92ZUZyb206IFwiUmVtb3ZlIGZyb20gezB9XCIsXG4gICAgbW9yZTogXCJNb3JlXCIsXG4gICAgcmVzdG9yZVRvRGVmYXVsdDogXCJSZXN0b3JlXCIsXG4gICAgZWRpdDogXCJFZGl0XCIsXG4gICAgZXhwYW5kOiBcIkV4cGFuZFwiLFxuICAgIGNvbGxhcHNlOiBcIkNvbGxhcHNlXCIsXG4gICAgcmVtb3ZlOiBcIlJlbW92ZVwiLFxuICAgIGFkZDogXCJBZGRcIixcbiAgICBkZWxldGU6IFwiRGVsZXRlXCJcbiAgfSxcbiAgZWRpdG9yOiB7XG4gICAgdGl0bGU6IFwiQ3JlYXRvciBQcmVzZXRzXCIsXG4gICAgcHJlc2V0SnNvbjogXCJQcmVzZXQgSlNPTjpcIixcbiAgICBjb3B5OiBcIkNvcHlcIixcbiAgICBkb3dubG9hZDogXCJEb3dubG9hZFwiLFxuICAgIGxvYWQ6IFwiTG9hZFwiLFxuICAgIHNhdmVFeGl0OiBcIlNhdmUgJiBFeGl0XCIsXG4gICAgYmFjazogXCJCYWNrXCIsXG4gICAgcmVzZXRUb0RlZmF1bHQ6IFwiUmVzZXRcIixcbiAgICByZXNldFRvRGVmYXVsdHM6IFwiQWxsIHNldHRpbmdzIHJlc3RvcmVkIHRvIGRlZmF1bHRcIixcbiAgICByZXNvcmVkVG9EZWZhdWx0OiBcInJlc29yZWQgdG8gZGVmYXVsdFwiLFxuICAgIGl0ZW1SZXN0b3JlZFRvRGVmYXVsdDogXCJJdGVtIHJlc3RvcmVkIHRvIGRlZmF1bHRcIixcbiAgICBjYXRlZ29yeVJlc3RvcmVkVG9EZWZhdWx0OiBcIkNhdGVnb3J5IHJlc3RvcmVkIHRvIGRlZmF1bHRcIixcbiAgICBlZGl0OiBcIkVkaXRcIixcbiAgICBjb21wbGV0ZVRleHQ6IFwiU2F2ZSAmIEV4aXRcIixcbiAgICBwYWdlUHJldlRleHQ6IFwiQmFja1wiLFxuICAgIHJlcXVpcmVkOiBcIlBsZWFzZSBlbnRlciBhIHZhbHVlLlwiLFxuICB9LFxuICBwbHVnaW46IHtcbiAgICBidXR0b25UaXRsZTogXCJVSSBDb25maWd1cmF0aW9uIE1hbmFnZXJcIixcbiAgICBidXR0b25EZXNjcmlwdGlvbjogXCJDb25maWd1cmUgdGhlIFRvb2xib3gsIFRhYnMsIFByb3BlcnR5IEdyaWQsIGFuZCBvdGhlciBVSSBlbGVtZW50cywgYW5kIHNhdmUgdGhlIHNldHVwIGFzIGEgcmV1c2FibGUgcHJlc2V0LlwiLFxuICAgIHByZXNldHNUYWI6IFwiUHJlc2V0c1wiLFxuICAgIGNyZWF0b3JQcmVzZXRzOiBcIkNyZWF0b3IgUHJlc2V0c1wiLFxuICAgIHNhdmU6IFwiU2F2ZSAmIEV4aXRcIixcbiAgICBmaWxlOiBcIkZpbGVcIixcbiAgICBpbXBvcnQ6IFwiSW1wb3J0XCIsXG4gICAgZXhwb3J0OiBcIkV4cG9ydFwiLFxuICAgIGVkaXQ6IFwiRWRpdFwiLFxuICAgIHJlc2V0TGFuZ3VhZ2VzOiBcIlJlc2V0IExhbmd1YWdlc1wiLFxuICAgIHJlc2V0QWxsOiBcIlJlc2V0IGFsbCBjaGFuZ2VzXCIsXG4gICAgcmVzZXRDb25maXJtYXRpb246IFwiRG8geW91IHJlYWxseSB3YW50IHRvIHJlc2V0IHRoZSBzZXR0aW5ncz9cIixcbiAgICByZXNldENvbmZpcm1hdGlvbk9rOiBcIlllcywgcmVzZXQgdGhlIHNldHRpbmdzXCIsXG5cbiAgICByZXNldFRvRGVmYXVsdHM6IFwiUmVzZXQgezB9XCIsXG4gICAgZGVmYXVsdFNldHRpbmdzOiBcIkRlZmF1bHQgU2V0dGluZ3NcIixcbiAgICBiYXNpYzogXCJCYXNpY1wiLFxuICAgIGFkdmFuY2VkOiBcIkFkdmFuY2VkXCIsXG4gICAgZXhwZXJ0OiBcIkV4cGVydFwiXG4gIH1cbn07XG5jb25zdCBsb2NhbGUgPSBnZXRMb2NhbGVTdHJpbmdzKFwiZW5cIik7XG5sb2NhbGUucHJlc2V0cyA9IGVuU3RyaW5nczsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/presets/localization/english.ts\n");
89
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ enStrings: () => (/* binding */ enStrings)\n/* harmony export */ });\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_0__);\n\nvar enStrings = {\n languages: {\n title: \"Languages\",\n navigationTitle: \"Languages\",\n description: \"Select the language of the Survey Creator UI and target\\nlanguages for the survey being configured.\",\n creatorUI: \"Survey Creator UI language\",\n surveyLanguages: \"Survey languages\",\n searchPlaceholder: \"Type to search...\",\n translateToEnglish: \"Translate language names to English\"\n },\n tabs: {\n title: \"Configure tabs\",\n navigationTitle: \"Tabs\",\n description: \"Select the tabs you want to show, reorder them, change their titles,\\nand choose the tab that will be active by default.\",\n items: \"Visible tabs\",\n hiddenItems: \"Hidden tabs\",\n defaultTab: \"Default tab\",\n noItemsText: \"Drag tabs here to show them\",\n noHiddenItemsText: \"Drag tabs here to hide them\",\n name: \"Name\",\n titleField: \"Title\",\n iconName: \"Icon name\"\n },\n toolbox: {\n title: \"Set up the Toolbox\",\n navigationTitle: \"Toolbox\",\n description: \"Select the toolbox items you want to show, group them into categories, \\nrename them, and change their order if required.\",\n toolbox: \"Toolbox\",\n categories: \"Categories\",\n noCategoriesText: \"No categories\",\n noItemsText: \"Drag items here to show them\",\n noHiddenItemsText: \"Drag items here to hide them\",\n hiddenItems: \"Hidden toolbox items\",\n enableGrouping: \"Enable grouping\",\n showCategoryTitles: \"Show category titles\",\n categoryName: \"Name\",\n categoryTitle: \"Title\",\n tooltip: \"Tooltip\",\n iconName: \"Icon name\",\n jsonObject: \"JSON object to apply when users select this toolbox item\",\n subitems: \"Subitems\",\n enableSubitems: \"Enable subitems for this question\",\n moveAsSubitem: \"Move as a subitem to...\",\n addToToolbox: \"Add to Toolbox\",\n deleteCustomItem: \"Delete Custom Item\",\n addCustomCategory: \"New Category\",\n addCustomItem: \"New Item\",\n addNewItem: \"Add a new item\",\n addNewSubitem: \"Add a new subitem\",\n noRowsText: \"There are no items\",\n newItem: \"New item in\",\n },\n propertyGrid: {\n title: \"Customize the Property Grid\",\n navigationTitle: \"Property Grid\",\n description: \"Hide, rename, reorder, or change property grouping in the Property Grid.\",\n selectElement: \"Select a survey element to customize\",\n propertyGrid: \"Property Grid\",\n noCategoriesText: \"No categories\",\n noItemsText: \"Drag properties here to show them\",\n noHiddenItemsText: \"Drag properties here to hide them\",\n hiddenItems: \"Hidden properties\",\n categoryName: \"Name\",\n categoryTitle: \"Title\",\n iconName: \"Icon name\",\n name: \"Name\",\n titleField: \"Title\",\n descriptionField: \"Helper text\",\n addCustomCategory: \"New Category\"\n },\n options: {\n title: \"Options\",\n navigationTitle: \"Options\",\n description: \"Detailed configuration settings for Survey Creator.\",\n },\n items: {\n addNewItem: \"Add a new item\",\n addNewSubitem: \"Add a new subitem\",\n newItem: \"New item in\",\n addCustomCategory: \"New Category\",\n newCategory: \"New category in\",\n moveToCategory: \"Move to category...\",\n moveToNewCategory: \"Move to new category\",\n categoriesLabel: \"Categories\",\n moveTo: \"Move To...\",\n removeFrom: \"Remove from {0}\",\n more: \"More\",\n restoreToDefault: \"Restore\",\n edit: \"Edit\",\n expand: \"Expand\",\n collapse: \"Collapse\",\n remove: \"Remove\",\n add: \"Add\",\n delete: \"Delete\"\n },\n editor: {\n title: \"Creator Presets\",\n presetJson: \"Preset JSON:\",\n copy: \"Copy\",\n download: \"Download\",\n load: \"Load\",\n saveExit: \"Save & Exit\",\n back: \"Back\",\n resetToDefault: \"Reset\",\n resetToDefaults: \"All settings restored to default\",\n resoredToDefault: \"resored to default\",\n itemRestoredToDefault: \"Item restored to default\",\n categoryRestoredToDefault: \"Category restored to default\",\n edit: \"Edit\",\n completeText: \"Save & Exit\",\n pagePrevText: \"Back\",\n required: \"Please enter a value.\",\n },\n plugin: {\n buttonTitle: \"UI Configuration Manager\",\n buttonDescription: \"Configure the Toolbox, Tabs, Property Grid, and other UI elements, and save the setup as a reusable preset.\",\n presetsTab: \"Presets\",\n creatorPresets: \"Creator Presets\",\n save: \"Save & Exit\",\n file: \"File\",\n import: \"Import\",\n export: \"Export\",\n edit: \"Edit\",\n resetLanguages: \"Reset Languages\",\n resetAll: \"Reset all changes\",\n resetConfirmation: \"Do you really want to reset the settings?\",\n resetConfirmationOk: \"Yes, reset the settings\",\n resetToDefaults: \"Reset {0}\",\n defaultSettings: \"Default Settings\",\n basic: \"Basic\",\n advanced: \"Advanced\",\n expert: \"Expert\",\n license: \"<a href='https://surveyjs.io/' target='_blank'>UI Preset Editor</a> is available only with a PRO license. To use it in your application, please <a href='https://surveyjs.io/manage#renewals-and-upgrades' target='_blank'>upgrade your license</a>.\",\n license2: \"Your maintenance subscription expired on {date}. You may continue using all <a href='https://surveyjs.io/stay-updated/release-notes' target='_blank'>versions released up to that date</a>. To remove this banner in the latest version, please <a href='https://surveyjs.io/manage#license-manager' target='_blank'>renew your subscription</a> and <a href='https://surveyjs.io/remove-alert-banner' target='_blank'>set up a new license key</a>. Please note <a href='https://surveyjs.io/' target='_blank'>UI Preset Editor</a> is available to all users with an active PRO license.\",\n licenseCreator: \"To use the Survey Creator plugin in your application, a <a href='https://surveyjs.io/licensing' target='_blank'>developer license</a> is required. If you have an active license, please <a href='https://surveyjs.io/remove-alert-banner' target='_blank'>set up your license key</a> and ensure you're using the <a href='https://surveyjs.io/stay-updated/release-notes' target='_blank'>latest version</a>. Please note <a href='https://surveyjs.io/' target='_blank'>UI Preset Editor</a> is included only in the PRO license tier.\",\n licenseCreator2: \"Your maintenance subscription expired on {date}. You may continue using all <a href='https://surveyjs.io/stay-updated/release-notes' target='_blank'>versions released up to that date</a>. To remove this banner in the latest version, please <a href='https://surveyjs.io/manage#license-manager' target='_blank'>renew your subscription</a> and <a href='https://surveyjs.io/remove-alert-banner' target='_blank'>set up a new license key</a>. Please note <a href='https://surveyjs.io/' target='_blank'>UI Preset Editor</a> is included only in the PRO license tier. To use it in your application, please also <a href='https://surveyjs.io/manage#renewals-and-upgrades' target='_blank'>upgrade your license</a>.\"\n }\n};\nvar locale = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_0__.getLocaleStrings)(\"en\");\nlocale.presets = enStrings;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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OUQsbUJBQW1CLEVBQUUseUJBQXlCO1FBRTlDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsS0FBSyxFQUFFLE9BQU87UUFDZCxRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsc1BBQXNQO1FBQy9QLFFBQVEsRUFBRSw0akJBQTRqQjtRQUN0a0IsY0FBYyxFQUFFLDJnQkFBMmdCO1FBQzNoQixlQUFlLEVBQUUsZ3NCQUFnc0I7S0FDbHRCO0NBQ0YsQ0FBQztBQUNGLElBQU0sTUFBTSxHQUFHLHFFQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vU3VydmV5Q3JlYXRvckNvcmVQcmVzZXRzLy4vc3JjL3ByZXNldHMvbG9jYWxpemF0aW9uL2VuZ2xpc2gudHM/M2NjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2NhbGVTdHJpbmdzIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmV4cG9ydCBjb25zdCBlblN0cmluZ3MgPSB7XG4gIGxhbmd1YWdlczoge1xuICAgIHRpdGxlOiBcIkxhbmd1YWdlc1wiLFxuICAgIG5hdmlnYXRpb25UaXRsZTogXCJMYW5ndWFnZXNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTZWxlY3QgdGhlIGxhbmd1YWdlIG9mIHRoZSBTdXJ2ZXkgQ3JlYXRvciBVSSBhbmQgdGFyZ2V0XFxubGFuZ3VhZ2VzIGZvciB0aGUgc3VydmV5IGJlaW5nIGNvbmZpZ3VyZWQuXCIsXG4gICAgY3JlYXRvclVJOiBcIlN1cnZleSBDcmVhdG9yIFVJIGxhbmd1YWdlXCIsXG4gICAgc3VydmV5TGFuZ3VhZ2VzOiBcIlN1cnZleSBsYW5ndWFnZXNcIixcbiAgICBzZWFyY2hQbGFjZWhvbGRlcjogXCJUeXBlIHRvIHNlYXJjaC4uLlwiLFxuICAgIHRyYW5zbGF0ZVRvRW5nbGlzaDogXCJUcmFuc2xhdGUgbGFuZ3VhZ2UgbmFtZXMgdG8gRW5nbGlzaFwiXG4gIH0sXG4gIHRhYnM6IHtcbiAgICB0aXRsZTogXCJDb25maWd1cmUgdGFic1wiLFxuICAgIG5hdmlnYXRpb25UaXRsZTogXCJUYWJzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2VsZWN0IHRoZSB0YWJzIHlvdSB3YW50IHRvIHNob3csIHJlb3JkZXIgdGhlbSwgY2hhbmdlIHRoZWlyIHRpdGxlcyxcXG5hbmQgY2hvb3NlIHRoZSB0YWIgdGhhdCB3aWxsIGJlIGFjdGl2ZSBieSBkZWZhdWx0LlwiLFxuICAgIGl0ZW1zOiBcIlZpc2libGUgdGFic1wiLFxuICAgIGhpZGRlbkl0ZW1zOiBcIkhpZGRlbiB0YWJzXCIsXG4gICAgZGVmYXVsdFRhYjogXCJEZWZhdWx0IHRhYlwiLFxuICAgIG5vSXRlbXNUZXh0OiBcIkRyYWcgdGFicyBoZXJlIHRvIHNob3cgdGhlbVwiLFxuICAgIG5vSGlkZGVuSXRlbXNUZXh0OiBcIkRyYWcgdGFicyBoZXJlIHRvIGhpZGUgdGhlbVwiLFxuICAgIG5hbWU6IFwiTmFtZVwiLFxuICAgIHRpdGxlRmllbGQ6IFwiVGl0bGVcIixcbiAgICBpY29uTmFtZTogXCJJY29uIG5hbWVcIlxuICB9LFxuICB0b29sYm94OiB7XG4gICAgdGl0bGU6IFwiU2V0IHVwIHRoZSBUb29sYm94XCIsXG4gICAgbmF2aWdhdGlvblRpdGxlOiBcIlRvb2xib3hcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTZWxlY3QgdGhlIHRvb2xib3ggaXRlbXMgeW91IHdhbnQgdG8gc2hvdywgZ3JvdXAgdGhlbSBpbnRvIGNhdGVnb3JpZXMsIFxcbnJlbmFtZSB0aGVtLCBhbmQgY2hhbmdlIHRoZWlyIG9yZGVyIGlmIHJlcXVpcmVkLlwiLFxuICAgIHRvb2xib3g6IFwiVG9vbGJveFwiLFxuICAgIGNhdGVnb3JpZXM6IFwiQ2F0ZWdvcmllc1wiLFxuICAgIG5vQ2F0ZWdvcmllc1RleHQ6IFwiTm8gY2F0ZWdvcmllc1wiLFxuICAgIG5vSXRlbXNUZXh0OiBcIkRyYWcgaXRlbXMgaGVyZSB0byBzaG93IHRoZW1cIixcbiAgICBub0hpZGRlbkl0ZW1zVGV4dDogXCJEcmFnIGl0ZW1zIGhlcmUgdG8gaGlkZSB0aGVtXCIsXG4gICAgaGlkZGVuSXRlbXM6IFwiSGlkZGVuIHRvb2xib3ggaXRlbXNcIixcbiAgICBlbmFibGVHcm91cGluZzogXCJFbmFibGUgZ3JvdXBpbmdcIixcbiAgICBzaG93Q2F0ZWdvcnlUaXRsZXM6IFwiU2hvdyBjYXRlZ29yeSB0aXRsZXNcIixcbiAgICBjYXRlZ29yeU5hbWU6IFwiTmFtZVwiLFxuICAgIGNhdGVnb3J5VGl0bGU6IFwiVGl0bGVcIixcbiAgICB0b29sdGlwOiBcIlRvb2x0aXBcIixcbiAgICBpY29uTmFtZTogXCJJY29uIG5hbWVcIixcbiAgICBqc29uT2JqZWN0OiBcIkpTT04gb2JqZWN0IHRvIGFwcGx5IHdoZW4gdXNlcnMgc2VsZWN0IHRoaXMgdG9vbGJveCBpdGVtXCIsXG4gICAgc3ViaXRlbXM6IFwiU3ViaXRlbXNcIixcbiAgICBlbmFibGVTdWJpdGVtczogXCJFbmFibGUgc3ViaXRlbXMgZm9yIHRoaXMgcXVlc3Rpb25cIixcbiAgICBtb3ZlQXNTdWJpdGVtOiBcIk1vdmUgYXMgYSBzdWJpdGVtIHRvLi4uXCIsXG4gICAgYWRkVG9Ub29sYm94OiBcIkFkZCB0byBUb29sYm94XCIsXG4gICAgZGVsZXRlQ3VzdG9tSXRlbTogXCJEZWxldGUgQ3VzdG9tIEl0ZW1cIixcbiAgICBhZGRDdXN0b21DYXRlZ29yeTogXCJOZXcgQ2F0ZWdvcnlcIixcbiAgICBhZGRDdXN0b21JdGVtOiBcIk5ldyBJdGVtXCIsXG4gICAgYWRkTmV3SXRlbTogXCJBZGQgYSBuZXcgaXRlbVwiLFxuICAgIGFkZE5ld1N1Yml0ZW06IFwiQWRkIGEgbmV3IHN1Yml0ZW1cIixcbiAgICBub1Jvd3NUZXh0OiBcIlRoZXJlIGFyZSBubyBpdGVtc1wiLFxuICAgIG5ld0l0ZW06IFwiTmV3IGl0ZW0gaW5cIixcbiAgfSxcbiAgcHJvcGVydHlHcmlkOiB7XG4gICAgdGl0bGU6IFwiQ3VzdG9taXplIHRoZSBQcm9wZXJ0eSBHcmlkXCIsXG4gICAgbmF2aWdhdGlvblRpdGxlOiBcIlByb3BlcnR5IEdyaWRcIixcbiAgICBkZXNjcmlwdGlvbjogXCJIaWRlLCByZW5hbWUsIHJlb3JkZXIsIG9yIGNoYW5nZSBwcm9wZXJ0eSBncm91cGluZyBpbiB0aGUgUHJvcGVydHkgR3JpZC5cIixcbiAgICBzZWxlY3RFbGVtZW50OiBcIlNlbGVjdCBhIHN1cnZleSBlbGVtZW50IHRvIGN1c3RvbWl6ZVwiLFxuICAgIHByb3BlcnR5R3JpZDogXCJQcm9wZXJ0eSBHcmlkXCIsXG4gICAgbm9DYXRlZ29yaWVzVGV4dDogXCJObyBjYXRlZ29yaWVzXCIsXG4gICAgbm9JdGVtc1RleHQ6IFwiRHJhZyBwcm9wZXJ0aWVzIGhlcmUgdG8gc2hvdyB0aGVtXCIsXG4gICAgbm9IaWRkZW5JdGVtc1RleHQ6IFwiRHJhZyBwcm9wZXJ0aWVzIGhlcmUgdG8gaGlkZSB0aGVtXCIsXG4gICAgaGlkZGVuSXRlbXM6IFwiSGlkZGVuIHByb3BlcnRpZXNcIixcbiAgICBjYXRlZ29yeU5hbWU6IFwiTmFtZVwiLFxuICAgIGNhdGVnb3J5VGl0bGU6IFwiVGl0bGVcIixcbiAgICBpY29uTmFtZTogXCJJY29uIG5hbWVcIixcbiAgICBuYW1lOiBcIk5hbWVcIixcbiAgICB0aXRsZUZpZWxkOiBcIlRpdGxlXCIsXG4gICAgZGVzY3JpcHRpb25GaWVsZDogXCJIZWxwZXIgdGV4dFwiLFxuICAgIGFkZEN1c3RvbUNhdGVnb3J5OiBcIk5ldyBDYXRlZ29yeVwiXG4gIH0sXG4gIG9wdGlvbnM6IHtcbiAgICB0aXRsZTogXCJPcHRpb25zXCIsXG4gICAgbmF2aWdhdGlvblRpdGxlOiBcIk9wdGlvbnNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJEZXRhaWxlZCBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBTdXJ2ZXkgQ3JlYXRvci5cIixcbiAgfSxcbiAgaXRlbXM6IHtcbiAgICBhZGROZXdJdGVtOiBcIkFkZCBhIG5ldyBpdGVtXCIsXG4gICAgYWRkTmV3U3ViaXRlbTogXCJBZGQgYSBuZXcgc3ViaXRlbVwiLFxuICAgIG5ld0l0ZW06IFwiTmV3IGl0ZW0gaW5cIixcbiAgICBhZGRDdXN0b21DYXRlZ29yeTogXCJOZXcgQ2F0ZWdvcnlcIixcbiAgICBuZXdDYXRlZ29yeTogXCJOZXcgY2F0ZWdvcnkgaW5cIixcbiAgICBtb3ZlVG9DYXRlZ29yeTogXCJNb3ZlIHRvIGNhdGVnb3J5Li4uXCIsXG4gICAgbW92ZVRvTmV3Q2F0ZWdvcnk6IFwiTW92ZSB0byBuZXcgY2F0ZWdvcnlcIixcbiAgICBjYXRlZ29yaWVzTGFiZWw6IFwiQ2F0ZWdvcmllc1wiLFxuICAgIG1vdmVUbzogXCJNb3ZlIFRvLi4uXCIsXG4gICAgcmVtb3ZlRnJvbTogXCJSZW1vdmUgZnJvbSB7MH1cIixcbiAgICBtb3JlOiBcIk1vcmVcIixcbiAgICByZXN0b3JlVG9EZWZhdWx0OiBcIlJlc3RvcmVcIixcbiAgICBlZGl0OiBcIkVkaXRcIixcbiAgICBleHBhbmQ6IFwiRXhwYW5kXCIsXG4gICAgY29sbGFwc2U6IFwiQ29sbGFwc2VcIixcbiAgICByZW1vdmU6IFwiUmVtb3ZlXCIsXG4gICAgYWRkOiBcIkFkZFwiLFxuICAgIGRlbGV0ZTogXCJEZWxldGVcIlxuICB9LFxuICBlZGl0b3I6IHtcbiAgICB0aXRsZTogXCJDcmVhdG9yIFByZXNldHNcIixcbiAgICBwcmVzZXRKc29uOiBcIlByZXNldCBKU09OOlwiLFxuICAgIGNvcHk6IFwiQ29weVwiLFxuICAgIGRvd25sb2FkOiBcIkRvd25sb2FkXCIsXG4gICAgbG9hZDogXCJMb2FkXCIsXG4gICAgc2F2ZUV4aXQ6IFwiU2F2ZSAmIEV4aXRcIixcbiAgICBiYWNrOiBcIkJhY2tcIixcbiAgICByZXNldFRvRGVmYXVsdDogXCJSZXNldFwiLFxuICAgIHJlc2V0VG9EZWZhdWx0czogXCJBbGwgc2V0dGluZ3MgcmVzdG9yZWQgdG8gZGVmYXVsdFwiLFxuICAgIHJlc29yZWRUb0RlZmF1bHQ6IFwicmVzb3JlZCB0byBkZWZhdWx0XCIsXG4gICAgaXRlbVJlc3RvcmVkVG9EZWZhdWx0OiBcIkl0ZW0gcmVzdG9yZWQgdG8gZGVmYXVsdFwiLFxuICAgIGNhdGVnb3J5UmVzdG9yZWRUb0RlZmF1bHQ6IFwiQ2F0ZWdvcnkgcmVzdG9yZWQgdG8gZGVmYXVsdFwiLFxuICAgIGVkaXQ6IFwiRWRpdFwiLFxuICAgIGNvbXBsZXRlVGV4dDogXCJTYXZlICYgRXhpdFwiLFxuICAgIHBhZ2VQcmV2VGV4dDogXCJCYWNrXCIsXG4gICAgcmVxdWlyZWQ6IFwiUGxlYXNlIGVudGVyIGEgdmFsdWUuXCIsXG4gIH0sXG4gIHBsdWdpbjoge1xuICAgIGJ1dHRvblRpdGxlOiBcIlVJIENvbmZpZ3VyYXRpb24gTWFuYWdlclwiLFxuICAgIGJ1dHRvbkRlc2NyaXB0aW9uOiBcIkNvbmZpZ3VyZSB0aGUgVG9vbGJveCwgVGFicywgUHJvcGVydHkgR3JpZCwgYW5kIG90aGVyIFVJIGVsZW1lbnRzLCBhbmQgc2F2ZSB0aGUgc2V0dXAgYXMgYSByZXVzYWJsZSBwcmVzZXQuXCIsXG4gICAgcHJlc2V0c1RhYjogXCJQcmVzZXRzXCIsXG4gICAgY3JlYXRvclByZXNldHM6IFwiQ3JlYXRvciBQcmVzZXRzXCIsXG4gICAgc2F2ZTogXCJTYXZlICYgRXhpdFwiLFxuICAgIGZpbGU6IFwiRmlsZVwiLFxuICAgIGltcG9ydDogXCJJbXBvcnRcIixcbiAgICBleHBvcnQ6IFwiRXhwb3J0XCIsXG4gICAgZWRpdDogXCJFZGl0XCIsXG4gICAgcmVzZXRMYW5ndWFnZXM6IFwiUmVzZXQgTGFuZ3VhZ2VzXCIsXG4gICAgcmVzZXRBbGw6IFwiUmVzZXQgYWxsIGNoYW5nZXNcIixcbiAgICByZXNldENvbmZpcm1hdGlvbjogXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcmVzZXQgdGhlIHNldHRpbmdzP1wiLFxuICAgIHJlc2V0Q29uZmlybWF0aW9uT2s6IFwiWWVzLCByZXNldCB0aGUgc2V0dGluZ3NcIixcblxuICAgIHJlc2V0VG9EZWZhdWx0czogXCJSZXNldCB7MH1cIixcbiAgICBkZWZhdWx0U2V0dGluZ3M6IFwiRGVmYXVsdCBTZXR0aW5nc1wiLFxuICAgIGJhc2ljOiBcIkJhc2ljXCIsXG4gICAgYWR2YW5jZWQ6IFwiQWR2YW5jZWRcIixcbiAgICBleHBlcnQ6IFwiRXhwZXJ0XCIsXG4gICAgbGljZW5zZTogXCI8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvLycgdGFyZ2V0PSdfYmxhbmsnPlVJIFByZXNldCBFZGl0b3I8L2E+IGlzIGF2YWlsYWJsZSBvbmx5IHdpdGggYSBQUk8gbGljZW5zZS4gVG8gdXNlIGl0IGluIHlvdXIgYXBwbGljYXRpb24sIHBsZWFzZSA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL21hbmFnZSNyZW5ld2Fscy1hbmQtdXBncmFkZXMnIHRhcmdldD0nX2JsYW5rJz51cGdyYWRlIHlvdXIgbGljZW5zZTwvYT4uXCIsXG4gICAgbGljZW5zZTI6IFwiWW91ciBtYWludGVuYW5jZSBzdWJzY3JpcHRpb24gZXhwaXJlZCBvbiB7ZGF0ZX0uIFlvdSBtYXkgY29udGludWUgdXNpbmcgYWxsIDxhIGhyZWY9J2h0dHBzOi8vc3VydmV5anMuaW8vc3RheS11cGRhdGVkL3JlbGVhc2Utbm90ZXMnIHRhcmdldD0nX2JsYW5rJz52ZXJzaW9ucyByZWxlYXNlZCB1cCB0byB0aGF0IGRhdGU8L2E+LiBUbyByZW1vdmUgdGhpcyBiYW5uZXIgaW4gdGhlIGxhdGVzdCB2ZXJzaW9uLCBwbGVhc2UgPGEgaHJlZj0naHR0cHM6Ly9zdXJ2ZXlqcy5pby9tYW5hZ2UjbGljZW5zZS1tYW5hZ2VyJyB0YXJnZXQ9J19ibGFuayc+cmVuZXcgeW91ciBzdWJzY3JpcHRpb248L2E+IGFuZCA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL3JlbW92ZS1hbGVydC1iYW5uZXInIHRhcmdldD0nX2JsYW5rJz5zZXQgdXAgYSBuZXcgbGljZW5zZSBrZXk8L2E+LiBQbGVhc2Ugbm90ZSA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvLycgdGFyZ2V0PSdfYmxhbmsnPlVJIFByZXNldCBFZGl0b3I8L2E+IGlzIGF2YWlsYWJsZSB0byBhbGwgdXNlcnMgd2l0aCBhbiBhY3RpdmUgUFJPIGxpY2Vuc2UuXCIsXG4gICAgbGljZW5zZUNyZWF0b3I6IFwiVG8gdXNlIHRoZSBTdXJ2ZXkgQ3JlYXRvciBwbHVnaW4gaW4geW91ciBhcHBsaWNhdGlvbiwgYSA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL2xpY2Vuc2luZycgdGFyZ2V0PSdfYmxhbmsnPmRldmVsb3BlciBsaWNlbnNlPC9hPiBpcyByZXF1aXJlZC4gSWYgeW91IGhhdmUgYW4gYWN0aXZlIGxpY2Vuc2UsIHBsZWFzZSA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL3JlbW92ZS1hbGVydC1iYW5uZXInIHRhcmdldD0nX2JsYW5rJz5zZXQgdXAgeW91ciBsaWNlbnNlIGtleTwvYT4gYW5kIGVuc3VyZSB5b3UncmUgdXNpbmcgdGhlIDxhIGhyZWY9J2h0dHBzOi8vc3VydmV5anMuaW8vc3RheS11cGRhdGVkL3JlbGVhc2Utbm90ZXMnIHRhcmdldD0nX2JsYW5rJz5sYXRlc3QgdmVyc2lvbjwvYT4uIFBsZWFzZSBub3RlIDxhIGhyZWY9J2h0dHBzOi8vc3VydmV5anMuaW8vJyB0YXJnZXQ9J19ibGFuayc+VUkgUHJlc2V0IEVkaXRvcjwvYT4gaXMgaW5jbHVkZWQgb25seSBpbiB0aGUgUFJPIGxpY2Vuc2UgdGllci5cIixcbiAgICBsaWNlbnNlQ3JlYXRvcjI6IFwiWW91ciBtYWludGVuYW5jZSBzdWJzY3JpcHRpb24gZXhwaXJlZCBvbiB7ZGF0ZX0uIFlvdSBtYXkgY29udGludWUgdXNpbmcgYWxsIDxhIGhyZWY9J2h0dHBzOi8vc3VydmV5anMuaW8vc3RheS11cGRhdGVkL3JlbGVhc2Utbm90ZXMnIHRhcmdldD0nX2JsYW5rJz52ZXJzaW9ucyByZWxlYXNlZCB1cCB0byB0aGF0IGRhdGU8L2E+LiBUbyByZW1vdmUgdGhpcyBiYW5uZXIgaW4gdGhlIGxhdGVzdCB2ZXJzaW9uLCBwbGVhc2UgPGEgaHJlZj0naHR0cHM6Ly9zdXJ2ZXlqcy5pby9tYW5hZ2UjbGljZW5zZS1tYW5hZ2VyJyB0YXJnZXQ9J19ibGFuayc+cmVuZXcgeW91ciBzdWJzY3JpcHRpb248L2E+IGFuZCA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL3JlbW92ZS1hbGVydC1iYW5uZXInIHRhcmdldD0nX2JsYW5rJz5zZXQgdXAgYSBuZXcgbGljZW5zZSBrZXk8L2E+LiBQbGVhc2Ugbm90ZSA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvLycgdGFyZ2V0PSdfYmxhbmsnPlVJIFByZXNldCBFZGl0b3I8L2E+IGlzIGluY2x1ZGVkIG9ubHkgaW4gdGhlIFBSTyBsaWNlbnNlIHRpZXIuIFRvIHVzZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLCBwbGVhc2UgYWxzbyA8YSBocmVmPSdodHRwczovL3N1cnZleWpzLmlvL21hbmFnZSNyZW5ld2Fscy1hbmQtdXBncmFkZXMnIHRhcmdldD0nX2JsYW5rJz51cGdyYWRlIHlvdXIgbGljZW5zZTwvYT4uXCJcbiAgfVxufTtcbmNvbnN0IGxvY2FsZSA9IGdldExvY2FsZVN0cmluZ3MoXCJlblwiKTtcbmxvY2FsZS5wcmVzZXRzID0gZW5TdHJpbmdzOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/presets/localization/english.ts\n");
90
90
 
91
91
  /***/ }),
92
92
 
@@ -116,7 +116,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
116
116
  \*****************************************************/
117
117
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
118
118
 
119
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableCaregorizedListConfigurator: () => (/* binding */ CreatorPresetEditableCaregorizedListConfigurator)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _presets_editable_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-editable-list */ \"./src/presets/presets-editable-list.ts\");\n/* harmony import */ var _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-theme/list-theme */ \"./src/presets/presets-theme/list-theme.ts\");\n\n\n\n\n\nvar CreatorPresetEditableCaregorizedListConfigurator = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableCaregorizedListConfigurator, _super);\n function CreatorPresetEditableCaregorizedListConfigurator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getDefaultItems = function (question) {\n return (question === null || question === void 0 ? void 0 : question.name) === this.nameCategories ? this.defaultCategories : this.defaultItems;\n };\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"nameInnerMatrix\", {\n get: function () { return \"items\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"nameCategories\", {\n get: function () { return this.fullPath + \"_categories\"; },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getMainElementNames = function () { return [this.nameCategories]; };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getMatrixKeyColumnName = function (question) {\n return question.name === this.nameCategories ? \"category\" : \"name\";\n };\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"questionNames\", {\n get: function () {\n return [this.nameCategories];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableCaregorizedListConfigurator.prototype.setupCategoryActions = function (model, creator, question, row, actions) {\n var _this = this;\n actions.forEach(function (a) {\n if (a.id == \"remove-row\") {\n a.iconName = \"icon-delete_24x24\";\n a.tooltip = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.delete\");\n a.innerCss = \"sps-action-button sps-action-button--icon sps-action-button--danger\";\n }\n if (a.id == \"reset-to-default\") {\n a.action = function () { _this.resetCategory(model, row); };\n }\n });\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.ejectRowData = function (question, row, remove) {\n var value = question.value;\n var rowDataIndex = question.visibleRows.indexOf(row);\n var rowData = value[rowDataIndex];\n if (remove) {\n value.splice(rowDataIndex, 1);\n question.value = value;\n }\n return rowData;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.moveToCategory = function (model, question, row, categoryName, remove) {\n if (remove === void 0) { remove = false; }\n var rowData = this.ejectRowData(question, row, remove);\n var categories = this.getQuestionCategories(model);\n var catValue = categories.value;\n var general = this.findOrCreateCategory(catValue, categoryName);\n general[this.nameInnerMatrix].push(rowData);\n categories.value = catValue;\n return categories.visibleRows.find(function (r) { return r.getValue(\"category\") == categoryName; });\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.itemMenuCategoriesEnabled = function (model) {\n return true;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.setSubitemsToAction = function (action, items) {\n action.setSubItems({ items: items, cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss });\n action.markerIconName = \"icon-chevronright-24x24\";\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getItemMenuActionsCore = function (model, question, row) {\n var _this = this;\n var categoriesQuestion = this.getQuestionCategories(model);\n var categories = categoriesQuestion.value;\n var actions = [];\n var isUnsorted = question.name == this.nameMatrix;\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n if (!isUnsorted) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"remove-from\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.removeFrom\").replace(\"{0}\", question.title),\n action: function () {\n var rowDataIndex = question.visibleRows.indexOf(row);\n question.removeRow(rowDataIndex);\n }\n }));\n }\n else {\n if (hasCategories) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveTo\"),\n css: \"sps-list__item--label\",\n enabled: false\n }));\n }\n else {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"restore-item\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.toolbox.addToToolbox\"),\n action: function () {\n var rowDataIndex = question.visibleRows.indexOf(row);\n question.removeRow(rowDataIndex);\n }\n }));\n }\n }\n if (!hasCategories)\n return actions;\n var currentCategory = categories.filter(function (c) { return c[_this.nameInnerMatrix].filter(function (i) { var _a; return i.name == ((_a = row.value) === null || _a === void 0 ? void 0 : _a.name); }).length > 0; })[0];\n var moveToCategories = categories.filter(function (i) { return i.category != (currentCategory === null || currentCategory === void 0 ? void 0 : currentCategory.category); }).map(function (i) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"to-\" + i.category,\n title: i.title,\n action: function () {\n _this.moveToCategory(model, question, row, i.category, true);\n }\n }); });\n if (!isUnsorted) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"categories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.categoriesLabel\"),\n css: \"sps-list__item--label\",\n enabled: false,\n needSeparator: true\n }));\n var catGroup = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to-categories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveToCategory\")\n });\n this.setSubitemsToAction(catGroup, moveToCategories);\n actions.push(catGroup);\n }\n else {\n actions.push.apply(actions, moveToCategories);\n }\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to-new-category\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveToNewCategory\"),\n needSeparator: isUnsorted,\n action: function () {\n var newCatRow = _this.moveToCategory(model, question, row, _this.getDefaultValueForRow(model, question, \"category\"), true);\n _this.editItem(model, null, categoriesQuestion, newCatRow, {\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.newCategory\") + \" \" + _this.getPageShortTitle(model),\n isNew: true\n });\n }\n }));\n return actions;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getItemMenuActions = function (model, question, row) {\n var _this = this;\n var actions = this.getItemMenuActionsCore(model, question, row);\n if (!this.getDefaultItem(question, row.value.name)) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"remove-custom-item\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.toolbox.deleteCustomItem\"),\n css: \"sps-list__item--alert\",\n needSeparator: true,\n action: function () {\n _this.ejectRowData(question, row, true);\n }\n }));\n }\n return actions;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.replaceRemoveAction = function (model, question, row, actions) {\n var _this = this;\n var originalAction = actions.filter(function (a) { return a.id == \"remove-row\"; })[0];\n if (originalAction) {\n originalAction.visible = false;\n var addAction = (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.createDropdownActionModel)({\n id: \"context-menu\",\n iconName: \"more-circle-24x24\",\n tooltip: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.more\"),\n location: \"end\",\n visibleIndex: 20\n }, {\n items: [],\n showPointer: false,\n verticalPosition: \"bottom\",\n horizontalPosition: \"center\",\n cssClass: \"sps-popup-menu sps-popup-menu--context\",\n cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss,\n searchEnabled: false\n });\n addAction.popupModel.onVisibilityChanged.add(function (_, opt) {\n if (opt.isVisible) {\n var listModel = opt.model.contentComponentData.model;\n listModel.actions = _this.getItemMenuActions(model, question, row);\n listModel.flushUpdates();\n }\n });\n actions.push(addAction);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getQuestionCategories = function (model) { return model.getQuestionByName(this.nameCategories); };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.isItemsMatrix = function (name) {\n return _super.prototype.isItemsMatrix.call(this, name) || name === this.nameInnerMatrix;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.resetCategory = function (model, row) {\n var _this = this;\n var _a;\n var category = row.getValue(\"category\");\n var defaultItems = (_a = this.defaultCategories.filter(function (i) { return i.category == category; })[0]) === null || _a === void 0 ? void 0 : _a[this.nameInnerMatrix];\n if (!defaultItems)\n return;\n var categoriesQuestion = this.getQuestionCategories(model);\n var hiddenItemsQuestion = this.getMatrix(model);\n var hiddenValue = hiddenItemsQuestion.value || [];\n var value = categoriesQuestion.value;\n var categoryRow = value.filter(function (v) { return v.category == category; })[0];\n categoryRow[this.nameInnerMatrix].forEach(function (i) {\n if (!defaultItems.some(function (di) { return di.name == i.name; })) {\n hiddenValue.push(i);\n }\n });\n categoryRow[this.nameInnerMatrix] = defaultItems;\n function clearItemFromDefault(items) {\n if (!items)\n return;\n defaultItems.forEach(function (di) {\n var index = items.findIndex(function (i) { return i.name == di.name; });\n if (index >= 0)\n items.splice(index, 1);\n });\n }\n value.filter(function (v) { return v.category != category; }).forEach(function (v) {\n defaultItems.forEach(function (di) {\n clearItemFromDefault(v[_this.nameInnerMatrix]);\n });\n });\n clearItemFromDefault(hiddenValue);\n hiddenItemsQuestion.value = hiddenValue;\n categoriesQuestion.value = value;\n this.notifyCallback((0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.editor.categoryRestoredToDefault\"));\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.findOrCreateCategory = function (categories, category) {\n var _a;\n var generalCategory = categories.filter(function (c) { return c.category == category; })[0];\n if (!generalCategory) {\n generalCategory = (_a = { category: category || \"general\", title: category || \"General\" }, _a[this.nameInnerMatrix] = [], _a);\n categories.push(generalCategory);\n }\n return generalCategory;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.needToSetActions = function (name) {\n return this.isItemsMatrix(name) || name === this.nameCategories;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onGetMatrixRowActionsCore = function (model, creator, options) {\n _super.prototype.onGetMatrixRowActionsCore.call(this, model, creator, options);\n if (options.question.name === this.nameCategories) {\n this.setupCategoryActions(model, creator, options.question, options.row, options.actions);\n }\n if (this.isItemsMatrix(options.question.name)) {\n this.replaceRemoveAction(model, options.question, options.row, options.actions);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getExistingKeys = function (model, key) {\n var cats = model.getQuestionByName(this.nameCategories).value || [];\n var unsorted = model.getQuestionByName(this.nameMatrix).value || [];\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], cats, true), cats.map(function (c) { return c.items; }).flat().filter(function (key) { return !!key; }), true), unsorted, true);\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onMatrixRowRemoving = function (model, creator, options) {\n var _this = this;\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n if (options.question.name == this.nameCategories) {\n var items = options.question.value[options.rowIndex][this.nameInnerMatrix];\n if (items) {\n var hiddenItems = this.getMatrix(model);\n var value = hiddenItems.value ? hiddenItems.value.concat(items) : items;\n hiddenItems.value = value;\n }\n }\n if (options.question.name == this.nameMatrix) {\n var rowData_1 = options.question.value[options.rowIndex];\n var defaultCategory = this.defaultCategories.filter(function (c) { return c[_this.nameInnerMatrix].filter(function (i) { return i.name == rowData_1.name; }).length > 0; })[0];\n this.moveToCategory(model, options.question, options.row, defaultCategory === null || defaultCategory === void 0 ? void 0 : defaultCategory.category);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onMatrixRowAdded = function (model, creator, options) {\n _super.prototype.onMatrixRowAdded.call(this, model, creator, options);\n if (options.question.name == this.nameCategories) {\n this.setDefaultValueForRow(model, options.question, options.row);\n this.editItem(model, creator, options.question, options.row, {\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.newCategory\") + \" \" + this.getPageShortTitle(model),\n isNew: true\n });\n }\n };\n return CreatorPresetEditableCaregorizedListConfigurator;\n}(_presets_editable_list__WEBPACK_IMPORTED_MODULE_2__.CreatorPresetEditableList));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLWNhdGVnb3JpemVkLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFxSjtBQUNoRTtBQUNqQjtBQUNOO0FBQzlEO0lBQXNFLDJHQUF5QjtJQUEvRjs7SUEwUkEsQ0FBQztJQXJSVywwRUFBZSxHQUF6QixVQUEwQixRQUFxQztRQUM3RCxPQUFPLFNBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLE1BQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdGLENBQUM7SUFDRCxzQkFBYyw2RUFBZTthQUE3QixjQUFrQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBQ25ELHNCQUFjLDRFQUFjO2FBQTVCLGNBQWlDLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTtJQUNqRSw4RUFBbUIsR0FBMUIsY0FBcUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsaUZBQXNCLEdBQWhDLFVBQWlDLFFBQW9DO1FBQ25FLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBQ0Qsc0JBQVcsMkVBQWE7YUFBeEI7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7OztPQUFBO0lBRVMsK0VBQW9CLEdBQTlCLFVBQStCLEtBQWtCLEVBQUUsT0FBMkIsRUFBRSxRQUFvQyxFQUFFLEdBQTBCLEVBQUUsT0FBa0I7UUFBcEssaUJBV0M7UUFWQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQUM7WUFDZixJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUks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QyxJQUFJLFFBQUMsQ0FBQyxJQUFJLElBQUksU0FBTyxDQUFDLElBQUksRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQXRFLENBQXNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0SSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFDSCxDQUFDO0lBQ00sMkVBQWdCLEdBQXZCLFVBQXdCLEtBQWtCLEVBQUUsT0FBMkIsRUFBRSxPQUFZO1FBQ25GLGdCQUFLLENBQUMsZ0JBQWdCLFlBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQzNELFdBQVcsRUFBRSxpRUFBWSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7Z0JBQzVGLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFDSCx1REFBQztBQUFELENBQUMsQ0ExUnFFLDZFQUF5QixHQTBSOUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TdXJ2ZXlDcmVhdG9yQ29yZVByZXNldHMvLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLWNhdGVnb3JpemVkLnRzPzhjZWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVEcm9wZG93bkFjdGlvbk1vZGVsLCBJQWN0aW9uLCBNYXRyaXhEeW5hbWljUm93TW9kZWwsIFBvcHVwTW9kZWwsIFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBTdXJ2ZXlIZWxwZXIsIGdldExvY1N0cmluZyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVMaXN0IH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1saXN0XCI7XG5pbXBvcnQgeyBsaXN0Q29tcG9uZW50Q3NzIH0gZnJvbSBcIi4vcHJlc2V0cy10aGVtZS9saXN0LXRoZW1lXCI7XG5leHBvcnQgY2xhc3MgQ3JlYXRvclByZXNldEVkaXRhYmxlQ2FyZWdvcml6ZWRMaXN0Q29uZmlndXJhdG9yIGV4dGVuZHMgQ3JlYXRvclByZXNldEVkaXRhYmxlTGlzdCB7XG4gIC8vcHJpdmF0ZSByZXBsYWNlTm9uTGV0dGVyc1dpdGhEYXNoKGlucHV0U3RyaW5nKSB7XG4gIC8vICByZXR1cm4gaW5wdXRTdHJpbmc/LnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCBcIi1cIik7XG4gIC8vfVxuICBwcm90ZWN0ZWQgZGVmYXVsdENhdGVnb3JpZXM6IGFueTtcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRJdGVtcyhxdWVzdGlvbj86IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsKSB7XG4gICAgcmV0dXJuIHF1ZXN0aW9uPy5uYW1lID09PSB0aGlzLm5hbWVDYXRlZ29yaWVzID8gdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcyA6IHRoaXMuZGVmYXVsdEl0ZW1zO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgbmFtZUlubmVyTWF0cml4KCkgeyByZXR1cm4gXCJpdGVtc1wiOyB9XG4gIHByb3RlY3RlZCBnZXQgbmFtZUNhdGVnb3JpZXMoKSB7IHJldHVybiB0aGlzLmZ1bGxQYXRoICsgXCJfY2F0ZWdvcmllc1wiOyB9XG4gIHB1YmxpYyBnZXRNYWluRWxlbWVudE5hbWVzKCkgOiBhbnkgeyByZXR1cm4gW3RoaXMubmFtZUNhdGVnb3JpZXNdOyB9XG4gIHByb3RlY3RlZCBnZXRNYXRyaXhLZXlDb2x1bW5OYW1lKHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCkgOiBhbnkge1xuICAgIHJldHVybiBxdWVzdGlvbi5uYW1lID09PSB0aGlzLm5hbWVDYXRlZ29yaWVzID8gXCJjYXRlZ29yeVwiIDogXCJuYW1lXCI7XG4gIH1cbiAgcHVibGljIGdldCBxdWVzdGlvbk5hbWVzKCkge1xuICAgIHJldHVybiBbdGhpcy5uYW1lQ2F0ZWdvcmllc107XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBDYXRlZ29yeUFjdGlvbnMobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgcm93OiBNYXRyaXhEeW5hbWljUm93TW9kZWwsIGFjdGlvbnM6IElBY3Rpb25bXSk6IHZvaWQge1xuICAgIGFjdGlvbnMuZm9yRWFjaChhID0+IHtcbiAgICAgIGlmIChhLmlkID09IFwicmVtb3ZlLXJvd1wiKSB7XG4gICAgICAgIGEuaWNvbk5hbWUgPSBcImljb24tZGVsZXRlXzI0eDI0XCI7XG4gICAgICAgIGEudG9vbHRpcCA9IGdldExvY1N0cmluZyhcInByZXNldHMuaXRlbXMuZGVsZXRlXCIpO1xuICAgICAgICBhLmlubmVyQ3NzID0gXCJzcHMtYWN0aW9uLWJ1dHRvbiBzcHMtYWN0aW9uLWJ1dHRvbi0taWNvbiBzcHMtYWN0aW9uLWJ1dHRvbi0tZGFuZ2VyXCI7XG4gICAgICB9XG4gICAgICBpZiAoYS5pZCA9PSBcInJlc2V0LXRvLWRlZmF1bHRcIikge1xuICAgICAgICBhLmFjdGlvbiA9ICgpID0+IHsgdGhpcy5yZXNldENhdGVnb3J5KG1vZGVsLCByb3cpOyB9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVqZWN0Um93RGF0YShxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCByZW1vdmU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXN0aW9uLnZhbHVlO1xuICAgIGNvbnN0IHJvd0RhdGFJbmRleCA9IHF1ZXN0aW9uLnZpc2libGVSb3dzLmluZGV4T2Yocm93KTtcbiAgICBjb25zdCByb3dEYXRhID0gdmFsdWVbcm93RGF0YUluZGV4XTtcbiAgICBpZiAocmVtb3ZlKSB7XG4gICAgICB2YWx1ZS5zcGxpY2Uocm93RGF0YUluZGV4LCAxKTtcbiAgICAgIHF1ZXN0aW9uLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByb3dEYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlVG9DYXRlZ29yeShtb2RlbDogU3VydmV5TW9kZWwsIHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgcm93OiBNYXRyaXhEeW5hbWljUm93TW9kZWwsIGNhdGVnb3J5TmFtZTogc3RyaW5nLCByZW1vdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IHJvd0RhdGEgPSB0aGlzLmVqZWN0Um93RGF0YShxdWVzdGlvbiwgcm93LCByZW1vdmUpO1xuICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLmdldFF1ZXN0aW9uQ2F0ZWdvcmllcyhtb2RlbCk7XG4gICAgY29uc3QgY2F0VmFsdWUgPSBjYXRlZ29yaWVzLnZhbHVlO1xuICAgIGNvbnN0IGdlbmVyYWwgPSB0aGlzLmZpbmRPckNyZWF0ZUNhdGVnb3J5KGNhdFZhbHVlLCBjYXRlZ29yeU5hbWUpO1xuICAgIGdlbmVyYWxbdGhpcy5uYW1lSW5uZXJNYXRyaXhdLnB1c2gocm93RGF0YSk7XG4gICAgY2F0ZWdvcmllcy52YWx1ZSA9IGNhdFZhbHVlO1xuICAgIHJldHVybiAoY2F0ZWdvcmllcy52aXNpYmxlUm93cyBhcyBhbnkpLmZpbmQociA9PiByLmdldFZhbHVlKFwiY2F0ZWdvcnlcIikgPT0gY2F0ZWdvcnlOYW1lKSBhcyBNYXRyaXhEeW5hbWljUm93TW9kZWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXRlbU1lbnVDYXRlZ29yaWVzRW5hYmxlZChtb2RlbDogU3VydmV5TW9kZWwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTdWJpdGVtc1RvQWN0aW9uKGFjdGlvbjogQWN0aW9uLCBpdGVtczogQWN0aW9uW10pIHtcbiAgICBhY3Rpb24uc2V0U3ViSXRlbXMoeyBpdGVtczogaXRlbXMsIGNzc0NsYXNzZXM6IGxpc3RDb21wb25lbnRDc3MgfSk7XG4gICAgYWN0aW9uLm1hcmtlckljb25OYW1lID0gXCJpY29uLWNoZXZyb25yaWdodC0yNHgyNFwiO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW1NZW51QWN0aW9uc0NvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsKSB7XG4gICAgY29uc3QgY2F0ZWdvcmllc1F1ZXN0aW9uID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpO1xuICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBjYXRlZ29yaWVzUXVlc3Rpb24udmFsdWU7XG4gICAgY29uc3QgYWN0aW9ucyA9IFtdIGFzIElBY3Rpb25bXTtcbiAgICBjb25zdCBpc1Vuc29ydGVkID0gcXVlc3Rpb24ubmFtZSA9PSB0aGlzLm5hbWVNYXRyaXg7XG4gICAgY29uc3QgaGFzQ2F0ZWdvcmllcyA9IHRoaXMuaXRlbU1lbnVDYXRlZ29yaWVzRW5hYmxlZChtb2RlbCk7XG4gICAgaWYgKCFpc1Vuc29ydGVkKSB7XG4gICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgIG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInJlbW92ZS1mcm9tXCIsXG4gICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMuaXRlbXMucmVtb3ZlRnJvbVwiKS5yZXBsYWNlKFwiezB9XCIsIHF1ZXN0aW9uLnRpdGxlKSxcbiAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0RhdGFJbmRleCA9IHF1ZXN0aW9uLnZpc2libGVSb3dzLmluZGV4T2Yocm93KTtcbiAgICAgICAgICAgIHF1ZXN0aW9uLnJlbW92ZVJvdyhyb3dEYXRhSW5kZXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChoYXNDYXRlZ29yaWVzKSB7XG4gICAgICAgIGFjdGlvbnMucHVzaChuZXcgQWN0aW9uKHtcbiAgICAgICAgICBpZDogXCJtb3ZlLXRvXCIsXG4gICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMuaXRlbXMubW92ZVRvXCIpLFxuICAgICAgICAgIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIixcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3Rpb25zLnB1c2gobmV3IEFjdGlvbih7XG4gICAgICAgICAgaWQ6IFwicmVzdG9yZS1pdGVtXCIsXG4gICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5hZGRUb1Rvb2xib3hcIiksXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dEYXRhSW5kZXggPSBxdWVzdGlvbi52aXNpYmxlUm93cy5pbmRleE9mKHJvdyk7XG4gICAgICAgICAgICBxdWVzdGlvbi5yZW1vdmVSb3cocm93RGF0YUluZGV4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWhhc0NhdGVnb3JpZXMpIHJldHVybiBhY3Rpb25zO1xuICAgIGNvbnN0IGN1cnJlbnRDYXRlZ29yeSA9IGNhdGVnb3JpZXMuZmlsdGVyKGMgPT4gY1t0aGlzLm5hbWVJbm5lck1hdHJpeF0uZmlsdGVyKGkgPT4gaS5uYW1lID09IHJvdy52YWx1ZT8ubmFtZSkubGVuZ3RoID4gMClbMF07XG4gICAgY29uc3QgbW92ZVRvQ2F0ZWdvcmllcyA9IGNhdGVnb3JpZXMuZmlsdGVyKChpOiBhbnkpID0+IGkuY2F0ZWdvcnkgIT0gY3VycmVudENhdGVnb3J5Py5jYXRlZ29yeSkubWFwKChpOiBhbnkpID0+IG5ldyBBY3Rpb24oe1xuICAgICAgaWQ6IFwidG8tXCIgKyBpLmNhdGVnb3J5LFxuICAgICAgdGl0bGU6IGkudGl0bGUsXG4gICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgdGhpcy5tb3ZlVG9DYXRlZ29yeShtb2RlbCwgcXVlc3Rpb24sIHJvdywgaS5jYXRlZ29yeSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIGlmICghaXNVbnNvcnRlZCkge1xuICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICBpZDogXCJjYXRlZ29yaWVzXCIsXG4gICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLmNhdGVnb3JpZXNMYWJlbFwiKSxcbiAgICAgICAgY3NzOiBcInNwcy1saXN0X19pdGVtLS1sYWJlbFwiLFxuICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgbmVlZFNlcGFyYXRvcjogdHJ1ZVxuICAgICAgfSkpO1xuICAgICAgY29uc3QgY2F0R3JvdXAgPSBuZXcgQWN0aW9uKHtcbiAgICAgICAgaWQ6IFwibW92ZS10by1jYXRlZ29yaWVzXCIsXG4gICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLm1vdmVUb0NhdGVnb3J5XCIpXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2V0U3ViaXRlbXNUb0FjdGlvbihjYXRHcm91cCwgbW92ZVRvQ2F0ZWdvcmllcyk7XG4gICAgICBhY3Rpb25zLnB1c2goY2F0R3JvdXApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb25zLnB1c2goLi4ubW92ZVRvQ2F0ZWdvcmllcyk7XG4gICAgfVxuXG4gICAgYWN0aW9ucy5wdXNoKFxuICAgICAgbmV3IEFjdGlvbih7XG4gICAgICAgIGlkOiBcIm1vdmUtdG8tbmV3LWNhdGVnb3J5XCIsXG4gICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLm1vdmVUb05ld0NhdGVnb3J5XCIpLFxuICAgICAgICBuZWVkU2VwYXJhdG9yOiBpc1Vuc29ydGVkLFxuICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdDYXRSb3cgPSB0aGlzLm1vdmVUb0NhdGVnb3J5KG1vZGVsLCBxdWVzdGlvbiwgcm93LCB0aGlzLmdldERlZmF1bHRWYWx1ZUZvclJvdyhtb2RlbCwgcXVlc3Rpb24sIFwiY2F0ZWdvcnlcIiksIHRydWUpO1xuICAgICAgICAgIHRoaXMuZWRpdEl0ZW0obW9kZWwsIG51bGwsIGNhdGVnb3JpZXNRdWVzdGlvbiwgbmV3Q2F0Um93LCB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5uZXdDYXRlZ29yeVwiKSArIFwiIFwiICsgdGhpcy5nZXRQYWdlU2hvcnRUaXRsZShtb2RlbCksXG4gICAgICAgICAgICBpc05ldzogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJdGVtTWVudUFjdGlvbnMobW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsKSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuZ2V0SXRlbU1lbnVBY3Rpb25zQ29yZShtb2RlbCwgcXVlc3Rpb24sIHJvdyk7XG4gICAgaWYgKCF0aGlzLmdldERlZmF1bHRJdGVtKHF1ZXN0aW9uLCByb3cudmFsdWUubmFtZSkpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgbmV3IEFjdGlvbih7XG4gICAgICAgICAgaWQ6IFwicmVtb3ZlLWN1c3RvbS1pdGVtXCIsXG4gICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5kZWxldGVDdXN0b21JdGVtXCIpLFxuICAgICAgICAgIGNzczogXCJzcHMtbGlzdF9faXRlbS0tYWxlcnRcIixcbiAgICAgICAgICBuZWVkU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lamVjdFJvd0RhdGEocXVlc3Rpb24sIHJvdywgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVwbGFjZVJlbW92ZUFjdGlvbihtb2RlbDogU3VydmV5TW9kZWwsIHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgcm93OiBNYXRyaXhEeW5hbWljUm93TW9kZWwsIGFjdGlvbnM6IElBY3Rpb25bXSk6IHZvaWQge1xuICAgIGNvbnN0IG9yaWdpbmFsQWN0aW9uID0gYWN0aW9ucy5maWx0ZXIoYSA9PiBhLmlkID09IFwicmVtb3ZlLXJvd1wiKVswXTtcbiAgICBpZiAob3JpZ2luYWxBY3Rpb24pIHtcbiAgICAgIG9yaWdpbmFsQWN0aW9uLnZpc2libGUgPSBmYWxzZTtcblxuICAgICAgY29uc3QgYWRkQWN0aW9uID0gY3JlYXRlRHJvcGRvd25BY3Rpb25Nb2RlbCh7XG4gICAgICAgIGlkOiBcImNvbnRleHQtbWVudVwiLFxuICAgICAgICBpY29uTmFtZTogXCJtb3JlLWNpcmNsZS0yNHgyNFwiLFxuICAgICAgICB0b29sdGlwOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLm1vcmVcIiksXG4gICAgICAgIGxvY2F0aW9uOiBcImVuZFwiLFxuICAgICAgICB2aXNpYmxlSW5kZXg6IDIwXG4gICAgICB9LCB7XG4gICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgICAgc2hvd1BvaW50ZXI6IGZhbHNlLFxuICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiBcImJvdHRvbVwiLFxuICAgICAgICBob3Jpem9udGFsUG9zaXRpb246IFwiY2VudGVyXCIsXG4gICAgICAgIGNzc0NsYXNzOiBcInNwcy1wb3B1cC1tZW51IHNwcy1wb3B1cC1tZW51LS1jb250ZXh0XCIsXG4gICAgICAgIGNzc0NsYXNzZXM6IGxpc3RDb21wb25lbnRDc3MsXG4gICAgICAgIHNlYXJjaEVuYWJsZWQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIGFkZEFjdGlvbi5wb3B1cE1vZGVsLm9uVmlzaWJpbGl0eUNoYW5nZWQuYWRkKChfOiBQb3B1cE1vZGVsLCBvcHQ6IHsgbW9kZWw6IFBvcHVwTW9kZWwsIGlzVmlzaWJsZTogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgIGlmIChvcHQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgY29uc3QgbGlzdE1vZGVsID0gb3B0Lm1vZGVsLmNvbnRlbnRDb21wb25lbnREYXRhLm1vZGVsO1xuICAgICAgICAgIGxpc3RNb2RlbC5hY3Rpb25zID0gdGhpcy5nZXRJdGVtTWVudUFjdGlvbnMobW9kZWwsIHF1ZXN0aW9uLCByb3cpO1xuICAgICAgICAgIGxpc3RNb2RlbC5mbHVzaFVwZGF0ZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBhY3Rpb25zLnB1c2goYWRkQWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsIHsgcmV0dXJuIDxRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbD5tb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVDYXRlZ29yaWVzKTsgfVxuXG4gIHByb3RlY3RlZCBpc0l0ZW1zTWF0cml4KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5pc0l0ZW1zTWF0cml4KG5hbWUpIHx8IG5hbWUgPT09IHRoaXMubmFtZUlubmVyTWF0cml4O1xuICB9XG4gIHByaXZhdGUgcmVzZXRDYXRlZ29yeShtb2RlbDogU3VydmV5TW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsKSB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSByb3cuZ2V0VmFsdWUoXCJjYXRlZ29yeVwiKTtcbiAgICBjb25zdCBkZWZhdWx0SXRlbXMgPSB0aGlzLmRlZmF1bHRDYXRlZ29yaWVzLmZpbHRlcihpID0+IGkuY2F0ZWdvcnkgPT0gY2F0ZWdvcnkpWzBdPy5bdGhpcy5uYW1lSW5uZXJNYXRyaXhdO1xuICAgIGlmICghZGVmYXVsdEl0ZW1zKSByZXR1cm47XG4gICAgY29uc3QgY2F0ZWdvcmllc1F1ZXN0aW9uID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpO1xuICAgIGNvbnN0IGhpZGRlbkl0ZW1zUXVlc3Rpb24gPSB0aGlzLmdldE1hdHJpeChtb2RlbCk7XG4gICAgY29uc3QgaGlkZGVuVmFsdWUgPSBoaWRkZW5JdGVtc1F1ZXN0aW9uLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IHZhbHVlID0gY2F0ZWdvcmllc1F1ZXN0aW9uLnZhbHVlO1xuICAgIGNvbnN0IGNhdGVnb3J5Um93ID0gdmFsdWUuZmlsdGVyKHYgPT4gdi5jYXRlZ29yeSA9PSBjYXRlZ29yeSlbMF07XG4gICAgY2F0ZWdvcnlSb3dbdGhpcy5uYW1lSW5uZXJNYXRyaXhdLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoIWRlZmF1bHRJdGVtcy5zb21lKGRpID0+IGRpLm5hbWUgPT0gaS5uYW1lKSkge1xuICAgICAgICBoaWRkZW5WYWx1ZS5wdXNoKGkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNhdGVnb3J5Um93W3RoaXMubmFtZUlubmVyTWF0cml4XSA9IGRlZmF1bHRJdGVtcztcbiAgICBmdW5jdGlvbiBjbGVhckl0ZW1Gcm9tRGVmYXVsdChpdGVtczogYW55KSB7XG4gICAgICBpZiAoIWl0ZW1zKSByZXR1cm47XG4gICAgICBkZWZhdWx0SXRlbXMuZm9yRWFjaChkaSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbXMuZmluZEluZGV4KGkgPT4gaS5uYW1lID09IGRpLm5hbWUpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkgaXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB2YWx1ZS5maWx0ZXIodiA9PiB2LmNhdGVnb3J5ICE9IGNhdGVnb3J5KS5mb3JFYWNoKHYgPT4ge1xuICAgICAgZGVmYXVsdEl0ZW1zLmZvckVhY2goZGkgPT4ge1xuICAgICAgICBjbGVhckl0ZW1Gcm9tRGVmYXVsdCh2W3RoaXMubmFtZUlubmVyTWF0cml4XSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjbGVhckl0ZW1Gcm9tRGVmYXVsdChoaWRkZW5WYWx1ZSk7XG5cbiAgICBoaWRkZW5JdGVtc1F1ZXN0aW9uLnZhbHVlID0gaGlkZGVuVmFsdWU7XG4gICAgY2F0ZWdvcmllc1F1ZXN0aW9uLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5ub3RpZnlDYWxsYmFjayhnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLmVkaXRvci5jYXRlZ29yeVJlc3RvcmVkVG9EZWZhdWx0XCIpKTtcbiAgfVxuICBwcm90ZWN0ZWQgZmluZE9yQ3JlYXRlQ2F0ZWdvcnkoY2F0ZWdvcmllczogYW55LCBjYXRlZ29yeT86IHN0cmluZykge1xuICAgIGxldCBnZW5lcmFsQ2F0ZWdvcnkgPSBjYXRlZ29yaWVzLmZpbHRlcihjID0+IGMuY2F0ZWdvcnkgPT0gY2F0ZWdvcnkpWzBdO1xuICAgIGlmICghZ2VuZXJhbENhdGVnb3J5KSB7XG4gICAgICBnZW5lcmFsQ2F0ZWdvcnkgPSB7IGNhdGVnb3J5OiBjYXRlZ29yeSB8fCBcImdlbmVyYWxcIiwgdGl0bGU6IGNhdGVnb3J5IHx8IFwiR2VuZXJhbFwiLCBbdGhpcy5uYW1lSW5uZXJNYXRyaXhdOiBbXSB9O1xuICAgICAgY2F0ZWdvcmllcy5wdXNoKGdlbmVyYWxDYXRlZ29yeSk7XG4gICAgfVxuICAgIHJldHVybiBnZW5lcmFsQ2F0ZWdvcnk7XG4gIH1cbiAgcHJvdGVjdGVkIG5lZWRUb1NldEFjdGlvbnMobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNJdGVtc01hdHJpeChuYW1lKSB8fCBuYW1lID09PSB0aGlzLm5hbWVDYXRlZ29yaWVzO1xuICB9XG4gIHByb3RlY3RlZCBvbkdldE1hdHJpeFJvd0FjdGlvbnNDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5vbkdldE1hdHJpeFJvd0FjdGlvbnNDb3JlKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5xdWVzdGlvbi5uYW1lID09PSB0aGlzLm5hbWVDYXRlZ29yaWVzKSB7XG4gICAgICB0aGlzLnNldHVwQ2F0ZWdvcnlBY3Rpb25zKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvdywgb3B0aW9ucy5hY3Rpb25zKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNJdGVtc01hdHJpeChvcHRpb25zLnF1ZXN0aW9uLm5hbWUpKSB7XG4gICAgICB0aGlzLnJlcGxhY2VSZW1vdmVBY3Rpb24obW9kZWwsIG9wdGlvbnMucXVlc3Rpb24sIG9wdGlvbnMucm93LCBvcHRpb25zLmFjdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRFeGlzdGluZ0tleXMobW9kZWw6IFN1cnZleU1vZGVsLCBrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IGNhdHMgPSBtb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVDYXRlZ29yaWVzKS52YWx1ZSB8fCBbXTtcbiAgICBjb25zdCB1bnNvcnRlZCA9IG1vZGVsLmdldFF1ZXN0aW9uQnlOYW1lKHRoaXMubmFtZU1hdHJpeCkudmFsdWUgfHwgW107XG4gICAgcmV0dXJuIFsuLi5jYXRzLCAuLi5jYXRzLm1hcChjID0+IGMuaXRlbXMpLmZsYXQoKS5maWx0ZXIoa2V5ID0+ICEha2V5KSwgLi4udW5zb3J0ZWRdO1xuICB9XG5cbiAgcHVibGljIG9uTWF0cml4Um93UmVtb3ZpbmcobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyLm9uTWF0cml4Um93UmVtb3ZpbmcobW9kZWwsIGNyZWF0b3IsIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lQ2F0ZWdvcmllcykge1xuICAgICAgY29uc3QgaXRlbXMgPSBvcHRpb25zLnF1ZXN0aW9uLnZhbHVlW29wdGlvbnMucm93SW5kZXhdW3RoaXMubmFtZUlubmVyTWF0cml4XTtcbiAgICAgIGlmIChpdGVtcykge1xuICAgICAgICBjb25zdCBoaWRkZW5JdGVtcyA9IHRoaXMuZ2V0TWF0cml4KG1vZGVsKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBoaWRkZW5JdGVtcy52YWx1ZSA/IGhpZGRlbkl0ZW1zLnZhbHVlLmNvbmNhdChpdGVtcykgOiBpdGVtcztcbiAgICAgICAgaGlkZGVuSXRlbXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucXVlc3Rpb24ubmFtZSA9PSB0aGlzLm5hbWVNYXRyaXgpIHtcbiAgICAgIGNvbnN0IHJvd0RhdGEgPSBvcHRpb25zLnF1ZXN0aW9uLnZhbHVlW29wdGlvbnMucm93SW5kZXhdO1xuICAgICAgY29uc3QgZGVmYXVsdENhdGVnb3J5ID0gdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcy5maWx0ZXIoYyA9PiBjW3RoaXMubmFtZUlubmVyTWF0cml4XS5maWx0ZXIoaSA9PiBpLm5hbWUgPT0gcm93RGF0YS5uYW1lKS5sZW5ndGggPiAwKVswXTtcbiAgICAgIHRoaXMubW92ZVRvQ2F0ZWdvcnkobW9kZWwsIG9wdGlvbnMucXVlc3Rpb24sIG9wdGlvbnMucm93LCBkZWZhdWx0Q2F0ZWdvcnk/LmNhdGVnb3J5KTtcbiAgICB9XG4gIH1cbiAgcHVibGljIG9uTWF0cml4Um93QWRkZWQobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyLm9uTWF0cml4Um93QWRkZWQobW9kZWwsIGNyZWF0b3IsIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lQ2F0ZWdvcmllcykge1xuICAgICAgdGhpcy5zZXREZWZhdWx0VmFsdWVGb3JSb3cobW9kZWwsIG9wdGlvbnMucXVlc3Rpb24sIG9wdGlvbnMucm93KTtcbiAgICAgIHRoaXMuZWRpdEl0ZW0obW9kZWwsIGNyZWF0b3IsIG9wdGlvbnMucXVlc3Rpb24sIG9wdGlvbnMucm93LCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLm5ld0NhdGVnb3J5XCIpICsgXCIgXCIgKyB0aGlzLmdldFBhZ2VTaG9ydFRpdGxlKG1vZGVsKSxcbiAgICAgICAgaXNOZXc6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-categorized.ts\n");
119
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableCaregorizedListConfigurator: () => (/* binding */ CreatorPresetEditableCaregorizedListConfigurator)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _presets_editable_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-editable-list */ \"./src/presets/presets-editable-list.ts\");\n/* harmony import */ var _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-theme/list-theme */ \"./src/presets/presets-theme/list-theme.ts\");\n\n\n\n\n\nvar CreatorPresetEditableCaregorizedListConfigurator = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableCaregorizedListConfigurator, _super);\n function CreatorPresetEditableCaregorizedListConfigurator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"defaultCategoriesMap\", {\n get: function () {\n return this.defaultCategories.reduce(function (acc, i) { acc[i.category] = i; return acc; }, {});\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getDefaultItems = function (question) {\n return (question === null || question === void 0 ? void 0 : question.name) === this.nameCategories ? this.defaultCategories : this.defaultItems;\n };\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"nameInnerMatrix\", {\n get: function () { return \"items\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"nameCategories\", {\n get: function () { return this.fullPath + \"_categories\"; },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getMainElementNames = function () { return [this.nameCategories]; };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getMatrixKeyColumnName = function (question) {\n return question.name === this.nameCategories ? \"category\" : \"name\";\n };\n Object.defineProperty(CreatorPresetEditableCaregorizedListConfigurator.prototype, \"questionNames\", {\n get: function () {\n return [this.nameCategories];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableCaregorizedListConfigurator.prototype.setupCategoryActions = function (model, creator, question, row, actions) {\n var _this = this;\n actions.forEach(function (a) {\n if (a.id == \"remove-row\") {\n a.iconName = \"icon-delete_24x24\";\n a.tooltip = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.delete\");\n a.innerCss = \"sps-action-button sps-action-button--icon sps-action-button--danger\";\n }\n if (a.id == \"reset-to-default\") {\n a.action = function () { _this.resetCategory(model, row); };\n }\n });\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.ejectRowData = function (question, row, remove) {\n var value = question.value;\n var rowDataIndex = question.visibleRows.indexOf(row);\n var rowData = value[rowDataIndex];\n if (remove) {\n value.splice(rowDataIndex, 1);\n question.value = value;\n }\n return rowData;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.moveToCategory = function (model, question, row, categoryName, remove) {\n if (remove === void 0) { remove = false; }\n var rowData = this.ejectRowData(question, row, remove);\n var categories = this.getQuestionCategories(model);\n var catValue = categories.value;\n var general = this.findOrCreateCategory(catValue, categoryName);\n general[this.nameInnerMatrix].push(rowData);\n categories.value = catValue;\n return categories.visibleRows.find(function (r) { return r.getValue(\"category\") == categoryName; });\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.itemMenuCategoriesEnabled = function (model) {\n return true;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.setSubitemsToAction = function (action, items) {\n action.setSubItems({ items: items, cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss });\n action.markerIconName = \"icon-chevronright-24x24\";\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getItemMenuActionsCore = function (model, question, row) {\n var _this = this;\n var categoriesQuestion = this.getQuestionCategories(model);\n var categories = categoriesQuestion.value;\n var actions = [];\n var isUnsorted = question.name == this.nameMatrix;\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n if (!isUnsorted) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"remove-from\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.removeFrom\").replace(\"{0}\", question.title),\n action: function () {\n var rowDataIndex = question.visibleRows.indexOf(row);\n question.removeRow(rowDataIndex);\n }\n }));\n }\n else {\n if (hasCategories) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveTo\"),\n css: \"sps-list__item--label\",\n enabled: false\n }));\n }\n else {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"restore-item\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.toolbox.addToToolbox\"),\n action: function () {\n var rowDataIndex = question.visibleRows.indexOf(row);\n question.removeRow(rowDataIndex);\n }\n }));\n }\n }\n if (!hasCategories)\n return actions;\n var currentCategory = categories.filter(function (c) { return c[_this.nameInnerMatrix].filter(function (i) { var _a; return i.name == ((_a = row.value) === null || _a === void 0 ? void 0 : _a.name); }).length > 0; })[0];\n var moveToCategories = categories.filter(function (i) { return i.category != (currentCategory === null || currentCategory === void 0 ? void 0 : currentCategory.category); }).map(function (i) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"to-\" + i.category,\n title: i.title,\n action: function () {\n _this.moveToCategory(model, question, row, i.category, true);\n }\n }); });\n if (!isUnsorted) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"categories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.categoriesLabel\"),\n css: \"sps-list__item--label\",\n enabled: false,\n needSeparator: true\n }));\n var catGroup = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to-categories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveToCategory\")\n });\n this.setSubitemsToAction(catGroup, moveToCategories);\n actions.push(catGroup);\n }\n else {\n actions.push.apply(actions, moveToCategories);\n }\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-to-new-category\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.moveToNewCategory\"),\n needSeparator: isUnsorted,\n action: function () {\n var newCatRow = _this.moveToCategory(model, question, row, _this.getDefaultValueForRow(model, question, \"category\"), true);\n _this.editItem(model, null, categoriesQuestion, newCatRow, {\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.newCategory\") + \" \" + _this.getPageShortTitle(model),\n isNew: true\n });\n }\n }));\n return actions;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getItemMenuActions = function (model, question, row) {\n var _this = this;\n var actions = this.getItemMenuActionsCore(model, question, row);\n if (!this.getDefaultItem(question, row.value.name)) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"remove-custom-item\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.toolbox.deleteCustomItem\"),\n css: \"sps-list__item--alert\",\n needSeparator: true,\n action: function () {\n _this.ejectRowData(question, row, true);\n }\n }));\n }\n return actions;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.replaceRemoveAction = function (model, question, row, actions) {\n var _this = this;\n var originalAction = actions.filter(function (a) { return a.id == \"remove-row\"; })[0];\n if (originalAction) {\n originalAction.visible = false;\n var addAction = (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.createDropdownActionModel)({\n id: \"context-menu\",\n iconName: \"more-circle-24x24\",\n tooltip: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.more\"),\n location: \"end\",\n visibleIndex: 20\n }, {\n items: [],\n showPointer: false,\n verticalPosition: \"bottom\",\n horizontalPosition: \"center\",\n cssClass: \"sps-popup-menu sps-popup-menu--context\",\n cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss,\n searchEnabled: false\n });\n addAction.popupModel.onVisibilityChanged.add(function (_, opt) {\n if (opt.isVisible) {\n var listModel = opt.model.contentComponentData.model;\n listModel.actions = _this.getItemMenuActions(model, question, row);\n listModel.flushUpdates();\n }\n });\n actions.push(addAction);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getQuestionCategories = function (model) { return model.getQuestionByName(this.nameCategories); };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.isItemsMatrix = function (name) {\n return _super.prototype.isItemsMatrix.call(this, name) || name === this.nameInnerMatrix;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.resetCategory = function (model, row) {\n var _this = this;\n var _a;\n var category = row.getValue(\"category\");\n var defaultItems = (_a = this.defaultCategories.filter(function (i) { return i.category == category; })[0]) === null || _a === void 0 ? void 0 : _a[this.nameInnerMatrix];\n if (!defaultItems)\n return;\n var categoriesQuestion = this.getQuestionCategories(model);\n var hiddenItemsQuestion = this.getMatrix(model);\n var hiddenValue = hiddenItemsQuestion.value || [];\n var value = categoriesQuestion.value;\n var categoryRow = value.filter(function (v) { return v.category == category; })[0];\n categoryRow[this.nameInnerMatrix].forEach(function (i) {\n if (!defaultItems.some(function (di) { return di.name == i.name; })) {\n hiddenValue.push(i);\n }\n });\n categoryRow[this.nameInnerMatrix] = defaultItems;\n function clearItemFromDefault(items) {\n if (!items)\n return;\n defaultItems.forEach(function (di) {\n var index = items.findIndex(function (i) { return i.name == di.name; });\n if (index >= 0)\n items.splice(index, 1);\n });\n }\n value.filter(function (v) { return v.category != category; }).forEach(function (v) {\n defaultItems.forEach(function (di) {\n clearItemFromDefault(v[_this.nameInnerMatrix]);\n });\n });\n clearItemFromDefault(hiddenValue);\n hiddenItemsQuestion.value = hiddenValue;\n categoriesQuestion.value = value;\n this.notifyCallback((0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.editor.categoryRestoredToDefault\"));\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.findOrCreateCategory = function (categories, category) {\n var _a;\n var generalCategory = categories.filter(function (c) { return c.category == category; })[0];\n if (!generalCategory) {\n generalCategory = (_a = { category: category || \"general\", title: category || \"General\" }, _a[this.nameInnerMatrix] = [], _a);\n categories.push(generalCategory);\n }\n return generalCategory;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.needToSetActions = function (name) {\n return this.isItemsMatrix(name) || name === this.nameCategories;\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onGetMatrixRowActionsCore = function (model, creator, options) {\n _super.prototype.onGetMatrixRowActionsCore.call(this, model, creator, options);\n if (options.question.name === this.nameCategories) {\n this.setupCategoryActions(model, creator, options.question, options.row, options.actions);\n }\n if (this.isItemsMatrix(options.question.name)) {\n this.replaceRemoveAction(model, options.question, options.row, options.actions);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.getExistingKeys = function (model, key) {\n var cats = model.getQuestionByName(this.nameCategories).value || [];\n var unsorted = model.getQuestionByName(this.nameMatrix).value || [];\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], cats, true), cats.map(function (c) { return c.items; }).flat().filter(function (key) { return !!key; }), true), unsorted, true);\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onMatrixRowRemoving = function (model, creator, options) {\n var _this = this;\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n if (options.question.name == this.nameCategories) {\n var items = options.question.value[options.rowIndex][this.nameInnerMatrix];\n if (items) {\n var hiddenItems = this.getMatrix(model);\n var value = hiddenItems.value ? hiddenItems.value.concat(items) : items;\n hiddenItems.value = value;\n }\n }\n if (options.question.name == this.nameMatrix) {\n var rowData_1 = options.question.value[options.rowIndex];\n var defaultCategory = this.defaultCategories.filter(function (c) { return c[_this.nameInnerMatrix].filter(function (i) { return i.name == rowData_1.name; }).length > 0; })[0];\n this.moveToCategory(model, options.question, options.row, defaultCategory === null || defaultCategory === void 0 ? void 0 : defaultCategory.category);\n }\n };\n CreatorPresetEditableCaregorizedListConfigurator.prototype.onMatrixRowAdded = function (model, creator, options) {\n _super.prototype.onMatrixRowAdded.call(this, model, creator, options);\n if (options.question.name == this.nameCategories) {\n this.setDefaultValueForRow(model, options.question, options.row);\n this.editItem(model, creator, options.question, options.row, {\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.items.newCategory\") + \" \" + this.getPageShortTitle(model),\n isNew: true\n });\n }\n };\n return CreatorPresetEditableCaregorizedListConfigurator;\n}(_presets_editable_list__WEBPACK_IMPORTED_MODULE_2__.CreatorPresetEditableList));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLWNhdGVnb3JpemVkLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFxSjtBQUNoRTtBQUNqQjtBQUNOO0FBQzlEO0lBQXNFLDJHQUF5QjtJQUEvRjs7SUE2UkEsQ0FBQztJQXhSQyxzQkFBYyxrRkFBb0I7YUFBbEM7WUFDRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsVUFBQyxHQUFRLEVBQUUsQ0FBTSxJQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkcsQ0FBQzs7O09BQUE7SUFDUywwRUFBZSxHQUF6QixVQUEwQixRQUFxQztRQUM3RCxPQUFPLFNBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLE1BQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdGLENBQUM7SUFDRCxzQkFBYyw2RUFBZTthQUE3QixjQUFrQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBQ25ELHNCQUFjLDRFQUFjO2FBQTVCLGNBQWlDLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTtJQUNqRSw4RUFBbUIsR0FBMUIsY0FBcUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsaUZBQXNCLEdBQWhDLFVBQWlDLFFBQW9DO1FBQ25FLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBQ0Qsc0JBQVcsMkVBQWE7YUFBeEI7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Z0JBQzVGLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFDSCx1REFBQztBQUFELENBQUMsQ0E3UnFFLDZFQUF5QixHQTZSOUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TdXJ2ZXlDcmVhdG9yQ29yZVByZXNldHMvLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLWNhdGVnb3JpemVkLnRzPzhjZWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVEcm9wZG93bkFjdGlvbk1vZGVsLCBJQWN0aW9uLCBNYXRyaXhEeW5hbWljUm93TW9kZWwsIFBvcHVwTW9kZWwsIFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBTdXJ2ZXlIZWxwZXIsIGdldExvY1N0cmluZyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVMaXN0IH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1saXN0XCI7XG5pbXBvcnQgeyBsaXN0Q29tcG9uZW50Q3NzIH0gZnJvbSBcIi4vcHJlc2V0cy10aGVtZS9saXN0LXRoZW1lXCI7XG5leHBvcnQgY2xhc3MgQ3JlYXRvclByZXNldEVkaXRhYmxlQ2FyZWdvcml6ZWRMaXN0Q29uZmlndXJhdG9yIGV4dGVuZHMgQ3JlYXRvclByZXNldEVkaXRhYmxlTGlzdCB7XG4gIC8vcHJpdmF0ZSByZXBsYWNlTm9uTGV0dGVyc1dpdGhEYXNoKGlucHV0U3RyaW5nKSB7XG4gIC8vICByZXR1cm4gaW5wdXRTdHJpbmc/LnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCBcIi1cIik7XG4gIC8vfVxuICBwcm90ZWN0ZWQgZGVmYXVsdENhdGVnb3JpZXM6IGFueTtcbiAgcHJvdGVjdGVkIGdldCBkZWZhdWx0Q2F0ZWdvcmllc01hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcy5yZWR1Y2UoKGFjYzogYW55LCBpOiBhbnkpID0+IHsgYWNjW2kuY2F0ZWdvcnldID0gaTsgcmV0dXJuIGFjYzsgfSwge30pO1xuICB9XG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SXRlbXMocXVlc3Rpb24/OiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCkge1xuICAgIHJldHVybiBxdWVzdGlvbj8ubmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyA/IHRoaXMuZGVmYXVsdENhdGVnb3JpZXMgOiB0aGlzLmRlZmF1bHRJdGVtcztcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IG5hbWVJbm5lck1hdHJpeCgpIHsgcmV0dXJuIFwiaXRlbXNcIjsgfVxuICBwcm90ZWN0ZWQgZ2V0IG5hbWVDYXRlZ29yaWVzKCkgeyByZXR1cm4gdGhpcy5mdWxsUGF0aCArIFwiX2NhdGVnb3JpZXNcIjsgfVxuICBwdWJsaWMgZ2V0TWFpbkVsZW1lbnROYW1lcygpIDogYW55IHsgcmV0dXJuIFt0aGlzLm5hbWVDYXRlZ29yaWVzXTsgfVxuICBwcm90ZWN0ZWQgZ2V0TWF0cml4S2V5Q29sdW1uTmFtZShxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwpIDogYW55IHtcbiAgICByZXR1cm4gcXVlc3Rpb24ubmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyA/IFwiY2F0ZWdvcnlcIiA6IFwibmFtZVwiO1xuICB9XG4gIHB1YmxpYyBnZXQgcXVlc3Rpb25OYW1lcygpIHtcbiAgICByZXR1cm4gW3RoaXMubmFtZUNhdGVnb3JpZXNdO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwQ2F0ZWdvcnlBY3Rpb25zKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCBhY3Rpb25zOiBJQWN0aW9uW10pOiB2b2lkIHtcbiAgICBhY3Rpb25zLmZvckVhY2goYSA9PiB7XG4gICAgICBpZiAoYS5pZCA9PSBcInJlbW92ZS1yb3dcIikge1xuICAgICAgICBhLmljb25OYW1lID0gXCJpY29uLWRlbGV0ZV8yNHgyNFwiO1xuICAgICAgICBhLnRvb2x0aXAgPSBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLmRlbGV0ZVwiKTtcbiAgICAgICAgYS5pbm5lckNzcyA9IFwic3BzLWFjdGlvbi1idXR0b24gc3BzLWFjdGlvbi1idXR0b24tLWljb24gc3BzLWFjdGlvbi1idXR0b24tLWRhbmdlclwiO1xuICAgICAgfVxuICAgICAgaWYgKGEuaWQgPT0gXCJyZXNldC10by1kZWZhdWx0XCIpIHtcbiAgICAgICAgYS5hY3Rpb24gPSAoKSA9PiB7IHRoaXMucmVzZXRDYXRlZ29yeShtb2RlbCwgcm93KTsgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlamVjdFJvd0RhdGEocXVlc3Rpb246IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCwgcmVtb3ZlOiBib29sZWFuKSB7XG4gICAgY29uc3QgdmFsdWUgPSBxdWVzdGlvbi52YWx1ZTtcbiAgICBjb25zdCByb3dEYXRhSW5kZXggPSBxdWVzdGlvbi52aXNpYmxlUm93cy5pbmRleE9mKHJvdyk7XG4gICAgY29uc3Qgcm93RGF0YSA9IHZhbHVlW3Jvd0RhdGFJbmRleF07XG4gICAgaWYgKHJlbW92ZSkge1xuICAgICAgdmFsdWUuc3BsaWNlKHJvd0RhdGFJbmRleCwgMSk7XG4gICAgICBxdWVzdGlvbi52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gcm93RGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZVRvQ2F0ZWdvcnkobW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCBjYXRlZ29yeU5hbWU6IHN0cmluZywgcmVtb3ZlID0gZmFsc2UpIHtcbiAgICBjb25zdCByb3dEYXRhID0gdGhpcy5lamVjdFJvd0RhdGEocXVlc3Rpb24sIHJvdywgcmVtb3ZlKTtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpO1xuICAgIGNvbnN0IGNhdFZhbHVlID0gY2F0ZWdvcmllcy52YWx1ZTtcbiAgICBjb25zdCBnZW5lcmFsID0gdGhpcy5maW5kT3JDcmVhdGVDYXRlZ29yeShjYXRWYWx1ZSwgY2F0ZWdvcnlOYW1lKTtcbiAgICBnZW5lcmFsW3RoaXMubmFtZUlubmVyTWF0cml4XS5wdXNoKHJvd0RhdGEpO1xuICAgIGNhdGVnb3JpZXMudmFsdWUgPSBjYXRWYWx1ZTtcbiAgICByZXR1cm4gKGNhdGVnb3JpZXMudmlzaWJsZVJvd3MgYXMgYW55KS5maW5kKHIgPT4gci5nZXRWYWx1ZShcImNhdGVnb3J5XCIpID09IGNhdGVnb3J5TmFtZSkgYXMgTWF0cml4RHluYW1pY1Jvd01vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGl0ZW1NZW51Q2F0ZWdvcmllc0VuYWJsZWQobW9kZWw6IFN1cnZleU1vZGVsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0U3ViaXRlbXNUb0FjdGlvbihhY3Rpb246IEFjdGlvbiwgaXRlbXM6IEFjdGlvbltdKSB7XG4gICAgYWN0aW9uLnNldFN1Ykl0ZW1zKHsgaXRlbXM6IGl0ZW1zLCBjc3NDbGFzc2VzOiBsaXN0Q29tcG9uZW50Q3NzIH0pO1xuICAgIGFjdGlvbi5tYXJrZXJJY29uTmFtZSA9IFwiaWNvbi1jaGV2cm9ucmlnaHQtMjR4MjRcIjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJdGVtTWVudUFjdGlvbnNDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgcXVlc3Rpb246IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCkge1xuICAgIGNvbnN0IGNhdGVnb3JpZXNRdWVzdGlvbiA9IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKTtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc1F1ZXN0aW9uLnZhbHVlO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbXSBhcyBJQWN0aW9uW107XG4gICAgY29uc3QgaXNVbnNvcnRlZCA9IHF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lTWF0cml4O1xuICAgIGNvbnN0IGhhc0NhdGVnb3JpZXMgPSB0aGlzLml0ZW1NZW51Q2F0ZWdvcmllc0VuYWJsZWQobW9kZWwpO1xuICAgIGlmICghaXNVbnNvcnRlZCkge1xuICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICBuZXcgQWN0aW9uKHtcbiAgICAgICAgICBpZDogXCJyZW1vdmUtZnJvbVwiLFxuICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLnJlbW92ZUZyb21cIikucmVwbGFjZShcInswfVwiLCBxdWVzdGlvbi50aXRsZSksXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dEYXRhSW5kZXggPSBxdWVzdGlvbi52aXNpYmxlUm93cy5pbmRleE9mKHJvdyk7XG4gICAgICAgICAgICBxdWVzdGlvbi5yZW1vdmVSb3cocm93RGF0YUluZGV4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaGFzQ2F0ZWdvcmllcykge1xuICAgICAgICBhY3Rpb25zLnB1c2gobmV3IEFjdGlvbih7XG4gICAgICAgICAgaWQ6IFwibW92ZS10b1wiLFxuICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLml0ZW1zLm1vdmVUb1wiKSxcbiAgICAgICAgICBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsXG4gICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInJlc3RvcmUtaXRlbVwiLFxuICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guYWRkVG9Ub29sYm94XCIpLFxuICAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcm93RGF0YUluZGV4ID0gcXVlc3Rpb24udmlzaWJsZVJvd3MuaW5kZXhPZihyb3cpO1xuICAgICAgICAgICAgcXVlc3Rpb24ucmVtb3ZlUm93KHJvd0RhdGFJbmRleCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFoYXNDYXRlZ29yaWVzKSByZXR1cm4gYWN0aW9ucztcbiAgICBjb25zdCBjdXJyZW50Q2F0ZWdvcnkgPSBjYXRlZ29yaWVzLmZpbHRlcihjID0+IGNbdGhpcy5uYW1lSW5uZXJNYXRyaXhdLmZpbHRlcihpID0+IGkubmFtZSA9PSByb3cudmFsdWU/Lm5hbWUpLmxlbmd0aCA+IDApWzBdO1xuICAgIGNvbnN0IG1vdmVUb0NhdGVnb3JpZXMgPSBjYXRlZ29yaWVzLmZpbHRlcigoaTogYW55KSA9PiBpLmNhdGVnb3J5ICE9IGN1cnJlbnRDYXRlZ29yeT8uY2F0ZWdvcnkpLm1hcCgoaTogYW55KSA9PiBuZXcgQWN0aW9uKHtcbiAgICAgIGlkOiBcInRvLVwiICsgaS5jYXRlZ29yeSxcbiAgICAgIHRpdGxlOiBpLnRpdGxlLFxuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubW92ZVRvQ2F0ZWdvcnkobW9kZWwsIHF1ZXN0aW9uLCByb3csIGkuY2F0ZWdvcnksIHRydWUpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICBpZiAoIWlzVW5zb3J0ZWQpIHtcbiAgICAgIGFjdGlvbnMucHVzaChuZXcgQWN0aW9uKHtcbiAgICAgICAgaWQ6IFwiY2F0ZWdvcmllc1wiLFxuICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5jYXRlZ29yaWVzTGFiZWxcIiksXG4gICAgICAgIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIixcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIG5lZWRTZXBhcmF0b3I6IHRydWVcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IGNhdEdyb3VwID0gbmV3IEFjdGlvbih7XG4gICAgICAgIGlkOiBcIm1vdmUtdG8tY2F0ZWdvcmllc1wiLFxuICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5tb3ZlVG9DYXRlZ29yeVwiKVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN1Yml0ZW1zVG9BY3Rpb24oY2F0R3JvdXAsIG1vdmVUb0NhdGVnb3JpZXMpO1xuICAgICAgYWN0aW9ucy5wdXNoKGNhdEdyb3VwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0aW9ucy5wdXNoKC4uLm1vdmVUb0NhdGVnb3JpZXMpO1xuICAgIH1cblxuICAgIGFjdGlvbnMucHVzaChcbiAgICAgIG5ldyBBY3Rpb24oe1xuICAgICAgICBpZDogXCJtb3ZlLXRvLW5ldy1jYXRlZ29yeVwiLFxuICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5tb3ZlVG9OZXdDYXRlZ29yeVwiKSxcbiAgICAgICAgbmVlZFNlcGFyYXRvcjogaXNVbnNvcnRlZCxcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3Q2F0Um93ID0gdGhpcy5tb3ZlVG9DYXRlZ29yeShtb2RlbCwgcXVlc3Rpb24sIHJvdywgdGhpcy5nZXREZWZhdWx0VmFsdWVGb3JSb3cobW9kZWwsIHF1ZXN0aW9uLCBcImNhdGVnb3J5XCIpLCB0cnVlKTtcbiAgICAgICAgICB0aGlzLmVkaXRJdGVtKG1vZGVsLCBudWxsLCBjYXRlZ29yaWVzUXVlc3Rpb24sIG5ld0NhdFJvdywge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGdldExvY1N0cmluZyhcInByZXNldHMuaXRlbXMubmV3Q2F0ZWdvcnlcIikgKyBcIiBcIiArIHRoaXMuZ2V0UGFnZVNob3J0VGl0bGUobW9kZWwpLFxuICAgICAgICAgICAgaXNOZXc6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SXRlbU1lbnVBY3Rpb25zKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgcXVlc3Rpb246IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmdldEl0ZW1NZW51QWN0aW9uc0NvcmUobW9kZWwsIHF1ZXN0aW9uLCByb3cpO1xuICAgIGlmICghdGhpcy5nZXREZWZhdWx0SXRlbShxdWVzdGlvbiwgcm93LnZhbHVlLm5hbWUpKSB7XG4gICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgIG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInJlbW92ZS1jdXN0b20taXRlbVwiLFxuICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guZGVsZXRlQ3VzdG9tSXRlbVwiKSxcbiAgICAgICAgICBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWFsZXJ0XCIsXG4gICAgICAgICAgbmVlZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWplY3RSb3dEYXRhKHF1ZXN0aW9uLCByb3csIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBhY3Rpb25zO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlcGxhY2VSZW1vdmVBY3Rpb24obW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCBhY3Rpb25zOiBJQWN0aW9uW10pOiB2b2lkIHtcbiAgICBjb25zdCBvcmlnaW5hbEFjdGlvbiA9IGFjdGlvbnMuZmlsdGVyKGEgPT4gYS5pZCA9PSBcInJlbW92ZS1yb3dcIilbMF07XG4gICAgaWYgKG9yaWdpbmFsQWN0aW9uKSB7XG4gICAgICBvcmlnaW5hbEFjdGlvbi52aXNpYmxlID0gZmFsc2U7XG5cbiAgICAgIGNvbnN0IGFkZEFjdGlvbiA9IGNyZWF0ZURyb3Bkb3duQWN0aW9uTW9kZWwoe1xuICAgICAgICBpZDogXCJjb250ZXh0LW1lbnVcIixcbiAgICAgICAgaWNvbk5hbWU6IFwibW9yZS1jaXJjbGUtMjR4MjRcIixcbiAgICAgICAgdG9vbHRpcDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5tb3JlXCIpLFxuICAgICAgICBsb2NhdGlvbjogXCJlbmRcIixcbiAgICAgICAgdmlzaWJsZUluZGV4OiAyMFxuICAgICAgfSwge1xuICAgICAgICBpdGVtczogW10sXG4gICAgICAgIHNob3dQb2ludGVyOiBmYWxzZSxcbiAgICAgICAgdmVydGljYWxQb3NpdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiBcImNlbnRlclwiLFxuICAgICAgICBjc3NDbGFzczogXCJzcHMtcG9wdXAtbWVudSBzcHMtcG9wdXAtbWVudS0tY29udGV4dFwiLFxuICAgICAgICBjc3NDbGFzc2VzOiBsaXN0Q29tcG9uZW50Q3NzLFxuICAgICAgICBzZWFyY2hFbmFibGVkOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBhZGRBY3Rpb24ucG9wdXBNb2RlbC5vblZpc2liaWxpdHlDaGFuZ2VkLmFkZCgoXzogUG9wdXBNb2RlbCwgb3B0OiB7IG1vZGVsOiBQb3B1cE1vZGVsLCBpc1Zpc2libGU6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICBpZiAob3B0LmlzVmlzaWJsZSkge1xuICAgICAgICAgIGNvbnN0IGxpc3RNb2RlbCA9IG9wdC5tb2RlbC5jb250ZW50Q29tcG9uZW50RGF0YS5tb2RlbDtcbiAgICAgICAgICBsaXN0TW9kZWwuYWN0aW9ucyA9IHRoaXMuZ2V0SXRlbU1lbnVBY3Rpb25zKG1vZGVsLCBxdWVzdGlvbiwgcm93KTtcbiAgICAgICAgICBsaXN0TW9kZWwuZmx1c2hVcGRhdGVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgYWN0aW9ucy5wdXNoKGFkZEFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldFF1ZXN0aW9uQ2F0ZWdvcmllcyhtb2RlbDogU3VydmV5TW9kZWwpOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCB7IHJldHVybiA8UXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWw+bW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lQ2F0ZWdvcmllcyk7IH1cblxuICBwcm90ZWN0ZWQgaXNJdGVtc01hdHJpeChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaXNJdGVtc01hdHJpeChuYW1lKSB8fCBuYW1lID09PSB0aGlzLm5hbWVJbm5lck1hdHJpeDtcbiAgfVxuICBwcml2YXRlIHJlc2V0Q2F0ZWdvcnkobW9kZWw6IFN1cnZleU1vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCkge1xuICAgIGNvbnN0IGNhdGVnb3J5ID0gcm93LmdldFZhbHVlKFwiY2F0ZWdvcnlcIik7XG4gICAgY29uc3QgZGVmYXVsdEl0ZW1zID0gdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcy5maWx0ZXIoaSA9PiBpLmNhdGVnb3J5ID09IGNhdGVnb3J5KVswXT8uW3RoaXMubmFtZUlubmVyTWF0cml4XTtcbiAgICBpZiAoIWRlZmF1bHRJdGVtcykgcmV0dXJuO1xuICAgIGNvbnN0IGNhdGVnb3JpZXNRdWVzdGlvbiA9IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKTtcbiAgICBjb25zdCBoaWRkZW5JdGVtc1F1ZXN0aW9uID0gdGhpcy5nZXRNYXRyaXgobW9kZWwpO1xuICAgIGNvbnN0IGhpZGRlblZhbHVlID0gaGlkZGVuSXRlbXNRdWVzdGlvbi52YWx1ZSB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZSA9IGNhdGVnb3JpZXNRdWVzdGlvbi52YWx1ZTtcbiAgICBjb25zdCBjYXRlZ29yeVJvdyA9IHZhbHVlLmZpbHRlcih2ID0+IHYuY2F0ZWdvcnkgPT0gY2F0ZWdvcnkpWzBdO1xuICAgIGNhdGVnb3J5Um93W3RoaXMubmFtZUlubmVyTWF0cml4XS5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKCFkZWZhdWx0SXRlbXMuc29tZShkaSA9PiBkaS5uYW1lID09IGkubmFtZSkpIHtcbiAgICAgICAgaGlkZGVuVmFsdWUucHVzaChpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjYXRlZ29yeVJvd1t0aGlzLm5hbWVJbm5lck1hdHJpeF0gPSBkZWZhdWx0SXRlbXM7XG4gICAgZnVuY3Rpb24gY2xlYXJJdGVtRnJvbURlZmF1bHQoaXRlbXM6IGFueSkge1xuICAgICAgaWYgKCFpdGVtcykgcmV0dXJuO1xuICAgICAgZGVmYXVsdEl0ZW1zLmZvckVhY2goZGkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmZpbmRJbmRleChpID0+IGkubmFtZSA9PSBkaS5uYW1lKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdmFsdWUuZmlsdGVyKHYgPT4gdi5jYXRlZ29yeSAhPSBjYXRlZ29yeSkuZm9yRWFjaCh2ID0+IHtcbiAgICAgIGRlZmF1bHRJdGVtcy5mb3JFYWNoKGRpID0+IHtcbiAgICAgICAgY2xlYXJJdGVtRnJvbURlZmF1bHQodlt0aGlzLm5hbWVJbm5lck1hdHJpeF0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY2xlYXJJdGVtRnJvbURlZmF1bHQoaGlkZGVuVmFsdWUpO1xuXG4gICAgaGlkZGVuSXRlbXNRdWVzdGlvbi52YWx1ZSA9IGhpZGRlblZhbHVlO1xuICAgIGNhdGVnb3JpZXNRdWVzdGlvbi52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubm90aWZ5Q2FsbGJhY2soZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5lZGl0b3IuY2F0ZWdvcnlSZXN0b3JlZFRvRGVmYXVsdFwiKSk7XG4gIH1cbiAgcHJvdGVjdGVkIGZpbmRPckNyZWF0ZUNhdGVnb3J5KGNhdGVnb3JpZXM6IGFueSwgY2F0ZWdvcnk/OiBzdHJpbmcpIHtcbiAgICBsZXQgZ2VuZXJhbENhdGVnb3J5ID0gY2F0ZWdvcmllcy5maWx0ZXIoYyA9PiBjLmNhdGVnb3J5ID09IGNhdGVnb3J5KVswXTtcbiAgICBpZiAoIWdlbmVyYWxDYXRlZ29yeSkge1xuICAgICAgZ2VuZXJhbENhdGVnb3J5ID0geyBjYXRlZ29yeTogY2F0ZWdvcnkgfHwgXCJnZW5lcmFsXCIsIHRpdGxlOiBjYXRlZ29yeSB8fCBcIkdlbmVyYWxcIiwgW3RoaXMubmFtZUlubmVyTWF0cml4XTogW10gfTtcbiAgICAgIGNhdGVnb3JpZXMucHVzaChnZW5lcmFsQ2F0ZWdvcnkpO1xuICAgIH1cbiAgICByZXR1cm4gZ2VuZXJhbENhdGVnb3J5O1xuICB9XG4gIHByb3RlY3RlZCBuZWVkVG9TZXRBY3Rpb25zKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlzSXRlbXNNYXRyaXgobmFtZSkgfHwgbmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcztcbiAgfVxuICBwcm90ZWN0ZWQgb25HZXRNYXRyaXhSb3dBY3Rpb25zQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgc3VwZXIub25HZXRNYXRyaXhSb3dBY3Rpb25zQ29yZShtb2RlbCwgY3JlYXRvciwgb3B0aW9ucyk7XG4gICAgaWYgKG9wdGlvbnMucXVlc3Rpb24ubmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcykge1xuICAgICAgdGhpcy5zZXR1cENhdGVnb3J5QWN0aW9ucyhtb2RlbCwgY3JlYXRvciwgb3B0aW9ucy5xdWVzdGlvbiwgb3B0aW9ucy5yb3csIG9wdGlvbnMuYWN0aW9ucyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzSXRlbXNNYXRyaXgob3B0aW9ucy5xdWVzdGlvbi5uYW1lKSkge1xuICAgICAgdGhpcy5yZXBsYWNlUmVtb3ZlQWN0aW9uKG1vZGVsLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvdywgb3B0aW9ucy5hY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RXhpc3RpbmdLZXlzKG1vZGVsOiBTdXJ2ZXlNb2RlbCwga2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjYXRzID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lQ2F0ZWdvcmllcykudmFsdWUgfHwgW107XG4gICAgY29uc3QgdW5zb3J0ZWQgPSBtb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVNYXRyaXgpLnZhbHVlIHx8IFtdO1xuICAgIHJldHVybiBbLi4uY2F0cywgLi4uY2F0cy5tYXAoYyA9PiBjLml0ZW1zKS5mbGF0KCkuZmlsdGVyKGtleSA9PiAhIWtleSksIC4uLnVuc29ydGVkXTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1hdHJpeFJvd1JlbW92aW5nKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlci5vbk1hdHJpeFJvd1JlbW92aW5nKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5xdWVzdGlvbi5uYW1lID09IHRoaXMubmFtZUNhdGVnb3JpZXMpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gb3B0aW9ucy5xdWVzdGlvbi52YWx1ZVtvcHRpb25zLnJvd0luZGV4XVt0aGlzLm5hbWVJbm5lck1hdHJpeF07XG4gICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuSXRlbXMgPSB0aGlzLmdldE1hdHJpeChtb2RlbCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaGlkZGVuSXRlbXMudmFsdWUgPyBoaWRkZW5JdGVtcy52YWx1ZS5jb25jYXQoaXRlbXMpIDogaXRlbXM7XG4gICAgICAgIGhpZGRlbkl0ZW1zLnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lTWF0cml4KSB7XG4gICAgICBjb25zdCByb3dEYXRhID0gb3B0aW9ucy5xdWVzdGlvbi52YWx1ZVtvcHRpb25zLnJvd0luZGV4XTtcbiAgICAgIGNvbnN0IGRlZmF1bHRDYXRlZ29yeSA9IHRoaXMuZGVmYXVsdENhdGVnb3JpZXMuZmlsdGVyKGMgPT4gY1t0aGlzLm5hbWVJbm5lck1hdHJpeF0uZmlsdGVyKGkgPT4gaS5uYW1lID09IHJvd0RhdGEubmFtZSkubGVuZ3RoID4gMClbMF07XG4gICAgICB0aGlzLm1vdmVUb0NhdGVnb3J5KG1vZGVsLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvdywgZGVmYXVsdENhdGVnb3J5Py5jYXRlZ29yeSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBvbk1hdHJpeFJvd0FkZGVkKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlci5vbk1hdHJpeFJvd0FkZGVkKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5xdWVzdGlvbi5uYW1lID09IHRoaXMubmFtZUNhdGVnb3JpZXMpIHtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlRm9yUm93KG1vZGVsLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvdyk7XG4gICAgICB0aGlzLmVkaXRJdGVtKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvdywge1xuICAgICAgICBkZXNjcmlwdGlvbjogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5pdGVtcy5uZXdDYXRlZ29yeVwiKSArIFwiIFwiICsgdGhpcy5nZXRQYWdlU2hvcnRUaXRsZShtb2RlbCksXG4gICAgICAgIGlzTmV3OiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-categorized.ts\n");
120
120
 
121
121
  /***/ }),
122
122
 
@@ -166,7 +166,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
166
166
  \**********************************************/
167
167
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
168
168
 
169
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableTabs: () => (/* binding */ CreatorPresetEditableTabs)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _presets_editable_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-list */ \"./src/presets/presets-editable-list.ts\");\n\n\n\n\n\nvar CreatorPresetEditableTabs = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableTabs, _super);\n function CreatorPresetEditableTabs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CreatorPresetEditableTabs.prototype.createItemsMatrixJSON = function (props) {\n var defaultJSON = {\n type: \"matrixdynamic\",\n name: \"items\",\n allowRowReorder: true,\n cellType: \"text\",\n showHeader: false,\n rowCount: 0,\n allowAddRows: false,\n addRowButtonLocation: \"top\",\n addRowText: \"Add Custom Item\",\n \"noRowsText\": \"There are no items\",\n columns: [\n {\n \"name\": \"name\",\n visible: false\n },\n {\n \"name\": \"title\"\n }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n { type: \"text\", name: \"name\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.name\"), isUnique: true, isRequired: true, readOnly: true, visible: false },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.titleField\"), visible: false },\n { type: \"dropdown\", name: \"iconName\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.iconName\"), itemComponent: \"svc-presets-icon-item\", \"allowCustomChoices\": true, choices: this.iconList, visible: false }\n ]\n };\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultJSON), props);\n };\n CreatorPresetEditableTabs.prototype.createMainPageCore = function () {\n return {\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.title\"),\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.description\"),\n navigationTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.navigationTitle\"),\n elements: [\n {\n type: \"panel\",\n name: this.mainPanelName,\n elements: [\n this.createItemsMatrixJSON({\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.items\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.noItemsText\"),\n name: this.nameItems\n }),\n this.createItemsMatrixJSON({\n startWithNewLine: false,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.hiddenItems\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.noHiddenItemsText\"),\n name: this.nameMatrix,\n descriptionLocation: \"underInput\",\n }),\n ]\n },\n {\n type: \"panel\",\n name: \"panel_tabs_controls\",\n elements: [\n {\n type: \"dropdown\",\n name: this.nameActiveTab,\n allowClear: false,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.defaultTab\")\n }\n ]\n },\n {\n type: \"panel\",\n title: \" \",\n name: this.navigationPanelName,\n elements: [\n {\n type: \"html\",\n html: \"&nbsp\"\n }\n ]\n }\n ]\n };\n };\n Object.defineProperty(CreatorPresetEditableTabs.prototype, \"questionNames\", {\n get: function () {\n return [this.nameItems, this.nameActiveTab];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableTabs.prototype.filterTabs = function (tabs) {\n return tabs.filter(function (t) { return t.name != \"presets\"; });\n };\n CreatorPresetEditableTabs.prototype.hasIcon = function (name) { return true; };\n CreatorPresetEditableTabs.prototype.getJsonValueCore = function (model, creator, defaultJson) {\n var items = model.getQuestionByName(this.nameItems).value;\n if (!Array.isArray(items))\n return undefined;\n var creatorDefaultTabs = this.filterTabs((defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.items) || creator.getTabs());\n var creatorAvailableTabs = this.filterTabs(creator.getAvailableTabs());\n var activeTabChoices = items.map(function (i) { return ({ name: i.name, iconName: i.iconName }); });\n activeTabChoices.forEach(function (i) {\n var _a;\n if (!i.iconName || i.iconName == ((_a = creatorAvailableTabs.filter(function (t) { return t.name == i.name; })[0]) === null || _a === void 0 ? void 0 : _a.iconName)) {\n delete i.iconName;\n }\n });\n if (survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isArraysEqual(activeTabChoices, creatorDefaultTabs, false)) {\n activeTabChoices = undefined;\n }\n var activeTab = model.getValue(this.nameActiveTab);\n if (!activeTabChoices && activeTab === ((defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.activeTab) || creator.activeTab)) {\n activeTab = undefined;\n }\n if (!activeTabChoices && !activeTab)\n return undefined;\n var val = {};\n if (!!activeTabChoices) {\n val.items = activeTabChoices;\n }\n if (!!activeTab) {\n val.activeTab = activeTab;\n }\n return val;\n };\n CreatorPresetEditableTabs.prototype.getDefaultJsonValueCore = function (creator) {\n return {\n activeTab: creator.activeTab,\n items: this.filterTabs(creator.getTabs()).map(function (i) { return ({ name: i.name }); }),\n };\n };\n CreatorPresetEditableTabs.prototype.getQuestionItems = function (model) {\n return model.getQuestionByName(this.nameItems);\n };\n CreatorPresetEditableTabs.prototype.onMatrixRowRemoving = function (model, creator, options) {\n if (options.question.name === this.nameMatrix) {\n this.restoreItems(this.getQuestionItems(model), options.question, options.rowIndex);\n }\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n };\n CreatorPresetEditableTabs.prototype.isItemsMatrix = function (name) {\n return name === this.nameItems || _super.prototype.isItemsMatrix.call(this, name);\n };\n CreatorPresetEditableTabs.prototype.setJsonLocalizationStringsCore = function (model, locStrs) {\n var rows = this.getQuestionItems(model).visibleRows;\n rows.forEach(function (r) {\n _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditableBase.updateModifiedText(locStrs, r.getValue(\"title\"), \"tabs.\" + r.getValue(\"name\"));\n });\n };\n CreatorPresetEditableTabs.prototype.setupQuestionsCore = function (model, creatorSetup) {\n this.setupPageQuestions(model, creatorSetup.creator);\n };\n CreatorPresetEditableTabs.prototype.getAllTabs = function (creator) {\n return this.filterTabs(creator.getAvailableTabs().map(function (t) { return ({ name: t.name, title: survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.editorLocalization.getString(\"tabs.\" + t.name), iconName: t.iconName }); }));\n };\n CreatorPresetEditableTabs.prototype.setupOnCurrentPageCore = function (model, creator, active) {\n creator.tabs.forEach(function (i) { return i.enabled = active; });\n };\n CreatorPresetEditableTabs.prototype.setupQuestionsValueCore = function (model, json, creator) {\n json = json || {};\n var items = (json[\"items\"] || []).map(function (i) { return typeof i === \"string\" ? { name: i } : i; });\n var tabNames = creator.initialTabs();\n var allTabs = this.getAllTabs(creator);\n var defaultItems = allTabs.filter(function (t) { return tabNames.indexOf(t.name) >= 0; });\n if (items.length === 0) {\n items = defaultItems;\n }\n else {\n var _loop_1 = function (i) {\n var defaultItem = defaultItems.filter(function (di) { return di.name == items[i].name; })[0];\n if (defaultItem) {\n items[i] = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultItem), items[i]);\n }\n };\n for (var i = 0; i < items.length; i++) {\n _loop_1(i);\n }\n }\n var itemNames = items.map(function (i) { return i.name; });\n var hiddenItems = allTabs.filter(function (t) { return itemNames.indexOf(t.name) < 0; });\n model.setValue(this.nameItems, items);\n model.setValue(this.nameMatrix, hiddenItems);\n model.setValue(this.nameActiveTab, json[\"activeTab\"] || creator.activeTab);\n model.getQuestionByName(this.nameActiveTab).choices = items.map(function (v) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(v.name, v.title); });\n };\n CreatorPresetEditableTabs.prototype.onLocaleChangedCore = function (model, json, creator) {\n this.setupPageQuestions(model, creator);\n this.setupQuestionsValueCore(model, json, creator);\n };\n CreatorPresetEditableTabs.prototype.setupPageQuestions = function (model, creator) {\n this.defaultItems = this.getAllTabs(creator);\n var activeQ = model.getQuestionByName(this.nameActiveTab);\n activeQ.choices = this.defaultItems.map(function (t) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(t.name, t.title); });\n };\n CreatorPresetEditableTabs.prototype.updateOnValueChangedCore = function (model, name) {\n _super.prototype.updateOnValueChangedCore.call(this, model, name);\n if (name === this.nameItems) {\n var val = model.getValue(name) || [];\n var activeTabQuestion = model.getQuestionByName(this.nameActiveTab);\n activeTabQuestion.choices = val.map(function (v) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(v.name, v.title); });\n if (!activeTabQuestion.selectedItem) {\n activeTabQuestion.selectItem(activeTabQuestion.choices[0]);\n }\n }\n };\n Object.defineProperty(CreatorPresetEditableTabs.prototype, \"nameActiveTab\", {\n get: function () { return this.path + \"_activeTab\"; },\n enumerable: false,\n configurable: true\n });\n return CreatorPresetEditableTabs;\n}(_presets_editable_list__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableList));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLENBQUM7OztPQUFBO0lBQ2xFLGdDQUFDO0FBQUQsQ0FBQyxDQTFNOEMsNkVBQXlCLEdBME12RSIsInNvdXJjZXMiOlsid2VicGFjazovL1N1cnZleUNyZWF0b3JDb3JlUHJlc2V0cy8uL3NyYy9wcmVzZXRzL3ByZXNldHMtZWRpdGFibGUtdGFicy50cz82NjEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhlbHBlcnMsIEl0ZW1WYWx1ZSwgUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVCYXNlLCBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwIH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1iYXNlXCI7XG5pbXBvcnQgeyBTdXJ2ZXlDcmVhdG9yTW9kZWwsIGVkaXRvckxvY2FsaXphdGlvbiwgZ2V0TG9jU3RyaW5nIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JQcmVzZXRFZGl0YWJsZUxpc3QgfSBmcm9tIFwiLi9wcmVzZXRzLWVkaXRhYmxlLWxpc3RcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0b3JQcmVzZXRFZGl0YWJsZVRhYnMgZXh0ZW5kcyBDcmVhdG9yUHJlc2V0RWRpdGFibGVMaXN0IHtcbiAgcHJpdmF0ZSBjcmVhdGVJdGVtc01hdHJpeEpTT04ocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgZGVmYXVsdEpTT04gPSB7XG4gICAgICB0eXBlOiBcIm1hdHJpeGR5bmFtaWNcIixcbiAgICAgIG5hbWU6IFwiaXRlbXNcIixcbiAgICAgIGFsbG93Um93UmVvcmRlcjogdHJ1ZSxcbiAgICAgIGNlbGxUeXBlOiBcInRleHRcIixcbiAgICAgIHNob3dIZWFkZXI6IGZhbHNlLFxuICAgICAgcm93Q291bnQ6IDAsXG4gICAgICBhbGxvd0FkZFJvd3M6IGZhbHNlLFxuICAgICAgYWRkUm93QnV0dG9uTG9jYXRpb246IFwidG9wXCIsXG4gICAgICBhZGRSb3dUZXh0OiBcIkFkZCBDdXN0b20gSXRlbVwiLFxuICAgICAgXCJub1Jvd3NUZXh0XCI6IFwiVGhlcmUgYXJlIG5vIGl0ZW1zXCIsXG4gICAgICBjb2x1bW5zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJuYW1lXCIsXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRpdGxlXCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGRldGFpbFBhbmVsTW9kZTogXCJ1bmRlclJvd1wiLFxuICAgICAgZGV0YWlsRWxlbWVudHM6IFtcbiAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJuYW1lXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMubmFtZVwiKSwgaXNVbmlxdWU6IHRydWUsIGlzUmVxdWlyZWQ6IHRydWUsIHJlYWRPbmx5OiB0cnVlLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICB7IHR5cGU6IFwidGV4dFwiLCBuYW1lOiBcInRpdGxlXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMudGl0bGVGaWVsZFwiKSwgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgeyB0eXBlOiBcImRyb3Bkb3duXCIsIG5hbWU6IFwiaWNvbk5hbWVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5pY29uTmFtZVwiKSwgaXRlbUNvbXBvbmVudDogXCJzdmMtcHJlc2V0cy1pY29uLWl0ZW1cIiwgXCJhbGxvd0N1c3RvbUNob2ljZXNcIjogdHJ1ZSwgY2hvaWNlczogdGhpcy5pY29uTGlzdCwgdmlzaWJsZTogZmFsc2UgfVxuICAgICAgXVxuICAgIH07XG4gICAgcmV0dXJuIHsgLi4uZGVmYXVsdEpTT04sIC4uLnByb3BzIH07XG4gIH1cbiAgcHVibGljIGNyZWF0ZU1haW5QYWdlQ29yZSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLnRpdGxlXCIpLFxuICAgICAgZGVzY3JpcHRpb246IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5kZXNjcmlwdGlvblwiKSxcbiAgICAgIG5hdmlnYXRpb25UaXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLm5hdmlnYXRpb25UaXRsZVwiKSxcbiAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInBhbmVsXCIsXG4gICAgICAgICAgbmFtZTogdGhpcy5tYWluUGFuZWxOYW1lLFxuICAgICAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUl0ZW1zTWF0cml4SlNPTih7XG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMuaXRlbXNcIiksXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5ub0l0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lSXRlbXNcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICBzdGFydFdpdGhOZXdMaW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5oaWRkZW5JdGVtc1wiKSxcbiAgICAgICAgICAgICAgbm9Sb3dzVGV4dDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLm5vSGlkZGVuSXRlbXNUZXh0XCIpLFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWVNYXRyaXgsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uTG9jYXRpb246IFwidW5kZXJJbnB1dFwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJwYW5lbFwiLFxuICAgICAgICAgIG5hbWU6IFwicGFuZWxfdGFic19jb250cm9sc1wiLFxuICAgICAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiZHJvcGRvd25cIixcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lQWN0aXZlVGFiLFxuICAgICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcbiAgICAgICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5kZWZhdWx0VGFiXCIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJwYW5lbFwiLFxuICAgICAgICAgIHRpdGxlOiBcIiBcIixcbiAgICAgICAgICBuYW1lOiB0aGlzLm5hdmlnYXRpb25QYW5lbE5hbWUsXG4gICAgICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJodG1sXCIsXG4gICAgICAgICAgICAgIGh0bWw6IFwiJm5ic3BcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uTmFtZXMoKSB7XG4gICAgcmV0dXJuIFt0aGlzLm5hbWVJdGVtcywgdGhpcy5uYW1lQWN0aXZlVGFiXTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVGFicyh0YWJzOiBhbnkpIHtcbiAgICByZXR1cm4gdGFicy5maWx0ZXIodCA9PiB0Lm5hbWUgIT0gXCJwcmVzZXRzXCIpO1xuICB9XG4gIHByb3RlY3RlZCBoYXNJY29uKG5hbWU6IHN0cmluZykgeyByZXR1cm4gdHJ1ZTsgfVxuICBwcm90ZWN0ZWQgZ2V0SnNvblZhbHVlQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgZGVmYXVsdEpzb246IGFueSk6IGFueSB7XG4gICAgbGV0IGl0ZW1zID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lSXRlbXMpLnZhbHVlO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShpdGVtcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgY3JlYXRvckRlZmF1bHRUYWJzID0gdGhpcy5maWx0ZXJUYWJzKGRlZmF1bHRKc29uPy5pdGVtcyB8fCBjcmVhdG9yLmdldFRhYnMoKSk7XG4gICAgY29uc3QgY3JlYXRvckF2YWlsYWJsZVRhYnMgPSB0aGlzLmZpbHRlclRhYnMoY3JlYXRvci5nZXRBdmFpbGFibGVUYWJzKCkpO1xuICAgIGxldCBhY3RpdmVUYWJDaG9pY2VzID0gaXRlbXMubWFwKGkgPT4gKHsgbmFtZTogaS5uYW1lLCBpY29uTmFtZTogaS5pY29uTmFtZSB9KSk7XG4gICAgYWN0aXZlVGFiQ2hvaWNlcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKCFpLmljb25OYW1lIHx8IGkuaWNvbk5hbWUgPT0gY3JlYXRvckF2YWlsYWJsZVRhYnMuZmlsdGVyKHQgPT4gdC5uYW1lID09IGkubmFtZSlbMF0/Lmljb25OYW1lKSB7XG4gICAgICAgIGRlbGV0ZSBpLmljb25OYW1lO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChIZWxwZXJzLmlzQXJyYXlzRXF1YWwoYWN0aXZlVGFiQ2hvaWNlcywgY3JlYXRvckRlZmF1bHRUYWJzLCBmYWxzZSkpIHtcbiAgICAgIGFjdGl2ZVRhYkNob2ljZXMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxldCBhY3RpdmVUYWIgPSBtb2RlbC5nZXRWYWx1ZSh0aGlzLm5hbWVBY3RpdmVUYWIpO1xuICAgIGlmICghYWN0aXZlVGFiQ2hvaWNlcyAmJiBhY3RpdmVUYWIgPT09IChkZWZhdWx0SnNvbj8uYWN0aXZlVGFiIHx8IGNyZWF0b3IuYWN0aXZlVGFiKSkge1xuICAgICAgYWN0aXZlVGFiID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoIWFjdGl2ZVRhYkNob2ljZXMgJiYgIWFjdGl2ZVRhYikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCB2YWw6IGFueSA9IHsgfTtcbiAgICBpZiAoISFhY3RpdmVUYWJDaG9pY2VzKSB7XG4gICAgICB2YWwuaXRlbXMgPSBhY3RpdmVUYWJDaG9pY2VzO1xuICAgIH1cbiAgICBpZiAoISFhY3RpdmVUYWIpIHtcbiAgICAgIHZhbC5hY3RpdmVUYWIgPSBhY3RpdmVUYWI7XG4gICAgfVxuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdEpzb25WYWx1ZUNvcmUoY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWN0aXZlVGFiOiBjcmVhdG9yLmFjdGl2ZVRhYixcbiAgICAgIGl0ZW1zOiB0aGlzLmZpbHRlclRhYnMoY3JlYXRvci5nZXRUYWJzKCkpLm1hcChpID0+ICh7IG5hbWU6IGkubmFtZSB9KSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbDogU3VydmV5TW9kZWwpOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCB7XG4gICAgcmV0dXJuIDxRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbD5tb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVJdGVtcyk7XG4gIH1cblxuICBwdWJsaWMgb25NYXRyaXhSb3dSZW1vdmluZyhtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgb3B0aW9uczogYW55KSB7XG4gICAgaWYgKG9wdGlvbnMucXVlc3Rpb24ubmFtZSA9PT0gdGhpcy5uYW1lTWF0cml4KSB7XG4gICAgICB0aGlzLnJlc3RvcmVJdGVtcyh0aGlzLmdldFF1ZXN0aW9uSXRlbXMobW9kZWwpLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvd0luZGV4KTtcbiAgICB9XG4gICAgc3VwZXIub25NYXRyaXhSb3dSZW1vdmluZyhtb2RlbCwgY3JlYXRvciwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNJdGVtc01hdHJpeChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbmFtZSA9PT0gdGhpcy5uYW1lSXRlbXMgfHwgc3VwZXIuaXNJdGVtc01hdHJpeChuYW1lKTtcbiAgfVxuICBwcm90ZWN0ZWQgc2V0SnNvbkxvY2FsaXphdGlvblN0cmluZ3NDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgbG9jU3RyczogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCkudmlzaWJsZVJvd3M7XG4gICAgcm93cy5mb3JFYWNoKHIgPT4ge1xuICAgICAgQ3JlYXRvclByZXNldEVkaXRhYmxlQmFzZS51cGRhdGVNb2RpZmllZFRleHQobG9jU3Rycywgci5nZXRWYWx1ZShcInRpdGxlXCIpLCBcInRhYnMuXCIgKyByLmdldFZhbHVlKFwibmFtZVwiKSk7XG4gICAgfSk7XG4gIH1cbiAgcHJvdGVjdGVkIHNldHVwUXVlc3Rpb25zQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3JTZXR1cDogSUNyZWF0b3JQcmVzZXRFZGl0b3JTZXR1cCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBQYWdlUXVlc3Rpb25zKG1vZGVsLCBjcmVhdG9yU2V0dXAuY3JlYXRvcik7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbFRhYnMoY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyVGFicyhjcmVhdG9yLmdldEF2YWlsYWJsZVRhYnMoKS5tYXAodCA9PiAoeyBuYW1lOiB0Lm5hbWUsIHRpdGxlOiBlZGl0b3JMb2NhbGl6YXRpb24uZ2V0U3RyaW5nKFwidGFicy5cIiArIHQubmFtZSksIGljb25OYW1lOiB0Lmljb25OYW1lIH0pKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBPbkN1cnJlbnRQYWdlQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY3JlYXRvci50YWJzLmZvckVhY2goaSA9PiBpLmVuYWJsZWQgPSBhY3RpdmUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwUXVlc3Rpb25zVmFsdWVDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwganNvbjogYW55LCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICBqc29uID0ganNvbiB8fCB7fTtcbiAgICBsZXQgaXRlbXMgPSAoanNvbltcIml0ZW1zXCJdIHx8IFtdKS5tYXAoaSA9PiB0eXBlb2YgaSA9PT0gXCJzdHJpbmdcIiA/IHsgbmFtZTogaSB9IDogaSk7XG4gICAgY29uc3QgdGFiTmFtZXMgPSBjcmVhdG9yLmluaXRpYWxUYWJzKCk7XG4gICAgY29uc3QgYWxsVGFicyA9IHRoaXMuZ2V0QWxsVGFicyhjcmVhdG9yKTtcbiAgICBjb25zdCBkZWZhdWx0SXRlbXMgPSBhbGxUYWJzLmZpbHRlcih0ID0+IHRhYk5hbWVzLmluZGV4T2YodC5uYW1lKSA+PSAwKTtcbiAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpdGVtcyA9IGRlZmF1bHRJdGVtcztcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBkZWZhdWx0SXRlbSA9IGRlZmF1bHRJdGVtcy5maWx0ZXIoZGkgPT4gZGkubmFtZSA9PSBpdGVtc1tpXS5uYW1lKVswXTtcbiAgICAgICAgaWYgKGRlZmF1bHRJdGVtKSB7XG4gICAgICAgICAgaXRlbXNbaV0gPSB7IC4uLmRlZmF1bHRJdGVtLCAuLi5pdGVtc1tpXSB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1OYW1lcyA9IGl0ZW1zLm1hcChpID0+IGkubmFtZSk7XG4gICAgY29uc3QgaGlkZGVuSXRlbXMgPSBhbGxUYWJzLmZpbHRlcih0ID0+IGl0ZW1OYW1lcy5pbmRleE9mKHQubmFtZSkgPCAwKTtcbiAgICBtb2RlbC5zZXRWYWx1ZSh0aGlzLm5hbWVJdGVtcywgaXRlbXMpO1xuICAgIG1vZGVsLnNldFZhbHVlKHRoaXMubmFtZU1hdHJpeCwgaGlkZGVuSXRlbXMpO1xuICAgIG1vZGVsLnNldFZhbHVlKHRoaXMubmFtZUFjdGl2ZVRhYiwganNvbltcImFjdGl2ZVRhYlwiXSB8fCBjcmVhdG9yLmFjdGl2ZVRhYik7XG4gICAgbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lQWN0aXZlVGFiKS5jaG9pY2VzID0gaXRlbXMubWFwKHYgPT4gbmV3IEl0ZW1WYWx1ZSh2Lm5hbWUsIHYudGl0bGUpKTtcbiAgfVxuICBwcm90ZWN0ZWQgb25Mb2NhbGVDaGFuZ2VkQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGpzb246IGFueSwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFBhZ2VRdWVzdGlvbnMobW9kZWwsIGNyZWF0b3IpO1xuICAgIHRoaXMuc2V0dXBRdWVzdGlvbnNWYWx1ZUNvcmUobW9kZWwsIGpzb24sIGNyZWF0b3IpO1xuICB9XG4gIHByb3RlY3RlZCBzZXR1cFBhZ2VRdWVzdGlvbnMobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmRlZmF1bHRJdGVtcyA9IHRoaXMuZ2V0QWxsVGFicyhjcmVhdG9yKTtcbiAgICBjb25zdCBhY3RpdmVRID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lQWN0aXZlVGFiKTtcbiAgICBhY3RpdmVRLmNob2ljZXMgPSB0aGlzLmRlZmF1bHRJdGVtcy5tYXAodCA9PiBuZXcgSXRlbVZhbHVlKHQubmFtZSwgdC50aXRsZSkpO1xuICB9XG4gIHByb3RlY3RlZCB1cGRhdGVPblZhbHVlQ2hhbmdlZENvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVPblZhbHVlQ2hhbmdlZENvcmUobW9kZWwsIG5hbWUpO1xuICAgIGlmIChuYW1lID09PSB0aGlzLm5hbWVJdGVtcykge1xuICAgICAgY29uc3QgdmFsID0gbW9kZWwuZ2V0VmFsdWUobmFtZSkgfHwgW107XG4gICAgICBjb25zdCBhY3RpdmVUYWJRdWVzdGlvbiA9IG1vZGVsLmdldFF1ZXN0aW9uQnlOYW1lKHRoaXMubmFtZUFjdGl2ZVRhYik7XG4gICAgICBhY3RpdmVUYWJRdWVzdGlvbi5jaG9pY2VzID0gdmFsLm1hcCh2ID0+IG5ldyBJdGVtVmFsdWUodi5uYW1lLCB2LnRpdGxlKSk7XG4gICAgICBpZiAoIWFjdGl2ZVRhYlF1ZXN0aW9uLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICBhY3RpdmVUYWJRdWVzdGlvbi5zZWxlY3RJdGVtKGFjdGl2ZVRhYlF1ZXN0aW9uLmNob2ljZXNbMF0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBuYW1lQWN0aXZlVGFiKCkgeyByZXR1cm4gdGhpcy5wYXRoICsgXCJfYWN0aXZlVGFiXCI7IH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-tabs.ts\n");
169
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableTabs: () => (/* binding */ CreatorPresetEditableTabs)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _presets_editable_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-list */ \"./src/presets/presets-editable-list.ts\");\n\n\n\n\n\nvar CreatorPresetEditableTabs = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableTabs, _super);\n function CreatorPresetEditableTabs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CreatorPresetEditableTabs.prototype.createItemsMatrixJSON = function (props) {\n var defaultJSON = {\n type: \"matrixdynamic\",\n name: \"items\",\n allowRowReorder: true,\n cellType: \"text\",\n showHeader: false,\n rowCount: 0,\n allowAddRows: false,\n addRowButtonLocation: \"top\",\n addRowText: \"Add Custom Item\",\n \"noRowsText\": \"There are no items\",\n columns: [\n {\n \"name\": \"name\",\n visible: false\n },\n {\n \"name\": \"title\"\n }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n { type: \"text\", name: \"name\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.name\"), isUnique: true, isRequired: true, readOnly: true, visible: false },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.titleField\"), visible: false },\n { type: \"dropdown\", name: \"iconName\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.iconName\"), itemComponent: \"svc-presets-icon-item\", \"allowCustomChoices\": true, choices: this.iconList, visible: false }\n ]\n };\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultJSON), props);\n };\n CreatorPresetEditableTabs.prototype.createMainPageCore = function () {\n return {\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.title\"),\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.description\"),\n navigationTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.navigationTitle\"),\n elements: [\n {\n type: \"panel\",\n name: this.mainPanelName,\n elements: [\n this.createItemsMatrixJSON({\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.items\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.noItemsText\"),\n name: this.nameItems\n }),\n this.createItemsMatrixJSON({\n startWithNewLine: false,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.hiddenItems\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.noHiddenItemsText\"),\n name: this.nameMatrix,\n descriptionLocation: \"underInput\",\n }),\n ]\n },\n {\n type: \"panel\",\n name: \"panel_tabs_controls\",\n elements: [\n {\n type: \"dropdown\",\n name: this.nameActiveTab,\n allowClear: false,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.tabs.defaultTab\")\n }\n ]\n },\n {\n type: \"panel\",\n title: \" \",\n name: this.navigationPanelName,\n elements: [\n {\n type: \"html\",\n html: \"&nbsp\"\n }\n ]\n }\n ]\n };\n };\n Object.defineProperty(CreatorPresetEditableTabs.prototype, \"questionNames\", {\n get: function () {\n return [this.nameItems, this.nameActiveTab];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableTabs.prototype.filterTabs = function (tabs) {\n return tabs.filter(function (t) { return t.name != \"presets\"; });\n };\n CreatorPresetEditableTabs.prototype.hasIcon = function (name) { return true; };\n CreatorPresetEditableTabs.prototype.getJsonValueCore = function (model, creator, defaultJson) {\n var items = model.getQuestionByName(this.nameItems).value;\n if (!Array.isArray(items))\n return undefined;\n var creatorDefaultTabs = this.filterTabs((defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.items) || creator.getTabs());\n var tabsInfo = creator.getTabsInfo();\n var activeTabChoices = items.map(function (i) { return ({ name: i.name, iconName: i.iconName }); });\n activeTabChoices.forEach(function (i) {\n var _a;\n if (!i.iconName || i.iconName == ((_a = tabsInfo[i.name]) === null || _a === void 0 ? void 0 : _a.iconName)) {\n delete i.iconName;\n }\n });\n if (survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isArraysEqual(activeTabChoices, creatorDefaultTabs, false)) {\n activeTabChoices = undefined;\n }\n var activeTab = model.getValue(this.nameActiveTab);\n if (!activeTabChoices && activeTab === ((defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.activeTab) || creator.activeTab)) {\n activeTab = undefined;\n }\n if (!activeTabChoices && !activeTab)\n return undefined;\n var val = {};\n if (!!activeTabChoices) {\n val.items = activeTabChoices;\n }\n if (!!activeTab) {\n val.activeTab = activeTab;\n }\n return val;\n };\n CreatorPresetEditableTabs.prototype.getDefaultJsonValueCore = function (creator) {\n return {\n activeTab: creator.activeTab,\n items: this.filterTabs(creator.getTabs()).map(function (i) { return ({ name: i.name }); }),\n };\n };\n CreatorPresetEditableTabs.prototype.getQuestionItems = function (model) {\n return model.getQuestionByName(this.nameItems);\n };\n CreatorPresetEditableTabs.prototype.onMatrixRowRemoving = function (model, creator, options) {\n if (options.question.name === this.nameMatrix) {\n this.restoreItems(this.getQuestionItems(model), options.question, options.rowIndex);\n }\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n };\n CreatorPresetEditableTabs.prototype.isItemsMatrix = function (name) {\n return name === this.nameItems || _super.prototype.isItemsMatrix.call(this, name);\n };\n CreatorPresetEditableTabs.prototype.setJsonLocalizationStringsCore = function (model, locStrs) {\n var rows = this.getQuestionItems(model).visibleRows;\n rows.forEach(function (r) {\n _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditableBase.updateModifiedText(locStrs, r.getValue(\"title\"), \"tabs.\" + r.getValue(\"name\"));\n });\n };\n CreatorPresetEditableTabs.prototype.setupQuestionsCore = function (model, creatorSetup) {\n this.setupPageQuestions(model, creatorSetup.creator);\n };\n CreatorPresetEditableTabs.prototype.getAllTabs = function (creator) {\n return this.filterTabs(creator.getAvailableTabs().map(function (t) { return ({ name: t.name, title: survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.editorLocalization.getString(\"tabs.\" + t.name), iconName: t.iconName }); }));\n };\n CreatorPresetEditableTabs.prototype.setupOnCurrentPageCore = function (model, creator, active) {\n creator.tabs.forEach(function (i) { return i.enabled = active; });\n };\n CreatorPresetEditableTabs.prototype.setupQuestionsValueCore = function (model, json, creator) {\n json = json || {};\n var items = (json[\"items\"] || []).map(function (i) { return typeof i === \"string\" ? { name: i } : i; });\n var tabNames = creator.initialTabs();\n var allTabs = this.getAllTabs(creator);\n var defaultItems = allTabs.filter(function (t) { return tabNames.indexOf(t.name) >= 0; });\n if (items.length === 0) {\n items = defaultItems;\n }\n else {\n var _loop_1 = function (i) {\n var defaultItem = defaultItems.filter(function (di) { return di.name == items[i].name; })[0];\n if (defaultItem) {\n items[i] = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultItem), items[i]);\n }\n };\n for (var i = 0; i < items.length; i++) {\n _loop_1(i);\n }\n }\n var itemNames = items.map(function (i) { return i.name; });\n var hiddenItems = allTabs.filter(function (t) { return itemNames.indexOf(t.name) < 0; });\n model.setValue(this.nameItems, items);\n model.setValue(this.nameMatrix, hiddenItems);\n model.setValue(this.nameActiveTab, json[\"activeTab\"] || creator.activeTab);\n model.getQuestionByName(this.nameActiveTab).choices = items.map(function (v) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(v.name, v.title); });\n };\n CreatorPresetEditableTabs.prototype.onLocaleChangedCore = function (model, json, creator) {\n this.setupPageQuestions(model, creator);\n this.setupQuestionsValueCore(model, json, creator);\n };\n CreatorPresetEditableTabs.prototype.setupPageQuestions = function (model, creator) {\n this.defaultItems = this.getAllTabs(creator);\n var activeQ = model.getQuestionByName(this.nameActiveTab);\n activeQ.choices = this.defaultItems.map(function (t) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(t.name, t.title); });\n };\n CreatorPresetEditableTabs.prototype.updateOnValueChangedCore = function (model, name) {\n _super.prototype.updateOnValueChangedCore.call(this, model, name);\n if (name === this.nameItems) {\n var val = model.getValue(name) || [];\n var activeTabQuestion = model.getQuestionByName(this.nameActiveTab);\n activeTabQuestion.choices = val.map(function (v) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.ItemValue(v.name, v.title); });\n if (!activeTabQuestion.selectedItem) {\n activeTabQuestion.selectItem(activeTabQuestion.choices[0]);\n }\n }\n };\n Object.defineProperty(CreatorPresetEditableTabs.prototype, \"nameActiveTab\", {\n get: function () { return this.path + \"_activeTab\"; },\n enumerable: false,\n configurable: true\n });\n return CreatorPresetEditableTabs;\n}(_presets_editable_list__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableList));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZVByZXNldHMvLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLXRhYnMudHM/NjYxMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWxwZXJzLCBJdGVtVmFsdWUsIFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvclByZXNldEVkaXRhYmxlQmFzZSwgSUNyZWF0b3JQcmVzZXRFZGl0b3JTZXR1cCB9IGZyb20gXCIuL3ByZXNldHMtZWRpdGFibGUtYmFzZVwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBlZGl0b3JMb2NhbGl6YXRpb24sIGdldExvY1N0cmluZyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVMaXN0IH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1saXN0XCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdG9yUHJlc2V0RWRpdGFibGVUYWJzIGV4dGVuZHMgQ3JlYXRvclByZXNldEVkaXRhYmxlTGlzdCB7XG4gIHByaXZhdGUgY3JlYXRlSXRlbXNNYXRyaXhKU09OKHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGRlZmF1bHRKU09OID0ge1xuICAgICAgdHlwZTogXCJtYXRyaXhkeW5hbWljXCIsXG4gICAgICBuYW1lOiBcIml0ZW1zXCIsXG4gICAgICBhbGxvd1Jvd1Jlb3JkZXI6IHRydWUsXG4gICAgICBjZWxsVHlwZTogXCJ0ZXh0XCIsXG4gICAgICBzaG93SGVhZGVyOiBmYWxzZSxcbiAgICAgIHJvd0NvdW50OiAwLFxuICAgICAgYWxsb3dBZGRSb3dzOiBmYWxzZSxcbiAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcInRvcFwiLFxuICAgICAgYWRkUm93VGV4dDogXCJBZGQgQ3VzdG9tIEl0ZW1cIixcbiAgICAgIFwibm9Sb3dzVGV4dFwiOiBcIlRoZXJlIGFyZSBubyBpdGVtc1wiLFxuICAgICAgY29sdW1uczogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibmFtZVwiLFxuICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0aXRsZVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBkZXRhaWxQYW5lbE1vZGU6IFwidW5kZXJSb3dcIixcbiAgICAgIGRldGFpbEVsZW1lbnRzOiBbXG4gICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIG5hbWU6IFwibmFtZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLm5hbWVcIiksIGlzVW5pcXVlOiB0cnVlLCBpc1JlcXVpcmVkOiB0cnVlLCByZWFkT25seTogdHJ1ZSwgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJ0aXRsZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLnRpdGxlRmllbGRcIiksIHZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgIHsgdHlwZTogXCJkcm9wZG93blwiLCBuYW1lOiBcImljb25OYW1lXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMuaWNvbk5hbWVcIiksIGl0ZW1Db21wb25lbnQ6IFwic3ZjLXByZXNldHMtaWNvbi1pdGVtXCIsIFwiYWxsb3dDdXN0b21DaG9pY2VzXCI6IHRydWUsIGNob2ljZXM6IHRoaXMuaWNvbkxpc3QsIHZpc2libGU6IGZhbHNlIH1cbiAgICAgIF1cbiAgICB9O1xuICAgIHJldHVybiB7IC4uLmRlZmF1bHRKU09OLCAuLi5wcm9wcyB9O1xuICB9XG4gIHB1YmxpYyBjcmVhdGVNYWluUGFnZUNvcmUoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy50aXRsZVwiKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMuZGVzY3JpcHRpb25cIiksXG4gICAgICBuYXZpZ2F0aW9uVGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5uYXZpZ2F0aW9uVGl0bGVcIiksXG4gICAgICBlbGVtZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJwYW5lbFwiLFxuICAgICAgICAgIG5hbWU6IHRoaXMubWFpblBhbmVsTmFtZSxcbiAgICAgICAgICBlbGVtZW50czogW1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50YWJzLml0ZW1zXCIpLFxuICAgICAgICAgICAgICBub1Jvd3NUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMubm9JdGVtc1RleHRcIiksXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZUl0ZW1zXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSXRlbXNNYXRyaXhKU09OKHtcbiAgICAgICAgICAgICAgc3RhcnRXaXRoTmV3TGluZTogZmFsc2UsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMuaGlkZGVuSXRlbXNcIiksXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudGFicy5ub0hpZGRlbkl0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lTWF0cml4LFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbkxvY2F0aW9uOiBcInVuZGVySW5wdXRcIixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicGFuZWxcIixcbiAgICAgICAgICBuYW1lOiBcInBhbmVsX3RhYnNfY29udHJvbHNcIixcbiAgICAgICAgICBlbGVtZW50czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBcImRyb3Bkb3duXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZUFjdGl2ZVRhYixcbiAgICAgICAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRhYnMuZGVmYXVsdFRhYlwiKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicGFuZWxcIixcbiAgICAgICAgICB0aXRsZTogXCIgXCIsXG4gICAgICAgICAgbmFtZTogdGhpcy5uYXZpZ2F0aW9uUGFuZWxOYW1lLFxuICAgICAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiaHRtbFwiLFxuICAgICAgICAgICAgICBodG1sOiBcIiZuYnNwXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVzdGlvbk5hbWVzKCkge1xuICAgIHJldHVybiBbdGhpcy5uYW1lSXRlbXMsIHRoaXMubmFtZUFjdGl2ZVRhYl07XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclRhYnModGFiczogYW55KSB7XG4gICAgcmV0dXJuIHRhYnMuZmlsdGVyKHQgPT4gdC5uYW1lICE9IFwicHJlc2V0c1wiKTtcbiAgfVxuICBwcm90ZWN0ZWQgaGFzSWNvbihuYW1lOiBzdHJpbmcpIHsgcmV0dXJuIHRydWU7IH1cbiAgcHJvdGVjdGVkIGdldEpzb25WYWx1ZUNvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIGRlZmF1bHRKc29uOiBhbnkpOiBhbnkge1xuICAgIGxldCBpdGVtcyA9IG1vZGVsLmdldFF1ZXN0aW9uQnlOYW1lKHRoaXMubmFtZUl0ZW1zKS52YWx1ZTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbXMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNyZWF0b3JEZWZhdWx0VGFicyA9IHRoaXMuZmlsdGVyVGFicyhkZWZhdWx0SnNvbj8uaXRlbXMgfHwgY3JlYXRvci5nZXRUYWJzKCkpO1xuICAgIGNvbnN0IHRhYnNJbmZvID0gY3JlYXRvci5nZXRUYWJzSW5mbygpO1xuICAgIGxldCBhY3RpdmVUYWJDaG9pY2VzID0gaXRlbXMubWFwKGkgPT4gKHsgbmFtZTogaS5uYW1lLCBpY29uTmFtZTogaS5pY29uTmFtZSB9KSk7XG4gICAgYWN0aXZlVGFiQ2hvaWNlcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKCFpLmljb25OYW1lIHx8IGkuaWNvbk5hbWUgPT0gdGFic0luZm9baS5uYW1lXT8uaWNvbk5hbWUpIHtcbiAgICAgICAgZGVsZXRlIGkuaWNvbk5hbWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKEhlbHBlcnMuaXNBcnJheXNFcXVhbChhY3RpdmVUYWJDaG9pY2VzLCBjcmVhdG9yRGVmYXVsdFRhYnMsIGZhbHNlKSkge1xuICAgICAgYWN0aXZlVGFiQ2hvaWNlcyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbGV0IGFjdGl2ZVRhYiA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUFjdGl2ZVRhYik7XG4gICAgaWYgKCFhY3RpdmVUYWJDaG9pY2VzICYmIGFjdGl2ZVRhYiA9PT0gKGRlZmF1bHRKc29uPy5hY3RpdmVUYWIgfHwgY3JlYXRvci5hY3RpdmVUYWIpKSB7XG4gICAgICBhY3RpdmVUYWIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICghYWN0aXZlVGFiQ2hvaWNlcyAmJiAhYWN0aXZlVGFiKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHZhbDogYW55ID0geyB9O1xuICAgIGlmICghIWFjdGl2ZVRhYkNob2ljZXMpIHtcbiAgICAgIHZhbC5pdGVtcyA9IGFjdGl2ZVRhYkNob2ljZXM7XG4gICAgfVxuICAgIGlmICghIWFjdGl2ZVRhYikge1xuICAgICAgdmFsLmFjdGl2ZVRhYiA9IGFjdGl2ZVRhYjtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SnNvblZhbHVlQ29yZShjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBhY3RpdmVUYWI6IGNyZWF0b3IuYWN0aXZlVGFiLFxuICAgICAgaXRlbXM6IHRoaXMuZmlsdGVyVGFicyhjcmVhdG9yLmdldFRhYnMoKSkubWFwKGkgPT4gKHsgbmFtZTogaS5uYW1lIH0pKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRRdWVzdGlvbkl0ZW1zKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsIHtcbiAgICByZXR1cm4gPFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsPm1vZGVsLmdldFF1ZXN0aW9uQnlOYW1lKHRoaXMubmFtZUl0ZW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1hdHJpeFJvd1JlbW92aW5nKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBvcHRpb25zOiBhbnkpIHtcbiAgICBpZiAob3B0aW9ucy5xdWVzdGlvbi5uYW1lID09PSB0aGlzLm5hbWVNYXRyaXgpIHtcbiAgICAgIHRoaXMucmVzdG9yZUl0ZW1zKHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCksIG9wdGlvbnMucXVlc3Rpb24sIG9wdGlvbnMucm93SW5kZXgpO1xuICAgIH1cbiAgICBzdXBlci5vbk1hdHJpeFJvd1JlbW92aW5nKG1vZGVsLCBjcmVhdG9yLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0l0ZW1zTWF0cml4KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuYW1lID09PSB0aGlzLm5hbWVJdGVtcyB8fCBzdXBlci5pc0l0ZW1zTWF0cml4KG5hbWUpO1xuICB9XG4gIHByb3RlY3RlZCBzZXRKc29uTG9jYWxpemF0aW9uU3RyaW5nc0NvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBsb2NTdHJzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCByb3dzID0gdGhpcy5nZXRRdWVzdGlvbkl0ZW1zKG1vZGVsKS52aXNpYmxlUm93cztcbiAgICByb3dzLmZvckVhY2gociA9PiB7XG4gICAgICBDcmVhdG9yUHJlc2V0RWRpdGFibGVCYXNlLnVwZGF0ZU1vZGlmaWVkVGV4dChsb2NTdHJzLCByLmdldFZhbHVlKFwidGl0bGVcIiksIFwidGFicy5cIiArIHIuZ2V0VmFsdWUoXCJuYW1lXCIpKTtcbiAgICB9KTtcbiAgfVxuICBwcm90ZWN0ZWQgc2V0dXBRdWVzdGlvbnNDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvclNldHVwOiBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFBhZ2VRdWVzdGlvbnMobW9kZWwsIGNyZWF0b3JTZXR1cC5jcmVhdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsVGFicyhjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJUYWJzKGNyZWF0b3IuZ2V0QXZhaWxhYmxlVGFicygpLm1hcCh0ID0+ICh7IG5hbWU6IHQubmFtZSwgdGl0bGU6IGVkaXRvckxvY2FsaXphdGlvbi5nZXRTdHJpbmcoXCJ0YWJzLlwiICsgdC5uYW1lKSwgaWNvbk5hbWU6IHQuaWNvbk5hbWUgfSkpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cE9uQ3VycmVudFBhZ2VDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjcmVhdG9yLnRhYnMuZm9yRWFjaChpID0+IGkuZW5hYmxlZCA9IGFjdGl2ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBRdWVzdGlvbnNWYWx1ZUNvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBqc29uOiBhbnksIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCk6IHZvaWQge1xuICAgIGpzb24gPSBqc29uIHx8IHt9O1xuICAgIGxldCBpdGVtcyA9IChqc29uW1wiaXRlbXNcIl0gfHwgW10pLm1hcChpID0+IHR5cGVvZiBpID09PSBcInN0cmluZ1wiID8geyBuYW1lOiBpIH0gOiBpKTtcbiAgICBjb25zdCB0YWJOYW1lcyA9IGNyZWF0b3IuaW5pdGlhbFRhYnMoKTtcbiAgICBjb25zdCBhbGxUYWJzID0gdGhpcy5nZXRBbGxUYWJzKGNyZWF0b3IpO1xuICAgIGNvbnN0IGRlZmF1bHRJdGVtcyA9IGFsbFRhYnMuZmlsdGVyKHQgPT4gdGFiTmFtZXMuaW5kZXhPZih0Lm5hbWUpID49IDApO1xuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGl0ZW1zID0gZGVmYXVsdEl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRJdGVtID0gZGVmYXVsdEl0ZW1zLmZpbHRlcihkaSA9PiBkaS5uYW1lID09IGl0ZW1zW2ldLm5hbWUpWzBdO1xuICAgICAgICBpZiAoZGVmYXVsdEl0ZW0pIHtcbiAgICAgICAgICBpdGVtc1tpXSA9IHsgLi4uZGVmYXVsdEl0ZW0sIC4uLml0ZW1zW2ldIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaXRlbU5hbWVzID0gaXRlbXMubWFwKGkgPT4gaS5uYW1lKTtcbiAgICBjb25zdCBoaWRkZW5JdGVtcyA9IGFsbFRhYnMuZmlsdGVyKHQgPT4gaXRlbU5hbWVzLmluZGV4T2YodC5uYW1lKSA8IDApO1xuICAgIG1vZGVsLnNldFZhbHVlKHRoaXMubmFtZUl0ZW1zLCBpdGVtcyk7XG4gICAgbW9kZWwuc2V0VmFsdWUodGhpcy5uYW1lTWF0cml4LCBoaWRkZW5JdGVtcyk7XG4gICAgbW9kZWwuc2V0VmFsdWUodGhpcy5uYW1lQWN0aXZlVGFiLCBqc29uW1wiYWN0aXZlVGFiXCJdIHx8IGNyZWF0b3IuYWN0aXZlVGFiKTtcbiAgICBtb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVBY3RpdmVUYWIpLmNob2ljZXMgPSBpdGVtcy5tYXAodiA9PiBuZXcgSXRlbVZhbHVlKHYubmFtZSwgdi50aXRsZSkpO1xuICB9XG4gIHByb3RlY3RlZCBvbkxvY2FsZUNoYW5nZWRDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwganNvbjogYW55LCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwUGFnZVF1ZXN0aW9ucyhtb2RlbCwgY3JlYXRvcik7XG4gICAgdGhpcy5zZXR1cFF1ZXN0aW9uc1ZhbHVlQ29yZShtb2RlbCwganNvbiwgY3JlYXRvcik7XG4gIH1cbiAgcHJvdGVjdGVkIHNldHVwUGFnZVF1ZXN0aW9ucyhtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZGVmYXVsdEl0ZW1zID0gdGhpcy5nZXRBbGxUYWJzKGNyZWF0b3IpO1xuICAgIGNvbnN0IGFjdGl2ZVEgPSBtb2RlbC5nZXRRdWVzdGlvbkJ5TmFtZSh0aGlzLm5hbWVBY3RpdmVUYWIpO1xuICAgIGFjdGl2ZVEuY2hvaWNlcyA9IHRoaXMuZGVmYXVsdEl0ZW1zLm1hcCh0ID0+IG5ldyBJdGVtVmFsdWUodC5uYW1lLCB0LnRpdGxlKSk7XG4gIH1cbiAgcHJvdGVjdGVkIHVwZGF0ZU9uVmFsdWVDaGFuZ2VkQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZU9uVmFsdWVDaGFuZ2VkQ29yZShtb2RlbCwgbmFtZSk7XG4gICAgaWYgKG5hbWUgPT09IHRoaXMubmFtZUl0ZW1zKSB7XG4gICAgICBjb25zdCB2YWwgPSBtb2RlbC5nZXRWYWx1ZShuYW1lKSB8fCBbXTtcbiAgICAgIGNvbnN0IGFjdGl2ZVRhYlF1ZXN0aW9uID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lQWN0aXZlVGFiKTtcbiAgICAgIGFjdGl2ZVRhYlF1ZXN0aW9uLmNob2ljZXMgPSB2YWwubWFwKHYgPT4gbmV3IEl0ZW1WYWx1ZSh2Lm5hbWUsIHYudGl0bGUpKTtcbiAgICAgIGlmICghYWN0aXZlVGFiUXVlc3Rpb24uc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgIGFjdGl2ZVRhYlF1ZXN0aW9uLnNlbGVjdEl0ZW0oYWN0aXZlVGFiUXVlc3Rpb24uY2hvaWNlc1swXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0IG5hbWVBY3RpdmVUYWIoKSB7IHJldHVybiB0aGlzLnBhdGggKyBcIl9hY3RpdmVUYWJcIjsgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-tabs.ts\n");
170
170
 
171
171
  /***/ }),
172
172
 
@@ -176,7 +176,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
176
176
  \*************************************************/
177
177
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
178
178
 
179
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableToolboxConfigurator: () => (/* binding */ CreatorPresetEditableToolboxConfigurator)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _presets_editable_categorized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-categorized */ \"./src/presets/presets-editable-categorized.ts\");\n\n\n\n\n\nvar LocCategoriesName = \"toolboxCategories\";\nfunction validateToolboxJson(params) {\n var value = params[0];\n if (!value || !value.type)\n return true;\n var obj = survey_core__WEBPACK_IMPORTED_MODULE_0__.Serializer.createClass(value.type, value);\n return !!obj;\n}\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__.FunctionFactory.Instance.register(\"validateToolboxJson\", validateToolboxJson);\nvar CreatorPresetEditableToolboxConfigurator = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableToolboxConfigurator, _super);\n function CreatorPresetEditableToolboxConfigurator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CreatorPresetEditableToolboxConfigurator.prototype.createItemsMatrixJSON = function (props, addSubitems) {\n var defaultJSON = {\n type: \"matrixdynamic\",\n name: \"items\",\n title: \"Toolbox\",\n allowRowReorder: true,\n cellType: \"text\",\n showHeader: false,\n rowCount: 0,\n allowAddRows: false,\n addRowButtonLocation: \"top\",\n columns: [\n {\n \"name\": \"name\",\n visible: false\n },\n {\n \"name\": \"title\"\n }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n {\n \"type\": \"panel\",\n \"name\": \"details\",\n \"maxWidth\": \"30%\",\n \"elements\": [\n { type: \"text\", name: \"name\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryName\"), isUnique: true, visible: false, isRequired: true },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryTitle\"), visible: false },\n { type: \"dropdown\", name: \"iconName\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.iconName\"), itemComponent: \"svc-presets-icon-item\", \"allowCustomChoices\": true, choices: this.iconList, visible: false },\n { type: \"text\", name: \"tooltip\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.tooltip\"), visible: false },\n ],\n visible: false\n },\n {\n type: \"presetjson\",\n name: \"json\",\n startWithNewLine: false,\n renderAs: \"default-comment\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.jsonObject\"),\n validators: [{\n type: \"expression\",\n text: \"JSON should be correct\",\n expression: \"validateToolboxJson({json})\"\n }],\n visible: false\n }\n ]\n };\n var newJson = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultJSON), props);\n if (addSubitems) {\n newJson.detailElements.push(this.createItemsMatrixJSON({\n allowAddRows: true,\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewSubitem\"),\n addRowButtonLocation: \"bottom\",\n name: this.nameSubitems,\n valueName: \"subitems\",\n titleLocation: \"hidden\",\n startWithNewLine: false\n }, false));\n }\n return newJson;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createMainPageCore = function () {\n return {\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.title\"),\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.description\"),\n navigationTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.navigationTitle\"),\n elements: [\n {\n type: \"panel\",\n name: this.mainPanelName,\n elements: [\n {\n type: \"matrixdynamic\",\n name: this.nameCategories,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.toolbox\"),\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"categories\"),\n allowRowReorder: true,\n allowAddRows: true,\n addRowButtonLocation: \"top\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noCategoriesText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addCustomCategory\"),\n showHeader: false,\n columns: [\n { cellType: \"text\", name: \"category\", isUnique: true, isRequired: true, visible: false },\n { cellType: \"text\", name: \"title\" }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n { type: \"text\", name: \"category\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryName\"), isRequired: true, visible: false },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryTitle\"), visible: false },\n { type: \"text\", name: \"tooltip\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.tooltip\"), visible: false },\n this.createItemsMatrixJSON({\n name: this.nameInnerMatrix,\n titleLocation: \"hidden\",\n allowAddRows: true,\n addRowButtonLocation: \"bottom\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noItemsText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewItem\"),\n valueName: \"items\"\n }, true)\n ]\n },\n this.createItemsMatrixJSON({\n name: this.nameItems,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.toolbox\"),\n addRowButtonLocation: \"top\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noItemsText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addCustomItem\"),\n startWithNewLine: false,\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"items\"),\n }, true),\n this.createItemsMatrixJSON({\n allowAddRows: true,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.hiddenItems\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noHiddenItemsText\"),\n descriptionLocation: \"underInput\",\n addRowButtonLocation: \"bottom\",\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewItem\"),\n startWithNewLine: false,\n name: this.nameMatrix\n }, true)\n ]\n },\n {\n type: \"panel\",\n title: \" \",\n name: this.navigationPanelName,\n elements: [\n {\n type: \"boolean\",\n name: this.nameCategoriesMode,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.enableGrouping\"),\n titleLocation: \"hidden\",\n defaultValue: \"categories\",\n valueTrue: \"categories\",\n valueFalse: \"items\",\n clearIfInvisible: \"onHidden\",\n renderAs: \"switch\"\n },\n {\n type: \"boolean\",\n name: this.nameShowCategoryTitles,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.showCategoryTitles\"),\n defaultValue: false,\n useTitleAsLabel: true,\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"categories\"),\n clearIfInvisible: \"onHidden\",\n renderAs: \"switch\"\n }\n ]\n }\n ]\n };\n };\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameCategoriesMode\", {\n get: function () { return this.fullPath + \"_mode\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameItems\", {\n get: function () { return this.fullPath + \"_items\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameSubitems\", {\n get: function () { return \"subitems\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameShowCategoryTitles\", {\n get: function () { return this.fullPath + \"_showCategoryTitles\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"questionNames\", {\n get: function () {\n return [this.nameCategories, this.nameItems, this.nameMatrix, this.nameShowCategoryTitles, this.nameCategoriesMode];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableToolboxConfigurator.prototype.hasIcon = function (name) { return name !== this.nameCategories && name !== this.nameSubitems; };\n CreatorPresetEditableToolboxConfigurator.prototype.getDefaultItems = function (question) {\n return (question === null || question === void 0 ? void 0 : question.name) === this.nameCategories ? this.defaultCategories : (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], this.defaultItems, true), this.defaultSubitems, true);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateRowAction = function (question, row, rowData, keyColumn, action) {\n _super.prototype.updateRowAction.call(this, question, row, rowData, keyColumn, action);\n if (action.id == \"show-detail\" && question.name != this.nameCategories) {\n action.visible = row.isDetailPanelShowing || !!rowData.subitems;\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.findItem = function (value, itemName, hasCategories) {\n return hasCategories ?\n value.map(function (c) { return c.items.filter(function (i) { return i.name == itemName; })[0]; }).filter(function (i) { return !!i; })[0] :\n value.filter(function (i) { return i.name == itemName; })[0];\n };\n CreatorPresetEditableToolboxConfigurator.prototype.moveToSubitems = function (model, question, row, itemName, remove) {\n if (remove === void 0) { remove = false; }\n var rowData = this.ejectRowData(question, row, remove);\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n var destination = hasCategories ? this.getQuestionCategories(model) : this.getQuestionItems(model);\n var destValue = JSON.parse(JSON.stringify(destination.value));\n var item = this.findItem(destValue, itemName, hasCategories);\n if (item) {\n if (!item.subitems)\n item.subitems = [];\n item.subitems.push(rowData);\n }\n destination.value = destValue;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getExistingKeys = function (model, key) {\n var superItems = _super.prototype.getExistingKeys.call(this, model, key);\n var items = model.getQuestionByName(this.nameItems).value || [];\n var rows = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], superItems, true), items, true);\n var subitems = rows.map(function (r) { return r.subitems || []; }).flat();\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], rows, true), subitems, true);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.itemMenuCategoriesEnabled = function (model) {\n return model.getValue(this.nameCategoriesMode) !== \"items\";\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getItemMenuActionsCore = function (model, question, row) {\n var _this = this;\n var categories = this.getQuestionCategories(model).value;\n var actions = _super.prototype.getItemMenuActionsCore.call(this, model, question, row);\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n var catActions = categories.map(function (c) {\n var catAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"tosubitemcategory-\" + c.category,\n title: c.title\n });\n if (c.items) {\n var itemsActions = c.items.filter(function (i) { var _a; return i.name != ((_a = row.value) === null || _a === void 0 ? void 0 : _a.name); }).map(function (i) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"tosubitem-\" + i.name,\n title: i.title,\n action: function () {\n _this.moveToSubitems(model, question, row, i.name, true);\n }\n }); });\n _this.setSubitemsToAction(catAction, itemsActions);\n }\n return catAction;\n });\n var subItems = hasCategories ? catActions : catActions.map(function (a) { return a.items; }).flat();\n var rowDataIndex = question.visibleRows.indexOf(row);\n var rowData = question.value[rowDataIndex];\n if (!rowData[\"subitems\"]) {\n if (question.name == this.nameItems || question.name == this.nameInnerMatrix) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"subcategories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.subitems\"),\n css: \"sps-list__item--label\",\n enabled: false,\n needSeparator: true\n }));\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"convert-to-subcategory\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.enableSubitems\"),\n action: function () {\n var destination = hasCategories ? _this.getQuestionCategories(model) : _this.getQuestionItems(model);\n var destValue = JSON.parse(JSON.stringify(destination.value));\n var item = _this.findItem(destValue, rowData.name, hasCategories);\n if (item) {\n item.subitems = [];\n }\n destination.value = destValue;\n _this.updateMatrixRowActions(model, question);\n row.showDetailPanel();\n }\n }));\n }\n var subitemsAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-as-subitem\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.moveAsSubitem\"),\n needSeparator: true\n });\n this.setSubitemsToAction(subitemsAction, subItems);\n actions.push(subitemsAction);\n }\n return actions;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getJsonValueCore = function (model, creator, defaultJson) {\n var res = {};\n var definition = this.getJsonItemsDefinition(model);\n if (definition) {\n res.definition = definition;\n }\n var mode = model.getValue(this.nameCategoriesMode);\n var toolbox = creator.toolbox;\n var toolboxCategories = defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.categories;\n if (mode === \"categories\") {\n var categories = this.getCategoriesJson(model);\n if (Array.isArray(categories) && categories.length > 0 && (!this.isCategoriesSame(categories, toolboxCategories))) {\n res.categories = this.getCategoriesJson(model);\n }\n }\n else {\n res.categories = [];\n }\n if (model.getValue(this.nameShowCategoryTitles)) {\n res.showCategoryTitles = true;\n }\n return Object.keys(res).length > 0 ? res : undefined;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getDefaultJsonValueCore = function (creator) {\n return {\n categories: creator.toolbox.categories.map(function (c) { return ({ category: c.name, title: c.title, items: c.items.map(function (i) { return i.name; }) }); })\n };\n };\n CreatorPresetEditableToolboxConfigurator.prototype.isCategoriesSame = function (categories, toolboxCategories) {\n if (categories.length !== toolboxCategories.length)\n return false;\n for (var i = 0; i < categories.length; i++) {\n if (categories[i].category !== toolboxCategories[i].category)\n return false;\n //if (categories[i].title !== toolboxCategories[i].title) return false;\n var toolboxItems = toolboxCategories[i].items;\n var categoryItems = categories[i].items;\n if (!survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(categoryItems, toolboxItems))\n return false;\n }\n return true;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getCategoriesJson = function (model) {\n var categories = model.getValue(this.nameCategories);\n if (!Array.isArray(categories))\n return undefined;\n return categories.map(function (c) { var _a; return ({ category: c.category, items: (_a = c.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.name; }) }); });\n };\n CreatorPresetEditableToolboxConfigurator.prototype.cleanIfNotDiffers = function (item, defaultItem) {\n if (!defaultItem)\n return true;\n var differs = false;\n Object.keys((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, item), defaultItem)).forEach(function (key) {\n if (!survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(item[key], defaultItem[key])) {\n differs = true;\n return;\n }\n if (key !== \"name\")\n delete item[key];\n });\n return differs;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getJsonItemsDefinition = function (model) {\n var _this = this;\n var mode = model.getValue(this.nameCategoriesMode);\n var itemsRaw = (mode === \"items\") ? model.getValue(this.nameItems) : (model.getValue(this.nameCategories) || []).map(function (c) { return c.items; }).flat();\n var items = (itemsRaw || []).map(function (i) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, i)); });\n var differs = false;\n items.forEach(function (item) {\n var defaultItem = _this.defaultItems.filter(function (i) { return i.name == item.name; })[0];\n if (!item.subitems && (defaultItem === null || defaultItem === void 0 ? void 0 : defaultItem.subitems))\n item.subitems = [];\n if (_this.cleanIfNotDiffers(item, defaultItem))\n differs = true;\n });\n if (!differs && !survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(items.map(function (i) { return i.name; }), this.defaultItems.map(function (i) { return i.name; })))\n differs = true;\n return differs ? items : undefined;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.isItemsMatrix = function (name) {\n return name === this.nameItems || name === this.nameSubitems || _super.prototype.isItemsMatrix.call(this, name);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.onMatrixRowRemoving = function (model, creator, options) {\n if (options.question.name == this.nameMatrix) {\n var mode = model.getValue(this.nameCategoriesMode);\n if (mode === \"items\") {\n this.restoreItems(this.getQuestionItems(model), options.question, options.rowIndex);\n }\n }\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupOnCurrentPageCore = function (model, creator, active) {\n creator.toolbox.forceCompact = !active;\n creator.toolbox.isCompact = !active;\n if (creator.readOnly != active) {\n creator.setPropertyValue(\"readOnly\", active);\n }\n creator.toolbox.items.forEach(function (i) { return i.enabled = active; });\n creator.toolbox.enabled = active;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupQuestionsCore = function (model, creatorSetup) {\n _super.prototype.setupQuestionsCore.call(this, model, creatorSetup);\n this.setupDefaults(model, creatorSetup.creator);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupDefaults = function (model, creator) {\n var _this = this;\n var toolboxDefaultItems = creator.toolbox.getDefaultItems([], true, true, true);\n var toolboxDefaultCategories = creator.toolbox.getDefaultCategories();\n this.defaultItems = toolboxDefaultItems.map(function (i) { return _this.createToolboxItemRow(i); });\n this.defaultSubitems = [];\n toolboxDefaultItems.forEach(function (i) {\n var _a;\n if (i.items) {\n (_a = _this.defaultSubitems).push.apply(_a, i.items.map(function (si) { return _this.createToolboxItemRow(si); }));\n }\n });\n this.defaultCategories = toolboxDefaultCategories.map(function (i) { return _this.createToolboxCategoryRow(i); });\n };\n // private isItemValuesEqual(a: Array<ICreatorPresetToolboxItem>, b: Array<ICreatorPresetToolboxItem>): boolean {\n // if (!a || !b || a.length !== b.length) return false;\n // for (let i = 0; i < a.length; i++) {\n // if (a[i].name !== b[i].name || a[i].title !== b[i].title) return false;\n // }\n // return true;\n // }\n // private updateRankingLocalizationName(question: QuestionMatrixDynamicModel): void {\n // question.choices.forEach(item => {\n // item.locText.localizationName = \"qt.\" + item.value;\n // });\n // }\n CreatorPresetEditableToolboxConfigurator.prototype.setupQuestionsValueCore = function (model, json, creator) {\n //this.setupQuestionsValueDefinition(model, json);\n var defaultItemsMap = this.defaultItems.reduce(function (acc, i) { acc[i.name] = i; return acc; }, {});\n var defaultCategoriesMap = this.defaultCategories.reduce(function (acc, i) { acc[i.category] = i; return acc; }, {});\n this.defaultItems.filter(function (i) { return i.subitems; }).map(function (i) { return i.subitems.forEach(function (si) { return defaultItemsMap[si.name] = si; }); });\n json = json || {};\n var itemsDefinition = (json[\"definition\"] || []).map(function (i) { return typeof i === \"string\" ? { name: i } : i; });\n var categoriesDefinition = json[\"categories\"] || [];\n if (itemsDefinition.length === 0) {\n itemsDefinition = this.defaultItems;\n }\n else {\n itemsDefinition = itemsDefinition.map(function (i) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, (defaultItemsMap[i.name] || {})), i)); });\n }\n var itemsMap = {};\n itemsDefinition.forEach(function (i) { return itemsMap[i.name] = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, i), { subitems: i.subitems && i.subitems.map(function (si) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, (defaultItemsMap[si.name] || {})), si)); }) }); });\n if (categoriesDefinition.length === 0) {\n categoriesDefinition = this.defaultCategories;\n }\n else {\n categoriesDefinition = categoriesDefinition.map(function (c) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultCategoriesMap[c.category]), c), { items: c.items.map(function (i) { return itemsMap[i]; }).filter(function (i) { return !!i; }) })); });\n }\n //categories.filter((c: any) => c.properties).forEach((c: any) => c.properties.forEach((p: any) => delete itemsMap[p.name]));\n //Object.keys(itemsMap).map(key => itemsMap[key]);\n categoriesDefinition.filter(function (c) { return c.items; }).forEach(function (c) { return c.items.forEach(function (p) { return delete defaultItemsMap[p.name]; }); });\n var hiddenItems = this.defaultItems.filter(function (t) { return defaultItemsMap[t.name]; });\n model.setValue(this.nameMatrix, hiddenItems);\n model.setValue(this.nameCategories, categoriesDefinition);\n this.updateItemsFromCategories(model);\n this.updateShowCategoriesTitlesElements(model);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.onLocaleChangedCore = function (model, json, creator) {\n this.setupDefaults(model, creator);\n this.setupQuestionsValueCore(model, json, creator);\n };\n // private setupQuestionsValueDefinition(model: SurveyModel, json: any): void {\n // json = json || {};\n // const question = this.getMatrix(model);\n // const value = [];\n // const definition = json.definition || [];\n // definition.forEach(item => {\n // const val = {};\n // for (let key in item) {\n // val[key] = key === \"json\" ? JSON.stringify(item[key], null, 2) : item[key];\n // }\n // value.push(val);\n // });\n // question.value = value;\n // }\n CreatorPresetEditableToolboxConfigurator.prototype.updateItemsFromCategories = function (model) {\n this.getQuestionItems(model).value = this.getQuestionCategories(model).value.map(function (r) { return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], (r.items || []), true); }).flat();\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateCategoriesFromItems = function (model) {\n var _this = this;\n var categories = this.getQuestionCategories(model).value;\n var items = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], this.getQuestionItems(model).value, true);\n var itemsObject = items.reduce(function (acc, item) {\n acc[item.name] = item;\n return acc;\n }, {});\n categories.forEach(function (category) {\n category.items = category.items.map(function (item) {\n var res = itemsObject[item.name];\n delete itemsObject[item.name];\n return res;\n }).filter(function (i) { return !!i; });\n });\n var unsortedNames = Object.keys(itemsObject);\n if (unsortedNames.length > 0) {\n var generalCategory = this.findOrCreateCategory(categories, \"general\");\n generalCategory.items = generalCategory.items.concat(unsortedNames.map(function (name) { return _this.createToolboxItemRow(itemsObject[name]); }));\n }\n this.getQuestionCategories(model).value = categories;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateOnValueChangedCore = function (model, name) {\n _super.prototype.updateOnValueChangedCore.call(this, model, name);\n if (name === this.nameCategoriesMode) {\n if (model.getValue(this.nameCategoriesMode) == \"items\") {\n this.updateItemsFromCategories(model);\n }\n else {\n this.updateCategoriesFromItems(model);\n }\n }\n if (name === this.nameShowCategoryTitles) {\n this.updateShowCategoriesTitlesElements(model);\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateShowCategoriesTitlesElements = function (model) {\n var _this = this;\n var val = model.getValue(this.nameShowCategoryTitles) === true;\n var matrix = this.getQuestionCategories(model);\n matrix.visibleRows.forEach(function (row) {\n var category = row.getValue(\"category\");\n var defaultTitle = _this.getCategoryTitle(category);\n if (!!defaultTitle) {\n row.getQuestionByName(\"category\").readOnly = true;\n }\n var titleQuestion = row.getQuestionByName(\"title\");\n if (titleQuestion.isEmpty()) {\n titleQuestion.value = defaultTitle;\n }\n });\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getCategoryTitle = function (name) {\n return survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.editorLocalization.getString(LocCategoriesName + \".\" + name);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setJsonLocalizationStringsCore = function (model, locStrs) {\n var _this = this;\n function updateTextFromQuestion(matrix, locStrs) {\n if (!matrix)\n return;\n var rows = matrix.visibleRows;\n rows.forEach(function (r) {\n _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditableBase.updateModifiedText(locStrs, r.getValue(\"title\"), \"qt.\" + r.getValue(\"name\"));\n });\n }\n updateTextFromQuestion(this.getQuestionItems(model), locStrs);\n var matrix = this.getQuestionCategories(model);\n if (matrix.isVisible) {\n matrix.visibleRows.forEach(function (row) {\n var category = row.getValue(\"category\");\n if (row.getValue(\"title\") !== _this.getCategoryTitle(category)) {\n if (!locStrs[LocCategoriesName]) {\n locStrs[LocCategoriesName] = {};\n }\n locStrs[LocCategoriesName][category] = row.getValue(\"title\");\n }\n updateTextFromQuestion(row.getQuestionByName(\"items\"), locStrs);\n });\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getQuestionItems = function (model) {\n return model.getQuestionByName(this.nameItems);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createToolboxItemRow = function (item) {\n var _this = this;\n var _a;\n var obj = {\n name: item.name,\n title: item.title,\n iconName: item.iconName,\n tooltip: item.tooltip,\n json: item.json,\n subitems: (_a = item.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return _this.createToolboxItemRow(i); })\n };\n for (var key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createToolboxCategoryRow = function (item) {\n var _this = this;\n var _a;\n var obj = {\n category: item.name,\n title: item.title,\n items: (_a = item.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return _this.createToolboxItemRow(i); })\n };\n for (var key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n };\n return CreatorPresetEditableToolboxConfigurator;\n}(_presets_editable_categorized__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableCaregorizedListConfigurator));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLXRvb2xib3gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQW9KO0FBQ3JEO0FBQzBDO0FBRXZDO0FBR2xHLElBQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFFOUMsU0FBUyxtQkFBbUIsQ0FBRSxNQUFNO0lBQ2xDLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN2QyxJQUFNLEdBQUcsR0FBRyxtREFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFDRCx3REFBZSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUM5RTtJQUE4RCxtR0FBZ0Q7SUFBOUc7O0lBaWpCQSxDQUFDO0lBOWlCUyx3RUFBcUIsR0FBN0IsVUFBOEIsS0FBVSxFQUFFLFdBQW9CO1FBQzVELElBQU0sV0FBVyxHQUFHO1lBQ2xCLElBQUksRUFBRSxlQUFlO1lBQ3JCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsZUFBZSxFQUFFLElBQUk7WUFDckIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSztZQUNuQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxNQUFNLEVBQUUsTUFBTTtvQkFDZCxPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFDRDtvQkFDRSxNQUFNLEVBQUUsT0FBTztpQkFDaEI7YUFDRjtZQUNELGVBQWUsRUFBRSxVQUFVO1lBQzNCLGNBQWMs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O0lBQ2IsQ0FBQztJQUNILCtDQUFDO0FBQUQsQ0FBQyxDQWpqQjZELDJHQUFnRCxHQWlqQjdHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vU3VydmV5Q3JlYXRvckNvcmVQcmVzZXRzLy4vc3JjL3ByZXNldHMvcHJlc2V0cy1lZGl0YWJsZS10b29sYm94LnRzPzA0NTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBGdW5jdGlvbkZhY3RvcnksIEhlbHBlcnMsIElBY3Rpb24sIE1hdHJpeER5bmFtaWNSb3dNb2RlbCwgUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIFNlcmlhbGl6ZXIsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVCYXNlLCBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwIH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1iYXNlXCI7XG5pbXBvcnQgeyBRdWVzdGlvblRvb2xib3hDYXRlZ29yeSwgUXVlc3Rpb25Ub29sYm94SXRlbSwgU3VydmV5Q3JlYXRvck1vZGVsLCBlZGl0b3JMb2NhbGl6YXRpb24sIGdldExvY1N0cmluZyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JQcmVzZXRFZGl0YWJsZUNhcmVnb3JpemVkTGlzdENvbmZpZ3VyYXRvciB9IGZyb20gXCIuL3ByZXNldHMtZWRpdGFibGUtY2F0ZWdvcml6ZWRcIjtcbmltcG9ydCB7IGxpc3RDb21wb25lbnRDc3MgfSBmcm9tIFwiLi9wcmVzZXRzLXRoZW1lL2xpc3QtdGhlbWVcIjtcblxuY29uc3QgTG9jQ2F0ZWdvcmllc05hbWUgPSBcInRvb2xib3hDYXRlZ29yaWVzXCI7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVG9vbGJveEpzb24gKHBhcmFtcykge1xuICBjb25zdCB2YWx1ZSA9IHBhcmFtc1swXTtcbiAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUudHlwZSkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IG9iaiA9IFNlcmlhbGl6ZXIuY3JlYXRlQ2xhc3ModmFsdWUudHlwZSwgdmFsdWUpO1xuICByZXR1cm4gISFvYmo7XG59XG5GdW5jdGlvbkZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXIoXCJ2YWxpZGF0ZVRvb2xib3hKc29uXCIsIHZhbGlkYXRlVG9vbGJveEpzb24pO1xuZXhwb3J0IGNsYXNzIENyZWF0b3JQcmVzZXRFZGl0YWJsZVRvb2xib3hDb25maWd1cmF0b3IgZXh0ZW5kcyBDcmVhdG9yUHJlc2V0RWRpdGFibGVDYXJlZ29yaXplZExpc3RDb25maWd1cmF0b3Ige1xuICBwcml2YXRlIGFsbEl0ZW1zOiBJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtW107XG4gIHByb3RlY3RlZCBkZWZhdWx0U3ViaXRlbXM6IGFueTtcbiAgcHJpdmF0ZSBjcmVhdGVJdGVtc01hdHJpeEpTT04ocHJvcHM6IGFueSwgYWRkU3ViaXRlbXM6IGJvb2xlYW4pOiBhbnkge1xuICAgIGNvbnN0IGRlZmF1bHRKU09OID0ge1xuICAgICAgdHlwZTogXCJtYXRyaXhkeW5hbWljXCIsXG4gICAgICBuYW1lOiBcIml0ZW1zXCIsXG4gICAgICB0aXRsZTogXCJUb29sYm94XCIsXG4gICAgICBhbGxvd1Jvd1Jlb3JkZXI6IHRydWUsXG4gICAgICBjZWxsVHlwZTogXCJ0ZXh0XCIsXG4gICAgICBzaG93SGVhZGVyOiBmYWxzZSxcbiAgICAgIHJvd0NvdW50OiAwLFxuICAgICAgYWxsb3dBZGRSb3dzOiBmYWxzZSxcbiAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcInRvcFwiLFxuICAgICAgY29sdW1uczogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibmFtZVwiLFxuICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0aXRsZVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBkZXRhaWxQYW5lbE1vZGU6IFwidW5kZXJSb3dcIixcbiAgICAgIGRldGFpbEVsZW1lbnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcInR5cGVcIjogXCJwYW5lbFwiLFxuICAgICAgICAgIFwibmFtZVwiOiBcImRldGFpbHNcIixcbiAgICAgICAgICBcIm1heFdpZHRoXCI6IFwiMzAlXCIsXG4gICAgICAgICAgXCJlbGVtZW50c1wiOiBbXG4gICAgICAgICAgICB7IHR5cGU6IFwidGV4dFwiLCBuYW1lOiBcIm5hbWVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5jYXRlZ29yeU5hbWVcIiksIGlzVW5pcXVlOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSwgaXNSZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJ0aXRsZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmNhdGVnb3J5VGl0bGVcIiksIHZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgICAgICB7IHR5cGU6IFwiZHJvcGRvd25cIiwgbmFtZTogXCJpY29uTmFtZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94Lmljb25OYW1lXCIpLCBpdGVtQ29tcG9uZW50OiBcInN2Yy1wcmVzZXRzLWljb24taXRlbVwiLCBcImFsbG93Q3VzdG9tQ2hvaWNlc1wiOiB0cnVlLCBjaG9pY2VzOiB0aGlzLmljb25MaXN0LCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJ0b29sdGlwXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbHRpcFwiKSwgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInByZXNldGpzb25cIixcbiAgICAgICAgICBuYW1lOiBcImpzb25cIixcbiAgICAgICAgICBzdGFydFdpdGhOZXdMaW5lOiBmYWxzZSxcbiAgICAgICAgICByZW5kZXJBczogXCJkZWZhdWx0LWNvbW1lbnRcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94Lmpzb25PYmplY3RcIiksXG4gICAgICAgICAgdmFsaWRhdG9yczogW3tcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgdGV4dDogXCJKU09OIHNob3VsZCBiZSBjb3JyZWN0XCIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbGlkYXRlVG9vbGJveEpzb24oe2pzb259KVwiXG4gICAgICAgICAgfV0sXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgbmV3SnNvbiA9IHsgLi4uZGVmYXVsdEpTT04sIC4uLnByb3BzIH07XG4gICAgaWYgKGFkZFN1Yml0ZW1zKSB7XG4gICAgICBuZXdKc29uLmRldGFpbEVsZW1lbnRzLnB1c2godGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgIGFkZFJvd1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5hZGROZXdTdWJpdGVtXCIpLFxuICAgICAgICBhZGRSb3dCdXR0b25Mb2NhdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lU3ViaXRlbXMsXG4gICAgICAgIHZhbHVlTmFtZTogXCJzdWJpdGVtc1wiLFxuICAgICAgICB0aXRsZUxvY2F0aW9uOiBcImhpZGRlblwiLFxuICAgICAgICBzdGFydFdpdGhOZXdMaW5lOiBmYWxzZVxuICAgICAgfSwgZmFsc2UpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0pzb247XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlTWFpblBhZ2VDb3JlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudGl0bGVcIiksXG4gICAgICBkZXNjcmlwdGlvbjogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmRlc2NyaXB0aW9uXCIpLFxuICAgICAgbmF2aWdhdGlvblRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubmF2aWdhdGlvblRpdGxlXCIpLFxuICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicGFuZWxcIixcbiAgICAgICAgICBuYW1lOiB0aGlzLm1haW5QYW5lbE5hbWUsXG4gICAgICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJtYXRyaXhkeW5hbWljXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZUNhdGVnb3JpZXMsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbGJveFwiKSxcbiAgICAgICAgICAgICAgdmlzaWJsZUlmOiB0aGlzLmdldFRleHRWaXNpYmxlSWYodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsIFwiY2F0ZWdvcmllc1wiKSxcbiAgICAgICAgICAgICAgYWxsb3dSb3dSZW9yZGVyOiB0cnVlLFxuICAgICAgICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgICAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcInRvcFwiLFxuICAgICAgICAgICAgICBub1Jvd3NUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubm9DYXRlZ29yaWVzVGV4dFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93VGV4dDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmFkZEN1c3RvbUNhdGVnb3J5XCIpLFxuICAgICAgICAgICAgICBzaG93SGVhZGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgICAgICAgICAgICAgIHsgY2VsbFR5cGU6IFwidGV4dFwiLCBuYW1lOiBcImNhdGVnb3J5XCIsIGlzVW5pcXVlOiB0cnVlLCBpc1JlcXVpcmVkOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgY2VsbFR5cGU6IFwidGV4dFwiLCBuYW1lOiBcInRpdGxlXCIgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBkZXRhaWxQYW5lbE1vZGU6IFwidW5kZXJSb3dcIixcbiAgICAgICAgICAgICAgZGV0YWlsRWxlbWVudHM6IFtcbiAgICAgICAgICAgICAgICB7IHR5cGU6IFwidGV4dFwiLCBuYW1lOiBcImNhdGVnb3J5XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guY2F0ZWdvcnlOYW1lXCIpLCBpc1JlcXVpcmVkOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIG5hbWU6IFwidGl0bGVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5jYXRlZ29yeVRpdGxlXCIpLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIG5hbWU6IFwidG9vbHRpcFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LnRvb2x0aXBcIiksIHZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lSW5uZXJNYXRyaXgsXG4gICAgICAgICAgICAgICAgICB0aXRsZUxvY2F0aW9uOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgICAgYWxsb3dBZGRSb3dzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYWRkUm93QnV0dG9uTG9jYXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgICAgICAgICAgICBub1Jvd3NUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubm9JdGVtc1RleHRcIiksXG4gICAgICAgICAgICAgICAgICBhZGRSb3dUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guYWRkTmV3SXRlbVwiKSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlTmFtZTogXCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSlcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSXRlbXNNYXRyaXhKU09OKHtcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lSXRlbXMsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbGJveFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93QnV0dG9uTG9jYXRpb246IFwidG9wXCIsXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5ub0l0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93VGV4dDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmFkZEN1c3RvbUl0ZW1cIiksXG4gICAgICAgICAgICAgIHN0YXJ0V2l0aE5ld0xpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICB2aXNpYmxlSWY6IHRoaXMuZ2V0VGV4dFZpc2libGVJZih0aGlzLm5hbWVDYXRlZ29yaWVzTW9kZSwgXCJpdGVtc1wiKSxcbiAgICAgICAgICAgIH0sIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guaGlkZGVuSXRlbXNcIiksXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5ub0hpZGRlbkl0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25Mb2NhdGlvbjogXCJ1bmRlcklucHV0XCIsXG4gICAgICAgICAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcImJvdHRvbVwiLFxuICAgICAgICAgICAgICBhZGRSb3dUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guYWRkTmV3SXRlbVwiKSxcbiAgICAgICAgICAgICAgc3RhcnRXaXRoTmV3TGluZTogZmFsc2UsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZU1hdHJpeFxuICAgICAgICAgICAgfSwgdHJ1ZSldXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInBhbmVsXCIsXG4gICAgICAgICAgdGl0bGU6IFwiIFwiLFxuICAgICAgICAgIG5hbWU6IHRoaXMubmF2aWdhdGlvblBhbmVsTmFtZSxcbiAgICAgICAgICBlbGVtZW50czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guZW5hYmxlR3JvdXBpbmdcIiksXG4gICAgICAgICAgICAgIHRpdGxlTG9jYXRpb246IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgICAgICAgICAgIHZhbHVlVHJ1ZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgICAgICAgICAgIHZhbHVlRmFsc2U6IFwiaXRlbXNcIixcbiAgICAgICAgICAgICAgY2xlYXJJZkludmlzaWJsZTogXCJvbkhpZGRlblwiLFxuICAgICAgICAgICAgICByZW5kZXJBczogXCJzd2l0Y2hcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcyxcbiAgICAgICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5zaG93Q2F0ZWdvcnlUaXRsZXNcIiksXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICAgICAgICAgIHVzZVRpdGxlQXNMYWJlbDogdHJ1ZSxcbiAgICAgICAgICAgICAgdmlzaWJsZUlmOiB0aGlzLmdldFRleHRWaXNpYmxlSWYodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsIFwiY2F0ZWdvcmllc1wiKSxcbiAgICAgICAgICAgICAgY2xlYXJJZkludmlzaWJsZTogXCJvbkhpZGRlblwiLFxuICAgICAgICAgICAgICByZW5kZXJBczogXCJzd2l0Y2hcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBuYW1lQ2F0ZWdvcmllc01vZGUoKSB7IHJldHVybiB0aGlzLmZ1bGxQYXRoICsgXCJfbW9kZVwiOyB9XG4gIHByb3RlY3RlZCBnZXQgbmFtZUl0ZW1zKCkgeyByZXR1cm4gdGhpcy5mdWxsUGF0aCArIFwiX2l0ZW1zXCI7IH1cbiAgcHJvdGVjdGVkIGdldCBuYW1lU3ViaXRlbXMoKSB7IHJldHVybiBcInN1Yml0ZW1zXCI7IH1cbiAgcHJvdGVjdGVkIGdldCBuYW1lU2hvd0NhdGVnb3J5VGl0bGVzKCkgeyByZXR1cm4gdGhpcy5mdWxsUGF0aCArIFwiX3Nob3dDYXRlZ29yeVRpdGxlc1wiOyB9XG4gIHB1YmxpYyBnZXQgcXVlc3Rpb25OYW1lcygpIHtcbiAgICByZXR1cm4gW3RoaXMubmFtZUNhdGVnb3JpZXMsIHRoaXMubmFtZUl0ZW1zLCB0aGlzLm5hbWVNYXRyaXgsIHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcywgdGhpcy5uYW1lQ2F0ZWdvcmllc01vZGVdO1xuICB9XG4gIHByb3RlY3RlZCBoYXNJY29uKG5hbWU6IHN0cmluZykgeyByZXR1cm4gbmFtZSAhPT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyAmJiBuYW1lICE9PSB0aGlzLm5hbWVTdWJpdGVtczsgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SXRlbXMocXVlc3Rpb24/OiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCkge1xuICAgIHJldHVybiBxdWVzdGlvbj8ubmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyA/IHRoaXMuZGVmYXVsdENhdGVnb3JpZXMgOiBbLi4udGhpcy5kZWZhdWx0SXRlbXMsIC4uLnRoaXMuZGVmYXVsdFN1Yml0ZW1zXTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVSb3dBY3Rpb24ocXVlc3Rpb246IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCwgcm93RGF0YTogYW55LCBrZXlDb2x1bW46IHN0cmluZywgYWN0aW9uOiBJQWN0aW9uKSB7XG4gICAgc3VwZXIudXBkYXRlUm93QWN0aW9uKHF1ZXN0aW9uLCByb3csIHJvd0RhdGEsIGtleUNvbHVtbiwgYWN0aW9uKTtcbiAgICBpZiAoYWN0aW9uLmlkID09IFwic2hvdy1kZXRhaWxcIiAmJiBxdWVzdGlvbi5uYW1lICE9IHRoaXMubmFtZUNhdGVnb3JpZXMpIHtcbiAgICAgIGFjdGlvbi52aXNpYmxlID0gcm93LmlzRGV0YWlsUGFuZWxTaG93aW5nIHx8ICEhcm93RGF0YS5zdWJpdGVtcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRJdGVtKHZhbHVlOiBhbnksIGl0ZW1OYW1lOiBzdHJpbmcsIGhhc0NhdGVnb3JpZXM6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gaGFzQ2F0ZWdvcmllcyA/XG4gICAgICB2YWx1ZS5tYXAoYyA9PiBjLml0ZW1zLmZpbHRlcihpID0+IGkubmFtZSA9PSBpdGVtTmFtZSlbMF0pLmZpbHRlcihpID0+ICEhaSlbMF0gOlxuICAgICAgdmFsdWUuZmlsdGVyKGkgPT4gaS5uYW1lID09IGl0ZW1OYW1lKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZVRvU3ViaXRlbXMobW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCBpdGVtTmFtZTogc3RyaW5nLCByZW1vdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IHJvd0RhdGEgPSB0aGlzLmVqZWN0Um93RGF0YShxdWVzdGlvbiwgcm93LCByZW1vdmUpO1xuICAgIGNvbnN0IGhhc0NhdGVnb3JpZXMgPSB0aGlzLml0ZW1NZW51Q2F0ZWdvcmllc0VuYWJsZWQobW9kZWwpO1xuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gaGFzQ2F0ZWdvcmllcyA/IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKSA6IHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCk7XG4gICAgY29uc3QgZGVzdFZhbHVlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkZXN0aW5hdGlvbi52YWx1ZSkpO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRJdGVtKGRlc3RWYWx1ZSwgaXRlbU5hbWUsIGhhc0NhdGVnb3JpZXMpO1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBpZiAoIWl0ZW0uc3ViaXRlbXMpIGl0ZW0uc3ViaXRlbXMgPSBbXTtcbiAgICAgIGl0ZW0uc3ViaXRlbXMucHVzaChyb3dEYXRhKTtcbiAgICB9XG4gICAgZGVzdGluYXRpb24udmFsdWUgPSBkZXN0VmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RXhpc3RpbmdLZXlzKG1vZGVsOiBTdXJ2ZXlNb2RlbCwga2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdXBlckl0ZW1zID0gc3VwZXIuZ2V0RXhpc3RpbmdLZXlzKG1vZGVsLCBrZXkpO1xuICAgIGNvbnN0IGl0ZW1zID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lSXRlbXMpLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IHJvd3MgPSBbLi4uc3VwZXJJdGVtcywgLi4uaXRlbXNdO1xuICAgIGNvbnN0IHN1Yml0ZW1zID0gKHJvd3MubWFwKHIgPT4gci5zdWJpdGVtcyB8fCBbXSkgYXMgYW55KS5mbGF0KCk7XG4gICAgcmV0dXJuIFsuLi5yb3dzLCAuLi5zdWJpdGVtc107XG4gIH1cblxuICBwcm90ZWN0ZWQgaXRlbU1lbnVDYXRlZ29yaWVzRW5hYmxlZChtb2RlbDogU3VydmV5TW9kZWwpIHtcbiAgICByZXR1cm4gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpICE9PSBcIml0ZW1zXCI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SXRlbU1lbnVBY3Rpb25zQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgcm93OiBNYXRyaXhEeW5hbWljUm93TW9kZWwpIHtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpLnZhbHVlO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBzdXBlci5nZXRJdGVtTWVudUFjdGlvbnNDb3JlKG1vZGVsLCBxdWVzdGlvbiwgcm93KTtcbiAgICBjb25zdCBoYXNDYXRlZ29yaWVzID0gdGhpcy5pdGVtTWVudUNhdGVnb3JpZXNFbmFibGVkKG1vZGVsKTtcbiAgICBjb25zdCBjYXRBY3Rpb25zID0gY2F0ZWdvcmllcy5tYXAoKGM6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2F0QWN0aW9uID0gbmV3IEFjdGlvbih7XG4gICAgICAgIGlkOiBcInRvc3ViaXRlbWNhdGVnb3J5LVwiICsgYy5jYXRlZ29yeSxcbiAgICAgICAgdGl0bGU6IGMudGl0bGVcbiAgICAgIH0pO1xuICAgICAgaWYgKGMuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgaXRlbXNBY3Rpb25zID0gYy5pdGVtcy5maWx0ZXIoKGk6IGFueSkgPT4gaS5uYW1lICE9IHJvdy52YWx1ZT8ubmFtZSkubWFwKChpOiBhbnkpID0+IG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInRvc3ViaXRlbS1cIiArIGkubmFtZSxcbiAgICAgICAgICB0aXRsZTogaS50aXRsZSxcbiAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvU3ViaXRlbXMobW9kZWwsIHF1ZXN0aW9uLCByb3csIGkubmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc2V0U3ViaXRlbXNUb0FjdGlvbihjYXRBY3Rpb24sIGl0ZW1zQWN0aW9ucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2F0QWN0aW9uO1xuICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHN1Ykl0ZW1zID0gaGFzQ2F0ZWdvcmllcyA/IGNhdEFjdGlvbnMgOiBjYXRBY3Rpb25zLm1hcChhID0+IGEuaXRlbXMpLmZsYXQoKTtcbiAgICBjb25zdCByb3dEYXRhSW5kZXggPSBxdWVzdGlvbi52aXNpYmxlUm93cy5pbmRleE9mKHJvdyk7XG4gICAgY29uc3Qgcm93RGF0YSA9IHF1ZXN0aW9uLnZhbHVlW3Jvd0RhdGFJbmRleF07XG4gICAgaWYgKCFyb3dEYXRhW1wic3ViaXRlbXNcIl0pIHtcbiAgICAgIGlmIChxdWVzdGlvbi5uYW1lID09IHRoaXMubmFtZUl0ZW1zIHx8IHF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lSW5uZXJNYXRyaXgpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInN1YmNhdGVnb3JpZXNcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LnN1Yml0ZW1zXCIpLFxuICAgICAgICAgIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIixcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICBuZWVkU2VwYXJhdG9yOiB0cnVlXG4gICAgICAgIH0pKTtcbiAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcImNvbnZlcnQtdG8tc3ViY2F0ZWdvcnlcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmVuYWJsZVN1Yml0ZW1zXCIpLFxuICAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBoYXNDYXRlZ29yaWVzID8gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpIDogdGhpcy5nZXRRdWVzdGlvbkl0ZW1zKG1vZGVsKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3RWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGVzdGluYXRpb24udmFsdWUpKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRJdGVtKGRlc3RWYWx1ZSwgcm93RGF0YS5uYW1lLCBoYXNDYXRlZ29yaWVzKTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgIGl0ZW0uc3ViaXRlbXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLnZhbHVlID0gZGVzdFZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNYXRyaXhSb3dBY3Rpb25zKG1vZGVsLCBxdWVzdGlvbik7XG4gICAgICAgICAgICByb3cuc2hvd0RldGFpbFBhbmVsKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICBjb25zdCBzdWJpdGVtc0FjdGlvbiA9IG5ldyBBY3Rpb24oe1xuICAgICAgICBpZDogXCJtb3ZlLWFzLXN1Yml0ZW1cIixcbiAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5tb3ZlQXNTdWJpdGVtXCIpLFxuICAgICAgICBuZWVkU2VwYXJhdG9yOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2V0U3ViaXRlbXNUb0FjdGlvbihzdWJpdGVtc0FjdGlvbiwgc3ViSXRlbXMpO1xuICAgICAgYWN0aW9ucy5wdXNoKHN1Yml0ZW1zQWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRKc29uVmFsdWVDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBkZWZhdWx0SnNvbjogYW55KTogYW55IHtcbiAgICBjb25zdCByZXM6IGFueSA9IHt9O1xuICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzLmdldEpzb25JdGVtc0RlZmluaXRpb24obW9kZWwpO1xuICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICByZXMuZGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG4gICAgfVxuICAgIGNvbnN0IG1vZGUgPSBtb2RlbC5nZXRWYWx1ZSh0aGlzLm5hbWVDYXRlZ29yaWVzTW9kZSk7XG4gICAgY29uc3QgdG9vbGJveCA9IGNyZWF0b3IudG9vbGJveDtcbiAgICBjb25zdCB0b29sYm94Q2F0ZWdvcmllcyA9IGRlZmF1bHRKc29uPy5jYXRlZ29yaWVzO1xuICAgIGlmIChtb2RlID09PSBcImNhdGVnb3JpZXNcIikge1xuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuZ2V0Q2F0ZWdvcmllc0pzb24obW9kZWwpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2F0ZWdvcmllcykgJiYgY2F0ZWdvcmllcy5sZW5ndGggPiAwICYmICghdGhpcy5pc0NhdGVnb3JpZXNTYW1lKGNhdGVnb3JpZXMsIHRvb2xib3hDYXRlZ29yaWVzKSkpIHtcbiAgICAgICAgcmVzLmNhdGVnb3JpZXMgPSB0aGlzLmdldENhdGVnb3JpZXNKc29uKG1vZGVsKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLmNhdGVnb3JpZXMgPSBbXTtcbiAgICB9XG4gICAgaWYgKG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcykpIHtcbiAgICAgIHJlcy5zaG93Q2F0ZWdvcnlUaXRsZXMgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPiAwID8gcmVzIDogdW5kZWZpbmVkO1xuICB9XG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SnNvblZhbHVlQ29yZShjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yaWVzOiBjcmVhdG9yLnRvb2xib3guY2F0ZWdvcmllcy5tYXAoYyA9PiAoeyBjYXRlZ29yeTogYy5uYW1lLCB0aXRsZTogYy50aXRsZSwgaXRlbXM6IGMuaXRlbXMubWFwKGkgPT4gaS5uYW1lKSB9KSlcbiAgICB9O1xuICB9XG4gIHByaXZhdGUgaXNDYXRlZ29yaWVzU2FtZShjYXRlZ29yaWVzOiBhbnksIHRvb2xib3hDYXRlZ29yaWVzOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoY2F0ZWdvcmllcy5sZW5ndGggIT09IHRvb2xib3hDYXRlZ29yaWVzLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2F0ZWdvcmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGNhdGVnb3JpZXNbaV0uY2F0ZWdvcnkgIT09IHRvb2xib3hDYXRlZ29yaWVzW2ldLmNhdGVnb3J5KSByZXR1cm4gZmFsc2U7XG4gICAgICAvL2lmIChjYXRlZ29yaWVzW2ldLnRpdGxlICE9PSB0b29sYm94Q2F0ZWdvcmllc1tpXS50aXRsZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgdG9vbGJveEl0ZW1zID0gdG9vbGJveENhdGVnb3JpZXNbaV0uaXRlbXM7XG4gICAgICBjb25zdCBjYXRlZ29yeUl0ZW1zID0gY2F0ZWdvcmllc1tpXS5pdGVtcztcbiAgICAgIGlmICghSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKGNhdGVnb3J5SXRlbXMsIHRvb2xib3hJdGVtcykpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGdldENhdGVnb3JpZXNKc29uKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IGFueSB7XG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXMpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjYXRlZ29yaWVzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoYyA9PiAoeyBjYXRlZ29yeTogYy5jYXRlZ29yeSwgaXRlbXM6IGMuaXRlbXM/Lm1hcChpID0+IGkubmFtZSkgfSkpO1xuICB9XG4gIHByaXZhdGUgY2xlYW5JZk5vdERpZmZlcnMoaXRlbSwgZGVmYXVsdEl0ZW0pIHtcbiAgICBpZiAoIWRlZmF1bHRJdGVtKSByZXR1cm4gdHJ1ZTtcbiAgICBsZXQgZGlmZmVycyA9IGZhbHNlO1xuICAgIE9iamVjdC5rZXlzKHsgLi4uaXRlbSwgLi4uZGVmYXVsdEl0ZW0gfSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKCFIZWxwZXJzLmlzVHdvVmFsdWVFcXVhbHMoaXRlbVtrZXldLCBkZWZhdWx0SXRlbVtrZXldKSkge1xuICAgICAgICBkaWZmZXJzID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGtleSAhPT0gXCJuYW1lXCIpIGRlbGV0ZSBpdGVtW2tleV07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpZmZlcnM7XG4gIH1cbiAgcHJpdmF0ZSBnZXRKc29uSXRlbXNEZWZpbml0aW9uKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IGFueSB7XG4gICAgY29uc3QgbW9kZSA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXNNb2RlKTtcbiAgICBjb25zdCBpdGVtc1JhdyA9IChtb2RlID09PSBcIml0ZW1zXCIpID8gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lSXRlbXMpIDogKG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXMpIHx8IFtdKS5tYXAoYyA9PiBjLml0ZW1zKS5mbGF0KCk7XG4gICAgY29uc3QgaXRlbXMgPSAoaXRlbXNSYXcgfHwgW10pLm1hcChpID0+ICh7IC4uLmkgfSkpO1xuICAgIGxldCBkaWZmZXJzID0gZmFsc2U7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRJdGVtID0gdGhpcy5kZWZhdWx0SXRlbXMuZmlsdGVyKGkgPT4gaS5uYW1lID09IGl0ZW0ubmFtZSlbMF07XG4gICAgICBpZiAoIWl0ZW0uc3ViaXRlbXMgJiYgZGVmYXVsdEl0ZW0/LnN1Yml0ZW1zKSBpdGVtLnN1Yml0ZW1zID0gW107XG4gICAgICBpZiAodGhpcy5jbGVhbklmTm90RGlmZmVycyhpdGVtLCBkZWZhdWx0SXRlbSkpIGRpZmZlcnMgPSB0cnVlO1xuICAgIH0pO1xuICAgIGlmICghZGlmZmVycyAmJiAhSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKGl0ZW1zLm1hcChpPT5pLm5hbWUpLCB0aGlzLmRlZmF1bHRJdGVtcy5tYXAoaT0+aS5uYW1lKSkpIGRpZmZlcnMgPSB0cnVlO1xuICAgIHJldHVybiBkaWZmZXJzID8gaXRlbXMgOiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJvdGVjdGVkIGlzSXRlbXNNYXRyaXgobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5hbWUgPT09IHRoaXMubmFtZUl0ZW1zIHx8IG5hbWUgPT09IHRoaXMubmFtZVN1Yml0ZW1zIHx8IHN1cGVyLmlzSXRlbXNNYXRyaXgobmFtZSk7XG4gIH1cbiAgcHVibGljIG9uTWF0cml4Um93UmVtb3ZpbmcobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIG9wdGlvbnM6IGFueSkge1xuICAgIGlmIChvcHRpb25zLnF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lTWF0cml4KSB7XG4gICAgICBjb25zdCBtb2RlID0gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpO1xuICAgICAgaWYgKG1vZGUgPT09IFwiaXRlbXNcIikge1xuICAgICAgICB0aGlzLnJlc3RvcmVJdGVtcyh0aGlzLmdldFF1ZXN0aW9uSXRlbXMobW9kZWwpLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgc3VwZXIub25NYXRyaXhSb3dSZW1vdmluZyhtb2RlbCwgY3JlYXRvciwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBPbkN1cnJlbnRQYWdlQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY3JlYXRvci50b29sYm94LmZvcmNlQ29tcGFjdCA9ICFhY3RpdmU7XG4gICAgY3JlYXRvci50b29sYm94LmlzQ29tcGFjdCA9ICFhY3RpdmU7XG4gICAgaWYgKGNyZWF0b3IucmVhZE9ubHkgIT0gYWN0aXZlKSB7XG4gICAgICBjcmVhdG9yLnNldFByb3BlcnR5VmFsdWUoXCJyZWFkT25seVwiLCBhY3RpdmUpO1xuICAgIH1cbiAgICBjcmVhdG9yLnRvb2xib3guaXRlbXMuZm9yRWFjaChpID0+IGkuZW5hYmxlZCA9IGFjdGl2ZSk7XG4gICAgY3JlYXRvci50b29sYm94LmVuYWJsZWQgPSBhY3RpdmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBRdWVzdGlvbnNDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvclNldHVwOiBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0dXBRdWVzdGlvbnNDb3JlKG1vZGVsLCBjcmVhdG9yU2V0dXApO1xuICAgIHRoaXMuc2V0dXBEZWZhdWx0cyhtb2RlbCwgY3JlYXRvclNldHVwLmNyZWF0b3IpO1xuICB9XG4gIHByaXZhdGUgc2V0dXBEZWZhdWx0cyhtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2xib3hEZWZhdWx0SXRlbXMgPSBjcmVhdG9yLnRvb2xib3guZ2V0RGVmYXVsdEl0ZW1zKFtdLCB0cnVlLCB0cnVlLCB0cnVlKTtcbiAgICBjb25zdCB0b29sYm94RGVmYXVsdENhdGVnb3JpZXMgPSBjcmVhdG9yLnRvb2xib3guZ2V0RGVmYXVsdENhdGVnb3JpZXMoKTtcbiAgICB0aGlzLmRlZmF1bHRJdGVtcyA9IHRvb2xib3hEZWZhdWx0SXRlbXMubWFwKGkgPT4gdGhpcy5jcmVhdGVUb29sYm94SXRlbVJvdyhpKSk7XG4gICAgdGhpcy5kZWZhdWx0U3ViaXRlbXMgPSBbXTtcbiAgICB0b29sYm94RGVmYXVsdEl0ZW1zLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5pdGVtcykge1xuICAgICAgICB0aGlzLmRlZmF1bHRTdWJpdGVtcy5wdXNoKC4uLmkuaXRlbXMubWFwKHNpID0+IHRoaXMuY3JlYXRlVG9vbGJveEl0ZW1Sb3coc2kpKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcyA9IHRvb2xib3hEZWZhdWx0Q2F0ZWdvcmllcy5tYXAoaSA9PiB0aGlzLmNyZWF0ZVRvb2xib3hDYXRlZ29yeVJvdyhpKSk7XG4gIH1cbiAgLy8gcHJpdmF0ZSBpc0l0ZW1WYWx1ZXNFcXVhbChhOiBBcnJheTxJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtPiwgYjogQXJyYXk8SUNyZWF0b3JQcmVzZXRUb29sYm94SXRlbT4pOiBib29sZWFuIHtcbiAgLy8gICBpZiAoIWEgfHwgIWIgfHwgYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBpZiAoYVtpXS5uYW1lICE9PSBiW2ldLm5hbWUgfHwgYVtpXS50aXRsZSAhPT0gYltpXS50aXRsZSkgcmV0dXJuIGZhbHNlO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdHJ1ZTtcbiAgLy8gfVxuICAvLyBwcml2YXRlIHVwZGF0ZVJhbmtpbmdMb2NhbGl6YXRpb25OYW1lKHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCk6IHZvaWQge1xuICAvLyAgIHF1ZXN0aW9uLmNob2ljZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgLy8gICAgIGl0ZW0ubG9jVGV4dC5sb2NhbGl6YXRpb25OYW1lID0gXCJxdC5cIiArIGl0ZW0udmFsdWU7XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgcHJvdGVjdGVkIHNldHVwUXVlc3Rpb25zVmFsdWVDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwganNvbjogYW55LCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICAvL3RoaXMuc2V0dXBRdWVzdGlvbnNWYWx1ZURlZmluaXRpb24obW9kZWwsIGpzb24pO1xuICAgIGNvbnN0IGRlZmF1bHRJdGVtc01hcCA9IHRoaXMuZGVmYXVsdEl0ZW1zLnJlZHVjZSgoYWNjOiBhbnksIGk6IGFueSkgPT4geyBhY2NbaS5uYW1lXSA9IGk7IHJldHVybiBhY2M7IH0sIHt9KTtcbiAgICBjb25zdCBkZWZhdWx0Q2F0ZWdvcmllc01hcCA9IHRoaXMuZGVmYXVsdENhdGVnb3JpZXMucmVkdWNlKChhY2M6IGFueSwgaTogYW55KSA9PiB7IGFjY1tpLmNhdGVnb3J5XSA9IGk7IHJldHVybiBhY2M7IH0sIHt9KTtcblxuICAgIHRoaXMuZGVmYXVsdEl0ZW1zLmZpbHRlcihpID0+IGkuc3ViaXRlbXMpLm1hcChpID0+IGkuc3ViaXRlbXMuZm9yRWFjaChzaSA9PiBkZWZhdWx0SXRlbXNNYXBbc2kubmFtZV0gPSBzaSkpO1xuXG4gICAganNvbiA9IGpzb24gfHwge307XG4gICAgbGV0IGl0ZW1zRGVmaW5pdGlvbiA9IChqc29uW1wiZGVmaW5pdGlvblwiXSB8fCBbXSkubWFwKGkgPT4gdHlwZW9mIGkgPT09IFwic3RyaW5nXCIgPyB7IG5hbWU6IGkgfSA6IGkpO1xuICAgIGxldCBjYXRlZ29yaWVzRGVmaW5pdGlvbiA9IGpzb25bXCJjYXRlZ29yaWVzXCJdIHx8IFtdO1xuICAgIGlmIChpdGVtc0RlZmluaXRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICBpdGVtc0RlZmluaXRpb24gPSB0aGlzLmRlZmF1bHRJdGVtcztcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbXNEZWZpbml0aW9uID0gaXRlbXNEZWZpbml0aW9uLm1hcChpID0+ICh7IC4uLihkZWZhdWx0SXRlbXNNYXBbaS5uYW1lXSB8fCB7fSksIC4uLmkgfSkpO1xuICAgIH1cbiAgICBjb25zdCBpdGVtc01hcDogYW55ID0ge307XG4gICAgaXRlbXNEZWZpbml0aW9uLmZvckVhY2goKGk6IGFueSkgPT4gaXRlbXNNYXBbaS5uYW1lXSA9IHsgLi4uaSwgc3ViaXRlbXM6IGkuc3ViaXRlbXMgJiYgaS5zdWJpdGVtcy5tYXAoc2kgPT4gKHsgLi4uKGRlZmF1bHRJdGVtc01hcFtzaS5uYW1lXSB8fCB7fSksIC4uLnNpIH0pKSB9KTtcbiAgICBpZiAoY2F0ZWdvcmllc0RlZmluaXRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICBjYXRlZ29yaWVzRGVmaW5pdGlvbiA9IHRoaXMuZGVmYXVsdENhdGVnb3JpZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhdGVnb3JpZXNEZWZpbml0aW9uID0gY2F0ZWdvcmllc0RlZmluaXRpb24ubWFwKGMgPT4gKHtcbiAgICAgICAgLi4uZGVmYXVsdENhdGVnb3JpZXNNYXBbYy5jYXRlZ29yeV0sXG4gICAgICAgIC4uLmMsXG4gICAgICAgIC4uLnsgaXRlbXM6IGMuaXRlbXMubWFwKGkgPT4gaXRlbXNNYXBbaV0pLmZpbHRlcihpID0+ICEhaSkgfSB9KSk7XG4gICAgfVxuXG4gICAgLy9jYXRlZ29yaWVzLmZpbHRlcigoYzogYW55KSA9PiBjLnByb3BlcnRpZXMpLmZvckVhY2goKGM6IGFueSkgPT4gYy5wcm9wZXJ0aWVzLmZvckVhY2goKHA6IGFueSkgPT4gZGVsZXRlIGl0ZW1zTWFwW3AubmFtZV0pKTtcbiAgICAvL09iamVjdC5rZXlzKGl0ZW1zTWFwKS5tYXAoa2V5ID0+IGl0ZW1zTWFwW2tleV0pO1xuICAgIGNhdGVnb3JpZXNEZWZpbml0aW9uLmZpbHRlcigoYzogYW55KSA9PiBjLml0ZW1zKS5mb3JFYWNoKChjOiBhbnkpID0+IGMuaXRlbXMuZm9yRWFjaCgocDogYW55KSA9PiBkZWxldGUgZGVmYXVsdEl0ZW1zTWFwW3AubmFtZV0pKTtcbiAgICBjb25zdCBoaWRkZW5JdGVtcyA9IHRoaXMuZGVmYXVsdEl0ZW1zLmZpbHRlcih0ID0+IGRlZmF1bHRJdGVtc01hcFt0Lm5hbWVdKTtcblxuICAgIG1vZGVsLnNldFZhbHVlKHRoaXMubmFtZU1hdHJpeCwgaGlkZGVuSXRlbXMpO1xuICAgIG1vZGVsLnNldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXMsIGNhdGVnb3JpZXNEZWZpbml0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZUl0ZW1zRnJvbUNhdGVnb3JpZXMobW9kZWwpO1xuICAgIHRoaXMudXBkYXRlU2hvd0NhdGVnb3JpZXNUaXRsZXNFbGVtZW50cyhtb2RlbCk7XG4gIH1cbiAgcHJvdGVjdGVkIG9uTG9jYWxlQ2hhbmdlZENvcmUobW9kZWw6IFN1cnZleU1vZGVsLCBqc29uOiBhbnksIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBEZWZhdWx0cyhtb2RlbCwgY3JlYXRvcik7XG4gICAgdGhpcy5zZXR1cFF1ZXN0aW9uc1ZhbHVlQ29yZShtb2RlbCwganNvbiwgY3JlYXRvcik7XG4gIH1cbiAgLy8gcHJpdmF0ZSBzZXR1cFF1ZXN0aW9uc1ZhbHVlRGVmaW5pdGlvbihtb2RlbDogU3VydmV5TW9kZWwsIGpzb246IGFueSk6IHZvaWQge1xuICAvLyAgIGpzb24gPSBqc29uIHx8IHt9O1xuICAvLyAgIGNvbnN0IHF1ZXN0aW9uID0gdGhpcy5nZXRNYXRyaXgobW9kZWwpO1xuICAvLyAgIGNvbnN0IHZhbHVlID0gW107XG4gIC8vICAgY29uc3QgZGVmaW5pdGlvbiA9IGpzb24uZGVmaW5pdGlvbiB8fCBbXTtcbiAgLy8gICBkZWZpbml0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gIC8vICAgICBjb25zdCB2YWwgPSB7fTtcbiAgLy8gICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XG4gIC8vICAgICAgIHZhbFtrZXldID0ga2V5ID09PSBcImpzb25cIiA/IEpTT04uc3RyaW5naWZ5KGl0ZW1ba2V5XSwgbnVsbCwgMikgOiBpdGVtW2tleV07XG4gIC8vICAgICB9XG4gIC8vICAgICB2YWx1ZS5wdXNoKHZhbCk7XG4gIC8vICAgfSk7XG4gIC8vICAgcXVlc3Rpb24udmFsdWUgPSB2YWx1ZTtcbiAgLy8gfVxuICBwcml2YXRlIHVwZGF0ZUl0ZW1zRnJvbUNhdGVnb3JpZXMobW9kZWw6IFN1cnZleU1vZGVsKSB7XG4gICAgdGhpcy5nZXRRdWVzdGlvbkl0ZW1zKG1vZGVsKS52YWx1ZSA9IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKS52YWx1ZS5tYXAociA9PiBbLi4uKHIuaXRlbXMgfHwgW10pXSkuZmxhdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYXRlZ29yaWVzRnJvbUl0ZW1zKG1vZGVsOiBTdXJ2ZXlNb2RlbCkge1xuICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLmdldFF1ZXN0aW9uQ2F0ZWdvcmllcyhtb2RlbCkudmFsdWU7XG4gICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5nZXRRdWVzdGlvbkl0ZW1zKG1vZGVsKS52YWx1ZV07XG4gICAgY29uc3QgaXRlbXNPYmplY3QgPSBpdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgYWNjW2l0ZW0ubmFtZV0gPSBpdGVtO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgY2F0ZWdvcmllcy5mb3JFYWNoKGNhdGVnb3J5ID0+IHtcbiAgICAgIGNhdGVnb3J5Lml0ZW1zID0gY2F0ZWdvcnkuaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCByZXMgPSBpdGVtc09iamVjdFtpdGVtLm5hbWVdO1xuICAgICAgICBkZWxldGUgaXRlbXNPYmplY3RbaXRlbS5uYW1lXTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH0pLmZpbHRlcihpID0+ICEhaSk7XG4gICAgfSk7XG4gICAgY29uc3QgdW5zb3J0ZWROYW1lcyA9IE9iamVjdC5rZXlzKGl0ZW1zT2JqZWN0KTtcbiAgICBpZiAodW5zb3J0ZWROYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgZ2VuZXJhbENhdGVnb3J5ID0gdGhpcy5maW5kT3JDcmVhdGVDYXRlZ29yeShjYXRlZ29yaWVzLCBcImdlbmVyYWxcIik7XG4gICAgICBnZW5lcmFsQ2F0ZWdvcnkuaXRlbXMgPSBnZW5lcmFsQ2F0ZWdvcnkuaXRlbXMuY29uY2F0KHVuc29ydGVkTmFtZXMubWFwKG5hbWUgPT4gdGhpcy5jcmVhdGVUb29sYm94SXRlbVJvdyhpdGVtc09iamVjdFtuYW1lXSkpKTtcbiAgICB9XG4gICAgdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpLnZhbHVlID0gY2F0ZWdvcmllcztcbiAgfVxuICBwcm90ZWN0ZWQgdXBkYXRlT25WYWx1ZUNoYW5nZWRDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlT25WYWx1ZUNoYW5nZWRDb3JlKG1vZGVsLCBuYW1lKTtcbiAgICBpZiAobmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpIHtcbiAgICAgIGlmIChtb2RlbC5nZXRWYWx1ZSh0aGlzLm5hbWVDYXRlZ29yaWVzTW9kZSkgPT0gXCJpdGVtc1wiKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSXRlbXNGcm9tQ2F0ZWdvcmllcyhtb2RlbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnVwZGF0ZUNhdGVnb3JpZXNGcm9tSXRlbXMobW9kZWwpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobmFtZSA9PT0gdGhpcy5uYW1lU2hvd0NhdGVnb3J5VGl0bGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNob3dDYXRlZ29yaWVzVGl0bGVzRWxlbWVudHMobW9kZWwpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIHVwZGF0ZVNob3dDYXRlZ29yaWVzVGl0bGVzRWxlbWVudHMobW9kZWw6IFN1cnZleU1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgdmFsID0gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lU2hvd0NhdGVnb3J5VGl0bGVzKSA9PT0gdHJ1ZTtcbiAgICBjb25zdCBtYXRyaXggPSB0aGlzLmdldFF1ZXN0aW9uQ2F0ZWdvcmllcyhtb2RlbCk7XG4gICAgbWF0cml4LnZpc2libGVSb3dzLmZvckVhY2gocm93ID0+IHtcbiAgICAgIGNvbnN0IGNhdGVnb3J5ID0gcm93LmdldFZhbHVlKFwiY2F0ZWdvcnlcIik7XG4gICAgICBjb25zdCBkZWZhdWx0VGl0bGUgPSB0aGlzLmdldENhdGVnb3J5VGl0bGUoY2F0ZWdvcnkpO1xuICAgICAgaWYgKCEhZGVmYXVsdFRpdGxlKSB7XG4gICAgICAgIHJvdy5nZXRRdWVzdGlvbkJ5TmFtZShcImNhdGVnb3J5XCIpLnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRpdGxlUXVlc3Rpb24gPSByb3cuZ2V0UXVlc3Rpb25CeU5hbWUoXCJ0aXRsZVwiKTtcbiAgICAgIGlmICh0aXRsZVF1ZXN0aW9uLmlzRW1wdHkoKSkge1xuICAgICAgICB0aXRsZVF1ZXN0aW9uLnZhbHVlID0gZGVmYXVsdFRpdGxlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgZ2V0Q2F0ZWdvcnlUaXRsZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBlZGl0b3JMb2NhbGl6YXRpb24uZ2V0U3RyaW5nKExvY0NhdGVnb3JpZXNOYW1lICsgXCIuXCIgKyBuYW1lKTtcbiAgfVxuICBwcm90ZWN0ZWQgc2V0SnNvbkxvY2FsaXphdGlvblN0cmluZ3NDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgbG9jU3RyczogYW55KTogdm9pZCB7XG4gICAgZnVuY3Rpb24gdXBkYXRlVGV4dEZyb21RdWVzdGlvbihtYXRyaXg6IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCBsb2NTdHJzOiBhbnkpIHtcbiAgICAgIGlmICghbWF0cml4KSByZXR1cm47XG4gICAgICBjb25zdCByb3dzID0gbWF0cml4LnZpc2libGVSb3dzO1xuICAgICAgcm93cy5mb3JFYWNoKHIgPT4ge1xuICAgICAgICBDcmVhdG9yUHJlc2V0RWRpdGFibGVCYXNlLnVwZGF0ZU1vZGlmaWVkVGV4dChsb2NTdHJzLCByLmdldFZhbHVlKFwidGl0bGVcIiksIFwicXQuXCIgKyByLmdldFZhbHVlKFwibmFtZVwiKSk7XG4gICAgICB9KTtcblxuICAgIH1cbiAgICB1cGRhdGVUZXh0RnJvbVF1ZXN0aW9uKHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCksIGxvY1N0cnMpO1xuXG4gICAgY29uc3QgbWF0cml4ID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpO1xuICAgIGlmIChtYXRyaXguaXNWaXNpYmxlKSB7XG4gICAgICBtYXRyaXgudmlzaWJsZVJvd3MuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yeSA9IHJvdy5nZXRWYWx1ZShcImNhdGVnb3J5XCIpO1xuICAgICAgICBpZiAocm93LmdldFZhbHVlKFwidGl0bGVcIikgIT09IHRoaXMuZ2V0Q2F0ZWdvcnlUaXRsZShjYXRlZ29yeSkpIHtcbiAgICAgICAgICBpZiAoIWxvY1N0cnNbTG9jQ2F0ZWdvcmllc05hbWVdKSB7XG4gICAgICAgICAgICBsb2NTdHJzW0xvY0NhdGVnb3JpZXNOYW1lXSA9IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2NTdHJzW0xvY0NhdGVnb3JpZXNOYW1lXVtjYXRlZ29yeV0gPSByb3cuZ2V0VmFsdWUoXCJ0aXRsZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB1cGRhdGVUZXh0RnJvbVF1ZXN0aW9uKDxRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbD5yb3cuZ2V0UXVlc3Rpb25CeU5hbWUoXCJpdGVtc1wiKSwgbG9jU3Rycyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRRdWVzdGlvbkl0ZW1zKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsIHtcbiAgICByZXR1cm4gPFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsPm1vZGVsLmdldFF1ZXN0aW9uQnlOYW1lKHRoaXMubmFtZUl0ZW1zKTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZVRvb2xib3hJdGVtUm93KGl0ZW06IFF1ZXN0aW9uVG9vbGJveEl0ZW0pOiBJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtIHtcbiAgICBjb25zdCBvYmo6SUNyZWF0b3JQcmVzZXRUb29sYm94SXRlbSA9IHtcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgaWNvbk5hbWU6IGl0ZW0uaWNvbk5hbWUsXG4gICAgICB0b29sdGlwOiBpdGVtLnRvb2x0aXAsXG4gICAgICBqc29uOiBpdGVtLmpzb24sXG4gICAgICBzdWJpdGVtczogaXRlbS5pdGVtcz8ubWFwKGkgPT4gdGhpcy5jcmVhdGVUb29sYm94SXRlbVJvdyhpKSlcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVUb29sYm94Q2F0ZWdvcnlSb3coaXRlbTogUXVlc3Rpb25Ub29sYm94Q2F0ZWdvcnkpIHtcbiAgICBjb25zdCBvYmogPSB7XG4gICAgICBjYXRlZ29yeTogaXRlbS5uYW1lLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICBpdGVtczogaXRlbS5pdGVtcz8ubWFwKGkgPT4gdGhpcy5jcmVhdGVUb29sYm94SXRlbVJvdyhpKSlcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-toolbox.ts\n");
179
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CreatorPresetEditableToolboxConfigurator: () => (/* binding */ CreatorPresetEditableToolboxConfigurator)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./presets-editable-base */ \"./src/presets/presets-editable-base.ts\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _presets_editable_categorized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-editable-categorized */ \"./src/presets/presets-editable-categorized.ts\");\n\n\n\n\n\nvar LocCategoriesName = \"toolboxCategories\";\nfunction validateToolboxJson(params) {\n var value = params[0];\n if (!value || !value.type)\n return true;\n var obj = survey_core__WEBPACK_IMPORTED_MODULE_0__.Serializer.createClass(value.type, value);\n return !!obj;\n}\nsurvey_core__WEBPACK_IMPORTED_MODULE_0__.FunctionFactory.Instance.register(\"validateToolboxJson\", validateToolboxJson);\nvar CreatorPresetEditableToolboxConfigurator = /** @class */ (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CreatorPresetEditableToolboxConfigurator, _super);\n function CreatorPresetEditableToolboxConfigurator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CreatorPresetEditableToolboxConfigurator.prototype.createItemsMatrixJSON = function (props, addSubitems) {\n var defaultJSON = {\n type: \"matrixdynamic\",\n name: \"items\",\n title: \"Toolbox\",\n allowRowReorder: true,\n cellType: \"text\",\n showHeader: false,\n rowCount: 0,\n allowAddRows: false,\n addRowButtonLocation: \"top\",\n columns: [\n {\n \"name\": \"name\",\n visible: false\n },\n {\n \"name\": \"title\"\n }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n {\n \"type\": \"panel\",\n \"name\": \"details\",\n \"maxWidth\": \"30%\",\n \"elements\": [\n { type: \"text\", name: \"name\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryName\"), isUnique: true, visible: false, isRequired: true },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryTitle\"), visible: false },\n { type: \"dropdown\", name: \"iconName\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.iconName\"), itemComponent: \"svc-presets-icon-item\", \"allowCustomChoices\": true, choices: this.iconList, visible: false },\n { type: \"text\", name: \"tooltip\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.tooltip\"), visible: false },\n ],\n visible: false\n },\n {\n type: \"presetjson\",\n name: \"json\",\n startWithNewLine: false,\n renderAs: \"default-comment\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.jsonObject\"),\n validators: [{\n type: \"expression\",\n text: \"JSON should be correct\",\n expression: \"validateToolboxJson({json})\"\n }],\n visible: false\n }\n ]\n };\n var newJson = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultJSON), props);\n if (addSubitems) {\n newJson.detailElements.push(this.createItemsMatrixJSON({\n allowAddRows: true,\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewSubitem\"),\n addRowButtonLocation: \"bottom\",\n name: this.nameSubitems,\n valueName: \"subitems\",\n titleLocation: \"hidden\",\n startWithNewLine: false\n }, false));\n }\n return newJson;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createMainPageCore = function () {\n return {\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.title\"),\n description: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.description\"),\n navigationTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.navigationTitle\"),\n elements: [\n {\n type: \"panel\",\n name: this.mainPanelName,\n elements: [\n {\n type: \"matrixdynamic\",\n name: this.nameCategories,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.toolbox\"),\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"categories\"),\n allowRowReorder: true,\n allowAddRows: true,\n addRowButtonLocation: \"top\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noCategoriesText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addCustomCategory\"),\n showHeader: false,\n columns: [\n { cellType: \"text\", name: \"category\", isUnique: true, isRequired: true, visible: false },\n { cellType: \"text\", name: \"title\" }\n ],\n detailPanelMode: \"underRow\",\n detailElements: [\n { type: \"text\", name: \"category\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryName\"), isRequired: true, visible: false },\n { type: \"text\", name: \"title\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.categoryTitle\"), visible: false },\n { type: \"text\", name: \"tooltip\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.tooltip\"), visible: false },\n this.createItemsMatrixJSON({\n name: this.nameInnerMatrix,\n titleLocation: \"hidden\",\n allowAddRows: true,\n addRowButtonLocation: \"bottom\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noItemsText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewItem\"),\n valueName: \"items\"\n }, true)\n ]\n },\n this.createItemsMatrixJSON({\n name: this.nameItems,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.toolbox\"),\n addRowButtonLocation: \"top\",\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noItemsText\"),\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addCustomItem\"),\n startWithNewLine: false,\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"items\"),\n }, true),\n this.createItemsMatrixJSON({\n allowAddRows: true,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.hiddenItems\"),\n noRowsText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.noHiddenItemsText\"),\n descriptionLocation: \"underInput\",\n addRowButtonLocation: \"bottom\",\n addRowText: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.addNewItem\"),\n startWithNewLine: false,\n name: this.nameMatrix\n }, true)\n ]\n },\n {\n type: \"panel\",\n title: \" \",\n name: this.navigationPanelName,\n elements: [\n {\n type: \"boolean\",\n name: this.nameCategoriesMode,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.enableGrouping\"),\n titleLocation: \"hidden\",\n defaultValue: \"categories\",\n valueTrue: \"categories\",\n valueFalse: \"items\",\n clearIfInvisible: \"onHidden\",\n renderAs: \"switch\"\n },\n {\n type: \"boolean\",\n name: this.nameShowCategoryTitles,\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.showCategoryTitles\"),\n defaultValue: false,\n useTitleAsLabel: true,\n visibleIf: this.getTextVisibleIf(this.nameCategoriesMode, \"categories\"),\n clearIfInvisible: \"onHidden\",\n renderAs: \"switch\"\n }\n ]\n }\n ]\n };\n };\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameCategoriesMode\", {\n get: function () { return this.fullPath + \"_mode\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameItems\", {\n get: function () { return this.fullPath + \"_items\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameSubitems\", {\n get: function () { return \"subitems\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"nameShowCategoryTitles\", {\n get: function () { return this.fullPath + \"_showCategoryTitles\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CreatorPresetEditableToolboxConfigurator.prototype, \"questionNames\", {\n get: function () {\n return [this.nameCategories, this.nameItems, this.nameMatrix, this.nameShowCategoryTitles, this.nameCategoriesMode];\n },\n enumerable: false,\n configurable: true\n });\n CreatorPresetEditableToolboxConfigurator.prototype.hasIcon = function (name) { return name !== this.nameCategories && name !== this.nameSubitems; };\n CreatorPresetEditableToolboxConfigurator.prototype.getDefaultItems = function (question) {\n return (question === null || question === void 0 ? void 0 : question.name) === this.nameCategories ? this.defaultCategories : (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], this.defaultItems, true), this.defaultSubitems, true);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateRowAction = function (question, row, rowData, keyColumn, action) {\n _super.prototype.updateRowAction.call(this, question, row, rowData, keyColumn, action);\n if (action.id == \"show-detail\" && question.name != this.nameCategories) {\n action.visible = row.isDetailPanelShowing || !!rowData.subitems;\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.findItem = function (value, itemName, hasCategories) {\n return hasCategories ?\n value.map(function (c) { return c.items.filter(function (i) { return i.name == itemName; })[0]; }).filter(function (i) { return !!i; })[0] :\n value.filter(function (i) { return i.name == itemName; })[0];\n };\n CreatorPresetEditableToolboxConfigurator.prototype.moveToSubitems = function (model, question, row, itemName, remove) {\n if (remove === void 0) { remove = false; }\n var rowData = this.ejectRowData(question, row, remove);\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n var destination = hasCategories ? this.getQuestionCategories(model) : this.getQuestionItems(model);\n var destValue = JSON.parse(JSON.stringify(destination.value));\n var item = this.findItem(destValue, itemName, hasCategories);\n if (item) {\n if (!item.subitems)\n item.subitems = [];\n item.subitems.push(rowData);\n }\n destination.value = destValue;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getExistingKeys = function (model, key) {\n var superItems = _super.prototype.getExistingKeys.call(this, model, key);\n var items = model.getQuestionByName(this.nameItems).value || [];\n var rows = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], superItems, true), items, true);\n var subitems = rows.map(function (r) { return r.subitems || []; }).flat();\n return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], rows, true), subitems, true);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.itemMenuCategoriesEnabled = function (model) {\n return model.getValue(this.nameCategoriesMode) !== \"items\";\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getItemMenuActionsCore = function (model, question, row) {\n var _this = this;\n var categories = this.getQuestionCategories(model).value;\n var actions = _super.prototype.getItemMenuActionsCore.call(this, model, question, row);\n var hasCategories = this.itemMenuCategoriesEnabled(model);\n var catActions = categories.map(function (c) {\n var catAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"tosubitemcategory-\" + c.category,\n title: c.title\n });\n if (c.items) {\n var itemsActions = c.items.filter(function (i) { var _a; return i.name != ((_a = row.value) === null || _a === void 0 ? void 0 : _a.name); }).map(function (i) { return new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"tosubitem-\" + i.name,\n title: i.title,\n action: function () {\n _this.moveToSubitems(model, question, row, i.name, true);\n }\n }); });\n _this.setSubitemsToAction(catAction, itemsActions);\n }\n return catAction;\n });\n var subItems = hasCategories ? catActions : catActions.map(function (a) { return a.items; }).flat();\n var rowDataIndex = question.visibleRows.indexOf(row);\n var rowData = question.value[rowDataIndex];\n if (!rowData[\"subitems\"]) {\n if (question.name == this.nameItems || question.name == this.nameInnerMatrix) {\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"subcategories\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.subitems\"),\n css: \"sps-list__item--label\",\n enabled: false,\n needSeparator: true\n }));\n actions.push(new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"convert-to-subcategory\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.enableSubitems\"),\n action: function () {\n var destination = hasCategories ? _this.getQuestionCategories(model) : _this.getQuestionItems(model);\n var destValue = JSON.parse(JSON.stringify(destination.value));\n var item = _this.findItem(destValue, rowData.name, hasCategories);\n if (item) {\n item.subitems = [];\n }\n destination.value = destValue;\n _this.updateMatrixRowActions(model, question);\n row.showDetailPanel();\n }\n }));\n }\n var subitemsAction = new survey_core__WEBPACK_IMPORTED_MODULE_0__.Action({\n id: \"move-as-subitem\",\n title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.getLocString)(\"presets.toolbox.moveAsSubitem\"),\n needSeparator: true\n });\n this.setSubitemsToAction(subitemsAction, subItems);\n actions.push(subitemsAction);\n }\n return actions;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getJsonValueCore = function (model, creator, defaultJson) {\n var res = {};\n var definition = this.getJsonItemsDefinition(model);\n if (definition) {\n res.definition = definition;\n }\n var mode = model.getValue(this.nameCategoriesMode);\n var toolbox = creator.toolbox;\n var toolboxCategories = defaultJson === null || defaultJson === void 0 ? void 0 : defaultJson.categories;\n if (mode === \"categories\") {\n var categories = this.getCategoriesJson(model);\n if (Array.isArray(categories) && categories.length > 0 && (!this.isCategoriesSame(categories, toolboxCategories))) {\n res.categories = this.getCategoriesJson(model);\n }\n }\n else {\n res.categories = [];\n }\n if (model.getValue(this.nameShowCategoryTitles)) {\n res.showCategoryTitles = true;\n }\n return Object.keys(res).length > 0 ? res : undefined;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getDefaultJsonValueCore = function (creator) {\n return {\n categories: creator.toolbox.categories.map(function (c) { return ({ category: c.name, title: c.title, items: c.items.map(function (i) { return i.name; }) }); })\n };\n };\n CreatorPresetEditableToolboxConfigurator.prototype.isCategoriesSame = function (categories, toolboxCategories) {\n if (categories.length !== toolboxCategories.length)\n return false;\n for (var i = 0; i < categories.length; i++) {\n if (categories[i].category !== toolboxCategories[i].category)\n return false;\n //if (categories[i].title !== toolboxCategories[i].title) return false;\n var toolboxItems = toolboxCategories[i].items;\n var categoryItems = categories[i].items;\n if (!survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(categoryItems, toolboxItems))\n return false;\n }\n return true;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getCategoriesJson = function (model) {\n var categories = model.getValue(this.nameCategories);\n if (!Array.isArray(categories))\n return undefined;\n return categories.map(function (c) { var _a; return ({ category: c.category, items: (_a = c.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.name; }) }); });\n };\n CreatorPresetEditableToolboxConfigurator.prototype.cleanIfNotDiffers = function (item, defaultItem) {\n if (!defaultItem)\n return true;\n var differs = false;\n Object.keys((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, item), defaultItem)).forEach(function (key) {\n if (!survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(item[key], defaultItem[key])) {\n differs = true;\n return;\n }\n if (key !== \"name\")\n delete item[key];\n });\n return differs;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getJsonItemsDefinition = function (model) {\n var _this = this;\n var mode = model.getValue(this.nameCategoriesMode);\n var itemsRaw = (mode === \"items\") ? model.getValue(this.nameItems) : (model.getValue(this.nameCategories) || []).map(function (c) { return c.items; }).flat();\n var items = (itemsRaw || []).map(function (i) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, i)); });\n var differs = false;\n items.forEach(function (item) {\n var defaultItem = _this.defaultItems.filter(function (i) { return i.name == item.name; })[0];\n if (!item.subitems && (defaultItem === null || defaultItem === void 0 ? void 0 : defaultItem.subitems))\n item.subitems = [];\n if (_this.cleanIfNotDiffers(item, defaultItem))\n differs = true;\n });\n if (!differs && !survey_core__WEBPACK_IMPORTED_MODULE_0__.Helpers.isTwoValueEquals(items.map(function (i) { return i.name; }), this.defaultItems.map(function (i) { return i.name; })))\n differs = true;\n return differs ? items : undefined;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.isItemsMatrix = function (name) {\n return name === this.nameItems || name === this.nameSubitems || _super.prototype.isItemsMatrix.call(this, name);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.onMatrixRowRemoving = function (model, creator, options) {\n if (options.question.name == this.nameMatrix) {\n var mode = model.getValue(this.nameCategoriesMode);\n if (mode === \"items\") {\n this.restoreItems(this.getQuestionItems(model), options.question, options.rowIndex);\n }\n }\n _super.prototype.onMatrixRowRemoving.call(this, model, creator, options);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupOnCurrentPageCore = function (model, creator, active) {\n creator.toolbox.forceCompact = !active;\n creator.toolbox.isCompact = !active;\n if (creator.readOnly != active) {\n creator.setPropertyValue(\"readOnly\", active);\n }\n creator.toolbox.items.forEach(function (i) { return i.enabled = active; });\n creator.toolbox.enabled = active;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupQuestionsCore = function (model, creatorSetup) {\n _super.prototype.setupQuestionsCore.call(this, model, creatorSetup);\n this.setupDefaults(model, creatorSetup.creator);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setupDefaults = function (model, creator) {\n var _this = this;\n var toolboxDefaultItems = creator.toolbox.getDefaultItems([], true, true, true);\n var toolboxDefaultCategories = creator.toolbox.getDefaultCategories();\n this.defaultItems = toolboxDefaultItems.map(function (i) { return _this.createToolboxItemRow(i); });\n this.defaultSubitems = [];\n toolboxDefaultItems.forEach(function (i) {\n var _a;\n if (i.items) {\n (_a = _this.defaultSubitems).push.apply(_a, i.items.map(function (si) { return _this.createToolboxItemRow(si); }));\n }\n });\n this.defaultCategories = toolboxDefaultCategories.map(function (i) { return _this.createToolboxCategoryRow(i); });\n };\n // private isItemValuesEqual(a: Array<ICreatorPresetToolboxItem>, b: Array<ICreatorPresetToolboxItem>): boolean {\n // if (!a || !b || a.length !== b.length) return false;\n // for (let i = 0; i < a.length; i++) {\n // if (a[i].name !== b[i].name || a[i].title !== b[i].title) return false;\n // }\n // return true;\n // }\n // private updateRankingLocalizationName(question: QuestionMatrixDynamicModel): void {\n // question.choices.forEach(item => {\n // item.locText.localizationName = \"qt.\" + item.value;\n // });\n // }\n CreatorPresetEditableToolboxConfigurator.prototype.setupQuestionsValueCore = function (model, json, creator) {\n //this.setupQuestionsValueDefinition(model, json);\n var defaultItemsMap = this.defaultItems.reduce(function (acc, i) { acc[i.name] = i; return acc; }, {});\n var defaultCategoriesMap = this.defaultCategoriesMap;\n this.defaultItems.filter(function (i) { return i.subitems; }).map(function (i) { return i.subitems.forEach(function (si) { return defaultItemsMap[si.name] = si; }); });\n json = json || {};\n var itemsDefinition = (json[\"definition\"] || []).map(function (i) { return typeof i === \"string\" ? { name: i } : i; });\n var categoriesDefinition = json[\"categories\"] || [];\n if (itemsDefinition.length === 0) {\n itemsDefinition = this.defaultItems;\n }\n else {\n itemsDefinition = itemsDefinition.map(function (i) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, (defaultItemsMap[i.name] || {})), i)); });\n }\n var itemsMap = {};\n itemsDefinition.forEach(function (i) { return itemsMap[i.name] = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, i), { subitems: i.subitems && i.subitems.map(function (si) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, (defaultItemsMap[si.name] || {})), si)); }) }); });\n if (categoriesDefinition.length === 0) {\n categoriesDefinition = this.defaultCategories;\n }\n else {\n categoriesDefinition = categoriesDefinition.map(function (c) { return ((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, defaultCategoriesMap[c.category]), c), { items: c.items.map(function (i) { return itemsMap[i]; }).filter(function (i) { return !!i; }) })); });\n }\n //categories.filter((c: any) => c.properties).forEach((c: any) => c.properties.forEach((p: any) => delete itemsMap[p.name]));\n //Object.keys(itemsMap).map(key => itemsMap[key]);\n categoriesDefinition.filter(function (c) { return c.items; }).forEach(function (c) { return c.items.forEach(function (p) { return delete defaultItemsMap[p.name]; }); });\n var hiddenItems = this.defaultItems.filter(function (t) { return defaultItemsMap[t.name]; });\n model.setValue(this.nameMatrix, hiddenItems);\n model.setValue(this.nameCategories, categoriesDefinition);\n this.updateItemsFromCategories(model);\n this.updateShowCategoriesTitlesElements(model);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.onLocaleChangedCore = function (model, json, creator) {\n this.setupDefaults(model, creator);\n this.setupQuestionsValueCore(model, json, creator);\n };\n // private setupQuestionsValueDefinition(model: SurveyModel, json: any): void {\n // json = json || {};\n // const question = this.getMatrix(model);\n // const value = [];\n // const definition = json.definition || [];\n // definition.forEach(item => {\n // const val = {};\n // for (let key in item) {\n // val[key] = key === \"json\" ? JSON.stringify(item[key], null, 2) : item[key];\n // }\n // value.push(val);\n // });\n // question.value = value;\n // }\n CreatorPresetEditableToolboxConfigurator.prototype.updateItemsFromCategories = function (model) {\n this.getQuestionItems(model).value = this.getQuestionCategories(model).value.map(function (r) { return (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], (r.items || []), true); }).flat();\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateCategoriesFromItems = function (model) {\n var _this = this;\n var categories = this.getQuestionCategories(model).value;\n var items = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], this.getQuestionItems(model).value, true);\n var itemsObject = items.reduce(function (acc, item) {\n acc[item.name] = item;\n return acc;\n }, {});\n categories.forEach(function (category) {\n category.items = category.items.map(function (item) {\n var res = itemsObject[item.name];\n delete itemsObject[item.name];\n return res;\n }).filter(function (i) { return !!i; });\n });\n var unsortedNames = Object.keys(itemsObject);\n if (unsortedNames.length > 0) {\n var generalCategory = this.findOrCreateCategory(categories, \"general\");\n generalCategory.items = generalCategory.items.concat(unsortedNames.map(function (name) { return _this.createToolboxItemRow(itemsObject[name]); }));\n }\n this.getQuestionCategories(model).value = categories;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateOnValueChangedCore = function (model, name) {\n _super.prototype.updateOnValueChangedCore.call(this, model, name);\n if (name === this.nameCategoriesMode) {\n if (model.getValue(this.nameCategoriesMode) == \"items\") {\n this.updateItemsFromCategories(model);\n }\n else {\n this.updateCategoriesFromItems(model);\n }\n }\n if (name === this.nameShowCategoryTitles) {\n this.updateShowCategoriesTitlesElements(model);\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.updateShowCategoriesTitlesElements = function (model) {\n var _this = this;\n var val = model.getValue(this.nameShowCategoryTitles) === true;\n var matrix = this.getQuestionCategories(model);\n matrix.visibleRows.forEach(function (row) {\n var category = row.getValue(\"category\");\n var defaultTitle = _this.getCategoryTitle(category);\n if (!!defaultTitle) {\n row.getQuestionByName(\"category\").readOnly = true;\n }\n var titleQuestion = row.getQuestionByName(\"title\");\n if (titleQuestion.isEmpty()) {\n titleQuestion.value = defaultTitle;\n }\n });\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getCategoryTitle = function (name) {\n return survey_creator_core__WEBPACK_IMPORTED_MODULE_2__.editorLocalization.getString(LocCategoriesName + \".\" + name);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.setJsonLocalizationStringsCore = function (model, locStrs) {\n function updateTextFromQuestion(matrix, locStrs) {\n if (!matrix)\n return;\n var rows = matrix.visibleRows;\n rows.forEach(function (r) {\n _presets_editable_base__WEBPACK_IMPORTED_MODULE_1__.CreatorPresetEditableBase.updateModifiedText(locStrs, r.getValue(\"title\"), \"qt.\" + r.getValue(\"name\"));\n });\n }\n updateTextFromQuestion(this.getQuestionItems(model), locStrs);\n var matrix = this.getQuestionCategories(model);\n var defaultCategoriesMap = this.defaultCategoriesMap;\n if (matrix.isVisible) {\n matrix.visibleRows.forEach(function (row) {\n var _a;\n var category = row.getValue(\"category\");\n if (row.getValue(\"title\") !== ((_a = defaultCategoriesMap[category]) === null || _a === void 0 ? void 0 : _a.title)) {\n if (!locStrs[LocCategoriesName]) {\n locStrs[LocCategoriesName] = {};\n }\n locStrs[LocCategoriesName][category] = row.getValue(\"title\");\n }\n updateTextFromQuestion(row.getQuestionByName(\"items\"), locStrs);\n });\n }\n };\n CreatorPresetEditableToolboxConfigurator.prototype.getQuestionItems = function (model) {\n return model.getQuestionByName(this.nameItems);\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createToolboxItemRow = function (item) {\n var _this = this;\n var _a;\n var obj = {\n name: item.name,\n title: item.title,\n iconName: item.iconName,\n tooltip: item.tooltip,\n json: item.json,\n subitems: (_a = item.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return _this.createToolboxItemRow(i); })\n };\n for (var key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n };\n CreatorPresetEditableToolboxConfigurator.prototype.createToolboxCategoryRow = function (item) {\n var _this = this;\n var _a;\n var obj = {\n category: item.name,\n title: item.title,\n items: (_a = item.items) === null || _a === void 0 ? void 0 : _a.map(function (i) { return _this.createToolboxItemRow(i); })\n };\n for (var key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n };\n return CreatorPresetEditableToolboxConfigurator;\n}(_presets_editable_categorized__WEBPACK_IMPORTED_MODULE_3__.CreatorPresetEditableCaregorizedListConfigurator));\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9wcmVzZXRzLWVkaXRhYmxlLXRvb2xib3gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQW9KO0FBQ3JEO0FBQzBDO0FBRXZDO0FBR2xHLElBQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFFOUMsU0FBUyxtQkFBbUIsQ0FBRSxNQUFNO0lBQ2xDLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN2QyxJQUFNLEdBQUcsR0FBRyxtREFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFDRCx3REFBZSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUM5RTtJQUE4RCxtR0FBZ0Q7SUFBOUc7O0lBa2pCQSxDQUFDO0lBL2lCUyx3RUFBcUIsR0FBN0IsVUFBOEIsS0FBVSxFQUFFLFdBQW9CO1FBQzVELElBQU0sV0FBVyxHQUFHO1lBQ2xCLElBQUksRUFBRSxlQUFlO1lBQ3JCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsZUFBZSxFQUFFLElBQUk7WUFDckIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSztZQUNuQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxNQUFNLEVBQUUsTUFBTTtvQkFDZCxPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFDRDtvQkFDRSxNQUFNLEVBQUUsT0FBTztpQkFDaEI7YUFDRjtZQUNELGVBQWUsRUFBRSxVQUFVO1lBQzNCLGNBQWMs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cmVzZXRzLy4vc3JjL3ByZXNldHMvcHJlc2V0cy1lZGl0YWJsZS10b29sYm94LnRzPzA0NTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBGdW5jdGlvbkZhY3RvcnksIEhlbHBlcnMsIElBY3Rpb24sIE1hdHJpeER5bmFtaWNSb3dNb2RlbCwgUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIFNlcmlhbGl6ZXIsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yUHJlc2V0RWRpdGFibGVCYXNlLCBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwIH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0YWJsZS1iYXNlXCI7XG5pbXBvcnQgeyBRdWVzdGlvblRvb2xib3hDYXRlZ29yeSwgUXVlc3Rpb25Ub29sYm94SXRlbSwgU3VydmV5Q3JlYXRvck1vZGVsLCBlZGl0b3JMb2NhbGl6YXRpb24sIGdldExvY1N0cmluZyB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JQcmVzZXRFZGl0YWJsZUNhcmVnb3JpemVkTGlzdENvbmZpZ3VyYXRvciB9IGZyb20gXCIuL3ByZXNldHMtZWRpdGFibGUtY2F0ZWdvcml6ZWRcIjtcbmltcG9ydCB7IGxpc3RDb21wb25lbnRDc3MgfSBmcm9tIFwiLi9wcmVzZXRzLXRoZW1lL2xpc3QtdGhlbWVcIjtcblxuY29uc3QgTG9jQ2F0ZWdvcmllc05hbWUgPSBcInRvb2xib3hDYXRlZ29yaWVzXCI7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVG9vbGJveEpzb24gKHBhcmFtcykge1xuICBjb25zdCB2YWx1ZSA9IHBhcmFtc1swXTtcbiAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUudHlwZSkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IG9iaiA9IFNlcmlhbGl6ZXIuY3JlYXRlQ2xhc3ModmFsdWUudHlwZSwgdmFsdWUpO1xuICByZXR1cm4gISFvYmo7XG59XG5GdW5jdGlvbkZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXIoXCJ2YWxpZGF0ZVRvb2xib3hKc29uXCIsIHZhbGlkYXRlVG9vbGJveEpzb24pO1xuZXhwb3J0IGNsYXNzIENyZWF0b3JQcmVzZXRFZGl0YWJsZVRvb2xib3hDb25maWd1cmF0b3IgZXh0ZW5kcyBDcmVhdG9yUHJlc2V0RWRpdGFibGVDYXJlZ29yaXplZExpc3RDb25maWd1cmF0b3Ige1xuICBwcml2YXRlIGFsbEl0ZW1zOiBJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtW107XG4gIHByb3RlY3RlZCBkZWZhdWx0U3ViaXRlbXM6IGFueTtcbiAgcHJpdmF0ZSBjcmVhdGVJdGVtc01hdHJpeEpTT04ocHJvcHM6IGFueSwgYWRkU3ViaXRlbXM6IGJvb2xlYW4pOiBhbnkge1xuICAgIGNvbnN0IGRlZmF1bHRKU09OID0ge1xuICAgICAgdHlwZTogXCJtYXRyaXhkeW5hbWljXCIsXG4gICAgICBuYW1lOiBcIml0ZW1zXCIsXG4gICAgICB0aXRsZTogXCJUb29sYm94XCIsXG4gICAgICBhbGxvd1Jvd1Jlb3JkZXI6IHRydWUsXG4gICAgICBjZWxsVHlwZTogXCJ0ZXh0XCIsXG4gICAgICBzaG93SGVhZGVyOiBmYWxzZSxcbiAgICAgIHJvd0NvdW50OiAwLFxuICAgICAgYWxsb3dBZGRSb3dzOiBmYWxzZSxcbiAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcInRvcFwiLFxuICAgICAgY29sdW1uczogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibmFtZVwiLFxuICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0aXRsZVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBkZXRhaWxQYW5lbE1vZGU6IFwidW5kZXJSb3dcIixcbiAgICAgIGRldGFpbEVsZW1lbnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcInR5cGVcIjogXCJwYW5lbFwiLFxuICAgICAgICAgIFwibmFtZVwiOiBcImRldGFpbHNcIixcbiAgICAgICAgICBcIm1heFdpZHRoXCI6IFwiMzAlXCIsXG4gICAgICAgICAgXCJlbGVtZW50c1wiOiBbXG4gICAgICAgICAgICB7IHR5cGU6IFwidGV4dFwiLCBuYW1lOiBcIm5hbWVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5jYXRlZ29yeU5hbWVcIiksIGlzVW5pcXVlOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSwgaXNSZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJ0aXRsZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmNhdGVnb3J5VGl0bGVcIiksIHZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgICAgICB7IHR5cGU6IFwiZHJvcGRvd25cIiwgbmFtZTogXCJpY29uTmFtZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94Lmljb25OYW1lXCIpLCBpdGVtQ29tcG9uZW50OiBcInN2Yy1wcmVzZXRzLWljb24taXRlbVwiLCBcImFsbG93Q3VzdG9tQ2hvaWNlc1wiOiB0cnVlLCBjaG9pY2VzOiB0aGlzLmljb25MaXN0LCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgeyB0eXBlOiBcInRleHRcIiwgbmFtZTogXCJ0b29sdGlwXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbHRpcFwiKSwgdmlzaWJsZTogZmFsc2UgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInByZXNldGpzb25cIixcbiAgICAgICAgICBuYW1lOiBcImpzb25cIixcbiAgICAgICAgICBzdGFydFdpdGhOZXdMaW5lOiBmYWxzZSxcbiAgICAgICAgICByZW5kZXJBczogXCJkZWZhdWx0LWNvbW1lbnRcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94Lmpzb25PYmplY3RcIiksXG4gICAgICAgICAgdmFsaWRhdG9yczogW3tcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgdGV4dDogXCJKU09OIHNob3VsZCBiZSBjb3JyZWN0XCIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInZhbGlkYXRlVG9vbGJveEpzb24oe2pzb259KVwiXG4gICAgICAgICAgfV0sXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgbmV3SnNvbiA9IHsgLi4uZGVmYXVsdEpTT04sIC4uLnByb3BzIH07XG4gICAgaWYgKGFkZFN1Yml0ZW1zKSB7XG4gICAgICBuZXdKc29uLmRldGFpbEVsZW1lbnRzLnB1c2godGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgIGFkZFJvd1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5hZGROZXdTdWJpdGVtXCIpLFxuICAgICAgICBhZGRSb3dCdXR0b25Mb2NhdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lU3ViaXRlbXMsXG4gICAgICAgIHZhbHVlTmFtZTogXCJzdWJpdGVtc1wiLFxuICAgICAgICB0aXRsZUxvY2F0aW9uOiBcImhpZGRlblwiLFxuICAgICAgICBzdGFydFdpdGhOZXdMaW5lOiBmYWxzZVxuICAgICAgfSwgZmFsc2UpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0pzb247XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlTWFpblBhZ2VDb3JlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudGl0bGVcIiksXG4gICAgICBkZXNjcmlwdGlvbjogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmRlc2NyaXB0aW9uXCIpLFxuICAgICAgbmF2aWdhdGlvblRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubmF2aWdhdGlvblRpdGxlXCIpLFxuICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicGFuZWxcIixcbiAgICAgICAgICBuYW1lOiB0aGlzLm1haW5QYW5lbE5hbWUsXG4gICAgICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJtYXRyaXhkeW5hbWljXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZUNhdGVnb3JpZXMsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbGJveFwiKSxcbiAgICAgICAgICAgICAgdmlzaWJsZUlmOiB0aGlzLmdldFRleHRWaXNpYmxlSWYodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsIFwiY2F0ZWdvcmllc1wiKSxcbiAgICAgICAgICAgICAgYWxsb3dSb3dSZW9yZGVyOiB0cnVlLFxuICAgICAgICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgICAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcInRvcFwiLFxuICAgICAgICAgICAgICBub1Jvd3NUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubm9DYXRlZ29yaWVzVGV4dFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93VGV4dDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmFkZEN1c3RvbUNhdGVnb3J5XCIpLFxuICAgICAgICAgICAgICBzaG93SGVhZGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgY29sdW1uczogW1xuICAgICAgICAgICAgICAgIHsgY2VsbFR5cGU6IFwidGV4dFwiLCBuYW1lOiBcImNhdGVnb3J5XCIsIGlzVW5pcXVlOiB0cnVlLCBpc1JlcXVpcmVkOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgY2VsbFR5cGU6IFwidGV4dFwiLCBuYW1lOiBcInRpdGxlXCIgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBkZXRhaWxQYW5lbE1vZGU6IFwidW5kZXJSb3dcIixcbiAgICAgICAgICAgICAgZGV0YWlsRWxlbWVudHM6IFtcbiAgICAgICAgICAgICAgICB7IHR5cGU6IFwidGV4dFwiLCBuYW1lOiBcImNhdGVnb3J5XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guY2F0ZWdvcnlOYW1lXCIpLCBpc1JlcXVpcmVkOiB0cnVlLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIG5hbWU6IFwidGl0bGVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5jYXRlZ29yeVRpdGxlXCIpLCB2aXNpYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIG5hbWU6IFwidG9vbHRpcFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LnRvb2x0aXBcIiksIHZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lSW5uZXJNYXRyaXgsXG4gICAgICAgICAgICAgICAgICB0aXRsZUxvY2F0aW9uOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgICAgYWxsb3dBZGRSb3dzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYWRkUm93QnV0dG9uTG9jYXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgICAgICAgICAgICBub1Jvd3NUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gubm9JdGVtc1RleHRcIiksXG4gICAgICAgICAgICAgICAgICBhZGRSb3dUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guYWRkTmV3SXRlbVwiKSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlTmFtZTogXCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSlcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSXRlbXNNYXRyaXhKU09OKHtcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lSXRlbXMsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3gudG9vbGJveFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93QnV0dG9uTG9jYXRpb246IFwidG9wXCIsXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5ub0l0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgYWRkUm93VGV4dDogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmFkZEN1c3RvbUl0ZW1cIiksXG4gICAgICAgICAgICAgIHN0YXJ0V2l0aE5ld0xpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICB2aXNpYmxlSWY6IHRoaXMuZ2V0VGV4dFZpc2libGVJZih0aGlzLm5hbWVDYXRlZ29yaWVzTW9kZSwgXCJpdGVtc1wiKSxcbiAgICAgICAgICAgIH0sIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtc01hdHJpeEpTT04oe1xuICAgICAgICAgICAgICBhbGxvd0FkZFJvd3M6IHRydWUsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guaGlkZGVuSXRlbXNcIiksXG4gICAgICAgICAgICAgIG5vUm93c1RleHQ6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5ub0hpZGRlbkl0ZW1zVGV4dFwiKSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25Mb2NhdGlvbjogXCJ1bmRlcklucHV0XCIsXG4gICAgICAgICAgICAgIGFkZFJvd0J1dHRvbkxvY2F0aW9uOiBcImJvdHRvbVwiLFxuICAgICAgICAgICAgICBhZGRSb3dUZXh0OiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guYWRkTmV3SXRlbVwiKSxcbiAgICAgICAgICAgICAgc3RhcnRXaXRoTmV3TGluZTogZmFsc2UsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZU1hdHJpeFxuICAgICAgICAgICAgfSwgdHJ1ZSldXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInBhbmVsXCIsXG4gICAgICAgICAgdGl0bGU6IFwiIFwiLFxuICAgICAgICAgIG5hbWU6IHRoaXMubmF2aWdhdGlvblBhbmVsTmFtZSxcbiAgICAgICAgICBlbGVtZW50czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsXG4gICAgICAgICAgICAgIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnRvb2xib3guZW5hYmxlR3JvdXBpbmdcIiksXG4gICAgICAgICAgICAgIHRpdGxlTG9jYXRpb246IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgICAgICAgICAgIHZhbHVlVHJ1ZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgICAgICAgICAgIHZhbHVlRmFsc2U6IFwiaXRlbXNcIixcbiAgICAgICAgICAgICAgY2xlYXJJZkludmlzaWJsZTogXCJvbkhpZGRlblwiLFxuICAgICAgICAgICAgICByZW5kZXJBczogXCJzd2l0Y2hcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcyxcbiAgICAgICAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5zaG93Q2F0ZWdvcnlUaXRsZXNcIiksXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICAgICAgICAgIHVzZVRpdGxlQXNMYWJlbDogdHJ1ZSxcbiAgICAgICAgICAgICAgdmlzaWJsZUlmOiB0aGlzLmdldFRleHRWaXNpYmxlSWYodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUsIFwiY2F0ZWdvcmllc1wiKSxcbiAgICAgICAgICAgICAgY2xlYXJJZkludmlzaWJsZTogXCJvbkhpZGRlblwiLFxuICAgICAgICAgICAgICByZW5kZXJBczogXCJzd2l0Y2hcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBuYW1lQ2F0ZWdvcmllc01vZGUoKSB7IHJldHVybiB0aGlzLmZ1bGxQYXRoICsgXCJfbW9kZVwiOyB9XG4gIHByb3RlY3RlZCBnZXQgbmFtZUl0ZW1zKCkgeyByZXR1cm4gdGhpcy5mdWxsUGF0aCArIFwiX2l0ZW1zXCI7IH1cbiAgcHJvdGVjdGVkIGdldCBuYW1lU3ViaXRlbXMoKSB7IHJldHVybiBcInN1Yml0ZW1zXCI7IH1cbiAgcHJvdGVjdGVkIGdldCBuYW1lU2hvd0NhdGVnb3J5VGl0bGVzKCkgeyByZXR1cm4gdGhpcy5mdWxsUGF0aCArIFwiX3Nob3dDYXRlZ29yeVRpdGxlc1wiOyB9XG4gIHB1YmxpYyBnZXQgcXVlc3Rpb25OYW1lcygpIHtcbiAgICByZXR1cm4gW3RoaXMubmFtZUNhdGVnb3JpZXMsIHRoaXMubmFtZUl0ZW1zLCB0aGlzLm5hbWVNYXRyaXgsIHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcywgdGhpcy5uYW1lQ2F0ZWdvcmllc01vZGVdO1xuICB9XG4gIHByb3RlY3RlZCBoYXNJY29uKG5hbWU6IHN0cmluZykgeyByZXR1cm4gbmFtZSAhPT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyAmJiBuYW1lICE9PSB0aGlzLm5hbWVTdWJpdGVtczsgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SXRlbXMocXVlc3Rpb24/OiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCkge1xuICAgIHJldHVybiBxdWVzdGlvbj8ubmFtZSA9PT0gdGhpcy5uYW1lQ2F0ZWdvcmllcyA/IHRoaXMuZGVmYXVsdENhdGVnb3JpZXMgOiBbLi4udGhpcy5kZWZhdWx0SXRlbXMsIC4uLnRoaXMuZGVmYXVsdFN1Yml0ZW1zXTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVSb3dBY3Rpb24ocXVlc3Rpb246IFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsLCByb3c6IE1hdHJpeER5bmFtaWNSb3dNb2RlbCwgcm93RGF0YTogYW55LCBrZXlDb2x1bW46IHN0cmluZywgYWN0aW9uOiBJQWN0aW9uKSB7XG4gICAgc3VwZXIudXBkYXRlUm93QWN0aW9uKHF1ZXN0aW9uLCByb3csIHJvd0RhdGEsIGtleUNvbHVtbiwgYWN0aW9uKTtcbiAgICBpZiAoYWN0aW9uLmlkID09IFwic2hvdy1kZXRhaWxcIiAmJiBxdWVzdGlvbi5uYW1lICE9IHRoaXMubmFtZUNhdGVnb3JpZXMpIHtcbiAgICAgIGFjdGlvbi52aXNpYmxlID0gcm93LmlzRGV0YWlsUGFuZWxTaG93aW5nIHx8ICEhcm93RGF0YS5zdWJpdGVtcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRJdGVtKHZhbHVlOiBhbnksIGl0ZW1OYW1lOiBzdHJpbmcsIGhhc0NhdGVnb3JpZXM6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gaGFzQ2F0ZWdvcmllcyA/XG4gICAgICB2YWx1ZS5tYXAoYyA9PiBjLml0ZW1zLmZpbHRlcihpID0+IGkubmFtZSA9PSBpdGVtTmFtZSlbMF0pLmZpbHRlcihpID0+ICEhaSlbMF0gOlxuICAgICAgdmFsdWUuZmlsdGVyKGkgPT4gaS5uYW1lID09IGl0ZW1OYW1lKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZVRvU3ViaXRlbXMobW9kZWw6IFN1cnZleU1vZGVsLCBxdWVzdGlvbjogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwsIHJvdzogTWF0cml4RHluYW1pY1Jvd01vZGVsLCBpdGVtTmFtZTogc3RyaW5nLCByZW1vdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IHJvd0RhdGEgPSB0aGlzLmVqZWN0Um93RGF0YShxdWVzdGlvbiwgcm93LCByZW1vdmUpO1xuICAgIGNvbnN0IGhhc0NhdGVnb3JpZXMgPSB0aGlzLml0ZW1NZW51Q2F0ZWdvcmllc0VuYWJsZWQobW9kZWwpO1xuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gaGFzQ2F0ZWdvcmllcyA/IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKSA6IHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCk7XG4gICAgY29uc3QgZGVzdFZhbHVlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkZXN0aW5hdGlvbi52YWx1ZSkpO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRJdGVtKGRlc3RWYWx1ZSwgaXRlbU5hbWUsIGhhc0NhdGVnb3JpZXMpO1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBpZiAoIWl0ZW0uc3ViaXRlbXMpIGl0ZW0uc3ViaXRlbXMgPSBbXTtcbiAgICAgIGl0ZW0uc3ViaXRlbXMucHVzaChyb3dEYXRhKTtcbiAgICB9XG4gICAgZGVzdGluYXRpb24udmFsdWUgPSBkZXN0VmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RXhpc3RpbmdLZXlzKG1vZGVsOiBTdXJ2ZXlNb2RlbCwga2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdXBlckl0ZW1zID0gc3VwZXIuZ2V0RXhpc3RpbmdLZXlzKG1vZGVsLCBrZXkpO1xuICAgIGNvbnN0IGl0ZW1zID0gbW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lSXRlbXMpLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IHJvd3MgPSBbLi4uc3VwZXJJdGVtcywgLi4uaXRlbXNdO1xuICAgIGNvbnN0IHN1Yml0ZW1zID0gKHJvd3MubWFwKHIgPT4gci5zdWJpdGVtcyB8fCBbXSkgYXMgYW55KS5mbGF0KCk7XG4gICAgcmV0dXJuIFsuLi5yb3dzLCAuLi5zdWJpdGVtc107XG4gIH1cblxuICBwcm90ZWN0ZWQgaXRlbU1lbnVDYXRlZ29yaWVzRW5hYmxlZChtb2RlbDogU3VydmV5TW9kZWwpIHtcbiAgICByZXR1cm4gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpICE9PSBcIml0ZW1zXCI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SXRlbU1lbnVBY3Rpb25zQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgcm93OiBNYXRyaXhEeW5hbWljUm93TW9kZWwpIHtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpLnZhbHVlO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBzdXBlci5nZXRJdGVtTWVudUFjdGlvbnNDb3JlKG1vZGVsLCBxdWVzdGlvbiwgcm93KTtcbiAgICBjb25zdCBoYXNDYXRlZ29yaWVzID0gdGhpcy5pdGVtTWVudUNhdGVnb3JpZXNFbmFibGVkKG1vZGVsKTtcbiAgICBjb25zdCBjYXRBY3Rpb25zID0gY2F0ZWdvcmllcy5tYXAoKGM6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2F0QWN0aW9uID0gbmV3IEFjdGlvbih7XG4gICAgICAgIGlkOiBcInRvc3ViaXRlbWNhdGVnb3J5LVwiICsgYy5jYXRlZ29yeSxcbiAgICAgICAgdGl0bGU6IGMudGl0bGVcbiAgICAgIH0pO1xuICAgICAgaWYgKGMuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgaXRlbXNBY3Rpb25zID0gYy5pdGVtcy5maWx0ZXIoKGk6IGFueSkgPT4gaS5uYW1lICE9IHJvdy52YWx1ZT8ubmFtZSkubWFwKChpOiBhbnkpID0+IG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInRvc3ViaXRlbS1cIiArIGkubmFtZSxcbiAgICAgICAgICB0aXRsZTogaS50aXRsZSxcbiAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvU3ViaXRlbXMobW9kZWwsIHF1ZXN0aW9uLCByb3csIGkubmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc2V0U3ViaXRlbXNUb0FjdGlvbihjYXRBY3Rpb24sIGl0ZW1zQWN0aW9ucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2F0QWN0aW9uO1xuICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHN1Ykl0ZW1zID0gaGFzQ2F0ZWdvcmllcyA/IGNhdEFjdGlvbnMgOiBjYXRBY3Rpb25zLm1hcChhID0+IGEuaXRlbXMpLmZsYXQoKTtcbiAgICBjb25zdCByb3dEYXRhSW5kZXggPSBxdWVzdGlvbi52aXNpYmxlUm93cy5pbmRleE9mKHJvdyk7XG4gICAgY29uc3Qgcm93RGF0YSA9IHF1ZXN0aW9uLnZhbHVlW3Jvd0RhdGFJbmRleF07XG4gICAgaWYgKCFyb3dEYXRhW1wic3ViaXRlbXNcIl0pIHtcbiAgICAgIGlmIChxdWVzdGlvbi5uYW1lID09IHRoaXMubmFtZUl0ZW1zIHx8IHF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lSW5uZXJNYXRyaXgpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcInN1YmNhdGVnb3JpZXNcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LnN1Yml0ZW1zXCIpLFxuICAgICAgICAgIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIixcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICBuZWVkU2VwYXJhdG9yOiB0cnVlXG4gICAgICAgIH0pKTtcbiAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBBY3Rpb24oe1xuICAgICAgICAgIGlkOiBcImNvbnZlcnQtdG8tc3ViY2F0ZWdvcnlcIixcbiAgICAgICAgICB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy50b29sYm94LmVuYWJsZVN1Yml0ZW1zXCIpLFxuICAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBoYXNDYXRlZ29yaWVzID8gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpIDogdGhpcy5nZXRRdWVzdGlvbkl0ZW1zKG1vZGVsKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3RWYWx1ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGVzdGluYXRpb24udmFsdWUpKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRJdGVtKGRlc3RWYWx1ZSwgcm93RGF0YS5uYW1lLCBoYXNDYXRlZ29yaWVzKTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgIGl0ZW0uc3ViaXRlbXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLnZhbHVlID0gZGVzdFZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNYXRyaXhSb3dBY3Rpb25zKG1vZGVsLCBxdWVzdGlvbik7XG4gICAgICAgICAgICByb3cuc2hvd0RldGFpbFBhbmVsKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICBjb25zdCBzdWJpdGVtc0FjdGlvbiA9IG5ldyBBY3Rpb24oe1xuICAgICAgICBpZDogXCJtb3ZlLWFzLXN1Yml0ZW1cIixcbiAgICAgICAgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMudG9vbGJveC5tb3ZlQXNTdWJpdGVtXCIpLFxuICAgICAgICBuZWVkU2VwYXJhdG9yOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2V0U3ViaXRlbXNUb0FjdGlvbihzdWJpdGVtc0FjdGlvbiwgc3ViSXRlbXMpO1xuICAgICAgYWN0aW9ucy5wdXNoKHN1Yml0ZW1zQWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRKc29uVmFsdWVDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsLCBkZWZhdWx0SnNvbjogYW55KTogYW55IHtcbiAgICBjb25zdCByZXM6IGFueSA9IHt9O1xuICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzLmdldEpzb25JdGVtc0RlZmluaXRpb24obW9kZWwpO1xuICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICByZXMuZGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG4gICAgfVxuICAgIGNvbnN0IG1vZGUgPSBtb2RlbC5nZXRWYWx1ZSh0aGlzLm5hbWVDYXRlZ29yaWVzTW9kZSk7XG4gICAgY29uc3QgdG9vbGJveCA9IGNyZWF0b3IudG9vbGJveDtcbiAgICBjb25zdCB0b29sYm94Q2F0ZWdvcmllcyA9IGRlZmF1bHRKc29uPy5jYXRlZ29yaWVzO1xuICAgIGlmIChtb2RlID09PSBcImNhdGVnb3JpZXNcIikge1xuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuZ2V0Q2F0ZWdvcmllc0pzb24obW9kZWwpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2F0ZWdvcmllcykgJiYgY2F0ZWdvcmllcy5sZW5ndGggPiAwICYmICghdGhpcy5pc0NhdGVnb3JpZXNTYW1lKGNhdGVnb3JpZXMsIHRvb2xib3hDYXRlZ29yaWVzKSkpIHtcbiAgICAgICAgcmVzLmNhdGVnb3JpZXMgPSB0aGlzLmdldENhdGVnb3JpZXNKc29uKG1vZGVsKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLmNhdGVnb3JpZXMgPSBbXTtcbiAgICB9XG4gICAgaWYgKG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcykpIHtcbiAgICAgIHJlcy5zaG93Q2F0ZWdvcnlUaXRsZXMgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPiAwID8gcmVzIDogdW5kZWZpbmVkO1xuICB9XG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SnNvblZhbHVlQ29yZShjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yaWVzOiBjcmVhdG9yLnRvb2xib3guY2F0ZWdvcmllcy5tYXAoYyA9PiAoeyBjYXRlZ29yeTogYy5uYW1lLCB0aXRsZTogYy50aXRsZSwgaXRlbXM6IGMuaXRlbXMubWFwKGkgPT4gaS5uYW1lKSB9KSlcbiAgICB9O1xuICB9XG4gIHByaXZhdGUgaXNDYXRlZ29yaWVzU2FtZShjYXRlZ29yaWVzOiBhbnksIHRvb2xib3hDYXRlZ29yaWVzOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoY2F0ZWdvcmllcy5sZW5ndGggIT09IHRvb2xib3hDYXRlZ29yaWVzLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2F0ZWdvcmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGNhdGVnb3JpZXNbaV0uY2F0ZWdvcnkgIT09IHRvb2xib3hDYXRlZ29yaWVzW2ldLmNhdGVnb3J5KSByZXR1cm4gZmFsc2U7XG4gICAgICAvL2lmIChjYXRlZ29yaWVzW2ldLnRpdGxlICE9PSB0b29sYm94Q2F0ZWdvcmllc1tpXS50aXRsZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgdG9vbGJveEl0ZW1zID0gdG9vbGJveENhdGVnb3JpZXNbaV0uaXRlbXM7XG4gICAgICBjb25zdCBjYXRlZ29yeUl0ZW1zID0gY2F0ZWdvcmllc1tpXS5pdGVtcztcbiAgICAgIGlmICghSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKGNhdGVnb3J5SXRlbXMsIHRvb2xib3hJdGVtcykpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGdldENhdGVnb3JpZXNKc29uKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IGFueSB7XG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXMpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjYXRlZ29yaWVzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoYyA9PiAoeyBjYXRlZ29yeTogYy5jYXRlZ29yeSwgaXRlbXM6IGMuaXRlbXM/Lm1hcChpID0+IGkubmFtZSkgfSkpO1xuICB9XG4gIHByaXZhdGUgY2xlYW5JZk5vdERpZmZlcnMoaXRlbSwgZGVmYXVsdEl0ZW0pIHtcbiAgICBpZiAoIWRlZmF1bHRJdGVtKSByZXR1cm4gdHJ1ZTtcbiAgICBsZXQgZGlmZmVycyA9IGZhbHNlO1xuICAgIE9iamVjdC5rZXlzKHsgLi4uaXRlbSwgLi4uZGVmYXVsdEl0ZW0gfSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKCFIZWxwZXJzLmlzVHdvVmFsdWVFcXVhbHMoaXRlbVtrZXldLCBkZWZhdWx0SXRlbVtrZXldKSkge1xuICAgICAgICBkaWZmZXJzID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGtleSAhPT0gXCJuYW1lXCIpIGRlbGV0ZSBpdGVtW2tleV07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpZmZlcnM7XG4gIH1cbiAgcHJpdmF0ZSBnZXRKc29uSXRlbXNEZWZpbml0aW9uKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IGFueSB7XG4gICAgY29uc3QgbW9kZSA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXNNb2RlKTtcbiAgICBjb25zdCBpdGVtc1JhdyA9IChtb2RlID09PSBcIml0ZW1zXCIpID8gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lSXRlbXMpIDogKG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZUNhdGVnb3JpZXMpIHx8IFtdKS5tYXAoYyA9PiBjLml0ZW1zKS5mbGF0KCk7XG4gICAgY29uc3QgaXRlbXMgPSAoaXRlbXNSYXcgfHwgW10pLm1hcChpID0+ICh7IC4uLmkgfSkpO1xuICAgIGxldCBkaWZmZXJzID0gZmFsc2U7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRJdGVtID0gdGhpcy5kZWZhdWx0SXRlbXMuZmlsdGVyKGkgPT4gaS5uYW1lID09IGl0ZW0ubmFtZSlbMF07XG4gICAgICBpZiAoIWl0ZW0uc3ViaXRlbXMgJiYgZGVmYXVsdEl0ZW0/LnN1Yml0ZW1zKSBpdGVtLnN1Yml0ZW1zID0gW107XG4gICAgICBpZiAodGhpcy5jbGVhbklmTm90RGlmZmVycyhpdGVtLCBkZWZhdWx0SXRlbSkpIGRpZmZlcnMgPSB0cnVlO1xuICAgIH0pO1xuICAgIGlmICghZGlmZmVycyAmJiAhSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKGl0ZW1zLm1hcChpPT5pLm5hbWUpLCB0aGlzLmRlZmF1bHRJdGVtcy5tYXAoaT0+aS5uYW1lKSkpIGRpZmZlcnMgPSB0cnVlO1xuICAgIHJldHVybiBkaWZmZXJzID8gaXRlbXMgOiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJvdGVjdGVkIGlzSXRlbXNNYXRyaXgobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5hbWUgPT09IHRoaXMubmFtZUl0ZW1zIHx8IG5hbWUgPT09IHRoaXMubmFtZVN1Yml0ZW1zIHx8IHN1cGVyLmlzSXRlbXNNYXRyaXgobmFtZSk7XG4gIH1cbiAgcHVibGljIG9uTWF0cml4Um93UmVtb3ZpbmcobW9kZWw6IFN1cnZleU1vZGVsLCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwsIG9wdGlvbnM6IGFueSkge1xuICAgIGlmIChvcHRpb25zLnF1ZXN0aW9uLm5hbWUgPT0gdGhpcy5uYW1lTWF0cml4KSB7XG4gICAgICBjb25zdCBtb2RlID0gbW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpO1xuICAgICAgaWYgKG1vZGUgPT09IFwiaXRlbXNcIikge1xuICAgICAgICB0aGlzLnJlc3RvcmVJdGVtcyh0aGlzLmdldFF1ZXN0aW9uSXRlbXMobW9kZWwpLCBvcHRpb25zLnF1ZXN0aW9uLCBvcHRpb25zLnJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgc3VwZXIub25NYXRyaXhSb3dSZW1vdmluZyhtb2RlbCwgY3JlYXRvciwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBPbkN1cnJlbnRQYWdlQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCwgYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY3JlYXRvci50b29sYm94LmZvcmNlQ29tcGFjdCA9ICFhY3RpdmU7XG4gICAgY3JlYXRvci50b29sYm94LmlzQ29tcGFjdCA9ICFhY3RpdmU7XG4gICAgaWYgKGNyZWF0b3IucmVhZE9ubHkgIT0gYWN0aXZlKSB7XG4gICAgICBjcmVhdG9yLnNldFByb3BlcnR5VmFsdWUoXCJyZWFkT25seVwiLCBhY3RpdmUpO1xuICAgIH1cbiAgICBjcmVhdG9yLnRvb2xib3guaXRlbXMuZm9yRWFjaChpID0+IGkuZW5hYmxlZCA9IGFjdGl2ZSk7XG4gICAgY3JlYXRvci50b29sYm94LmVuYWJsZWQgPSBhY3RpdmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBRdWVzdGlvbnNDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwgY3JlYXRvclNldHVwOiBJQ3JlYXRvclByZXNldEVkaXRvclNldHVwKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0dXBRdWVzdGlvbnNDb3JlKG1vZGVsLCBjcmVhdG9yU2V0dXApO1xuICAgIHRoaXMuc2V0dXBEZWZhdWx0cyhtb2RlbCwgY3JlYXRvclNldHVwLmNyZWF0b3IpO1xuICB9XG4gIHByaXZhdGUgc2V0dXBEZWZhdWx0cyhtb2RlbDogU3VydmV5TW9kZWwsIGNyZWF0b3I6IFN1cnZleUNyZWF0b3JNb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2xib3hEZWZhdWx0SXRlbXMgPSBjcmVhdG9yLnRvb2xib3guZ2V0RGVmYXVsdEl0ZW1zKFtdLCB0cnVlLCB0cnVlLCB0cnVlKTtcbiAgICBjb25zdCB0b29sYm94RGVmYXVsdENhdGVnb3JpZXMgPSBjcmVhdG9yLnRvb2xib3guZ2V0RGVmYXVsdENhdGVnb3JpZXMoKTtcbiAgICB0aGlzLmRlZmF1bHRJdGVtcyA9IHRvb2xib3hEZWZhdWx0SXRlbXMubWFwKGkgPT4gdGhpcy5jcmVhdGVUb29sYm94SXRlbVJvdyhpKSk7XG4gICAgdGhpcy5kZWZhdWx0U3ViaXRlbXMgPSBbXTtcbiAgICB0b29sYm94RGVmYXVsdEl0ZW1zLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5pdGVtcykge1xuICAgICAgICB0aGlzLmRlZmF1bHRTdWJpdGVtcy5wdXNoKC4uLmkuaXRlbXMubWFwKHNpID0+IHRoaXMuY3JlYXRlVG9vbGJveEl0ZW1Sb3coc2kpKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5kZWZhdWx0Q2F0ZWdvcmllcyA9IHRvb2xib3hEZWZhdWx0Q2F0ZWdvcmllcy5tYXAoaSA9PiB0aGlzLmNyZWF0ZVRvb2xib3hDYXRlZ29yeVJvdyhpKSk7XG4gIH1cbiAgLy8gcHJpdmF0ZSBpc0l0ZW1WYWx1ZXNFcXVhbChhOiBBcnJheTxJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtPiwgYjogQXJyYXk8SUNyZWF0b3JQcmVzZXRUb29sYm94SXRlbT4pOiBib29sZWFuIHtcbiAgLy8gICBpZiAoIWEgfHwgIWIgfHwgYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBpZiAoYVtpXS5uYW1lICE9PSBiW2ldLm5hbWUgfHwgYVtpXS50aXRsZSAhPT0gYltpXS50aXRsZSkgcmV0dXJuIGZhbHNlO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdHJ1ZTtcbiAgLy8gfVxuICAvLyBwcml2YXRlIHVwZGF0ZVJhbmtpbmdMb2NhbGl6YXRpb25OYW1lKHF1ZXN0aW9uOiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCk6IHZvaWQge1xuICAvLyAgIHF1ZXN0aW9uLmNob2ljZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgLy8gICAgIGl0ZW0ubG9jVGV4dC5sb2NhbGl6YXRpb25OYW1lID0gXCJxdC5cIiArIGl0ZW0udmFsdWU7XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgcHJvdGVjdGVkIHNldHVwUXVlc3Rpb25zVmFsdWVDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwganNvbjogYW55LCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICAvL3RoaXMuc2V0dXBRdWVzdGlvbnNWYWx1ZURlZmluaXRpb24obW9kZWwsIGpzb24pO1xuICAgIGNvbnN0IGRlZmF1bHRJdGVtc01hcCA9IHRoaXMuZGVmYXVsdEl0ZW1zLnJlZHVjZSgoYWNjOiBhbnksIGk6IGFueSkgPT4geyBhY2NbaS5uYW1lXSA9IGk7IHJldHVybiBhY2M7IH0sIHt9KTtcbiAgICBjb25zdCBkZWZhdWx0Q2F0ZWdvcmllc01hcCA9IHRoaXMuZGVmYXVsdENhdGVnb3JpZXNNYXA7XG5cbiAgICB0aGlzLmRlZmF1bHRJdGVtcy5maWx0ZXIoaSA9PiBpLnN1Yml0ZW1zKS5tYXAoaSA9PiBpLnN1Yml0ZW1zLmZvckVhY2goc2kgPT4gZGVmYXVsdEl0ZW1zTWFwW3NpLm5hbWVdID0gc2kpKTtcblxuICAgIGpzb24gPSBqc29uIHx8IHt9O1xuICAgIGxldCBpdGVtc0RlZmluaXRpb24gPSAoanNvbltcImRlZmluaXRpb25cIl0gfHwgW10pLm1hcChpID0+IHR5cGVvZiBpID09PSBcInN0cmluZ1wiID8geyBuYW1lOiBpIH0gOiBpKTtcbiAgICBsZXQgY2F0ZWdvcmllc0RlZmluaXRpb24gPSBqc29uW1wiY2F0ZWdvcmllc1wiXSB8fCBbXTtcbiAgICBpZiAoaXRlbXNEZWZpbml0aW9uLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaXRlbXNEZWZpbml0aW9uID0gdGhpcy5kZWZhdWx0SXRlbXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1zRGVmaW5pdGlvbiA9IGl0ZW1zRGVmaW5pdGlvbi5tYXAoaSA9PiAoeyAuLi4oZGVmYXVsdEl0ZW1zTWFwW2kubmFtZV0gfHwge30pLCAuLi5pIH0pKTtcbiAgICB9XG4gICAgY29uc3QgaXRlbXNNYXA6IGFueSA9IHt9O1xuICAgIGl0ZW1zRGVmaW5pdGlvbi5mb3JFYWNoKChpOiBhbnkpID0+IGl0ZW1zTWFwW2kubmFtZV0gPSB7IC4uLmksIHN1Yml0ZW1zOiBpLnN1Yml0ZW1zICYmIGkuc3ViaXRlbXMubWFwKHNpID0+ICh7IC4uLihkZWZhdWx0SXRlbXNNYXBbc2kubmFtZV0gfHwge30pLCAuLi5zaSB9KSkgfSk7XG4gICAgaWYgKGNhdGVnb3JpZXNEZWZpbml0aW9uLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2F0ZWdvcmllc0RlZmluaXRpb24gPSB0aGlzLmRlZmF1bHRDYXRlZ29yaWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYXRlZ29yaWVzRGVmaW5pdGlvbiA9IGNhdGVnb3JpZXNEZWZpbml0aW9uLm1hcChjID0+ICh7XG4gICAgICAgIC4uLmRlZmF1bHRDYXRlZ29yaWVzTWFwW2MuY2F0ZWdvcnldLFxuICAgICAgICAuLi5jLFxuICAgICAgICAuLi57IGl0ZW1zOiBjLml0ZW1zLm1hcChpID0+IGl0ZW1zTWFwW2ldKS5maWx0ZXIoaSA9PiAhIWkpIH0gfSkpO1xuICAgIH1cblxuICAgIC8vY2F0ZWdvcmllcy5maWx0ZXIoKGM6IGFueSkgPT4gYy5wcm9wZXJ0aWVzKS5mb3JFYWNoKChjOiBhbnkpID0+IGMucHJvcGVydGllcy5mb3JFYWNoKChwOiBhbnkpID0+IGRlbGV0ZSBpdGVtc01hcFtwLm5hbWVdKSk7XG4gICAgLy9PYmplY3Qua2V5cyhpdGVtc01hcCkubWFwKGtleSA9PiBpdGVtc01hcFtrZXldKTtcbiAgICBjYXRlZ29yaWVzRGVmaW5pdGlvbi5maWx0ZXIoKGM6IGFueSkgPT4gYy5pdGVtcykuZm9yRWFjaCgoYzogYW55KSA9PiBjLml0ZW1zLmZvckVhY2goKHA6IGFueSkgPT4gZGVsZXRlIGRlZmF1bHRJdGVtc01hcFtwLm5hbWVdKSk7XG4gICAgY29uc3QgaGlkZGVuSXRlbXMgPSB0aGlzLmRlZmF1bHRJdGVtcy5maWx0ZXIodCA9PiBkZWZhdWx0SXRlbXNNYXBbdC5uYW1lXSk7XG5cbiAgICBtb2RlbC5zZXRWYWx1ZSh0aGlzLm5hbWVNYXRyaXgsIGhpZGRlbkl0ZW1zKTtcbiAgICBtb2RlbC5zZXRWYWx1ZSh0aGlzLm5hbWVDYXRlZ29yaWVzLCBjYXRlZ29yaWVzRGVmaW5pdGlvbik7XG4gICAgdGhpcy51cGRhdGVJdGVtc0Zyb21DYXRlZ29yaWVzKG1vZGVsKTtcbiAgICB0aGlzLnVwZGF0ZVNob3dDYXRlZ29yaWVzVGl0bGVzRWxlbWVudHMobW9kZWwpO1xuICB9XG4gIHByb3RlY3RlZCBvbkxvY2FsZUNoYW5nZWRDb3JlKG1vZGVsOiBTdXJ2ZXlNb2RlbCwganNvbjogYW55LCBjcmVhdG9yOiBTdXJ2ZXlDcmVhdG9yTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwRGVmYXVsdHMobW9kZWwsIGNyZWF0b3IpO1xuICAgIHRoaXMuc2V0dXBRdWVzdGlvbnNWYWx1ZUNvcmUobW9kZWwsIGpzb24sIGNyZWF0b3IpO1xuICB9XG4gIC8vIHByaXZhdGUgc2V0dXBRdWVzdGlvbnNWYWx1ZURlZmluaXRpb24obW9kZWw6IFN1cnZleU1vZGVsLCBqc29uOiBhbnkpOiB2b2lkIHtcbiAgLy8gICBqc29uID0ganNvbiB8fCB7fTtcbiAgLy8gICBjb25zdCBxdWVzdGlvbiA9IHRoaXMuZ2V0TWF0cml4KG1vZGVsKTtcbiAgLy8gICBjb25zdCB2YWx1ZSA9IFtdO1xuICAvLyAgIGNvbnN0IGRlZmluaXRpb24gPSBqc29uLmRlZmluaXRpb24gfHwgW107XG4gIC8vICAgZGVmaW5pdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAvLyAgICAgY29uc3QgdmFsID0ge307XG4gIC8vICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xuICAvLyAgICAgICB2YWxba2V5XSA9IGtleSA9PT0gXCJqc29uXCIgPyBKU09OLnN0cmluZ2lmeShpdGVtW2tleV0sIG51bGwsIDIpIDogaXRlbVtrZXldO1xuICAvLyAgICAgfVxuICAvLyAgICAgdmFsdWUucHVzaCh2YWwpO1xuICAvLyAgIH0pO1xuICAvLyAgIHF1ZXN0aW9uLnZhbHVlID0gdmFsdWU7XG4gIC8vIH1cbiAgcHJpdmF0ZSB1cGRhdGVJdGVtc0Zyb21DYXRlZ29yaWVzKG1vZGVsOiBTdXJ2ZXlNb2RlbCkge1xuICAgIHRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCkudmFsdWUgPSB0aGlzLmdldFF1ZXN0aW9uQ2F0ZWdvcmllcyhtb2RlbCkudmFsdWUubWFwKHIgPT4gWy4uLihyLml0ZW1zIHx8IFtdKV0pLmZsYXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2F0ZWdvcmllc0Zyb21JdGVtcyhtb2RlbDogU3VydmV5TW9kZWwpIHtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpLnZhbHVlO1xuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuZ2V0UXVlc3Rpb25JdGVtcyhtb2RlbCkudmFsdWVdO1xuICAgIGNvbnN0IGl0ZW1zT2JqZWN0ID0gaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjY1tpdGVtLm5hbWVdID0gaXRlbTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICAgIGNhdGVnb3JpZXMuZm9yRWFjaChjYXRlZ29yeSA9PiB7XG4gICAgICBjYXRlZ29yeS5pdGVtcyA9IGNhdGVnb3J5Lml0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgcmVzID0gaXRlbXNPYmplY3RbaXRlbS5uYW1lXTtcbiAgICAgICAgZGVsZXRlIGl0ZW1zT2JqZWN0W2l0ZW0ubmFtZV07XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgICB9KS5maWx0ZXIoaSA9PiAhIWkpO1xuICAgIH0pO1xuICAgIGNvbnN0IHVuc29ydGVkTmFtZXMgPSBPYmplY3Qua2V5cyhpdGVtc09iamVjdCk7XG4gICAgaWYgKHVuc29ydGVkTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IGdlbmVyYWxDYXRlZ29yeSA9IHRoaXMuZmluZE9yQ3JlYXRlQ2F0ZWdvcnkoY2F0ZWdvcmllcywgXCJnZW5lcmFsXCIpO1xuICAgICAgZ2VuZXJhbENhdGVnb3J5Lml0ZW1zID0gZ2VuZXJhbENhdGVnb3J5Lml0ZW1zLmNvbmNhdCh1bnNvcnRlZE5hbWVzLm1hcChuYW1lID0+IHRoaXMuY3JlYXRlVG9vbGJveEl0ZW1Sb3coaXRlbXNPYmplY3RbbmFtZV0pKSk7XG4gICAgfVxuICAgIHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKS52YWx1ZSA9IGNhdGVnb3JpZXM7XG4gIH1cbiAgcHJvdGVjdGVkIHVwZGF0ZU9uVmFsdWVDaGFuZ2VkQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZU9uVmFsdWVDaGFuZ2VkQ29yZShtb2RlbCwgbmFtZSk7XG4gICAgaWYgKG5hbWUgPT09IHRoaXMubmFtZUNhdGVnb3JpZXNNb2RlKSB7XG4gICAgICBpZiAobW9kZWwuZ2V0VmFsdWUodGhpcy5uYW1lQ2F0ZWdvcmllc01vZGUpID09IFwiaXRlbXNcIikge1xuICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1zRnJvbUNhdGVnb3JpZXMobW9kZWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGRhdGVDYXRlZ29yaWVzRnJvbUl0ZW1zKG1vZGVsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5hbWUgPT09IHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcykge1xuICAgICAgdGhpcy51cGRhdGVTaG93Q2F0ZWdvcmllc1RpdGxlc0VsZW1lbnRzKG1vZGVsKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSB1cGRhdGVTaG93Q2F0ZWdvcmllc1RpdGxlc0VsZW1lbnRzKG1vZGVsOiBTdXJ2ZXlNb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbCA9IG1vZGVsLmdldFZhbHVlKHRoaXMubmFtZVNob3dDYXRlZ29yeVRpdGxlcykgPT09IHRydWU7XG4gICAgY29uc3QgbWF0cml4ID0gdGhpcy5nZXRRdWVzdGlvbkNhdGVnb3JpZXMobW9kZWwpO1xuICAgIG1hdHJpeC52aXNpYmxlUm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IHJvdy5nZXRWYWx1ZShcImNhdGVnb3J5XCIpO1xuICAgICAgY29uc3QgZGVmYXVsdFRpdGxlID0gdGhpcy5nZXRDYXRlZ29yeVRpdGxlKGNhdGVnb3J5KTtcbiAgICAgIGlmICghIWRlZmF1bHRUaXRsZSkge1xuICAgICAgICByb3cuZ2V0UXVlc3Rpb25CeU5hbWUoXCJjYXRlZ29yeVwiKS5yZWFkT25seSA9IHRydWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0aXRsZVF1ZXN0aW9uID0gcm93LmdldFF1ZXN0aW9uQnlOYW1lKFwidGl0bGVcIik7XG4gICAgICBpZiAodGl0bGVRdWVzdGlvbi5pc0VtcHR5KCkpIHtcbiAgICAgICAgdGl0bGVRdWVzdGlvbi52YWx1ZSA9IGRlZmF1bHRUaXRsZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGdldENhdGVnb3J5VGl0bGUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWRpdG9yTG9jYWxpemF0aW9uLmdldFN0cmluZyhMb2NDYXRlZ29yaWVzTmFtZSArIFwiLlwiICsgbmFtZSk7XG4gIH1cbiAgcHJvdGVjdGVkIHNldEpzb25Mb2NhbGl6YXRpb25TdHJpbmdzQ29yZShtb2RlbDogU3VydmV5TW9kZWwsIGxvY1N0cnM6IGFueSk6IHZvaWQge1xuICAgIGZ1bmN0aW9uIHVwZGF0ZVRleHRGcm9tUXVlc3Rpb24obWF0cml4OiBRdWVzdGlvbk1hdHJpeER5bmFtaWNNb2RlbCwgbG9jU3RyczogYW55KSB7XG4gICAgICBpZiAoIW1hdHJpeCkgcmV0dXJuO1xuICAgICAgY29uc3Qgcm93cyA9IG1hdHJpeC52aXNpYmxlUm93cztcbiAgICAgIHJvd3MuZm9yRWFjaChyID0+IHtcbiAgICAgICAgQ3JlYXRvclByZXNldEVkaXRhYmxlQmFzZS51cGRhdGVNb2RpZmllZFRleHQobG9jU3Rycywgci5nZXRWYWx1ZShcInRpdGxlXCIpLCBcInF0LlwiICsgci5nZXRWYWx1ZShcIm5hbWVcIikpO1xuICAgICAgfSk7XG5cbiAgICB9XG4gICAgdXBkYXRlVGV4dEZyb21RdWVzdGlvbih0aGlzLmdldFF1ZXN0aW9uSXRlbXMobW9kZWwpLCBsb2NTdHJzKTtcblxuICAgIGNvbnN0IG1hdHJpeCA9IHRoaXMuZ2V0UXVlc3Rpb25DYXRlZ29yaWVzKG1vZGVsKTtcbiAgICBjb25zdCBkZWZhdWx0Q2F0ZWdvcmllc01hcCA9IHRoaXMuZGVmYXVsdENhdGVnb3JpZXNNYXA7XG4gICAgaWYgKG1hdHJpeC5pc1Zpc2libGUpIHtcbiAgICAgIG1hdHJpeC52aXNpYmxlUm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gcm93LmdldFZhbHVlKFwiY2F0ZWdvcnlcIik7XG4gICAgICAgIGlmIChyb3cuZ2V0VmFsdWUoXCJ0aXRsZVwiKSAhPT0gZGVmYXVsdENhdGVnb3JpZXNNYXBbY2F0ZWdvcnldPy50aXRsZSkge1xuICAgICAgICAgIGlmICghbG9jU3Ryc1tMb2NDYXRlZ29yaWVzTmFtZV0pIHtcbiAgICAgICAgICAgIGxvY1N0cnNbTG9jQ2F0ZWdvcmllc05hbWVdID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGxvY1N0cnNbTG9jQ2F0ZWdvcmllc05hbWVdW2NhdGVnb3J5XSA9IHJvdy5nZXRWYWx1ZShcInRpdGxlXCIpO1xuICAgICAgICB9XG4gICAgICAgIHVwZGF0ZVRleHRGcm9tUXVlc3Rpb24oPFF1ZXN0aW9uTWF0cml4RHluYW1pY01vZGVsPnJvdy5nZXRRdWVzdGlvbkJ5TmFtZShcIml0ZW1zXCIpLCBsb2NTdHJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldFF1ZXN0aW9uSXRlbXMobW9kZWw6IFN1cnZleU1vZGVsKTogUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwge1xuICAgIHJldHVybiA8UXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWw+bW9kZWwuZ2V0UXVlc3Rpb25CeU5hbWUodGhpcy5uYW1lSXRlbXMpO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlVG9vbGJveEl0ZW1Sb3coaXRlbTogUXVlc3Rpb25Ub29sYm94SXRlbSk6IElDcmVhdG9yUHJlc2V0VG9vbGJveEl0ZW0ge1xuICAgIGNvbnN0IG9iajpJQ3JlYXRvclByZXNldFRvb2xib3hJdGVtID0ge1xuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICBpY29uTmFtZTogaXRlbS5pY29uTmFtZSxcbiAgICAgIHRvb2x0aXA6IGl0ZW0udG9vbHRpcCxcbiAgICAgIGpzb246IGl0ZW0uanNvbixcbiAgICAgIHN1Yml0ZW1zOiBpdGVtLml0ZW1zPy5tYXAoaSA9PiB0aGlzLmNyZWF0ZVRvb2xib3hJdGVtUm93KGkpKVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmpba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZVRvb2xib3hDYXRlZ29yeVJvdyhpdGVtOiBRdWVzdGlvblRvb2xib3hDYXRlZ29yeSkge1xuICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgIGNhdGVnb3J5OiBpdGVtLm5hbWUsXG4gICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgIGl0ZW1zOiBpdGVtLml0ZW1zPy5tYXAoaSA9PiB0aGlzLmNyZWF0ZVRvb2xib3hJdGVtUm93KGkpKVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmpba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/presets/presets-editable-toolbox.ts\n");
180
180
 
181
181
  /***/ }),
182
182
 
@@ -196,7 +196,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
196
196
  \***************************************/
197
197
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
198
198
 
199
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TabPresetsPlugin: () => (/* binding */ TabPresetsPlugin)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _presets_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-editor */ \"./src/presets/presets-editor.ts\");\n/* harmony import */ var _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-theme/list-theme */ \"./src/presets/presets-theme/list-theme.ts\");\n/* harmony import */ var _default_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./default-settings */ \"./src/presets/default-settings/index.ts\");\n\n\n\n\n\n\nvar TabPresetsPlugin = /** @class */ (function () {\n function TabPresetsPlugin(creator) {\n var _this = this;\n this.creator = creator;\n this.currentPresetIndex = 0;\n this.saveToFileHandler = survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.saveToFileHandler;\n this.preventTabSwitch = function (_, options) {\n options.allow = false;\n };\n creator.addTab({ name: \"presets\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.presetsTab\"), plugin: this, iconName: TabPresetsPlugin.iconName });\n creator.tabs.filter(function (t) { return t.id == \"presets\"; })[0].css = \"svc-tabbed-menu-item-container--presets\";\n this.designerPlugin = creator.getPlugin(\"designer\");\n var settingsPage = this.creator.sidebar.getPageById(\"creatorTheme\");\n settingsPage.componentData.showPresets = function () { return _this.showPresets(); };\n settingsPage.componentName = \"svc-presets-property-grid\";\n this.toolboxCompact = creator.toolbox.forceCompact;\n }\n TabPresetsPlugin.prototype.showPresets = function () {\n this.activeTab = this.creator.activeTab;\n this.creator.activeTab = \"presets\";\n };\n TabPresetsPlugin.prototype.hidePresets = function () {\n this.creator.onActiveTabChanging.remove(this.preventTabSwitch);\n this.creator.activeTab = this.activeTab;\n };\n TabPresetsPlugin.prototype.confirmReset = function (onApply) {\n survey_core__WEBPACK_IMPORTED_MODULE_0__.settings.confirmActionAsync((0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetConfirmation\"), function (confirm) {\n if (confirm) {\n onApply();\n }\n }, {\n applyTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetConfirmationOk\"),\n locale: this.creator.locale,\n cssClass: \"sv-popup--confirm svc-creator-popup\"\n });\n };\n TabPresetsPlugin.prototype.activate = function () {\n var _this = this;\n var _a;\n this.creator.onActiveTabChanging.add(this.preventTabSwitch);\n this.model = new _presets_editor__WEBPACK_IMPORTED_MODULE_2__.CreatorPresetEditorModel({}, this.creator, this.defaultJson);\n this.defaultJson = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__assign)({}, this.model.defaultJson);\n if (this.currentValue) {\n this.model.model.data = this.currentValue;\n }\n this.designerPlugin.activateSidebar();\n this.model.model.onComplete.add(function () { return _this.hidePresets(); });\n //const presets = this.model?.model.editablePresets.map(p => <IAction>{ id: p.pageName, locTitleName: \"presets.\" + p.fullPath + \".navigationTitle\" });\n var presets = (_a = this.model) === null || _a === void 0 ? void 0 : _a.model.pages.map(function (p) { return ({ id: p.name, title: p.navigationTitle }); });\n var settingsAction;\n var keep = function (item) {\n settingsAction.popupModel.show();\n };\n var tools = [\n { id: \"save\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.save\"), markerIconName: \"check-24x24\", needSeparator: true, action: function () { return _this.hidePresets(); } }, //locTitleName: \"presets.plugin.save\"\n { id: \"defaultSettings\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.defaultSettings\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"basic\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.basic\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.basic; } },\n { id: \"advanced\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.advanced\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.advanced; } },\n { id: \"expert\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.expert\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.expert; } },\n { id: \"file\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.file\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"import\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.import\"), markerIconName: \"import-24x24\", action: function (item) { var _a; keep(item); (_a = _this.model) === null || _a === void 0 ? void 0 : _a.loadJsonFile(); } },\n { id: \"export\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.export\"), markerIconName: \"download-24x24\", action: function (item) { var _a; keep(item); (_a = _this.model) === null || _a === void 0 ? void 0 : _a.downloadJsonFile(); } },\n { id: \"edit\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.edit\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"reset-current\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetLanguages\"), action: function () { _this.confirmReset(function () { var _a; return (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(\"page_languages\"); }); } },\n { id: \"reset\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetAll\"), css: \"sps-list__item--alert\", action: function () { _this.confirmReset(function () { var _a; return (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(); }); } },\n ];\n presets.forEach(function (p) {\n p.action = function (item) {\n _this.presetsList.selectedItem = item;\n keep(item);\n _this.model.model.currentPage = _this.model.model.getPageByName(item.id);\n };\n });\n settingsAction = (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.createDropdownActionModel)({\n id: \"presets-menu\",\n tooltip: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.creatorPresets\"),\n iconName: \"navmenu-24x24\",\n css: \"sps-menu-floating-action\",\n action: function () {\n if (settingsAction.popupModel.isVisible) {\n setTimeout(function () { return settingsAction.popupModel.hide(); }, 1);\n }\n }\n }, {\n items: (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_5__.__spreadArray)([\n { id: \"creator-presets\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.creatorPresets\"), css: \"sps-list__item--label\", enabled: false }\n ], presets, true), tools, true),\n showPointer: false,\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n searchEnabled: false,\n cssClass: \"sps-popup-menu sps-popup-menu--always-on-top\",\n cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss,\n onHide: function () { settingsAction.iconName = \"navmenu-24x24\"; },\n onShow: function () { settingsAction.iconName = \"close-24x24\"; }\n }, this.model.model);\n var bottomActions = this.designerPlugin.tabControlModel.bottomToolbar.actions;\n bottomActions.forEach(function (a) { return a.visible = false; });\n bottomActions.unshift(settingsAction);\n this.presetsList = settingsAction.popupModel.contentComponentData.model;\n var resetCurrentAction = this.presetsList.getActionById(\"reset-current\");\n this.presetsList.selectedItem = this.presetsList.actions[0];\n this.model.model.onCurrentPageChanged.add(function (_, options) {\n _this.presetsList.selectedItem = _this.presetsList.actions[_this.model.model.currentPageNo + 1];\n resetCurrentAction.title = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetToDefaults\").replace(\"{0}\", _this.model.model.currentPage.navigationTitle);\n resetCurrentAction.action = function () { var _a; (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(_this.presetsList.selectedItem.id); };\n });\n setTimeout(function () {\n presets[_this.currentPresetIndex].action(presets[_this.currentPresetIndex]);\n }, 100);\n };\n TabPresetsPlugin.prototype.deactivate = function () {\n var _a, _b;\n this.creator.toolbox.forceCompact = this.toolboxCompact;\n this.currentValue = (_a = this.model) === null || _a === void 0 ? void 0 : _a.model.data;\n var bottomActions = this.designerPlugin.tabControlModel.bottomToolbar.actions;\n bottomActions.forEach(function (a) { return a.visible = true; });\n bottomActions.splice(0, 1);\n this.currentPresetIndex = ((_b = this.model) === null || _b === void 0 ? void 0 : _b.model.currentPageNo) || 0;\n if (this.model) {\n this.model.dispose();\n }\n this.model = undefined;\n return true;\n };\n TabPresetsPlugin.prototype.onLocaleChanged = function () {\n //this.presetsList.actions.forEach(a => a.locStrsChanged());\n if (this.model) {\n this.model.onLocaleChanged();\n }\n };\n TabPresetsPlugin.iconName = \"icon-settings\";\n return TabPresetsPlugin;\n}());\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcHJlc2V0cy9wcmVzZXRzLXBsdWdpbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQW1JO0FBQ3pCO0FBQzlDO0FBQ0U7QUFDRDtBQUM3RDtJQXNDRSwwQkFBb0IsT0FBMkI7UUFBL0MsaUJBUUM7UUFSbUIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFsQ3ZDLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQTRDeEIsc0JBQWlCLEdBQUcsa0VBQWlCLENBQUM7UUFFckMscUJBQWdCLEdBQUcsVUFBQyxDQUFDLEVBQUUsT0FBTztZQUNwQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUM7UUFiQSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDekksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBQyxJQUFJLFFBQUMsQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFqQixDQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLHlDQUF5QyxDQUFDO1FBQy9GLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsY0FBTSxZQUFJLENBQUMsV0FBVyxFQUFFLEVBQWxCLENBQWtCLENBQUM7UUFDbEUsWUFBWSxDQUFDLGFBQWEsR0FBRywyQkFBMkIsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3JELENBQUM7SUFsQ08sc0NBQVcsR0FBbkI7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sc0NBQVcsR0FBbkI7UUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFTyx1Q0FBWSxHQUFwQixVQUFxQixPQUFpQjtRQUNwQyxpREFBVyxDQUFDLGtCQUFrQixDQUFDLGlFQUFZLENBQUMsa0NBQWtDLENBQUMsRUFDN0UsVUFBQyxPQUFPO1lBQ04sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7UUFDSCxDQUFDLEVBQ0Q7WUFDRSxVQUFVLEVBQUUsaUVBQVksQ0FBQyxvQ0FBb0MsQ0FBQztZQUM5RCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNCLFFBQVEsRUFBRSxxQ0FBcUM7U0FDaEQsQ0FDRixDQUFDO0lBRUosQ0FBQztJQWtCTSxtQ0FBUSxHQUFmO1FBQUEsaUJBNkVDOztRQTVFQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUVBQXdCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxXQUFXLEdBQUcsb0RBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUUsQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGNBQU0sWUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFsQixDQUFrQixDQUFDLENBQUM7UUFFMUQsc0pBQXNKO1FBQ3RKLElBQU0sT0FBTyxHQUFHLFVBQUksQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQUMsSUFBSSxRQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBakQsQ0FBaUQsQ0FBQyxDQUFDO1FBQ3BHLElBQUksY0FBdUIsQ0FBQztRQUU1QixJQUFNLElBQUksR0FBRyxVQUFDLElBQWE7WUFDekIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUM7UUFDRixJQUFNLEtBQUssR0FBRztZQUNaLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBTSxZQUFJLENBQUMsV0FBVyxFQUFFLEVBQWxCLENBQWtCLEVBQUUsRUFBRSxxQ0FBcUM7WUFDdkwsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGlFQUFZLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ25KLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFDLElBQWEsSUFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxvREFBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFDLElBQWEsSUFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyx1REFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFDLElBQWEsSUFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxxREFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BJLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDN0gsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxpRUFBWSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBQyxJQUFhLFlBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBSSxDQUFDLEtBQUssMENBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxpRUFBWSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFDLElBQWEsWUFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFJLENBQUMsS0FBSywwQ0FBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUVBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDN0gsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxpRUFBWSxDQUFDLCtCQUErQixDQUFDLEVBQUUsTUFBTSxFQUFFLGNBQVEsS0FBSSxDQUFDLFlBQVksQ0FBQyxzQkFBSSxrQkFBSSxDQUFDLEtBQUssMENBQUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0SyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGlFQUFZLENBQUMseUJBQXlCLENBQUMsRUFBRSxHQUFHLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLGNBQVEsS0FBSSxDQUFDLFlBQVksQ0FBQyxzQkFBTSxrQkFBSSxDQUFDLEtBQUssMENBQUUsZUFBZSxFQUFFLElBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN6SyxDQUFDO1FBRUYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFDO1lBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxVQUFDLElBQUk7Z0JBQ2QsS0FBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ1gsS0FBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLEtBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxjQUFjLEdBQUcsc0VBQXlCLENBQUM7WUFDekMsRUFBRSxFQUFFLGNBQWM7WUFDbEIsT0FBTyxFQUFFLGlFQUFZLENBQUMsK0JBQStCLENBQUM7WUFDdEQsUUFBUSxFQUFFLGVBQWU7WUFDekIsR0FBRyxFQUFFLDBCQUEwQjtZQUMvQixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN4QyxVQUFVLENBQUMsY0FBTSxxQkFBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBaEMsQ0FBZ0MsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7U0FDRixFQUFFO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxpRUFBWSxDQUFDLCtCQUErQixDQUFDLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7ZUFDMUgsT0FBTyxTQUNQLEtBQUssT0FBQztZQUNYLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixRQUFRLEVBQUUsOENBQThDO1lBQ3hELFVBQVUsRUFBRSx1RUFBZ0I7WUFDNUIsTUFBTSxFQUFFLGNBQVEsY0FBYyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sRUFBRSxjQUFRLGNBQWMsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUMzRCxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNoRixhQUFhLENBQUMsT0FBTyxDQUFDLFdBQUMsSUFBSSxRQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO1FBQzlDLGFBQWEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztRQUN4RSxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxPQUFPO1lBQ25ELEtBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM3RixrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsaUVBQVksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxzQkFBUSxXQUFJLENBQUMsS0FBSywwQ0FBRSxlQUFlLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUM7WUFDVCxPQUFPLENBQUMsS0FBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFTSxxQ0FBVSxHQUFqQjs7UUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQUksQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDM0MsSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNoRixhQUFhLENBQUMsT0FBTyxDQUFDLFdBQUMsSUFBSSxRQUFDLENBQUMsT0FBTyxHQUFHLElBQUksRUFBaEIsQ0FBZ0IsQ0FBQyxDQUFDO1FBQzdDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFJLENBQUMsS0FBSywwQ0FBRSxLQUFLLENBQUMsYUFBYSxLQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLDBDQUFlLEdBQXRCO1FBQ0UsNERBQTREO1FBQzVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQXRKYSx5QkFBUSxHQUFHLGVBQWUsQ0FBQztJQXVKM0MsdUJBQUM7Q0FBQTtBQXpKNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TdXJ2ZXlDcmVhdG9yQ29yZVByZXNldHMvLi9zcmMvcHJlc2V0cy9wcmVzZXRzLXBsdWdpbi50cz8xYzIxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZURyb3Bkb3duQWN0aW9uTW9kZWwsIElBY3Rpb24sIExpc3RNb2RlbCwgc2V0dGluZ3MgYXMgbGliU2V0dGluZ3MsIEV2ZW50QmFzZSwgTG9jYWxpemFibGVTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IElDcmVhdG9yUGx1Z2luLCBTdXJ2ZXlDcmVhdG9yTW9kZWwsIHNhdmVUb0ZpbGVIYW5kbGVyLCBnZXRMb2NTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvclByZXNldEVkaXRvck1vZGVsIH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0b3JcIjtcbmltcG9ydCB7IGxpc3RDb21wb25lbnRDc3MgfSBmcm9tIFwiLi9wcmVzZXRzLXRoZW1lL2xpc3QtdGhlbWVcIjtcbmltcG9ydCB7IGJhc2ljLCBhZHZhbmNlZCwgZXhwZXJ0IH0gZnJvbSBcIi4vZGVmYXVsdC1zZXR0aW5nc1wiO1xuZXhwb3J0IGNsYXNzIFRhYlByZXNldHNQbHVnaW4gaW1wbGVtZW50cyBJQ3JlYXRvclBsdWdpbiB7XG4gIHB1YmxpYyBtb2RlbDogQ3JlYXRvclByZXNldEVkaXRvck1vZGVsO1xuICBwdWJsaWMgc3RhdGljIGljb25OYW1lID0gXCJpY29uLXNldHRpbmdzXCI7XG4gIHByaXZhdGUgYWN0aXZlVGFiO1xuICBwcml2YXRlIGN1cnJlbnRQcmVzZXRJbmRleCA9IDA7XG4gIHByaXZhdGUgY3VycmVudFZhbHVlO1xuICBwcml2YXRlIGRlc2lnbmVyUGx1Z2luO1xuICBwcml2YXRlIHRvb2xib3hDb21wYWN0O1xuICBwcml2YXRlIGRlZmF1bHRKc29uO1xuXG4gIHByaXZhdGUgcHJlc2V0c0xpc3Q6IExpc3RNb2RlbDtcblxuICBwcml2YXRlIHNob3dQcmVzZXRzKCkge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gdGhpcy5jcmVhdG9yLmFjdGl2ZVRhYjtcbiAgICB0aGlzLmNyZWF0b3IuYWN0aXZlVGFiID0gXCJwcmVzZXRzXCI7XG4gIH1cblxuICBwcml2YXRlIGhpZGVQcmVzZXRzKCkge1xuICAgIHRoaXMuY3JlYXRvci5vbkFjdGl2ZVRhYkNoYW5naW5nLnJlbW92ZSh0aGlzLnByZXZlbnRUYWJTd2l0Y2gpO1xuICAgIHRoaXMuY3JlYXRvci5hY3RpdmVUYWIgPSB0aGlzLmFjdGl2ZVRhYjtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlybVJlc2V0KG9uQXBwbHk6ICgpPT52b2lkKSB7XG4gICAgbGliU2V0dGluZ3MuY29uZmlybUFjdGlvbkFzeW5jKGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0Q29uZmlybWF0aW9uXCIpLFxuICAgICAgKGNvbmZpcm0pID0+IHtcbiAgICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgICBvbkFwcGx5KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFwcGx5VGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0Q29uZmlybWF0aW9uT2tcIiksXG4gICAgICAgIGxvY2FsZTogdGhpcy5jcmVhdG9yLmxvY2FsZSxcbiAgICAgICAgY3NzQ2xhc3M6IFwic3YtcG9wdXAtLWNvbmZpcm0gc3ZjLWNyZWF0b3ItcG9wdXBcIlxuICAgICAgfVxuICAgICk7XG5cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsKSB7XG4gICAgY3JlYXRvci5hZGRUYWIoeyBuYW1lOiBcInByZXNldHNcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnByZXNldHNUYWJcIiksIHBsdWdpbjogdGhpcywgaWNvbk5hbWU6IFRhYlByZXNldHNQbHVnaW4uaWNvbk5hbWUgfSk7XG4gICAgY3JlYXRvci50YWJzLmZpbHRlcih0ID0+IHQuaWQgPT0gXCJwcmVzZXRzXCIpWzBdLmNzcyA9IFwic3ZjLXRhYmJlZC1tZW51LWl0ZW0tY29udGFpbmVyLS1wcmVzZXRzXCI7XG4gICAgdGhpcy5kZXNpZ25lclBsdWdpbiA9IGNyZWF0b3IuZ2V0UGx1Z2luKFwiZGVzaWduZXJcIik7XG4gICAgY29uc3Qgc2V0dGluZ3NQYWdlID0gdGhpcy5jcmVhdG9yLnNpZGViYXIuZ2V0UGFnZUJ5SWQoXCJjcmVhdG9yVGhlbWVcIik7XG4gICAgc2V0dGluZ3NQYWdlLmNvbXBvbmVudERhdGEuc2hvd1ByZXNldHMgPSAoKSA9PiB0aGlzLnNob3dQcmVzZXRzKCk7XG4gICAgc2V0dGluZ3NQYWdlLmNvbXBvbmVudE5hbWUgPSBcInN2Yy1wcmVzZXRzLXByb3BlcnR5LWdyaWRcIjtcbiAgICB0aGlzLnRvb2xib3hDb21wYWN0ID0gY3JlYXRvci50b29sYm94LmZvcmNlQ29tcGFjdDtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlVG9GaWxlSGFuZGxlciA9IHNhdmVUb0ZpbGVIYW5kbGVyO1xuXG4gIHByaXZhdGUgcHJldmVudFRhYlN3aXRjaCA9IChfLCBvcHRpb25zKSA9PiB7XG4gICAgb3B0aW9ucy5hbGxvdyA9IGZhbHNlO1xuICB9O1xuXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0b3Iub25BY3RpdmVUYWJDaGFuZ2luZy5hZGQodGhpcy5wcmV2ZW50VGFiU3dpdGNoKTtcbiAgICB0aGlzLm1vZGVsID0gbmV3IENyZWF0b3JQcmVzZXRFZGl0b3JNb2RlbCh7fSwgdGhpcy5jcmVhdG9yLCB0aGlzLmRlZmF1bHRKc29uKTtcbiAgICB0aGlzLmRlZmF1bHRKc29uID0geyAuLi50aGlzLm1vZGVsLmRlZmF1bHRKc29uIH07XG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGVsLm1vZGVsLmRhdGEgPSB0aGlzLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgdGhpcy5kZXNpZ25lclBsdWdpbi5hY3RpdmF0ZVNpZGViYXIoKTtcbiAgICB0aGlzLm1vZGVsLm1vZGVsLm9uQ29tcGxldGUuYWRkKCgpID0+IHRoaXMuaGlkZVByZXNldHMoKSk7XG5cbiAgICAvL2NvbnN0IHByZXNldHMgPSB0aGlzLm1vZGVsPy5tb2RlbC5lZGl0YWJsZVByZXNldHMubWFwKHAgPT4gPElBY3Rpb24+eyBpZDogcC5wYWdlTmFtZSwgbG9jVGl0bGVOYW1lOiBcInByZXNldHMuXCIgKyBwLmZ1bGxQYXRoICsgXCIubmF2aWdhdGlvblRpdGxlXCIgfSk7XG4gICAgY29uc3QgcHJlc2V0cyA9IHRoaXMubW9kZWw/Lm1vZGVsLnBhZ2VzLm1hcChwID0+IDxJQWN0aW9uPnsgaWQ6IHAubmFtZSwgdGl0bGU6IHAubmF2aWdhdGlvblRpdGxlIH0pO1xuICAgIGxldCBzZXR0aW5nc0FjdGlvbjogSUFjdGlvbjtcblxuICAgIGNvbnN0IGtlZXAgPSAoaXRlbTogSUFjdGlvbikgPT4ge1xuICAgICAgc2V0dGluZ3NBY3Rpb24ucG9wdXBNb2RlbC5zaG93KCk7XG4gICAgfTtcbiAgICBjb25zdCB0b29scyA9IFtcbiAgICAgIHsgaWQ6IFwic2F2ZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uc2F2ZVwiKSwgbWFya2VySWNvbk5hbWU6IFwiY2hlY2stMjR4MjRcIiwgbmVlZFNlcGFyYXRvcjogdHJ1ZSwgYWN0aW9uOiAoKSA9PiB0aGlzLmhpZGVQcmVzZXRzKCkgfSwgLy9sb2NUaXRsZU5hbWU6IFwicHJlc2V0cy5wbHVnaW4uc2F2ZVwiXG4gICAgICB7IGlkOiBcImRlZmF1bHRTZXR0aW5nc1wiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uZGVmYXVsdFNldHRpbmdzXCIpLCBuZWVkU2VwYXJhdG9yOiB0cnVlLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IGlkOiBcImJhc2ljXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5iYXNpY1wiKSwgYWN0aW9uOiAoaXRlbTogSUFjdGlvbikgPT4geyBrZWVwKGl0ZW0pOyB0aGlzLm1vZGVsLmpzb24gPSBiYXNpYzsgfSB9LFxuICAgICAgeyBpZDogXCJhZHZhbmNlZFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uYWR2YW5jZWRcIiksIGFjdGlvbjogKGl0ZW06IElBY3Rpb24pID0+IHsga2VlcChpdGVtKTsgdGhpcy5tb2RlbC5qc29uID0gYWR2YW5jZWQ7IH0gfSxcbiAgICAgIHsgaWQ6IFwiZXhwZXJ0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5leHBlcnRcIiksIGFjdGlvbjogKGl0ZW06IElBY3Rpb24pID0+IHsga2VlcChpdGVtKTsgdGhpcy5tb2RlbC5qc29uID0gZXhwZXJ0OyB9IH0sXG4gICAgICB7IGlkOiBcImZpbGVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmZpbGVcIiksIG5lZWRTZXBhcmF0b3I6IHRydWUsIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIiwgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgIHsgaWQ6IFwiaW1wb3J0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5pbXBvcnRcIiksIG1hcmtlckljb25OYW1lOiBcImltcG9ydC0yNHgyNFwiLCBhY3Rpb246IChpdGVtOiBJQWN0aW9uKSA9PiB7IGtlZXAoaXRlbSk7IHRoaXMubW9kZWw/LmxvYWRKc29uRmlsZSgpOyB9IH0sXG4gICAgICB7IGlkOiBcImV4cG9ydFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uZXhwb3J0XCIpLCBtYXJrZXJJY29uTmFtZTogXCJkb3dubG9hZC0yNHgyNFwiLCBhY3Rpb246IChpdGVtOiBJQWN0aW9uKSA9PiB7IGtlZXAoaXRlbSk7IHRoaXMubW9kZWw/LmRvd25sb2FkSnNvbkZpbGUoKTsgfSB9LFxuICAgICAgeyBpZDogXCJlZGl0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5lZGl0XCIpLCBuZWVkU2VwYXJhdG9yOiB0cnVlLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IGlkOiBcInJlc2V0LWN1cnJlbnRcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0TGFuZ3VhZ2VzXCIpLCBhY3Rpb246ICgpID0+IHsgdGhpcy5jb25maXJtUmVzZXQoKCk9PnRoaXMubW9kZWw/LnJlc2V0VG9EZWZhdWx0cyhcInBhZ2VfbGFuZ3VhZ2VzXCIpKTsgfSB9LFxuICAgICAgeyBpZDogXCJyZXNldFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4ucmVzZXRBbGxcIiksIGNzczogXCJzcHMtbGlzdF9faXRlbS0tYWxlcnRcIiwgYWN0aW9uOiAoKSA9PiB7IHRoaXMuY29uZmlybVJlc2V0KCgpID0+IHRoaXMubW9kZWw/LnJlc2V0VG9EZWZhdWx0cygpKTsgfSB9LFxuICAgIF07XG5cbiAgICBwcmVzZXRzLmZvckVhY2gocCA9PiB7XG4gICAgICBwLmFjdGlvbiA9IChpdGVtKT0+e1xuICAgICAgICB0aGlzLnByZXNldHNMaXN0LnNlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgICAgIGtlZXAoaXRlbSk7XG4gICAgICAgIHRoaXMubW9kZWwubW9kZWwuY3VycmVudFBhZ2UgPSB0aGlzLm1vZGVsLm1vZGVsLmdldFBhZ2VCeU5hbWUoaXRlbS5pZCk7XG4gICAgICB9O1xuICAgIH0pO1xuICAgIHNldHRpbmdzQWN0aW9uID0gY3JlYXRlRHJvcGRvd25BY3Rpb25Nb2RlbCh7XG4gICAgICBpZDogXCJwcmVzZXRzLW1lbnVcIixcbiAgICAgIHRvb2x0aXA6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmNyZWF0b3JQcmVzZXRzXCIpLFxuICAgICAgaWNvbk5hbWU6IFwibmF2bWVudS0yNHgyNFwiLFxuICAgICAgY3NzOiBcInNwcy1tZW51LWZsb2F0aW5nLWFjdGlvblwiLFxuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIGlmIChzZXR0aW5nc0FjdGlvbi5wb3B1cE1vZGVsLmlzVmlzaWJsZSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0dGluZ3NBY3Rpb24ucG9wdXBNb2RlbC5oaWRlKCksIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwge1xuICAgICAgaXRlbXM6IFtcbiAgICAgICAgeyBpZDogXCJjcmVhdG9yLXByZXNldHNcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmNyZWF0b3JQcmVzZXRzXCIpLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIC4uLnByZXNldHMsXG4gICAgICAgIC4uLnRvb2xzXSxcbiAgICAgIHNob3dQb2ludGVyOiBmYWxzZSxcbiAgICAgIHZlcnRpY2FsUG9zaXRpb246IFwidG9wXCIsXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwiY2VudGVyXCIsXG4gICAgICBzZWFyY2hFbmFibGVkOiBmYWxzZSxcbiAgICAgIGNzc0NsYXNzOiBcInNwcy1wb3B1cC1tZW51IHNwcy1wb3B1cC1tZW51LS1hbHdheXMtb24tdG9wXCIsXG4gICAgICBjc3NDbGFzc2VzOiBsaXN0Q29tcG9uZW50Q3NzLFxuICAgICAgb25IaWRlOiAoKSA9PiB7IHNldHRpbmdzQWN0aW9uLmljb25OYW1lID0gXCJuYXZtZW51LTI0eDI0XCI7IH0sXG4gICAgICBvblNob3c6ICgpID0+IHsgc2V0dGluZ3NBY3Rpb24uaWNvbk5hbWUgPSBcImNsb3NlLTI0eDI0XCI7IH1cbiAgICB9LCB0aGlzLm1vZGVsLm1vZGVsKTtcbiAgICBjb25zdCBib3R0b21BY3Rpb25zID0gdGhpcy5kZXNpZ25lclBsdWdpbi50YWJDb250cm9sTW9kZWwuYm90dG9tVG9vbGJhci5hY3Rpb25zO1xuICAgIGJvdHRvbUFjdGlvbnMuZm9yRWFjaChhID0+IGEudmlzaWJsZSA9IGZhbHNlKTtcbiAgICBib3R0b21BY3Rpb25zLnVuc2hpZnQoc2V0dGluZ3NBY3Rpb24pO1xuICAgIHRoaXMucHJlc2V0c0xpc3QgPSBzZXR0aW5nc0FjdGlvbi5wb3B1cE1vZGVsLmNvbnRlbnRDb21wb25lbnREYXRhLm1vZGVsO1xuICAgIGNvbnN0IHJlc2V0Q3VycmVudEFjdGlvbiA9IHRoaXMucHJlc2V0c0xpc3QuZ2V0QWN0aW9uQnlJZChcInJlc2V0LWN1cnJlbnRcIik7XG4gICAgdGhpcy5wcmVzZXRzTGlzdC5zZWxlY3RlZEl0ZW0gPSB0aGlzLnByZXNldHNMaXN0LmFjdGlvbnNbMF07XG4gICAgdGhpcy5tb2RlbC5tb2RlbC5vbkN1cnJlbnRQYWdlQ2hhbmdlZC5hZGQoKF8sIG9wdGlvbnMpID0+IHtcbiAgICAgIHRoaXMucHJlc2V0c0xpc3Quc2VsZWN0ZWRJdGVtID0gdGhpcy5wcmVzZXRzTGlzdC5hY3Rpb25zW3RoaXMubW9kZWwubW9kZWwuY3VycmVudFBhZ2VObyArIDFdO1xuICAgICAgcmVzZXRDdXJyZW50QWN0aW9uLnRpdGxlID0gZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4ucmVzZXRUb0RlZmF1bHRzXCIpLnJlcGxhY2UoXCJ7MH1cIiwgdGhpcy5tb2RlbC5tb2RlbC5jdXJyZW50UGFnZS5uYXZpZ2F0aW9uVGl0bGUpO1xuICAgICAgcmVzZXRDdXJyZW50QWN0aW9uLmFjdGlvbiA9ICgpID0+IHsgdGhpcy5tb2RlbD8ucmVzZXRUb0RlZmF1bHRzKHRoaXMucHJlc2V0c0xpc3Quc2VsZWN0ZWRJdGVtLmlkKTsgfTtcbiAgICB9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcHJlc2V0c1t0aGlzLmN1cnJlbnRQcmVzZXRJbmRleF0uYWN0aW9uKHByZXNldHNbdGhpcy5jdXJyZW50UHJlc2V0SW5kZXhdKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jcmVhdG9yLnRvb2xib3guZm9yY2VDb21wYWN0ID0gdGhpcy50b29sYm94Q29tcGFjdDtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMubW9kZWw/Lm1vZGVsLmRhdGE7XG4gICAgY29uc3QgYm90dG9tQWN0aW9ucyA9IHRoaXMuZGVzaWduZXJQbHVnaW4udGFiQ29udHJvbE1vZGVsLmJvdHRvbVRvb2xiYXIuYWN0aW9ucztcbiAgICBib3R0b21BY3Rpb25zLmZvckVhY2goYSA9PiBhLnZpc2libGUgPSB0cnVlKTtcbiAgICBib3R0b21BY3Rpb25zLnNwbGljZSgwLCAxKTtcbiAgICB0aGlzLmN1cnJlbnRQcmVzZXRJbmRleCA9IHRoaXMubW9kZWw/Lm1vZGVsLmN1cnJlbnRQYWdlTm8gfHwgMDtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbC5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhbGVDaGFuZ2VkKCkge1xuICAgIC8vdGhpcy5wcmVzZXRzTGlzdC5hY3Rpb25zLmZvckVhY2goYSA9PiBhLmxvY1N0cnNDaGFuZ2VkKCkpO1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsLm9uTG9jYWxlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/presets/presets-plugin.ts\n");
199
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TabPresetsPlugin: () => (/* binding */ TabPresetsPlugin)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! survey-core */ \"survey-core\");\n/* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(survey_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-creator-core */ \"survey-creator-core\");\n/* harmony import */ var survey_creator_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(survey_creator_core__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _presets_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./presets-editor */ \"./src/presets/presets-editor.ts\");\n/* harmony import */ var _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./presets-theme/list-theme */ \"./src/presets/presets-theme/list-theme.ts\");\n/* harmony import */ var _default_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./default-settings */ \"./src/presets/default-settings/index.ts\");\n\n\n\n\n\n\nvar TabPresetsPlugin = /** @class */ (function () {\n function TabPresetsPlugin(creator) {\n var _this = this;\n this.creator = creator;\n this.currentPresetIndex = 0;\n this.saveToFileHandler = survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.saveToFileHandler;\n this.preventTabSwitch = function (_, options) {\n options.allow = false;\n };\n creator.addTab({ name: \"presets\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.presetsTab\"), plugin: this, iconName: TabPresetsPlugin.iconName });\n creator.tabs.filter(function (t) { return t.id == \"presets\"; })[0].css = \"svc-tabbed-menu-item-container--presets\";\n this.designerPlugin = creator.getPlugin(\"designer\");\n var settingsPage = this.creator.sidebar.getPageById(\"creatorTheme\");\n settingsPage.componentData.showPresets = function () { return _this.showPresets(); };\n settingsPage.componentName = \"svc-presets-property-grid\";\n this.toolboxCompact = creator.toolbox.forceCompact;\n }\n TabPresetsPlugin.prototype.showPresets = function () {\n this.activeTab = this.creator.activeTab;\n this.creator.activeTab = \"presets\";\n };\n TabPresetsPlugin.prototype.hidePresets = function () {\n this.creator.onActiveTabChanging.remove(this.preventTabSwitch);\n this.creator.activeTab = this.activeTab;\n };\n TabPresetsPlugin.prototype.confirmReset = function (onApply) {\n survey_core__WEBPACK_IMPORTED_MODULE_0__.settings.confirmActionAsync((0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetConfirmation\"), function (confirm) {\n if (confirm) {\n onApply();\n }\n }, {\n applyTitle: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetConfirmationOk\"),\n locale: this.creator.locale,\n cssClass: \"sv-popup--confirm svc-creator-popup\"\n });\n };\n TabPresetsPlugin.prototype.activate = function () {\n var _this = this;\n var _a;\n this.creator.onActiveTabChanging.add(this.preventTabSwitch);\n this.model = new _presets_editor__WEBPACK_IMPORTED_MODULE_2__.CreatorPresetEditorModel({}, this.creator, this.defaultJson);\n this.defaultJson = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__assign)({}, this.model.defaultJson);\n if (this.currentValue) {\n this.model.model.data = this.currentValue;\n }\n this.designerPlugin.activateSidebar();\n this.model.model.onComplete.add(function () { return _this.hidePresets(); });\n //const presets = this.model?.model.editablePresets.map(p => <IAction>{ id: p.pageName, locTitleName: \"presets.\" + p.fullPath + \".navigationTitle\" });\n var presets = (_a = this.model) === null || _a === void 0 ? void 0 : _a.model.pages.map(function (p) { return ({ id: p.name, title: p.navigationTitle }); });\n var settingsAction;\n var keep = function (item) {\n settingsAction.popupModel.show();\n };\n var tools = [\n { id: \"save\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.save\"), markerIconName: \"check-24x24\", needSeparator: true, action: function () { return _this.hidePresets(); } }, //locTitleName: \"presets.plugin.save\"\n { id: \"defaultSettings\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.defaultSettings\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"basic\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.basic\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.basic; } },\n { id: \"advanced\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.advanced\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.advanced; } },\n { id: \"expert\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.expert\"), action: function (item) { keep(item); _this.model.json = _default_settings__WEBPACK_IMPORTED_MODULE_4__.expert; } },\n { id: \"file\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.file\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"import\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.import\"), markerIconName: \"import-24x24\", action: function (item) { var _a; keep(item); (_a = _this.model) === null || _a === void 0 ? void 0 : _a.loadJsonFile(); } },\n { id: \"export\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.export\"), markerIconName: \"download-24x24\", action: function (item) { var _a; keep(item); (_a = _this.model) === null || _a === void 0 ? void 0 : _a.downloadJsonFile(); } },\n { id: \"edit\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.edit\"), needSeparator: true, css: \"sps-list__item--label\", enabled: false },\n { id: \"reset-current\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetLanguages\"), action: function () { _this.confirmReset(function () { var _a; return (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(\"page_languages\"); }); } },\n { id: \"reset\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetAll\"), css: \"sps-list__item--alert\", action: function () { _this.confirmReset(function () { var _a; return (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(); }); } },\n ];\n presets.forEach(function (p) {\n p.action = function (item) {\n _this.presetsList.selectedItem = item;\n keep(item);\n _this.model.model.currentPage = _this.model.model.getPageByName(item.id);\n };\n });\n settingsAction = (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.createDropdownActionModel)({\n id: \"presets-menu\",\n tooltip: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.creatorPresets\"),\n iconName: \"navmenu-24x24\",\n css: \"sps-menu-floating-action\",\n action: function () {\n if (settingsAction.popupModel.isVisible) {\n setTimeout(function () { return settingsAction.popupModel.hide(); }, 1);\n }\n }\n }, {\n items: (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__spreadArray)((0,tslib__WEBPACK_IMPORTED_MODULE_5__.__spreadArray)([\n { id: \"creator-presets\", title: (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.creatorPresets\"), css: \"sps-list__item--label\", enabled: false }\n ], presets, true), tools, true),\n showPointer: false,\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n searchEnabled: false,\n cssClass: \"sps-popup-menu sps-popup-menu--always-on-top\",\n cssClasses: _presets_theme_list_theme__WEBPACK_IMPORTED_MODULE_3__.listComponentCss,\n onHide: function () { settingsAction.iconName = \"navmenu-24x24\"; },\n onShow: function () { settingsAction.iconName = \"close-24x24\"; }\n }, this.model.model);\n var bottomActions = this.designerPlugin.tabControlModel.bottomToolbar.actions;\n bottomActions.forEach(function (a) { return a.visible = false; });\n bottomActions.unshift(settingsAction);\n this.presetsList = settingsAction.popupModel.contentComponentData.model;\n var resetCurrentAction = this.presetsList.getActionById(\"reset-current\");\n this.presetsList.selectedItem = this.presetsList.actions[0];\n this.model.model.onCurrentPageChanged.add(function (_, options) {\n _this.presetsList.selectedItem = _this.presetsList.actions[_this.model.model.currentPageNo + 1];\n resetCurrentAction.title = (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.resetToDefaults\").replace(\"{0}\", _this.model.model.currentPage.navigationTitle);\n resetCurrentAction.action = function () { var _a; (_a = _this.model) === null || _a === void 0 ? void 0 : _a.resetToDefaults(_this.presetsList.selectedItem.id); };\n });\n setTimeout(function () {\n presets[_this.currentPresetIndex].action(presets[_this.currentPresetIndex]);\n }, 100);\n };\n TabPresetsPlugin.prototype.deactivate = function () {\n var _a, _b;\n this.creator.toolbox.forceCompact = this.toolboxCompact;\n this.currentValue = (_a = this.model) === null || _a === void 0 ? void 0 : _a.model.data;\n var bottomActions = this.designerPlugin.tabControlModel.bottomToolbar.actions;\n bottomActions.forEach(function (a) { return a.visible = true; });\n bottomActions.splice(0, 1);\n this.currentPresetIndex = ((_b = this.model) === null || _b === void 0 ? void 0 : _b.model.currentPageNo) || 0;\n if (this.model) {\n this.model.dispose();\n }\n this.model = undefined;\n return true;\n };\n TabPresetsPlugin.prototype.onLocaleChanged = function () {\n //this.presetsList.actions.forEach(a => a.locStrsChanged());\n if (this.model) {\n this.model.onLocaleChanged();\n }\n };\n TabPresetsPlugin.prototype.getLicenseText = function (hasCreatorLicense, creatorLicenseDateString) {\n var _a, _b;\n if (!(survey_core__WEBPACK_IMPORTED_MODULE_0__.hasLicense === null || survey_core__WEBPACK_IMPORTED_MODULE_0__.hasLicense === void 0 ? void 0 : (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.hasLicense)(8))) {\n var presetsLicenseDateString = (_b = (_a = survey_core__WEBPACK_IMPORTED_MODULE_0__.glc === null || survey_core__WEBPACK_IMPORTED_MODULE_0__.glc === void 0 ? void 0 : (0,survey_core__WEBPACK_IMPORTED_MODULE_0__.glc)(8)) === null || _a === void 0 ? void 0 : _a.toLocaleDateString) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (presetsLicenseDateString) {\n return (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.license2\").replace(\"{date}\", presetsLicenseDateString);\n }\n if (hasCreatorLicense)\n return (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.license\");\n return creatorLicenseDateString ?\n (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.licenseCreator2\").replace(\"{date}\", creatorLicenseDateString) :\n (0,survey_creator_core__WEBPACK_IMPORTED_MODULE_1__.getLocString)(\"presets.plugin.licenseCreator\");\n }\n return \"\";\n };\n TabPresetsPlugin.iconName = \"icon-settings\";\n return TabPresetsPlugin;\n}());\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUcsQ0FBQyxDQUFDLDBDQUFFLGtCQUFrQixrREFBSSxDQUFDO1lBQ2xFLElBQUksd0JBQXdCLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxpRUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1lBQzdGLENBQUM7WUFDRCxJQUFJLGlCQUFpQjtnQkFBRSxPQUFPLGlFQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNyRSxPQUFPLHdCQUF3QixDQUFDLENBQUM7Z0JBQy9CLGlFQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUMsQ0FBQztnQkFDNUYsaUVBQVksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFwS2EseUJBQVEsR0FBRyxlQUFlLENBQUM7SUFxSzNDLHVCQUFDO0NBQUE7QUF2SzRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vU3VydmV5Q3JlYXRvckNvcmVQcmVzZXRzLy4vc3JjL3ByZXNldHMvcHJlc2V0cy1wbHVnaW4udHM/MWMyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVEcm9wZG93bkFjdGlvbk1vZGVsLCBJQWN0aW9uLCBMaXN0TW9kZWwsIHNldHRpbmdzIGFzIGxpYlNldHRpbmdzLCBoYXNMaWNlbnNlLCBnbGMgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IElDcmVhdG9yUGx1Z2luLCBTdXJ2ZXlDcmVhdG9yTW9kZWwsIHNhdmVUb0ZpbGVIYW5kbGVyLCBnZXRMb2NTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvclByZXNldEVkaXRvck1vZGVsIH0gZnJvbSBcIi4vcHJlc2V0cy1lZGl0b3JcIjtcbmltcG9ydCB7IGxpc3RDb21wb25lbnRDc3MgfSBmcm9tIFwiLi9wcmVzZXRzLXRoZW1lL2xpc3QtdGhlbWVcIjtcbmltcG9ydCB7IGJhc2ljLCBhZHZhbmNlZCwgZXhwZXJ0IH0gZnJvbSBcIi4vZGVmYXVsdC1zZXR0aW5nc1wiO1xuZXhwb3J0IGNsYXNzIFRhYlByZXNldHNQbHVnaW4gaW1wbGVtZW50cyBJQ3JlYXRvclBsdWdpbiB7XG4gIHB1YmxpYyBtb2RlbDogQ3JlYXRvclByZXNldEVkaXRvck1vZGVsO1xuICBwdWJsaWMgc3RhdGljIGljb25OYW1lID0gXCJpY29uLXNldHRpbmdzXCI7XG4gIHByaXZhdGUgYWN0aXZlVGFiO1xuICBwcml2YXRlIGN1cnJlbnRQcmVzZXRJbmRleCA9IDA7XG4gIHByaXZhdGUgY3VycmVudFZhbHVlO1xuICBwcml2YXRlIGRlc2lnbmVyUGx1Z2luO1xuICBwcml2YXRlIHRvb2xib3hDb21wYWN0O1xuICBwcml2YXRlIGRlZmF1bHRKc29uO1xuXG4gIHByaXZhdGUgcHJlc2V0c0xpc3Q6IExpc3RNb2RlbDtcblxuICBwcml2YXRlIHNob3dQcmVzZXRzKCkge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gdGhpcy5jcmVhdG9yLmFjdGl2ZVRhYjtcbiAgICB0aGlzLmNyZWF0b3IuYWN0aXZlVGFiID0gXCJwcmVzZXRzXCI7XG4gIH1cblxuICBwcml2YXRlIGhpZGVQcmVzZXRzKCkge1xuICAgIHRoaXMuY3JlYXRvci5vbkFjdGl2ZVRhYkNoYW5naW5nLnJlbW92ZSh0aGlzLnByZXZlbnRUYWJTd2l0Y2gpO1xuICAgIHRoaXMuY3JlYXRvci5hY3RpdmVUYWIgPSB0aGlzLmFjdGl2ZVRhYjtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlybVJlc2V0KG9uQXBwbHk6ICgpPT52b2lkKSB7XG4gICAgbGliU2V0dGluZ3MuY29uZmlybUFjdGlvbkFzeW5jKGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0Q29uZmlybWF0aW9uXCIpLFxuICAgICAgKGNvbmZpcm0pID0+IHtcbiAgICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgICBvbkFwcGx5KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFwcGx5VGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0Q29uZmlybWF0aW9uT2tcIiksXG4gICAgICAgIGxvY2FsZTogdGhpcy5jcmVhdG9yLmxvY2FsZSxcbiAgICAgICAgY3NzQ2xhc3M6IFwic3YtcG9wdXAtLWNvbmZpcm0gc3ZjLWNyZWF0b3ItcG9wdXBcIlxuICAgICAgfVxuICAgICk7XG5cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3JlYXRvcjogU3VydmV5Q3JlYXRvck1vZGVsKSB7XG4gICAgY3JlYXRvci5hZGRUYWIoeyBuYW1lOiBcInByZXNldHNcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnByZXNldHNUYWJcIiksIHBsdWdpbjogdGhpcywgaWNvbk5hbWU6IFRhYlByZXNldHNQbHVnaW4uaWNvbk5hbWUgfSk7XG4gICAgY3JlYXRvci50YWJzLmZpbHRlcih0ID0+IHQuaWQgPT0gXCJwcmVzZXRzXCIpWzBdLmNzcyA9IFwic3ZjLXRhYmJlZC1tZW51LWl0ZW0tY29udGFpbmVyLS1wcmVzZXRzXCI7XG4gICAgdGhpcy5kZXNpZ25lclBsdWdpbiA9IGNyZWF0b3IuZ2V0UGx1Z2luKFwiZGVzaWduZXJcIik7XG4gICAgY29uc3Qgc2V0dGluZ3NQYWdlID0gdGhpcy5jcmVhdG9yLnNpZGViYXIuZ2V0UGFnZUJ5SWQoXCJjcmVhdG9yVGhlbWVcIik7XG4gICAgc2V0dGluZ3NQYWdlLmNvbXBvbmVudERhdGEuc2hvd1ByZXNldHMgPSAoKSA9PiB0aGlzLnNob3dQcmVzZXRzKCk7XG4gICAgc2V0dGluZ3NQYWdlLmNvbXBvbmVudE5hbWUgPSBcInN2Yy1wcmVzZXRzLXByb3BlcnR5LWdyaWRcIjtcbiAgICB0aGlzLnRvb2xib3hDb21wYWN0ID0gY3JlYXRvci50b29sYm94LmZvcmNlQ29tcGFjdDtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlVG9GaWxlSGFuZGxlciA9IHNhdmVUb0ZpbGVIYW5kbGVyO1xuXG4gIHByaXZhdGUgcHJldmVudFRhYlN3aXRjaCA9IChfLCBvcHRpb25zKSA9PiB7XG4gICAgb3B0aW9ucy5hbGxvdyA9IGZhbHNlO1xuICB9O1xuXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0b3Iub25BY3RpdmVUYWJDaGFuZ2luZy5hZGQodGhpcy5wcmV2ZW50VGFiU3dpdGNoKTtcbiAgICB0aGlzLm1vZGVsID0gbmV3IENyZWF0b3JQcmVzZXRFZGl0b3JNb2RlbCh7fSwgdGhpcy5jcmVhdG9yLCB0aGlzLmRlZmF1bHRKc29uKTtcbiAgICB0aGlzLmRlZmF1bHRKc29uID0geyAuLi50aGlzLm1vZGVsLmRlZmF1bHRKc29uIH07XG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGVsLm1vZGVsLmRhdGEgPSB0aGlzLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgdGhpcy5kZXNpZ25lclBsdWdpbi5hY3RpdmF0ZVNpZGViYXIoKTtcbiAgICB0aGlzLm1vZGVsLm1vZGVsLm9uQ29tcGxldGUuYWRkKCgpID0+IHRoaXMuaGlkZVByZXNldHMoKSk7XG5cbiAgICAvL2NvbnN0IHByZXNldHMgPSB0aGlzLm1vZGVsPy5tb2RlbC5lZGl0YWJsZVByZXNldHMubWFwKHAgPT4gPElBY3Rpb24+eyBpZDogcC5wYWdlTmFtZSwgbG9jVGl0bGVOYW1lOiBcInByZXNldHMuXCIgKyBwLmZ1bGxQYXRoICsgXCIubmF2aWdhdGlvblRpdGxlXCIgfSk7XG4gICAgY29uc3QgcHJlc2V0cyA9IHRoaXMubW9kZWw/Lm1vZGVsLnBhZ2VzLm1hcChwID0+IDxJQWN0aW9uPnsgaWQ6IHAubmFtZSwgdGl0bGU6IHAubmF2aWdhdGlvblRpdGxlIH0pO1xuICAgIGxldCBzZXR0aW5nc0FjdGlvbjogSUFjdGlvbjtcblxuICAgIGNvbnN0IGtlZXAgPSAoaXRlbTogSUFjdGlvbikgPT4ge1xuICAgICAgc2V0dGluZ3NBY3Rpb24ucG9wdXBNb2RlbC5zaG93KCk7XG4gICAgfTtcbiAgICBjb25zdCB0b29scyA9IFtcbiAgICAgIHsgaWQ6IFwic2F2ZVwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uc2F2ZVwiKSwgbWFya2VySWNvbk5hbWU6IFwiY2hlY2stMjR4MjRcIiwgbmVlZFNlcGFyYXRvcjogdHJ1ZSwgYWN0aW9uOiAoKSA9PiB0aGlzLmhpZGVQcmVzZXRzKCkgfSwgLy9sb2NUaXRsZU5hbWU6IFwicHJlc2V0cy5wbHVnaW4uc2F2ZVwiXG4gICAgICB7IGlkOiBcImRlZmF1bHRTZXR0aW5nc1wiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uZGVmYXVsdFNldHRpbmdzXCIpLCBuZWVkU2VwYXJhdG9yOiB0cnVlLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IGlkOiBcImJhc2ljXCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5iYXNpY1wiKSwgYWN0aW9uOiAoaXRlbTogSUFjdGlvbikgPT4geyBrZWVwKGl0ZW0pOyB0aGlzLm1vZGVsLmpzb24gPSBiYXNpYzsgfSB9LFxuICAgICAgeyBpZDogXCJhZHZhbmNlZFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uYWR2YW5jZWRcIiksIGFjdGlvbjogKGl0ZW06IElBY3Rpb24pID0+IHsga2VlcChpdGVtKTsgdGhpcy5tb2RlbC5qc29uID0gYWR2YW5jZWQ7IH0gfSxcbiAgICAgIHsgaWQ6IFwiZXhwZXJ0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5leHBlcnRcIiksIGFjdGlvbjogKGl0ZW06IElBY3Rpb24pID0+IHsga2VlcChpdGVtKTsgdGhpcy5tb2RlbC5qc29uID0gZXhwZXJ0OyB9IH0sXG4gICAgICB7IGlkOiBcImZpbGVcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmZpbGVcIiksIG5lZWRTZXBhcmF0b3I6IHRydWUsIGNzczogXCJzcHMtbGlzdF9faXRlbS0tbGFiZWxcIiwgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgIHsgaWQ6IFwiaW1wb3J0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5pbXBvcnRcIiksIG1hcmtlckljb25OYW1lOiBcImltcG9ydC0yNHgyNFwiLCBhY3Rpb246IChpdGVtOiBJQWN0aW9uKSA9PiB7IGtlZXAoaXRlbSk7IHRoaXMubW9kZWw/LmxvYWRKc29uRmlsZSgpOyB9IH0sXG4gICAgICB7IGlkOiBcImV4cG9ydFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4uZXhwb3J0XCIpLCBtYXJrZXJJY29uTmFtZTogXCJkb3dubG9hZC0yNHgyNFwiLCBhY3Rpb246IChpdGVtOiBJQWN0aW9uKSA9PiB7IGtlZXAoaXRlbSk7IHRoaXMubW9kZWw/LmRvd25sb2FkSnNvbkZpbGUoKTsgfSB9LFxuICAgICAgeyBpZDogXCJlZGl0XCIsIHRpdGxlOiBnZXRMb2NTdHJpbmcoXCJwcmVzZXRzLnBsdWdpbi5lZGl0XCIpLCBuZWVkU2VwYXJhdG9yOiB0cnVlLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IGlkOiBcInJlc2V0LWN1cnJlbnRcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLnJlc2V0TGFuZ3VhZ2VzXCIpLCBhY3Rpb246ICgpID0+IHsgdGhpcy5jb25maXJtUmVzZXQoKCk9PnRoaXMubW9kZWw/LnJlc2V0VG9EZWZhdWx0cyhcInBhZ2VfbGFuZ3VhZ2VzXCIpKTsgfSB9LFxuICAgICAgeyBpZDogXCJyZXNldFwiLCB0aXRsZTogZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4ucmVzZXRBbGxcIiksIGNzczogXCJzcHMtbGlzdF9faXRlbS0tYWxlcnRcIiwgYWN0aW9uOiAoKSA9PiB7IHRoaXMuY29uZmlybVJlc2V0KCgpID0+IHRoaXMubW9kZWw/LnJlc2V0VG9EZWZhdWx0cygpKTsgfSB9LFxuICAgIF07XG5cbiAgICBwcmVzZXRzLmZvckVhY2gocCA9PiB7XG4gICAgICBwLmFjdGlvbiA9IChpdGVtKT0+e1xuICAgICAgICB0aGlzLnByZXNldHNMaXN0LnNlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgICAgIGtlZXAoaXRlbSk7XG4gICAgICAgIHRoaXMubW9kZWwubW9kZWwuY3VycmVudFBhZ2UgPSB0aGlzLm1vZGVsLm1vZGVsLmdldFBhZ2VCeU5hbWUoaXRlbS5pZCk7XG4gICAgICB9O1xuICAgIH0pO1xuICAgIHNldHRpbmdzQWN0aW9uID0gY3JlYXRlRHJvcGRvd25BY3Rpb25Nb2RlbCh7XG4gICAgICBpZDogXCJwcmVzZXRzLW1lbnVcIixcbiAgICAgIHRvb2x0aXA6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmNyZWF0b3JQcmVzZXRzXCIpLFxuICAgICAgaWNvbk5hbWU6IFwibmF2bWVudS0yNHgyNFwiLFxuICAgICAgY3NzOiBcInNwcy1tZW51LWZsb2F0aW5nLWFjdGlvblwiLFxuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIGlmIChzZXR0aW5nc0FjdGlvbi5wb3B1cE1vZGVsLmlzVmlzaWJsZSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0dGluZ3NBY3Rpb24ucG9wdXBNb2RlbC5oaWRlKCksIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwge1xuICAgICAgaXRlbXM6IFtcbiAgICAgICAgeyBpZDogXCJjcmVhdG9yLXByZXNldHNcIiwgdGl0bGU6IGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmNyZWF0b3JQcmVzZXRzXCIpLCBjc3M6IFwic3BzLWxpc3RfX2l0ZW0tLWxhYmVsXCIsIGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIC4uLnByZXNldHMsXG4gICAgICAgIC4uLnRvb2xzXSxcbiAgICAgIHNob3dQb2ludGVyOiBmYWxzZSxcbiAgICAgIHZlcnRpY2FsUG9zaXRpb246IFwidG9wXCIsXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwiY2VudGVyXCIsXG4gICAgICBzZWFyY2hFbmFibGVkOiBmYWxzZSxcbiAgICAgIGNzc0NsYXNzOiBcInNwcy1wb3B1cC1tZW51IHNwcy1wb3B1cC1tZW51LS1hbHdheXMtb24tdG9wXCIsXG4gICAgICBjc3NDbGFzc2VzOiBsaXN0Q29tcG9uZW50Q3NzLFxuICAgICAgb25IaWRlOiAoKSA9PiB7IHNldHRpbmdzQWN0aW9uLmljb25OYW1lID0gXCJuYXZtZW51LTI0eDI0XCI7IH0sXG4gICAgICBvblNob3c6ICgpID0+IHsgc2V0dGluZ3NBY3Rpb24uaWNvbk5hbWUgPSBcImNsb3NlLTI0eDI0XCI7IH1cbiAgICB9LCB0aGlzLm1vZGVsLm1vZGVsKTtcbiAgICBjb25zdCBib3R0b21BY3Rpb25zID0gdGhpcy5kZXNpZ25lclBsdWdpbi50YWJDb250cm9sTW9kZWwuYm90dG9tVG9vbGJhci5hY3Rpb25zO1xuICAgIGJvdHRvbUFjdGlvbnMuZm9yRWFjaChhID0+IGEudmlzaWJsZSA9IGZhbHNlKTtcbiAgICBib3R0b21BY3Rpb25zLnVuc2hpZnQoc2V0dGluZ3NBY3Rpb24pO1xuICAgIHRoaXMucHJlc2V0c0xpc3QgPSBzZXR0aW5nc0FjdGlvbi5wb3B1cE1vZGVsLmNvbnRlbnRDb21wb25lbnREYXRhLm1vZGVsO1xuICAgIGNvbnN0IHJlc2V0Q3VycmVudEFjdGlvbiA9IHRoaXMucHJlc2V0c0xpc3QuZ2V0QWN0aW9uQnlJZChcInJlc2V0LWN1cnJlbnRcIik7XG4gICAgdGhpcy5wcmVzZXRzTGlzdC5zZWxlY3RlZEl0ZW0gPSB0aGlzLnByZXNldHNMaXN0LmFjdGlvbnNbMF07XG4gICAgdGhpcy5tb2RlbC5tb2RlbC5vbkN1cnJlbnRQYWdlQ2hhbmdlZC5hZGQoKF8sIG9wdGlvbnMpID0+IHtcbiAgICAgIHRoaXMucHJlc2V0c0xpc3Quc2VsZWN0ZWRJdGVtID0gdGhpcy5wcmVzZXRzTGlzdC5hY3Rpb25zW3RoaXMubW9kZWwubW9kZWwuY3VycmVudFBhZ2VObyArIDFdO1xuICAgICAgcmVzZXRDdXJyZW50QWN0aW9uLnRpdGxlID0gZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4ucmVzZXRUb0RlZmF1bHRzXCIpLnJlcGxhY2UoXCJ7MH1cIiwgdGhpcy5tb2RlbC5tb2RlbC5jdXJyZW50UGFnZS5uYXZpZ2F0aW9uVGl0bGUpO1xuICAgICAgcmVzZXRDdXJyZW50QWN0aW9uLmFjdGlvbiA9ICgpID0+IHsgdGhpcy5tb2RlbD8ucmVzZXRUb0RlZmF1bHRzKHRoaXMucHJlc2V0c0xpc3Quc2VsZWN0ZWRJdGVtLmlkKTsgfTtcbiAgICB9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcHJlc2V0c1t0aGlzLmN1cnJlbnRQcmVzZXRJbmRleF0uYWN0aW9uKHByZXNldHNbdGhpcy5jdXJyZW50UHJlc2V0SW5kZXhdKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jcmVhdG9yLnRvb2xib3guZm9yY2VDb21wYWN0ID0gdGhpcy50b29sYm94Q29tcGFjdDtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMubW9kZWw/Lm1vZGVsLmRhdGE7XG4gICAgY29uc3QgYm90dG9tQWN0aW9ucyA9IHRoaXMuZGVzaWduZXJQbHVnaW4udGFiQ29udHJvbE1vZGVsLmJvdHRvbVRvb2xiYXIuYWN0aW9ucztcbiAgICBib3R0b21BY3Rpb25zLmZvckVhY2goYSA9PiBhLnZpc2libGUgPSB0cnVlKTtcbiAgICBib3R0b21BY3Rpb25zLnNwbGljZSgwLCAxKTtcbiAgICB0aGlzLmN1cnJlbnRQcmVzZXRJbmRleCA9IHRoaXMubW9kZWw/Lm1vZGVsLmN1cnJlbnRQYWdlTm8gfHwgMDtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbC5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhbGVDaGFuZ2VkKCkge1xuICAgIC8vdGhpcy5wcmVzZXRzTGlzdC5hY3Rpb25zLmZvckVhY2goYSA9PiBhLmxvY1N0cnNDaGFuZ2VkKCkpO1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsLm9uTG9jYWxlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMaWNlbnNlVGV4dChoYXNDcmVhdG9yTGljZW5zZTogYm9vbGVhbiwgY3JlYXRvckxpY2Vuc2VEYXRlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaGFzTGljZW5zZT8uKDgpKSB7XG4gICAgICBjb25zdCBwcmVzZXRzTGljZW5zZURhdGVTdHJpbmcgPSBnbGM/Lig4KT8udG9Mb2NhbGVEYXRlU3RyaW5nPy4oKTtcbiAgICAgIGlmIChwcmVzZXRzTGljZW5zZURhdGVTdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmxpY2Vuc2UyXCIpLnJlcGxhY2UoXCJ7ZGF0ZX1cIiwgcHJlc2V0c0xpY2Vuc2VEYXRlU3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIGlmIChoYXNDcmVhdG9yTGljZW5zZSkgcmV0dXJuIGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmxpY2Vuc2VcIik7XG4gICAgICByZXR1cm4gY3JlYXRvckxpY2Vuc2VEYXRlU3RyaW5nID9cbiAgICAgICAgZ2V0TG9jU3RyaW5nKFwicHJlc2V0cy5wbHVnaW4ubGljZW5zZUNyZWF0b3IyXCIpLnJlcGxhY2UoXCJ7ZGF0ZX1cIiwgY3JlYXRvckxpY2Vuc2VEYXRlU3RyaW5nKSA6XG4gICAgICAgIGdldExvY1N0cmluZyhcInByZXNldHMucGx1Z2luLmxpY2Vuc2VDcmVhdG9yXCIpO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/presets/presets-plugin.ts\n");
200
200
 
201
201
  /***/ }),
202
202