@sapui5/sap.fe.core 1.136.3 → 1.136.6

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 (70) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/controllerextensions/EditFlow.js +3 -3
  4. package/src/sap/fe/core/controllerextensions/EditFlow.ts +6 -2
  5. package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -5
  6. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +19 -1
  7. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +4 -3
  8. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +10 -3
  9. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +6 -5
  10. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +8 -4
  11. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +4 -3
  12. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +6 -2
  13. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +4 -17
  14. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +6 -19
  15. package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +15 -1
  16. package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +18 -0
  17. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +4 -4
  18. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +3 -3
  19. package/src/sap/fe/core/fpm/manifest.json +1 -1
  20. package/src/sap/fe/core/library.js +1 -1
  21. package/src/sap/fe/core/messagebundle_ar.properties +2 -0
  22. package/src/sap/fe/core/messagebundle_bg.properties +2 -0
  23. package/src/sap/fe/core/messagebundle_ca.properties +2 -0
  24. package/src/sap/fe/core/messagebundle_cnr.properties +2 -0
  25. package/src/sap/fe/core/messagebundle_cs.properties +2 -0
  26. package/src/sap/fe/core/messagebundle_cy.properties +2 -0
  27. package/src/sap/fe/core/messagebundle_da.properties +2 -0
  28. package/src/sap/fe/core/messagebundle_de.properties +2 -0
  29. package/src/sap/fe/core/messagebundle_el.properties +2 -0
  30. package/src/sap/fe/core/messagebundle_en.properties +2 -0
  31. package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
  32. package/src/sap/fe/core/messagebundle_es.properties +3 -1
  33. package/src/sap/fe/core/messagebundle_es_MX.properties +2 -0
  34. package/src/sap/fe/core/messagebundle_et.properties +2 -0
  35. package/src/sap/fe/core/messagebundle_fi.properties +2 -0
  36. package/src/sap/fe/core/messagebundle_fr.properties +2 -0
  37. package/src/sap/fe/core/messagebundle_fr_CA.properties +2 -0
  38. package/src/sap/fe/core/messagebundle_hi.properties +2 -0
  39. package/src/sap/fe/core/messagebundle_hr.properties +2 -0
  40. package/src/sap/fe/core/messagebundle_hu.properties +2 -0
  41. package/src/sap/fe/core/messagebundle_id.properties +2 -0
  42. package/src/sap/fe/core/messagebundle_it.properties +2 -0
  43. package/src/sap/fe/core/messagebundle_iw.properties +2 -0
  44. package/src/sap/fe/core/messagebundle_ja.properties +2 -0
  45. package/src/sap/fe/core/messagebundle_kk.properties +2 -0
  46. package/src/sap/fe/core/messagebundle_ko.properties +2 -0
  47. package/src/sap/fe/core/messagebundle_lt.properties +2 -0
  48. package/src/sap/fe/core/messagebundle_lv.properties +2 -0
  49. package/src/sap/fe/core/messagebundle_mk.properties +2 -0
  50. package/src/sap/fe/core/messagebundle_ms.properties +2 -0
  51. package/src/sap/fe/core/messagebundle_nl.properties +2 -0
  52. package/src/sap/fe/core/messagebundle_no.properties +2 -0
  53. package/src/sap/fe/core/messagebundle_pl.properties +2 -0
  54. package/src/sap/fe/core/messagebundle_pt.properties +2 -0
  55. package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -0
  56. package/src/sap/fe/core/messagebundle_ro.properties +2 -0
  57. package/src/sap/fe/core/messagebundle_ru.properties +2 -0
  58. package/src/sap/fe/core/messagebundle_sh.properties +2 -0
  59. package/src/sap/fe/core/messagebundle_sk.properties +2 -0
  60. package/src/sap/fe/core/messagebundle_sl.properties +2 -0
  61. package/src/sap/fe/core/messagebundle_sr.properties +2 -0
  62. package/src/sap/fe/core/messagebundle_sv.properties +2 -0
  63. package/src/sap/fe/core/messagebundle_th.properties +2 -0
  64. package/src/sap/fe/core/messagebundle_tr.properties +2 -0
  65. package/src/sap/fe/core/messagebundle_uk.properties +2 -0
  66. package/src/sap/fe/core/messagebundle_vi.properties +2 -0
  67. package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
  68. package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
  69. package/src/sap/fe/core/templating/PropertyHelper.js +3 -2
  70. package/src/sap/fe/core/templating/PropertyHelper.ts +2 -1
