@magic-xpa/engine 4.800.0-dev480.93 → 4.800.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 (48) hide show
  1. package/bundles/magic-xpa-engine.umd.js +1329 -1138
  2. package/bundles/magic-xpa-engine.umd.js.map +1 -1
  3. package/bundles/magic-xpa-engine.umd.min.js +2 -2
  4. package/bundles/magic-xpa-engine.umd.min.js.map +1 -1
  5. package/esm2015/index.js +2 -1
  6. package/esm2015/src/ClientManager.js +2 -2
  7. package/esm2015/src/ConstInterface.js +7 -3
  8. package/esm2015/src/CurrentClientVersion.js +2 -2
  9. package/esm2015/src/commands/ClientToServer/CommandFactory.js +15 -1
  10. package/esm2015/src/commands/ClientToServer/ExecOperCommand.js +4 -1
  11. package/esm2015/src/commands/ClientToServer/SelectProgramCommand.js +15 -0
  12. package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +1 -7
  13. package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +2 -2
  14. package/esm2015/src/env/Environment.js +11 -1
  15. package/esm2015/src/event/ActionManager.js +3 -2
  16. package/esm2015/src/event/EventHandler.js +10 -4
  17. package/esm2015/src/event/EventsManager.js +120 -20
  18. package/esm2015/src/event/IEventsManager.js +1 -1
  19. package/esm2015/src/exp/ExpressionDict.js +3 -1
  20. package/esm2015/src/exp/ExpressionEvaluator.js +33 -22
  21. package/esm2015/src/gui/MgForm.js +16 -24
  22. package/esm2015/src/remote/RemoteCommandsProcessor.js +48 -21
  23. package/esm2015/src/rt/Operation.js +7 -30
  24. package/esm2015/src/tasks/MGData.js +11 -1
  25. package/esm2015/src/tasks/MGDataCollection.js +12 -2
  26. package/esm2015/src/tasks/Task.js +46 -46
  27. package/esm2015/src/util/PrmMap.js +11 -1
  28. package/esm2015/src/util/cookie.service.js +10 -6
  29. package/fesm2015/magic-xpa-engine.js +358 -175
  30. package/fesm2015/magic-xpa-engine.js.map +1 -1
  31. package/index.d.ts +1 -0
  32. package/package.json +4 -4
  33. package/src/ConstInterface.d.ts +6 -2
  34. package/src/commands/ClientToServer/CommandFactory.d.ts +1 -0
  35. package/src/commands/ClientToServer/ExecOperCommand.d.ts +2 -1
  36. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +6 -0
  37. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +0 -1
  38. package/src/env/Environment.d.ts +3 -0
  39. package/src/event/EventsManager.d.ts +11 -1
  40. package/src/event/IEventsManager.d.ts +1 -0
  41. package/src/exp/ExpressionEvaluator.d.ts +1 -0
  42. package/src/gui/MgForm.d.ts +1 -1
  43. package/src/rt/Operation.d.ts +0 -3
  44. package/src/tasks/MGData.d.ts +2 -0
  45. package/src/tasks/MGDataCollection.d.ts +1 -0
  46. package/src/tasks/Task.d.ts +0 -1
  47. package/src/util/PrmMap.d.ts +1 -0
  48. package/src/util/cookie.service.d.ts +2 -2
@@ -30,6 +30,7 @@ import { GlobalParamsQueryCommand } from "./GlobalParamsQueryCommand";
30
30
  import { IniputForceWriteCommand } from "./IniputForceWriteCommand";
31
31
  import { ContextTerminationEventCommand } from "./ContextTerminationEventCommand";
32
32
  import { ContextTimeoutResetCommand } from "./ContextTimeoutResetCommand";
