footprintjs 4.0.5 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CLAUDE.md +7 -0
  2. package/dist/esm/index.js +6 -1
  3. package/dist/esm/lib/builder/FlowChartBuilder.js +13 -8
  4. package/dist/esm/lib/engine/graph/StageNode.js +1 -1
  5. package/dist/esm/lib/engine/handlers/DeciderHandler.js +8 -7
  6. package/dist/esm/lib/engine/handlers/SelectorHandler.js +8 -5
  7. package/dist/esm/lib/engine/handlers/SubflowExecutor.js +28 -246
  8. package/dist/esm/lib/engine/narrative/CombinedNarrativeRecorder.js +232 -139
  9. package/dist/esm/lib/engine/narrative/index.js +1 -1
  10. package/dist/esm/lib/engine/narrative/narrativeTypes.js +1 -1
  11. package/dist/esm/lib/engine/traversal/FlowchartTraverser.js +64 -22
  12. package/dist/esm/lib/engine/types.js +1 -1
  13. package/dist/esm/lib/memory/StageContext.js +36 -9
  14. package/dist/esm/lib/reactive/createTypedScope.js +9 -6
  15. package/dist/esm/lib/reactive/types.js +1 -1
  16. package/dist/esm/lib/recorder/CompositeRecorder.js +172 -0
  17. package/dist/esm/lib/recorder/index.js +2 -0
  18. package/dist/esm/lib/runner/FlowChartExecutor.js +33 -3
  19. package/dist/esm/lib/scope/ScopeFacade.js +52 -4
  20. package/dist/esm/lib/scope/recorders/DebugRecorder.js +18 -2
  21. package/dist/esm/lib/scope/recorders/MetricRecorder.js +51 -4
  22. package/dist/esm/recorders.js +6 -5
  23. package/dist/index.js +21 -15
  24. package/dist/lib/builder/FlowChartBuilder.js +13 -8
  25. package/dist/lib/engine/graph/StageNode.js +1 -1
  26. package/dist/lib/engine/handlers/DeciderHandler.js +8 -7
  27. package/dist/lib/engine/handlers/SelectorHandler.js +8 -5
  28. package/dist/lib/engine/handlers/SubflowExecutor.js +27 -245
  29. package/dist/lib/engine/narrative/CombinedNarrativeRecorder.js +232 -139
  30. package/dist/lib/engine/narrative/index.js +1 -1
  31. package/dist/lib/engine/narrative/narrativeTypes.js +1 -1
  32. package/dist/lib/engine/traversal/FlowchartTraverser.js +64 -22
  33. package/dist/lib/engine/types.js +1 -1
  34. package/dist/lib/memory/StageContext.js +36 -9
  35. package/dist/lib/reactive/createTypedScope.js +9 -6
  36. package/dist/lib/reactive/types.js +1 -1
  37. package/dist/lib/recorder/CompositeRecorder.js +176 -0
  38. package/dist/lib/recorder/index.js +6 -0
  39. package/dist/lib/runner/FlowChartExecutor.js +33 -3
  40. package/dist/lib/scope/ScopeFacade.js +52 -4
  41. package/dist/lib/scope/recorders/DebugRecorder.js +18 -2
  42. package/dist/lib/scope/recorders/MetricRecorder.js +51 -4
  43. package/dist/recorders.js +8 -6
  44. package/dist/types/index.d.ts +4 -0
  45. package/dist/types/lib/engine/graph/StageNode.d.ts +4 -0
  46. package/dist/types/lib/engine/handlers/SubflowExecutor.d.ts +10 -29
  47. package/dist/types/lib/engine/narrative/CombinedNarrativeRecorder.d.ts +18 -1
  48. package/dist/types/lib/engine/narrative/index.d.ts +1 -1
  49. package/dist/types/lib/engine/narrative/narrativeTypes.d.ts +92 -0
  50. package/dist/types/lib/engine/traversal/FlowchartTraverser.d.ts +20 -8
  51. package/dist/types/lib/engine/types.d.ts +51 -0
  52. package/dist/types/lib/memory/StageContext.d.ts +14 -3
  53. package/dist/types/lib/reactive/types.d.ts +2 -0
  54. package/dist/types/lib/recorder/CompositeRecorder.d.ts +95 -0
  55. package/dist/types/lib/recorder/index.d.ts +2 -0
  56. package/dist/types/lib/runner/FlowChartExecutor.d.ts +27 -1
  57. package/dist/types/lib/scope/ScopeFacade.d.ts +11 -0
  58. package/dist/types/lib/scope/recorders/DebugRecorder.d.ts +16 -0
  59. package/dist/types/lib/scope/recorders/MetricRecorder.d.ts +47 -2
  60. package/dist/types/recorders.d.ts +9 -4
  61. package/package.json +1 -1
