vcomply-workflow-engine 2.6.130 → 2.6.131
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.
- package/bundles/vcomply-workflow-engine.umd.js +216 -78
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +6 -6
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +19 -4
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +43 -20
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +77 -6
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +72 -15
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +4 -4
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +110 -56
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +227 -183
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +2 -1
- package/esm2015/lib/workflow-engine.module.ngfactory.js +3 -3
- package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +4 -4
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +3 -3
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +4 -4
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +5 -5
- package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +5 -5
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +4 -4
- package/fesm2015/vcomply-workflow-engine.js +206 -65
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +4 -0
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +13 -0
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +6 -3
- package/package.json +2 -2
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"responsibilityId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"frameworkDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"isEntrust":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"closeOnEsc":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["closeOnEsc"]}]}],"orgDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"resetForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"checkpointCountUpdated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"rcSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"openedFrom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"selectedRC":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"setSelectedProgram":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["selectedProgram"]}]}],"onRemovingCheckpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"isAssessmentDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"assigneeTypeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"onReviewerTypeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"whatInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["what"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":4,"members":[]},{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]},{"__symbol":4,"members":[]},{"__symbol":9,"members":[]}]}],"ngOnInit":[{"__symbolic":"method"}],"activateSelector":[{"__symbolic":"method"}],"whatChanged":[{"__symbolic":"method"}],"activeDeselector":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"getRCList":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getOrganizationDetails":[{"__symbolic":"method"}],"getCategoryList":[{"__symbolic":"method"}],"filterListsAccordingToProgram":[{"__symbolic":"method"}],"getProgramDetails":[{"__symbolic":"method"}],"getListsAccordingToProgram":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getAssigneesList":[{"__symbolic":"method"}],"getPeopleListAgainstPID":[{"__symbolic":"method"}],"getGroupsList":[{"__symbolic":"method"}],"getEditResponsibilityDetails":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"returnIds":[{"__symbolic":"method"}],"populateOverseerData":[{"__symbolic":"method"}],"populateReviewerData":[{"__symbolic":"method"}],"getGroupsUserEmployeesId":[{"__symbolic":"method"}],"setReviewerPayload":[{"__symbolic":"method"}],"checkWhetherAllListsLoaded":[{"__symbolic":"method"}],"saveSelectedList":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"saveGroupReviewerData":[{"__symbolic":"method"}],"saveOverseerData":[{"__symbolic":"method"}],"entrustFramework":[{"__symbolic":"method"}],"assignFromFramework":[{"__symbolic":"method"}],"assignUserMemberId":[{"__symbolic":"method"}],"refreshAllLists":[{"__symbolic":"method"}],"refreshListsWhileProgramSelected":[{"__symbolic":"method"}],"submitResponsibility":[{"__symbolic":"method"}],"validateResponsibility":[{"__symbolic":"method"}],"entrustResponsibility":[{"__symbolic":"method"}],"combineUserAndUserGroupMembers":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"action":[{"__symbolic":"method"}],"viewResponsibilities":[{"__symbolic":"method"}],"closeSmiley":[{"__symbolic":"method"}],"frequencyDataPopulation":[{"__symbolic":"method"}],"frequencyPopulation":[{"__symbolic":"method"}],"frequencyData":[{"__symbolic":"method"}],"checkBlank":[{"__symbolic":"method"}],"getFrequencyPlaceholder":[{"__symbolic":"method"}],"getOnCompletionOf":[{"__symbolic":"method"}],"getDailyPlaceholder":[{"__symbolic":"method"}],"getWeeklyPlaceholder":[{"__symbolic":"method"}],"getMonthlyPlaceholder":[{"__symbolic":"method"}],"getQuarterlyPlaceholder":[{"__symbolic":"method"}],"getBiannualPlaceholder":[{"__symbolic":"method"}],"getYearlyPlaceholder":[{"__symbolic":"method"}],"getRandomPlaceholder":[{"__symbolic":"method"}],"onEditWhat":[{"__symbolic":"method"}],"getEditMoreOptions":[{"__symbolic":"method"}],"testFunction":[{"__symbolic":"method"}],"reviewerTypeChange":[{"__symbolic":"method"}],"selectedSampleData":[{"__symbolic":"method"}],"populateAssuranceList":[{"__symbolic":"method"}],"checkInputValue":[{"__symbolic":"method"}],"switchEnable":[{"__symbolic":"method"}],"onAssessmentSelect":[{"__symbolic":"method"}],"getAssessmentDetails":[{"__symbolic":"method"}],"onRemoveCheckpoints":[{"__symbolic":"method"}],"removeCheckpoint":[{"__symbolic":"method"}],"postAssessment":[{"__symbolic":"method"}],"setIsUploaded":[{"__symbolic":"method"}],"checkDefaultProgramOnRemove":[{"__symbolic":"method"}],"getUniqueIds":[{"__symbolic":"method"}],"openAssigneeChangeConfirmation":[{"__symbolic":"method"}],"onReviewerWorkflowChange":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":6,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":9,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-compliance","exportAs":null,"inputs":{"mode":"mode","responsibilityId":"responsibilityId","frameworkDetails":"frameworkDetails","isEntrust":"isEntrust","feature":"feature","closeOnEsc":"closeOnEsc","orgDetails":"orgDetails","openedFrom":"openedFrom","selectedRC":"selectedRC","setSelectedProgram":"selectedProgram"},"outputs":{"pickerChanged":"pickerChanged","populateOption":"populateOption","hideElementsFromMoreOptions":"hideElementsFromMoreOptions","closeWorkflow":"closeWorkflow","resetForm":"resetForm","disconnectRefresh":"disconnectRefresh","checkpointCountUpdated":"checkpointCountUpdated","rcSelected":"rcSelected","onRemovingCheckpoint":"onRemovingCheckpoint","isAssessmentDisabled":"isAssessmentDisabled","assigneeTypeChange":"assigneeTypeChange","onReviewerTypeChange":"onReviewerTypeChange"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"what"}],"first":true,"descendants":true,"propertyName":"whatInput","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":10,"members":[]},"rendererType":{"__symbol":11,"members":[]},"componentFactory":{"__symbol":12,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowComplianceComponent","filePath":"./workflow-compliance.component"},{"__symbol":1,"name":"Input","filePath":"@angular/core"},{"__symbol":2,"name":"Output","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":5,"name":"ResponsibilityService","filePath":"../workflow-services/responsibility.service"},{"__symbol":6,"name":"FrequencyService","filePath":"../sharedComponents/frequency/frequency.service"},{"__symbol":7,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":8,"name":"SnackBarService","filePath":"../ui-kit/snack-bar/snack-bar.service"},{"__symbol":9,"name":"ProgramsService","filePath":"../workflow-services/programs.service"},{"__symbol":10,"name":"View_WorkflowComplianceComponent_0","filePath":"./workflow-compliance.component.ngfactory"},{"__symbol":11,"name":"RenderType_WorkflowComplianceComponent","filePath":"./workflow-compliance.component.ngfactory"},{"__symbol":12,"name":"WorkflowComplianceComponentNgFactory","filePath":"./workflow-compliance.component.ngfactory"}]}
|
|
1
|
+
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"responsibilityId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"frameworkDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"isEntrust":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"closeOnEsc":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["closeOnEsc"]}]}],"orgDetails":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"resetForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"checkpointCountUpdated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"rcSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"openedFrom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"selectedRC":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"setSelectedProgram":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["selectedProgram"]}]}],"onRemovingCheckpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"isAssessmentDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"assigneeTypeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"onReviewerTypeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"whatInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["what"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":4,"members":[]},{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]},{"__symbol":4,"members":[]},{"__symbol":9,"members":[]}]}],"ngOnInit":[{"__symbolic":"method"}],"activateSelector":[{"__symbolic":"method"}],"whatChanged":[{"__symbolic":"method"}],"activeDeselector":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"getRCList":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getOrganizationDetails":[{"__symbolic":"method"}],"getCategoryList":[{"__symbolic":"method"}],"filterListsAccordingToProgram":[{"__symbolic":"method"}],"getProgramDetails":[{"__symbolic":"method"}],"getListsAccordingToProgram":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getAssigneesList":[{"__symbolic":"method"}],"getPeopleListAgainstPID":[{"__symbolic":"method"}],"getGroupsList":[{"__symbolic":"method"}],"getEditResponsibilityDetails":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"returnIds":[{"__symbolic":"method"}],"populateOverseerData":[{"__symbolic":"method"}],"populateReviewerData":[{"__symbolic":"method"}],"populateAssigneeData":[{"__symbolic":"method"}],"getGroupsUserEmployeesId":[{"__symbolic":"method"}],"setReviewerPayload":[{"__symbolic":"method"}],"checkWhetherAllListsLoaded":[{"__symbolic":"method"}],"saveSelectedList":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"saveGroupAssigneeData":[{"__symbolic":"method"}],"saveGroupReviewerData":[{"__symbolic":"method"}],"saveOverseerData":[{"__symbolic":"method"}],"entrustFramework":[{"__symbolic":"method"}],"assignFromFramework":[{"__symbolic":"method"}],"assignUserMemberId":[{"__symbolic":"method"}],"refreshAllLists":[{"__symbolic":"method"}],"refreshListsWhileProgramSelected":[{"__symbolic":"method"}],"submitResponsibility":[{"__symbolic":"method"}],"validateResponsibility":[{"__symbolic":"method"}],"entrustResponsibility":[{"__symbolic":"method"}],"uniqueIdUserGroups":[{"__symbolic":"method"}],"combineUserAndUserGroupMembers":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"action":[{"__symbolic":"method"}],"viewResponsibilities":[{"__symbolic":"method"}],"closeSmiley":[{"__symbolic":"method"}],"frequencyDataPopulation":[{"__symbolic":"method"}],"frequencyPopulation":[{"__symbolic":"method"}],"frequencyData":[{"__symbolic":"method"}],"checkBlank":[{"__symbolic":"method"}],"getFrequencyPlaceholder":[{"__symbolic":"method"}],"getOnCompletionOf":[{"__symbolic":"method"}],"getDailyPlaceholder":[{"__symbolic":"method"}],"getWeeklyPlaceholder":[{"__symbolic":"method"}],"getMonthlyPlaceholder":[{"__symbolic":"method"}],"getQuarterlyPlaceholder":[{"__symbolic":"method"}],"getBiannualPlaceholder":[{"__symbolic":"method"}],"getYearlyPlaceholder":[{"__symbolic":"method"}],"getRandomPlaceholder":[{"__symbolic":"method"}],"onEditWhat":[{"__symbolic":"method"}],"getEditMoreOptions":[{"__symbolic":"method"}],"testFunction":[{"__symbolic":"method"}],"reviewerTypeChange":[{"__symbolic":"method"}],"selectedSampleData":[{"__symbolic":"method"}],"populateAssuranceList":[{"__symbolic":"method"}],"checkInputValue":[{"__symbolic":"method"}],"switchEnable":[{"__symbolic":"method"}],"onAssessmentSelect":[{"__symbolic":"method"}],"getAssessmentDetails":[{"__symbolic":"method"}],"onRemoveCheckpoints":[{"__symbolic":"method"}],"removeCheckpoint":[{"__symbolic":"method"}],"postAssessment":[{"__symbolic":"method"}],"setIsUploaded":[{"__symbolic":"method"}],"checkDefaultProgramOnRemove":[{"__symbolic":"method"}],"getUniqueIds":[{"__symbolic":"method"}],"openAssigneeChangeConfirmation":[{"__symbolic":"method"}],"onReviewerWorkflowChange":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":6,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":9,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-compliance","exportAs":null,"inputs":{"mode":"mode","responsibilityId":"responsibilityId","frameworkDetails":"frameworkDetails","isEntrust":"isEntrust","feature":"feature","closeOnEsc":"closeOnEsc","orgDetails":"orgDetails","openedFrom":"openedFrom","selectedRC":"selectedRC","setSelectedProgram":"selectedProgram"},"outputs":{"pickerChanged":"pickerChanged","populateOption":"populateOption","hideElementsFromMoreOptions":"hideElementsFromMoreOptions","closeWorkflow":"closeWorkflow","resetForm":"resetForm","disconnectRefresh":"disconnectRefresh","checkpointCountUpdated":"checkpointCountUpdated","rcSelected":"rcSelected","onRemovingCheckpoint":"onRemovingCheckpoint","isAssessmentDisabled":"isAssessmentDisabled","assigneeTypeChange":"assigneeTypeChange","onReviewerTypeChange":"onReviewerTypeChange"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"what"}],"first":true,"descendants":true,"propertyName":"whatInput","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":10,"members":[]},"rendererType":{"__symbol":11,"members":[]},"componentFactory":{"__symbol":12,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowComplianceComponent","filePath":"./workflow-compliance.component"},{"__symbol":1,"name":"Input","filePath":"@angular/core"},{"__symbol":2,"name":"Output","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":5,"name":"ResponsibilityService","filePath":"../workflow-services/responsibility.service"},{"__symbol":6,"name":"FrequencyService","filePath":"../sharedComponents/frequency/frequency.service"},{"__symbol":7,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":8,"name":"SnackBarService","filePath":"../ui-kit/snack-bar/snack-bar.service"},{"__symbol":9,"name":"ProgramsService","filePath":"../workflow-services/programs.service"},{"__symbol":10,"name":"View_WorkflowComplianceComponent_0","filePath":"./workflow-compliance.component.ngfactory"},{"__symbol":11,"name":"RenderType_WorkflowComplianceComponent","filePath":"./workflow-compliance.component.ngfactory"},{"__symbol":12,"name":"WorkflowComplianceComponentNgFactory","filePath":"./workflow-compliance.component.ngfactory"}]}
|
|
@@ -270,6 +270,7 @@ export class WorkflowEngineContainerComponent {
|
|
|
270
270
|
case 'assigneeTypeChange':
|
|
271
271
|
this.compliance.responsibilityForm.assignees.whoCanComplete = 'ALL';
|
|
272
272
|
this.compliance.responsibilityForm.assignees.list = this.compliance.setList(this.compliance.assigneesList, this.compliance.originalAssignee, 'employee_id');
|
|
273
|
+
this.compliance.responsibilityForm.assigneeGroups.list = [];
|
|
273
274
|
break;
|
|
274
275
|
case 'sequential':
|
|
275
276
|
this.compliance['responsibilityForm']['reviewers']['sequentialWorkflow'] = true;
|
|
@@ -510,4 +511,4 @@ WorkflowEngineContainerComponent.propDecorators = {
|
|
|
510
511
|
onKeydownHandler: [{ type: HostListener, args: ['document:keydown.escape', ['$event'],] }],
|
|
511
512
|
sizeChange: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
|
|
512
513
|
};
|
|
513
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVB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LEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG4gIEBJbnB1dCgpIGNvbmZpZyAhOiBJc3N1ZUNvbmZpZ3VyYXRpb25cclxuICBASW5wdXQoKSBjb252ZXJ0RmlsZURhdGEgPSB7fVxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnkgPSAnJ1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZFByb2dyYW06IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgY2FuRnJhbWV3b3JrQ2hhbmdlOiBib29sZWFuID0gdHJ1ZTsgLy8gaWYgZnJhbWV3b3JrIGNhbiBFZGl0ZWQgb3Igbm90OyBGb3IgQ3JlYXRlIGEgcHJvZ3JhbVxyXG4gIEBJbnB1dCgpIC8qICAqL1xyXG4gIC8qICAqL1xyXG4gIEBJbnB1dCgpIGFkZFRvUHJvZ3JhbURldGFpbHM6IHtcclxuICAgIF9pZDogc3RyaW5nO1xyXG4gICAgZnJhbWV3b3JrX25hbWU6IHN0cmluZztcclxuICAgIGlkPzogbnVtYmVyO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICB9ID0ge1xyXG4gICAgX2lkOiAnJyxcclxuICAgIGZyYW1ld29ya19uYW1lOiAnJyxcclxuICAgIGlkOiAwLFxyXG4gICAgdHlwZTogJycsXHJcbiAgICBkZXNjcmlwdGlvbjogJydcclxuICB9XHJcbiAgb3JnRGV0YWlsczogYW55O1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICB3b3JrZmxvd0xpc3QgPSBmYWxzZTtcclxuICBzaG93TW9yZU9wdGlvbiA9IHRydWU7XHJcbiAgaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgZGlzYWJsZVdvcmtmbG93Q2hhbmdlITogYm9vbGVhbjtcclxuICBjaGVja3BvaW50Q291bnQ6IG51bWJlciA9IDA7XHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGU6YW55ID0gJyc7XHJcbiAgQFZpZXdDaGlsZCgncmlzaycsIHsgc3RhdGljOiBmYWxzZSB9KSByaXNrQ29tcG9uZW50ITogV29ya2Zsb3dSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmlzaycsIHsgc3RhdGljOiBmYWxzZSB9KSByaXNrQnVsa1VwbG9hZCE6IEFkZE11bHRpcGxlUmlza0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdtdWx0aXBsZVJlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZCE6IEFkZE11bHRpcGxlUmlza0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdyZXNwb25zaWJpbGl0eScsIHsgc3RhdGljOiBmYWxzZSB9KSBjb21wbGlhbmNlITogV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ21vcmVPcHRpb24nLCB7IHN0YXRpYzogZmFsc2UgfSkgbW9yZU9wdGlvbiE6IE1vcmVPcHRpb25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25Sb3cnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHJvcGRvd25Sb3chOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvbGljeScpIHBvbGljeSE6IFdvcmtmbG93UG9saWN5Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2xvZ0FuSXNzdWUnKSBsb2dJc3N1ZUNvbXBvbmVudCE6IExvZ0FuSXNzdWVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnYXNzZXNzbWVudCcpIHdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCE6IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdpbXBvcnRBc3Nlc3NtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGltcG9ydEFuQXNzZXNzbWVudCE6IEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdwcm9ncmFtJywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb2dyYW0gITogV29ya2Zsb3dQcm9ncmFtQ29tcG9uZW50O1xyXG5cclxuICBkcm9wZG93bkxlZnQhOiBhbnk7XHJcbiAgZHJvcGRvd25Ub3AhOiBhbnk7XHJcbiAgZHJvcGRvd25XaWR0aCE6IGFueTtcclxuICBjbG9zZU9uRXNjOiBib29sZWFuID0gZmFsc2U7XHJcbiAvLyBmZWF0dXJlIGZsYWdcclxuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKFt0aGlzLnJpc2tDb21wb25lbnQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmNvbXBsaWFuY2U/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQ/LnNob3dTbWlsZXldLmluY2x1ZGVzKHRydWUpIHx8IHRoaXMucHJvZ3JhbT8uYWN0aXZlTGlzdCApIHtcclxuICAgICAgLy9EbyBOb3RoaW5nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlV29ya2Zsb3dFbmdpbmUoKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGN1cnJlbnRXb3JrZmxvdyAhOiBhbnk7XHJcbiAgd29ya2Zsb3dUeXBlTGlzdDogYW55ID0gW1xyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBSZXNwb25zaWJpbGl0eScsIGNvZGU6ICdDQVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgTXVsdGlwbGUgUmVzcG9uc2liaWxpdGllcycsIGNvZGU6ICdDTVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ01VTFRJUExFX1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBSaXNrJywgY29kZTogJ0FBUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQWRkIE11bHRpcGxlIFJpc2tzJywgY29kZTogJ0FNUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnTVVMVElQTEVfUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgUG9saWN5JywgY29kZTogJ0NBUCcsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUE9MSUNZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBTdXJ2ZXknLCBjb2RlOiAnQ0FTJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdTVVJWRVknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIEZvcm0nLCBjb2RlOiAnQ0FGJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdGT1JNJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdMb2cgYW4gSXNzdWUnLCBjb2RlOiAnTEFJJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdJU1NVRScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGFuIEFzc2Vzc21lbnQnLCBjb2RlOiAnQUFBJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdBU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdJbXBvcnQgYW4gQXNzZXNzbWVudCcsIGNvZGU6ICdJQUEnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0lNUE9SVF9BU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBQcm9ncmFtJywgY29kZTogJ0NBUFInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1BST0dSQU0nIH1cclxuICBdO1xyXG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbkxpc3QgPSBbXHJcbiAgICAnT2JqZWN0aXZlJyxcclxuICAgICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENhdGVnb3J5J1xyXG4gIF07XHJcbiAgY29uZmlybWF0aW9uQWxlcnRDb25maWc6IENvbmZpcm1hdGlvbkFsZXJ0ID0geyBpc1Zpc2libGU6IGZhbHNlIH07XHJcbiAgY2xvc2VXb3JrZmxvd0VuZ2luZShldnQ/OiBhbnkpIHtcclxuICAgIGlmIChldnQ/LmNvbmZpcm0gPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KGV2dCA/IGV2dC5ldnQgOiBldnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZUNvbmZpcm0oZXZ0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlybShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiAnSWYgeW91IG5hdmlnYXRlIGF3YXksIGFueSB1bnNhdmVkIGNoYW5nZXMgd2lsbCBiZSBsb3N0LicsIGFjdGlvbjogJ1dPUktGTE9XX0NMT1NFJywgZGF0YTogZXZ0IH07XHJcbiAgfVxyXG4gIGV4ZWN1dGVDbG9zZShldnQ6IGFueSkge1xyXG4gICAgaWYgKGV2dC5hY3Rpb24gPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KClcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldE5ldHdvcmtMaXN0bmVyKCk7XHJcbiAgICB0aGlzLnNldFdvcmtmbG93KHRoaXMud29ya2Zsb3dUeXBlLCB0aGlzLndvcmtmbG93VHlwZUxpc3QpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCA1MDApO1xyXG4gICAgdGhpcy5zZXRXb3JrZmxvdyh0aGlzLndvcmtmbG93VHlwZSwgdGhpcy53b3JrZmxvd1R5cGVMaXN0KTtcclxuICAgIHRoaXMuZGVjaWRlVmlld01vcmVPcHRpb24oKTtcclxuICAgIHRoaXMuZmV0Y2hPcmdhbml6YXRpb25EZXRhaWxzKCk7XHJcbiAgICBjb25zb2xlLmxvZyhcImFkZFRvUHJvZ3JhbURldGFpbHMgPT09PlwiLCB0aGlzLmFkZFRvUHJvZ3JhbURldGFpbHMpXHJcbiAgICB0aGlzLnByb2dyYW1TaW1wbGlmeUZsYWcgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpO1xyXG4gIH1cclxuXHJcbiAgc2V0TmV0d29ya0xpc3RuZXIoKSB7XHJcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdDb25uZWN0aW9uIGxvc3QhPGJyPkNoZWNrIHlvdXIgbmV0d29yayBjb25uZWN0aXZpdHkuJywgJ2FsZXJ0JylcclxuICAgIH0pO1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdZb3VcXCdyZSBiYWNrIG9ubGluZSEnLCAnc3VjY2VzcycpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd1R5cGVMaXN0ID0gdGhpcy53b3JrZmxvd1R5cGVMaXN0LmZpbHRlcigod29ya2Zsb3c6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd2VkV29ya2Zsb3dzLmluY2x1ZGVzKHdvcmtmbG93LnBlcm1pc3Npb25JZGVudGlmaWVyKSkge1xyXG4gICAgICAgIHJldHVybiB3b3JrZmxvdztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5vcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnKSB7XHJcbiAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVdvcmtmbG93Q2hhbmdlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlY2lkZVZpZXdNb3JlT3B0aW9uKHR5cGU/OiBib29sZWFuKSB7XHJcbiAgICBpZih0eXBlKXtcclxuICAgICAgdGhpcy5jbG9zZU9uRXNjID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlID09PSAnQ01SJyB8fCB0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSA9PT0gJ0FNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUgPT09ICdBQUEnIHx8IHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlID09PSAnSUFBJykpIHtcclxuICAgICAgdGhpcy5zaG93TW9yZU9wdGlvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodHlwZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0eXBlID09PSB0cnVlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZTsgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGUgPT09IGZhbHNlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSB0cnVlOyB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlOyB9XHJcbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgIGNhc2UgJ0FBUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQ29tcG9uZW50LnN1Ym1pdFJpc2soKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTEFJJzpcclxuICAgICAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50LmFkZElzc3VlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUic6XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnN1Ym1pdFJlc3BvbnNpYmlsaXR5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUCc6XHJcbiAgICAgICAgdGhpcy5wb2xpY3kuc3VibWl0UG9saWN5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0FBQSc6XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd0Fzc2Vzc21lbnRDb21wb25lbnQuc3VibWl0QXNzZXNzbWVudCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVBSJzp7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtLnNhdmVQcm9ncmFtKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2FzZSAnSUFBJzpcclxuICAgICAgLy8gICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC5zdWJtaXRBc3Nlc3NtZW50KCk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdFdvcmtmbG93KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSAhdGhpcy53b3JrZmxvd0xpc3Q7XHJcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMuZHJvcGRvd25MZWZ0ID0gZHJvcGRvd24ubGVmdDtcclxuICAgIHRoaXMuZHJvcGRvd25Ub3AgPSBkcm9wZG93bi50b3AgKyBkcm9wZG93bi5oZWlnaHQ7XHJcbiAgICB0aGlzLmRyb3Bkb3duV2lkdGggPSBkcm9wZG93bi53aWR0aDtcclxuICB9XHJcbiAgY2xvc2VXb3JrZmxvd0xpc3QoKSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBzaXplQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNoYW5nZVdvcmtmbG93KGV2dDogYW55LCBzZWxlY3RlZFdvcmtmbG93OiBhbnkpIHtcclxuICAgIGlmIChzZWxlY3RlZFdvcmtmbG93Py5jb2RlID09PSB0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkgeyByZXR1cm47IH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ0lmIHlvdSBjaGFuZ2UgdGhlIHdvcmtmbG93LCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0hBTkdFJywgZGF0YTogc2VsZWN0ZWRXb3JrZmxvdyB9O1xyXG4gIH1cclxuXHJcbiAgY29uZmlybVdvcmtmbG93Q2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImV2ZW50ID09PT09PlwiLCBldnQpXHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuICAgICAgdGhpcy5jbG9zZU9uRXNjID0gdHJ1ZTtcclxuICAgICAgc3dpdGNoIChldnQucGF5bG9hZC5hY3Rpb24pIHtcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DSEFOR0UnOlxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50V29ya2Zsb3cgPSBldnQ/LnBheWxvYWQ/LmRhdGEgPz8gbnVsbDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb3JlT3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLnJlc2V0QWxsKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRlY2lkZVZpZXdNb3JlT3B0aW9uKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnRURJVF9SSVNLJzpcclxuICAgICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5jcmVhdGVSaXNrKHRoaXMucmlza0NvbXBvbmVudC5yaXNrRm9ybSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DTE9TRSc6XHJcbiAgICAgICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQ/LnBheWxvYWQ/LmRhdGEpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24/LmNvZGUgPT09ICdBU1NFU1NNRU5UJyB8fCBvcHRpb24/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmVDaGVja3BvaW50KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnUk9MRSc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyYW0ucmVtb3ZlKGV2dC5wYXlsb2FkLmRhdGEsICdST0xFJylcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbmV3LWNoZWNrcG9pbnRzJzpcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0FTU0VTU01FTlQnICYmICFldnQucGF5bG9hZC5pc0RhdGFSZW1vdmVkKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJyAmJiAhZXZ0LnBheWxvYWQuaXNEYXRhUmVtb3ZlZCkge1xyXG4gICAgICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZihldnQucGF5bG9hZC5pc0NoZWNrcG9pbnRDaGVja2VkICYmIG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlbW92ZSgnbmV3LWNoZWNrcG9pbnRzJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYXNzaWduZWVUeXBlQ2hhbmdlJzogdGhpcy5jb21wbGlhbmNlLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZXMud2hvQ2FuQ29tcGxldGUgPSAnQUxMJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QgPSB0aGlzLmNvbXBsaWFuY2Uuc2V0TGlzdCh0aGlzLmNvbXBsaWFuY2UuYXNzaWduZWVzTGlzdCwgdGhpcy5jb21wbGlhbmNlLm9yaWdpbmFsQXNzaWduZWUsICdlbXBsb3llZV9pZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2VxdWVudGlhbCc6IHRoaXMuY29tcGxpYW5jZVsncmVzcG9uc2liaWxpdHlGb3JtJ11bJ3Jldmlld2VycyddWydzZXF1ZW50aWFsV29ya2Zsb3cnXSA9IHRydWU7IGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2FueVJldmlld2VyJzogdGhpcy5jb21wbGlhbmNlWydyZXNwb25zaWJpbGl0eUZvcm0nXVsncmV2aWV3ZXJzJ11bJ3NlcXVlbnRpYWxXb3JrZmxvdyddID0gZmFsc2U7IGJyZWFrO1xyXG5cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGV2dC5wYXlsb2FkLmFjdGlvbikge1xyXG5cclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdhc3NpZ25lZVR5cGVDaGFuZ2UnOiAgdGhpcy5jb21wbGlhbmNlLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZXMud2hvQ2FuQ29tcGxldGUgPSAnQU5ZX09ORSc7IGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdzZXF1ZW50aWFsJzogdGhpcy5jb21wbGlhbmNlWydyZXNwb25zaWJpbGl0eUZvcm0nXVsncmV2aWV3ZXJzJ11bJ3NlcXVlbnRpYWxXb3JrZmxvdyddID0gZmFsc2U7IGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2FueVJldmlld2VyJzogdGhpcy5jb21wbGlhbmNlWydyZXNwb25zaWJpbGl0eUZvcm0nXVsncmV2aWV3ZXJzJ11bJ3NlcXVlbnRpYWxXb3JrZmxvdyddID0gdHJ1ZTsgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogZmFsc2UsIG1lc3NhZ2U6ICcnLCBhY3Rpb246ICcnLCBkYXRhOiBudWxsIH07XHJcbiAgICByZXR1cm4gZXZ0O1xyXG4gIH1cclxuXHJcbiAgc2V0V29ya2Zsb3cod29ya0Zsb3dDb2RlOiBhbnksIHdvcmtGbG93TGlzdDogYW55KSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFdvcmtmbG93ID0gd29ya0Zsb3dMaXN0LmZpbmQoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudD8uY29kZSA9PT0gd29ya0Zsb3dDb2RlKTtcclxuICAgIHNlbGVjdGVkV29ya2Zsb3cgPyB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IHNlbGVjdGVkV29ya2Zsb3cgOiB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IG51bGw7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRXb3JrZmxvdztcclxuICB9XHJcblxyXG4gIGFkZE1vcmVJbmZvKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICBpZiAoZXZlbnQ/LmNvZGUgPT09IFwiQ0hFQ0tQT0lOVFNcIikge1xyXG4gICAgICAgICAgdGhpcy5vblJlbW92aW5nQ2hlY2twb2ludCgnY2hlY2twb2ludCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50Py5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJyl7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8uY29kZSA9PT0gJ0FTU0VTU01FTlQnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZCA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIGlmKCBldmVudC5jaGVja3BvaW50X25ldyAmJiB0aGlzLmNoZWNrcG9pbnRDb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCduZXctY2hlY2twb2ludHMnLCB0cnVlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IENIRUNLUE9JTlRfSU5ERVggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgICAgdGhpcy5jb21wbGlhbmNlLm1vcmVPcHRpb25zLkNIRUNLUE9JTlRTX05FVyA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICAgICAgICAgIGlmKGV2ZW50LmNoZWNrcG9pbnRfbmV3KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXNDaGVja2VkID0gZXZlbnQuY2hlY2tlZCA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgICAgICAgICAgZXZlbnQuY2hlY2tlZCA9IGlzQ2hlY2tlZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbQ0hFQ0tQT0lOVF9JTkRFWF0gPSBldmVudDtcclxuICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbaW5kZXhdLmlzRGlzYWJsZWQgPSBldmVudC5jaGVja2VkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50Py5jb2RlID09PSAnQVNTRVNTTUVOVCcpe1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZU1vcmVPcHRpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbikge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb24ucG9wdWxhdGUoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbj8uaGlkZUVsZW1lbnRzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHNob3dDb25maXJtYXRpb25Qb3B1cChjb25maWc6IENvbmZpcm1hdGlvbkFsZXJ0KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0gY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgYnVsa1VwbG9hZEJyb3dzZShldmVudDogYW55KSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ0FNUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDTVInOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkLnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0lBQSc6XHJcbiAgICAgICAgdGhpcy5pbXBvcnRBbkFzc2Vzc21lbnQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuXHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG9uUmVzZXRGb3JtKCkge1xyXG4gICAgdGhpcy5tb2RlID0gJ0NSRUFURSc7XHJcbiAgICB0aGlzLmVudHJ1c3RCdXR0b25OYW1lID0gJ0VudHJ1c3QnO1xyXG4gIH1cclxuICBzaGlmdFRvRWRpdE1vZGUoKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnRURJVCdcclxuICB9XHJcbiAgc2Nyb2xsRm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmRyb3Bkb3duUm93Py5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8udG9wIDwgMzgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93blJvdz8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0Py5hZGQoJ2hpZGUnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Sb3c/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdD8ucmVtb3ZlKCdoaWRlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBldmVudCB3aGljaCBtb3JlIG9wdGlvbnMgd2UgYXJlIHJlbW92aW5nLlxyXG4gICAqIEBwYXJhbSBpc0NoZWNrcG9pbnRDaGVja2VkICBpcyB0cnVlIGlmIHZhbHVlIGNoZWNrcG9pbnRzIGlzIHJlbW92ZWQgYnkgY2xpY2tpbmcgb24gbW9yZSBvcHRpb25zXHJcbiAgICovXHJcbiAgb25SZW1vdmluZ0NoZWNrcG9pbnQoZXZlbnQ6IHN0cmluZywgaXNDaGVja3BvaW50Q2hlY2tlZD86IGJvb2xlYW4sIGlzRGF0YVJlbW92ZWQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gJyc7XHJcbiAgICBpZihldmVudCA9PT0gJ25ldy1jaGVja3BvaW50cycpIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaG9vc2UgdG8gcmVtb3ZlIHRoZXNlIENoZWNrcG9pbnRzLCB0aGV5IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2Fubm90IGJlIHJlc3RvcmVkLiBIb3dldmVyLCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGNyZWF0ZSBuZXcgQ2hlY2twb2ludHMgb3IgbGluayBhbiBBc3Nlc3NtZW50LidcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1zZyA9ICdJZiB5b3UgY2hvb3NlIHRvIHJlbW92ZSB0aGVzZSBjaGVja3BvaW50cywgdGhleSB3aWxsIGJlIGRlbGV0ZWQgYW5kIGNhbm5vdCBiZSByZXN0b3JlZC4nXHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiBldmVudCwgZGF0YTogeyB0eXBlOiAncmVzcG9uc2liaWxpdHlDaGVja3BvaW50JyB9ICwgaXNDaGVja3BvaW50Q2hlY2tlZDogKGlzQ2hlY2twb2ludENoZWNrZWQgPz8gZmFsc2UpLCBpc0RhdGFSZW1vdmVkOiAoaXNEYXRhUmVtb3ZlZCA/PyBmYWxzZSl9O1xyXG4gIH1cclxuXHJcbiAgb25SZW1vdmluZ1JvbGUoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbGV0IG1zZyA9ICcnO1xyXG4gICAgaWYoZXZlbnQpIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaGFuZ2UgdGhlIHJvbGVzLCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJ1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiBtc2csIGFjdGlvbjogJ1JPTEUnLCBkYXRhOiBldmVudH1cclxuICB9XHJcblxyXG4gIGlzQXNzZXNzbWVudERpc2FibGVkKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgIGlmIChvcHRpb24/LmNvZGUgPT09ICdBU1NFU1NNRU5UJyB8fCBvcHRpb24/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVNb3JlT3B0aW9ucyh3b3JrZmxvd0NvZGU6YW55LGRpc2FibGVkRWxlbWVudHNDb2RlOmFueSl7XHJcbiAgICBpZihPYmplY3Qua2V5cyh0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0KS5pbmNsdWRlcyh3b3JrZmxvd0NvZGUpKXtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdFt3b3JrZmxvd0NvZGVdLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkRWxlbWVudHNDb2RlLmluY2x1ZGVzKG9wdGlvbj8uY29kZSkpIHtcclxuICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGVja3BvaW50U2VsZWN0aW9uKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY2hlY2twb2ludENvdW50ID0gZXZlbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgb25SY1NlbGVjdGVkKGlzUmNTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc1JDU2VsZWN0ZWQgPSBpc1JjU2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBmZXRjaE9yZ2FuaXphdGlvbkRldGFpbHMoKXtcclxuICAgIHRoaXMuYXV0aC5nZXRPcmdhbml6YXRpb25EZXRhaWxzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICB0aGlzLm9yZ0RldGFpbHMgPSByZXM7XHJcbiAgICAgICAgaWYocmVzPy5idXNpbmVzc19jeWNsZXNfYXJyICYmIHJlcz8uYnVzaW5lc3NfY3ljbGVzX2Fycj8ubGVuZ3RoKXtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gcmVzPy5idXNpbmVzc19jeWNsZXNfYXJyLmZpbHRlcigoZWxlOmFueSkgPT4gZWxlPy5zZWxlY3RlZCk7XHJcbiAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHNlbGVjdGVkWzBdLmJ1c2luZXNzX2N5Y2xlPy5zcGxpdCgnLScpO1xyXG4gICAgICAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gYCR7c3BsaXR0ZWRbMF0/LnNsaWNlKDIpfSAtICR7c3BsaXR0ZWRbMV0/LnNsaWNlKDQpfWBcclxuICAgICAgICB9fVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGFzc2lnbmVlVHlwZUNoYW5nZSgpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ1RoaXMgYWN0aW9uIHdpbGwgcmVzZXQgdGhlIGNoYW5nZXMgYW5kIGFzc2lnbiB0aGUgcmVzcG9uc2liaWxpdHkgYmFjayB0byB0aGUgb3JpZ2luYWwgYXNzaWduZWUuJywgYWN0aW9uOiAnYXNzaWduZWVUeXBlQ2hhbmdlJywgZGF0YToge30gLCBpc1JlZEFsZXJ0OiB0cnVlfTtcclxuICB9XHJcblxyXG4gIC8vIGV2ZW50ID0+ICdzZXF1ZW50aWFsJyB8fCAnYW55UmV2aWV3ZXInXHJcbiAgb25SZXZpZXdlckNoYW5nZShldmVudDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21tb25UZXh0OiBzdHJpbmcgPSAnT25jZSBjb25maXJtZWQsIHRoZSBuZXcgcmV2aWV3IHdvcmtmbG93IHdpbGwgYmUgYXBwbGljYWJsZSBmb3IgYWxsIGN1cnJlbnQgYW5kIGZ1dHVyZSByZXZpZXcgZHVlIGRhdGVzLidcclxuICAgIGNvbnN0IG1zZyA9IGNvbW1vblRleHQgKyAgKGV2ZW50ID09PSAnYW55UmV2aWV3ZXInID8gYElmIGFueSByZXZpZXdlciBoYWQgY29tcGxldGVkIHRoZSByZXZpZXcsIHRoZSBjdXJyZW50IHJldmlldyBkdWUgZGF0ZSB3aWxsIGJlIGNsb3NlZCBhbmQgdGhlIHJldmlldyBzdGF0dXMgd2lsbCBiZSB1cGRhdGVkIHRvICdDb21wbGV0ZWQnLmA6ICcnKVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiBtc2csIGFjdGlvbjogZXZlbnQsIH07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVB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QUFLOytCQUVMLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkE2SWxELFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG4gIEBJbnB1dCgpIGNvbmZpZyAhOiBJc3N1ZUNvbmZpZ3VyYXRpb25cclxuICBASW5wdXQoKSBjb252ZXJ0RmlsZURhdGEgPSB7fVxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnkgPSAnJ1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZFByb2dyYW06IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgY2FuRnJhbWV3b3JrQ2hhbmdlOiBib29sZWFuID0gdHJ1ZTsgLy8gaWYgZnJhbWV3b3JrIGNhbiBFZGl0ZWQgb3Igbm90OyBGb3IgQ3JlYXRlIGEgcHJvZ3JhbVxyXG4gIEBJbnB1dCgpIC8qICAqL1xyXG4gIC8qICAqL1xyXG4gIEBJbnB1dCgpIGFkZFRvUHJvZ3JhbURldGFpbHM6IHtcclxuICAgIF9pZDogc3RyaW5nO1xyXG4gICAgZnJhbWV3b3JrX25hbWU6IHN0cmluZztcclxuICAgIGlkPzogbnVtYmVyO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICB9ID0ge1xyXG4gICAgX2lkOiAnJyxcclxuICAgIGZyYW1ld29ya19uYW1lOiAnJyxcclxuICAgIGlkOiAwLFxyXG4gICAgdHlwZTogJycsXHJcbiAgICBkZXNjcmlwdGlvbjogJydcclxuICB9XHJcbiAgb3JnRGV0YWlsczogYW55O1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICB3b3JrZmxvd0xpc3QgPSBmYWxzZTtcclxuICBzaG93TW9yZU9wdGlvbiA9IHRydWU7XHJcbiAgaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgZGlzYWJsZVdvcmtmbG93Q2hhbmdlITogYm9vbGVhbjtcclxuICBjaGVja3BvaW50Q291bnQ6IG51bWJlciA9IDA7XHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGU6YW55ID0gJyc7XHJcbiAgQFZpZXdDaGlsZCgncmlzaycsIHsgc3RhdGljOiBmYWxzZSB9KSByaXNrQ29tcG9uZW50ITogV29ya2Zsb3dSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmlzaycsIHsgc3RhdGljOiBmYWxzZSB9KSByaXNrQnVsa1VwbG9hZCE6IEFkZE11bHRpcGxlUmlza0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdtdWx0aXBsZVJlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZCE6IEFkZE11bHRpcGxlUmlza0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdyZXNwb25zaWJpbGl0eScsIHsgc3RhdGljOiBmYWxzZSB9KSBjb21wbGlhbmNlITogV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ21vcmVPcHRpb24nLCB7IHN0YXRpYzogZmFsc2UgfSkgbW9yZU9wdGlvbiE6IE1vcmVPcHRpb25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25Sb3cnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHJvcGRvd25Sb3chOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvbGljeScpIHBvbGljeSE6IFdvcmtmbG93UG9saWN5Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2xvZ0FuSXNzdWUnKSBsb2dJc3N1ZUNvbXBvbmVudCE6IExvZ0FuSXNzdWVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnYXNzZXNzbWVudCcpIHdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCE6IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdpbXBvcnRBc3Nlc3NtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGltcG9ydEFuQXNzZXNzbWVudCE6IEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdwcm9ncmFtJywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb2dyYW0gITogV29ya2Zsb3dQcm9ncmFtQ29tcG9uZW50O1xyXG5cclxuICBkcm9wZG93bkxlZnQhOiBhbnk7XHJcbiAgZHJvcGRvd25Ub3AhOiBhbnk7XHJcbiAgZHJvcGRvd25XaWR0aCE6IGFueTtcclxuICBjbG9zZU9uRXNjOiBib29sZWFuID0gZmFsc2U7XHJcbiAvLyBmZWF0dXJlIGZsYWdcclxuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKFt0aGlzLnJpc2tDb21wb25lbnQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmNvbXBsaWFuY2U/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQ/LnNob3dTbWlsZXldLmluY2x1ZGVzKHRydWUpIHx8IHRoaXMucHJvZ3JhbT8uYWN0aXZlTGlzdCApIHtcclxuICAgICAgLy9EbyBOb3RoaW5nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlV29ya2Zsb3dFbmdpbmUoKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGN1cnJlbnRXb3JrZmxvdyAhOiBhbnk7XHJcbiAgd29ya2Zsb3dUeXBlTGlzdDogYW55ID0gW1xyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBSZXNwb25zaWJpbGl0eScsIGNvZGU6ICdDQVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgTXVsdGlwbGUgUmVzcG9uc2liaWxpdGllcycsIGNvZGU6ICdDTVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ01VTFRJUExFX1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBSaXNrJywgY29kZTogJ0FBUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQWRkIE11bHRpcGxlIFJpc2tzJywgY29kZTogJ0FNUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnTVVMVElQTEVfUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgUG9saWN5JywgY29kZTogJ0NBUCcsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUE9MSUNZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBTdXJ2ZXknLCBjb2RlOiAnQ0FTJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdTVVJWRVknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIEZvcm0nLCBjb2RlOiAnQ0FGJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdGT1JNJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdMb2cgYW4gSXNzdWUnLCBjb2RlOiAnTEFJJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdJU1NVRScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGFuIEFzc2Vzc21lbnQnLCBjb2RlOiAnQUFBJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdBU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdJbXBvcnQgYW4gQXNzZXNzbWVudCcsIGNvZGU6ICdJQUEnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0lNUE9SVF9BU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBQcm9ncmFtJywgY29kZTogJ0NBUFInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1BST0dSQU0nIH1cclxuICBdO1xyXG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbkxpc3QgPSBbXHJcbiAgICAnT2JqZWN0aXZlJyxcclxuICAgICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENhdGVnb3J5J1xyXG4gIF07XHJcbiAgY29uZmlybWF0aW9uQWxlcnRDb25maWc6IENvbmZpcm1hdGlvbkFsZXJ0ID0geyBpc1Zpc2libGU6IGZhbHNlIH07XHJcbiAgY2xvc2VXb3JrZmxvd0VuZ2luZShldnQ/OiBhbnkpIHtcclxuICAgIGlmIChldnQ/LmNvbmZpcm0gPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KGV2dCA/IGV2dC5ldnQgOiBldnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZUNvbmZpcm0oZXZ0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlybShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiAnSWYgeW91IG5hdmlnYXRlIGF3YXksIGFueSB1bnNhdmVkIGNoYW5nZXMgd2lsbCBiZSBsb3N0LicsIGFjdGlvbjogJ1dPUktGTE9XX0NMT1NFJywgZGF0YTogZXZ0IH07XHJcbiAgfVxyXG4gIGV4ZWN1dGVDbG9zZShldnQ6IGFueSkge1xyXG4gICAgaWYgKGV2dC5hY3Rpb24gPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KClcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldE5ldHdvcmtMaXN0bmVyKCk7XHJcbiAgICB0aGlzLnNldFdvcmtmbG93KHRoaXMud29ya2Zsb3dUeXBlLCB0aGlzLndvcmtmbG93VHlwZUxpc3QpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCA1MDApO1xyXG4gICAgdGhpcy5zZXRXb3JrZmxvdyh0aGlzLndvcmtmbG93VHlwZSwgdGhpcy53b3JrZmxvd1R5cGVMaXN0KTtcclxuICAgIHRoaXMuZGVjaWRlVmlld01vcmVPcHRpb24oKTtcclxuICAgIHRoaXMuZmV0Y2hPcmdhbml6YXRpb25EZXRhaWxzKCk7XHJcbiAgICBjb25zb2xlLmxvZyhcImFkZFRvUHJvZ3JhbURldGFpbHMgPT09PlwiLCB0aGlzLmFkZFRvUHJvZ3JhbURldGFpbHMpXHJcbiAgICB0aGlzLnByb2dyYW1TaW1wbGlmeUZsYWcgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpO1xyXG4gIH1cclxuXHJcbiAgc2V0TmV0d29ya0xpc3RuZXIoKSB7XHJcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdDb25uZWN0aW9uIGxvc3QhPGJyPkNoZWNrIHlvdXIgbmV0d29yayBjb25uZWN0aXZpdHkuJywgJ2FsZXJ0JylcclxuICAgIH0pO1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdZb3VcXCdyZSBiYWNrIG9ubGluZSEnLCAnc3VjY2VzcycpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd1R5cGVMaXN0ID0gdGhpcy53b3JrZmxvd1R5cGVMaXN0LmZpbHRlcigod29ya2Zsb3c6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd2VkV29ya2Zsb3dzLmluY2x1ZGVzKHdvcmtmbG93LnBlcm1pc3Npb25JZGVudGlmaWVyKSkge1xyXG4gICAgICAgIHJldHVybiB3b3JrZmxvdztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5vcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnKSB7XHJcbiAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVdvcmtmbG93Q2hhbmdlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlY2lkZVZpZXdNb3JlT3B0aW9uKHR5cGU/OiBib29sZWFuKSB7XHJcbiAgICBpZih0eXBlKXtcclxuICAgICAgdGhpcy5jbG9zZU9uRXNjID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlID09PSAnQ01SJyB8fCB0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSA9PT0gJ0FNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUgPT09ICdBQUEnIHx8IHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlID09PSAnSUFBJykpIHtcclxuICAgICAgdGhpcy5zaG93TW9yZU9wdGlvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodHlwZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0eXBlID09PSB0cnVlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZTsgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGUgPT09IGZhbHNlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSB0cnVlOyB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlOyB9XHJcbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgIGNhc2UgJ0FBUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQ29tcG9uZW50LnN1Ym1pdFJpc2soKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTEFJJzpcclxuICAgICAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50LmFkZElzc3VlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUic6XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnN1Ym1pdFJlc3BvbnNpYmlsaXR5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUCc6XHJcbiAgICAgICAgdGhpcy5wb2xpY3kuc3VibWl0UG9saWN5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0FBQSc6XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd0Fzc2Vzc21lbnRDb21wb25lbnQuc3VibWl0QXNzZXNzbWVudCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVBSJzp7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtLnNhdmVQcm9ncmFtKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2FzZSAnSUFBJzpcclxuICAgICAgLy8gICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC5zdWJtaXRBc3Nlc3NtZW50KCk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdFdvcmtmbG93KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSAhdGhpcy53b3JrZmxvd0xpc3Q7XHJcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMuZHJvcGRvd25MZWZ0ID0gZHJvcGRvd24ubGVmdDtcclxuICAgIHRoaXMuZHJvcGRvd25Ub3AgPSBkcm9wZG93bi50b3AgKyBkcm9wZG93bi5oZWlnaHQ7XHJcbiAgICB0aGlzLmRyb3Bkb3duV2lkdGggPSBkcm9wZG93bi53aWR0aDtcclxuICB9XHJcbiAgY2xvc2VXb3JrZmxvd0xpc3QoKSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBzaXplQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNoYW5nZVdvcmtmbG93KGV2dDogYW55LCBzZWxlY3RlZFdvcmtmbG93OiBhbnkpIHtcclxuICAgIGlmIChzZWxlY3RlZFdvcmtmbG93Py5jb2RlID09PSB0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkgeyByZXR1cm47IH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ0lmIHlvdSBjaGFuZ2UgdGhlIHdvcmtmbG93LCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0hBTkdFJywgZGF0YTogc2VsZWN0ZWRXb3JrZmxvdyB9O1xyXG4gIH1cclxuXHJcbiAgY29uZmlybVdvcmtmbG93Q2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImV2ZW50ID09PT09PlwiLCBldnQpXHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuICAgICAgdGhpcy5jbG9zZU9uRXNjID0gdHJ1ZTtcclxuICAgICAgc3dpdGNoIChldnQucGF5bG9hZC5hY3Rpb24pIHtcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DSEFOR0UnOlxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50V29ya2Zsb3cgPSBldnQ/LnBheWxvYWQ/LmRhdGEgPz8gbnVsbDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb3JlT3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLnJlc2V0QWxsKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRlY2lkZVZpZXdNb3JlT3B0aW9uKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnRURJVF9SSVNLJzpcclxuICAgICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5jcmVhdGVSaXNrKHRoaXMucmlza0NvbXBvbmVudC5yaXNrRm9ybSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DTE9TRSc6XHJcbiAgICAgICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQ/LnBheWxvYWQ/LmRhdGEpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24/LmNvZGUgPT09ICdBU1NFU1NNRU5UJyB8fCBvcHRpb24/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmVDaGVja3BvaW50KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnUk9MRSc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyYW0ucmVtb3ZlKGV2dC5wYXlsb2FkLmRhdGEsICdST0xFJylcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbmV3LWNoZWNrcG9pbnRzJzpcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0FTU0VTU01FTlQnICYmICFldnQucGF5bG9hZC5pc0RhdGFSZW1vdmVkKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJyAmJiAhZXZ0LnBheWxvYWQuaXNEYXRhUmVtb3ZlZCkge1xyXG4gICAgICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZihldnQucGF5bG9hZC5pc0NoZWNrcG9pbnRDaGVja2VkICYmIG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlbW92ZSgnbmV3LWNoZWNrcG9pbnRzJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYXNzaWduZWVUeXBlQ2hhbmdlJzogdGhpcy5jb21wbGlhbmNlLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZXMud2hvQ2FuQ29tcGxldGUgPSAnQUxMJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QgPSB0aGlzLmNvbXBsaWFuY2Uuc2V0TGlzdCh0aGlzLmNvbXBsaWFuY2UuYXNzaWduZWVzTGlzdCwgdGhpcy5jb21wbGlhbmNlLm9yaWdpbmFsQXNzaWduZWUsICdlbXBsb3llZV9pZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZUdyb3Vwcy5saXN0ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzZXF1ZW50aWFsJzogdGhpcy5jb21wbGlhbmNlWydyZXNwb25zaWJpbGl0eUZvcm0nXVsncmV2aWV3ZXJzJ11bJ3NlcXVlbnRpYWxXb3JrZmxvdyddID0gdHJ1ZTsgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYW55UmV2aWV3ZXInOiB0aGlzLmNvbXBsaWFuY2VbJ3Jlc3BvbnNpYmlsaXR5Rm9ybSddWydyZXZpZXdlcnMnXVsnc2VxdWVudGlhbFdvcmtmbG93J10gPSBmYWxzZTsgYnJlYWs7XHJcblxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAoZXZ0LnBheWxvYWQuYWN0aW9uKSB7XHJcblxyXG4gICAgICAgIGNhc2UgJ1BPTElDWV9QT1JUQUwnOlxyXG4gICAgICAgICAgdGhpcy5wb2xpY3kuY29uZmlybVBvbGljeVBvcnRhbChldnQuYWN0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2Fzc2lnbmVlVHlwZUNoYW5nZSc6ICB0aGlzLmNvbXBsaWFuY2UucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbmVlcy53aG9DYW5Db21wbGV0ZSA9ICdBTllfT05FJzsgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ3NlcXVlbnRpYWwnOiB0aGlzLmNvbXBsaWFuY2VbJ3Jlc3BvbnNpYmlsaXR5Rm9ybSddWydyZXZpZXdlcnMnXVsnc2VxdWVudGlhbFdvcmtmbG93J10gPSBmYWxzZTsgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYW55UmV2aWV3ZXInOiB0aGlzLmNvbXBsaWFuY2VbJ3Jlc3BvbnNpYmlsaXR5Rm9ybSddWydyZXZpZXdlcnMnXVsnc2VxdWVudGlhbFdvcmtmbG93J10gPSB0cnVlOyBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiBmYWxzZSwgbWVzc2FnZTogJycsIGFjdGlvbjogJycsIGRhdGE6IG51bGwgfTtcclxuICAgIHJldHVybiBldnQ7XHJcbiAgfVxyXG5cclxuICBzZXRXb3JrZmxvdyh3b3JrRmxvd0NvZGU6IGFueSwgd29ya0Zsb3dMaXN0OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkV29ya2Zsb3cgPSB3b3JrRmxvd0xpc3QuZmluZCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50Py5jb2RlID09PSB3b3JrRmxvd0NvZGUpO1xyXG4gICAgc2VsZWN0ZWRXb3JrZmxvdyA/IHRoaXMuY3VycmVudFdvcmtmbG93ID0gc2VsZWN0ZWRXb3JrZmxvdyA6IHRoaXMuY3VycmVudFdvcmtmbG93ID0gbnVsbDtcclxuICAgIHJldHVybiBzZWxlY3RlZFdvcmtmbG93O1xyXG4gIH1cclxuXHJcbiAgYWRkTW9yZUluZm8oZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkge1xyXG4gICAgICBjYXNlICdBQVInOlxyXG4gICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xBSSc6XHJcbiAgICAgICAgdGhpcy5sb2dJc3N1ZUNvbXBvbmVudC5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdDQVInOlxyXG4gICAgICAgIGlmIChldmVudD8uY29kZSA9PT0gXCJDSEVDS1BPSU5UU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCdjaGVja3BvaW50Jyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQ/LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKXtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlPy5jb2RlID09PSAnQVNTRVNTTUVOVCcpO1xyXG4gICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbaW5kZXhdLmlzRGlzYWJsZWQgPSBldmVudC5jaGVja2VkID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgaWYoIGV2ZW50LmNoZWNrcG9pbnRfbmV3ICYmIHRoaXMuY2hlY2twb2ludENvdW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMub25SZW1vdmluZ0NoZWNrcG9pbnQoJ25ldy1jaGVja3BvaW50cycsIHRydWUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgQ0hFQ0tQT0lOVF9JTkRFWCA9IHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICAgICAgaWYoZXZlbnQuY2hlY2twb2ludF9uZXcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSBldmVudC5jaGVja2VkID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgICAgICAgICBldmVudC5jaGVja2VkID0gaXNDaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltDSEVDS1BPSU5UX0lOREVYXSA9IGV2ZW50O1xyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQ/LmNvZGUgPT09ICdBU1NFU1NNRU5UJyl7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbaW5kZXhdLmlzRGlzYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbXBsaWFuY2UuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVAnOlxyXG4gICAgICAgIHRoaXMucG9saWN5LmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQUic6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtLmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcHVsYXRlTW9yZU9wdGlvbihldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5tb3JlT3B0aW9uKSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbi5wb3B1bGF0ZShldmVudCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBoaWRlRWxlbWVudHNGcm9tTW9yZU9wdGlvbnMoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uPy5oaWRlRWxlbWVudHMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NvbmZpcm1hdGlvblBvcHVwKGNvbmZpZzogQ29uZmlybWF0aW9uQWxlcnQpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBidWxrVXBsb2FkQnJvd3NlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQpIHtcclxuICAgICAgY2FzZSAnQU1SJzpcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NNUic6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnSUFBJzpcclxuICAgICAgICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG5cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgb25SZXNldEZvcm0oKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnQ1JFQVRFJztcclxuICAgIHRoaXMuZW50cnVzdEJ1dHRvbk5hbWUgPSAnRW50cnVzdCc7XHJcbiAgfVxyXG4gIHNoaWZ0VG9FZGl0TW9kZSgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdFRElUJ1xyXG4gIH1cclxuICBzY3JvbGxGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25Sb3c/Lm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPy50b3AgPCAzOCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duUm93Py5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3Q/LmFkZCgnaGlkZScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93blJvdz8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0Py5yZW1vdmUoJ2hpZGUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGV2ZW50IHdoaWNoIG1vcmUgb3B0aW9ucyB3ZSBhcmUgcmVtb3ZpbmcuXHJcbiAgICogQHBhcmFtIGlzQ2hlY2twb2ludENoZWNrZWQgIGlzIHRydWUgaWYgdmFsdWUgY2hlY2twb2ludHMgaXMgcmVtb3ZlZCBieSBjbGlja2luZyBvbiBtb3JlIG9wdGlvbnNcclxuICAgKi9cclxuICBvblJlbW92aW5nQ2hlY2twb2ludChldmVudDogc3RyaW5nLCBpc0NoZWNrcG9pbnRDaGVja2VkPzogYm9vbGVhbiwgaXNEYXRhUmVtb3ZlZD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIGlmKGV2ZW50ID09PSAnbmV3LWNoZWNrcG9pbnRzJykge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNob29zZSB0byByZW1vdmUgdGhlc2UgQ2hlY2twb2ludHMsIHRoZXkgd2lsbCBiZSBkZWxldGVkIGFuZCBjYW5ub3QgYmUgcmVzdG9yZWQuIEhvd2V2ZXIsIHlvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gY3JlYXRlIG5ldyBDaGVja3BvaW50cyBvciBsaW5rIGFuIEFzc2Vzc21lbnQuJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaG9vc2UgdG8gcmVtb3ZlIHRoZXNlIGNoZWNrcG9pbnRzLCB0aGV5IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2Fubm90IGJlIHJlc3RvcmVkLidcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogbXNnLCBhY3Rpb246IGV2ZW50LCBkYXRhOiB7IHR5cGU6ICdyZXNwb25zaWJpbGl0eUNoZWNrcG9pbnQnIH0gLCBpc0NoZWNrcG9pbnRDaGVja2VkOiAoaXNDaGVja3BvaW50Q2hlY2tlZCA/PyBmYWxzZSksIGlzRGF0YVJlbW92ZWQ6IChpc0RhdGFSZW1vdmVkID8/IGZhbHNlKX07XHJcbiAgfVxyXG5cclxuICBvblJlbW92aW5nUm9sZShldmVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gJyc7XHJcbiAgICBpZihldmVudCkge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNoYW5nZSB0aGUgcm9sZXMsIGFueSB1bnNhdmVkIGNoYW5nZXMgd291bGQgYmUgbG9zdC4nXHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiAnUk9MRScsIGRhdGE6IGV2ZW50fVxyXG4gIH1cclxuXHJcbiAgaXNBc3Nlc3NtZW50RGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgaWYgKG9wdGlvbj8uY29kZSA9PT0gJ0FTU0VTU01FTlQnIHx8IG9wdGlvbj8uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZU1vcmVPcHRpb25zKHdvcmtmbG93Q29kZTphbnksZGlzYWJsZWRFbGVtZW50c0NvZGU6YW55KXtcclxuICAgIGlmKE9iamVjdC5rZXlzKHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QpLmluY2x1ZGVzKHdvcmtmbG93Q29kZSkpe1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0W3dvcmtmbG93Q29kZV0uZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGlzYWJsZWRFbGVtZW50c0NvZGUuaW5jbHVkZXMob3B0aW9uPy5jb2RlKSkge1xyXG4gICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrcG9pbnRTZWxlY3Rpb24oZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jaGVja3BvaW50Q291bnQgPSBldmVudDtcclxuXHJcbiAgfVxyXG5cclxuICBvblJjU2VsZWN0ZWQoaXNSY1NlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUkNTZWxlY3RlZCA9IGlzUmNTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIGZldGNoT3JnYW5pemF0aW9uRGV0YWlscygpe1xyXG4gICAgdGhpcy5hdXRoLmdldE9yZ2FuaXphdGlvbkRldGFpbHMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KT0+e1xyXG4gICAgICAgIHRoaXMub3JnRGV0YWlscyA9IHJlcztcclxuICAgICAgICBpZihyZXM/LmJ1c2luZXNzX2N5Y2xlc19hcnIgJiYgcmVzPy5idXNpbmVzc19jeWNsZXNfYXJyPy5sZW5ndGgpe1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSByZXM/LmJ1c2luZXNzX2N5Y2xlc19hcnIuZmlsdGVyKChlbGU6YW55KSA9PiBlbGU/LnNlbGVjdGVkKTtcclxuICAgICAgICAgIGNvbnN0IHNwbGl0dGVkID0gc2VsZWN0ZWRbMF0uYnVzaW5lc3NfY3ljbGU/LnNwbGl0KCctJyk7XHJcbiAgICAgICAgIHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGUgPSBgJHtzcGxpdHRlZFswXT8uc2xpY2UoMil9IC0gJHtzcGxpdHRlZFsxXT8uc2xpY2UoNCl9YFxyXG4gICAgICAgIH19XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYXNzaWduZWVUeXBlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiAnVGhpcyBhY3Rpb24gd2lsbCByZXNldCB0aGUgY2hhbmdlcyBhbmQgYXNzaWduIHRoZSByZXNwb25zaWJpbGl0eSBiYWNrIHRvIHRoZSBvcmlnaW5hbCBhc3NpZ25lZS4nLCBhY3Rpb246ICdhc3NpZ25lZVR5cGVDaGFuZ2UnLCBkYXRhOiB7fSAsIGlzUmVkQWxlcnQ6IHRydWV9O1xyXG4gIH1cclxuXHJcbiAgLy8gZXZlbnQgPT4gJ3NlcXVlbnRpYWwnIHx8ICdhbnlSZXZpZXdlcidcclxuICBvblJldmlld2VyQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNvbW1vblRleHQ6IHN0cmluZyA9ICdPbmNlIGNvbmZpcm1lZCwgdGhlIG5ldyByZXZpZXcgd29ya2Zsb3cgd2lsbCBiZSBhcHBsaWNhYmxlIGZvciBhbGwgY3VycmVudCBhbmQgZnV0dXJlIHJldmlldyBkdWUgZGF0ZXMuJ1xyXG4gICAgY29uc3QgbXNnID0gY29tbW9uVGV4dCArICAoZXZlbnQgPT09ICdhbnlSZXZpZXdlcicgPyBgSWYgYW55IHJldmlld2VyIGhhZCBjb21wbGV0ZWQgdGhlIHJldmlldywgdGhlIGN1cnJlbnQgcmV2aWV3IGR1ZSBkYXRlIHdpbGwgYmUgY2xvc2VkIGFuZCB0aGUgcmV2aWV3IHN0YXR1cyB3aWxsIGJlIHVwZGF0ZWQgdG8gJ0NvbXBsZXRlZCcuYDogJycpXHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiBldmVudCwgfTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|