@magic-xpa/engine 4.1100.0-dev4110.253 → 4.1100.0-dev4110.256
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/ClientManager.mjs +1 -1
- package/esm2022/src/CommandsProcessorBase.mjs +1 -1
- package/esm2022/src/CommandsProcessorManager.mjs +1 -1
- package/esm2022/src/CommandsTable.mjs +1 -1
- package/esm2022/src/CurrentClientVersion.mjs +2 -2
- package/esm2022/src/GUIManager.mjs +1 -1
- package/esm2022/src/GuiEventsProcessor.mjs +1 -1
- package/esm2022/src/ServerConfig.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/AddRangeCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/AddSortCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +1 -1
- package/esm2022/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +1 -1
- package/esm2022/src/data/DataView.mjs +1 -1
- package/esm2022/src/data/DvCache.mjs +1 -1
- package/esm2022/src/data/Field.mjs +1 -1
- package/esm2022/src/data/FieldsTable.mjs +1 -1
- package/esm2022/src/data/Key.mjs +1 -1
- package/esm2022/src/data/Record.mjs +2 -2
- package/esm2022/src/data/RecordsTable.mjs +1 -1
- package/esm2022/src/data/TaskTransactionManager.mjs +1 -1
- package/esm2022/src/data/XMLBasedDcValuesBuilder.mjs +1 -1
- package/esm2022/src/env/EnvVariablesTable.mjs +1 -1
- package/esm2022/src/env/Environment.mjs +1 -1
- package/esm2022/src/env/LanguageData.mjs +1 -1
- package/esm2022/src/env/MirrorString.mjs +1 -1
- package/esm2022/src/event/ActionManager.mjs +1 -1
- package/esm2022/src/event/Event.mjs +1 -1
- package/esm2022/src/event/EventHandler.mjs +1 -1
- package/esm2022/src/event/EventHandlerPosition.mjs +1 -1
- package/esm2022/src/event/EventsManager.mjs +1 -1
- package/esm2022/src/event/RunTimeEvent.mjs +1 -1
- package/esm2022/src/event/UserEventsTable.mjs +1 -1
- package/esm2022/src/exp/ExpTable.mjs +1 -1
- package/esm2022/src/exp/Expression.mjs +1 -1
- package/esm2022/src/exp/ExpressionEvaluator.mjs +1 -1
- package/esm2022/src/exp/ExpressionLocalJpn.mjs +1 -1
- package/esm2022/src/exp/GlobalParamsTable.mjs +1 -1
- package/esm2022/src/exp/YesNoExp.mjs +1 -1
- package/esm2022/src/gui/FormsTable.mjs +1 -1
- package/esm2022/src/gui/MgControl.mjs +1 -1
- package/esm2022/src/gui/MgForm.mjs +1 -1
- package/esm2022/src/http/HttpManager.mjs +1 -1
- package/esm2022/src/http/client/HttpClientAsync.mjs +1 -1
- package/esm2022/src/http/client/HttpClientBase.mjs +1 -1
- package/esm2022/src/http/client/HttpClientEvents.mjs +1 -1
- package/esm2022/src/http/client/HttpClientSync.mjs +1 -1
- package/esm2022/src/http/client/HttpUtility.mjs +1 -1
- package/esm2022/src/remote/AddUserLocateRemoteDataViewCommand.mjs +1 -1
- package/esm2022/src/remote/AddUserRangeRemoteDataViewCommand.mjs +1 -1
- package/esm2022/src/remote/AddUserSortRemoteDataViewCommand.mjs +1 -1
- package/esm2022/src/remote/RemoteCommandsProcessor.mjs +1 -1
- package/esm2022/src/remote/RemoteControlItemsRefreshCommand.mjs +1 -1
- package/esm2022/src/remote/RemoteDataViewCommandBase.mjs +1 -1
- package/esm2022/src/remote/RemoteDataViewCommandFactory.mjs +1 -1
- package/esm2022/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +1 -1
- package/esm2022/src/remote/ResetUserSortRemoteDataviewCommand.mjs +1 -1
- package/esm2022/src/remote/ServerError.mjs +1 -1
- package/esm2022/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +1 -1
- package/esm2022/src/rt/Argument.mjs +1 -1
- package/esm2022/src/rt/ArgumentsList.mjs +1 -1
- package/esm2022/src/rt/Boundary.mjs +1 -1
- package/esm2022/src/rt/CompMainPrgTable.mjs +1 -1
- package/esm2022/src/rt/DataviewHeaderBase.mjs +1 -1
- package/esm2022/src/rt/DataviewHeaders.mjs +1 -1
- package/esm2022/src/rt/DataviewHeadersSaxHandler.mjs +1 -1
- package/esm2022/src/rt/ExecutionStack.mjs +1 -1
- package/esm2022/src/rt/HandlersTable.mjs +1 -1
- package/esm2022/src/rt/LastFocusedManager.mjs +1 -1
- package/esm2022/src/rt/Operation.mjs +1 -1
- package/esm2022/src/rt/OperationTable.mjs +1 -1
- package/esm2022/src/rt/Recompute.mjs +1 -1
- package/esm2022/src/rt/RecomputeTable.mjs +1 -1
- package/esm2022/src/rt/RemoteDataviewHeader.mjs +1 -1
- package/esm2022/src/rt/TableCache.mjs +1 -1
- package/esm2022/src/rt/TableCacheManager.mjs +1 -1
- package/esm2022/src/rt/Transaction.mjs +1 -1
- package/esm2022/src/security/UserDetails.mjs +1 -1
- package/esm2022/src/tasks/MGData.mjs +1 -1
- package/esm2022/src/tasks/MGDataCollection.mjs +1 -1
- package/esm2022/src/tasks/RCTimer.mjs +1 -1
- package/esm2022/src/tasks/RemoteTaskService.mjs +1 -1
- package/esm2022/src/tasks/Task.mjs +1 -1
- package/esm2022/src/tasks/TaskBase.mjs +1 -1
- package/esm2022/src/tasks/TaskServiceBase.mjs +1 -1
- package/esm2022/src/tasks/TasksTable.mjs +1 -1
- package/esm2022/src/tasks/sort/SortCollection.mjs +1 -1
- package/esm2022/src/util/ConstUtils.mjs +1 -1
- package/esm2022/src/util/FlowMonitorQueue.mjs +1 -1
- package/esm2022/src/util/HeapSort.mjs +1 -1
- package/esm2022/src/util/MgPriorityBlockingQueue.mjs +1 -1
- package/esm2022/src/util/MgPriorityQueue.mjs +1 -1
- package/esm2022/src/util/PrmMap.mjs +1 -1
- package/esm2022/src/util/Scrambler.mjs +1 -1
- package/esm2022/src/util/UniqueIDUtils.mjs +1 -1
- package/esm2022/src/util/cookie.service.mjs +1 -1
- package/fesm2022/magic-xpa-engine.mjs +2 -2
- package/fesm2022/magic-xpa-engine.mjs.map +1 -1
- package/package.json +4 -4
@@ -153,4 +153,4 @@ export class GuiEventsProcessor extends EventsProcessor {
|
|
153
153
|
return false;
|
154
154
|
}
|
155
155
|
}
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRXZlbnRzUHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HdWlFdmVudHNQcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBUWYsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBQ3JELHdCQUF3QjtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUNwRCxNQUFNLENBQUMsMkJBQTJCLEdBQUcsa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7UUFDdEYsTUFBTSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDeEQsTUFB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WyJpbXBvcnQge0N0cmxCdXR0b25UeXBlR3VpLCBJbnRlcm5hbEludGVyZmFjZSwgTG9nZ2VyLCBNZ0NvbnRyb2xUeXBlLCBNaXNjfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBFdmVudHMsXHJcbiAgRXZlbnRzUHJvY2Vzc29yLFxyXG4gIEd1aU1nQ29udHJvbCxcclxuICBHdWlNZ0Zvcm0sXHJcbiAgSVRhc2ssXHJcbiAgTGFzdEZvY3VzZWRWYWwsXHJcbiAgTWdDb250cm9sQmFzZSxcclxuICBNZ1RpbWVyLFxyXG4gIE1vZGlmaWVycyxcclxuICBSdW50aW1lQ29udGV4dEJhc2VcclxufSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7TWdDb250cm9sfSBmcm9tICcuL2d1aS9NZ0NvbnRyb2wnO1xyXG5pbXBvcnQge1J1blRpbWVFdmVudH0gZnJvbSAnLi9ldmVudC9SdW5UaW1lRXZlbnQnO1xyXG5pbXBvcnQge01nRm9ybX0gZnJvbSAnLi9ndWkvTWdGb3JtJztcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gJy4vdGFza3MvTUdEYXRhJztcclxuaW1wb3J0IHtSQ1RpbWVyfSBmcm9tICcuL3Rhc2tzL1JDVGltZXInO1xyXG5pbXBvcnQge01HRGF0YUNvbGxlY3Rpb259IGZyb20gJy4vdGFza3MvTUdEYXRhQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHtFdmVudHNNYW5hZ2VyfSBmcm9tICcuL2V2ZW50L0V2ZW50c01hbmFnZXInO1xyXG5pbXBvcnQge0xhbmd1YWdlRGF0YX0gZnJvbSAnLi9lbnYvTGFuZ3VhZ2VEYXRhJztcclxuaW1wb3J0IHtFbnZQYXJhbXNUYWJsZX0gZnJvbSAnLi9lbnYvRW52VmFyaWFibGVzVGFibGUnO1xyXG5pbXBvcnQge0xhc3RGb2N1c2VkTWFuYWdlcn0gZnJvbSAnLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXInO1xyXG5pbXBvcnQge1NlcnZlckNvbmZpZ30gZnJvbSAnLi9TZXJ2ZXJDb25maWcnO1xyXG5pbXBvcnQge0NsaWVudE1hbmFnZXJ9IGZyb20gXCIuL0NsaWVudE1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBHdWlFdmVudHNQcm9jZXNzb3IgZXh0ZW5kcyBFdmVudHNQcm9jZXNzb3Ige1xyXG4gIFJlZ2lzdGVyU3ViY2xhc3NIYW5kbGVycygpOiB2b2lkIHtcclxuICAgIEV2ZW50cy5Gb2N1c0V2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLnByb2Nlc3NGb2N1cztcclxuICAgIEV2ZW50cy5Gb2N1c09uTm9uTWFnaWNDb250cm9sRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0ZvY3VzT25Ob25NYWdpY0NvbnRyb2w7XHJcbiAgICBFdmVudHMuTW91c2VVcEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLnByb2Nlc3NNb3VzZVVwO1xyXG4gICAgRXZlbnRzLlNlbGVjdGlvbkV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLnByb2Nlc3NTZWxlY3Rpb247XHJcbiAgICBFdmVudHMuRGlzcG9zZUV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLnByb2Nlc3NEaXNwb3NlO1xyXG4gICAgRXZlbnRzLlRpbWVyRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuUHJvY2Vzc1RpbWVyO1xyXG4gICAgRXZlbnRzLlRhYmxlUmVzaXplRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc1RhYmxlUmVzaXplO1xyXG4gICAgRXZlbnRzLkdldFJvd3NEYXRhRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0dldFJvd3NEYXRhO1xyXG4gICAgRXZlbnRzLk5vblBhcmthYmxlTGFzdFBhcmtlZEN0cmxFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Pbk5vblBhcmthYmxlTGFzdFBhcmtlZEN0cmw7XHJcbiAgICBFdmVudHMuU2hvd1Nlc3Npb25TdGF0aXN0aWNzRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuU2hvd1Nlc3Npb25TdGF0aXN0aWNzO1xyXG5cclxuICAgIEV2ZW50cy5Xcml0ZUV4Y2VwdGlvblRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG4gICAgRXZlbnRzLldyaXRlRXJyb3JUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlRXJyb3JUb0xvZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVXYXJuaW5nVG9Mb2dFdmVudCA9IExvZ2dlci5JbnN0YW5jZS5Xcml0ZVdhcm5pbmdUb0xvZ1dpdGhNc2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG4gICAgRXZlbnRzLlNob3VsZExvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLlNob3VsZExvZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVHdWlUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlR3VpVG9Mb2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG4gICAgRXZlbnRzLldyaXRlRGV2VG9Mb2dFdmVudCA9IExvZ2dlci5JbnN0YW5jZS5Xcml0ZURldlRvTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuXHJcbiAgICBFdmVudHMuVHJhbnNsYXRlRXZlbnQgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UudHJhbnNsYXRlLmJpbmQoTGFuZ3VhZ2VEYXRhLkluc3RhbmNlKTtcclxuXHJcbiAgICBFdmVudHMuUGVla0VuZE9mV29ya0V2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLnBlZWtFbmRPZldvcms7XHJcblxyXG4gICAgRXZlbnRzLlRyYW5zbGF0ZUxvZ2ljYWxOYW1lRXZlbnQgPSBFbnZQYXJhbXNUYWJsZS5JbnN0YW5jZS50cmFuc2xhdGUuYmluZChFbnZQYXJhbXNUYWJsZS5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuR2V0QXNzZXRzVVJMID0gQ2xpZW50TWFuYWdlci5HZXRBc3NldHNVUkw7XHJcbiAgICBFdmVudHMuR2V0TWFpblByb2dyYW1FdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5nZXRNYWluUHJvZ3JhbTtcclxuICAgIEV2ZW50cy5HZXRNZXNzYWdlU3RyaW5nRXZlbnQgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UuZ2V0Q29uc3RNZXNzYWdlLmJpbmQoTGFuZ3VhZ2VEYXRhLkluc3RhbmNlKTtcclxuXHJcbiAgICBFdmVudHMuQ3RybEZvY3VzRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0N0cmxGb2N1cztcclxuICAgIEV2ZW50cy5HZXRSdW50aW1lQ29udGV4dEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLkdldFJ1bnRpbWVDb250ZXh0O1xyXG4gICAgRXZlbnRzLlNhdmVMYXN0Q2xpY2tlZEN0cmxFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TYXZlTGFzdENsaWNrZWRDb250cm9sTmFtZTtcclxuICAgIEV2ZW50cy5TYXZlTGFzdENsaWNrSW5mb0V2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLlNhdmVMYXN0Q2xpY2tJbmZvO1xyXG5cclxuXHJcbiAgICBFdmVudHMuT25Jc0xvZ29uUlRMRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuSXNMb2dvblJUTDtcclxuICAgIEV2ZW50cy5TaG91bGRBZGRFbnRlckFzS2V5RXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuU2hvdWxkQWRkRW50ZXJBc0tleUV2ZW50O1xyXG5cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQ1RPUiA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaVRhc2tcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1nQ29udHJvbFwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0N0cmxGb2N1cyhpVGFzazogSVRhc2ssIG1nQ29udHJvbDogTWdDb250cm9sQmFzZSk6IHZvaWQge1xyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLnNldExhc3RGb2N1c2VkQ29udHJvbCg8VGFzaz5pVGFzaywgbWdDb250cm9sKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwiZm9jdXNcIiBldmVudDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxpbmVcIj50aGUgbGluZSBvZiBtdWx0aWxpbmUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBUUlVFIGlmIE1hZ2ljIGludGVybmFsIHJ1bGVzIGFsbG93IHVzIHRvIHBlcmZvcm0gdGhlIGZvY3VzLlxyXG4gIC8vLyAgIHNvbWV0aW1lcywgTWFnaWMgZm9yY2VzIHVzIHRvIHJldHVybiB0byB0aGUgb3JpZ2luYWwgY29udHJvbCB0aHVzIEZBTFNFIHdpbGwgYmUgcmV0dXJuZWQuXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzRm9jdXMoZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgaXNQcm9kdWNlQ2xpY2s6IGJvb2xlYW4sIG9uTXVsdGlNYXJrOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBsZXQgbWdDb250cm9sOiBNZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkR3VpVHJpZ2dlcmVkRXZlbnRXaXRoQ3RybEFuZExpbmVBbmRDb2RlQW5kSXNQcm9kdWN0Q2xpY2sobWdDb250cm9sLCBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVUywgbGluZSwgaXNQcm9kdWNlQ2xpY2spO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgXCJmb2N1c1wiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NGb2N1c09uTm9uTWFnaWNDb250cm9sKGd1aU1nQ3RybDogR3VpTWdDb250cm9sKTogdm9pZCB7XHJcbiAgICBsZXQgbWdDb250cm9sOiBNZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkR3VpVHJpZ2dlcmVkRXZlbnRXaXRoQ3RybEFuZENvZGVBbmRMaW5lKG1nQ29udHJvbCwgSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NUUkxfRk9DVVNfT05fTk9OX01BR0lDX0NPTlRST0wsIG1nQ29udHJvbC5nZXREaXNwbGF5TGluZSh0cnVlKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcImNsaWNrXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPnRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxpbmVcIj4gdGhlIGxpbmUgb2YgdGhlIG11bHRpbGluZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzTW91c2VVcChndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgbWdDb250cm9sID0gPE1nQ29udHJvbD5ndWlNZ0N0cmw7XHJcbiAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgbGluZSwgdHJ1ZSk7XHJcbiAgICBsZXQgcHJvZHVjZUNsaWNrOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAobWdDb250cm9sLlR5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0JVVFRPTiAmJiBndWlNZ0N0cmwuQnV0dG9uU3R5bGUgPT09IEN0cmxCdXR0b25UeXBlR3VpLkh5cGVydGV4dClcclxuICAgICAgcHJvZHVjZUNsaWNrID0gZmFsc2U7XHJcblxyXG4gICAgcnRFdnQuc2V0UHJvZHVjZUNsaWNrKHByb2R1Y2VDbGljayk7XHJcbiAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9NT1VTRVVQKTtcclxuICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBSZWxlYXNlIHJlZmVyZW5jZXMgdG8gbWdEYXRhIGFuZCB0byB0aGUgdGFzayBpbiBvcmRlciB0byBsZXQgdGhlIGdjIHRvIGZyZWUgdGhlIG1lbW9yeS5cclxuICAvLy8gICBUaGlzIGNvZGUgd2FzIG1vdmVkIGZyb20gcHJvY2Vzc0Nsb3NlIGluIG9yZGVyIHRvIGNsZWFuIGFsc28gd2hlbiB0aGUgXCJvcGVuIHdpbmRvdyA9IE5PXCIgKG5vbiBpbnRlcmFjdGl2ZSB0YXNrcykuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZvcm1cIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NEaXNwb3NlKGd1aU1nRm9ybTogR3VpTWdGb3JtKTogdm9pZCB7XHJcbiAgICBsZXQgZm9ybSA9IDxNZ0Zvcm0+Z3VpTWdGb3JtO1xyXG4gICAgbGV0IHRhc2sgPSA8VGFzaz5mb3JtLmdldFRhc2soKTtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9IHRhc2suZ2V0TUdEYXRhKCk7XHJcblxyXG4gICAgUkNUaW1lci5TdG9wQWxsKG1nZCk7XHJcblxyXG4gICAgaWYgKG1nZC5Jc0Fib3J0aW5nKVxyXG4gICAgICBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLmRlbGV0ZU1HRGF0YVRyZWUobWdkLkdldElkKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgXCJ0aW1lclwiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWdUaW1lclwiPm9iamVjdCBvZiAnTWdUaW1lcicgY2xhc3M8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIFByb2Nlc3NUaW1lcihtZ1RpbWVyOiBNZ1RpbWVyKTogdm9pZCB7XHJcbiAgICBsZXQgbWdkOiBNR0RhdGEgPSAoPFJDVGltZXI+bWdUaW1lcikuR2V0TWdkYXRhKCk7XHJcbiAgICBsZXQgdGFzayA9IG1nZC5nZXRGaXJzdFRhc2soKTtcclxuXHJcbiAgICAvLyBNZ1RpbWVyL1JDVGltZXIgdXNlcyBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgYnV0IFJ1bnRpbWVFdmVudCB1c2VzIGludGVydmFsIGluIHNlY29uZHNcclxuICAgIC8vIHNvIGNvbnZlcnQgaXQgdG8gc2Vjb25kcy5cclxuICAgIGxldCBzZWNvbmRzOiBudW1iZXIgPSBNYXRoLmZsb29yKCgoPFJDVGltZXI+bWdUaW1lcikuVGltZXJJbnRlcnZhbE1pbGlTZWNvbmRzKSAvIDEwMDApO1xyXG4gICAgbGV0IGlzSWRsZTogYm9vbGVhbiA9ICg8UkNUaW1lcj5tZ1RpbWVyKS5Jc0lkbGVUaW1lcjtcclxuXHJcbiAgICBpZiAobWdkLklzQWJvcnRpbmcpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KHRhc2ssIHRydWUpO1xyXG4gICAgcnRFdnQuc2V0VGltZXIoc2Vjb25kcywgbWdkLkdldElkKCksIGlzSWRsZSk7XHJcbiAgICBydEV2dC5zZXRNYWluUHJnQ3JlYXRvcihydEV2dC5nZXRUYXNrKCkpO1xyXG5cclxuICAgIGlmICghaXNJZGxlKVxyXG4gICAgICBydEV2dC5zZXRDdHJsKDxNZ0NvbnRyb2w+dGFzay5nZXRMYXN0UGFya2VkQ3RybCgpKTtcclxuXHJcbiAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfVElNRVIpO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgUmVzaXplIG9mIHRoZSBwYWdlLCBmb3IgdGFibGUgY29udHJvbHMgb25seTwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJuZXdSb3dzSW5QYWdlXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzVGFibGVSZXNpemUoZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIG5ld1Jvd3NJblBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICBsZXQgbWdDb250cm9sID0gPE1nQ29udHJvbD5ndWlNZ0N0cmw7XHJcbiAgICAgIGlmIChtZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChtZ0NvbnRyb2wsIG5ld1Jvd3NJblBhZ2UsIHRydWUpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0SW50ZXJuYWwoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JFU0laRSk7XHJcbiAgICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIHNldCBkYXRhIGZvciByb3c8L3N1bW1hcnk+XHJcbiAgLy8vPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPnRhYmxlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic2VuZEFsbFwiPmlmIHRydWUgLCBhbHdheXMgc2VuZCBhbGwgcmVjb3JkczwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0dldFJvd3NEYXRhKGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBkZXNpcmVkVG9wSW5kZXg6IG51bWJlciwgc2VuZEFsbDogYm9vbGVhbiwgbGFzdEZvY3VzZWRWYWw6IExhc3RGb2N1c2VkVmFsKTogdm9pZCB7XHJcbiAgICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuXHJcbiAgICAgIGlmIChtZ0NvbnRyb2wgIT0gbnVsbCAmJiBtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfVEFCTEUpIHtcclxuICAgICAgICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCBkZXNpcmVkVG9wSW5kZXgsIHRydWUpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0SW50ZXJuYWwoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JPV19EQVRBX0NVUlJfUEFHRSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRTZW5kQWxsKHNlbmRBbGwpO1xyXG4gICAgICAgICAgcnRFdnQuTGFzdEZvY3VzZWRWYWwgPSBsYXN0Rm9jdXNlZFZhbDtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSWYgY3VycmVudCBjb250cm9sIGJlY29tZXMgaW52aXNpYmxlL2Rpc2FibGVkL25vbiBwYXJrYWJsZSwgdGhlbiBwdXQgTUdfQUNUX1RCTF9OWFRGTEQgaW50byBxdWV1ZS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN0cmxcIj5jb250cm9sIHdob3NlIHByb3BlcnR5IGlzIGNoYW5nZWQuPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBPbk5vblBhcmthYmxlTGFzdFBhcmtlZEN0cmwoY3RybDogR3VpTWdDb250cm9sKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcInNlbGVjdGlvblwiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj50aGUgY29udHJvbCA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPiB0aGUgbGluZSBvZiB0aGUgbXVsdGlsaW5lIGNvbnRyb2wgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInByb2R1Y2VDbGlja1wiPlRPRE8gPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzU2VsZWN0aW9uKHZhbDogc3RyaW5nLCBndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBwcm9kdWNlQ2xpY2s6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgbGV0IG1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG5cclxuICAgICAgaWYgKGd1aU1nQ3RybC5Db25uZWN0ZWRDb250cm9sKSB7XHJcbiAgICAgICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgK2xpbmUsIHRydWUpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0SW50ZXJuYWwoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NUUkxfRk9DVVMpO1xyXG4gICAgICAgICAgcnRFdnQuU2hvdWxkSGFuZGxlWm9vbSA9IHRydWU7XHJcbiAgICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAobWdDb250cm9sLlR5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0JVVFRPTiAmJiBtZ0NvbnRyb2wuZ2V0Rm9ybSgpLmdldFRhc2soKS5nZXRMYXN0UGFya2VkQ3RybCgpICE9PSBtZ0NvbnRyb2wpXHJcbiAgICAgICAgICAgICAgcHJvZHVjZUNsaWNrID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgK2xpbmUsIHRydWUpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0SW50ZXJuYWwoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1NFTEVDVElPTik7XHJcbiAgICAgICAgICBydEV2dC5zZXRWYWx1ZSh2YWwpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0UHJvZHVjZUNsaWNrKHByb2R1Y2VDbGljayk7XHJcbiAgICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT48L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0Zvcm1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1vZGlmaWVyXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImtleUNvZGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RhcnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZW5kXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRleHRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXNBY3RDaGFyXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN1Z2dlc3RlZFZhbHVlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRvdE5ldEFyZ3NcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY29tYm9Jc0Ryb3BEb3duXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYW5kbGVkXCI+Ym9vbGVhbiB2YXJpYWJsZSBldmVudCBpcyBoYW5kbGVkIG9yIG5vdC48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdHJ1ZSBvbmx5IGlmIHdlIGhhdmUgaGFuZGxlZCB0aGUgS2V5RG93biBldmVudCAob3RoZXJ3aXNlIHRoZSBDTFIgc2hvdWxkIGhhbmRsZSkuIElmIHRydWUgbWFnaWMgd2lsbCBoYW5kbGUgZWxzZSBDTFIgd2lsbCBoYW5kbGUuPC9yZXR1cm5zPlxyXG4gIHByb2Nlc3NLZXlEb3duKGd1aU1nRm9ybTogR3VpTWdGb3JtLCBndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbW9kaWZpZXI6IE1vZGlmaWVycyxcclxuICAgICAgICAgICAgICAgICBrZXlDb2RlOiBudW1iZXIsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgaXNBY3RDaGFyOiBib29sZWFuLCBzdWdnZXN0ZWRWYWx1ZTogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgIGhhbmRsZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIC8vIHRpbWUgb2YgbGFzdCB1c2VyIGFjdGlvbiBmb3IgSURMRSBmdW5jdGlvblxyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLkluc3RhbmNlLkxhc3RBY3Rpb25UaW1lID0gTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKTtcclxuXHJcbiAgICAvLyBET1dOIG9yIFVQIGludm9rZWQgb24gYSBTRUxFQ1QvUkFESU8gY29udHJvbFxyXG4gICAgcmV0dXJuIHN1cGVyLnByb2Nlc3NLZXlEb3duKGd1aU1nRm9ybSwgZ3VpTWdDdHJsLCBtb2RpZmllciwga2V5Q29kZSwgc3RhcnQsIGVuZCwgdGV4dCwgaXNBY3RDaGFyLCBzdWdnZXN0ZWRWYWx1ZSwgIGhhbmRsZWQpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnBlZWsgdGhlIHZhbHVlIG9mIHRoZSBcImVuZCBvZiB3b3JrXCIgZmxhZy48L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcGVla0VuZE9mV29yaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmdldEVuZE9mV29yaygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlRoaXMgbWV0aG9kIHJldHVybnMgTWFpbiBwcm9ncmFtIGZvciBhIGN0bDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250ZXh0SURcIj5hY3RpdmUvdGFyZ2V0IGNvbnRleHQgKGlyZWxldmFudCBmb3IgUkMpPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdGxJZHhcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TWFpblByb2dyYW0oY29udGV4dElEOiBudW1iZXIsIGN0bElkeDogbnVtYmVyKTogVGFzayB7XHJcbiAgICByZXR1cm4gTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5HZXRNYWluUHJvZ0J5Q3RsSWR4KGNvbnRleHRJRCwgY3RsSWR4KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gR2V0IHRoZSBSdW50aW1lQ29udGV4dCBvZiBDbGllbnRNYW5hZ2VyLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBHZXRSdW50aW1lQ29udGV4dChjb250ZXh0SUQ6IHN0cmluZyk6IFJ1bnRpbWVDb250ZXh0QmFzZSB7XHJcbiAgICByZXR1cm4gUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBTYXZlcyB0aGUgbGFzdCBjbGlja2VkIGNvbnRyb2wgaW4gYSByZXNwZWN0aXZlIFJ1bnRpbWVDb250ZXh0QmFzZS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImd1aU1nQ29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RybE5hbWVcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIFNhdmVMYXN0Q2xpY2tlZENvbnRyb2xOYW1lKGN0cmxOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZS5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gY3RybE5hbWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNhdmVzIHRoZSBsYXN0IGNsaWNrZWQgaW5mb3JtYXRpb24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJndWlNZ0Zvcm1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJYXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJZXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvZmZzZXRYXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvZmZzZXRZXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBTYXZlTGFzdENsaWNrSW5mbyhjb250cm9sTmFtZTogc3RyaW5nLCBYOiBudW1iZXIsIFk6IG51bWJlciwgb2Zmc2V0WDogbnVtYmVyLCBvZmZzZXRZOiBudW1iZXIsIExhc3RDbGlja0Nvb3JkaW5hdGVzQXJlSW5QaXhlbHM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZS5TYXZlTGFzdENsaWNrSW5mbyhjb250cm9sTmFtZSwgWCwgWSwgb2Zmc2V0WCwgb2Zmc2V0WSwgTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVscyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBTaG91bGQgd2Ugc2hvdyBsb2dvbiB3aW5kb3cgUlRMIG9yIG5vdC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSXNMb2dvblJUTCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuSXNMb2dvblJUTCgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU2hvd1Nlc3Npb25TdGF0aXN0aWNzKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJbiBSSUEsIGVudGVyIHdpbGwgY2F1c2UgYSBrZXlib2FyZCBldmVudCBhY2NvcmRpbmcgdG8gdGhlIE9TLlxyXG4gIC8vLyBUaGlzIGlzIG1vc3RseSBpbXBvcnRhbnQgZm9yIGRlZmF1bHQgYnV0dG9uLCB3aGVyZSBFTlRFUiBvbiBhbnkgY29udHJvbCB0cmlnZ2VycyBjbGljayBldmVudCBvbiB0aGUgYnV0dG9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBTaG91bGRBZGRFbnRlckFzS2V5RXZlbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRXZlbnRzUHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HdWlFdmVudHNQcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBUWYsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBQ3JELHdCQUF3QjtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUNwRCxNQUFNLENBQUMsMkJBQTJCLEdBQUcsa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7UUFDdEYsTUFBTSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDeEQsTUFB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ZXJmYWNlLCBMb2dnZXIsIE1nQ29udHJvbFR5cGUsIE1pc2N9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIEV2ZW50cyxcclxuICBFdmVudHNQcm9jZXNzb3IsXHJcbiAgR3VpTWdDb250cm9sLFxyXG4gIEd1aU1nRm9ybSxcclxuICBJVGFzayxcclxuICBMYXN0Rm9jdXNlZFZhbCxcclxuICBNZ0NvbnRyb2xCYXNlLFxyXG4gIE1nVGltZXIsXHJcbiAgTW9kaWZpZXJzLFxyXG4gIFJ1bnRpbWVDb250ZXh0QmFzZVxyXG59IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gJy4vZ3VpL01nQ29udHJvbCc7XHJcbmltcG9ydCB7UnVuVGltZUV2ZW50fSBmcm9tICcuL2V2ZW50L1J1blRpbWVFdmVudCc7XHJcbmltcG9ydCB7TWdGb3JtfSBmcm9tICcuL2d1aS9NZ0Zvcm0nO1xyXG5pbXBvcnQge01HRGF0YX0gZnJvbSAnLi90YXNrcy9NR0RhdGEnO1xyXG5pbXBvcnQge1JDVGltZXJ9IGZyb20gJy4vdGFza3MvUkNUaW1lcic7XHJcbmltcG9ydCB7TUdEYXRhQ29sbGVjdGlvbn0gZnJvbSAnLi90YXNrcy9NR0RhdGFDb2xsZWN0aW9uJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge0V2ZW50c01hbmFnZXJ9IGZyb20gJy4vZXZlbnQvRXZlbnRzTWFuYWdlcic7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuL2Vudi9MYW5ndWFnZURhdGEnO1xyXG5pbXBvcnQge0VudlBhcmFtc1RhYmxlfSBmcm9tICcuL2Vudi9FbnZWYXJpYWJsZXNUYWJsZSc7XHJcbmltcG9ydCB7TGFzdEZvY3VzZWRNYW5hZ2VyfSBmcm9tICcuL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7U2VydmVyQ29uZmlnfSBmcm9tICcuL1NlcnZlckNvbmZpZyc7XHJcbmltcG9ydCB7Q2xpZW50TWFuYWdlcn0gZnJvbSBcIi4vQ2xpZW50TWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEd1aUV2ZW50c1Byb2Nlc3NvciBleHRlbmRzIEV2ZW50c1Byb2Nlc3NvciB7XHJcbiAgUmVnaXN0ZXJTdWJjbGFzc0hhbmRsZXJzKCk6IHZvaWQge1xyXG4gICAgRXZlbnRzLkZvY3VzRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0ZvY3VzO1xyXG4gICAgRXZlbnRzLkZvY3VzT25Ob25NYWdpY0NvbnRyb2xFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzRm9jdXNPbk5vbk1hZ2ljQ29udHJvbDtcclxuICAgIEV2ZW50cy5Nb3VzZVVwRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc01vdXNlVXA7XHJcbiAgICBFdmVudHMuU2VsZWN0aW9uRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc1NlbGVjdGlvbjtcclxuICAgIEV2ZW50cy5EaXNwb3NlRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0Rpc3Bvc2U7XHJcbiAgICBFdmVudHMuVGltZXJFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Qcm9jZXNzVGltZXI7XHJcbiAgICBFdmVudHMuVGFibGVSZXNpemVFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzVGFibGVSZXNpemU7XHJcbiAgICBFdmVudHMuR2V0Um93c0RhdGFFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzR2V0Um93c0RhdGE7XHJcbiAgICBFdmVudHMuTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLk9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybDtcclxuICAgIEV2ZW50cy5TaG93U2Vzc2lvblN0YXRpc3RpY3NFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG93U2Vzc2lvblN0YXRpc3RpY3M7XHJcblxyXG4gICAgRXZlbnRzLldyaXRlRXhjZXB0aW9uVG9Mb2dFdmVudCA9IExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVFcnJvclRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFcnJvclRvTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZVdhcm5pbmdUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuU2hvdWxkTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuU2hvdWxkTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZUd1aVRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVHdWlUb0xvZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVEZXZUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5UcmFuc2xhdGVFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5QZWVrRW5kT2ZXb3JrRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucGVla0VuZE9mV29yaztcclxuXHJcbiAgICBFdmVudHMuVHJhbnNsYXRlTG9naWNhbE5hbWVFdmVudCA9IEVudlBhcmFtc1RhYmxlLkluc3RhbmNlLnRyYW5zbGF0ZS5iaW5kKEVudlBhcmFtc1RhYmxlLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5HZXRBc3NldHNVUkwgPSBDbGllbnRNYW5hZ2VyLkdldEFzc2V0c1VSTDtcclxuICAgIEV2ZW50cy5HZXRNYWluUHJvZ3JhbUV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLmdldE1haW5Qcm9ncmFtO1xyXG4gICAgRXZlbnRzLkdldE1lc3NhZ2VTdHJpbmdFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5DdHJsRm9jdXNFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzQ3RybEZvY3VzO1xyXG4gICAgRXZlbnRzLkdldFJ1bnRpbWVDb250ZXh0RXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuR2V0UnVudGltZUNvbnRleHQ7XHJcbiAgICBFdmVudHMuU2F2ZUxhc3RDbGlja2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLlNhdmVMYXN0Q2xpY2tlZENvbnRyb2xOYW1lO1xyXG4gICAgRXZlbnRzLlNhdmVMYXN0Q2xpY2tJbmZvRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuU2F2ZUxhc3RDbGlja0luZm87XHJcblxyXG5cclxuICAgIEV2ZW50cy5PbklzTG9nb25SVExFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Jc0xvZ29uUlRMO1xyXG4gICAgRXZlbnRzLlNob3VsZEFkZEVudGVyQXNLZXlFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG91bGRBZGRFbnRlckFzS2V5RXZlbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDVE9SIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpVGFza1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdDb250cm9sXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzQ3RybEZvY3VzKGlUYXNrOiBJVGFzaywgbWdDb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogdm9pZCB7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuc2V0TGFzdEZvY3VzZWRDb250cm9sKDxUYXNrPmlUYXNrLCBtZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgXCJmb2N1c1wiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPnRoZSBsaW5lIG9mIG11bHRpbGluZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IFRSVUUgaWYgTWFnaWMgaW50ZXJuYWwgcnVsZXMgYWxsb3cgdXMgdG8gcGVyZm9ybSB0aGUgZm9jdXMuXHJcbiAgLy8vICAgc29tZXRpbWVzLCBNYWdpYyBmb3JjZXMgdXMgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBjb250cm9sIHRodXMgRkFMU0Ugd2lsbCBiZSByZXR1cm5lZC5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NGb2N1cyhndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBpc1Byb2R1Y2VDbGljazogYm9vbGVhbiwgb25NdWx0aU1hcms6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kTGluZUFuZENvZGVBbmRJc1Byb2R1Y3RDbGljayhtZ0NvbnRyb2wsIEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX0ZPQ1VTLCBsaW5lLCBpc1Byb2R1Y2VDbGljayk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcImZvY3VzXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj50aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0ZvY3VzT25Ob25NYWdpY0NvbnRyb2woZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kQ29kZUFuZExpbmUobWdDb250cm9sLCBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVU19PTl9OT05fTUFHSUNfQ09OVFJPTCwgbWdDb250cm9sLmdldERpc3BsYXlMaW5lKHRydWUpKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwiY2xpY2tcIiBldmVudDwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPiB0aGUgbGluZSBvZiB0aGUgbXVsdGlsaW5lIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NNb3VzZVVwKGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCBsaW5lLCB0cnVlKTtcclxuICAgIGxldCBwcm9kdWNlQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGlmIChtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQlVUVE9OICYmIGd1aU1nQ3RybC5CdXR0b25TdHlsZSA9PT0gQ3RybEJ1dHRvblR5cGVHdWkuSHlwZXJ0ZXh0KVxyXG4gICAgICBwcm9kdWNlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgICBydEV2dC5zZXRQcm9kdWNlQ2xpY2socHJvZHVjZUNsaWNrKTtcclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX01PVVNFVVApO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFJlbGVhc2UgcmVmZXJlbmNlcyB0byBtZ0RhdGEgYW5kIHRvIHRoZSB0YXNrIGluIG9yZGVyIHRvIGxldCB0aGUgZ2MgdG8gZnJlZSB0aGUgbWVtb3J5LlxyXG4gIC8vLyAgIFRoaXMgY29kZSB3YXMgbW92ZWQgZnJvbSBwcm9jZXNzQ2xvc2UgaW4gb3JkZXIgdG8gY2xlYW4gYWxzbyB3aGVuIHRoZSBcIm9wZW4gd2luZG93ID0gTk9cIiAobm9uIGludGVyYWN0aXZlIHRhc2tzKS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZm9ybVwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0Rpc3Bvc2UoZ3VpTWdGb3JtOiBHdWlNZ0Zvcm0pOiB2b2lkIHtcclxuICAgIGxldCBmb3JtID0gPE1nRm9ybT5ndWlNZ0Zvcm07XHJcbiAgICBsZXQgdGFzayA9IDxUYXNrPmZvcm0uZ2V0VGFzaygpO1xyXG4gICAgbGV0IG1nZDogTUdEYXRhID0gdGFzay5nZXRNR0RhdGEoKTtcclxuXHJcbiAgICBSQ1RpbWVyLlN0b3BBbGwobWdkKTtcclxuXHJcbiAgICBpZiAobWdkLklzQWJvcnRpbmcpXHJcbiAgICAgIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuZGVsZXRlTUdEYXRhVHJlZShtZ2QuR2V0SWQoKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcInRpbWVyXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtZ1RpbWVyXCI+b2JqZWN0IG9mICdNZ1RpbWVyJyBjbGFzczwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUHJvY2Vzc1RpbWVyKG1nVGltZXI6IE1nVGltZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9ICg8UkNUaW1lcj5tZ1RpbWVyKS5HZXRNZ2RhdGEoKTtcclxuICAgIGxldCB0YXNrID0gbWdkLmdldEZpcnN0VGFzaygpO1xyXG5cclxuICAgIC8vIE1nVGltZXIvUkNUaW1lciB1c2VzIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyBidXQgUnVudGltZUV2ZW50IHVzZXMgaW50ZXJ2YWwgaW4gc2Vjb25kc1xyXG4gICAgLy8gc28gY29udmVydCBpdCB0byBzZWNvbmRzLlxyXG4gICAgbGV0IHNlY29uZHM6IG51bWJlciA9IE1hdGguZmxvb3IoKCg8UkNUaW1lcj5tZ1RpbWVyKS5UaW1lckludGVydmFsTWlsaVNlY29uZHMpIC8gMTAwMCk7XHJcbiAgICBsZXQgaXNJZGxlOiBib29sZWFuID0gKDxSQ1RpbWVyPm1nVGltZXIpLklzSWRsZVRpbWVyO1xyXG5cclxuICAgIGlmIChtZ2QuSXNBYm9ydGluZylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQodGFzaywgdHJ1ZSk7XHJcbiAgICBydEV2dC5zZXRUaW1lcihzZWNvbmRzLCBtZ2QuR2V0SWQoKSwgaXNJZGxlKTtcclxuICAgIHJ0RXZ0LnNldE1haW5QcmdDcmVhdG9yKHJ0RXZ0LmdldFRhc2soKSk7XHJcblxyXG4gICAgaWYgKCFpc0lkbGUpXHJcbiAgICAgIHJ0RXZ0LnNldEN0cmwoPE1nQ29udHJvbD50YXNrLmdldExhc3RQYXJrZWRDdHJsKCkpO1xyXG5cclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9USU1FUik7XHJcbiAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBSZXNpemUgb2YgdGhlIHBhZ2UsIGZvciB0YWJsZSBjb250cm9scyBvbmx5PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm5ld1Jvd3NJblBhZ2VcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NUYWJsZVJlc2l6ZShndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbmV3Um93c0luUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgbmV3Um93c0luUGFnZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUkVTSVpFKTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3Mgc2V0IGRhdGEgZm9yIHJvdzwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGFibGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzZW5kQWxsXCI+aWYgdHJ1ZSAsIGFsd2F5cyBzZW5kIGFsbCByZWNvcmRzPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzR2V0Um93c0RhdGEoZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleDogbnVtYmVyLCBzZW5kQWxsOiBib29sZWFuLCBsYXN0Rm9jdXNlZFZhbDogTGFzdEZvY3VzZWRWYWwpOiB2b2lkIHtcclxuICAgICAgbGV0IG1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG5cclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsICYmIG1nQ29udHJvbC5UeXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9UQUJMRSkge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChtZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleCwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUk9XX0RBVEFfQ1VSUl9QQUdFKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldFNlbmRBbGwoc2VuZEFsbCk7XHJcbiAgICAgICAgICBydEV2dC5MYXN0Rm9jdXNlZFZhbCA9IGxhc3RGb2N1c2VkVmFsO1xyXG4gICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJZiBjdXJyZW50IGNvbnRyb2wgYmVjb21lcyBpbnZpc2libGUvZGlzYWJsZWQvbm9uIHBhcmthYmxlLCB0aGVuIHB1dCBNR19BQ1RfVEJMX05YVEZMRCBpbnRvIHF1ZXVlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RybFwiPmNvbnRyb2wgd2hvc2UgcHJvcGVydHkgaXMgY2hhbmdlZC48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIE9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybChjdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwic2VsZWN0aW9uXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWxcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPnRoZSBjb250cm9sIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsaW5lXCI+IHRoZSBsaW5lIG9mIHRoZSBtdWx0aWxpbmUgY29udHJvbCA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicHJvZHVjZUNsaWNrXCI+VE9ETyA8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NTZWxlY3Rpb24odmFsOiBzdHJpbmcsIGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIsIHByb2R1Y2VDbGljazogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICBsZXQgbWdDb250cm9sID0gPE1nQ29udHJvbD5ndWlNZ0N0cmw7XHJcblxyXG4gICAgICBpZiAoZ3VpTWdDdHJsLkNvbm5lY3RlZENvbnRyb2wpIHtcclxuICAgICAgICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCArbGluZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVUyk7XHJcbiAgICAgICAgICBydEV2dC5TaG91bGRIYW5kbGVab29tID0gdHJ1ZTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQlVUVE9OICYmIG1nQ29udHJvbC5nZXRGb3JtKCkuZ2V0VGFzaygpLmdldExhc3RQYXJrZWRDdHJsKCkgIT09IG1nQ29udHJvbClcclxuICAgICAgICAgICAgICBwcm9kdWNlQ2xpY2sgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCArbGluZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfU0VMRUNUSU9OKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldFZhbHVlKHZhbCk7XHJcbiAgICAgICAgICBydEV2dC5zZXRQcm9kdWNlQ2xpY2socHJvZHVjZUNsaWNrKTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nRm9ybVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibW9kaWZpZXJcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwia2V5Q29kZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdGFydFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJlbmRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGV4dFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpc0FjdENoYXJcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3VnZ2VzdGVkVmFsdWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZG90TmV0QXJnc1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjb21ib0lzRHJvcERvd25cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImhhbmRsZWRcIj5ib29sZWFuIHZhcmlhYmxlIGV2ZW50IGlzIGhhbmRsZWQgb3Igbm90LjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0cnVlIG9ubHkgaWYgd2UgaGF2ZSBoYW5kbGVkIHRoZSBLZXlEb3duIGV2ZW50IChvdGhlcndpc2UgdGhlIENMUiBzaG91bGQgaGFuZGxlKS4gSWYgdHJ1ZSBtYWdpYyB3aWxsIGhhbmRsZSBlbHNlIENMUiB3aWxsIGhhbmRsZS48L3JldHVybnM+XHJcbiAgcHJvY2Vzc0tleURvd24oZ3VpTWdGb3JtOiBHdWlNZ0Zvcm0sIGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBtb2RpZmllcjogTW9kaWZpZXJzLFxyXG4gICAgICAgICAgICAgICAgIGtleUNvZGU6IG51bWJlciwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIHRleHQ6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICBpc0FjdENoYXI6IGJvb2xlYW4sIHN1Z2dlc3RlZFZhbHVlOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgaGFuZGxlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgLy8gdGltZSBvZiBsYXN0IHVzZXIgYWN0aW9uIGZvciBJRExFIGZ1bmN0aW9uXHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuTGFzdEFjdGlvblRpbWUgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpO1xyXG5cclxuICAgIC8vIERPV04gb3IgVVAgaW52b2tlZCBvbiBhIFNFTEVDVC9SQURJTyBjb250cm9sXHJcbiAgICByZXR1cm4gc3VwZXIucHJvY2Vzc0tleURvd24oZ3VpTWdGb3JtLCBndWlNZ0N0cmwsIG1vZGlmaWVyLCBrZXlDb2RlLCBzdGFydCwgZW5kLCB0ZXh0LCBpc0FjdENoYXIsIHN1Z2dlc3RlZFZhbHVlLCAgaGFuZGxlZCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+cGVlayB0aGUgdmFsdWUgb2YgdGhlIFwiZW5kIG9mIHdvcmtcIiBmbGFnLjwvc3VtbWFyeT5cclxuICBwcml2YXRlIHN0YXRpYyBwZWVrRW5kT2ZXb3JrKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuZ2V0RW5kT2ZXb3JrKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+VGhpcyBtZXRob2QgcmV0dXJucyBNYWluIHByb2dyYW0gZm9yIGEgY3RsPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRleHRJRFwiPmFjdGl2ZS90YXJnZXQgY29udGV4dCAoaXJlbGV2YW50IGZvciBSQyk8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN0bElkeFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRNYWluUHJvZ3JhbShjb250ZXh0SUQ6IG51bWJlciwgY3RsSWR4OiBudW1iZXIpOiBUYXNrIHtcclxuICAgIHJldHVybiBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldE1haW5Qcm9nQnlDdGxJZHgoY29udGV4dElELCBjdGxJZHgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgdGhlIFJ1bnRpbWVDb250ZXh0IG9mIENsaWVudE1hbmFnZXIuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIEdldFJ1bnRpbWVDb250ZXh0KGNvbnRleHRJRDogc3RyaW5nKTogUnVudGltZUNvbnRleHRCYXNlIHtcclxuICAgIHJldHVybiBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNhdmVzIHRoZSBsYXN0IGNsaWNrZWQgY29udHJvbCBpbiBhIHJlc3BlY3RpdmUgUnVudGltZUNvbnRleHRCYXNlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ3VpTWdDb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdHJsTmFtZVwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU2F2ZUxhc3RDbGlja2VkQ29udHJvbE5hbWUoY3RybE5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBjdHJsTmFtZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gU2F2ZXMgdGhlIGxhc3QgY2xpY2tlZCBpbmZvcm1hdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImd1aU1nRm9ybVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIlhcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIllcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9mZnNldFhcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9mZnNldFlcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIkxhc3RDbGlja0Nvb3JkaW5hdGVzQXJlSW5QaXhlbHNcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIFNhdmVMYXN0Q2xpY2tJbmZvKGNvbnRyb2xOYW1lOiBzdHJpbmcsIFg6IG51bWJlciwgWTogbnVtYmVyLCBvZmZzZXRYOiBudW1iZXIsIG9mZnNldFk6IG51bWJlciwgTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVsczogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLlNhdmVMYXN0Q2xpY2tJbmZvKGNvbnRyb2xOYW1lLCBYLCBZLCBvZmZzZXRYLCBvZmZzZXRZLCBMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNob3VsZCB3ZSBzaG93IGxvZ29uIHdpbmRvdyBSVEwgb3Igbm90LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBJc0xvZ29uUlRMKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5Jc0xvZ29uUlRMKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIHN0YXRpYyBTaG93U2Vzc2lvblN0YXRpc3RpY3MoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEluIFJJQSwgZW50ZXIgd2lsbCBjYXVzZSBhIGtleWJvYXJkIGV2ZW50IGFjY29yZGluZyB0byB0aGUgT1MuXHJcbiAgLy8vIFRoaXMgaXMgbW9zdGx5IGltcG9ydGFudCBmb3IgZGVmYXVsdCBidXR0b24sIHdoZXJlIEVOVEVSIG9uIGFueSBjb250cm9sIHRyaWdnZXJzIGNsaWNrIGV2ZW50IG9uIHRoZSBidXR0b24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIFNob3VsZEFkZEVudGVyQXNLZXlFdmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
@@ -119,4 +119,4 @@ export class ServerConfig {
|
|
119
119
|
return text !== null && typeof text !== "undefined" && text === "Y";
|
120
120
|
}
|
121
121
|
}
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9TZXJ2ZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkQ7SUFDQSxDQUFDO0lBRU8sZUFBZSxDQUFnQjtJQUUvQixTQUFTLEdBQVcsSUFBSSxDQUFDO0lBQ3pCLE9BQU8sR0FBVyxJQUFJLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixRQUFRLEdBQVcsSUFBSSxDQUFDO0lBQ3hCLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFFbEMsSUFBSSxDQUFDLEdBQWtCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFPRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FB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QUMsQ0FBQztJQUMvSCxDQUFDO0lBUUQsb0JBQW9CLENBQUMsUUFBZ0I7UUFDbkMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxPQUFPLE9BQU8sR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDakQsQ0FBQztJQUtELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFFN0IsSUFBSSxPQUFPLEdBQVcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUV6RCxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDOztnQkFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7SUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5TdHJpbmcgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEd1aUNvbnN0YW50cyB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgSVNlcnZlckNvbmZpZyB9IGZyb20gJy4vdXRpbC9JU2VydmVyQ29uZmlnJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSHR0cE1hbmFnZXIgfSBmcm9tICcuL2h0dHAvSHR0cE1hbmFnZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZyB7XHJcbiAgc3RhdGljIEluc3RhbmNlOiBTZXJ2ZXJDb25maWcgPSBuZXcgU2VydmVyQ29uZmlnKCk7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9leGVjdXRpb25Qcm9wczogSVNlcnZlckNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBfcHJvdG9jb2w6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc2VydmVyOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaXZhdGUgX2h0dHBSZXE6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYXBwTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9zZXJ2ZXJVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEluaXQob2JqOiBJU2VydmVyQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcyA9IG9iajtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSWYgYSBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQsIGRpc3BsYXkgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgYW5kIGluc3RlYWQgb2YgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgc2VydmVyLlxyXG4gIC8vLyBUcnVlIGJ5IGRlZmF1bHQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNob3VsZERpc3BsYXlHZW5lcmljRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uUHJvcHMuRGlzcGxheUdlbmVyaWNFcnJvcjtcclxuICB9XHJcblxyXG4gIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV0gPSB1c2VybmFtZTtcclxuICB9XHJcblxyXG4gIHNldFBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF0gPSBwYXNzd29yZDtcclxuICB9XHJcblxyXG4gIHNldFNraXBBdXRoZW50aWNhdGlvbkRpYWxvZyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuUkVRX1NLSVBfQVVUSEVOVElDQVRJT05dID0gdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHNldEdsb2JhbFBhcmFtcyh2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbCAhPT0gbnVsbClcclxuICAgICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0dMT0JBTFBBUkFNU10gPSB2YWw7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRlbGV0ZSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfR0xPQkFMUEFSQU1TXTtcclxuICB9XHJcblxyXG4gIGdldEdsb2JhbFBhcmFtcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19HTE9CQUxQQVJBTVNdO1xyXG4gICAgcmV0dXJuIHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogcmV0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvdG9jb2woKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9wcm90b2NvbCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5fcHJvdG9jb2wgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5wcm90b2NvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fcHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2ZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXIgPT09IG51bGwpXHJcbiAgICAgIHRoaXMuX3NlcnZlciA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnNlcnZlcjtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFJlcSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2h0dHBSZXEgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnJlcXVlc3RlcjtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSBsZWFkaW5nIHNsYXNoZXNcclxuICAgICAgaWYgKHRoaXMuX2h0dHBSZXEgIT09IG51bGwpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5faHR0cFJlcS5zdGFydHNXaXRoKFwiL1wiKSlcclxuICAgICAgICAgIHRoaXMuX2h0dHBSZXEgPSB0aGlzLl9odHRwUmVxLnN1YnN0cigxKTtcclxuXHJcbiAgICAgICAgd2hpbGUgKHRoaXMuX2h0dHBSZXEuZW5kc1dpdGgoXCIvXCIpKVxyXG4gICAgICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2h0dHBSZXEuc3Vic3RyKDAsIHRoaXMuX2h0dHBSZXEubGVuZ3RoIC0gMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFJlcTtcclxuICB9XHJcblxyXG4gIGdldEFwcE5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9hcHBOYW1lID09PSBudWxsKVxyXG4gICAgICB0aGlzLl9hcHBOYW1lID0gdGhpcy5fZXhlY3V0aW9uUHJvcHMuYXBwbmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIGdldEludGVybmFsTG9nTGV2ZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsO1xyXG4gIH1cclxuXHJcbiAgc2V0SW50ZXJuYWxMb2dMZXZlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRJbnRlcm5hbExvZ1N5bmMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ1N5bmM7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRQYXNzd29yZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NldHNVUkwoKTogc3RyaW5nIHtcclxuICAgIGxldCByZXQgPSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfQVNTRVRTX1VSTF07XHJcbiAgICByZXR1cm4gKHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgfHwgcmV0ID09PSBcIlwiKSA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRDdHhHcm91cCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLkNUWF9HUk9VUF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBzZXRDdHhHcm91cChDdHhHcm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5DVFhfR1JPVVBdID0gQ3R4R3JvdXA7XHJcbiAgfVxyXG5cclxuICBnZXRTa2lwQXV0aGVudGljYXRpb25EaWFsb2coKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcHJvcGVydHk6IHN0cmluZyA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLlJFUV9TS0lQX0FVVEhFTlRJQ0FUSU9OXTtcclxuICAgIHJldHVybiAhTlN0cmluZy5Jc051bGxPckVtcHR5KHByb3BlcnR5KSAmJiBwcm9wZXJ0eSA9PT0gdHJ1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgR2V0Rmlyc3RIdHRwUmVxdWVzdFRpbWVvdXQoKTogbnVtYmVyIHtcclxuICAgIGxldCBmaXJzdEh0dHBUaW1lb3V0OiBudW1iZXIgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5GaXJzdEhUVFBSZXF1ZXN0VGltZW91dDtcclxuICAgIHJldHVybiA8bnVtYmVyPigoZmlyc3RIdHRwVGltZW91dCA+IDApID8gKGZpcnN0SHR0cFRpbWVvdXQgKiAxMDAwKSA6IEh0dHBNYW5hZ2VyLkRFRkFVTFRfT0ZGTElORV9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSZXRyaWV2ZXMgZXhlY3V0aW9uIHByb3BlcnR5IHZhbHVlIGJ5IGl0J3MgbmFtZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicHJvcGVydHlOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+cHJvcGVydHkgdmFsdWUgYXMgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIEdldEV4ZWN1dGlvblByb3BlcnR5KHByb3BOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW3Byb3BOYW1lXTtcclxuICAgIHJldHVybiB0eXBlb2YgcmV0ID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IHJldDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIFVSTCBuZWVkZWQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gc2VydmVyIFVSTDwvcmV0dXJucz5cclxuICBnZXRTZXJ2ZXJVUkwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXJVcmwgPT09IG51bGwpIHtcclxuICAgICAgLy8gY29uc3RydWN0IHRoZSBVUkwgc3RyaW5nXHJcbiAgICAgIGxldCBodHRwUmVxOiBzdHJpbmcgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0SHR0cFJlcSgpO1xyXG5cclxuICAgICAgaWYgKGh0dHBSZXEgIT09IG51bGwgJiYgaHR0cFJlcS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJodHRwXCIpKVxyXG4gICAgICAgIHRoaXMuX3NlcnZlclVybCA9IGh0dHBSZXE7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9zZXJ2ZXJVcmwgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0UHJvdG9jb2woKSArIFwiOi8vXCIgKyBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0U2VydmVyKCkgKyBcIi9cIiArIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRIdHRwUmVxKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3NlcnZlclVybDtcclxuICB9XHJcblxyXG4gIElzTG9nb25SVEwoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdGV4dDogc3RyaW5nID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLkdldEV4ZWN1dGlvblByb3BlcnR5W0d1aUNvbnN0YW50cy5TVFJfTE9HT05fUlRMXTtcclxuICAgIHJldHVybiB0ZXh0ICE9PSBudWxsICYmIHR5cGVvZiB0ZXh0ICE9PSBcInVuZGVmaW5lZFwiICYmIHRleHQgPT09IFwiWVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9TZXJ2ZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkQ7SUFDQSxDQUFDO0lBRU8sZUFBZSxDQUFnQjtJQUUvQixTQUFTLEdBQVcsSUFBSSxDQUFDO0lBQ3pCLE9BQU8sR0FBVyxJQUFJLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixRQUFRLEdBQVcsSUFBSSxDQUFDO0lBQ3hCLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFFbEMsSUFBSSxDQUFDLEdBQWtCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFPRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FB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QVFELG9CQUFvQixDQUFDLFFBQWdCO1FBQ25DLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsT0FBTyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2pELENBQUM7SUFLRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUU1QixJQUFJLE9BQU8sR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRXpELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7O2dCQUUxQixJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDaEo7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7SUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5TdHJpbmcgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEd1aUNvbnN0YW50cyB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgSVNlcnZlckNvbmZpZyB9IGZyb20gJy4vdXRpbC9JU2VydmVyQ29uZmlnJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSHR0cE1hbmFnZXIgfSBmcm9tICcuL2h0dHAvSHR0cE1hbmFnZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZyB7XHJcbiAgc3RhdGljIEluc3RhbmNlOiBTZXJ2ZXJDb25maWcgPSBuZXcgU2VydmVyQ29uZmlnKCk7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9leGVjdXRpb25Qcm9wczogSVNlcnZlckNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBfcHJvdG9jb2w6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc2VydmVyOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaXZhdGUgX2h0dHBSZXE6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYXBwTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9zZXJ2ZXJVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEluaXQob2JqOiBJU2VydmVyQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcyA9IG9iajtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSWYgYSBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQsIGRpc3BsYXkgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgYW5kIGluc3RlYWQgb2YgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgc2VydmVyLlxyXG4gIC8vLyBUcnVlIGJ5IGRlZmF1bHQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNob3VsZERpc3BsYXlHZW5lcmljRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uUHJvcHMuRGlzcGxheUdlbmVyaWNFcnJvcjtcclxuICB9XHJcblxyXG4gIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV0gPSB1c2VybmFtZTtcclxuICB9XHJcblxyXG4gIHNldFBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF0gPSBwYXNzd29yZDtcclxuICB9XHJcblxyXG4gIHNldFNraXBBdXRoZW50aWNhdGlvbkRpYWxvZyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuUkVRX1NLSVBfQVVUSEVOVElDQVRJT05dID0gdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHNldEdsb2JhbFBhcmFtcyh2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbCAhPT0gbnVsbClcclxuICAgICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0dMT0JBTFBBUkFNU10gPSB2YWw7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRlbGV0ZSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfR0xPQkFMUEFSQU1TXTtcclxuICB9XHJcblxyXG4gIGdldEdsb2JhbFBhcmFtcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19HTE9CQUxQQVJBTVNdO1xyXG4gICAgcmV0dXJuIHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogcmV0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvdG9jb2woKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9wcm90b2NvbCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5fcHJvdG9jb2wgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5wcm90b2NvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fcHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2ZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXIgPT09IG51bGwpXHJcbiAgICAgIHRoaXMuX3NlcnZlciA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnNlcnZlcjtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFJlcSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2h0dHBSZXEgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnJlcXVlc3RlcjtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSBsZWFkaW5nIHNsYXNoZXNcclxuICAgICAgaWYgKHRoaXMuX2h0dHBSZXEgIT09IG51bGwpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5faHR0cFJlcS5zdGFydHNXaXRoKFwiL1wiKSlcclxuICAgICAgICAgIHRoaXMuX2h0dHBSZXEgPSB0aGlzLl9odHRwUmVxLnN1YnN0cigxKTtcclxuXHJcbiAgICAgICAgd2hpbGUgKHRoaXMuX2h0dHBSZXEuZW5kc1dpdGgoXCIvXCIpKVxyXG4gICAgICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2h0dHBSZXEuc3Vic3RyKDAsIHRoaXMuX2h0dHBSZXEubGVuZ3RoIC0gMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFJlcTtcclxuICB9XHJcblxyXG4gIGdldEFwcE5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9hcHBOYW1lID09PSBudWxsKVxyXG4gICAgICB0aGlzLl9hcHBOYW1lID0gdGhpcy5fZXhlY3V0aW9uUHJvcHMuYXBwbmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIGdldEludGVybmFsTG9nTGV2ZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsO1xyXG4gIH1cclxuXHJcbiAgc2V0SW50ZXJuYWxMb2dMZXZlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRJbnRlcm5hbExvZ1N5bmMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ1N5bmM7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRQYXNzd29yZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NldHNVUkwoKTogc3RyaW5nIHtcclxuICAgIGxldCByZXQgPSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfQVNTRVRTX1VSTF07XHJcbiAgICByZXR1cm4gKHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgfHwgcmV0ID09PSBcIlwiKSA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRDdHhHcm91cCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLkNUWF9HUk9VUF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBzZXRDdHhHcm91cChDdHhHcm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5DVFhfR1JPVVBdID0gQ3R4R3JvdXA7XHJcbiAgfVxyXG5cclxuICBnZXRTa2lwQXV0aGVudGljYXRpb25EaWFsb2coKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcHJvcGVydHk6IHN0cmluZyA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLlJFUV9TS0lQX0FVVEhFTlRJQ0FUSU9OXTtcclxuICAgIHJldHVybiAhTlN0cmluZy5Jc051bGxPckVtcHR5KHByb3BlcnR5KSAmJiBwcm9wZXJ0eSA9PT0gdHJ1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgR2V0Rmlyc3RIdHRwUmVxdWVzdFRpbWVvdXQoKTogbnVtYmVyIHtcclxuICAgIGxldCBmaXJzdEh0dHBUaW1lb3V0OiBudW1iZXIgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5GaXJzdEhUVFBSZXF1ZXN0VGltZW91dDtcclxuICAgIHJldHVybiA8bnVtYmVyPigoZmlyc3RIdHRwVGltZW91dCA+IDApID8gKGZpcnN0SHR0cFRpbWVvdXQgKiAxMDAwKSA6IEh0dHBNYW5hZ2VyLkRFRkFVTFRfT0ZGTElORV9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSZXRyaWV2ZXMgZXhlY3V0aW9uIHByb3BlcnR5IHZhbHVlIGJ5IGl0J3MgbmFtZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicHJvcGVydHlOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+cHJvcGVydHkgdmFsdWUgYXMgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIEdldEV4ZWN1dGlvblByb3BlcnR5KHByb3BOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW3Byb3BOYW1lXTtcclxuICAgIHJldHVybiB0eXBlb2YgcmV0ID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IHJldDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIFVSTCBuZWVkZWQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gc2VydmVyIFVSTDwvcmV0dXJucz5cclxuICBnZXRTZXJ2ZXJVUkwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXJVcmwgPT09IG51bGwpIHtcclxuICAgICAgLy8gY29uc3RydWN0IHRoZSBVUkwgc3RyaW5nXHJcbiAgICAgIGxldCBodHRwUmVxOiBzdHJpbmcgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0SHR0cFJlcSgpO1xyXG5cclxuICAgICAgaWYgKGh0dHBSZXEgIT09IG51bGwgJiYgaHR0cFJlcS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJodHRwXCIpKVxyXG4gICAgICAgIHRoaXMuX3NlcnZlclVybCA9IGh0dHBSZXE7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9zZXJ2ZXJVcmwgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0UHJvdG9jb2woKSArIFwiOi8vXCIgKyBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0U2VydmVyKCkgKyBcIi9cIiArIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRIdHRwUmVxKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3NlcnZlclVybDtcclxuICB9XHJcblxyXG4gIElzTG9nb25SVEwoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdGV4dDogc3RyaW5nID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLkdldEV4ZWN1dGlvblByb3BlcnR5W0d1aUNvbnN0YW50cy5TVFJfTE9HT05fUlRMXTtcclxuICAgIHJldHVybiB0ZXh0ICE9PSBudWxsICYmIHR5cGVvZiB0ZXh0ICE9PSBcInVuZGVmaW5lZFwiICYmIHRleHQgPT09IFwiWVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -57,4 +57,4 @@ export class ClientOriginatedCommandSerializer {
|
|
57
57
|
return message.ToString();
|
58
58
|
}
|
59
59
|
}
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRTZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsTUFBTSxPQUFPLGlDQUFpQztJQU1yQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQTRCLEVBQUUsVUFBa0I7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1FBRWQsSUFBSSxPQUFPLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7UUFDakQsSUFBSSxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFMUYsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDM0MsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBRTdDLElBQUksR0FBRyxDQUFDLHNCQUFzQjtZQUM1QixPQUFPLENBQUMsTUFBTSxDQUFFLGlDQUFpQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEYsSUFBSSxnQkFBZ0I7WUFDbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7O1lBRXZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBTUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQWtCO1FBQ3hDLElBQUksT0FBTyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2pELElBQUk7WUFDRixJQUFJLE1BQU0sR0FBVyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEQsSUFBSSxVQUFVLEdBQVksS0FBSyxDQUFDO1lBQ2hDLElBQUksZUFBZSxHQUFnQixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUVwRixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLElBQUksR0FBZ0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxJQUFJLEdBQXlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQStDO29CQUM5RCxJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsQ0FBQzt3QkFDL0QsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDbkI7O3dCQUVDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO29CQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFDRCxJQUFJLFVBQVU7Z0JBQ1osT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV2QixJQUFJLGVBQWUsS0FBSyxJQUFJO2dCQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN4RztRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLFlBQVksU0FBUyxFQUFFO2dCQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3pDOztnQkFFQyxNQUFNLEVBQUUsQ0FBQztTQUNaO1FBQ0QsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dnZXIsIFhNTENvbnN0YW50c30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtFeGNlcHRpb24sIFJlZlBhcmFtLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gXCIuLi8uLi90YXNrcy9NR0RhdGFcIjtcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gXCIuLi8uLi9ndWkvTWdDb250cm9sXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0d1aVRhc2tCYXNlfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4vQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHtMYXN0Rm9jdXNlZE1hbmFnZXJ9IGZyb20gXCIuLi8uLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFNlcmlhbGl6ZXIge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdlbmVyYWwgc2VyaWFsaXphdGlvbiBmb3Igc3R1ZmYgY29tbW9uIHRvIGFsbCBzZXJpYWxpemVkIGNvbW1hbmRzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHB1YmxpYyBzdGF0aWMgU2VyaWFsaXplKGNtZDogQ2xpZW50T3JpZ2luYXRlZENvbW1hbmQsIGN1cnJNR0RhdGE6IE1HRGF0YSk6IHN0cmluZyB7XHJcbiAgICAgIGlmICghY21kLlNob3VsZFNlcmlhbGl6ZSlcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgIGxldCBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgbGV0IGhhc0NoaWxkRWxlbWVudHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAgIG1lc3NhZ2UuQXBwZW5kKFhNTENvbnN0YW50cy5TVEFSVF9UQUcgKyBDb25zdEludGVyZmFjZS5NR19UQUdfQ09NTUFORCk7XHJcbiAgICAgIG1lc3NhZ2UuQXBwZW5kKFwiIFwiICsgWE1MQ29uc3RhbnRzLk1HX0FUVFJfVFlQRSArIFwiPVxcXCJcIiArIGNtZC5Db21tYW5kVHlwZUF0dHJpYnV0ZSArIFwiXFxcIlwiKTtcclxuXHJcbiAgICAgIGxldCByZWZIYXNDaGlsZEVsZW1lbnRzOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbShoYXNDaGlsZEVsZW1lbnRzKTtcclxuICAgICAgbWVzc2FnZS5BcHBlbmQoY21kLlNlcmlhbGl6ZUNvbW1hbmREYXRhKCkpO1xyXG4gICAgICBoYXNDaGlsZEVsZW1lbnRzID0gcmVmSGFzQ2hpbGRFbGVtZW50cy52YWx1ZTtcclxuXHJcbiAgICAgIGlmIChjbWQuU2hvdWxkU2VyaWFsaXplUmVjb3JkcylcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZCggQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRTZXJpYWxpemVyLlNlcmlhbGl6ZVJlY29yZHMoY3Vyck1HRGF0YSkpO1xyXG5cclxuICAgICAgaWYgKGhhc0NoaWxkRWxlbWVudHMpXHJcbiAgICAgICAgbWVzc2FnZS5BcHBlbmQoWE1MQ29uc3RhbnRzLlRBR19DTE9TRSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChYTUxDb25zdGFudHMuVEFHX1RFUk0pO1xyXG5cclxuICAgICAgbWVzc2FnZS5BcHBlbmQoY21kLlNlcmlhbGl6ZURhdGFBZnRlckNvbW1hbmQoKSk7XHJcbiAgICAgIHJldHVybiBtZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHNob3VsZCBub3QgYmUgY2FsbGVkIGZvciBRdWVyeSBhbmQgZm9yIEluaXB1dEZvcmNlV3JpdGU6XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBTZXJpYWxpemVSZWNvcmRzKGN1cnJNR0RhdGE6IE1HRGF0YSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBjdXJyTUdEYXRhLmdldFRhc2tzQ291bnQoKTtcclxuICAgICAgbGV0IHRpdGxlRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgbGV0IGN1cnJGb2N1c2VkVGFzazogR3VpVGFza0Jhc2UgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgdGFzazogR3VpVGFza0Jhc2UgPSBjdXJyTUdEYXRhLmdldFRhc2soaSk7XHJcbiAgICAgICAgbGV0IGN0cmw6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+dGFzay5nZXRMYXN0UGFya2VkQ3RybCgpO1xyXG4gICAgICAgIGlmIChjdHJsICE9PSBudWxsIC8qJiYgdGFzay5Lbm93blRvU2VydmVyICYmICF0YXNrLklzT2ZmbGluZSovKSB7XHJcbiAgICAgICAgICBpZiAoIXRpdGxlRXhpc3QpIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBDb25zdEludGVyZmFjZS5NR19BVFRSX0ZPQ1VTTElTVCArIFwiPVxcXCJcIik7XHJcbiAgICAgICAgICAgIHRpdGxlRXhpc3QgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBtZXNzYWdlLkFwcGVuZCgnJCcpO1xyXG4gICAgICAgICAgbWVzc2FnZS5BcHBlbmQodGFzay5nZXRUYXNrVGFnKCkgKyBcIixcIik7XHJcbiAgICAgICAgICBtZXNzYWdlLkFwcGVuZCh0YXNrLmdldExhc3RQYXJrZWRDdHJsKCkuZ2V0RGl0SWR4KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGl0bGVFeGlzdClcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChcIlxcXCJcIik7XHJcblxyXG4gICAgICBpZiAoY3VyckZvY3VzZWRUYXNrICE9PSBudWxsIC8qJiYgIWN1cnJGb2N1c2VkVGFzay5Jc09mZmxpbmUqLylcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChcIiBcIiArIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRk9DVVNUQVNLICsgXCI9XFxcIlwiICsgY3VyckZvY3VzZWRUYXNrLmdldFRhc2tUYWcoKSArIFwiXFxcIlwiKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBpZiAoZXggaW5zdGFuY2VvZiBFeGNlcHRpb24pIHtcclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZyhleCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRocm93IGV4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1lc3NhZ2UuVG9TdHJpbmcoKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -258,4 +258,4 @@ export class CommandFactory {
|
|
258
258
|
return iniputForceWriteCommand;
|
259
259
|
}
|
260
260
|
}
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFB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QUM7SUFDYixDQUFDO0lBV0QsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxPQUF5QixFQUFFLE1BQWMsRUFBRSxTQUFpQixFQUFFLFdBQWlCO1FBQzNILElBQUksZUFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzdELGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFDLElBQUksU0FBUyxHQUFHLENBQUM7WUFDZixlQUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tICcuL0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Um9sbGJhY2tFdmVudENvbW1hbmQsIFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZX0gZnJvbSAnLi9Sb2xsYmFja0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tICcuL0RhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7VXNlclJhbmdlfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrQmFzZSc7XHJcbmltcG9ydCB7QWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vdGFza3Mvc29ydC9Tb3J0JztcclxuaW1wb3J0IHtBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7QWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge1JlZnJlc2hFdmVudENvbW1hbmR9IGZyb20gJy4vUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSAnLi4vLi4vcnQvQXJndW1lbnRzTGlzdCc7XHJcbmltcG9ydCB7RmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9TdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QnJvd3NlckVzY0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJbmRleENoYW5nZUV2ZW50Q29tbWFuZH0gZnJvbSAnLi9JbmRleENoYW5nZUV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db2x1bW5Tb3J0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbXB1dGVFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kfSBmcm9tICcuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWNvbXB1dGVDb21tYW5kfSBmcm9tICcuL1JlY29tcHV0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSAnLi9UcmFuc2FjdGlvbkNvbW1hbmQnO1xyXG5pbXBvcnQge1VubG9hZENvbW1hbmR9IGZyb20gJy4vVW5sb2FkQ29tbWFuZCc7XHJcbmltcG9ydCB7RXhlY09wZXJDb21tYW5kfSBmcm9tICcuL0V4ZWNPcGVyQ29tbWFuZCc7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tICcuL0V2YWx1YXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7R2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kfSBmcm9tICcuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZCc7XHJcbmltcG9ydCB7SW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmR9IGZyb20gJy4vSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kfSBmcm9tICcuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kJztcclxuaW1wb3J0IHsgU2VsZWN0UHJvZ3JhbUNvbW1hbmQgfSBmcm9tICcuL1NlbGVjdFByb2dyYW1Db21tYW5kJztcclxuaW1wb3J0IHsgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgfSBmcm9tICcuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIGNvbW1hbmRzXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kRmFjdG9yeSB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyKTogRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBldmVudENvbW1hbmQ6IEV2ZW50Q29tbWFuZCA9IG5ldyBFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICBldmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gZXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNIYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjT2JqXCI+dGhlIERJVCBpbmRleCBvZiB0aGUgY29udHJvbCB0aGF0IGhhZCB0aGUgZm9jdXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJvbGxiYWNrRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcm9sbGJhY2tUeXBlOiBSb2xsYmFja0V2ZW50Q29tbWFuZF9Sb2xsYmFja1R5cGUpOiBSb2xsYmFja0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY21kOiBSb2xsYmFja0V2ZW50Q29tbWFuZCA9IG5ldyBSb2xsYmFja0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgY21kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY21kLlJvbGxiYWNrID0gcm9sbGJhY2tUeXBlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgZ2VuZXJhbCBkYXRhdmlldyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVEYXRhVmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbW1hbmRUeXBlOiBEYXRhVmlld0NvbW1hbmRUeXBlKTogRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBkYXRhdmlld0NvbW1hbmQ6IERhdGF2aWV3Q29tbWFuZCA9IG5ldyBEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZXR1cm4gZGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBjb250cm9sIGl0ZW0gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbW1hbmQ6IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kID0gbmV3IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKCk7XHJcbiAgICBjb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgY29tbWFuZC5Db250cm9sID0gY29udHJvbDtcclxuICAgIHJldHVybiBjb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgc29ydDogU29ydCk6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5Tb3J0ID0gc29ydDtcclxuICAgIHJldHVybiBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBzZXQgdHJhbnNhY3Rpb24gc3RhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0cmFuc2FjdGlvbklzT3BlbmVkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB0cmFuc2FjdGlvbklzT3BlbmVkOiBib29sZWFuKTogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRyYW5zYWN0aW9uSXNPcGVuID0gdHJhbnNhY3Rpb25Jc09wZW5lZDtcclxuICAgIHJldHVybiBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSAnMScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudCBjb21tYW5kIHdoaWNoIHdpbGwgZmV0Y2ggdGhlIGRhdGEgY29udHJvbCB2YWx1ZXMgZnJvbSBzZXJ2ZXIuIFRoaXMgaXMgdXNlZCB3aGlsZSBleGVjdXRpbmcgQ29udHJvbEl0ZW1zUmVmcmVzaCgpIGZ1bmN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImdlbmVyYXRpb25QYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlY0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQgPSBuZXcgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuQ29udHJvbE5hbWUgPSBjb250cm9sTmFtZTtcclxuICAgIHJldHVybiBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybVJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybVRhc2tUYWc6IHN0cmluZywgZXhwbGljaXRTdWJmb3JtUmVmcmVzaDogYm9vbGVhbik6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuU3ViZm9ybVRhc2tUYWcgPSBzdWJmb3JtVGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLkV4cGxpY2l0U3ViZm9ybVJlZnJlc2ggPSBleHBsaWNpdFN1YmZvcm1SZWZyZXNoO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuVXNlVGFza0xvY2F0ZTtcclxuICAgIHJldHVybiBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgc3ViZm9ybSBvcGVuIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtT3BlbkNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtRGl0SWR4OiBudW1iZXIpOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLkRpdElkeCA9IHN1YmZvcm1EaXRJZHg7XHJcbiAgICByZXR1cm4gc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBzY3JlZW4gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2NyZWVuUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCB0b3BSZWNJZHg6IG51bWJlciwgY2xpZW50UmVjSWQ6IG51bWJlcik6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVG9wUmVjSWR4ID0gdG9wUmVjSWR4O1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgY29sdW1uIHNvcnQgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbHVtblNvcnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZGlyZWN0aW9uOiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCBmaWVsZElkOiBudW1iZXIsIHJlY0lkOiBudW1iZXIpOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kID0gbmV3IENvbHVtblNvcnRFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRmxkSWQgPSBmaWVsZElkICsgMTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGlyZWN0aW9uID0gZGlyZWN0aW9uO1xyXG4gICAgcmV0dXJuIGNvbHVtblNvcnRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gICBjcmVhdGVzIGFuIEluZGV4IENoYW5nZSBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgYXN5bmMgQ3JlYXRlSW5kZXhDaGFuZ2VDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcmVjSWQ6IG51bWJlciwgYXJnTGlzdDogQXJndW1lbnRzTGlzdCk6IFByb21pc2U8SW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ+IHtcclxuICAgIGxldCBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBuZXcgSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQoKTtcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGxldCBjbWQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgLy8gMSBwYXJhbWV0ZXIgOiBUaGUgbmV3IEtleSBJbmRleFxyXG4gICAgaWYgKGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQga2V5SW5kZXg6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0ga2V5SW5kZXguTlVNXzJfTE9ORygpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiZXhpdEJ5TWVudVwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImNsb3NlU3ViZm9ybU9ubHlcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVCcm93c2VyRXNjRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGJyb3dzZXJFc2NFdmVudENvbW1hbmQ6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQgPSBuZXcgQnJvd3NlckVzY0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gYnJvd3NlckVzY0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNsaWVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb21wdXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybXM6IGJvb2xlYW4sIGNsaWVudFJlY0lkOiBudW1iZXIpOiBDb21wdXRlRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb21wdXRlRXZlbnRDb21tYW5kOiBDb21wdXRlRXZlbnRDb21tYW5kID0gbmV3IENvbXB1dGVFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlN1YmZvcm1zID0gc3ViZm9ybXM7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gY29tcHV0ZUV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIHRoZSBjb250ZXh0IHRlcm1pbmF0aW9uIHJlcXVlc3RcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nKTogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCA9IG5ldyBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQoKTtcclxuICAgIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIGR1bW15IHJlcXVlc3QgdG8gemVyby1pbiB0aGUgY29udGV4dCBpbmFjdGl2aXR5IHRpbWVvdXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGltZW91dFJlc2V0RXZlbnRDb21tYW5kKCkgOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kID0gbmV3IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kKCk7XHJcbiAgICByZXR1cm4gY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBub25yZXZlcnNpYmxlIGV4aXQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVOb25SZXZlcnNpYmxlRXhpdENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCA9IG5ldyBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFJlY29tcHV0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmllbGRJZFwiPnRoZSBpZCBvZiB0aGUgZmllbGQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSZWNvbXB1dGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZmllbGRJZDogbnVtYmVyLCBpZ25vcmVTdWJmb3JtUmVjb21wdXRlOiBib29sZWFuKTogUmVjb21wdXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgcmVjb21wdXRlQ29tbWFuZDogUmVjb21wdXRlQ29tbWFuZCA9IG5ldyBSZWNvbXB1dGVDb21tYW5kKCk7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5GbGRJZCA9IGZpZWxkSWQ7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLklnbm9yZVN1YmZvcm1SZWNvbXB1dGUgPSBpZ25vcmVTdWJmb3JtUmVjb21wdXRlO1xyXG4gICAgcmV0dXJuIHJlY29tcHV0ZUNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBUcmFuc2FjdGlvbiBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJcIj50aGUgdHlwZSBvZiBvcGVyYXRpb246IEJlZ2luLCBDb21taXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1wiPnRoZSB0YXNrIG9mIHRoZSB0cmFuc2FjdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjUmV2ZXJzaWJsZUV4aXRcIj50cnVlIGlmIHRoZSB0YXNrIGV4aXQgaXMgcmV2ZXJzaWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsZXZlbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVRyYW5zYWN0aW9uQ29tbWFuZChvcGVyOiBzdHJpbmcsIHRhc2tUYWc6IHN0cmluZywgY1JldmVyc2libGVFeGl0OiBib29sZWFuLCBsZXZlbDogc3RyaW5nLCB1cGRhdGVkRmllbGRzOnN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5VcGRhdGVkRmllbGRzID0gdXBkYXRlZEZpZWxkcztcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9ICcgJztcclxuICAgIGVsc2VcclxuICAgICAgY21kLlZhbCA9IHZhbHVlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBTZWxlY3QgUHJvZ3JhbSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNlbGVjdFByb2dyYW1Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogU2VsZWN0UHJvZ3JhbUNvbW1hbmQgPSBuZXcgU2VsZWN0UHJvZ3JhbUNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZhbHVhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFR5cGVcIj5UaGUgZXhwZWN0ZWQgdHlwZSBpcyB0aGUgZGF0YSB0eXBlIChhdHRyaWJ1dGUpIG9mIHRoZSByZXN1bHQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwSWR4XCI+ZXhwcmVzc2lvbiBpZCBhdHRyaWJ1dGVzIGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHByZXNzaW9uIHRvIGV2YWx1YXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFZhbExlblwiPiByZXByZXNlbnRzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbiBhbHBoYSByZXN1bHQgb3IgdGhlIG1heGltdW0gZGlnaXRzIHRvIHRoZSByaWdodCBvZiB0aGUgZGVjaW1hbCBwb2ludCwgZm9yIG51bWVyaWMgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1wcmdDcmVhdG9yXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZhbHVhdGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZXhwVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgZXhwSWR4OiBudW1iZXIsIGV4cFZhbExlbjogbnVtYmVyLCBtcHJnQ3JlYXRvcjogVGFzayk6IEV2YWx1YXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgZXZhbHVhdGVDb21tYW5kOiBFdmFsdWF0ZUNvbW1hbmQgPSBuZXcgRXZhbHVhdGVDb21tYW5kKCk7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuRXhwSWR4ID0gZXhwSWR4O1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cFR5cGUgPSBleHBUeXBlO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLk1wcmdDcmVhdG9yID0gbXByZ0NyZWF0b3I7XHJcblxyXG4gICAgaWYgKGV4cFZhbExlbiA+IDApXHJcbiAgICAgIGV2YWx1YXRlQ29tbWFuZC5MZW5ndGhFeHBWYWwgPSBleHBWYWxMZW47XHJcbiAgICByZXR1cm4gZXZhbHVhdGVDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVF1ZXJ5R2xvYmFsUGFyYW1zQ29tbWFuZCgpOiBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3JjZSBpbmkgZmlsZSB1cGRhdGUgYnkgSU5JUHV0KClcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicGFyYW1cIj5lbnYgcGFyYW0gY2hhbmdlZCBieSBJTklQdXQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZChwYXJhbTogc3RyaW5nKTogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGluaXB1dEZvcmNlV3JpdGVDb21tYW5kOiBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCA9IG5ldyBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCgpO1xyXG4gICAgaW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQuVGV4dCA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSzFFLE1BQU0sT0FBTyxjQUFjO0lBUXpCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsVUFBa0I7UUFDM0QsSUFBSSxZQUFZLEdBQWlCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlELFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFVRCxNQUFNLENBQUMsMEJBQTBCLENBQUMsT0FBZSxFQUFFLFlBQStDO1FBQ2hHLElBQUksR0FBRyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDM0QsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsR0FBRyxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7UUFDNUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBUUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxXQUFnQztRQUMzRSxJQUFJLGVBQWUsR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3RCxlQUFlLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMxQyxlQUFlLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBUUQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLE1BQWMsRUFBRSxPQUFzQjtRQUM1RSxJQUFJLE9BQU8sR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUM7UUFDOUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQVFELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFjLEVBQUUsU0FBb0I7UUFDM0UsSUFBSSwyQkFBMkIsR0FBZ0MsSUFBSSwyQkFBMkIsRUFBRSxDQUFDO1FBQ2pHLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDN0MsMkJBQTJCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUM5QyxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7SUFTRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsTUFBYyxFQUFFLElBQVU7UUFDaEUsSUFBSSwwQkFBMEIsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzlGLDBCQUEwQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDNUMsMEJBQTBCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN2QyxPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFTRCxNQUFNLENBQUMsa0NBQWtDLENBQUMsTUFBYyxFQUFFLFNBQW9CO1FBQzVFLElBQUksNEJBQTRCLEdBQWlDLElBQUksNEJBQTRCLEVBQUUsQ0FBQztRQUNwRyw0QkFBNEIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzlDLDRCQUE0QixDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDL0MsT0FBTyw0QkFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBUUQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLE1BQWMsRUFBRSxtQkFBNEI7UUFDMUYsSUFBSSxrQ0FBa0MsR0FBdUMsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3RILGtDQUFrQyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDcEQsa0NBQWtDLENBQUMsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7UUFDM0UsT0FBTyxrQ0FBa0MsQ0FBQztJQUM1QyxDQUFDO0lBVUQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLE1BQWMsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsVUFBa0I7UUFDOUcsSUFBSSxtQkFBbUIsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRixtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JDLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBQ2xFLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7UUFDL0MsbUJBQW1CLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzdDLG1CQUFtQixDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNsRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFNRCxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQWMsRUFBRSxVQUFrQixFQUFFLFVBQWtCLEVBQUUsT0FBc0IsRUFBRSxZQUFvQjtRQUN4SSxJQUFJLG1CQUFtQixHQUF3QixJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckMsbUJBQW1CLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDbEUsbUJBQW1CLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN6QyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQy9DLG1CQUFtQixDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNsRCxJQUFJLEdBQUcsR0FBd0IsbUJBQW1CLENBQUM7UUFFbkQsSUFBSSxVQUFVLEtBQUssaUJBQWlCLENBQUMsd0JBQXdCLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzVHLElBQUk7Z0JBQ0YsSUFBSSxXQUFXLEdBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEcsR0FBRyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsR0FBRyxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO2FBQ25EO1lBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixJQUFJO29CQUNGLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDeEY7Z0JBQ0QsT0FBTyxDQUFDLEVBQUU7b0JBQ1IsR0FBRyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQVNELE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFlLEVBQUUsV0FBbUI7UUFDOUUsSUFBSSxrQ0FBa0MsR0FBdUMsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3RILGtDQUFrQyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDckQsa0NBQWtDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM3RCxPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsT0FBZSxFQUFFLGNBQXNCLEVBQUUsc0JBQStCO1FBQ3pHLElBQUksMEJBQTBCLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUM5RiwwQkFBMEIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzdDLDBCQUEwQixDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDM0QsMEJBQTBCLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDM0UsMEJBQTBCLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDdkUsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBTUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQWUsRUFBRSxhQUFxQjtRQUNwRSxJQUFJLHVCQUF1QixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDckYsdUJBQXVCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMxQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQy9DLE9BQU8sdUJBQXVCLENBQUM7SUFDakMsQ0FBQztJQU1ELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxXQUFtQjtRQUN2RixJQUFJLHlCQUF5QixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDM0YseUJBQXlCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM1Qyx5QkFBeUIsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2hELHlCQUF5QixDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBQ3hFLHlCQUF5QixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDcEQsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBTUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxTQUFpQixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsS0FBYTtRQUMvRyxJQUFJLHNCQUFzQixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDbEYsc0JBQXNCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0Msc0JBQXNCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QyxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFLRCxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBc0I7UUFDMUYsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUMsdUJBQXVCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUM1QyxJQUFJLEdBQUcsR0FBNEIsdUJBQXVCLENBQUM7UUFHM0QsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSTtnQkFDRixJQUFJLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxHQUFHLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN0QztZQUNELE9BQU8sQ0FBQyxFQUFFO2dCQUNSLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFTRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsT0FBZSxFQUFFLGdCQUF5QjtRQUM1RSxJQUFJLHNCQUFzQixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDbEYsc0JBQXNCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxzQkFBc0IsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUMzRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFTRCxNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBZSxFQUFFLFFBQWlCLEVBQUUsV0FBbUI7UUFDdEYsSUFBSSxtQkFBbUIsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pFLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN4QyxtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlDLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQU1ELE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFlO1FBQ3pELElBQUksOEJBQThCLEdBQW1DLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUMxRyw4QkFBOEIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2pELE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztJQUtELE1BQU0sQ0FBQyxxQ0FBcUM7UUFDMUMsSUFBSSwwQkFBMEIsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzlGLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQU9ELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxPQUFlLEVBQUUsZ0JBQXlCO1FBQzlFLElBQUksNkJBQTZCLEdBQWtDLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUN2Ryw2QkFBNkIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2hELDZCQUE2QixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ2xFLE9BQU8sNkJBQTZCLENBQUM7SUFDdkMsQ0FBQztJQVFELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFlLEVBQUUsT0FBZSxFQUFFLHNCQUErQjtRQUM3RixJQUFJLGdCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDaEUsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNuQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLGdCQUFnQixDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ2pFLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQVVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLGVBQXdCLEVBQUUsS0FBYSxFQUFFLGFBQW9CO1FBQzFILElBQUksa0JBQWtCLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN0RSxrQkFBa0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3JDLGtCQUFrQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDL0Isa0JBQWtCLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQztRQUNwRCxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDakQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBTUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQVlELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLEtBQWE7UUFDN0csSUFBSSxlQUFlLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0QsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFaEMsSUFBSSxHQUFHLEdBQW9CLGVBQWUsQ0FBQztRQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDOztZQUVkLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQVdELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLEtBQWE7UUFDbEgsSUFBSSxlQUFlLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN2RSxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQyxlQUFlLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QyxlQUFlLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVoQyxJQUFJLEdBQUcsR0FBb0IsZUFBZSxDQUFDO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdEMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7O1lBRWQsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBV0QsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxPQUF5QixFQUFFLE1BQWMsRUFBRSxTQUFpQixFQUFFLFdBQWlCO1FBQzNILElBQUksZUFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzdELGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFDLElBQUksU0FBUyxHQUFHLENBQUM7WUFDZixlQUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tICcuL0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Um9sbGJhY2tFdmVudENvbW1hbmQsIFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZX0gZnJvbSAnLi9Sb2xsYmFja0V2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7RGF0YXZpZXdDb21tYW5kLCBEYXRhVmlld0NvbW1hbmRUeXBlfSBmcm9tICcuL0RhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7VXNlclJhbmdlfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrQmFzZSc7XHJcbmltcG9ydCB7QWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vdGFza3Mvc29ydC9Tb3J0JztcclxuaW1wb3J0IHtBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7QWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZH0gZnJvbSAnLi9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tICcuL1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge1JlZnJlc2hFdmVudENvbW1hbmR9IGZyb20gJy4vUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSAnLi4vLi4vcnQvQXJndW1lbnRzTGlzdCc7XHJcbmltcG9ydCB7RmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9TdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7QnJvd3NlckVzY0V2ZW50Q29tbWFuZH0gZnJvbSAnLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtJbmRleENoYW5nZUV2ZW50Q29tbWFuZH0gZnJvbSAnLi9JbmRleENoYW5nZUV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db2x1bW5Tb3J0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kfSBmcm9tICcuL1N1YmZvcm1PcGVuRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbXB1dGVFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kfSBmcm9tICcuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSZWNvbXB1dGVDb21tYW5kfSBmcm9tICcuL1JlY29tcHV0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSAnLi9UcmFuc2FjdGlvbkNvbW1hbmQnO1xyXG5pbXBvcnQge1VubG9hZENvbW1hbmR9IGZyb20gJy4vVW5sb2FkQ29tbWFuZCc7XHJcbmltcG9ydCB7RXhlY09wZXJDb21tYW5kfSBmcm9tICcuL0V4ZWNPcGVyQ29tbWFuZCc7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tICcuL0V2YWx1YXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7R2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kfSBmcm9tICcuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZCc7XHJcbmltcG9ydCB7SW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmR9IGZyb20gJy4vSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kfSBmcm9tICcuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kJztcclxuaW1wb3J0IHsgU2VsZWN0UHJvZ3JhbUNvbW1hbmQgfSBmcm9tICcuL1NlbGVjdFByb2dyYW1Db21tYW5kJztcclxuaW1wb3J0IHsgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgfSBmcm9tICcuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIGNvbW1hbmRzXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kRmFjdG9yeSB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyKTogRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBldmVudENvbW1hbmQ6IEV2ZW50Q29tbWFuZCA9IG5ldyBFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICBldmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gZXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNIYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjT2JqXCI+dGhlIERJVCBpbmRleCBvZiB0aGUgY29udHJvbCB0aGF0IGhhZCB0aGUgZm9jdXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJvbGxiYWNrRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcm9sbGJhY2tUeXBlOiBSb2xsYmFja0V2ZW50Q29tbWFuZF9Sb2xsYmFja1R5cGUpOiBSb2xsYmFja0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY21kOiBSb2xsYmFja0V2ZW50Q29tbWFuZCA9IG5ldyBSb2xsYmFja0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgY21kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY21kLlJvbGxiYWNrID0gcm9sbGJhY2tUeXBlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgZ2VuZXJhbCBkYXRhdmlldyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVEYXRhVmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbW1hbmRUeXBlOiBEYXRhVmlld0NvbW1hbmRUeXBlKTogRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBkYXRhdmlld0NvbW1hbmQ6IERhdGF2aWV3Q29tbWFuZCA9IG5ldyBEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZXR1cm4gZGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBjb250cm9sIGl0ZW0gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbW1hbmQ6IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kID0gbmV3IENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kKCk7XHJcbiAgICBjb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgY29tbWFuZC5Db250cm9sID0gY29udHJvbDtcclxuICAgIHJldHVybiBjb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgc29ydDogU29ydCk6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5Tb3J0ID0gc29ydDtcclxuICAgIHJldHVybiBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBzZXQgdHJhbnNhY3Rpb24gc3RhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0cmFuc2FjdGlvbklzT3BlbmVkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB0cmFuc2FjdGlvbklzT3BlbmVkOiBib29sZWFuKTogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDogU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kLlRyYW5zYWN0aW9uSXNPcGVuID0gdHJhbnNhY3Rpb25Jc09wZW5lZDtcclxuICAgIHJldHVybiBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSAnMScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudCBjb21tYW5kIHdoaWNoIHdpbGwgZmV0Y2ggdGhlIGRhdGEgY29udHJvbCB2YWx1ZXMgZnJvbSBzZXJ2ZXIuIFRoaXMgaXMgdXNlZCB3aGlsZSBleGVjdXRpbmcgQ29udHJvbEl0ZW1zUmVmcmVzaCgpIGZ1bmN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImdlbmVyYXRpb25QYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlY0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ6IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQgPSBuZXcgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuQ29udHJvbE5hbWUgPSBjb250cm9sTmFtZTtcclxuICAgIHJldHVybiBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybVJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybVRhc2tUYWc6IHN0cmluZywgZXhwbGljaXRTdWJmb3JtUmVmcmVzaDogYm9vbGVhbik6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuU3ViZm9ybVRhc2tUYWcgPSBzdWJmb3JtVGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLkV4cGxpY2l0U3ViZm9ybVJlZnJlc2ggPSBleHBsaWNpdFN1YmZvcm1SZWZyZXNoO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuVXNlVGFza0xvY2F0ZTtcclxuICAgIHJldHVybiBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgc3ViZm9ybSBvcGVuIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtT3BlbkNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtRGl0SWR4OiBudW1iZXIpOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLkRpdElkeCA9IHN1YmZvcm1EaXRJZHg7XHJcbiAgICByZXR1cm4gc3ViZm9ybU9wZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBzY3JlZW4gcmVmcmVzaCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2NyZWVuUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCB0b3BSZWNJZHg6IG51bWJlciwgY2xpZW50UmVjSWQ6IG51bWJlcik6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ6IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVG9wUmVjSWR4ID0gdG9wUmVjSWR4O1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIGEgY29sdW1uIHNvcnQgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbHVtblNvcnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZGlyZWN0aW9uOiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCBmaWVsZElkOiBudW1iZXIsIHJlY0lkOiBudW1iZXIpOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kOiBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kID0gbmV3IENvbHVtblNvcnRFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRmxkSWQgPSBmaWVsZElkICsgMTtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGlyZWN0aW9uID0gZGlyZWN0aW9uO1xyXG4gICAgcmV0dXJuIGNvbHVtblNvcnRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gICBjcmVhdGVzIGFuIEluZGV4IENoYW5nZSBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgYXN5bmMgQ3JlYXRlSW5kZXhDaGFuZ2VDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgcmVjSWQ6IG51bWJlciwgYXJnTGlzdDogQXJndW1lbnRzTGlzdCk6IFByb21pc2U8SW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ+IHtcclxuICAgIGxldCBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBuZXcgSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQoKTtcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSByZWNJZDtcclxuICAgIGxldCBjbWQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgLy8gMSBwYXJhbWV0ZXIgOiBUaGUgbmV3IEtleSBJbmRleFxyXG4gICAgaWYgKGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQga2V5SW5kZXg6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0ga2V5SW5kZXguTlVNXzJfTE9ORygpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY21kLktleUluZGV4ID0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiZXhpdEJ5TWVudVwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImNsb3NlU3ViZm9ybU9ubHlcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVCcm93c2VyRXNjRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGJyb3dzZXJFc2NFdmVudENvbW1hbmQ6IEJyb3dzZXJFc2NFdmVudENvbW1hbmQgPSBuZXcgQnJvd3NlckVzY0V2ZW50Q29tbWFuZCgpO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gYnJvd3NlckVzY0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNsaWVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb21wdXRlRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybXM6IGJvb2xlYW4sIGNsaWVudFJlY0lkOiBudW1iZXIpOiBDb21wdXRlRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb21wdXRlRXZlbnRDb21tYW5kOiBDb21wdXRlRXZlbnRDb21tYW5kID0gbmV3IENvbXB1dGVFdmVudENvbW1hbmQoKTtcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlN1YmZvcm1zID0gc3ViZm9ybXM7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY2xpZW50UmVjSWQ7XHJcbiAgICByZXR1cm4gY29tcHV0ZUV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIHRoZSBjb250ZXh0IHRlcm1pbmF0aW9uIHJlcXVlc3RcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nKTogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCA9IG5ldyBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQoKTtcclxuICAgIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIGR1bW15IHJlcXVlc3QgdG8gemVyby1pbiB0aGUgY29udGV4dCBpbmFjdGl2aXR5IHRpbWVvdXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBDcmVhdGVDb250ZXh0VGltZW91dFJlc2V0RXZlbnRDb21tYW5kKCkgOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kID0gbmV3IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kKCk7XHJcbiAgICByZXR1cm4gY29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBub25yZXZlcnNpYmxlIGV4aXQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVOb25SZXZlcnNpYmxlRXhpdENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCA9IG5ldyBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFJlY29tcHV0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmllbGRJZFwiPnRoZSBpZCBvZiB0aGUgZmllbGQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSZWNvbXB1dGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZmllbGRJZDogbnVtYmVyLCBpZ25vcmVTdWJmb3JtUmVjb21wdXRlOiBib29sZWFuKTogUmVjb21wdXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgcmVjb21wdXRlQ29tbWFuZDogUmVjb21wdXRlQ29tbWFuZCA9IG5ldyBSZWNvbXB1dGVDb21tYW5kKCk7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5GbGRJZCA9IGZpZWxkSWQ7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLklnbm9yZVN1YmZvcm1SZWNvbXB1dGUgPSBpZ25vcmVTdWJmb3JtUmVjb21wdXRlO1xyXG4gICAgcmV0dXJuIHJlY29tcHV0ZUNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBUcmFuc2FjdGlvbiBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJcIj50aGUgdHlwZSBvZiBvcGVyYXRpb246IEJlZ2luLCBDb21taXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1wiPnRoZSB0YXNrIG9mIHRoZSB0cmFuc2FjdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjUmV2ZXJzaWJsZUV4aXRcIj50cnVlIGlmIHRoZSB0YXNrIGV4aXQgaXMgcmV2ZXJzaWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsZXZlbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVRyYW5zYWN0aW9uQ29tbWFuZChvcGVyOiBzdHJpbmcsIHRhc2tUYWc6IHN0cmluZywgY1JldmVyc2libGVFeGl0OiBib29sZWFuLCBsZXZlbDogc3RyaW5nLCB1cGRhdGVkRmllbGRzOnN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHRyYW5zYWN0aW9uQ29tbWFuZC5VcGRhdGVkRmllbGRzID0gdXBkYXRlZEZpZWxkcztcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9ICcgJztcclxuICAgIGVsc2VcclxuICAgICAgY21kLlZhbCA9IHZhbHVlO1xyXG4gICAgcmV0dXJuIGNtZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBTZWxlY3QgUHJvZ3JhbSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNlbGVjdFByb2dyYW1Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogU2VsZWN0UHJvZ3JhbUNvbW1hbmQgPSBuZXcgU2VsZWN0UHJvZ3JhbUNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZhbHVhdGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFR5cGVcIj5UaGUgZXhwZWN0ZWQgdHlwZSBpcyB0aGUgZGF0YSB0eXBlIChhdHRyaWJ1dGUpIG9mIHRoZSByZXN1bHQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwSWR4XCI+ZXhwcmVzc2lvbiBpZCBhdHRyaWJ1dGVzIGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHByZXNzaW9uIHRvIGV2YWx1YXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFZhbExlblwiPiByZXByZXNlbnRzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbiBhbHBoYSByZXN1bHQgb3IgdGhlIG1heGltdW0gZGlnaXRzIHRvIHRoZSByaWdodCBvZiB0aGUgZGVjaW1hbCBwb2ludCwgZm9yIG51bWVyaWMgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1wcmdDcmVhdG9yXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXZhbHVhdGVDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgZXhwVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgZXhwSWR4OiBudW1iZXIsIGV4cFZhbExlbjogbnVtYmVyLCBtcHJnQ3JlYXRvcjogVGFzayk6IEV2YWx1YXRlQ29tbWFuZCB7XHJcbiAgICBsZXQgZXZhbHVhdGVDb21tYW5kOiBFdmFsdWF0ZUNvbW1hbmQgPSBuZXcgRXZhbHVhdGVDb21tYW5kKCk7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBldmFsdWF0ZUNvbW1hbmQuRXhwSWR4ID0gZXhwSWR4O1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cFR5cGUgPSBleHBUeXBlO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLk1wcmdDcmVhdG9yID0gbXByZ0NyZWF0b3I7XHJcblxyXG4gICAgaWYgKGV4cFZhbExlbiA+IDApXHJcbiAgICAgIGV2YWx1YXRlQ29tbWFuZC5MZW5ndGhFeHBWYWwgPSBleHBWYWxMZW47XHJcbiAgICByZXR1cm4gZXZhbHVhdGVDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVF1ZXJ5R2xvYmFsUGFyYW1zQ29tbWFuZCgpOiBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3JjZSBpbmkgZmlsZSB1cGRhdGUgYnkgSU5JUHV0KClcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicGFyYW1cIj5lbnYgcGFyYW0gY2hhbmdlZCBieSBJTklQdXQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZChwYXJhbTogc3RyaW5nKTogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGluaXB1dEZvcmNlV3JpdGVDb21tYW5kOiBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCA9IG5ldyBJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCgpO1xyXG4gICAgaW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQuVGV4dCA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -64,4 +64,4 @@ export class CommandSerializationHelper {
|
|
64
64
|
this.message.Append(" " + attribute + "=\"" + value + "\"");
|
65
65
|
}
|
66
66
|
}
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQzdCLE9BQU8sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUVyRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBRzlCLElBQUksRUFBRSxHQUFXLFlBQVksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJ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LElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludDMyLCBTdHJpbmdCdWlsZGVyLCBMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTdG9yYWdlQXR0cmlidXRlLCBWaWV3UmVmcmVzaE1vZGUsIFhNTENvbnN0YW50c30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkVXRpbHN9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge09wZXJhdGlvbn0gZnJvbSBcIi4uLy4uL3J0L09wZXJhdGlvblwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gaGVscGVyIGNsYXNzIC0gc3VwcGxpZXMgbWV0aG9kcyBmb3Igc2VyaWFsaXphdGlvbiBvZiBjb21tYW5kcyBkYXRhLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIge1xyXG4gIHByaXZhdGUgbWVzc2FnZTogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gIEdldFN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZS5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplVGFza1RhZyh0YXNrVGFnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIFFDUiAjOTgwNDU0IC0gdGhlIHRhc2sgaWQgbWF5IGNoYW5nZSBkdXJpbmcgdGhlIHRhc2sncyBsaWZldGltZSwgc28gdGFza0lkIG1pZ2h0XHJcbiAgICAvLyBiZSBob2xkaW5nIHRoZSBvbGQgb25lIC0gZmluZCB0aGUgdGFzayBhbmQgcmUtZmV0Y2ggaXRzIGN1cnJlbnQgSUQuXHJcbiAgICBsZXQgaWQ6IHN0cmluZyA9IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRUYXNrSWRCeUlkKHRhc2tUYWcpO1xyXG5cclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX1RBU0tJRCwgaWQpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplRmxkSWQoZmxkSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9GSUVMRElELCBmbGRJZCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVEaXRJZHgoZGl0SWR4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChkaXRJZHggPiBJbnQzMi5NaW5WYWx1ZSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShYTUxDb25zdGFudHMuTUdfQVRUUl9ESVRJRFgsIGRpdElkeCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVSb3V0ZVBhcmFtcyhvcGVyYXRpb246IE9wZXJhdGlvbik6IHZvaWQge1xyXG5cclxuICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gb3BlcmF0aW9uLmdldFJvdXRlUGFyYW1zKCk7XHJcbiAgICBsZXQgcm91dGVWYWxTdHI6IHN0cmluZyA9ICcnO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlUGFyYW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgcm91dGVWYWxTdHIgPSByb3V0ZVZhbFN0ci5jb25jYXQoUmVjb3JkVXRpbHMuc2VyaWFsaXplSXRlbVZhbChyb3V0ZVBhcmFtc1tpXSwgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFLCBTdG9yYWdlQXR0cmlidXRlLlNLSVAsIHRydWUpKTtcclxuICAgICAgfVxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9ST1VURV9QQVJBTVMsIHJvdXRlVmFsU3RyKTtcclxuICB9XHJcblxyXG5cclxuICBTZXJpYWxpemVSZWZyZXNoTW9kZShyZWZyZXNoTW9kZTogVmlld1JlZnJlc2hNb2RlKTogdm9pZCB7XHJcbiAgICBpZiAocmVmcmVzaE1vZGUgIT09IFZpZXdSZWZyZXNoTW9kZS5Ob25lKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfUkVBTFJFRlJFU0gsIHJlZnJlc2hNb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZU1hZ2ljRXZlbnQobWFnaWNFdmVudDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX01BR0lDRVZFTlQsIG1hZ2ljRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ2xvc2VTdWJmb3JtT25seShjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoY2xvc2VTdWJmb3JtT25seSlcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DTE9TRV9TVUJGT1JNX09OTFksIFwiMVwiKTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUtleUluZGV4KGtleUluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfS0VZLCBrZXlJbmRleCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IG51bWJlcik6IHZvaWQ7XHJcbiAgU2VyaWFsaXplQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChhdHRyaWJ1dGUgPT09IG51bGwgfHwgYXR0cmlidXRlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8wKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiAoYXR0cmlidXRlID09PSBudWxsIHx8IGF0dHJpYnV0ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSAmJiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUuY29uc3RydWN0b3IgPT09IE51bWJlcikpIHtcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGVfMShhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGVfMihhdHRyaWJ1dGUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzAoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzEoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VyaWFsaXplQXR0cmlidXRlXzIoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBhdHRyaWJ1dGUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -37,4 +37,4 @@ export class EvaluateCommand extends ClientOriginatedCommandTaskTag {
|
|
37
37
|
return NString.Empty;
|
38
38
|
}
|
39
39
|
}
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZhbHVhdGVDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FdmFsdWF0ZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHakYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsOEJBQThCO0lBQ2pFLE9BQU8sR0FBVyxJQUFJLENBQUM7SUFDdkIsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQW1CO0lBQzFCLFlBQVksR0FBVyxDQUFDLENBQUM7SUFDekIsV0FBVyxHQUFTLElBQUksQ0FBQztJQUV6QixJQUFJLG9CQUFvQjtRQUN0QixPQUFPLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6QyxDQUFDO0lBS0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMxQyxJQUFJLFNBQVMsR0FBVyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7Z0JBQ3ZCLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBRWpDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQVUsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQztTQUM5RjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUN6SCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludDMyLCBOU3RyaW5nfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gJy4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXInO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tICcuLi8uLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnfSBmcm9tICcuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcnO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tICcuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXZhbHVhdGVDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgRXhwSWR4OiBudW1iZXIgPSAwO1xyXG4gIEV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGU7XHJcbiAgTGVuZ3RoRXhwVmFsOiBudW1iZXIgPSAwO1xyXG4gIE1wcmdDcmVhdG9yOiBUYXNrID0gbnVsbDtcclxuXHJcbiAgZ2V0IENvbW1hbmRUeXBlQXR0cmlidXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfRVZBTDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5MZW5ndGhFeHBWYWwgPSBJbnQzMi5NaW5WYWx1ZTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRVhQX0lEWCwgdGhpcy5FeHBJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLkV4cFR5cGUgIT09IFN0b3JhZ2VBdHRyaWJ1dGUuTk9ORSkge1xyXG4gICAgICBsZXQgbWF4RGlnaXRzOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICBpZiAodGhpcy5MZW5ndGhFeHBWYWwgPiAwKVxyXG4gICAgICAgIG1heERpZ2l0cyArPSB0aGlzLkxlbmd0aEV4cFZhbDtcclxuXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FWFBfVFlQRSwgPHN0cmluZz50aGlzLkV4cFR5cGUgKyBtYXhEaWdpdHMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuTXByZ0NyZWF0b3IgIT09IG51bGwpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9NUFJHX1NPVVJDRSwgdGhpcy5NcHJnQ3JlYXRvci5nZXRUYXNrVGFnKCkpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KCdbezB9IEV4cElEIHsxfSBpbiB7Mn1dJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuQ29tbWFuZFR5cGVBdHRyaWJ1dGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLnN1YnN0cigxLCB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV4cElkeFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRUYXNrSW5mbygpKTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkc0luZm8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkVtcHR5O1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -67,4 +67,4 @@ export class ExecOperCommand extends ClientOriginatedCommandTaskTag {
|
|
67
67
|
return NString.Empty;
|
68
68
|
}
|
69
69
|
}
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY09wZXJDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FeGVjT3BlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEdBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXhFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUloRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSw4QkFBOEI7SUFDakUsY0FBYyxHQUFtQixJQUFJLENBQUM7SUFDdEMsT0FBTyxHQUFXLElBQUksQ0FBQztJQUN2QixTQUFTLEdBQVcsSUFBSSxDQUFDO0lBQ3pCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixHQUFHLEdBQVcsSUFBSSxDQUFDO0lBQ25CLFdBQVcsR0FBUyxJQUFJLENBQUM7SUFDekIsU0FBUyxHQUFjLElBQUksQ0FBQztJQUM1QixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRTNCLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDO0lBQzlDLENBQUM7SUFLRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFPRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxJQUFJLGVBQWUsR0FBWSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZTtZQUM3QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5RSxJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLGVBQWU7WUFDbkQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxjQUFjLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2xJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssSUFBSTtZQUNuQixNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXBGLElBQUksSUFBSSxDQUFDLFNBQVM7WUFDaEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVwRSxPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBTUQsaUJBQWlCLENBQUMsU0FBeUI7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBTUQseUJBQXlCO1FBQ3ZCLElBQUksZUFBZSxHQUFZLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU1RixJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLE9BQU8sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtRQUNDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBUSxjQUFjLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHO1lBQy9ELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEdBQUc7WUFDM0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUU7SUFDbEUsQ0FBQztJQUVELE9BQU87UUFFTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzIsIE5TdHJpbmcsIFN0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1hNTENvbnN0YW50cywgWG1sUGFyc2VyLH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtFeGVjdXRpb25TdGFja30gZnJvbSBcIi4uLy4uL3J0L0V4ZWN1dGlvblN0YWNrXCI7XHJcbmltcG9ydCB7T3BlcmF0aW9ufSBmcm9tIFwiLi4vLi4vcnQvT3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyfSBmcm9tIFwiLi9Db21tYW5kU2VyaWFsaXphdGlvbkhlbHBlclwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrXCI7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnfSBmcm9tIFwiLi4vQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnXCI7XHJcbmltcG9ydCB7QWNjZXNzSGVscGVyfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBFeGVjT3BlckNvbW1hbmQgZXh0ZW5kcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcgaW1wbGVtZW50cyBJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyB7XHJcbiAgRXhlY3V0aW9uU3RhY2s6IEV4ZWN1dGlvblN0YWNrID0gbnVsbDtcclxuICBUYXNrVGFnOiBzdHJpbmcgPSBudWxsO1xyXG4gIEhhbmRsZXJJZDogc3RyaW5nID0gbnVsbDtcclxuICBPcGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIERpdElkeDogbnVtYmVyID0gMDtcclxuICBWYWw6IHN0cmluZyA9IG51bGw7XHJcbiAgTXByZ0NyZWF0b3I6IFRhc2sgPSBudWxsO1xyXG4gIE9wZXJhdGlvbjogT3BlcmF0aW9uID0gbnVsbDtcclxuICBDaGVja09ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IENvbW1hbmRUeXBlQXR0cmlidXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfRVhFQ19PUEVSO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLkRpdElkeCA9IEludDMyLk1pblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaGFzQ2hpbGRFbGVtZW50c1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBTZXJpYWxpemVDb21tYW5kRGF0YSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGhlbHBlcjogQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIgPSBuZXcgQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIoKTtcclxuXHJcbiAgICBsZXQgZXhlY1N0YWNrRXhpc3RzOiBib29sZWFuID0gdGhpcy5FeGVjdXRpb25TdGFjayAhPT0gbnVsbCAmJiAhdGhpcy5FeGVjdXRpb25TdGFjay5lbXB0eSgpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBpZiAodGhpcy5IYW5kbGVySWQgIT09IG51bGwgJiYgIWV4ZWNTdGFja0V4aXN0cylcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0hBTkRMRVJJRCwgdGhpcy5IYW5kbGVySWQpO1xyXG5cclxuICAgIGlmICh0aGlzLk9wZXJJZHggPiBJbnQzMi5NaW5WYWx1ZSAmJiAhZXhlY1N0YWNrRXhpc3RzKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfT1BFUl9JRFgsIHRoaXMuT3BlcklkeCk7XHJcblxyXG4gICAgaWYgKHRoaXMuRGl0SWR4ID4gSW50MzIuTWluVmFsdWUpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVEaXRJZHgodGhpcy5EaXRJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLk9wZXJhdGlvbiAhPSBudWxsICYmIHRoaXMuT3BlcmF0aW9uLmdldFR5cGUoKSA9PT0gQ29uc3RJbnRlcmZhY2UuTUdfT1BFUl9DQUxMICYmIHRoaXMuT3BlcmF0aW9uLmdldFJvdXRlUGFyYW1zKCkgIT09IG51bGwpIHtcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZVJvdXRlUGFyYW1zKHRoaXMuT3BlcmF0aW9uKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLlZhbCAhPT0gbnVsbClcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShYTUxDb25zdGFudHMuTUdfQVRUUl9WQUxVRSwgWG1sUGFyc2VyLmVzY2FwZSh0aGlzLlZhbCkpO1xyXG5cclxuICAgIGlmICh0aGlzLkNoZWNrT25seSlcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0NIRUNLX09OTFksIFwiMVwiKTtcclxuXHJcbiAgICByZXR1cm4gaGVscGVyLkdldFN0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHNldHMgdGhlIGV4ZWNzdGFjayBvZiB0aGUgY3VycmVudCBjb21tYW5kIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleGVjU3RhY2tcIj4tIGN1cnJlbnQgZXhlY3V0aW9uIHN0YWNrIG9mIHJhaXNlIGV2ZW50IG9wZXJhdGlvbnMgZnJvbSBydCA8L3BhcmFtPlxyXG4gIFNldEV4ZWN1dGlvblN0YWNrKGV4ZWNTdGFjazogRXhlY3V0aW9uU3RhY2spOiB2b2lkIHtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sgPSBuZXcgRXhlY3V0aW9uU3RhY2soKTtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sucHVzaChBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0VGFza0lkQnlJZCh0aGlzLlRhc2tUYWcpLCB0aGlzLkhhbmRsZXJJZCwgdGhpcy5PcGVySWR4KTtcclxuICAgIHRoaXMuRXhlY3V0aW9uU3RhY2sucHVzaFVwU2lkZURvd24oZXhlY1N0YWNrKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZXh0cmEgZGF0YSAtIGFkZCBzZXJpYWxpemF0aW9uIG9mIHRoZSBleGVjdXRpb24gc3RhY2tcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgU2VyaWFsaXplRGF0YUFmdGVyQ29tbWFuZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IGV4ZWNTdGFja0V4aXN0czogYm9vbGVhbiA9IHRoaXMuRXhlY3V0aW9uU3RhY2sgIT09IG51bGwgJiYgIXRoaXMuRXhlY3V0aW9uU3RhY2suZW1wdHkoKTtcclxuXHJcbiAgICBpZiAoZXhlY1N0YWNrRXhpc3RzKSB7XHJcbiAgICAgIGxldCBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgdGhpcy5FeGVjdXRpb25TdGFjay5idWlsZFhNTChtZXNzYWdlKTtcclxuICAgICAgcmV0dXJuIG1lc3NhZ2UuVG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICAnTGluZSBudW1iZXIgJyArICdbJyArICh0aGlzLk9wZXJhdGlvbi5nZXRTZXJ2ZXJJZCgpICsgMSkgKyAnXScgK1xyXG4gICAgICAgICAgICAnIGluICcgKyAnWycgKyB0aGlzLk9wZXJhdGlvbi5nZXRFdmVudEhhbmRsZXIoKS5nZXRFdmVudEhhbmRsZXJJbmZvKCkgKyAnXScgK1xyXG4gICAgICAgICAgICAnIG9uICcgKyAnWycgKyB0aGlzLk9wZXJhdGlvbi5UYXNrLmdldFRhc2tJbmZvKCkgKyAnXScgO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFzaygpXHJcbiAge1xyXG4gICAgcmV0dXJuIHRoaXMuT3BlcmF0aW9uLlRhc2s7IC8vIGdldCB0aGUgdGFzayBmcm9tIG9wZXJhdGlvblxyXG4gIH1cclxuXHJcbiAgZ2V0RmllbGRzSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRW1wdHk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|