@vendasta/developer-training 0.12.1 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,8 +6,8 @@
6
6
  // *********************************
7
7
  export { FieldMask, } from './field-mask';
8
8
  export { GetBusinessQuestionsAnswersRequest, GetBusinessQuestionsAnswersResponse, QuestionsAnswers, ReplaceBusinessQuestionsAnswersRequest, } from './businessqa';
9
- export { TKabakovAddToDoItemRequest, TKabakovAddToDoItemResponse, TKabakovDeleteToDoItemRequest, TKabakovDeleteToDoItemResponse, TKabakovGetToDoItemRequest, TKabakovGetToDoItemResponse, TKabakovListToDoItemsRequest, TKabakovListToDoItemsResponse, TKabakovToDoId, TKabakovToDoItem, TKabakovUpdateToDoItemRequest, TKabakovUpdateToDoItemResponse, } from './tkabakovtodo';
10
9
  export { CreateLFossenierTaskRequest, DeleteLFossenierTaskRequest, LoadLFossenierTaskRequest, LoadLFossenierTaskResponse, TodoTaskMessage, ToggleFinishedLFossenierTaskRequest, } from './lfossenier-todo';
11
10
  export { Access, } from './annotations';
12
- export { AHundalAddTaskRequest, AHundalAddTaskResponse, AHundalDeleteTaskRequest, AHundalDeleteTaskResponse, AHundalEditTaskRequest, AHundalEditTaskResponse, AHundalGetSpecificTaskRequest, AHundalGetSpecificTaskResponse, AHundalGetTasksRequest, AHundalGetTasksResponse, AHundalTask, CreateECurrieRequest, CreateECurrieResponse, CreateHdoTodoRequest, CreateHdoTodoResponse, CreateWHorrellTaskRequest, CreateWHorrellTaskResponse, DeleteECurrieRequest, DeleteHdoTodoRequest, DeleteHdoTodoResponse, DeleteWHorrellTaskRequest, ECurrieTodoItem, EditWHorrellTaskRequest, EditWHorrellTaskResponse, GetECurrieListRequest, GetECurrieListResponse, GetHdoTodoRequest, GetHdoTodoResponse, GetWHorrellTaskRequest, GetWHorrellTaskResponse, HdoTodoItem, IOlaleyeCreateTaskRequest, IOlaleyeCreateTaskResponse, IOlaleyeDeleteTaskRequest, IOlaleyeDeleteTaskResponse, IOlaleyeEditTaskRequest, IOlaleyeEditTaskResponse, IOlaleyeGetTaskRequest, IOlaleyeGetTaskResponse, IOlaleyeListTasksRequest, IOlaleyeListTasksResponse, IOlaleyeTask, ListHdoTodoRequest, ListHdoTodoResponse, ListWHorrellTasksRequest, ListWHorrellTasksResponse, MMugotCreateTaskRequest, MMugotCreateTaskResponse, MMugotDeleteTaskRequest, MMugotGetTaskRequest, MMugotGetTaskResponse, MMugotListTasksRequest, MMugotListTasksResponse, MMugotTask, MMugotUpdateTaskRequest, MMugotUpdateTaskResponse, UpdateHdoTodoRequest, UpdateHdoTodoResponse, WHorrellTask, } from './api';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9kZXZlbG9wZXJfdHJhaW5pbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixvQ0FBb0M7QUFDcEMsT0FBTyxFQUNILFNBQVMsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxnQkFBZ0IsRUFDaEIsc0NBQXNDLEdBQ3pDLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsNkJBQTZCLEVBQzdCLDhCQUE4QixHQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLG1DQUFtQyxHQUN0QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDSCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCx5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixZQUFZLEdBQ2YsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEdldEJ1c2luZXNzUXVlc3Rpb25zQW5zd2Vyc1JlcXVlc3QsXG4gICAgR2V0QnVzaW5lc3NRdWVzdGlvbnNBbnN3ZXJzUmVzcG9uc2UsXG4gICAgUXVlc3Rpb25zQW5zd2VycyxcbiAgICBSZXBsYWNlQnVzaW5lc3NRdWVzdGlvbnNBbnN3ZXJzUmVxdWVzdCxcbn0gZnJvbSAnLi9idXNpbmVzc3FhJztcblxuZXhwb3J0IHtcbiAgICBUS2FiYWtvdkFkZFRvRG9JdGVtUmVxdWVzdCxcbiAgICBUS2FiYWtvdkFkZFRvRG9JdGVtUmVzcG9uc2UsXG4gICAgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlcXVlc3QsXG4gICAgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlc3BvbnNlLFxuICAgIFRLYWJha292R2V0VG9Eb0l0ZW1SZXF1ZXN0LFxuICAgIFRLYWJha292R2V0VG9Eb0l0ZW1SZXNwb25zZSxcbiAgICBUS2FiYWtvdkxpc3RUb0RvSXRlbXNSZXF1ZXN0LFxuICAgIFRLYWJha292TGlzdFRvRG9JdGVtc1Jlc3BvbnNlLFxuICAgIFRLYWJha292VG9Eb0lkLFxuICAgIFRLYWJha292VG9Eb0l0ZW0sXG4gICAgVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlcXVlc3QsXG4gICAgVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlc3BvbnNlLFxufSBmcm9tICcuL3RrYWJha292dG9kbyc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlTEZvc3NlbmllclRhc2tSZXF1ZXN0LFxuICAgIERlbGV0ZUxGb3NzZW5pZXJUYXNrUmVxdWVzdCxcbiAgICBMb2FkTEZvc3NlbmllclRhc2tSZXF1ZXN0LFxuICAgIExvYWRMRm9zc2VuaWVyVGFza1Jlc3BvbnNlLFxuICAgIFRvZG9UYXNrTWVzc2FnZSxcbiAgICBUb2dnbGVGaW5pc2hlZExGb3NzZW5pZXJUYXNrUmVxdWVzdCxcbn0gZnJvbSAnLi9sZm9zc2VuaWVyLXRvZG8nO1xuXG5leHBvcnQge1xuICAgIEFjY2Vzcyxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucyc7XG5cbmV4cG9ydCB7XG4gICAgQUh1bmRhbEFkZFRhc2tSZXF1ZXN0LFxuICAgIEFIdW5kYWxBZGRUYXNrUmVzcG9uc2UsXG4gICAgQUh1bmRhbERlbGV0ZVRhc2tSZXF1ZXN0LFxuICAgIEFIdW5kYWxEZWxldGVUYXNrUmVzcG9uc2UsXG4gICAgQUh1bmRhbEVkaXRUYXNrUmVxdWVzdCxcbiAgICBBSHVuZGFsRWRpdFRhc2tSZXNwb25zZSxcbiAgICBBSHVuZGFsR2V0U3BlY2lmaWNUYXNrUmVxdWVzdCxcbiAgICBBSHVuZGFsR2V0U3BlY2lmaWNUYXNrUmVzcG9uc2UsXG4gICAgQUh1bmRhbEdldFRhc2tzUmVxdWVzdCxcbiAgICBBSHVuZGFsR2V0VGFza3NSZXNwb25zZSxcbiAgICBBSHVuZGFsVGFzayxcbiAgICBDcmVhdGVFQ3VycmllUmVxdWVzdCxcbiAgICBDcmVhdGVFQ3VycmllUmVzcG9uc2UsXG4gICAgQ3JlYXRlSGRvVG9kb1JlcXVlc3QsXG4gICAgQ3JlYXRlSGRvVG9kb1Jlc3BvbnNlLFxuICAgIENyZWF0ZVdIb3JyZWxsVGFza1JlcXVlc3QsXG4gICAgQ3JlYXRlV0hvcnJlbGxUYXNrUmVzcG9uc2UsXG4gICAgRGVsZXRlRUN1cnJpZVJlcXVlc3QsXG4gICAgRGVsZXRlSGRvVG9kb1JlcXVlc3QsXG4gICAgRGVsZXRlSGRvVG9kb1Jlc3BvbnNlLFxuICAgIERlbGV0ZVdIb3JyZWxsVGFza1JlcXVlc3QsXG4gICAgRUN1cnJpZVRvZG9JdGVtLFxuICAgIEVkaXRXSG9ycmVsbFRhc2tSZXF1ZXN0LFxuICAgIEVkaXRXSG9ycmVsbFRhc2tSZXNwb25zZSxcbiAgICBHZXRFQ3VycmllTGlzdFJlcXVlc3QsXG4gICAgR2V0RUN1cnJpZUxpc3RSZXNwb25zZSxcbiAgICBHZXRIZG9Ub2RvUmVxdWVzdCxcbiAgICBHZXRIZG9Ub2RvUmVzcG9uc2UsXG4gICAgR2V0V0hvcnJlbGxUYXNrUmVxdWVzdCxcbiAgICBHZXRXSG9ycmVsbFRhc2tSZXNwb25zZSxcbiAgICBIZG9Ub2RvSXRlbSxcbiAgICBJT2xhbGV5ZUNyZWF0ZVRhc2tSZXF1ZXN0LFxuICAgIElPbGFsZXllQ3JlYXRlVGFza1Jlc3BvbnNlLFxuICAgIElPbGFsZXllRGVsZXRlVGFza1JlcXVlc3QsXG4gICAgSU9sYWxleWVEZWxldGVUYXNrUmVzcG9uc2UsXG4gICAgSU9sYWxleWVFZGl0VGFza1JlcXVlc3QsXG4gICAgSU9sYWxleWVFZGl0VGFza1Jlc3BvbnNlLFxuICAgIElPbGFsZXllR2V0VGFza1JlcXVlc3QsXG4gICAgSU9sYWxleWVHZXRUYXNrUmVzcG9uc2UsXG4gICAgSU9sYWxleWVMaXN0VGFza3NSZXF1ZXN0LFxuICAgIElPbGFsZXllTGlzdFRhc2tzUmVzcG9uc2UsXG4gICAgSU9sYWxleWVUYXNrLFxuICAgIExpc3RIZG9Ub2RvUmVxdWVzdCxcbiAgICBMaXN0SGRvVG9kb1Jlc3BvbnNlLFxuICAgIExpc3RXSG9ycmVsbFRhc2tzUmVxdWVzdCxcbiAgICBMaXN0V0hvcnJlbGxUYXNrc1Jlc3BvbnNlLFxuICAgIE1NdWdvdENyZWF0ZVRhc2tSZXF1ZXN0LFxuICAgIE1NdWdvdENyZWF0ZVRhc2tSZXNwb25zZSxcbiAgICBNTXVnb3REZWxldGVUYXNrUmVxdWVzdCxcbiAgICBNTXVnb3RHZXRUYXNrUmVxdWVzdCxcbiAgICBNTXVnb3RHZXRUYXNrUmVzcG9uc2UsXG4gICAgTU11Z290TGlzdFRhc2tzUmVxdWVzdCxcbiAgICBNTXVnb3RMaXN0VGFza3NSZXNwb25zZSxcbiAgICBNTXVnb3RUYXNrLFxuICAgIE1NdWdvdFVwZGF0ZVRhc2tSZXF1ZXN0LFxuICAgIE1NdWdvdFVwZGF0ZVRhc2tSZXNwb25zZSxcbiAgICBVcGRhdGVIZG9Ub2RvUmVxdWVzdCxcbiAgICBVcGRhdGVIZG9Ub2RvUmVzcG9uc2UsXG4gICAgV0hvcnJlbGxUYXNrLFxufSBmcm9tICcuL2FwaSc7XG5cbiJdfQ==
11
+ export { TKabakovAddToDoItemRequest, TKabakovAddToDoItemResponse, TKabakovDeleteToDoItemRequest, TKabakovDeleteToDoItemResponse, TKabakovGetToDoItemRequest, TKabakovGetToDoItemResponse, TKabakovListToDoItemsRequest, TKabakovListToDoItemsResponse, TKabakovToDoId, TKabakovToDoItem, TKabakovUpdateToDoItemRequest, TKabakovUpdateToDoItemResponse, } from './tkabakovtodo';
12
+ export { AHundalAddTaskRequest, AHundalAddTaskResponse, AHundalDeleteTaskRequest, AHundalDeleteTaskResponse, AHundalEditTaskRequest, AHundalEditTaskResponse, AHundalGetSpecificTaskRequest, AHundalGetSpecificTaskResponse, AHundalGetTasksRequest, AHundalGetTasksResponse, AHundalTask, CreateECurrieRequest, CreateECurrieResponse, CreateHdoTodoRequest, CreateHdoTodoResponse, CreateListRequest, CreateListResponse, CreateWHorrellTaskRequest, CreateWHorrellTaskResponse, DeleteECurrieRequest, DeleteHdoTodoRequest, DeleteHdoTodoResponse, DeleteListRequest, DeleteWHorrellTaskRequest, ECurrieTodoItem, EditWHorrellTaskRequest, EditWHorrellTaskResponse, GetECurrieListRequest, GetECurrieListResponse, GetHdoTodoRequest, GetHdoTodoResponse, GetListRequest, GetListResponse, GetWHorrellTaskRequest, GetWHorrellTaskResponse, HdoTodoItem, IOlaleyeCreateTaskRequest, IOlaleyeCreateTaskResponse, IOlaleyeDeleteTaskRequest, IOlaleyeDeleteTaskResponse, IOlaleyeEditTaskRequest, IOlaleyeEditTaskResponse, IOlaleyeGetTaskRequest, IOlaleyeGetTaskResponse, IOlaleyeListTasksRequest, IOlaleyeListTasksResponse, IOlaleyeTask, ListHdoTodoRequest, ListHdoTodoResponse, ListWHorrellTasksRequest, ListWHorrellTasksResponse, MMugotCreateTaskRequest, MMugotCreateTaskResponse, MMugotDeleteTaskRequest, MMugotGetTaskRequest, MMugotGetTaskResponse, MMugotListTasksRequest, MMugotListTasksResponse, MMugotTask, MMugotUpdateTaskRequest, MMugotUpdateTaskResponse, NValleCreateTaskRequest, NValleCreateTaskResponse, TodoList, UpdateHdoTodoRequest, UpdateHdoTodoResponse, WHorrellTask, } from './api';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9kZXZlbG9wZXJfdHJhaW5pbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixvQ0FBb0M7QUFDcEMsT0FBTyxFQUNILFNBQVMsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxnQkFBZ0IsRUFDaEIsc0NBQXNDLEdBQ3pDLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLG1DQUFtQyxHQUN0QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDSCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsOEJBQThCLEdBQ2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZUFBZSxFQUNmLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLFlBQVksR0FDZixNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2ssXG59IGZyb20gJy4vZmllbGQtbWFzayc7XG5cbmV4cG9ydCB7XG4gICAgR2V0QnVzaW5lc3NRdWVzdGlvbnNBbnN3ZXJzUmVxdWVzdCxcbiAgICBHZXRCdXNpbmVzc1F1ZXN0aW9uc0Fuc3dlcnNSZXNwb25zZSxcbiAgICBRdWVzdGlvbnNBbnN3ZXJzLFxuICAgIFJlcGxhY2VCdXNpbmVzc1F1ZXN0aW9uc0Fuc3dlcnNSZXF1ZXN0LFxufSBmcm9tICcuL2J1c2luZXNzcWEnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZUxGb3NzZW5pZXJUYXNrUmVxdWVzdCxcbiAgICBEZWxldGVMRm9zc2VuaWVyVGFza1JlcXVlc3QsXG4gICAgTG9hZExGb3NzZW5pZXJUYXNrUmVxdWVzdCxcbiAgICBMb2FkTEZvc3NlbmllclRhc2tSZXNwb25zZSxcbiAgICBUb2RvVGFza01lc3NhZ2UsXG4gICAgVG9nZ2xlRmluaXNoZWRMRm9zc2VuaWVyVGFza1JlcXVlc3QsXG59IGZyb20gJy4vbGZvc3Nlbmllci10b2RvJztcblxuZXhwb3J0IHtcbiAgICBBY2Nlc3MsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQge1xuICAgIFRLYWJha292QWRkVG9Eb0l0ZW1SZXF1ZXN0LFxuICAgIFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSxcbiAgICBUS2FiYWtvdkRlbGV0ZVRvRG9JdGVtUmVxdWVzdCxcbiAgICBUS2FiYWtvdkRlbGV0ZVRvRG9JdGVtUmVzcG9uc2UsXG4gICAgVEthYmFrb3ZHZXRUb0RvSXRlbVJlcXVlc3QsXG4gICAgVEthYmFrb3ZHZXRUb0RvSXRlbVJlc3BvbnNlLFxuICAgIFRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3QsXG4gICAgVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVzcG9uc2UsXG4gICAgVEthYmFrb3ZUb0RvSWQsXG4gICAgVEthYmFrb3ZUb0RvSXRlbSxcbiAgICBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVxdWVzdCxcbiAgICBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVzcG9uc2UsXG59IGZyb20gJy4vdGthYmFrb3Z0b2RvJztcblxuZXhwb3J0IHtcbiAgICBBSHVuZGFsQWRkVGFza1JlcXVlc3QsXG4gICAgQUh1bmRhbEFkZFRhc2tSZXNwb25zZSxcbiAgICBBSHVuZGFsRGVsZXRlVGFza1JlcXVlc3QsXG4gICAgQUh1bmRhbERlbGV0ZVRhc2tSZXNwb25zZSxcbiAgICBBSHVuZGFsRWRpdFRhc2tSZXF1ZXN0LFxuICAgIEFIdW5kYWxFZGl0VGFza1Jlc3BvbnNlLFxuICAgIEFIdW5kYWxHZXRTcGVjaWZpY1Rhc2tSZXF1ZXN0LFxuICAgIEFIdW5kYWxHZXRTcGVjaWZpY1Rhc2tSZXNwb25zZSxcbiAgICBBSHVuZGFsR2V0VGFza3NSZXF1ZXN0LFxuICAgIEFIdW5kYWxHZXRUYXNrc1Jlc3BvbnNlLFxuICAgIEFIdW5kYWxUYXNrLFxuICAgIENyZWF0ZUVDdXJyaWVSZXF1ZXN0LFxuICAgIENyZWF0ZUVDdXJyaWVSZXNwb25zZSxcbiAgICBDcmVhdGVIZG9Ub2RvUmVxdWVzdCxcbiAgICBDcmVhdGVIZG9Ub2RvUmVzcG9uc2UsXG4gICAgQ3JlYXRlTGlzdFJlcXVlc3QsXG4gICAgQ3JlYXRlTGlzdFJlc3BvbnNlLFxuICAgIENyZWF0ZVdIb3JyZWxsVGFza1JlcXVlc3QsXG4gICAgQ3JlYXRlV0hvcnJlbGxUYXNrUmVzcG9uc2UsXG4gICAgRGVsZXRlRUN1cnJpZVJlcXVlc3QsXG4gICAgRGVsZXRlSGRvVG9kb1JlcXVlc3QsXG4gICAgRGVsZXRlSGRvVG9kb1Jlc3BvbnNlLFxuICAgIERlbGV0ZUxpc3RSZXF1ZXN0LFxuICAgIERlbGV0ZVdIb3JyZWxsVGFza1JlcXVlc3QsXG4gICAgRUN1cnJpZVRvZG9JdGVtLFxuICAgIEVkaXRXSG9ycmVsbFRhc2tSZXF1ZXN0LFxuICAgIEVkaXRXSG9ycmVsbFRhc2tSZXNwb25zZSxcbiAgICBHZXRFQ3VycmllTGlzdFJlcXVlc3QsXG4gICAgR2V0RUN1cnJpZUxpc3RSZXNwb25zZSxcbiAgICBHZXRIZG9Ub2RvUmVxdWVzdCxcbiAgICBHZXRIZG9Ub2RvUmVzcG9uc2UsXG4gICAgR2V0TGlzdFJlcXVlc3QsXG4gICAgR2V0TGlzdFJlc3BvbnNlLFxuICAgIEdldFdIb3JyZWxsVGFza1JlcXVlc3QsXG4gICAgR2V0V0hvcnJlbGxUYXNrUmVzcG9uc2UsXG4gICAgSGRvVG9kb0l0ZW0sXG4gICAgSU9sYWxleWVDcmVhdGVUYXNrUmVxdWVzdCxcbiAgICBJT2xhbGV5ZUNyZWF0ZVRhc2tSZXNwb25zZSxcbiAgICBJT2xhbGV5ZURlbGV0ZVRhc2tSZXF1ZXN0LFxuICAgIElPbGFsZXllRGVsZXRlVGFza1Jlc3BvbnNlLFxuICAgIElPbGFsZXllRWRpdFRhc2tSZXF1ZXN0LFxuICAgIElPbGFsZXllRWRpdFRhc2tSZXNwb25zZSxcbiAgICBJT2xhbGV5ZUdldFRhc2tSZXF1ZXN0LFxuICAgIElPbGFsZXllR2V0VGFza1Jlc3BvbnNlLFxuICAgIElPbGFsZXllTGlzdFRhc2tzUmVxdWVzdCxcbiAgICBJT2xhbGV5ZUxpc3RUYXNrc1Jlc3BvbnNlLFxuICAgIElPbGFsZXllVGFzayxcbiAgICBMaXN0SGRvVG9kb1JlcXVlc3QsXG4gICAgTGlzdEhkb1RvZG9SZXNwb25zZSxcbiAgICBMaXN0V0hvcnJlbGxUYXNrc1JlcXVlc3QsXG4gICAgTGlzdFdIb3JyZWxsVGFza3NSZXNwb25zZSxcbiAgICBNTXVnb3RDcmVhdGVUYXNrUmVxdWVzdCxcbiAgICBNTXVnb3RDcmVhdGVUYXNrUmVzcG9uc2UsXG4gICAgTU11Z290RGVsZXRlVGFza1JlcXVlc3QsXG4gICAgTU11Z290R2V0VGFza1JlcXVlc3QsXG4gICAgTU11Z290R2V0VGFza1Jlc3BvbnNlLFxuICAgIE1NdWdvdExpc3RUYXNrc1JlcXVlc3QsXG4gICAgTU11Z290TGlzdFRhc2tzUmVzcG9uc2UsXG4gICAgTU11Z290VGFzayxcbiAgICBNTXVnb3RVcGRhdGVUYXNrUmVxdWVzdCxcbiAgICBNTXVnb3RVcGRhdGVUYXNrUmVzcG9uc2UsXG4gICAgTlZhbGxlQ3JlYXRlVGFza1JlcXVlc3QsXG4gICAgTlZhbGxlQ3JlYXRlVGFza1Jlc3BvbnNlLFxuICAgIFRvZG9MaXN0LFxuICAgIFVwZGF0ZUhkb1RvZG9SZXF1ZXN0LFxuICAgIFVwZGF0ZUhkb1RvZG9SZXNwb25zZSxcbiAgICBXSG9ycmVsbFRhc2ssXG59IGZyb20gJy4vYXBpJztcblxuIl19
@@ -8,6 +8,9 @@ export class TKabakovAddToDoItemRequest {
8
8
  static fromProto(proto) {
9
9
  let m = new TKabakovAddToDoItemRequest();
10
10
  m = Object.assign(m, proto);
11
+ if (proto.dueDate) {
12
+ m.dueDate = new Date(proto.dueDate);
13
+ }
11
14
  return m;
12
15
  }
13
16
  constructor(kwargs) {
@@ -24,6 +27,9 @@ export class TKabakovAddToDoItemRequest {
24
27
  if (typeof this.description !== 'undefined') {
25
28
  toReturn['description'] = this.description;
26
29
  }
30
+ if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {
31
+ toReturn['dueDate'] = 'toApiJson' in this.dueDate ? this.dueDate.toApiJson() : this.dueDate;
32
+ }
27
33
  return toReturn;
28
34
  }
29
35
  }
@@ -197,6 +203,9 @@ export class TKabakovToDoItem {
197
203
  static fromProto(proto) {
198
204
  let m = new TKabakovToDoItem();
199
205
  m = Object.assign(m, proto);
206
+ if (proto.dueDate) {
207
+ m.dueDate = new Date(proto.dueDate);
208
+ }
200
209
  return m;
201
210
  }
202
211
  constructor(kwargs) {
@@ -222,6 +231,9 @@ export class TKabakovToDoItem {
222
231
  if (typeof this.deleted !== 'undefined') {
223
232
  toReturn['deleted'] = this.deleted;
224
233
  }
234
+ if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {
235
+ toReturn['dueDate'] = 'toApiJson' in this.dueDate ? this.dueDate.toApiJson() : this.dueDate;
236
+ }
225
237
  return toReturn;
226
238
  }
227
239
  }
@@ -271,4 +283,4 @@ export class TKabakovUpdateToDoItemResponse {
271
283
  return toReturn;
272
284
  }
273
285
  }
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGthYmFrb3Z0b2RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGV2ZWxvcGVyX3RyYWluaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3RrYWJha292dG9kby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sMEJBQTBCO0lBSW5DLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDekMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBOEM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENB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QUM7U0FBQztRQUM5RSxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQWtEO1FBQzFELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFFBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FBQztRQUMvSyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292QWRkVG9Eb0l0ZW1SZXF1ZXN0IGltcGxlbWVudHMgaS5US2FiYWtvdkFkZFRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZBZGRUb0RvSXRlbVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkFkZFRvRG9JdGVtUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVEthYmFrb3ZBZGRUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGl0bGUnXSA9IHRoaXMudGl0bGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZBZGRUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0b2RvSXRlbTogVEthYmFrb3ZUb0RvSXRlbTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbSkge20udG9kb0l0ZW0gPSBUS2FiYWtvdlRvRG9JdGVtLmZyb21Qcm90byhwcm90by50b2RvSXRlbSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRvZG9JdGVtICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RvZG9JdGVtJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtID8gKHRoaXMudG9kb0l0ZW0gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudG9kb0l0ZW07fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlcXVlc3QgaW1wbGVtZW50cyBpLlRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292R2V0VG9Eb0l0ZW1SZXF1ZXN0IGltcGxlbWVudHMgaS5US2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgdG9kb0lkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292R2V0VG9Eb0l0ZW1SZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndG9kb0lkJ10gPSB0aGlzLnRvZG9JZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2UgaW1wbGVtZW50cyBpLlRLYWJha292R2V0VG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgdG9kb0l0ZW06IFRLYWJha292VG9Eb0l0ZW07XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udG9kb0l0ZW0pIHttLnRvZG9JdGVtID0gVEthYmFrb3ZUb0RvSXRlbS5mcm9tUHJvdG8ocHJvdG8udG9kb0l0ZW0pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b2RvSXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbSAhPT0gbnVsbCkge3RvUmV0dXJuWyd0b2RvSXRlbSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50b2RvSXRlbSA/ICh0aGlzLnRvZG9JdGVtIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvZG9JdGVtO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3QgaW1wbGVtZW50cyBpLlRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3RJbnRlcmZhY2Uge1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRvZG9JdGVtczogVEthYmFrb3ZUb0RvSXRlbVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbXMpIHttLnRvZG9JdGVtcyA9IHByb3RvLnRvZG9JdGVtcy5tYXAoVEthYmFrb3ZUb0RvSXRlbS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbXMgIT09IG51bGwpIHt0b1JldHVyblsndG9kb0l0ZW1zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtcyA/ICh0aGlzLnRvZG9JdGVtcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50b2RvSXRlbXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVEthYmFrb3ZUb0RvSWQgaW1wbGVtZW50cyBpLlRLYWJha292VG9Eb0lkSW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292VG9Eb0lkIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVEthYmFrb3ZUb0RvSWQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292VG9Eb0lkSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292VG9Eb0l0ZW0gaW1wbGVtZW50cyBpLlRLYWJha292VG9Eb0l0ZW1JbnRlcmZhY2Uge1xuICAgIHRvZG9JZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpc0RvbmU6IGJvb2xlYW47XG4gICAgZGVsZXRlZDogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292VG9Eb0l0ZW0ge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdlRvRG9JdGVtKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdlRvRG9JdGVtSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNEb25lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc0RvbmUnXSA9IHRoaXMuaXNEb25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlbGV0ZWQnXSA9IHRoaXMuZGVsZXRlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVxdWVzdCBpbXBsZW1lbnRzIGkuVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRvZG9JdGVtOiBUS2FiYWtvdlRvRG9JdGVtO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbSkge20udG9kb0l0ZW0gPSBUS2FiYWtvdlRvRG9JdGVtLmZyb21Qcm90byhwcm90by50b2RvSXRlbSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0l0ZW0gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudG9kb0l0ZW0gIT09IG51bGwpIHt0b1JldHVyblsndG9kb0l0ZW0nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudG9kb0l0ZW0gPyAodGhpcy50b2RvSXRlbSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50b2RvSXRlbTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVzcG9uc2UgaW1wbGVtZW50cyBpLlRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgdG9kb0l0ZW06IFRLYWJha292VG9Eb0l0ZW07XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udG9kb0l0ZW0pIHttLnRvZG9JdGVtID0gVEthYmFrb3ZUb0RvSXRlbS5mcm9tUHJvdG8ocHJvdG8udG9kb0l0ZW0pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b2RvSXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbSAhPT0gbnVsbCkge3RvUmV0dXJuWyd0b2RvSXRlbSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50b2RvSXRlbSA/ICh0aGlzLnRvZG9JdGVtIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvZG9JdGVtO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGthYmFrb3Z0b2RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGV2ZWxvcGVyX3RyYWluaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3RrYWJha292dG9kby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sMEJBQTBCO0lBS25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDekMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQUM7UUFDekQsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUE4QztRQUN0RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLElBQUksT0FBTyxJQUFJLENBQUMsV0FB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LEVBQUU7WUFBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQUM7UUFDL0ssT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdkFkZFRvRG9JdGVtUmVxdWVzdCBpbXBsZW1lbnRzIGkuVEthYmFrb3ZBZGRUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBkdWVEYXRlOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZBZGRUb0RvSXRlbVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkFkZFRvRG9JdGVtUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5kdWVEYXRlKSB7bS5kdWVEYXRlID0gbmV3IERhdGUocHJvdG8uZHVlRGF0ZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292QWRkVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdWVEYXRlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmR1ZURhdGUgIT09IG51bGwpIHt0b1JldHVyblsnZHVlRGF0ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5kdWVEYXRlID8gKHRoaXMuZHVlRGF0ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5kdWVEYXRlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZBZGRUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0b2RvSXRlbTogVEthYmFrb3ZUb0RvSXRlbTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbSkge20udG9kb0l0ZW0gPSBUS2FiYWtvdlRvRG9JdGVtLmZyb21Qcm90byhwcm90by50b2RvSXRlbSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292QWRkVG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRvZG9JdGVtICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RvZG9JdGVtJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtID8gKHRoaXMudG9kb0l0ZW0gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudG9kb0l0ZW07fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlcXVlc3QgaW1wbGVtZW50cyBpLlRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292RGVsZXRlVG9Eb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVEthYmFrb3ZEZWxldGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292R2V0VG9Eb0l0ZW1SZXF1ZXN0IGltcGxlbWVudHMgaS5US2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgdG9kb0lkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292R2V0VG9Eb0l0ZW1SZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkdldFRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndG9kb0lkJ10gPSB0aGlzLnRvZG9JZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2UgaW1wbGVtZW50cyBpLlRLYWJha292R2V0VG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgdG9kb0l0ZW06IFRLYWJha292VG9Eb0l0ZW07XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udG9kb0l0ZW0pIHttLnRvZG9JdGVtID0gVEthYmFrb3ZUb0RvSXRlbS5mcm9tUHJvdG8ocHJvdG8udG9kb0l0ZW0pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkdldFRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b2RvSXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbSAhPT0gbnVsbCkge3RvUmV0dXJuWyd0b2RvSXRlbSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50b2RvSXRlbSA/ICh0aGlzLnRvZG9JdGVtIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvZG9JdGVtO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3QgaW1wbGVtZW50cyBpLlRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3RJbnRlcmZhY2Uge1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292TGlzdFRvRG9JdGVtc1JlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUS2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRvZG9JdGVtczogVEthYmFrb3ZUb0RvSXRlbVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZMaXN0VG9Eb0l0ZW1zUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUS2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbXMpIHttLnRvZG9JdGVtcyA9IHByb3RvLnRvZG9JdGVtcy5tYXAoVEthYmFrb3ZUb0RvSXRlbS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdkxpc3RUb0RvSXRlbXNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbXMgIT09IG51bGwpIHt0b1JldHVyblsndG9kb0l0ZW1zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtcyA/ICh0aGlzLnRvZG9JdGVtcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50b2RvSXRlbXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVEthYmFrb3ZUb0RvSWQgaW1wbGVtZW50cyBpLlRLYWJha292VG9Eb0lkSW50ZXJmYWNlIHtcbiAgICB0b2RvSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292VG9Eb0lkIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVEthYmFrb3ZUb0RvSWQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292VG9Eb0lkSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292VG9Eb0l0ZW0gaW1wbGVtZW50cyBpLlRLYWJha292VG9Eb0l0ZW1JbnRlcmZhY2Uge1xuICAgIHRvZG9JZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpc0RvbmU6IGJvb2xlYW47XG4gICAgZGVsZXRlZDogYm9vbGVhbjtcbiAgICBkdWVEYXRlOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVEthYmFrb3ZUb0RvSXRlbSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292VG9Eb0l0ZW0oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZHVlRGF0ZSkge20uZHVlRGF0ZSA9IG5ldyBEYXRlKHByb3RvLmR1ZURhdGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5US2FiYWtvdlRvRG9JdGVtSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9kb0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b2RvSWQnXSA9IHRoaXMudG9kb0lkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNEb25lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc0RvbmUnXSA9IHRoaXMuaXNEb25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlbGV0ZWQnXSA9IHRoaXMuZGVsZXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdWVEYXRlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmR1ZURhdGUgIT09IG51bGwpIHt0b1JldHVyblsnZHVlRGF0ZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5kdWVEYXRlID8gKHRoaXMuZHVlRGF0ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5kdWVEYXRlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXF1ZXN0IGltcGxlbWVudHMgaS5US2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgdG9kb0l0ZW06IFRLYWJha292VG9Eb0l0ZW07XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUS2FiYWtvdlVwZGF0ZVRvRG9JdGVtUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnRvZG9JdGVtKSB7bS50b2RvSXRlbSA9IFRLYWJha292VG9Eb0l0ZW0uZnJvbVByb3RvKHByb3RvLnRvZG9JdGVtKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b2RvSXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50b2RvSXRlbSAhPT0gbnVsbCkge3RvUmV0dXJuWyd0b2RvSXRlbSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50b2RvSXRlbSA/ICh0aGlzLnRvZG9JdGVtIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvZG9JdGVtO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuVEthYmFrb3ZVcGRhdGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0b2RvSXRlbTogVEthYmFrb3ZUb0RvSXRlbTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50b2RvSXRlbSkge20udG9kb0l0ZW0gPSBUS2FiYWtvdlRvRG9JdGVtLmZyb21Qcm90byhwcm90by50b2RvSXRlbSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRLYWJha292VXBkYXRlVG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRvZG9JdGVtICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RvZG9JdGVtJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtID8gKHRoaXMudG9kb0l0ZW0gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudG9kb0l0ZW07fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=