@@ -25,4 +25,4 @@ var SilentNarrativeFlowRecorder_js_1 = require("./recorders/SilentNarrativeFlowR
25
25
  Object.defineProperty(exports, "SilentNarrativeFlowRecorder", { enumerable: true, get: function () { return SilentNarrativeFlowRecorder_js_1.SilentNarrativeFlowRecorder; } });
26
26
  var WindowedNarrativeFlowRecorder_js_1 = require("./recorders/WindowedNarrativeFlowRecorder.js");
27
27
  Object.defineProperty(exports, "WindowedNarrativeFlowRecorder", { enumerable: true, get: function () { return WindowedNarrativeFlowRecorder_js_1.WindowedNarrativeFlowRecorder; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0VBQTJFO0FBQWxFLHlJQUFBLHlCQUF5QixPQUFBO0FBRWxDLCtGQUEyRjtBQUFsRix5SkFBQSxpQ0FBaUMsT0FBQTtBQUcxQyxzQkFBc0I7QUFDdEIseUVBQXFFO0FBQTVELG1JQUFBLHNCQUFzQixPQUFBO0FBQy9CLHVFQUFtRTtBQUExRCxpSUFBQSxxQkFBcUIsT0FBQTtBQWM5QiwrRUFBK0U7QUFDL0UsaUdBQTZGO0FBQXBGLGlKQUFBLDZCQUE2QixPQUFBO0FBQ3RDLG1HQUErRjtBQUF0RixtSkFBQSw4QkFBOEIsT0FBQTtBQUN2Qyx1R0FBbUc7QUFBMUYsdUpBQUEsZ0NBQWdDLE9BQUE7QUFDekMsdUZBQW1GO0FBQTFFLHVJQUFBLHdCQUF3QixPQUFBO0FBQ2pDLGlHQUE2RjtBQUFwRixpSkFBQSw2QkFBNkIsT0FBQTtBQUN0Qyw2RkFBeUY7QUFBaEYsNklBQUEsMkJBQTJCLE9BQUE7QUFDcEMsaUdBQTZGO0FBQXBGLGlKQUFBLDZCQUE2QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlck9wdGlvbnMgfSBmcm9tICcuL0NvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIuanMnO1xuZXhwb3J0IHsgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlciB9IGZyb20gJy4vQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlci5qcyc7XG5leHBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlRW50cnksIENvbWJpbmVkTmFycmF0aXZlT3B0aW9ucyB9IGZyb20gJy4vbmFycmF0aXZlVHlwZXMuanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9OdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3IuanMnO1xuZXhwb3J0IHR5cGUgeyBJQ29udHJvbEZsb3dOYXJyYXRpdmUgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gRmxvd1JlY29yZGVyIHN5c3RlbVxuZXhwb3J0IHsgRmxvd1JlY29yZGVyRGlzcGF0Y2hlciB9IGZyb20gJy4vRmxvd1JlY29yZGVyRGlzcGF0Y2hlci5qcyc7XG5leHBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL05hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEZsb3dCcmVha0V2ZW50LFxuICBGbG93RGVjaXNpb25FdmVudCxcbiAgRmxvd0Vycm9yRXZlbnQsXG4gIEZsb3dGb3JrRXZlbnQsXG4gIEZsb3dMb29wRXZlbnQsXG4gIEZsb3dOZXh0RXZlbnQsXG4gIEZsb3dSZWNvcmRlcixcbiAgRmxvd1NlbGVjdGVkRXZlbnQsXG4gIEZsb3dTdGFnZUV2ZW50LFxuICBGbG93U3ViZmxvd0V2ZW50LFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gQnVpbHQtaW4gRmxvd1JlY29yZGVyIHN0cmF0ZWdpZXMgKHRyZWUtc2hha2VhYmxlIOKAlCBvbmx5IGltcG9ydGVkIGNvZGUgc2hpcHMpXG5leHBvcnQgeyBBZGFwdGl2ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL0FkYXB0aXZlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IE1pbGVzdG9uZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL01pbGVzdG9uZU5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBQcm9ncmVzc2l2ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1Byb2dyZXNzaXZlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IFJMRU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1JMRU5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBTZXBhcmF0ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1NlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IFNpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1NpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBXaW5kb3dlZE5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1dpbmRvd2VkTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0VBQTJFO0FBQWxFLHlJQUFBLHlCQUF5QixPQUFBO0FBZWxDLCtGQUEyRjtBQUFsRix5SkFBQSxpQ0FBaUMsT0FBQTtBQUcxQyxzQkFBc0I7QUFDdEIseUVBQXFFO0FBQTVELG1JQUFBLHNCQUFzQixPQUFBO0FBQy9CLHVFQUFtRTtBQUExRCxpSUFBQSxxQkFBcUIsT0FBQTtBQWM5QiwrRUFBK0U7QUFDL0UsaUdBQTZGO0FBQXBGLGlKQUFBLDZCQUE2QixPQUFBO0FBQ3RDLG1HQUErRjtBQUF0RixtSkFBQSw4QkFBOEIsT0FBQTtBQUN2Qyx1R0FBbUc7QUFBMUYsdUpBQUEsZ0NBQWdDLE9BQUE7QUFDekMsdUZBQW1GO0FBQTFFLHVJQUFBLHdCQUF3QixPQUFBO0FBQ2pDLGlHQUE2RjtBQUFwRixpSkFBQSw2QkFBNkIsT0FBQTtBQUN0Qyw2RkFBeUY7QUFBaEYsNklBQUEsMkJBQTJCLE9BQUE7QUFDcEMsaUdBQTZGO0FBQXBGLGlKQUFBLDZCQUE2QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cbmV4cG9ydCB0eXBlIHsgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlck9wdGlvbnMgfSBmcm9tICcuL0NvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIuanMnO1xuZXhwb3J0IHsgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlciB9IGZyb20gJy4vQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlci5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEJyZWFrUmVuZGVyQ29udGV4dCxcbiAgQ29tYmluZWROYXJyYXRpdmVFbnRyeSxcbiAgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zLFxuICBEZWNpc2lvblJlbmRlckNvbnRleHQsXG4gIEVycm9yUmVuZGVyQ29udGV4dCxcbiAgRm9ya1JlbmRlckNvbnRleHQsXG4gIExvb3BSZW5kZXJDb250ZXh0LFxuICBOYXJyYXRpdmVSZW5kZXJlcixcbiAgT3BSZW5kZXJDb250ZXh0LFxuICBTZWxlY3RlZFJlbmRlckNvbnRleHQsXG4gIFN0YWdlUmVuZGVyQ29udGV4dCxcbiAgU3ViZmxvd1JlbmRlckNvbnRleHQsXG59IGZyb20gJy4vbmFycmF0aXZlVHlwZXMuanMnO1xuZXhwb3J0IHsgTnVsbENvbnRyb2xGbG93TmFycmF0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9OdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3IuanMnO1xuZXhwb3J0IHR5cGUgeyBJQ29udHJvbEZsb3dOYXJyYXRpdmUgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gRmxvd1JlY29yZGVyIHN5c3RlbVxuZXhwb3J0IHsgRmxvd1JlY29yZGVyRGlzcGF0Y2hlciB9IGZyb20gJy4vRmxvd1JlY29yZGVyRGlzcGF0Y2hlci5qcyc7XG5leHBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuL05hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEZsb3dCcmVha0V2ZW50LFxuICBGbG93RGVjaXNpb25FdmVudCxcbiAgRmxvd0Vycm9yRXZlbnQsXG4gIEZsb3dGb3JrRXZlbnQsXG4gIEZsb3dMb29wRXZlbnQsXG4gIEZsb3dOZXh0RXZlbnQsXG4gIEZsb3dSZWNvcmRlcixcbiAgRmxvd1NlbGVjdGVkRXZlbnQsXG4gIEZsb3dTdGFnZUV2ZW50LFxuICBGbG93U3ViZmxvd0V2ZW50LFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gQnVpbHQtaW4gRmxvd1JlY29yZGVyIHN0cmF0ZWdpZXMgKHRyZWUtc2hha2VhYmxlIOKAlCBvbmx5IGltcG9ydGVkIGNvZGUgc2hpcHMpXG5leHBvcnQgeyBBZGFwdGl2ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL0FkYXB0aXZlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IE1pbGVzdG9uZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL01pbGVzdG9uZU5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBQcm9ncmVzc2l2ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1Byb2dyZXNzaXZlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IFJMRU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1JMRU5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBTZXBhcmF0ZU5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1NlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbmV4cG9ydCB7IFNpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1NpbGVudE5hcnJhdGl2ZUZsb3dSZWNvcmRlci5qcyc7XG5leHBvcnQgeyBXaW5kb3dlZE5hcnJhdGl2ZUZsb3dSZWNvcmRlciB9IGZyb20gJy4vcmVjb3JkZXJzL1dpbmRvd2VkTmFycmF0aXZlRmxvd1JlY29yZGVyLmpzJztcbiJdfQ==
@@ -7,4 +7,4 @@
7
7
  * Use CombinedNarrativeRecorder (auto-attached by setEnableNarrative()) instead.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFycmF0aXZlVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvbmFycmF0aXZlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbmFycmF0aXZlVHlwZXMg4oCUIFNoYXJlZCB0eXBlIGRlZmluaXRpb25zIGZvciB0aGUgbmFycmF0aXZlIHJlY29yZGVyIHN5c3RlbS5cbiAqXG4gKiBQcmV2aW91c2x5OiBDb21iaW5lZE5hcnJhdGl2ZUJ1aWxkZXIudHMgKGZpbGUgcmVuYW1lZCBpbiBwb3N0LXJlbGVhc2UgY2xlYW51cCkuXG4gKiBUaGUgQ29tYmluZWROYXJyYXRpdmVCdWlsZGVyIGNsYXNzIHdhcyByZW1vdmVkIGluIHYxLjAuXG4gKiBVc2UgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlciAoYXV0by1hdHRhY2hlZCBieSBzZXRFbmFibGVOYXJyYXRpdmUoKSkgaW5zdGVhZC5cbiAqL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFR5cGVzIChrZXB0IOKAlCB1c2VkIGJ5IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIsIEZsb3dDaGFydEV4ZWN1dG9yLCBldGMuKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYmluZWROYXJyYXRpdmVFbnRyeSB7XG4gIHR5cGU6ICdzdGFnZScgfCAnc3RlcCcgfCAnY29uZGl0aW9uJyB8ICdmb3JrJyB8ICdzZWxlY3RvcicgfCAnc3ViZmxvdycgfCAnbG9vcCcgfCAnYnJlYWsnIHwgJ2Vycm9yJztcbiAgdGV4dDogc3RyaW5nO1xuICBkZXB0aDogbnVtYmVyO1xuICBzdGFnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBTdGFibGUgc3RhZ2UgaWRlbnRpZmllciBmcm9tIHRoZSBidWlsZGVyIChtYXRjaGVzIHNwZWMgbm9kZSBpZCkuIFVzZSBmb3IgVUkgc3luYy4gKi9cbiAgc3RhZ2VJZD86IHN0cmluZztcbiAgc3RlcE51bWJlcj86IG51bWJlcjtcbiAgLyoqIFN1YmZsb3cgSUQgd2hlbiB0aGlzIGVudHJ5IHdhcyBnZW5lcmF0ZWQgaW5zaWRlIGEgc3ViZmxvdy4gVW5kZWZpbmVkIGZvciByb290LWxldmVsLiAqL1xuICBzdWJmbG93SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIHtcbiAgaW5jbHVkZVN0ZXBOdW1iZXJzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVZhbHVlcz86IGJvb2xlYW47XG4gIGluZGVudD86IHN0cmluZztcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFycmF0aXZlVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvbmFycmF0aXZlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbmFycmF0aXZlVHlwZXMg4oCUIFNoYXJlZCB0eXBlIGRlZmluaXRpb25zIGZvciB0aGUgbmFycmF0aXZlIHJlY29yZGVyIHN5c3RlbS5cbiAqXG4gKiBQcmV2aW91c2x5OiBDb21iaW5lZE5hcnJhdGl2ZUJ1aWxkZXIudHMgKGZpbGUgcmVuYW1lZCBpbiBwb3N0LXJlbGVhc2UgY2xlYW51cCkuXG4gKiBUaGUgQ29tYmluZWROYXJyYXRpdmVCdWlsZGVyIGNsYXNzIHdhcyByZW1vdmVkIGluIHYxLjAuXG4gKiBVc2UgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlciAoYXV0by1hdHRhY2hlZCBieSBzZXRFbmFibGVOYXJyYXRpdmUoKSkgaW5zdGVhZC5cbiAqL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFR5cGVzIChrZXB0IOKAlCB1c2VkIGJ5IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIsIEZsb3dDaGFydEV4ZWN1dG9yLCBldGMuKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYmluZWROYXJyYXRpdmVFbnRyeSB7XG4gIHR5cGU6ICdzdGFnZScgfCAnc3RlcCcgfCAnY29uZGl0aW9uJyB8ICdmb3JrJyB8ICdzZWxlY3RvcicgfCAnc3ViZmxvdycgfCAnbG9vcCcgfCAnYnJlYWsnIHwgJ2Vycm9yJztcbiAgdGV4dDogc3RyaW5nO1xuICBkZXB0aDogbnVtYmVyO1xuICBzdGFnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBTdGFibGUgc3RhZ2UgaWRlbnRpZmllciBmcm9tIHRoZSBidWlsZGVyIChtYXRjaGVzIHNwZWMgbm9kZSBpZCkuIFVzZSBmb3IgVUkgc3luYy4gKi9cbiAgc3RhZ2VJZD86IHN0cmluZztcbiAgc3RlcE51bWJlcj86IG51bWJlcjtcbiAgLyoqIFN1YmZsb3cgSUQgd2hlbiB0aGlzIGVudHJ5IHdhcyBnZW5lcmF0ZWQgaW5zaWRlIGEgc3ViZmxvdy4gVW5kZWZpbmVkIGZvciByb290LWxldmVsLiAqL1xuICBzdWJmbG93SWQ/OiBzdHJpbmc7XG4gIC8qKiBSYXcgdmFsdWUgZnJvbSB0aGUgc2NvcGUgZXZlbnQg4oCUIGF2YWlsYWJsZSBmb3IgcHJvZ3JhbW1hdGljIGFjY2VzcyBhbmQgY3VzdG9tIGZvcm1hdHRpbmcuXG4gICAqICBPbmx5IHByZXNlbnQgb24gJ3N0ZXAnIGVudHJpZXMgKHJlYWQvd3JpdGUgb3BzKS4gVGhpcyBpcyBhIGxpdmUgcmVmZXJlbmNlLCBub3QgYSBjbG9uZS5cbiAgICogIFdoZW4gdXNpbmcgU2NvcGVGYWNhZGUsIHJlZGFjdGVkIGtleXMgd2lsbCBoYXZlIHZhbHVlICdbUkVEQUNURURdJyAoc2FuaXRpemVkIHVwc3RyZWFtXG4gICAqICBieSBTY29wZUZhY2FkZSBiZWZvcmUgZGlzcGF0Y2hpbmcgZXZlbnRzIOKAlCB0aGUgcmVjb3JkZXIgZG9lcyBub3QgZW5mb3JjZSByZWRhY3Rpb24pLiAqL1xuICByYXdWYWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYmluZWROYXJyYXRpdmVPcHRpb25zIHtcbiAgaW5jbHVkZVN0ZXBOdW1iZXJzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVZhbHVlcz86IGJvb2xlYW47XG4gIGluZGVudD86IHN0cmluZztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOYXJyYXRpdmVSZW5kZXJlciDigJQgUGx1Z2dhYmxlIHJlbmRlcmluZyBmb3IgQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKiBDb250ZXh0IHBhc3NlZCB0byByZW5kZXJTdGFnZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2VSZW5kZXJDb250ZXh0IHtcbiAgc3RhZ2VOYW1lOiBzdHJpbmc7XG4gIHN0YWdlTnVtYmVyOiBudW1iZXI7XG4gIGlzRmlyc3Q6IGJvb2xlYW47XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKiogQ29udGV4dCBwYXNzZWQgdG8gcmVuZGVyT3AuIFJldHVybiBudWxsIHRvIGV4Y2x1ZGUgdGhlIGVudHJ5LiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcFJlbmRlckNvbnRleHQge1xuICB0eXBlOiAncmVhZCcgfCAnd3JpdGUnO1xuICBrZXk6IHN0cmluZztcbiAgcmF3VmFsdWU6IHVua25vd247XG4gIHZhbHVlU3VtbWFyeTogc3RyaW5nO1xuICBvcGVyYXRpb24/OiAnc2V0JyB8ICd1cGRhdGUnIHwgJ2RlbGV0ZSc7XG4gIHN0ZXBOdW1iZXI6IG51bWJlcjtcbn1cblxuLyoqIENvbnRleHQgcGFzc2VkIHRvIHJlbmRlckRlY2lzaW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWNpc2lvblJlbmRlckNvbnRleHQge1xuICBkZWNpZGVyOiBzdHJpbmc7XG4gIGNob3Nlbjogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmF0aW9uYWxlPzogc3RyaW5nO1xuICAvKiogUmF3IGV2aWRlbmNlIGZyb20gZGVjaWRlKCkvc2VsZWN0KCkg4oCUIGF2YWlsYWJsZSBmb3IgY3VzdG9tIHJlbmRlcmluZy4gKi9cbiAgZXZpZGVuY2U/OiB1bmtub3duO1xufVxuXG4vKiogQ29udGV4dCBwYXNzZWQgdG8gcmVuZGVyRm9yay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9ya1JlbmRlckNvbnRleHQge1xuICBjaGlsZHJlbjogc3RyaW5nW107XG59XG5cbi8qKiBDb250ZXh0IHBhc3NlZCB0byByZW5kZXJTdWJmbG93LiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJmbG93UmVuZGVyQ29udGV4dCB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGlyZWN0aW9uOiAnZW50cnknIHwgJ2V4aXQnO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqIENvbnRleHQgcGFzc2VkIHRvIHJlbmRlckxvb3AuICovXG5leHBvcnQgaW50ZXJmYWNlIExvb3BSZW5kZXJDb250ZXh0IHtcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGl0ZXJhdGlvbjogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqIENvbnRleHQgcGFzc2VkIHRvIHJlbmRlckJyZWFrLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmVha1JlbmRlckNvbnRleHQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIENvbnRleHQgcGFzc2VkIHRvIHJlbmRlclNlbGVjdGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZFJlbmRlckNvbnRleHQge1xuICBzZWxlY3RlZDogc3RyaW5nW107XG4gIHRvdGFsOiBudW1iZXI7XG4gIC8qKiBSYXcgZXZpZGVuY2UgZnJvbSBzZWxlY3QoKSDigJQgYXZhaWxhYmxlIGZvciBjdXN0b20gcmVuZGVyaW5nLiAqL1xuICBldmlkZW5jZT86IHVua25vd247XG59XG5cbi8qKiBDb250ZXh0IHBhc3NlZCB0byByZW5kZXJFcnJvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JSZW5kZXJDb250ZXh0IHtcbiAgc3RhZ2VOYW1lOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdmFsaWRhdGlvbklzc3Vlcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQbHVnZ2FibGUgcmVuZGVyZXIgZm9yIGN1c3RvbWl6aW5nIG5hcnJhdGl2ZSBvdXRwdXQuXG4gKlxuICogRWFjaCBtZXRob2QgaXMgb3B0aW9uYWwg4oCUIHVuaW1wbGVtZW50ZWQgbWV0aG9kcyBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHRcbiAqIEVuZ2xpc2ggcmVuZGVyZXIuIFJldHVybiBudWxsIGZyb20gcmVuZGVyT3AgdG8gZXhjbHVkZSBhbiBlbnRyeSBlbnRpcmVseS5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZWMgPSBuYXJyYXRpdmUoe1xuICogICByZW5kZXJlcjoge1xuICogICAgIHJlbmRlck9wKGN0eCkge1xuICogICAgICAgaWYgKGN0eC5rZXkuc3RhcnRzV2l0aCgnX2ludGVybmFsJykpIHJldHVybiBudWxsOyAvLyBmaWx0ZXIgb3V0IGludGVybmFsIGtleXNcbiAqICAgICAgIHJldHVybiBgJHtjdHgudHlwZSA9PT0gJ3JlYWQnID8gJ1JlYWQnIDogJ1dyb3RlJ30gJHtjdHgua2V5fTogJHtjdHgudmFsdWVTdW1tYXJ5fWA7XG4gKiAgICAgfSxcbiAqICAgfSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFycmF0aXZlUmVuZGVyZXIge1xuICByZW5kZXJTdGFnZT8oY3R4OiBTdGFnZVJlbmRlckNvbnRleHQpOiBzdHJpbmc7XG4gIC8qKiBSZXR1cm4gbnVsbCB0byBleGNsdWRlIHRoZSBvcCBmcm9tIHRoZSBuYXJyYXRpdmUuICovXG4gIHJlbmRlck9wPyhjdHg6IE9wUmVuZGVyQ29udGV4dCk6IHN0cmluZyB8IG51bGw7XG4gIHJlbmRlckRlY2lzaW9uPyhjdHg6IERlY2lzaW9uUmVuZGVyQ29udGV4dCk6IHN0cmluZztcbiAgcmVuZGVyRm9yaz8oY3R4OiBGb3JrUmVuZGVyQ29udGV4dCk6IHN0cmluZztcbiAgcmVuZGVyU2VsZWN0ZWQ/KGN0eDogU2VsZWN0ZWRSZW5kZXJDb250ZXh0KTogc3RyaW5nO1xuICByZW5kZXJTdWJmbG93PyhjdHg6IFN1YmZsb3dSZW5kZXJDb250ZXh0KTogc3RyaW5nO1xuICByZW5kZXJMb29wPyhjdHg6IExvb3BSZW5kZXJDb250ZXh0KTogc3RyaW5nO1xuICByZW5kZXJCcmVhaz8oY3R4OiBCcmVha1JlbmRlckNvbnRleHQpOiBzdHJpbmc7XG4gIHJlbmRlckVycm9yPyhjdHg6IEVycm9yUmVuZGVyQ29udGV4dCk6IHN0cmluZztcbn1cbiJdfQ==