@@ -204,7 +204,8 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/Semanti
204
204
  */
205
205
  _exports.getAssociatedTextPropertyPath = getAssociatedTextPropertyPath;
206
206
  const hasValueHelp = function (property) {
207
- return !!property.annotations?.Common?.ValueList || !!property.annotations?.Common?.ValueListReferences || !!property.annotations?.Common?.ValueListMapping;
207
+ return !!property.annotations?.Common?.ValueList || !!property.annotations?.Common?.ValueListReferences || !!property.annotations?.Common?.ValueListMapping || !!property.annotations?.Common?.ValueListRelevantQualifiers // Covers cases where context dependent annotation are present
208
+ ;
208
209
  };
209
210
 
210
211
  /**
@@ -332,4 +333,4 @@ sap.ui.define(["sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/Semanti
332
333
  _exports.isTimezone = isTimezone;
333
334
  return _exports;
334
335
  }, false);
335
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0NvbXB1dGVkIiwib1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJDb3JlIiwiQ29tcHV0ZWQiLCJ2YWx1ZU9mIiwiX2V4cG9ydHMiLCJpc0ltbXV0YWJsZSIsIkltbXV0YWJsZSIsImlzS2V5IiwiaXNTZW1hbnRpY0tleSIsInByb3BlcnR5IiwiY29udGV4dERhdGFNb2RlbE9iamVjdCIsInNlbWFudGljS2V5cyIsImNvbnRleHRMb2NhdGlvbiIsInRhcmdldEVudGl0eVR5cGUiLCJDb21tb24iLCJTZW1hbnRpY0tleSIsInNvbWUiLCJrZXkiLCIkdGFyZ2V0IiwiZnVsbHlRdWFsaWZpZWROYW1lIiwiaGFzRGF0ZVR5cGUiLCJpbmNsdWRlcyIsInR5cGUiLCJnZXRMYWJlbCIsIkxhYmVsIiwidG9TdHJpbmciLCJoYXNTZW1hbnRpY09iamVjdCIsIlNlbWFudGljT2JqZWN0SGVscGVyIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHkiLCJpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbiIsIlRpbWV6b25lIiwidW5kZWZpbmVkIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHkiLCJUZXh0IiwiZ2V0QXNzb2NpYXRlZEV4dGVybmFsSWRQcm9wZXJ0eVBhdGgiLCJFeHRlcm5hbElEIiwiZ2V0QXNzb2NpYXRlZEV4dGVybmFsSWRQcm9wZXJ0eSIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHkiLCJNZWFzdXJlcyIsIlVuaXQiLCJnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5IiwiSVNPQ3VycmVuY3kiLCJnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eVBhdGgiLCJnZXRTdGF0aWNVbml0T3JDdXJyZW5jeSIsInVuaXRPckN1cnJlbmN5IiwiZ2V0U3RhdGljVGltZXpvbmUiLCJzdGF0aWNUaW1lem9uZSIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoIiwiaGFzVmFsdWVIZWxwIiwiVmFsdWVMaXN0IiwiVmFsdWVMaXN0UmVmZXJlbmNlcyIsIlZhbHVlTGlzdE1hcHBpbmciLCJoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMiLCJoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiIsImhhc1RpbWV6b25lIiwiaXNVbml0IiwiSXNVbml0IiwiaGFzVGV4dCIsImlzSW1hZ2VVUkwiLCJVSSIsIklzSW1hZ2VVUkwiLCJpc0N1cnJlbmN5IiwiSXNDdXJyZW5jeSIsImhhc0N1cnJlbmN5IiwiaGFzVW5pdCIsImlzR3VpZCIsImhhc1N0YXRpY1BlcmNlbnRVbml0IiwiaXNNdWx0aUxpbmVUZXh0IiwicGFyYW1ldGVyIiwiTXVsdGlMaW5lVGV4dCIsImlzVGltZXpvbmUiLCJJc1RpbWV6b25lIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJQcm9wZXJ0eUhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvblBhcmFtZXRlciwgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0ICogYXMgU2VtYW50aWNPYmplY3RIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIENvcmUuQ29tcHV0ZWQgYW5ub3RhdGlvbiBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcHJvcGVydHkgaXMgY29tcHV0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29tcHV0ZWQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkNvbXB1dGVkPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5JbW11dGFibGUgYW5ub3RhdGlvbiBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCdzIGltbXV0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNJbW11dGFibGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkltbXV0YWJsZT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIGtleSBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCdzIGEga2V5XG4gKi9cbmV4cG9ydCBjb25zdCBpc0tleSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eS5pc0tleTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBzZW1hbnRpY0tleSBmb3IgdGhlIGNvbnRleHQgZW50aXR5LlxuICogQHBhcmFtIHByb3BlcnR5XG4gKiBAcGFyYW0gY29udGV4dERhdGFNb2RlbE9iamVjdCBUaGUgRGF0YU1vZGVsT2JqZWN0IHRoYXQgaG9sZHMgdGhlIGNvbnRleHRcbiAqIEByZXR1cm5zIGB0cnVlYGlmIGl0J3MgYSBzZW1hbnRpYyBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2VtYW50aWNLZXkgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkLCBjb250ZXh0RGF0YU1vZGVsT2JqZWN0OiBEYXRhTW9kZWxPYmplY3RQYXRoPHVua25vd24+KTogYm9vbGVhbiB7XG5cdGNvbnN0IHNlbWFudGljS2V5cyA9IGNvbnRleHREYXRhTW9kZWxPYmplY3QuY29udGV4dExvY2F0aW9uPy50YXJnZXRFbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5TZW1hbnRpY0tleTtcblx0cmV0dXJuIChcblx0XHRzZW1hbnRpY0tleXM/LnNvbWUoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGtleT8uJHRhcmdldD8uZnVsbHlRdWFsaWZpZWROYW1lID09PSBwcm9wZXJ0eT8uZnVsbHlRdWFsaWZpZWROYW1lO1xuXHRcdH0pID8/IGZhbHNlXG5cdCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSBkYXRlIHRpbWUgb3Igbm90LlxuICogQHBhcmFtIG9Qcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIG9mIHR5cGUgZGF0ZSAvIGRhdGV0aW1lIC8gZGF0ZXRpbWVvZmZzZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0RhdGVUeXBlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIFtcIkVkbS5EYXRlXCIsIFwiRWRtLkRhdGVUaW1lXCIsIFwiRWRtLkRhdGVUaW1lT2Zmc2V0XCJdLmluY2x1ZGVzKG9Qcm9wZXJ0eS50eXBlKTtcbn07XG5cbi8qKlxuICogUmV0cmlldmUgdGhlIGxhYmVsIGFubm90YXRpb24uXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBsYWJlbCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpIHx8IFwiXCI7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHNlbWFudGljIG9iamVjdCBkZWZpbmVkIG9yIG5vdC5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgc2VtYW50aWMgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBoYXNTZW1hbnRpY09iamVjdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIFNlbWFudGljT2JqZWN0SGVscGVyLmhhc1NlbWFudGljT2JqZWN0KHByb3BlcnR5KTtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0aW1lem9uZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lKVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZS4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgcGF0aCBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHByb3BlcnR5IHBhdGgsIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSlcblx0XHQ/IG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmU/LnBhdGhcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIHRleHQgcHJvcGVydHkgZm9yIGEgcHJvcGVydHksIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRleHQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRleHRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0LiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBDb21tb24uRXh0ZXJuYWxJRCBwcm9wZXJ0eSBwYXRoIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgQ29tbW9uLkV4dGVybmFsSUQgcHJvcGVydHkgcGF0aCBvciB1bmRlZmluZWQgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdC8vcmV0dXJuIHByb3BlcnR5LmFubm90YXRpb25zLkNvbW1vbj8uRXh0ZXJuYWxJRD8ucGF0aDtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKHByb3BlcnR5Py5hbm5vdGF0aW9ucy5Db21tb24/LkV4dGVybmFsSUQpID8gcHJvcGVydHk/LmFubm90YXRpb25zLkNvbW1vbj8uRXh0ZXJuYWxJRC5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgZXh0ZXJuYWxJRCBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzLlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBleHRlcm5hbElEIHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ocHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LkV4dGVybmFsSUQpXG5cdFx0PyAocHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uRXh0ZXJuYWxJRC4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdW5pdCBwcm9wZXJ0eSBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHVuaXQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkKTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gb1Byb3BlcnR5ICYmIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uVW5pdClcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uVW5pdC4kdGFyZ2V0XG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXNzb2NpYXRlZCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSB1bml0IHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkgfCB1bmRlZmluZWQpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBvUHJvcGVydHkgJiYgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5LmFubm90YXRpb25zLk1lYXN1cmVzPy5JU09DdXJyZW5jeSlcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kuJHRhcmdldFxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeSlcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LnBhdGhcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIHN0YXRpYyBjdXJyZW5jeSBvciB1bml0IGZvciBhIGdpdmVuIHByb3BlcnR5IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBvciBjdXJyZW5jeSBzdGF0aWMgdmFsdWUsIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0U3RhdGljVW5pdE9yQ3VycmVuY3kgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgdW5pdE9yQ3VycmVuY3kgPSBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5ID8/IHByb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdDtcblx0aWYgKCF1bml0T3JDdXJyZW5jeSB8fCBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0T3JDdXJyZW5jeSkpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiBgJHt1bml0T3JDdXJyZW5jeX1gO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgdGltZXpvbmUgc3RhdGljIHRleHQgYSBnaXZlbiBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHN0YXRpYyB2YWx1ZSwgaWYgaXQgZXhpc3RzXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1RpbWV6b25lID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHN0YXRpY1RpbWV6b25lID0gcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmU7XG5cdGlmICghc3RhdGljVGltZXpvbmUgfHwgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24oc3RhdGljVGltZXpvbmUpKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gYCR7c3RhdGljVGltZXpvbmV9YDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBDb21tb24uVGV4dCBwcm9wZXJ0eSBwYXRoIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIENvbW1vbi5UZXh0IHByb3BlcnR5IHBhdGggb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVGV4dFByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkgPyBvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQucGF0aCA6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHQhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdCB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0UmVmZXJlbmNlcyB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0TWFwcGluZ1xuXHQpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB2YWx1ZSBoZWxwIHdpdGggZml4ZWQgdmFsdWUgYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgQWN0aW9uUGFyYW1ldGVyKTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgZm9yIHZhbGlkYXRpb24gYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24gPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSB8IEFjdGlvblBhcmFtZXRlcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdEZvclZhbGlkYXRpb24gIT09IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYXNUaW1lem9uZSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUgIT09IHVuZGVmaW5lZDtcbn07XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIHVuaXQgcHJvcGVydHkuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIHVuaXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVW5pdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuICEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNVbml0Py52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB0ZXh0IHByb3BlcnR5LlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYSBUZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBoYXNUZXh0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGFuIEltYWdlVVJMLlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYW4gSW1hZ2VVUkxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW1hZ2VVUkwgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIXByb3BlcnR5LmFubm90YXRpb25zPy5VST8uSXNJbWFnZVVSTD8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBjdXJyZW5jeSBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIGN1cnJlbmN5XG4gKi9cbmV4cG9ydCBjb25zdCBpc0N1cnJlbmN5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LklzQ3VycmVuY3k/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIGN1cnJlbmN5IHByb3BlcnR5LlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0N1cnJlbmN5ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeSAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdW5pdCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHVuaXRcbiAqL1xuXG5leHBvcnQgY29uc3QgaGFzVW5pdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIHByb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgdHlwZSBoYXMgRWRtLkd1aWQuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIEd1aWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzR3VpZCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuIHByb3BlcnR5LnR5cGUgPT09IFwiRWRtLkd1aWRcIjtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBzdGF0aWMgdW5pdCB0aGF0IGlzICUuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBhbm5vdGF0ZWQgd2l0aCB0aGUgc3RhdGljIHVuaXQgJVxuICovXG5leHBvcnQgY29uc3QgaGFzU3RhdGljUGVyY2VudFVuaXQgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0Py50b1N0cmluZygpID09PSBcIiVcIjtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGZvcm0gZWxlbWVudCBvciBhY3Rpb24gcGFyYW1ldGVyIHN1cHBvcnRzIG11bHRpIGxpbmUgdGV4dCBpbnB1dC5cbiAqIEBwYXJhbSBwYXJhbWV0ZXIgUHJvcGVydHkgb3IgQWN0aW9uUGFyYW1ldGVyLlxuICogQHJldHVybnMgQm9vbGVhblxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNdWx0aUxpbmVUZXh0KHBhcmFtZXRlcjogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcblx0cmV0dXJuIHBhcmFtZXRlcj8uYW5ub3RhdGlvbnM/LlVJPy5NdWx0aUxpbmVUZXh0Py52YWx1ZU9mKCkgPT09IHRydWU7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgdGltZXpvbmUgcHJvcGVydHkuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIHRpbWV6b25lIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1RpbWV6b25lKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5Jc1RpbWV6b25lPy52YWx1ZU9mKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztFQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDTyxNQUFNQSxVQUFVLEdBQUcsU0FBQUEsQ0FBVUMsU0FBbUIsRUFBVztJQUNqRSxPQUFPLENBQUMsQ0FBQ0EsU0FBUyxDQUFDQyxXQUFXLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxPQUFPLENBQUMsQ0FBQztFQUMxRCxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQUMsUUFBQSxDQUFBTixVQUFBLEdBQUFBLFVBQUE7RUFLTyxNQUFNTyxXQUFXLEdBQUcsU0FBQUEsQ0FBVU4sU0FBbUIsRUFBVztJQUNsRSxPQUFPLENBQUMsQ0FBQ0EsU0FBUyxDQUFDQyxXQUFXLEVBQUVDLElBQUksRUFBRUssU0FBUyxFQUFFSCxPQUFPLENBQUMsQ0FBQztFQUMzRCxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQUMsUUFBQSxDQUFBQyxXQUFBLEdBQUFBLFdBQUE7RUFLTyxNQUFNRSxLQUFLLEdBQUcsU0FBQUEsQ0FBVVIsU0FBbUIsRUFBVztJQUM1RCxPQUFPLENBQUMsQ0FBQ0EsU0FBUyxDQUFDUSxLQUFLO0VBQ3pCLENBQUM7O0VBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEFILFFBQUEsQ0FBQUcsS0FBQSxHQUFBQSxLQUFBO0VBTU8sTUFBTUMsYUFBYSxHQUFHLFNBQUFBLENBQVVDLFFBQThCLEVBQUVDLHNCQUFvRCxFQUFXO0lBQ3JJLE1BQU1DLFlBQVksR0FBR0Qsc0JBQXNCLENBQUNFLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUViLFdBQVcsRUFBRWMsTUFBTSxFQUFFQyxXQUFXO0lBQy9HLE9BQ0NKLFlBQVks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
336
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0NvbXB1dGVkIiwib1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJDb3JlIiwiQ29tcHV0ZWQiLCJ2YWx1ZU9mIiwiX2V4cG9ydHMiLCJpc0ltbXV0YWJsZSIsIkltbXV0YWJsZSIsImlzS2V5IiwiaXNTZW1hbnRpY0tleSIsInByb3BlcnR5IiwiY29udGV4dERhdGFNb2RlbE9iamVjdCIsInNlbWFudGljS2V5cyIsImNvbnRleHRMb2NhdGlvbiIsInRhcmdldEVudGl0eVR5cGUiLCJDb21tb24iLCJTZW1hbnRpY0tleSIsInNvbWUiLCJrZXkiLCIkdGFyZ2V0IiwiZnVsbHlRdWFsaWZpZWROYW1lIiwiaGFzRGF0ZVR5cGUiLCJpbmNsdWRlcyIsInR5cGUiLCJnZXRMYWJlbCIsIkxhYmVsIiwidG9TdHJpbmciLCJoYXNTZW1hbnRpY09iamVjdCIsIlNlbWFudGljT2JqZWN0SGVscGVyIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHkiLCJpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbiIsIlRpbWV6b25lIiwidW5kZWZpbmVkIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHkiLCJUZXh0IiwiZ2V0QXNzb2NpYXRlZEV4dGVybmFsSWRQcm9wZXJ0eVBhdGgiLCJFeHRlcm5hbElEIiwiZ2V0QXNzb2NpYXRlZEV4dGVybmFsSWRQcm9wZXJ0eSIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHkiLCJNZWFzdXJlcyIsIlVuaXQiLCJnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5IiwiSVNPQ3VycmVuY3kiLCJnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eVBhdGgiLCJnZXRTdGF0aWNVbml0T3JDdXJyZW5jeSIsInVuaXRPckN1cnJlbmN5IiwiZ2V0U3RhdGljVGltZXpvbmUiLCJzdGF0aWNUaW1lem9uZSIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoIiwiaGFzVmFsdWVIZWxwIiwiVmFsdWVMaXN0IiwiVmFsdWVMaXN0UmVmZXJlbmNlcyIsIlZhbHVlTGlzdE1hcHBpbmciLCJWYWx1ZUxpc3RSZWxldmFudFF1YWxpZmllcnMiLCJoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMiLCJoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiIsImhhc1RpbWV6b25lIiwiaXNVbml0IiwiSXNVbml0IiwiaGFzVGV4dCIsImlzSW1hZ2VVUkwiLCJVSSIsIklzSW1hZ2VVUkwiLCJpc0N1cnJlbmN5IiwiSXNDdXJyZW5jeSIsImhhc0N1cnJlbmN5IiwiaGFzVW5pdCIsImlzR3VpZCIsImhhc1N0YXRpY1BlcmNlbnRVbml0IiwiaXNNdWx0aUxpbmVUZXh0IiwicGFyYW1ldGVyIiwiTXVsdGlMaW5lVGV4dCIsImlzVGltZXpvbmUiLCJJc1RpbWV6b25lIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJQcm9wZXJ0eUhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvblBhcmFtZXRlciwgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0ICogYXMgU2VtYW50aWNPYmplY3RIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIENvcmUuQ29tcHV0ZWQgYW5ub3RhdGlvbiBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcHJvcGVydHkgaXMgY29tcHV0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29tcHV0ZWQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkNvbXB1dGVkPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5JbW11dGFibGUgYW5ub3RhdGlvbiBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCdzIGltbXV0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNJbW11dGFibGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkltbXV0YWJsZT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIGtleSBvciBub3QuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCdzIGEga2V5XG4gKi9cbmV4cG9ydCBjb25zdCBpc0tleSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eS5pc0tleTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBzZW1hbnRpY0tleSBmb3IgdGhlIGNvbnRleHQgZW50aXR5LlxuICogQHBhcmFtIHByb3BlcnR5XG4gKiBAcGFyYW0gY29udGV4dERhdGFNb2RlbE9iamVjdCBUaGUgRGF0YU1vZGVsT2JqZWN0IHRoYXQgaG9sZHMgdGhlIGNvbnRleHRcbiAqIEByZXR1cm5zIGB0cnVlYGlmIGl0J3MgYSBzZW1hbnRpYyBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2VtYW50aWNLZXkgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkLCBjb250ZXh0RGF0YU1vZGVsT2JqZWN0OiBEYXRhTW9kZWxPYmplY3RQYXRoPHVua25vd24+KTogYm9vbGVhbiB7XG5cdGNvbnN0IHNlbWFudGljS2V5cyA9IGNvbnRleHREYXRhTW9kZWxPYmplY3QuY29udGV4dExvY2F0aW9uPy50YXJnZXRFbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5TZW1hbnRpY0tleTtcblx0cmV0dXJuIChcblx0XHRzZW1hbnRpY0tleXM/LnNvbWUoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGtleT8uJHRhcmdldD8uZnVsbHlRdWFsaWZpZWROYW1lID09PSBwcm9wZXJ0eT8uZnVsbHlRdWFsaWZpZWROYW1lO1xuXHRcdH0pID8/IGZhbHNlXG5cdCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSBkYXRlIHRpbWUgb3Igbm90LlxuICogQHBhcmFtIG9Qcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIG9mIHR5cGUgZGF0ZSAvIGRhdGV0aW1lIC8gZGF0ZXRpbWVvZmZzZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0RhdGVUeXBlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIFtcIkVkbS5EYXRlXCIsIFwiRWRtLkRhdGVUaW1lXCIsIFwiRWRtLkRhdGVUaW1lT2Zmc2V0XCJdLmluY2x1ZGVzKG9Qcm9wZXJ0eS50eXBlKTtcbn07XG5cbi8qKlxuICogUmV0cmlldmUgdGhlIGxhYmVsIGFubm90YXRpb24uXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBsYWJlbCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpIHx8IFwiXCI7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHNlbWFudGljIG9iamVjdCBkZWZpbmVkIG9yIG5vdC5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgc2VtYW50aWMgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBoYXNTZW1hbnRpY09iamVjdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIFNlbWFudGljT2JqZWN0SGVscGVyLmhhc1NlbWFudGljT2JqZWN0KHByb3BlcnR5KTtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0aW1lem9uZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lKVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZS4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgcGF0aCBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHByb3BlcnR5IHBhdGgsIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSlcblx0XHQ/IG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmU/LnBhdGhcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIHRleHQgcHJvcGVydHkgZm9yIGEgcHJvcGVydHksIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRleHQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRleHRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0LiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBDb21tb24uRXh0ZXJuYWxJRCBwcm9wZXJ0eSBwYXRoIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgQ29tbW9uLkV4dGVybmFsSUQgcHJvcGVydHkgcGF0aCBvciB1bmRlZmluZWQgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdC8vcmV0dXJuIHByb3BlcnR5LmFubm90YXRpb25zLkNvbW1vbj8uRXh0ZXJuYWxJRD8ucGF0aDtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKHByb3BlcnR5Py5hbm5vdGF0aW9ucy5Db21tb24/LkV4dGVybmFsSUQpID8gcHJvcGVydHk/LmFubm90YXRpb25zLkNvbW1vbj8uRXh0ZXJuYWxJRC5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgZXh0ZXJuYWxJRCBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzLlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBleHRlcm5hbElEIHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ocHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LkV4dGVybmFsSUQpXG5cdFx0PyAocHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uRXh0ZXJuYWxJRC4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdW5pdCBwcm9wZXJ0eSBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHVuaXQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkKTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gb1Byb3BlcnR5ICYmIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uVW5pdClcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uVW5pdC4kdGFyZ2V0XG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXNzb2NpYXRlZCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSB1bml0IHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkgfCB1bmRlZmluZWQpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBvUHJvcGVydHkgJiYgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24ob1Byb3BlcnR5LmFubm90YXRpb25zLk1lYXN1cmVzPy5JU09DdXJyZW5jeSlcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kuJHRhcmdldFxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeSlcblx0XHQ/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LnBhdGhcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIHN0YXRpYyBjdXJyZW5jeSBvciB1bml0IGZvciBhIGdpdmVuIHByb3BlcnR5IGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBvciBjdXJyZW5jeSBzdGF0aWMgdmFsdWUsIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0U3RhdGljVW5pdE9yQ3VycmVuY3kgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgdW5pdE9yQ3VycmVuY3kgPSBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5ID8/IHByb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdDtcblx0aWYgKCF1bml0T3JDdXJyZW5jeSB8fCBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0T3JDdXJyZW5jeSkpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiBgJHt1bml0T3JDdXJyZW5jeX1gO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgdGltZXpvbmUgc3RhdGljIHRleHQgYSBnaXZlbiBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRpbWV6b25lIHN0YXRpYyB2YWx1ZSwgaWYgaXQgZXhpc3RzXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1RpbWV6b25lID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHN0YXRpY1RpbWV6b25lID0gcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmU7XG5cdGlmICghc3RhdGljVGltZXpvbmUgfHwgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24oc3RhdGljVGltZXpvbmUpKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gYCR7c3RhdGljVGltZXpvbmV9YDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBDb21tb24uVGV4dCBwcm9wZXJ0eSBwYXRoIGlmIGl0IGV4aXN0cy5cbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIENvbW1vbi5UZXh0IHByb3BlcnR5IHBhdGggb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVGV4dFByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkgPyBvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQucGF0aCA6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHQhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdCB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0UmVmZXJlbmNlcyB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0TWFwcGluZyB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0UmVsZXZhbnRRdWFsaWZpZXJzIC8vIENvdmVycyBjYXNlcyB3aGVyZSBjb250ZXh0IGRlcGVuZGVudCBhbm5vdGF0aW9uIGFyZSBwcmVzZW50XG5cdCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgd2l0aCBmaXhlZCB2YWx1ZSBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgdmFsdWUgaGVscFxuICovXG5leHBvcnQgY29uc3QgaGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkgfCBBY3Rpb25QYXJhbWV0ZXIpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBmb3IgdmFsaWRhdGlvbiBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgdmFsdWUgaGVscFxuICovXG5leHBvcnQgY29uc3QgaGFzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5IHwgQWN0aW9uUGFyYW1ldGVyKTogYm9vbGVhbiB7XG5cdHJldHVybiBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiAhPT0gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1RpbWV6b25lID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSAhPT0gdW5kZWZpbmVkO1xufTtcbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgdW5pdCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgdW5pdFxuICovXG5leHBvcnQgY29uc3QgaXNVbml0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSB8IEFjdGlvblBhcmFtZXRlcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5Jc1VuaXQ/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHRleHQgcHJvcGVydHkuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIFRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1RleHQgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0ICE9PSB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYW4gSW1hZ2VVUkwuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhbiBJbWFnZVVSTFxuICovXG5leHBvcnQgY29uc3QgaXNJbWFnZVVSTCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5Jc0ltYWdlVVJMPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIGN1cnJlbmN5IHByb3BlcnR5LlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ3VycmVuY3kgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSB8IEFjdGlvblBhcmFtZXRlcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNDdXJyZW5jeT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgY3VycmVuY3kgcHJvcGVydHkuXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSBjdXJyZW5jeVxuICovXG5leHBvcnQgY29uc3QgaGFzQ3VycmVuY3kgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5ICE9PSB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB1bml0IHByb3BlcnR5LlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgdW5pdFxuICovXG5cbmV4cG9ydCBjb25zdCBoYXNVbml0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0ICE9PSB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSB0eXBlIGhhcyBFZG0uR3VpZC5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgR3VpZFxuICovXG5leHBvcnQgY29uc3QgaXNHdWlkID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSB8IEFjdGlvblBhcmFtZXRlcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkudHlwZSA9PT0gXCJFZG0uR3VpZFwiO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHByb3BlcnR5IGhhcyBhIHN0YXRpYyB1bml0IHRoYXQgaXMgJS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGFubm90YXRlZCB3aXRoIHRoZSBzdGF0aWMgdW5pdCAlXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNTdGF0aWNQZXJjZW50VW5pdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIHByb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQ/LnRvU3RyaW5nKCkgPT09IFwiJVwiO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZm9ybSBlbGVtZW50IG9yIGFjdGlvbiBwYXJhbWV0ZXIgc3VwcG9ydHMgbXVsdGkgbGluZSB0ZXh0IGlucHV0LlxuICogQHBhcmFtIHBhcmFtZXRlciBQcm9wZXJ0eSBvciBBY3Rpb25QYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyBCb29sZWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc011bHRpTGluZVRleHQocGFyYW1ldGVyOiBQcm9wZXJ0eSB8IEFjdGlvblBhcmFtZXRlciB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcGFyYW1ldGVyPy5hbm5vdGF0aW9ucz8uVUk/Lk11bHRpTGluZVRleHQ/LnZhbHVlT2YoKSA9PT0gdHJ1ZTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSB0aW1lem9uZSBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgdGltZXpvbmUgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVGltZXpvbmUocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LklzVGltZXpvbmU/LnZhbHVlT2YoKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0VBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNPLE1BQU1BLFVBQVUsR0FBRyxTQUFBQSxDQUFVQyxTQUFtQixFQUFXO0lBQ2pFLE9BQU8sQ0FBQyxDQUFDQSxTQUFTLENBQUNDLFdBQVcsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO0VBQzFELENBQUM7O0VBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUpBQyxRQUFBLENBQUFOLFVBQUEsR0FBQUEsVUFBQTtFQUtPLE1BQU1PLFdBQVcsR0FBRyxTQUFBQSxDQUFVTixTQUFtQixFQUFXO0lBQ2xFLE9BQU8sQ0FBQyxDQUFDQSxTQUFTLENBQUNDLFdBQVcsRUFBRUMsSUFBSSxFQUFFSyxTQUFTLEVBQUVILE9BQU8sQ0FBQyxDQUFDO0VBQzNELENBQUM7O0VBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUpBQyxRQUFBLENBQUFDLFdBQUEsR0FBQUEsV0FBQTtFQUtPLE1BQU1FLEtBQUssR0FBRyxTQUFBQSxDQUFVUixTQUFtQixFQUFXO0lBQzVELE9BQU8sQ0FBQyxDQUFDQSxTQUFTLENBQUNRLEtBQUs7RUFDekIsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQUgsUUFBQSxDQUFBRyxLQUFBLEdBQUFBLEtBQUE7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
@@ -203,7 +203,8 @@ export const hasValueHelp = function (property: Property | ActionParameter): boo
203
203
  return (
204
204
  !!property.annotations?.Common?.ValueList ||
205
205
  !!property.annotations?.Common?.ValueListReferences ||
206
- !!property.annotations?.Common?.ValueListMapping
206
+ !!property.annotations?.Common?.ValueListMapping ||
207
+ !!property.annotations?.Common?.ValueListRelevantQualifiers // Covers cases where context dependent annotation are present
207
208
  );
208
209
  };
209
210