33
+ import { SelectProgramCommand } from './SelectProgramCommand';
33
34
  export class CommandFactory {
34
35
  static CreateEventCommand(taskTag, magicEvent) {
35
36
  let eventCommand = new EventCommand(magicEvent);
@@ -247,6 +248,19 @@ export class CommandFactory {
247
248
  cmd.Val = value;
248
249
  return cmd;
249
250
  }
251
+ static CreateSelectProgramCommand(taskTag, handlerId, operIdx, ditIdx, value) {
252
+ let execOperCommand = new SelectProgramCommand();
253
+ execOperCommand.OperIdx = operIdx;
254
+ execOperCommand.TaskTag = taskTag;
255
+ execOperCommand.HandlerId = handlerId;
256
+ execOperCommand.DitIdx = ditIdx;
257
+ let cmd = execOperCommand;
258
+ if (value !== null && value.length === 0)
259
+ cmd.Val = " ";
260
+ else
261
+ cmd.Val = value;
262
+ return cmd;
263
+ }
250
264
  static CreateEvaluateCommand(taskTag, expType, expIdx, expValLen, mprgCreator) {
251
265
  let evaluateCommand = new EvaluateCommand();
252
266
  evaluateCommand.TaskTag = taskTag;
@@ -266,4 +280,4 @@ export class CommandFactory {
266
280
  return iniputForceWriteCommand;
267
281
  }
268
282
  }
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLG9CQUFvQixFQUFvQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBQyxlQUFlLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUd2RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsc0JB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TUFBTSxLQUFLLENBQUM7WUFDdEMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7O1lBRWQsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBV0QsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxPQUF5QixFQUFFLE1BQWMsRUFBRSxTQUFpQixFQUFFLFdBQWlCO1FBQzNILElBQUksZUFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzdELGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFDLElBQUksU0FBUyxHQUFHLENBQUM7WUFDZixlQUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtFeGNlcHRpb259IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlLCBTdG9yYWdlQXR0cmlidXRlLCBWaWV3UmVmcmVzaE1vZGV9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtSb2xsYmFja0V2ZW50Q29tbWFuZCwgUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlfSBmcm9tIFwiLi9Sb2xsYmFja0V2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0RhdGF2aWV3Q29tbWFuZCwgRGF0YVZpZXdDb21tYW5kVHlwZX0gZnJvbSBcIi4vRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrQmFzZVwiO1xyXG5pbXBvcnQge0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZH0gZnJvbSBcIi4vQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7U29ydH0gZnJvbSBcIi4uLy4uL3Rhc2tzL3NvcnQvU29ydFwiO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tIFwiLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuL0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tIFwiLi9TZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmR9IGZyb20gXCIuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vUmVmcmVzaEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FyZ3VtZW50c0xpc3R9IGZyb20gXCIuLi8uLi9ydC9Bcmd1bWVudHNMaXN0XCI7XHJcbmltcG9ydCB7RGF0YVZpZXdPdXRwdXRDb21tYW5kfSBmcm9tIFwiLi9EYXRhVmlld091dHB1dENvbW1hbmRcIjtcclxuaW1wb3J0IHtGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7V3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kfSBmcm9tIFwiLi9Xcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtCcm93c2VyRXNjRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7SW5kZXhDaGFuZ2VFdmVudENvbW1hbmR9IGZyb20gXCIuL0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29sdW1uU29ydEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmR9IGZyb20gXCIuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybU9wZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Db21wdXRlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Tm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmR9IGZyb20gXCIuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVjb21wdXRlQ29tbWFuZH0gZnJvbSBcIi4vUmVjb21wdXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSBcIi4vVHJhbnNhY3Rpb25Db21tYW5kXCI7XHJcbmltcG9ydCB7VW5sb2FkQ29tbWFuZH0gZnJvbSBcIi4vVW5sb2FkQ29tbWFuZFwiO1xyXG5pbXBvcnQge0V4ZWNPcGVyQ29tbWFuZH0gZnJvbSBcIi4vRXhlY09wZXJDb21tYW5kXCI7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tIFwiLi9FdmFsdWF0ZUNvbW1hbmRcIjtcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmR9IGZyb20gXCIuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZFwiO1xyXG5pbXBvcnQge0luaXB1dEZvcmNlV3JpdGVDb21tYW5kfSBmcm9tIFwiLi9JbmlwdXRGb3JjZVdyaXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udGV4dFRpbWVvdXRSZXNldENvbW1hbmR9IGZyb20gXCIuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBmYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBjb21tYW5kc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZhY3Rvcnkge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlcik6IEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZXZlbnRDb21tYW5kOiBFdmVudENvbW1hbmQgPSBuZXcgRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgZXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjSGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY09ialwiPnRoZSBESVQgaW5kZXggb2YgdGhlIGNvbnRyb2wgdGhhdCBoYWQgdGhlIGZvY3VzIHdoZW4gdGhlIGV2ZW50IG9jY3VycmVkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSb2xsYmFja0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJvbGxiYWNrVHlwZTogUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlKTogUm9sbGJhY2tFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNtZDogUm9sbGJhY2tFdmVudENvbW1hbmQgPSBuZXcgUm9sbGJhY2tFdmVudENvbW1hbmQoKTtcclxuICAgIGNtZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNtZC5Sb2xsYmFjayA9IHJvbGxiYWNrVHlwZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGdlbmVyYWwgZGF0YXZpZXcgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb21tYW5kVHlwZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRGF0YVZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSk6IERhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YXZpZXdDb21tYW5kOiBEYXRhdmlld0NvbW1hbmQgPSBuZXcgRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuQ29tbWFuZFR5cGUgPSBjb21tYW5kVHlwZTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmV0dXJuIGRhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHNvcnQ6IFNvcnQpOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuU29ydCA9IHNvcnQ7XHJcbiAgICByZXR1cm4gYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgc2V0IHRyYW5zYWN0aW9uIHN0YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidHJhbnNhY3Rpb25Jc09wZW5lZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdHJhbnNhY3Rpb25Jc09wZW5lZDogYm9vbGVhbik6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQgPSBuZXcgU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UcmFuc2FjdGlvbklzT3BlbiA9IHRyYW5zYWN0aW9uSXNPcGVuZWQ7XHJcbiAgICByZXR1cm4gc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIHRvIHJlZmVyc2ggdGhlIGRhdGEgY29udHJvbC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVQYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29udHJvbFBhcmFtOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCA9IG5ldyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCgpO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuQ29udHJvbCA9IGNvbnRyb2xQYXJhbTtcclxuICAgIHJldHVybiBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSBcIjFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjbWQuS2VlcFVzZXJTb3J0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZURhdGFWaWV3VG9EYXRhU291cmNlQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgZ2VuZXJhdGlvbjogbnVtYmVyLCB0YXNrVmFyTmFtZXM6IHN0cmluZywgZGVzdGluYXRpb25EU051bWJlcjogbnVtYmVyLCBkZXN0aW5hdGlvbkRTTmFtZTogc3RyaW5nLCBkZXN0aW5hdGlvbkNvbHVtbnM6IHN0cmluZyk6IERhdGFWaWV3T3V0cHV0Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YVZpZXdPdXRwdXRDb21tYW5kOiBEYXRhVmlld091dHB1dENvbW1hbmQgPSBuZXcgRGF0YVZpZXdPdXRwdXRDb21tYW5kKERhdGFWaWV3Q29tbWFuZFR5cGUuRGF0YVZpZXdUb0RhdGFTb3VyY2UpO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuR2VuZXJhdGlvbiA9IGdlbmVyYXRpb247XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuVGFza1Zhck5hbWVzID0gdGFza1Zhck5hbWVzO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uRGF0YVNvdXJjZU51bWJlciA9IGRlc3RpbmF0aW9uRFNOdW1iZXI7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuRGVzdGluYXRpb25EYXRhU291cmNlTmFtZSA9IGRlc3RpbmF0aW9uRFNOYW1lO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uQ29sdW1ucyA9IGRlc3RpbmF0aW9uQ29sdW1ucztcclxuICAgIHJldHVybiBkYXRhVmlld091dHB1dENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZSBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnQgY29tbWFuZCB3aGljaCB3aWxsIGZldGNoIHRoZSBkYXRhIGNvbnRyb2wgdmFsdWVzIGZyb20gc2VydmVyLiBUaGlzIGlzIHVzZWQgd2hpbGUgZXhlY3V0aW5nIENvbnRyb2xJdGVtc1JlZnJlc2goKSBmdW5jdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJnZW5lcmF0aW9uUGFyYW1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZWNGZXRjaERhdGFDb250cm9sVmFsdWVzQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kID0gbmV3IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQoKTtcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLkNvbnRyb2xOYW1lID0gY29udHJvbE5hbWU7XHJcbiAgICByZXR1cm4gZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIFdyaXRlTWVzc2FnZXNUb1NlcnZlckxvZyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJlcnJvck1lc3NhZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogc3RyaW5nKTogV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kIHtcclxuICAgIGxldCB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQ6IFdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCA9IG5ldyBXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQoKTtcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5FcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XHJcbiAgICByZXR1cm4gd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1UYXNrVGFnOiBzdHJpbmcsIGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g6IGJvb2xlYW4pOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlN1YmZvcm1UYXNrVGFnID0gc3ViZm9ybVRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5FeHBsaWNpdFN1YmZvcm1SZWZyZXNoID0gZXhwbGljaXRTdWJmb3JtUmVmcmVzaDtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLlVzZVRhc2tMb2NhdGU7XHJcbiAgICByZXR1cm4gc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIHN1YmZvcm0gb3BlbiBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybU9wZW5Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybURpdElkeDogbnVtYmVyKTogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5EaXRJZHggPSBzdWJmb3JtRGl0SWR4O1xyXG4gICAgcmV0dXJuIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgc2NyZWVuIHJlZnJlc2ggY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNjcmVlblJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgdG9wUmVjSWR4OiBudW1iZXIsIGNsaWVudFJlY0lkOiBudW1iZXIpOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRvcFJlY0lkeCA9IHRvcFJlY0lkeDtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIGNvbHVtbiBzb3J0IGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb2x1bW5Tb3J0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGRpcmVjdGlvbjogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgZmllbGRJZDogbnVtYmVyLCByZWNJZDogbnVtYmVyKTogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29sdW1uU29ydEV2ZW50Q29tbWFuZDogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCA9IG5ldyBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkZsZElkID0gZmllbGRJZCArIDE7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIHJldHVybiBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vICAgY3JlYXRlcyBhbiBJbmRleCBDaGFuZ2UgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZUluZGV4Q2hhbmdlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJlY0lkOiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QpOiBQcm9taXNlPEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gbmV3IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBsZXQgY21kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kO1xyXG5cclxuICAgIC8vIDEgcGFyYW1ldGVyIDogVGhlIG5ldyBLZXkgSW5kZXhcclxuICAgIGlmIChhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IGtleUluZGV4OiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IGtleUluZGV4Lk5VTV8yX0xPTkcoKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbi8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImV4aXRCeU1lbnVcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJjbG9zZVN1YmZvcm1Pbmx5XCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQnJvd3NlckVzY0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBicm93c2VyRXNjRXZlbnRDb21tYW5kOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kID0gbmV3IEJyb3dzZXJFc2NFdmVudENvbW1hbmQoKTtcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIGJyb3dzZXJFc2NFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjbGllbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29tcHV0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1zOiBib29sZWFuLCBjbGllbnRSZWNJZDogbnVtYmVyKTogQ29tcHV0ZUV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29tcHV0ZUV2ZW50Q29tbWFuZDogQ29tcHV0ZUV2ZW50Q29tbWFuZCA9IG5ldyBDb21wdXRlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5TdWJmb3JtcyA9IHN1YmZvcm1zO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIGNvbXB1dGVFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyB0aGUgY29udGV4dCB0ZXJtaW5hdGlvbiByZXF1ZXN0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZyk6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQgPSBuZXcgQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBkdW1teSByZXF1ZXN0IHRvIHplcm8taW4gdGhlIGNvbnRleHQgaW5hY3Rpdml0eSB0aW1lb3V0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRpbWVvdXRSZXNldEV2ZW50Q29tbWFuZCgpIDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCA9IG5ldyBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCgpO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgbm9ucmV2ZXJzaWJsZSBleGl0IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlTm9uUmV2ZXJzaWJsZUV4aXRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQgPSBuZXcgTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQoKTtcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBSZWNvbXB1dGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZpZWxkSWRcIj50aGUgaWQgb2YgdGhlIGZpZWxkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlUmVjb21wdXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGZpZWxkSWQ6IG51bWJlciwgaWdub3JlU3ViZm9ybVJlY29tcHV0ZTogYm9vbGVhbik6IFJlY29tcHV0ZUNvbW1hbmQge1xyXG4gICAgbGV0IHJlY29tcHV0ZUNvbW1hbmQ6IFJlY29tcHV0ZUNvbW1hbmQgPSBuZXcgUmVjb21wdXRlQ29tbWFuZCgpO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuRmxkSWQgPSBmaWVsZElkO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5JZ25vcmVTdWJmb3JtUmVjb21wdXRlID0gaWdub3JlU3ViZm9ybVJlY29tcHV0ZTtcclxuICAgIHJldHVybiByZWNvbXB1dGVDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgVHJhbnNhY3Rpb24gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVyXCI+dGhlIHR5cGUgb2Ygb3BlcmF0aW9uOiBCZWdpbiwgQ29tbWl0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj50aGUgdGFzayBvZiB0aGUgdHJhbnNhY3Rpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY1JldmVyc2libGVFeGl0XCI+dHJ1ZSBpZiB0aGUgdGFzayBleGl0IGlzIHJldmVyc2libGU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGV2ZWxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVUcmFuc2FjdGlvbkNvbW1hbmQob3Blcjogc3RyaW5nLCB0YXNrVGFnOiBzdHJpbmcsIGNSZXZlcnNpYmxlRXhpdDogYm9vbGVhbiwgbGV2ZWw6IHN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9IFwiIFwiO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLG9CQUFvQixFQUFvQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBQyxlQUFlLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUd2RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs5RCxNQUFNLE9BQU8sY0FBYztJQVF6QixNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBZSxFQUFFLFVBQWtCO1FBQzNELElBQUksWUFBWSxHQUFpQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxZQUFZLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMvQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBVUQsTUFBTSxDQUFDLDBCQUEwQixDQUFDLE9BQWUsRUFBRSxZQUErQztRQUNoRyxJQUFJLEdBQUcsR0FBeUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQzNELEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQVFELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFjLEVBQUUsV0FBZ0M7UUFDM0UsSUFBSSxlQUFlLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0QsZUFBZSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDMUMsZUFBZSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDakMsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQVFELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFjLEVBQUUsU0FBb0I7UUFDM0UsSUFBSSwyQkFBMkIsR0FBZ0MsSUFBSSwyQkFBMkIsRUFBRSxDQUFDO1FBQ2pHLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDN0MsMkJBQTJCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUM5QyxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7SUFTRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsTUFBYyxFQUFFLElBQVU7UUFDaEUsSUFBSSwwQkFBMEIsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzlGLDBCQUEwQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDNUMsMEJBQTBCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN2QyxPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFTRCxNQUFNLENBQUMsa0NBQWtDLENBQUMsTUFBYyxFQUFFLFNBQW9CO1FBQzVFLElBQUksNEJBQTRCLEdBQWlDLElBQUksNEJBQTRCLEVBQUUsQ0FBQztRQUNwRyw0QkFBNEIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzlDLDRCQUE0QixDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDL0MsT0FBTyw0QkFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBUUQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLE1BQWMsRUFBRSxtQkFBNEI7UUFDMUYsSUFBSSxrQ0FBa0MsR0FBdUMsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3RILGtDQUFrQyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDcEQsa0NBQWtDLENBQUMsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7UUFDM0UsT0FBTyxrQ0FBa0MsQ0FBQztJQUM1QyxDQUFDO0lBU0QsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLE1BQWMsRUFBRSxZQUEyQjtRQUNqRixJQUFJLDBCQUEwQixHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDOUYsMEJBQTBCLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM1QywwQkFBMEIsQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUM7UUFDakYsMEJBQTBCLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztRQUNsRCxPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFTRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsTUFBYyxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxVQUFrQjtRQUM5RyxJQUFJLG1CQUFtQixHQUF3QixJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckMsbUJBQW1CLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDbEUsbUJBQW1CLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUMvQyxtQkFBbUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDN0MsbUJBQW1CLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQ2xELE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQU1ELE1BQU0sQ0FBTyx3QkFBd0IsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxVQUFrQixFQUFFLE9BQXNCLEVBQUUsWUFBb0I7O1lBQ3hJLElBQUksbUJBQW1CLEdBQXdCLElBQUksbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkYsbUJBQW1CLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUNyQyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztZQUNsRSxtQkFBbUIsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7WUFDL0MsbUJBQW1CLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1lBQ2xELElBQUksR0FBRyxHQUF3QixtQkFBbUIsQ0FBQztZQUVuRCxJQUFJLFVBQVUsS0FBSyxpQkFBaUIsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQzVHLElBQUk7b0JBQ0YsSUFBSSxXQUFXLEdBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEcsR0FBRyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUNoRDtnQkFDRCxPQUFPLENBQUMsRUFBRTtvQkFDUixHQUFHLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7aUJBQ25EO2dCQUVELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDekIsSUFBSTt3QkFDRixHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQSxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBSyxHQUFHLENBQUMsQ0FBQztxQkFDeEY7b0JBQ0QsT0FBTyxDQUFDLEVBQUU7d0JBQ1IsR0FBRyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7cUJBQzFCO2lCQUNGO2FBQ0Y7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7S0FBQTtJQUVELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLG1CQUEyQixFQUFFLGlCQUF5QixFQUFFLGtCQUEwQjtRQUNuTCxJQUFJLHFCQUFxQixHQUEwQixJQUFJLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkgscUJBQXFCLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN2QyxxQkFBcUIsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDbEQscUJBQXFCLENBQUMsMkJBQTJCLEdBQUcsbUJBQW1CLENBQUM7UUFDeEUscUJBQXFCLENBQUMseUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7UUFDcEUscUJBQXFCLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDOUQsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBU0QsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLE9BQWUsRUFBRSxXQUFtQjtRQUM5RSxJQUFJLGtDQUFrQyxHQUF1QyxJQUFJLGtDQUFrQyxFQUFFLENBQUM7UUFDdEgsa0NBQWtDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNyRCxrQ0FBa0MsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzdELE9BQU8sa0NBQWtDLENBQUM7SUFDNUMsQ0FBQztJQVFELE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFlLEVBQUUsWUFBb0I7UUFDL0UsSUFBSSw4QkFBOEIsR0FBbUMsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1FBQzFHLDhCQUE4QixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDakQsOEJBQThCLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUMzRCxPQUFPLDhCQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsT0FBZSxFQUFFLGNBQXNCLEVBQUUsc0JBQStCO1FBQ3pHLElBQUksMEJBQTBCLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUM5RiwwQkFBMEIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzdDLDBCQUEwQixDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDM0QsMEJBQTBCLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDM0UsMEJBQTBCLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDdkUsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBTUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQWUsRUFBRSxhQUFxQjtRQUNwRSxJQUFJLHVCQUF1QixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDckYsdUJBQXVCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMxQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQy9DLE9BQU8sdUJBQXVCLENBQUM7SUFDakMsQ0FBQztJQU1ELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxXQUFtQjtRQUN2RixJQUFJLHlCQUF5QixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDM0YseUJBQXlCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM1Qyx5QkFBeUIsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2hELHlCQUF5QixDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBQ3hFLHlCQUF5QixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDcEQsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBTUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxTQUFpQixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsS0FBYTtRQUMvRyxJQUFJLHNCQUFzQixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDbEYsc0JBQXNCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0Msc0JBQXNCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QyxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFLRCxNQUFNLENBQU8sd0JBQXdCLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFzQjs7WUFDMUYsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3JGLHVCQUF1QixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDMUMsdUJBQXVCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUM1QyxJQUFJLEdBQUcsR0FBNEIsdUJBQXVCLENBQUM7WUFHM0QsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQy9DLElBQUk7b0JBQ0YsSUFBSSxRQUFRLEdBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakcsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7aUJBQ3RDO2dCQUNELE9BQU8sQ0FBQyxFQUFFO29CQUNSLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2lCQUNsQjthQUNGO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO0tBQUE7SUFTRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsT0FBZSxFQUFFLGdCQUF5QjtRQUM1RSxJQUFJLHNCQUFzQixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDbEYsc0JBQXNCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxzQkFBc0IsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUMzRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFTRCxNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBZSxFQUFFLFFBQWlCLEVBQUUsV0FBbUI7UUFDdEYsSUFBSSxtQkFBbUIsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pFLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN4QyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlDLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQU1ELE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFlO1FBQ3pELElBQUksOEJBQThCLEdBQW1DLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUMxRyw4QkFBOEIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2pELE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztJQUtELE1BQU0sQ0FBQyxxQ0FBcUM7UUFDMUMsSUFBSSwwQkFBMEIsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzlGLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQU9ELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxPQUFlLEVBQUUsZ0JBQXlCO1FBQzlFLElBQUksNkJBQTZCLEdBQWtDLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUN2Ryw2QkFBNkIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2hELDZCQUE2QixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ2xFLE9BQU8sNkJBQTZCLENBQUM7SUFDdkMsQ0FBQztJQVFELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFlLEVBQUUsT0FBZSxFQUFFLHNCQUErQjtRQUM3RixJQUFJLGdCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDaEUsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNuQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLGdCQUFnQixDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ2pFLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQVVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLGVBQXdCLEVBQUUsS0FBYTtRQUNwRyxJQUFJLGtCQUFrQixHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdEUsa0JBQWtCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNyQyxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQy9CLGtCQUFrQixDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUM7UUFDcEQsa0JBQWtCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNqQyxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFNRCxNQUFNLENBQUMsbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBWUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxTQUFpQixFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsS0FBYTtRQUM3RyxJQUFJLGVBQWUsR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3RCxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QyxlQUFlLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVoQyxJQUFJLEdBQUcsR0FBb0IsZUFBZSxDQUFDO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdEMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7O1lBRWQsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBV0QsTUFBTSxDQUFDLDBCQUEwQixDQUFDLE9BQWUsRUFBRSxTQUFpQixFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsS0FBYTtRQUNsSCxJQUFJLGVBQWUsR0FBeUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3ZFLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRWhDLElBQUksR0FBRyxHQUFvQixlQUFlLENBQUM7UUFDM0MsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN0QyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzs7WUFFZCxHQUFHLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFXRCxNQUFNLENBQUMscUJBQXFCLENBQUMsT0FBZSxFQUFFLE9BQXlCLEVBQUUsTUFBYyxFQUFFLFNBQWlCLEVBQUUsV0FBaUI7UUFDM0gsSUFBSSxlQUFlLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0QsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDaEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFMUMsSUFBSSxTQUFTLEdBQUcsQ0FBQztZQUNmLGVBQWUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzNDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFPRCxNQUFNLENBQUMsOEJBQThCO1FBQ25DLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFPRCxNQUFNLENBQUMsNkJBQTZCLENBQUMsS0FBYTtRQUNoRCxJQUFJLHVCQUF1QixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDckYsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNyQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWdDb250cm9sQmFzZSwgTlVNX1RZUEV9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gXCIuL0V2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge1JvbGxiYWNrRXZlbnRDb21tYW5kLCBSb2xsYmFja0V2ZW50Q29tbWFuZF9Sb2xsYmFja1R5cGV9IGZyb20gXCIuL1JvbGxiYWNrRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tIFwiLi9EYXRhdmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQge1VzZXJSYW5nZX0gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tCYXNlXCI7XHJcbmltcG9ydCB7QWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kfSBmcm9tIFwiLi9BZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTb3J0fSBmcm9tIFwiLi4vLi4vdGFza3Mvc29ydC9Tb3J0XCI7XHJcbmltcG9ydCB7QWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuL0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7QWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZH0gZnJvbSBcIi4vQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmR9IGZyb20gXCIuL1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZH0gZnJvbSBcIi4vQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmRcIjtcclxuaW1wb3J0IHtSZWZyZXNoRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9SZWZyZXNoRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSBcIi4uLy4uL3J0L0FyZ3VtZW50c0xpc3RcIjtcclxuaW1wb3J0IHtEYXRhVmlld091dHB1dENvbW1hbmR9IGZyb20gXCIuL0RhdGFWaWV3T3V0cHV0Q29tbWFuZFwiO1xyXG5pbXBvcnQge0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmR9IGZyb20gXCIuL0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmR9IGZyb20gXCIuL1dyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZFwiO1xyXG5pbXBvcnQge1N1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9TdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0Jyb3dzZXJFc2NFdmVudENvbW1hbmR9IGZyb20gXCIuL0Jyb3dzZXJFc2NFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtJbmRleENoYW5nZUV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vSW5kZXhDaGFuZ2VFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb2x1bW5Tb3J0RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Db2x1bW5Tb3J0RXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9TdWJmb3JtT3BlbkV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0NvbXB1dGVFdmVudENvbW1hbmR9IGZyb20gXCIuL0NvbXB1dGVFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtSZWNvbXB1dGVDb21tYW5kfSBmcm9tIFwiLi9SZWNvbXB1dGVDb21tYW5kXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db21tYW5kfSBmcm9tIFwiLi9UcmFuc2FjdGlvbkNvbW1hbmRcIjtcclxuaW1wb3J0IHtVbmxvYWRDb21tYW5kfSBmcm9tIFwiLi9VbmxvYWRDb21tYW5kXCI7XHJcbmltcG9ydCB7RXhlY09wZXJDb21tYW5kfSBmcm9tIFwiLi9FeGVjT3BlckNvbW1hbmRcIjtcclxuaW1wb3J0IHtFdmFsdWF0ZUNvbW1hbmR9IGZyb20gXCIuL0V2YWx1YXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZH0gZnJvbSBcIi4vR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kXCI7XHJcbmltcG9ydCB7SW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmR9IGZyb20gXCIuL0luaXB1dEZvcmNlV3JpdGVDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZH0gZnJvbSBcIi4vQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmRcIjtcclxuaW1wb3J0IHsgU2VsZWN0UHJvZ3JhbUNvbW1hbmQgfSBmcm9tICcuL1NlbGVjdFByb2dyYW1Db21tYW5kJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIGNvbW1hbmRzXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kRmFjdG9yeSB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyKTogRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBldmVudENvbW1hbmQ6IEV2ZW50Q29tbWFuZCA9IG5ldyBFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICBldmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gZXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNIYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjT2JqXCI+dGhlIERJVCBpbmRleCBvZiB0aGUgY29udHJvbCB0aGF0IGhhZCB0aGUgZm9jdXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJvbGxiYWNrRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcm9sbGJhY2tUeXBlOiBSb2xsYmFja0V2ZW50Q29tbWFuZF9Sb2xsYmFja1R5cGUpOiBSb2xsYmFja0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY21kOiBSb2xsYmFja0V2ZW50Q29tbWFuZCA9IG5ldyBSb2xsYmFja0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgY21kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY21kLlJvbGxiYWNrID0gcm9sbGJhY2tUeXBlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgZ2VuZXJhbCBkYXRhdmlldyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVEYXRhVmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbW1hbmRUeXBlOiBEYXRhVmlld0NvbW1hbmRUeXBlKTogRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBkYXRhdmlld0NvbW1hbmQ6IERhdGF2aWV3Q29tbWFuZCA9IG5ldyBEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZXR1cm4gZGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgc29ydDogU29ydCk6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5Tb3J0ID0gc29ydDtcclxuICAgIHJldHVybiBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBzZXQgdHJhbnNhY3Rpb24gc3RhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0cmFuc2FjdGlvbklzT3BlbmVkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB0cmFuc2FjdGlvbklzT3BlbmVkOiBib29sZWFuKTogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRyYW5zYWN0aW9uSXNPcGVuID0gdHJhbnNhY3Rpb25Jc09wZW5lZDtcclxuICAgIHJldHVybiBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGUgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgdG8gcmVmZXJzaCB0aGUgZGF0YSBjb250cm9sLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sTmFtZVBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJnZW5lcmF0aW9uUGFyYW1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb250cm9sUGFyYW06IE1nQ29udHJvbEJhc2UpOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCB7XHJcbiAgICBsZXQgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQ6IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kID0gbmV3IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKCk7XHJcbiAgICBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuQ29tbWFuZFR5cGUgPSBEYXRhVmlld0NvbW1hbmRUeXBlLkNvbnRyb2xJdGVtc1JlZnJlc2g7XHJcbiAgICBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZC5Db250cm9sID0gY29udHJvbFBhcmFtO1xyXG4gICAgcmV0dXJuIGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGVzIGEgcmVmcmVzaCBjb21tYW5kIHdoaWNoIHdhcyBpbml0aWF0ZWQgaW50ZXJuYWxseSwgaS5lLiBub3QgYnkgYSB1c2VyIGZ1bmN0aW9uIGNhbGxcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWFnaWNFdmVudFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3VycmVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbnRlcm5hbFJlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBtYWdpY0V2ZW50OiBudW1iZXIsIGN1cnJlbnRSZWNJZDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIpOiBSZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoRXZlbnRDb21tYW5kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLklzSW50ZXJuYWxSZWZyZXNoID0gdHJ1ZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICByZXR1cm4gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIG9ubHkgYSByZWFsIHJlZnJlc2ggZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZVJlYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QsIGN1cnJlbnRSZWNJZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGN1cnJlbnRSZWNJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICBsZXQgY21kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICBpZiAobWFnaWNFdmVudCAhPT0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JUX1JFRlJFU0hfUkVDT1JEICYmIGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQgcmVmcmVzaE1vZGU6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLlJlZnJlc2hNb2RlID0gcmVmcmVzaE1vZGUuTlVNXzJfTE9ORygpICsgMTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhcmdMaXN0LmdldFNpemUoKSA+IDEpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IChhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDEsIFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiwgMCkgPT09IFwiMVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ3JlYXRlRGF0YVZpZXdUb0RhdGFTb3VyY2VDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBnZW5lcmF0aW9uOiBudW1iZXIsIHRhc2tWYXJOYW1lczogc3RyaW5nLCBkZXN0aW5hdGlvbkRTTnVtYmVyOiBudW1iZXIsIGRlc3RpbmF0aW9uRFNOYW1lOiBzdHJpbmcsIGRlc3RpbmF0aW9uQ29sdW1uczogc3RyaW5nKTogRGF0YVZpZXdPdXRwdXRDb21tYW5kIHtcclxuICAgIGxldCBkYXRhVmlld091dHB1dENvbW1hbmQ6IERhdGFWaWV3T3V0cHV0Q29tbWFuZCA9IG5ldyBEYXRhVmlld091dHB1dENvbW1hbmQoRGF0YVZpZXdDb21tYW5kVHlwZS5EYXRhVmlld1RvRGF0YVNvdXJjZSk7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5HZW5lcmF0aW9uID0gZ2VuZXJhdGlvbjtcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5UYXNrVmFyTmFtZXMgPSB0YXNrVmFyTmFtZXM7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuRGVzdGluYXRpb25EYXRhU291cmNlTnVtYmVyID0gZGVzdGluYXRpb25EU051bWJlcjtcclxuICAgIGRhdGFWaWV3T3V0cHV0Q29tbWFuZC5EZXN0aW5hdGlvbkRhdGFTb3VyY2VOYW1lID0gZGVzdGluYXRpb25EU05hbWU7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuRGVzdGluYXRpb25Db2x1bW5zID0gZGVzdGluYXRpb25Db2x1bW5zO1xyXG4gICAgcmV0dXJuIGRhdGFWaWV3T3V0cHV0Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudCBjb21tYW5kIHdoaWNoIHdpbGwgZmV0Y2ggdGhlIGRhdGEgY29udHJvbCB2YWx1ZXMgZnJvbSBzZXJ2ZXIuIFRoaXMgaXMgdXNlZCB3aGlsZSBleGVjdXRpbmcgQ29udHJvbEl0ZW1zUmVmcmVzaCgpIGZ1bmN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImdlbmVyYXRpb25QYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlY0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQgPSBuZXcgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuQ29udHJvbE5hbWUgPSBjb250cm9sTmFtZTtcclxuICAgIHJldHVybiBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGUgV3JpdGVNZXNzYWdlc1RvU2VydmVyTG9nIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImVycm9yTWVzc2FnZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZXJyb3JNZXNzYWdlOiBzdHJpbmcpOiBXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQge1xyXG4gICAgbGV0IHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZDogV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kID0gbmV3IFdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCgpO1xyXG4gICAgd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kLkVycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZTtcclxuICAgIHJldHVybiB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybVJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybVRhc2tUYWc6IHN0cmluZywgZXhwbGljaXRTdWJmb3JtUmVmcmVzaDogYm9vbGVhbik6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuU3ViZm9ybVRhc2tUYWcgPSBzdWJmb3JtVGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLkV4cGxpY2l0U3ViZm9ybVJlZnJlc2ggPSBleHBsaWNpdFN1YmZvcm1SZWZyZXNoO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuVXNlVGFza0xvY2F0ZTtcclxuICAgIHJldHVybiBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgc3ViZm9ybSBvcGVuIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtT3BlbkNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtRGl0SWR4OiBudW1iZXIpOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLkRpdElkeCA9IHN1YmZvcm1EaXRJZHg7XHJcbiAgICByZXR1cm4gc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBzY3JlZW4gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2NyZWVuUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCB0b3BSZWNJZHg6IG51bWJlciwgY2xpZW50UmVjSWQ6IG51bWJlcik6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVG9wUmVjSWR4ID0gdG9wUmVjSWR4O1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgY29sdW1uIHNvcnQgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbHVtblNvcnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZGlyZWN0aW9uOiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCBmaWVsZElkOiBudW1iZXIsIHJlY0lkOiBudW1iZXIpOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kID0gbmV3IENvbHVtblNvcnRFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRmxkSWQgPSBmaWVsZElkICsgMTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGlyZWN0aW9uID0gZGlyZWN0aW9uO1xyXG4gICAgcmV0dXJuIGNvbHVtblNvcnRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gICBjcmVhdGVzIGFuIEluZGV4IENoYW5nZSBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgYXN5bmMgQ3JlYXRlSW5kZXhDaGFuZ2VDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcmVjSWQ6IG51bWJlciwgYXJnTGlzdDogQXJndW1lbnRzTGlzdCk6IFByb21pc2U8SW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ+IHtcclxuICAgIGxldCBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBuZXcgSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQoKTtcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGxldCBjbWQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgLy8gMSBwYXJhbWV0ZXIgOiBUaGUgbmV3IEtleSBJbmRleFxyXG4gICAgaWYgKGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQga2V5SW5kZXg6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0ga2V5SW5kZXguTlVNXzJfTE9ORygpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiZXhpdEJ5TWVudVwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImNsb3NlU3ViZm9ybU9ubHlcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVCcm93c2VyRXNjRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGJyb3dzZXJFc2NFdmVudENvbW1hbmQ6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQgPSBuZXcgQnJvd3NlckVzY0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gYnJvd3NlckVzY0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNsaWVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb21wdXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybXM6IGJvb2xlYW4sIGNsaWVudFJlY0lkOiBudW1iZXIpOiBDb21wdXRlRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb21wdXRlRXZlbnRDb21tYW5kOiBDb21wdXRlRXZlbnRDb21tYW5kID0gbmV3IENvbXB1dGVFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlN1YmZvcm1zID0gc3ViZm9ybXM7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gY29tcHV0ZUV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIHRoZSBjb250ZXh0IHRlcm1pbmF0aW9uIHJlcXVlc3RcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nKTogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCA9IG5ldyBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQoKTtcclxuICAgIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIGR1bW15IHJlcXVlc3QgdG8gemVyby1pbiB0aGUgY29udGV4dCBpbmFjdGl2aXR5IHRpbWVvdXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGltZW91dFJlc2V0RXZlbnRDb21tYW5kKCkgOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kID0gbmV3IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kKCk7XHJcbiAgICByZXR1cm4gY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBub25yZXZlcnNpYmxlIGV4aXQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVOb25SZXZlcnNpYmxlRXhpdENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCA9IG5ldyBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFJlY29tcHV0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmllbGRJZFwiPnRoZSBpZCBvZiB0aGUgZmllbGQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSZWNvbXB1dGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZmllbGRJZDogbnVtYmVyLCBpZ25vcmVTdWJmb3JtUmVjb21wdXRlOiBib29sZWFuKTogUmVjb21wdXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgcmVjb21wdXRlQ29tbWFuZDogUmVjb21wdXRlQ29tbWFuZCA9IG5ldyBSZWNvbXB1dGVDb21tYW5kKCk7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5GbGRJZCA9IGZpZWxkSWQ7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLklnbm9yZVN1YmZvcm1SZWNvbXB1dGUgPSBpZ25vcmVTdWJmb3JtUmVjb21wdXRlO1xyXG4gICAgcmV0dXJuIHJlY29tcHV0ZUNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBUcmFuc2FjdGlvbiBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJcIj50aGUgdHlwZSBvZiBvcGVyYXRpb246IEJlZ2luLCBDb21taXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1wiPnRoZSB0YXNrIG9mIHRoZSB0cmFuc2FjdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjUmV2ZXJzaWJsZUV4aXRcIj50cnVlIGlmIHRoZSB0YXNrIGV4aXQgaXMgcmV2ZXJzaWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsZXZlbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVRyYW5zYWN0aW9uQ29tbWFuZChvcGVyOiBzdHJpbmcsIHRhc2tUYWc6IHN0cmluZywgY1JldmVyc2libGVFeGl0OiBib29sZWFuLCBsZXZlbDogc3RyaW5nKTogVHJhbnNhY3Rpb25Db21tYW5kIHtcclxuICAgIGxldCB0cmFuc2FjdGlvbkNvbW1hbmQ6IFRyYW5zYWN0aW9uQ29tbWFuZCA9IG5ldyBUcmFuc2FjdGlvbkNvbW1hbmQoKTtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5PcGVyID0gb3BlcjtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5SZXZlcnNpYmxlRXhpdCA9IGNSZXZlcnNpYmxlRXhpdDtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5MZXZlbCA9IGxldmVsO1xyXG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBVbmxvYWQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVVubG9hZENvbW1hbmQoKTogVW5sb2FkQ29tbWFuZCB7XHJcbiAgICByZXR1cm4gbmV3IFVubG9hZENvbW1hbmQoKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXhlY09wZXIgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImhhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJJZHhcIj50aGUgb3BlcmF0aW9uIGluZGV4IGlzIHRoZSBzZXJ2ZXIgaW5kZXggaW5kaWNhdGVkIGJ5IHRoZSBvcGVyYXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZGl0SWR4XCI+dGhlIGNvbnRyb2wgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVFeGVjT3BlckNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBoYW5kbGVySWQ6IHN0cmluZywgb3BlcklkeDogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgdmFsdWU6IHN0cmluZyk6IEV4ZWNPcGVyQ29tbWFuZCB7XHJcbiAgICBsZXQgZXhlY09wZXJDb21tYW5kOiBFeGVjT3BlckNvbW1hbmQgPSBuZXcgRXhlY09wZXJDb21tYW5kKCk7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuT3BlcklkeCA9IG9wZXJJZHg7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuSGFuZGxlcklkID0gaGFuZGxlcklkO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuXHJcbiAgICBsZXQgY21kOiBFeGVjT3BlckNvbW1hbmQgPSBleGVjT3BlckNvbW1hbmQ7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICBjbWQuVmFsID0gXCIgXCI7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gU2VsZWN0IFByb2dyYW0gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImhhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJJZHhcIj50aGUgb3BlcmF0aW9uIGluZGV4IGlzIHRoZSBzZXJ2ZXIgaW5kZXggaW5kaWNhdGVkIGJ5IHRoZSBvcGVyYXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZGl0SWR4XCI+dGhlIGNvbnRyb2wgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZWxlY3RQcm9ncmFtQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IFNlbGVjdFByb2dyYW1Db21tYW5kID0gbmV3IFNlbGVjdFByb2dyYW1Db21tYW5kKCk7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuT3BlcklkeCA9IG9wZXJJZHg7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuSGFuZGxlcklkID0gaGFuZGxlcklkO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuXHJcbiAgICBsZXQgY21kOiBFeGVjT3BlckNvbW1hbmQgPSBleGVjT3BlckNvbW1hbmQ7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICBjbWQuVmFsID0gXCIgXCI7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZhbHVhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFR5cGVcIj5UaGUgZXhwZWN0ZWQgdHlwZSBpcyB0aGUgZGF0YSB0eXBlIChhdHRyaWJ1dGUpIG9mIHRoZSByZXN1bHQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwSWR4XCI+ZXhwcmVzc2lvbiBpZCBhdHRyaWJ1dGVzIGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHByZXNzaW9uIHRvIGV2YWx1YXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFZhbExlblwiPiByZXByZXNlbnRzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbiBhbHBoYSByZXN1bHQgb3IgdGhlIG1heGltdW0gZGlnaXRzIHRvIHRoZSByaWdodCBvZiB0aGUgZGVjaW1hbCBwb2ludCwgZm9yIG51bWVyaWMgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1wcmdDcmVhdG9yXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZhbHVhdGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZXhwVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgZXhwSWR4OiBudW1iZXIsIGV4cFZhbExlbjogbnVtYmVyLCBtcHJnQ3JlYXRvcjogVGFzayk6IEV2YWx1YXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgZXZhbHVhdGVDb21tYW5kOiBFdmFsdWF0ZUNvbW1hbmQgPSBuZXcgRXZhbHVhdGVDb21tYW5kKCk7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuRXhwSWR4ID0gZXhwSWR4O1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cFR5cGUgPSBleHBUeXBlO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLk1wcmdDcmVhdG9yID0gbXByZ0NyZWF0b3I7XHJcblxyXG4gICAgaWYgKGV4cFZhbExlbiA+IDApXHJcbiAgICAgIGV2YWx1YXRlQ29tbWFuZC5MZW5ndGhFeHBWYWwgPSBleHBWYWxMZW47XHJcbiAgICByZXR1cm4gZXZhbHVhdGVDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVF1ZXJ5R2xvYmFsUGFyYW1zQ29tbWFuZCgpOiBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3JjZSBpbmkgZmlsZSB1cGRhdGUgYnkgSU5JUHV0KClcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicGFyYW1cIj5lbnYgcGFyYW0gY2hhbmdlZCBieSBJTklQdXQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZChwYXJhbTogc3RyaW5nKTogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGluaXB1dEZvcmNlV3JpdGVDb21tYW5kOiBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCA9IG5ldyBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCgpO1xyXG4gICAgaW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQuVGV4dCA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -60,5 +60,8 @@ export class ExecOperCommand extends ClientOriginatedCommandTaskTag {
60
60
  ' in ' + '[' + this.Operation.getEventHandler().getEventHandlerInfo() + ']' +
61
61
  ' on ' + '[' + this.Operation.Task.getTaskInfo() + ']';
62
62
  }
63
+ getTask() {
64
+ return this.Operation.Task;
65
+ }
63
66
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY09wZXJDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FeGVjT3BlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWxELE1BQU0sT0FBTyxlQUFnQixTQUFRLDhCQUE4QjtJQWtCakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWxCRixtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDOUMsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQVcsSUFBSSxDQUFDO1FBQ3pCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBYyxJQUFJLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVd6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQVZELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLHFCQUFx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WUFDM0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUU7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnQzMiwgU3RyaW5nQnVpbGRlciwgUmVmUGFyYW19IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1hNTENvbnN0YW50cywgWG1sUGFyc2VyLCB9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXhlY3V0aW9uU3RhY2t9IGZyb20gXCIuLi8uLi9ydC9FeGVjdXRpb25TdGFja1wiO1xyXG5pbXBvcnQge09wZXJhdGlvbn0gZnJvbSBcIi4uLy4uL3J0L09wZXJhdGlvblwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcn0gZnJvbSBcIi4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQge0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZ30gZnJvbSBcIi4uL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZ1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBFeGVjT3BlckNvbW1hbmQgZXh0ZW5kcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcgaW1wbGVtZW50cyBJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyB7XHJcbiAgcHJpdmF0ZSBFeGVjdXRpb25TdGFjazogRXhlY3V0aW9uU3RhY2sgPSBudWxsO1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgSGFuZGxlcklkOiBzdHJpbmcgPSBudWxsO1xyXG4gIE9wZXJJZHg6IG51bWJlciA9IDA7XHJcbiAgRGl0SWR4OiBudW1iZXIgPSAwO1xyXG4gIFZhbDogc3RyaW5nID0gbnVsbDtcclxuICBNcHJnQ3JlYXRvcjogVGFzayA9IG51bGw7XHJcbiAgT3BlcmF0aW9uOiBPcGVyYXRpb24gPSBudWxsO1xyXG4gIENoZWNrT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgQ29tbWFuZFR5cGVBdHRyaWJ1dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9FWEVDX09QRVI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuRGl0SWR4ID0gSW50MzIuTWluVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYXNDaGlsZEVsZW1lbnRzXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKHJlZkhhc0NoaWxkRWxlbWVudHM6IFJlZlBhcmFtPGJvb2xlYW4+KTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgbGV0IGV4ZWNTdGFja0V4aXN0czogYm9vbGVhbiA9IHRoaXMuRXhlY3V0aW9uU3RhY2sgIT09IG51bGwgJiYgIXRoaXMuRXhlY3V0aW9uU3RhY2suZW1wdHkoKTtcclxuXHJcbiAgICBoZWxwZXIuU2VyaWFsaXplVGFza1RhZyh0aGlzLlRhc2tUYWcpO1xyXG4gICAgaWYgKHRoaXMuSGFuZGxlcklkICE9PSBudWxsICYmICFleGVjU3RhY2tFeGlzdHMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9IQU5ETEVSSUQsIHRoaXMuSGFuZGxlcklkKTtcclxuXHJcbiAgICBpZiAodGhpcy5PcGVySWR4ID4gSW50MzIuTWluVmFsdWUgJiYgIWV4ZWNTdGFja0V4aXN0cylcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX09QRVJfSURYLCB0aGlzLk9wZXJJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLkRpdElkeCA+IEludDMyLk1pblZhbHVlKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplRGl0SWR4KHRoaXMuRGl0SWR4KTtcclxuXHJcbiAgICBpZiAodGhpcy5PcGVyYXRpb24gIT0gbnVsbCAmJiB0aGlzLk9wZXJhdGlvbi5nZXRUeXBlKCkgPT09IENvbnN0SW50ZXJmYWNlLk1HX09QRVJfQ0FMTCAmJiB0aGlzLk9wZXJhdGlvbi5nZXRSb3V0ZVBhcmFtcygpICE9PSBudWxsKSB7XHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVSb3V0ZVBhcmFtcyh0aGlzLk9wZXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5WYWwgIT09IG51bGwpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoWE1MQ29uc3RhbnRzLk1HX0FUVFJfVkFMVUUsIFhtbFBhcnNlci5lc2NhcGUodGhpcy5WYWwpKTtcclxuXHJcbiAgICBpZiAodGhpcy5DaGVja09ubHkpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DSEVDS19PTkxZLCBcIjFcIik7XHJcblxyXG4gICAgcmV0dXJuIGhlbHBlci5HZXRTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzZXRzIHRoZSBleGVjc3RhY2sgb2YgdGhlIGN1cnJlbnQgY29tbWFuZCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhlY1N0YWNrXCI+LSBjdXJyZW50IGV4ZWN1dGlvbiBzdGFjayBvZiByYWlzZSBldmVudCBvcGVyYXRpb25zIGZyb20gcnQgPC9wYXJhbT5cclxuICBTZXRFeGVjdXRpb25TdGFjayhleGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrKTogdm9pZCB7XHJcbiAgICB0aGlzLkV4ZWN1dGlvblN0YWNrID0gbmV3IEV4ZWN1dGlvblN0YWNrKCk7XHJcbiAgICB0aGlzLkV4ZWN1dGlvblN0YWNrLnB1c2goQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldFRhc2tJZEJ5SWQodGhpcy5UYXNrVGFnKSwgdGhpcy5IYW5kbGVySWQsIHRoaXMuT3BlcklkeCk7XHJcbiAgICB0aGlzLkV4ZWN1dGlvblN0YWNrLnB1c2hVcFNpZGVEb3duKGV4ZWNTdGFjayk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGV4dHJhIGRhdGEgLSBhZGQgc2VyaWFsaXphdGlvbiBvZiB0aGUgZXhlY3V0aW9uIHN0YWNrXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNlcmlhbGl6ZURhdGFBZnRlckNvbW1hbmQoKTogc3RyaW5nIHtcclxuICAgIGxldCBleGVjU3RhY2tFeGlzdHM6IGJvb2xlYW4gPSB0aGlzLkV4ZWN1dGlvblN0YWNrICE9PSBudWxsICYmICF0aGlzLkV4ZWN1dGlvblN0YWNrLmVtcHR5KCk7XHJcblxyXG4gICAgaWYgKGV4ZWNTdGFja0V4aXN0cykge1xyXG4gICAgICBsZXQgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgIHRoaXMuRXhlY3V0aW9uU3RhY2suYnVpbGRYTUwobWVzc2FnZSk7XHJcbiAgICAgIHJldHVybiBtZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAgJ0xpbmUgbnVtYmVyICcgKyAnWycgKyAodGhpcy5PcGVyYXRpb24uZ2V0U2VydmVySWQoKSArIDEpICsgJ10nICtcclxuICAgICAgICAgICAgJyBpbiAnICsgJ1snICsgdGhpcy5PcGVyYXRpb24uZ2V0RXZlbnRIYW5kbGVyKCkuZ2V0RXZlbnRIYW5kbGVySW5mbygpICsgJ10nICtcclxuICAgICAgICAgICAgJyBvbiAnICsgJ1snICsgdGhpcy5PcGVyYXRpb24uVGFzay5nZXRUYXNrSW5mbygpICsgJ10nIDtcclxuICB9XHJcbn1cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY09wZXJDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FeGVjT3BlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWxELE1BQU0sT0FBTyxlQUFnQixTQUFRLDhCQUE4QjtJQWtCakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWxCVixtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDdEMsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQVcsSUFBSSxDQUFDO1FBQ3pCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBYyxJQUFJLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVd6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQVZELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLHFCQUFx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WUFDM0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUU7SUFDbEUsQ0FBQztJQUVELE9BQU87UUFFTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzIsIFN0cmluZ0J1aWxkZXIsIFJlZlBhcmFtfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHMsIFhtbFBhcnNlciwgfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0V4ZWN1dGlvblN0YWNrfSBmcm9tIFwiLi4vLi4vcnQvRXhlY3V0aW9uU3RhY2tcIjtcclxuaW1wb3J0IHtPcGVyYXRpb259IGZyb20gXCIuLi8uLi9ydC9PcGVyYXRpb25cIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWd9IGZyb20gXCIuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWdcIjtcclxuaW1wb3J0IHsgQWNjZXNzSGVscGVyIH0gZnJvbSBcIi4uLy4uL0FjY2Vzc0hlbHBlclwiO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tIFwiLi4vSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm9cIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRXhlY09wZXJDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG4gIEV4ZWN1dGlvblN0YWNrOiBFeGVjdXRpb25TdGFjayA9IG51bGw7XHJcbiAgVGFza1RhZzogc3RyaW5nID0gbnVsbDtcclxuICBIYW5kbGVySWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgT3BlcklkeDogbnVtYmVyID0gMDtcclxuICBEaXRJZHg6IG51bWJlciA9IDA7XHJcbiAgVmFsOiBzdHJpbmcgPSBudWxsO1xyXG4gIE1wcmdDcmVhdG9yOiBUYXNrID0gbnVsbDtcclxuICBPcGVyYXRpb246IE9wZXJhdGlvbiA9IG51bGw7XHJcbiAgQ2hlY2tPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBDb21tYW5kVHlwZUF0dHJpYnV0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVkFMX0VYRUNfT1BFUjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5EaXRJZHggPSBJbnQzMi5NaW5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImhhc0NoaWxkRWxlbWVudHNcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEocmVmSGFzQ2hpbGRFbGVtZW50czogUmVmUGFyYW08Ym9vbGVhbj4pOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBsZXQgZXhlY1N0YWNrRXhpc3RzOiBib29sZWFuID0gdGhpcy5FeGVjdXRpb25TdGFjayAhPT0gbnVsbCAmJiAhdGhpcy5FeGVjdXRpb25TdGFjay5lbXB0eSgpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBpZiAodGhpcy5IYW5kbGVySWQgIT09IG51bGwgJiYgIWV4ZWNTdGFja0V4aXN0cylcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0hBTkRMRVJJRCwgdGhpcy5IYW5kbGVySWQpO1xyXG5cclxuICAgIGlmICh0aGlzLk9wZXJJZHggPiBJbnQzMi5NaW5WYWx1ZSAmJiAhZXhlY1N0YWNrRXhpc3RzKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfT1BFUl9JRFgsIHRoaXMuT3BlcklkeCk7XHJcblxyXG4gICAgaWYgKHRoaXMuRGl0SWR4ID4gSW50MzIuTWluVmFsdWUpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVEaXRJZHgodGhpcy5EaXRJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLk9wZXJhdGlvbiAhPSBudWxsICYmIHRoaXMuT3BlcmF0aW9uLmdldFR5cGUoKSA9PT0gQ29uc3RJbnRlcmZhY2UuTUdfT1BFUl9DQUxMICYmIHRoaXMuT3BlcmF0aW9uLmdldFJvdXRlUGFyYW1zKCkgIT09IG51bGwpIHtcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZVJvdXRlUGFyYW1zKHRoaXMuT3BlcmF0aW9uKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLlZhbCAhPT0gbnVsbClcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShYTUxDb25zdGFudHMuTUdfQVRUUl9WQUxVRSwgWG1sUGFyc2VyLmVzY2FwZSh0aGlzLlZhbCkpO1xyXG5cclxuICAgIGlmICh0aGlzLkNoZWNrT25seSlcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0NIRUNLX09OTFksIFwiMVwiKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHNldHMgdGhlIGV4ZWNzdGFjayBvZiB0aGUgY3VycmVudCBjb21tYW5kIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleGVjU3RhY2tcIj4tIGN1cnJlbnQgZXhlY3V0aW9uIHN0YWNrIG9mIHJhaXNlIGV2ZW50IG9wZXJhdGlvbnMgZnJvbSBydCA8L3BhcmFtPlxyXG4gIFNldEV4ZWN1dGlvblN0YWNrKGV4ZWNTdGFjazogRXhlY3V0aW9uU3RhY2spOiB2b2lkIHtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sgPSBuZXcgRXhlY3V0aW9uU3RhY2soKTtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sucHVzaChBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0VGFza0lkQnlJZCh0aGlzLlRhc2tUYWcpLCB0aGlzLkhhbmRsZXJJZCwgdGhpcy5PcGVySWR4KTtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sucHVzaFVwU2lkZURvd24oZXhlY1N0YWNrKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZXh0cmEgZGF0YSAtIGFkZCBzZXJpYWxpemF0aW9uIG9mIHRoZSBleGVjdXRpb24gc3RhY2tcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgU2VyaWFsaXplRGF0YUFmdGVyQ29tbWFuZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGV4ZWNTdGFja0V4aXN0czogYm9vbGVhbiA9IHRoaXMuRXhlY3V0aW9uU3RhY2sgIT09IG51bGwgJiYgIXRoaXMuRXhlY3V0aW9uU3RhY2suZW1wdHkoKTtcclxuXHJcbiAgICBpZiAoZXhlY1N0YWNrRXhpc3RzKSB7XHJcbiAgICAgIGxldCBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgdGhpcy5FeGVjdXRpb25TdGFjay5idWlsZFhNTChtZXNzYWdlKTtcclxuICAgICAgcmV0dXJuIG1lc3NhZ2UuVG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICAnTGluZSBudW1iZXIgJyArICdbJyArICh0aGlzLk9wZXJhdGlvbi5nZXRTZXJ2ZXJJZCgpICsgMSkgKyAnXScgK1xyXG4gICAgICAgICAgICAnIGluICcgKyAnWycgKyB0aGlzLk9wZXJhdGlvbi5nZXRFdmVudEhhbmRsZXIoKS5nZXRFdmVudEhhbmRsZXJJbmZvKCkgKyAnXScgK1xyXG4gICAgICAgICAgICAnIG9uICcgKyAnWycgKyB0aGlzLk9wZXJhdGlvbi5UYXNrLmdldFRhc2tJbmZvKCkgKyAnXScgO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFzaygpXHJcbiAge1xyXG4gICAgcmV0dXJuIHRoaXMuT3BlcmF0aW9uLlRhc2s7IC8vIGdldCB0aGUgdGFzayBmcm9tIG9wZXJhdGlvblxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { ExecOperCommand } from './ExecOperCommand';
2
+ import { AccessHelper } from '../../AccessHelper';
3
+ export class SelectProgramCommand extends ExecOperCommand {
4
+ getCommandInfo() {
5
+ let eventsManager = AccessHelper.eventsManager;
6
+ let rtEvt = eventsManager.getLastRtEvent();
7
+ return 'Select Program ' + 'on Control ' + rtEvt.Control.Name;
8
+ }
9
+ getTask() {
10
+ let eventsManager = AccessHelper.eventsManager;
11
+ let rtEvt = eventsManager.getLastRtEvent();
12
+ return rtEvt.getTask();
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0UHJvZ3JhbUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL1NlbGVjdFByb2dyYW1Db21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFHdkQsY0FBYztRQUNaLElBQUksYUFBYSxHQUFpQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQzdFLElBQUksS0FBSyxHQUFpQixhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekQsT0FBTyxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLGFBQWEsR0FBaUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUM3RSxJQUFJLEtBQUssR0FBaUIsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pELE9BQWEsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4ZWNPcGVyQ29tbWFuZCB9IGZyb20gJy4vRXhlY09wZXJDb21tYW5kJztcclxuaW1wb3J0IHsgUnVuVGltZUV2ZW50IH0gZnJvbSAnLi4vLi4vZXZlbnQvUnVuVGltZUV2ZW50JztcclxuaW1wb3J0IHsgRXZlbnRzTWFuYWdlciB9IGZyb20gJy4uLy4uL2V2ZW50L0V2ZW50c01hbmFnZXInO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tICcuLi8uLi9BY2Nlc3NIZWxwZXInO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VsZWN0UHJvZ3JhbUNvbW1hbmQgZXh0ZW5kcyBFeGVjT3BlckNvbW1hbmQge1xyXG5cclxuICAvLyBnZXQgdGhlIGluZm8gZnJvbSB0aGUgZXZlbnQgYXMgd2UgZG9uJ3QgaGF2ZSBvcGVyYXRpb24gaW4gY2FzZSBvZiBTZWxlY3QgUHJvZ3JhbSBDb21tYW5kXHJcbiAgZ2V0Q29tbWFuZEluZm8oKTogc3RyaW5nIHtcclxuICAgIGxldCBldmVudHNNYW5hZ2VyOiBFdmVudHNNYW5hZ2VyID0gPEV2ZW50c01hbmFnZXI+QWNjZXNzSGVscGVyLmV2ZW50c01hbmFnZXI7XHJcbiAgICBsZXQgcnRFdnQ6IFJ1blRpbWVFdmVudCA9IGV2ZW50c01hbmFnZXIuZ2V0TGFzdFJ0RXZlbnQoKTtcclxuICAgIHJldHVybiAnU2VsZWN0IFByb2dyYW0gJyArICdvbiBDb250cm9sICcgKyBydEV2dC5Db250cm9sLk5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXRUYXNrKCkge1xyXG4gICAgbGV0IGV2ZW50c01hbmFnZXI6IEV2ZW50c01hbmFnZXIgPSA8RXZlbnRzTWFuYWdlcj5BY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlcjtcclxuICAgIGxldCBydEV2dDogUnVuVGltZUV2ZW50ID0gZXZlbnRzTWFuYWdlci5nZXRMYXN0UnRFdmVudCgpO1xyXG4gICAgcmV0dXJuIDxUYXNrPnJ0RXZ0LmdldFRhc2soKTsgLy8gZ2V0IHRhc2sgZnJvbSBldmVudFxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { __awaiter } from "tslib";
2
- import { XmlParser } from "@magic-xpa/utils";
3
2
  import { VerifyCommand } from "./VerifyCommand";
4
3
  import { Operation } from "../../rt/Operation";
5
4
  import { Task } from "../../tasks/Task";
@@ -9,7 +8,6 @@ export class EnhancedVerifyCommand extends VerifyCommand {
9
8
  constructor() {
10
9
  super();
11
10
  this._buttonsID = '\0';
12
- this._defaultButton = 0;
13
11
  this._image = '\0';
14
12
  this._returnValStr = null;
15
13
  this._returnVal = null;
@@ -24,7 +22,6 @@ export class EnhancedVerifyCommand extends VerifyCommand {
24
22
  mlsTransTitle.value = LanguageData.Instance.translate(this._title);
25
23
  style.value = Operation.getButtons(this._buttonsID);
26
24
  style.value |= Operation.getImage(this._image);
27
- style.value |= Operation.getDefaultButton(this._defaultButton);
28
25
  if (task !== null) {
29
26
  if (Task.isMainProgramField(this._returnValStr)) {
30
27
  this._returnVal = Operation.InitField(this._returnValStr, task);
@@ -39,9 +36,6 @@ export class EnhancedVerifyCommand extends VerifyCommand {
39
36
  case ConstInterface.MG_ATTR_BUTTONS:
40
37
  this._buttonsID = value[0];
41
38
  break;
42
- case ConstInterface.MG_ATTR_DEFAULT_BUTTON:
43
- this._defaultButton = XmlParser.getInt(value);
44
- break;
45
39
  case ConstInterface.MG_ATTR_RETURN_VAL:
46
40
  this._returnValStr = value;
47
41
  break;
@@ -51,4 +45,4 @@ export class EnhancedVerifyCommand extends VerifyCommand {
51
45
  }
52
46
  }
53
47
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5oYW5jZWRWZXJpZnlDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9FbmhhbmNlZFZlcmlmeUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3RELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBOEN0RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBOUNGLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0IsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVUsSUFBSSxDQUFDO0lBMkNqQyxDQUFDO0lBekNLLHlCQUF5QixDQUFDLElBQVUsRUFBRSxXQUFtQjs7WUFDN0QsSUFBSSxJQUFJLEtBQUssSUFBSTtnQkFDZixNQUFNLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7S0FBQTtJQUVELDJCQUEyQixDQUFDLElBQVUsRUFBRSxhQUErQixFQUFFLEtBQXVCO1FBQzlGLGFBQWEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0QsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBRWpCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDakU7U0FDRjtJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUIsRUFBRSxLQUFhO1FBQ3JELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssY0FBYyxDQUFDLGFBQWE7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsZUFBZTtnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxzQkFBc0I7Z0JBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLGtCQUFrQjtnQkFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07WUFDUjtnQkFDRSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUtGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWZQYXJhbX0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7WG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge1ZlcmlmeUNvbW1hbmR9IGZyb20gXCIuL1ZlcmlmeUNvbW1hbmRcIjtcclxuaW1wb3J0IHtPcGVyYXRpb259IGZyb20gXCIuLi8uLi9ydC9PcGVyYXRpb25cIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtGaWVsZH0gZnJvbSBcIi4uLy4uL2RhdGEvRmllbGRcIjtcclxuaW1wb3J0IHsgTGFuZ3VhZ2VEYXRhIH0gZnJvbSBcIi4uLy4uL2Vudi9MYW5ndWFnZURhdGFcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRW5oYW5jZWRWZXJpZnlDb21tYW5kIGV4dGVuZHMgVmVyaWZ5Q29tbWFuZCB7XHJcbiAgcHJpdmF0ZSBfYnV0dG9uc0lEOiBzdHJpbmcgPSAnXFwwJzsgLy8gYnV0dG9ucyBvZiB2ZXJpZnkgb3ByXHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEJ1dHRvbjogbnVtYmVyID0gMDsgLy8gZGVmYXVsdCBidXR0b24gb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX2ltYWdlOiBzdHJpbmcgPSAnXFwwJzsgLy8gaW1hZ2Ugb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX3JldHVyblZhbFN0cjogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9yZXR1cm5WYWw6IEZpZWxkID0gbnVsbDsgLy8gcmV0dXJuIHZhbHVlIG9mIHZlcmlmeSBvcHJcclxuXHJcbiAgYXN5bmMgUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrOiBUYXNrLCByZXR1cm5WYWx1ZTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGFzayAhPT0gbnVsbClcclxuICAgICAgYXdhaXQgT3BlcmF0aW9uLnNldG9wZXJWZXJpZnlSZXR1cm5WYWx1ZShyZXR1cm5WYWx1ZSwgdGhpcy5fcmV0dXJuVmFsKTtcclxuICB9XHJcblxyXG4gIFByZXBhcmVNZXNzYWdlQm94Rm9yRGlzcGxheSh0YXNrOiBUYXNrLCBtbHNUcmFuc1RpdGxlOiBSZWZQYXJhbTxzdHJpbmc+LCBzdHlsZTogUmVmUGFyYW08bnVtYmVyPik6IHZvaWQge1xyXG4gICAgbWxzVHJhbnNUaXRsZS52YWx1ZSA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUodGhpcy5fdGl0bGUpO1xyXG4gICAgc3R5bGUudmFsdWUgPSBPcGVyYXRpb24uZ2V0QnV0dG9ucyh0aGlzLl9idXR0b25zSUQpO1xyXG4gICAgc3R5bGUudmFsdWUgfD0gT3BlcmF0aW9uLmdldEltYWdlKHRoaXMuX2ltYWdlKTtcclxuICAgIHN0eWxlLnZhbHVlIHw9IE9wZXJhdGlvbi5nZXREZWZhdWx0QnV0dG9uKHRoaXMuX2RlZmF1bHRCdXR0b24pO1xyXG5cclxuICAgIGlmICh0YXNrICE9PSBudWxsKSB7XHJcbiAgICAgIC8vIFZlcmlmeSBjb21tYW5kIHJldHVybiB2YWx1ZSBjYW4gb25seSBiZSB1c2VkIHdpdGggbWFpbiBwcm9ncmFtIGZpZWxkc1xyXG4gICAgICBpZiAoVGFzay5pc01haW5Qcm9ncmFtRmllbGQodGhpcy5fcmV0dXJuVmFsU3RyKSkge1xyXG4gICAgICAgIHRoaXMuX3JldHVyblZhbCA9IE9wZXJhdGlvbi5Jbml0RmllbGQodGhpcy5fcmV0dXJuVmFsU3RyLCB0YXNrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0lNQUdFOlxyXG4gICAgICAgIHRoaXMuX2ltYWdlID0gdmFsdWVbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9CVVRUT05TOlxyXG4gICAgICAgIHRoaXMuX2J1dHRvbnNJRCA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfREVGQVVMVF9CVVRUT046XHJcbiAgICAgICAgdGhpcy5fZGVmYXVsdEJ1dHRvbiA9IFhtbFBhcnNlci5nZXRJbnQodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfUkVUVVJOX1ZBTDpcclxuICAgICAgICB0aGlzLl9yZXR1cm5WYWxTdHIgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBzdXBlci5IYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5oYW5jZWRWZXJpZnlDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9FbmhhbmNlZFZlcmlmeUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUF5Q3REO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF6Q0YsZUFBVSxHQUFXLElBQUksQ0FBQztRQUMxQixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBQzdCLGVBQVUsR0FBVSxJQUFJLENBQUM7SUF1Q2pDLENBQUM7SUFyQ0sseUJBQXlCLENBQUMsSUFBVSxFQUFFLFdBQW1COztZQUM3RCxJQUFJLElBQUksS0FBSyxJQUFJO2dCQUNmLE1BQU0sU0FBUyxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsQ0FBQztLQUFBO0lBRUQsMkJBQTJCLENBQUMsSUFBVSxFQUFFLGFBQStCLEVBQUUsS0FBdUI7UUFDOUYsYUFBYSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUVqQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ2pFO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUNyRCxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLGNBQWMsQ0FBQyxhQUFhO2dCQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLGVBQWU7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsa0JBQWtCO2dCQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFDM0IsTUFBTTtZQUNSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBS0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZlBhcmFtfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtYbWxQYXJzZXJ9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7VmVyaWZ5Q29tbWFuZH0gZnJvbSBcIi4vVmVyaWZ5Q29tbWFuZFwiO1xyXG5pbXBvcnQge09wZXJhdGlvbn0gZnJvbSBcIi4uLy4uL3J0L09wZXJhdGlvblwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0ZpZWxkfSBmcm9tIFwiLi4vLi4vZGF0YS9GaWVsZFwiO1xyXG5pbXBvcnQgeyBMYW5ndWFnZURhdGEgfSBmcm9tIFwiLi4vLi4vZW52L0xhbmd1YWdlRGF0YVwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBFbmhhbmNlZFZlcmlmeUNvbW1hbmQgZXh0ZW5kcyBWZXJpZnlDb21tYW5kIHtcclxuICBwcml2YXRlIF9idXR0b25zSUQ6IHN0cmluZyA9ICdcXDAnOyAvLyBidXR0b25zIG9mIHZlcmlmeSBvcHJcclxuICBwcml2YXRlIF9pbWFnZTogc3RyaW5nID0gJ1xcMCc7IC8vIGltYWdlIG9mIHZlcmlmeSBvcHJcclxuICBwcml2YXRlIF9yZXR1cm5WYWxTdHI6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfcmV0dXJuVmFsOiBGaWVsZCA9IG51bGw7IC8vIHJldHVybiB2YWx1ZSBvZiB2ZXJpZnkgb3ByXHJcblxyXG4gIGFzeW5jIFByb2Nlc3NNZXNzYWdlQm94UmVzcG9uc2UodGFzazogVGFzaywgcmV0dXJuVmFsdWU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRhc2sgIT09IG51bGwpXHJcbiAgICAgIGF3YWl0IE9wZXJhdGlvbi5zZXRvcGVyVmVyaWZ5UmV0dXJuVmFsdWUocmV0dXJuVmFsdWUsIHRoaXMuX3JldHVyblZhbCk7XHJcbiAgfVxyXG5cclxuICBQcmVwYXJlTWVzc2FnZUJveEZvckRpc3BsYXkodGFzazogVGFzaywgbWxzVHJhbnNUaXRsZTogUmVmUGFyYW08c3RyaW5nPiwgc3R5bGU6IFJlZlBhcmFtPG51bWJlcj4pOiB2b2lkIHtcclxuICAgIG1sc1RyYW5zVGl0bGUudmFsdWUgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UudHJhbnNsYXRlKHRoaXMuX3RpdGxlKTtcclxuICAgIHN0eWxlLnZhbHVlID0gT3BlcmF0aW9uLmdldEJ1dHRvbnModGhpcy5fYnV0dG9uc0lEKTtcclxuICAgIHN0eWxlLnZhbHVlIHw9IE9wZXJhdGlvbi5nZXRJbWFnZSh0aGlzLl9pbWFnZSk7XHJcblxyXG4gICAgaWYgKHRhc2sgIT09IG51bGwpIHtcclxuICAgICAgLy8gVmVyaWZ5IGNvbW1hbmQgcmV0dXJuIHZhbHVlIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBtYWluIHByb2dyYW0gZmllbGRzXHJcbiAgICAgIGlmIChUYXNrLmlzTWFpblByb2dyYW1GaWVsZCh0aGlzLl9yZXR1cm5WYWxTdHIpKSB7XHJcbiAgICAgICAgdGhpcy5fcmV0dXJuVmFsID0gT3BlcmF0aW9uLkluaXRGaWVsZCh0aGlzLl9yZXR1cm5WYWxTdHIsIHRhc2spO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGF0dHJpYnV0ZSkge1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSU1BR0U6XHJcbiAgICAgICAgdGhpcy5faW1hZ2UgPSB2YWx1ZVswXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0JVVFRPTlM6XHJcbiAgICAgICAgdGhpcy5fYnV0dG9uc0lEID0gdmFsdWVbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9SRVRVUk5fVkFMOlxyXG4gICAgICAgIHRoaXMuX3JldHVyblZhbFN0ciA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHN1cGVyLkhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -13,8 +13,8 @@ export class InteractiveCommunicationsFailureHandler {
13
13
  return __awaiter(this, void 0, void 0, function* () {
14
14
  let exceptionCaption = "";
15
15
  let exceptionMessage = url.split('?')[0] + OSEnvironment.EolSeq + OSEnvironment.EolSeq + ex.message + OSEnvironment.EolSeq + OSEnvironment.EolSeq;
16
- this.ShouldRetryLastRequest = ((yield GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", Styles.MSGBOX_BUTTON_YES_NO | Styles.MSGBOX_DEFAULT_BUTTON_2)) === Styles.MSGBOX_RESULT_YES);
16
+ this.ShouldRetryLastRequest = ((yield GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", Styles.MSGBOX_BUTTON_YES_NO)) === Styles.MSGBOX_RESULT_YES);
17
17
  });
18
18
  }
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tdW5pY2F0aW9ucy9JbnRlcmFjdGl2ZUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQVcsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU96QyxNQUFNLE9BQU8sdUNBQXVDO0lBQXBEO1FBQ0UsMkJBQXNCLEdBQVksS0FBSyxDQUFDO0lBdUIxQyxDQUFDO0lBckJDLElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVZLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxFQUFTOztZQUVyRCxJQUFJLGdCQUFnQixHQUFXLEVBQUUsQ0FBQztZQVFsQyxJQUFJLGdCQUFnQixHQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBRTFKLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUEsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDbEYsZ0JBQWdCLEdBQUcsa0NBQWtDLEVBQ3JELE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsTUFBSyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRyxDQUFDO0tBQUE7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T1NFbnZpcm9ubWVudH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDb21tYW5kcywgU3R5bGVzfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcn0gZnJvbSBcIi4uL2h0dHAvY2xpZW50L0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyXCI7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIFRoaXMgaXMgdGhlIGhhbmRsZXIgZm9yIGNvbW11bmljYXRpb25zIHRoYXQgd2lsbCBiZSB1c2VkIGluIG1vc3QgY2FzZXMuIFRoaXNcclxuLy8vIGltcGxlbWVudGF0aW9uIHNob3dzIGEgZGlhbG9nIHRoYXQgYXNrcyB0aGUgdXNlciB3aGV0aGVyIHRvIHJldHJ5IHRoZSBsYXN0XHJcbi8vLyBjb21tdW5pY2F0aW9ucyBhdHRlbXB0IG9yIG5vdCBhbmQgc2V0cyB0aGUgU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCBhY2NvcmRpbmdseS5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciBpbXBsZW1lbnRzIElDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyIHtcclxuICBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBTaG93Q29tbXVuaWNhdGlvbkVycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIENvbW11bmljYXRpb25GYWlsZWQodXJsOiBzdHJpbmcsIGV4OiBFcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGxldCBleGNlcHRpb25DYXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgLy8gVE9ETyA6IEZpbmQgb3V0IGhvdyB0byBnZXQgY2FwdGlvblxyXG4gICAgLy8gbGV0IGV4Y2VwdGlvbkNhcHRpb246IHN0cmluZyA9IE5TdHJpbmcuRm9ybWF0KFwiezB9IHsxfVwiLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWVVdGlscy5Ub1N0cmluZyhEYXRlVGltZS5Ob3csXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTENvbnN0YW50cy5IVFRQX0VSUk9SX1RJTUVfRk9STUFUKSxcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleC5Jbm5lckV4Y2VwdGlvbiAhPSBudWxsID8gZXguSW5uZXJFeGNlcHRpb24uR2V0VHlwZSgpIDogZXguR2V0VHlwZSgpKS5OYW1lKTtcclxuXHJcblxyXG4gICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U6IHN0cmluZyA9IHVybC5zcGxpdCgnPycpWzBdICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIGV4Lm1lc3NhZ2UgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIE9TRW52aXJvbm1lbnQuRW9sU2VxO1xyXG5cclxuICAgIHRoaXMuU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCA9IChhd2FpdCBHVUlNYW5hZ2VyLkluc3RhbmNlLk1lc3NhZ2VCb3goZXhjZXB0aW9uQ2FwdGlvbixcclxuICAgICAgZXhjZXB0aW9uTWVzc2FnZSArIFwiRG8geW91IHdpc2ggdG8gcmV0cnkgY29ubmVjdGluZz9cIixcclxuICAgICAgU3R5bGVzLk1TR0JPWF9CVVRUT05fWUVTX05PIHwgU3R5bGVzLk1TR0JPWF9ERUZBVUxUX0JVVFRPTl8yKSA9PT0gU3R5bGVzLk1TR0JPWF9SRVNVTFRfWUVTKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tdW5pY2F0aW9ucy9JbnRlcmFjdGl2ZUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQVcsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU96QyxNQUFNLE9BQU8sdUNBQXVDO0lBQXBEO1FBQ0UsMkJBQXNCLEdBQVksS0FBSyxDQUFDO0lBdUIxQyxDQUFDO0lBckJDLElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVZLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxFQUFTOztZQUVyRCxJQUFJLGdCQUFnQixHQUFXLEVBQUUsQ0FBQztZQVFsQyxJQUFJLGdCQUFnQixHQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBRTFKLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUEsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDbEYsZ0JBQWdCLEdBQUcsa0NBQWtDLEVBQ3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBRSxNQUFLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7S0FBQTtDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPU0Vudmlyb25tZW50fSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0NvbW1hbmRzLCBTdHlsZXN9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyfSBmcm9tIFwiLi4vaHR0cC9jbGllbnQvSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXJcIjtcclxuaW1wb3J0IHtHVUlNYW5hZ2VyfSBmcm9tIFwiLi4vR1VJTWFuYWdlclwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gVGhpcyBpcyB0aGUgaGFuZGxlciBmb3IgY29tbXVuaWNhdGlvbnMgdGhhdCB3aWxsIGJlIHVzZWQgaW4gbW9zdCBjYXNlcy4gVGhpc1xyXG4vLy8gaW1wbGVtZW50YXRpb24gc2hvd3MgYSBkaWFsb2cgdGhhdCBhc2tzIHRoZSB1c2VyIHdoZXRoZXIgdG8gcmV0cnkgdGhlIGxhc3RcclxuLy8vIGNvbW11bmljYXRpb25zIGF0dGVtcHQgb3Igbm90IGFuZCBzZXRzIHRoZSBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0IGFjY29yZGluZ2x5LlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyIGltcGxlbWVudHMgSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIge1xyXG4gIFNob3VsZFJldHJ5TGFzdFJlcXVlc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IFNob3dDb21tdW5pY2F0aW9uRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgQ29tbXVuaWNhdGlvbkZhaWxlZCh1cmw6IHN0cmluZywgZXg6IEVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgbGV0IGV4Y2VwdGlvbkNhcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgICAvLyBUT0RPIDogRmluZCBvdXQgaG93IHRvIGdldCBjYXB0aW9uXHJcbiAgICAvLyBsZXQgZXhjZXB0aW9uQ2FwdGlvbjogc3RyaW5nID0gTlN0cmluZy5Gb3JtYXQoXCJ7MH0gezF9XCIsXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlVGltZVV0aWxzLlRvU3RyaW5nKERhdGVUaW1lLk5vdyxcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MQ29uc3RhbnRzLkhUVFBfRVJST1JfVElNRV9GT1JNQVQpLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4LklubmVyRXhjZXB0aW9uICE9IG51bGwgPyBleC5Jbm5lckV4Y2VwdGlvbi5HZXRUeXBlKCkgOiBleC5HZXRUeXBlKCkpLk5hbWUpO1xyXG5cclxuXHJcbiAgICBsZXQgZXhjZXB0aW9uTWVzc2FnZTogc3RyaW5nID0gdXJsLnNwbGl0KCc/JylbMF0gKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgZXgubWVzc2FnZSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgT1NFbnZpcm9ubWVudC5Fb2xTZXE7XHJcblxyXG4gICAgdGhpcy5TaG91bGRSZXRyeUxhc3RSZXF1ZXN0ID0gKGF3YWl0IEdVSU1hbmFnZXIuSW5zdGFuY2UuTWVzc2FnZUJveChleGNlcHRpb25DYXB0aW9uLFxyXG4gICAgICBleGNlcHRpb25NZXNzYWdlICsgXCJEbyB5b3Ugd2lzaCB0byByZXRyeSBjb25uZWN0aW5nP1wiLFxyXG4gICAgICBTdHlsZXMuTVNHQk9YX0JVVFRPTl9ZRVNfTk8gKSA9PT0gU3R5bGVzLk1TR0JPWF9SRVNVTFRfWUVTKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==