vcomply-workflow-engine 2.6.113 → 2.6.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +5306 -7424
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +98 -235
  4. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +2 -3
  5. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngsummary.json +1 -1
  6. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.js +2 -2
  7. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngfactory.js +3 -3
  8. package/esm2015/lib/more-option/more-option.component.js +38 -21
  9. package/esm2015/lib/more-option/more-option.component.ngfactory.js +1 -1
  10. package/esm2015/lib/more-option/more-option.component.ngsummary.json +1 -1
  11. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +1 -1
  12. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +3 -3
  13. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +7 -9
  14. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.js +19 -24
  15. package/esm2015/lib/sharedComponents/frequency/frequency.service.js +2 -12
  16. package/esm2015/lib/sharedComponents/frequency/frequency.service.ngsummary.json +1 -1
  17. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +10 -8
  18. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +5 -10
  19. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +39 -40
  20. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  21. package/esm2015/lib/workflow-engine.module.js +1 -23
  22. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  23. package/esm2015/lib/workflow-interfaces/create-policy-form.js +1 -1
  24. package/esm2015/lib/workflow-policy/workflow-policy.component.js +40 -9
  25. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +159 -107
  26. package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
  27. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
  28. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +2 -4
  29. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +69 -86
  30. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
  31. package/esm2015/lib/workflow-program/workflow-program.component.js +2 -2
  32. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +118 -146
  33. package/esm2015/lib/workflow-risk/workflow-risk.component.js +23 -430
  34. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +117 -294
  35. package/esm2015/lib/workflow-risk/workflow-risk.component.ngsummary.json +1 -1
  36. package/esm2015/lib/workflow-services/add-risk.service.js +3 -12
  37. package/esm2015/lib/workflow-services/add-risk.service.ngsummary.json +1 -1
  38. package/esm2015/lib/workflow-services/auth.service.js +1 -1
  39. package/esm2015/lib/workflow-services/frequency.service.js +3 -3
  40. package/esm2015/lib/workflow-services/responsibility.service.js +2 -2
  41. package/esm2015/vcomply-workflow-engine.js +219 -230
  42. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  43. package/fesm2015/vcomply-workflow-engine.js +23470 -25557
  44. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  45. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -44
  46. package/lib/more-option/more-option.component.d.ts +4 -0
  47. package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -1
  48. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -2
  49. package/lib/workflow-interfaces/create-policy-form.d.ts +1 -0
  50. package/lib/workflow-policy/workflow-policy.component.d.ts +3 -0
  51. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -1
  52. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -82
  53. package/lib/workflow-services/add-risk.service.d.ts +0 -1
  54. package/lib/workflow-services/auth.service.d.ts +0 -1
  55. package/lib/workflow-services/frequency.service.d.ts +1 -1
  56. package/package.json +1 -1
  57. package/vcomply-workflow-engine.d.ts +218 -229
  58. package/vcomply-workflow-engine.metadata.json +1 -1
  59. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.js +0 -210
  60. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngfactory.js +0 -39
  61. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngsummary.json +0 -1
  62. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.js +0 -187
  63. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngfactory.js +0 -36
  64. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngsummary.json +0 -1
  65. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.js +0 -26
  66. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngfactory.js +0 -25
  67. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngsummary.json +0 -1
  68. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.js +0 -287
  69. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.js +0 -80
  70. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngsummary.json +0 -1
  71. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.js +0 -62
  72. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngfactory.js +0 -42
  73. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngsummary.json +0 -1
  74. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.js +0 -197
  75. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngfactory.js +0 -36
  76. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngsummary.json +0 -1
  77. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.js +0 -137
  78. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngfactory.js +0 -79
  79. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngsummary.json +0 -1
  80. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.js +0 -181
  81. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngfactory.js +0 -36
  82. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngsummary.json +0 -1
  83. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.js +0 -31
  84. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngfactory.js +0 -24
  85. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngsummary.json +0 -1
  86. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.js +0 -102
  87. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngfactory.js +0 -99
  88. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngsummary.json +0 -1
  89. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.js +0 -165
  90. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngfactory.js +0 -36
  91. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngsummary.json +0 -1
  92. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +0 -37
  93. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ngfactory.d.ts +0 -1
  94. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +0 -35
  95. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ngfactory.d.ts +0 -1
  96. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +0 -9
  97. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ngfactory.d.ts +0 -1
  98. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +0 -31
  99. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.d.ts +0 -1
  100. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +0 -16
  101. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ngfactory.d.ts +0 -1
  102. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +0 -33
  103. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ngfactory.d.ts +0 -1
  104. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +0 -32
  105. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ngfactory.d.ts +0 -1
  106. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +0 -32
  107. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ngfactory.d.ts +0 -1
  108. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +0 -10
  109. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ngfactory.d.ts +0 -1
  110. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +0 -22
  111. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ngfactory.d.ts +0 -1
  112. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +0 -30
  113. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ngfactory.d.ts +0 -1
@@ -1 +1 @@
1
- {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"policyId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["datePicker"]}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"shiftToEditMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"convertFileData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"selectedCategory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"formatEvidence":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["formatEvidence"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":4,"members":[]},{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]},{"__symbol":9,"members":[]},{"__symbol":10,"members":[]},{"__symbol":11,"members":[]},{"__symbol":12,"members":[]},{"__symbol":13,"members":[]}]}],"ngOnInit":[{"__symbolic":"method"}],"activateSelector":[{"__symbolic":"method"}],"disableSelector":[{"__symbolic":"method"}],"getRCList":[{"__symbolic":"method"}],"getUsersList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getGroupsList":[{"__symbolic":"method"}],"selectedWorkflowChange":[{"__symbolic":"method"}],"getApproverWorkFlow":[{"__symbolic":"method"}],"getApproversAndReviewersList":[{"__symbolic":"method"}],"populateOptionalFields":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"checkWhetherAllListsLoaded":[{"__symbolic":"method"}],"availabilityOnPortal":[{"__symbolic":"method"}],"confirmPolicyPortal":[{"__symbolic":"method"}],"saveSelectedList":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"refreshAllLists":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"returnIds":[{"__symbolic":"method"}],"reviewerTypeChange":[{"__symbolic":"method"}],"frequencyDataPopulation":[{"__symbolic":"method"}],"frequencyData":[{"__symbolic":"method"}],"frequencyPopulation":[{"__symbolic":"method"}],"reviewerFrequencyDataPopulation":[{"__symbolic":"method"}],"resetReviewerFrequency":[{"__symbolic":"method"}],"reviewerFrequencyData":[{"__symbolic":"method"}],"reviewerFrequencyPopulation":[{"__symbolic":"method"}],"validatePolicy":[{"__symbolic":"method"}],"submitPolicy":[{"__symbolic":"method"}],"linkDocumentWithPolicy":[{"__symbolic":"method"}],"openDatePicker":[{"__symbolic":"method"}],"closeDatePicker":[{"__symbolic":"method"}],"editPolicyFromDocuments":[{"__symbolic":"method"}],"checkForCreateDocuments":[{"__symbolic":"method"}],"editPolicy":[{"__symbolic":"method"}],"populatePolicyForm":[{"__symbolic":"method"}],"changeName":[{"__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":9,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":10,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":11,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":12,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":13,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-policy","exportAs":null,"inputs":{"mode":"mode","policyId":"policyId","convertFileData":"convertFileData","selectedCategory":"selectedCategory"},"outputs":{"pickerChanged":"pickerChanged","showConfirmationAlert":"showConfirmationAlert","populateOption":"populateOption","disconnectRefresh":"disconnectRefresh","shiftToEditMode":"shiftToEditMode"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"datePicker"}],"first":true,"descendants":true,"propertyName":"datePicker","read":null},{"selectors":[{"value":"formatEvidence"}],"first":true,"descendants":true,"propertyName":"formatEvidence","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":14,"members":[]},"rendererType":{"__symbol":15,"members":[]},"componentFactory":{"__symbol":16,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowPolicyComponent","filePath":"./workflow-policy.component"},{"__symbol":1,"name":"Output","filePath":"@angular/core"},{"__symbol":2,"name":"Input","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"PolicyService","filePath":"../workflow-services/policy.service"},{"__symbol":5,"name":"SnackBarService","filePath":"../ui-kit/snack-bar/snack-bar.service"},{"__symbol":6,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":7,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":8,"name":"ResponsibilityService","filePath":"../workflow-services/responsibility.service"},{"__symbol":9,"name":"Router","filePath":"@angular/router"},{"__symbol":10,"name":"ActivatedRoute","filePath":"@angular/router"},{"__symbol":11,"name":"FrequencyService","filePath":"../sharedComponents/frequency/frequency.service"},{"__symbol":12,"name":"PlatformLocation","filePath":"@angular/common"},{"__symbol":13,"name":"ChangeDetectorRef","filePath":"@angular/core"},{"__symbol":14,"name":"View_WorkflowPolicyComponent_0","filePath":"./workflow-policy.component.ngfactory"},{"__symbol":15,"name":"RenderType_WorkflowPolicyComponent","filePath":"./workflow-policy.component.ngfactory"},{"__symbol":16,"name":"WorkflowPolicyComponentNgFactory","filePath":"./workflow-policy.component.ngfactory"}]}
1
+ {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"policyId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["datePicker"]}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"shiftToEditMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"convertFileData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"selectedCategory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"formatEvidence":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["formatEvidence"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":4,"members":[]},{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]},{"__symbol":9,"members":[]},{"__symbol":10,"members":[]},{"__symbol":11,"members":[]},{"__symbol":12,"members":[]},{"__symbol":13,"members":[]}]}],"ngOnInit":[{"__symbolic":"method"}],"activateSelector":[{"__symbolic":"method"}],"disableSelector":[{"__symbolic":"method"}],"getRCList":[{"__symbolic":"method"}],"getUsersList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getGroupsList":[{"__symbolic":"method"}],"selectedWorkflowChange":[{"__symbolic":"method"}],"getApproverWorkFlow":[{"__symbolic":"method"}],"getApproversAndReviewersList":[{"__symbolic":"method"}],"populateOptionalFields":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"checkWhetherAllListsLoaded":[{"__symbolic":"method"}],"availabilityOnPortal":[{"__symbolic":"method"}],"confirmPolicyPortal":[{"__symbolic":"method"}],"saveSelectedList":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"refreshAllLists":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"returnIds":[{"__symbolic":"method"}],"reviewerTypeChange":[{"__symbolic":"method"}],"frequencyDataPopulation":[{"__symbolic":"method"}],"frequencyData":[{"__symbolic":"method"}],"frequencyPopulation":[{"__symbolic":"method"}],"reviewerFrequencyDataPopulation":[{"__symbolic":"method"}],"resetReviewerFrequency":[{"__symbolic":"method"}],"reviewerFrequencyData":[{"__symbolic":"method"}],"reviewerFrequencyPopulation":[{"__symbolic":"method"}],"validatePolicy":[{"__symbolic":"method"}],"submitPolicy":[{"__symbolic":"method"}],"linkDocumentWithPolicy":[{"__symbolic":"method"}],"openDatePicker":[{"__symbolic":"method"}],"closeDatePicker":[{"__symbolic":"method"}],"editPolicyFromDocuments":[{"__symbolic":"method"}],"checkForCreateDocuments":[{"__symbolic":"method"}],"editPolicy":[{"__symbolic":"method"}],"populatePolicyForm":[{"__symbolic":"method"}],"changeName":[{"__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":9,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":10,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":11,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":12,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":13,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-policy","exportAs":null,"inputs":{"mode":"mode","policyId":"policyId","feature":"feature","convertFileData":"convertFileData","selectedCategory":"selectedCategory"},"outputs":{"pickerChanged":"pickerChanged","showConfirmationAlert":"showConfirmationAlert","populateOption":"populateOption","disconnectRefresh":"disconnectRefresh","shiftToEditMode":"shiftToEditMode"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"datePicker"}],"first":true,"descendants":true,"propertyName":"datePicker","read":null},{"selectors":[{"value":"formatEvidence"}],"first":true,"descendants":true,"propertyName":"formatEvidence","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":14,"members":[]},"rendererType":{"__symbol":15,"members":[]},"componentFactory":{"__symbol":16,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowPolicyComponent","filePath":"./workflow-policy.component"},{"__symbol":1,"name":"Output","filePath":"@angular/core"},{"__symbol":2,"name":"Input","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"PolicyService","filePath":"../workflow-services/policy.service"},{"__symbol":5,"name":"SnackBarService","filePath":"../ui-kit/snack-bar/snack-bar.service"},{"__symbol":6,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":7,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":8,"name":"ResponsibilityService","filePath":"../workflow-services/responsibility.service"},{"__symbol":9,"name":"Router","filePath":"@angular/router"},{"__symbol":10,"name":"ActivatedRoute","filePath":"@angular/router"},{"__symbol":11,"name":"FrequencyService","filePath":"../sharedComponents/frequency/frequency.service"},{"__symbol":12,"name":"PlatformLocation","filePath":"@angular/common"},{"__symbol":13,"name":"ChangeDetectorRef","filePath":"@angular/core"},{"__symbol":14,"name":"View_WorkflowPolicyComponent_0","filePath":"./workflow-policy.component.ngfactory"},{"__symbol":15,"name":"RenderType_WorkflowPolicyComponent","filePath":"./workflow-policy.component.ngfactory"},{"__symbol":16,"name":"WorkflowPolicyComponentNgFactory","filePath":"./workflow-policy.component.ngfactory"}]}
@@ -23,4 +23,4 @@ import * as i15 from "../../sharedComponents/assessment-preview/assessment-previ
23
23
  import * as i16 from "../../sharedComponents/v-loader/v-loader.module";
24
24
  var CreateProgramUiModuleNgFactory = i0.ɵcmf(i1.CreateProgramUiModule, [], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, [i2.ɵtNgFactory, i3.DatePickerComponentNgFactory]], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(4608, i4.NgLocalization, i4.NgLocaleLocalization, [i0.LOCALE_ID]), i0.ɵmpd(4608, i5.PopoverService, i5.PopoverService, []), i0.ɵmpd(1073742336, i4.CommonModule, i4.CommonModule, []), i0.ɵmpd(1073742336, i6.TooltipModule, i6.TooltipModule, []), i0.ɵmpd(1073742336, i7.ɵangular_packages_forms_forms_p, i7.ɵangular_packages_forms_forms_p, []), i0.ɵmpd(1073742336, i7.ɵangular_packages_forms_forms_d, i7.ɵangular_packages_forms_forms_d, []), i0.ɵmpd(1073742336, i7.FormsModule, i7.FormsModule, []), i0.ɵmpd(1073742336, i8.PaginationModule, i8.PaginationModule, []), i0.ɵmpd(1073742336, i9.PopoverModule, i9.PopoverModule, []), i0.ɵmpd(1073742336, i10.NoDataModule, i10.NoDataModule, []), i0.ɵmpd(1073742336, i11.FormgroupModule, i11.FormgroupModule, []), i0.ɵmpd(1073742336, i12.FormgroupModule, i12.FormgroupModule, []), i0.ɵmpd(1073742336, i13.NgxMaterialTimepickerModule, i13.NgxMaterialTimepickerModule, []), i0.ɵmpd(1073742336, i14.DpDatePickerModule, i14.DpDatePickerModule, []), i0.ɵmpd(1073742336, i15.AssessmentPreviewModule, i15.AssessmentPreviewModule, []), i0.ɵmpd(1073742336, i16.VLoaderModule, i16.VLoaderModule, []), i0.ɵmpd(1073742336, i1.CreateProgramUiModule, i1.CreateProgramUiModule, [])]); });
25
25
  export { CreateProgramUiModuleNgFactory as CreateProgramUiModuleNgFactory };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2NyZWF0ZS1wcm9ncmFtLXVpLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTQgZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1ldmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1sb25ncHJlc3MuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTEgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1jaGVja2JveC9jcy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8vY3MtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxMyBmcm9tICcuLi8uLi91aS1raXQvZm9ybWdyb3VwL2NzLXN3aXRjaC9jcy1zd2l0Y2guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi8uLi91aS1raXQvZm9ybWdyb3VwL2NzLXJhZGlvLWdyb3VwL2NzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1zZWxlY3QvY3Mtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTYgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1jaGVja2JveC1pbmRldGVybWluYXRlL2NzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNyBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9jaGVja2JveC1xdWVzdGlvbi9jaGVja2JveC1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTE4IGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1wcmV2aWV3L2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxOSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9kZXZpY2UvZGV2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjAgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMiBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3LWNvbnRhaW5lci9wcmV2aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIzIGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1wcmV2aWV3L3F1aWNrLXNldHRpbmdzL3F1aWNrLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjQgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvcmFkaW8tcXVlc3Rpb24vcmFkaW8tcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9zZWxlY3QtcXVlc3Rpb24vc2VsZWN0LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjYgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvc2luZ2xlLXRleHRib3gvc2luZ2xlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNyBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOCBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL2xvYWRlci1pbmxpbmUvbG9hZGVyLWlubGluZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMwIGZyb20gJy4vdGFiLXNlbGVjdG9yL3RhYi1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMxIGZyb20gJy4vdGljay1tYXJrL3RpY2stbWFyay5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMyIGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzMgZnJvbSAnLi9maWxlLXBpbGwvZmlsZS1waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzQgZnJvbSAnLi9pbnB1dC13aXRoLXBpbGwvaW5wdXQtd2l0aC1waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzUgZnJvbSAnLi9jcy1zd2l0Y2gvY3Mtc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzYgZnJvbSAnLi9kaXJlY3RpdmVzL2lucHV0LXRyaW0uZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGkzNyBmcm9tICcuL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOCBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzkgZnJvbSAnLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDAgZnJvbSAnLi91c2VyLWdyb3VwLWxpc3QvdXNlci1ncm91cC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDEgZnJvbSAnLi9hc3Nlc3NtZW50LXBpY2tlci9hc3Nlc3NtZW50LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQyIGZyb20gJy4vYXNzZXNzbWVudC1waWNrZXIvYXNzZXNzbWVudC1sb2FkZXIvYXNzZXNzbWVudC1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0MyBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL2Fzc2Vzc21lbnQtc3ViLWxvYWRlci9hc3Nlc3NtZW50LXN1Yi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NCBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL3dvcmtmbG93LXBhZ2luYXRpb24vd29ya2Zsb3ctcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ1IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ2IGZyb20gJy4vY3VzdG9tLWZpZWxkL2N1c3RvbS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ3IGZyb20gJy4vcm9sZS1saXN0L2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0OCBmcm9tICcuL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDkgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9waXBlcy9zZWFyY2hNdWx0aVNlbGVjdC5waXBlJztcbmltcG9ydCAqIGFzIGk1MCBmcm9tICcuL3BpcGVzL3NlYXJjaC5waXBlJztcbmltcG9ydCAqIGFzIGk1MSBmcm9tICcuL3BpcGVzL2xpc3QtdG8taWQucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTIgZnJvbSAnLi9waXBlcy9yZWYtZGlzY29ubmVjdC5waXBlJztcbmltcG9ydCAqIGFzIGk1MyBmcm9tICcuL3BpcGVzL3BhZ2VyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU0IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL3BpcGVzL2NhdGVnb3J5LWFsbC1zZWxlY3QucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTUgZnJvbSAnLi9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcvcGlwZXMvc3ViLWNhdC1pbmRldGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU2IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL3BpcGVzL3NlYXJjaC5waXBlJztcbmltcG9ydCAqIGFzIGk1NyBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL3NlbGVjdGVkLWFzc2Vzc21lbnQucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTggZnJvbSAnLi9waXBlcy9hc3Nlc3NtZW50LXJlc29sdmVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU5IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2MCBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTYxIGZyb20gJy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2MiBmcm9tICcuLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpNjMgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2NCBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9hc3Nlc3NtZW50LXByZXZpZXcubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2NSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL3YtbG9hZGVyLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5DcmVhdGVQcm9ncmFtVWlNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5Ub29sVGlwRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlBhZ2luYXRpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuUG9wb3ZlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5Qb3BvdmVyRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk3LlBvcG92ZXJFdmVudERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppOC5Qb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5Lsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc19iYiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xODppOS5OZ1NlbGVjdE9wdGlvbiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppOS7JtWFuZ3VsYXJfcGFja2FnZXNfZm9ybXNfZm9ybXNfYmEgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTkuRGVmYXVsdFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTkuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppOS5SYW5nZVZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTkuQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppOS5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppOS5TZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2Omk5LlJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTkuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4Omk5Lk5nQ29udHJvbFN0YXR1c0dyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5Omk5LlJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmk5Lk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppOS5NYXhMZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTkuUGF0dGVyblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppOS5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk5LkVtYWlsVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM1Omk5Lk1pblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppOS5NYXhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTkuTmdNb2RlbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppOS5OZ01vZGVsR3JvdXAgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTkuTmdGb3JtID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkxMC5Ob0RhdGFDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTExLkNzQ2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTEyLkNzUmFkaW9Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDM6aTEzLkNzU3dpdGNoQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkxNC5Dc1JhZGlvR3JvdXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDU6aTE1LkNzU2VsZWN0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ2OmkxNi5Dc0NoZWNrYm94SW5kZXRlcm1pbmF0ZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NzppMTcuQ2hlY2tib3hRdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80ODppMTguRGF0ZVRpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDk6aTE5LkRldmljZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MDppMjAuRmlsZVVwbG9hZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MTppMjEuUHJldmlld0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMjIuUHJldmlld0NvbnRhaW5lckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MzppMjMuUXVpY2tTZXR0aW5nc0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMjQuUmFkaW9RdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppMjUuU2VsZWN0UXVlc3Rpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTI2LlNpbmdsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTc6aTI3LldlbGNvbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTI4LkxvYWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppMjkuTG9hZGVySW5saW5lQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYwOmkzMC5UYWJTZWxlY3RvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MTppMzEuVGlja01hcmtDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjI6aTMyLkZvcm1GaWVsZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MzppMzMuRmlsZVBpbGxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjQ6aTM0LklucHV0V2l0aFBpbGxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjU6aTM1LlN3aXRjaENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NjppMzYuSW5wdXRUcmltRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY3OmkzNy5Sb2xlTGlzdENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82ODppMzguQ2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjk6aTM5LlZ1aUZsb2F0aW5nQmFyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcwOmk0MC5Vc2VyR3JvdXBMaXN0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcxOmk0MS5Bc3Nlc3NtZW50UGlja2VyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcyOmk0Mi5Bc3Nlc3NtZW50TG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzczOmk0My5Bc3Nlc3NtZW50U3ViTG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc0Omk0NC5QYWdpbmF0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc1Omk0NS5EZWZpbmVGcmFtZXdvcmtMaXN0aW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc2Omk0Ni5DdXN0b21GaWVsZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NzppNDcuTG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc4Omk0OC5Mb2FkZXJGcmFtZXdvcmtDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzk6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzgwOmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODE6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MjppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MzppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODQ6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODU6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODY6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NzppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODg6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODk6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTA6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTE6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkyOmk0OS5TZWFyY2hNdWx0aVNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTQ6aTUwLlNlYXJjaFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTY6aTUxLkxpc3RUb0lkUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85ODppNTIuUmVmRGlzY29ubmVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAwOmk1My5QYWdlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAyOmk1NC5DYXRlZ29yeUFsbFNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA0Omk1NS5TdWJDYXRJbmRldGVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDY6aTU2LlNlYXJjaE5ld1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA4Omk1Ny5TZWxlY3RlZEFzc2Vzc21lbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMDppNTguQXNzZXNzbWVudFJlc29sdmVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTE6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMjppNTkuVG9vbHRpcE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjA6aTYwLlBhZ2luYXRpb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE0Omk2MS5Qb3BvdmVyTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNTppOS5Gb3Jtc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTY6aTYyLk5vRGF0YU1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTc6aTYzLkZvcm1ncm91cE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTg6aTY0LkFzc2Vzc21lbnRQcmV2aWV3TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOTppNjUuVkxvYWRlck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjE6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjI6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19UYWJTZWxlY3Rvcl9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVGFiU2VsZWN0b3JfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAndHlwZS1maWVsZCAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoPGFueT57J3R3byc6KCgoX2RlY2wwXzYwLmRpc3BsYXlBcnJheSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzYwLmRpc3BsYXlBcnJheS5sZW5ndGgpID09PSAyKSxcbiAgICAgICdmb3VyJzooKChfZGVjbDBfNjAuZGlzcGxheUFycmF5ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNjAuZGlzcGxheUFycmF5Lmxlbmd0aCkgPT09IDQpfSk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF82MC5kaXNwbGF5QXJyYXk7XG4gIGN1cnJWYWxfMjtcbn1cbmZ1bmN0aW9uIF9WaWV3X1RpY2tNYXJrQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19UaWNrTWFya0NvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IHRydWU7XG4gIGN1cnJWYWxfMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Zvcm1GaWVsZENvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfRm9ybUZpZWxkQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfRmlsZVBpbGxDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0ZpbGVQaWxsQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2ZpbGUgdGFibGUnO1xuICBjdXJyVmFsXzA7XG4gIHZhciB0bXBfMV8wOmFueTtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJywoKCgodG1wXzFfMCA9IF9kZWNsMF82My5leHRlbnNpb24pICE9PSAobnVsbCBhcyBhbnkpKSAmJiAodG1wXzFfMCAhPT0gKHVuZGVmaW5lZCBhcyBhbnkpKSk/IHRtcF8xXzA6ICcnKSxcbiAgICAgICcnKTtcbiAgY3VyclZhbF8xO1xuICB2YXIgdG1wXzJfMDphbnk7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoKCgodG1wXzJfMCA9IF9kZWNsMF82My5leHRlbnNpb24pICE9PSAobnVsbCBhcyBhbnkpKSAmJiAodG1wXzJfMCAhPT0gKHVuZGVmaW5lZCBhcyBhbnkpKSk/IHRtcF8yXzA6ICctLScpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNjMubmFtZTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ2JvdHRvbS1sZWZ0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gJ2JsYWNrJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF82My5uYW1lO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfNjMuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzYzLmRlbGV0ZS5lbWl0KCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19JbnB1dFdpdGhQaWxsQ29tcG9uZW50X0hvc3RfNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19JbnB1dFdpdGhQaWxsQ29tcG9uZW50XzVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gIV9hbnkuY2hpbGRyZW4ubGVuZ3RoO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNjQuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1N3aXRjaENvbXBvbmVudF9Ib3N0XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU3dpdGNoQ29tcG9uZW50XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF82NS5wb3NpdGlvbiA9PSAndG9wJyk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfNjUudmFsdWUgIT0gdW5kZWZpbmVkKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKChfZGVjbDBfNjUudG9vbHRpcE1lc3NhZ2UgPT09ICcnKSB8fCAoX2RlY2wwXzY1LnRvb2x0aXBNZXNzYWdlID09PSB1bmRlZmluZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfNjUudG9vbHRpcE1lc3NhZ2UgIT09ICcnKSAmJiAoX2RlY2wwXzY1LnRvb2x0aXBNZXNzYWdlICE9PSB1bmRlZmluZWQpKTtcbiAgY3VyclZhbF8zO1xufVxuZnVuY3Rpb24gX1ZpZXdfUm9sZUxpc3RDb21wb25lbnRfSG9zdF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1JvbGVMaXN0Q29tcG9uZW50XzdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY3LmFuaW1hdGlvbjtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF82Ny5mZWF0dXJlZmxhZ3JvbGU/ICdTZWxlY3QgUGVybWlzc2lvbiBHcm91cChzKSc6ICdTZWxlY3QgUm9sZXMocyknKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gISgoX2RlY2wwXzY3LnJvbGVzTGlzdCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzY3LnJvbGVzTGlzdC5sZW5ndGgpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNjcuc2VhcmNoS2V5O1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoX2RlY2wwXzY3LmZlYXR1cmVmbGFncm9sZT8gJ1NlYXJjaCBQZXJtaXNzaW9uIEdyb3Vwcyc6ICdTZWFyY2ggUm9sZXMnKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzY3LmxvYWRpbmc7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICFfZGVjbDBfNjcubG9hZGluZztcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzY3LnNob3dDb25maXJtYXRpb247XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICFfZGVjbDBfNjcuc2hvd0NvbmZpcm1hdGlvbjtcbiAgY3VyclZhbF84O1xuICBjb25zdCBwZF85OmFueSA9ICgoPGFueT4oX2RlY2wwXzY3LnNlYXJjaEtleSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQ2hlY2tib3hDb21wb25lbnRfSG9zdF84XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0NoZWNrYm94Q29tcG9uZW50XzhfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY4LmRpc2FibGVkO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNjguY2hlY2tlZDtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzY4LmRpc2FibGVkO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAhX2RlY2wwXzY4LmluZGV0ZXJtaW5hdGVFbmFibGVkO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfNjguaW5kZXRlcm1pbmF0ZUVuYWJsZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzY4LnZhbHVlQ2hhbmdlZCgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVnVpRmxvYXRpbmdCYXJDb21wb25lbnRfSG9zdF85XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1Z1aUZsb2F0aW5nQmFyQ29tcG9uZW50XzlfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY5LnNob3dOZXh0QnV0dG9uO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IHBkXzE6YW55ID0gKCg8YW55Pl9kZWNsMF82OS5jbG9zZSgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVXNlckdyb3VwTGlzdENvbXBvbmVudF9Ib3N0XzEwXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1VzZXJHcm91cExpc3RDb21wb25lbnRfMTBfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzcwLmFuaW1hdGlvbjtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzcwLnBhbmVsVGl0bGU7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF83MC5sb2FkaW5nO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAhX2RlY2wwXzcwLmZlYXR1cmVmbGFnO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfNzAuZmVhdHVyZWZsYWc7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF83MC5ncm91cEVuYWJsZWQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IChfZGVjbDBfNzAuY3VycmVudFRhYiA9PT0gJ1VTRVInKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKF9kZWNsMF83MC5jdXJyZW50VGFiID09PSAnR1JPVVAnKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gIV9kZWNsMF83MC5zaW5nbGVTZWxlY3Q7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IF9kZWNsMF83MC5zaW5nbGVTZWxlY3Q7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfNzAuc2hvd0NvbmZpcm1hdGlvbjtcbiAgY3VyclZhbF8xMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRQaWNrZXJDb21wb25lbnRfSG9zdF8xMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19Bc3Nlc3NtZW50UGlja2VyQ29tcG9uZW50XzExXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF83MS5pc1ByZXZpZXc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF83MS5hbmltYXRpb247XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF83MS5zZWFyY2hBc3Nlc3NtZW50cztcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gJyc7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICgoX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeS50b3RhbFBhZ2UpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoKF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkuc3RhcnRfdmFsdWUpO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkuZW5kX3ZhbHVlKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5LnRvdGFsUmVjb3Jkcyk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICgoX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhLmxlbmd0aCA9PT0gMCkgJiYgIV9kZWNsMF83MS5pc0xvYWRlcik7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IChfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5LmRhdGEubGVuZ3RoIHx8IF9kZWNsMF83MS5pc0xvYWRlcik7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoIV9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YS5sZW5ndGggJiYgIV9kZWNsMF83MS5pc0xvYWRlcik7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKChfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50Lmxlbmd0aCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKCgoX2RlY2wwXzcxLnNlbGVjdGVkQXNzZXNzbWVudCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzcxLnNlbGVjdGVkQXNzZXNzbWVudC5sZW5ndGgpID09PSAxKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoKChfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50Lmxlbmd0aCkgPiAxKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSB0cnVlO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IF9kZWNsMF83MS5zZWxlY3RlZEFzc2Vzc21lbnQ7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IHBkXzE2OmFueSA9ICgoPGFueT4oX2RlY2wwXzcxLnNlYXJjaEFzc2Vzc21lbnRzID0gX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE3OmFueSA9ICgoPGFueT5fZGVjbDBfNzEub25Bc3Nlc3NtZW50U2VhcmNoKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTg6YW55ID0gKCg8YW55Pl9kZWNsMF83MS5vbkFscGhhYmV0U2VsZWN0ZWQoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfNzEub25QYWdlU2VsZWN0aW9uKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMDphbnkgPSAoKDxhbnk+X2RlY2wwXzcxLnNhdmUoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjE6YW55ID0gKCg8YW55Pl9kZWNsMF83MS5jbG9zZSgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQXNzZXNzbWVudExvYWRlckNvbXBvbmVudF9Ib3N0XzEyXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRMb2FkZXJDb21wb25lbnRfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKDxhbnk+WzEsMSwxLDEsMSwxLDFdKTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfQXNzZXNzbWVudFN1YkxvYWRlckNvbXBvbmVudF9Ib3N0XzEzXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRTdWJMb2FkZXJDb21wb25lbnRfMTNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKDxhbnk+WzEsMSwxLDEsMSwxLDFdKTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfUGFnaW5hdGlvbl9Ib3N0XzE0XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1BhZ2luYXRpb25fMTRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzc0Lm5vRmlsdGVyO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhX2RlY2wwXzc0Lm5vRmlsdGVyO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzc0LnBhZ2VDb3VudCA+IDEpO1xuICBjdXJyVmFsXzI7XG59XG5mdW5jdGlvbiBfVmlld19EZWZpbmVGcmFtZXdvcmtMaXN0aW5nQ29tcG9uZW50X0hvc3RfMTVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfRGVmaW5lRnJhbWV3b3JrTGlzdGluZ0NvbXBvbmVudF8xNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNzUuYW5pbWF0aW9uO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzc1LmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJyk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfNzUuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUksnKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKF9kZWNsMF83NS5jdXJyZW50VmlldyA9PT0gJ0ZSQU1FV09SS19DQVRFR09SWScpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoX2RlY2wwXzc1LmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJyk7XG4gIGN1cnJWYWxfNDtcbn1cbmZ1bmN0aW9uIF9WaWV3X0N1c3RvbUZpZWxkQ29tcG9uZW50X0hvc3RfMTZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQ3VzdG9tRmllbGRDb21wb25lbnRfMTZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzc2LmN1c3RvbUZpZWxkcztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBwZF8xOmFueSA9ICgoPGFueT5fZGVjbDBfNzYubWFuaXB1bGF0ZUN1c3RvbUZpZWxkKCdBREQnKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvYWRlckNvbXBvbmVudF9Ib3N0XzE3XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvYWRlckNvbXBvbmVudF8xN18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoPGFueT5bMSwxLDEsMSwxLDEsMV0pO1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19Mb2FkZXJGcmFtZXdvcmtDb21wb25lbnRfSG9zdF8xOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19Mb2FkZXJGcmFtZXdvcmtDb21wb25lbnRfMThfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKDxhbnk+WzEsMSwxLDEsMSwxLDFdKTtcbiAgY3VyclZhbF8wO1xufVxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvY3JlYXRlLXByb2dyYW0tdWkubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2NyZWF0ZS1wcm9ncmFtLXVpLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTQgZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1ldmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1sb25ncHJlc3MuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTEgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1jaGVja2JveC9jcy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8vY3MtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxMyBmcm9tICcuLi8uLi91aS1raXQvZm9ybWdyb3VwL2NzLXN3aXRjaC9jcy1zd2l0Y2guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi8uLi91aS1raXQvZm9ybWdyb3VwL2NzLXJhZGlvLWdyb3VwL2NzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1zZWxlY3QvY3Mtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTYgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9jcy1jaGVja2JveC1pbmRldGVybWluYXRlL2NzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNyBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9jaGVja2JveC1xdWVzdGlvbi9jaGVja2JveC1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTE4IGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1wcmV2aWV3L2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxOSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9kZXZpY2UvZGV2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjAgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMiBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3LWNvbnRhaW5lci9wcmV2aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIzIGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1wcmV2aWV3L3F1aWNrLXNldHRpbmdzL3F1aWNrLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjQgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvcmFkaW8tcXVlc3Rpb24vcmFkaW8tcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9zZWxlY3QtcXVlc3Rpb24vc2VsZWN0LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjYgZnJvbSAnLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvc2luZ2xlLXRleHRib3gvc2luZ2xlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNyBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOCBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL2xvYWRlci1pbmxpbmUvbG9hZGVyLWlubGluZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMwIGZyb20gJy4vdGFiLXNlbGVjdG9yL3RhYi1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMxIGZyb20gJy4vdGljay1tYXJrL3RpY2stbWFyay5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMyIGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzMgZnJvbSAnLi9maWxlLXBpbGwvZmlsZS1waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzQgZnJvbSAnLi9pbnB1dC13aXRoLXBpbGwvaW5wdXQtd2l0aC1waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzUgZnJvbSAnLi9jcy1zd2l0Y2gvY3Mtc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzYgZnJvbSAnLi9kaXJlY3RpdmVzL2lucHV0LXRyaW0uZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGkzNyBmcm9tICcuL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOCBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzkgZnJvbSAnLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDAgZnJvbSAnLi91c2VyLWdyb3VwLWxpc3QvdXNlci1ncm91cC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDEgZnJvbSAnLi9hc3Nlc3NtZW50LXBpY2tlci9hc3Nlc3NtZW50LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQyIGZyb20gJy4vYXNzZXNzbWVudC1waWNrZXIvYXNzZXNzbWVudC1sb2FkZXIvYXNzZXNzbWVudC1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0MyBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL2Fzc2Vzc21lbnQtc3ViLWxvYWRlci9hc3Nlc3NtZW50LXN1Yi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NCBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL3dvcmtmbG93LXBhZ2luYXRpb24vd29ya2Zsb3ctcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ1IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ2IGZyb20gJy4vY3VzdG9tLWZpZWxkL2N1c3RvbS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQ3IGZyb20gJy4vcm9sZS1saXN0L2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0OCBmcm9tICcuL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDkgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9waXBlcy9zZWFyY2hNdWx0aVNlbGVjdC5waXBlJztcbmltcG9ydCAqIGFzIGk1MCBmcm9tICcuL3BpcGVzL3NlYXJjaC5waXBlJztcbmltcG9ydCAqIGFzIGk1MSBmcm9tICcuL3BpcGVzL2xpc3QtdG8taWQucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTIgZnJvbSAnLi9waXBlcy9yZWYtZGlzY29ubmVjdC5waXBlJztcbmltcG9ydCAqIGFzIGk1MyBmcm9tICcuL3BpcGVzL3BhZ2VyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU0IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL3BpcGVzL2NhdGVnb3J5LWFsbC1zZWxlY3QucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTUgZnJvbSAnLi9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcvcGlwZXMvc3ViLWNhdC1pbmRldGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU2IGZyb20gJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL3BpcGVzL3NlYXJjaC5waXBlJztcbmltcG9ydCAqIGFzIGk1NyBmcm9tICcuL2Fzc2Vzc21lbnQtcGlja2VyL3NlbGVjdGVkLWFzc2Vzc21lbnQucGlwZSc7XG5pbXBvcnQgKiBhcyBpNTggZnJvbSAnLi9waXBlcy9hc3Nlc3NtZW50LXJlc29sdmVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTU5IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2MCBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTYxIGZyb20gJy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2MiBmcm9tICcuLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpNjMgZnJvbSAnLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2NCBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9hc3Nlc3NtZW50LXByZXZpZXcubW9kdWxlJztcbmltcG9ydCAqIGFzIGk2NSBmcm9tICcuLi8uLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL3YtbG9hZGVyLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5DcmVhdGVQcm9ncmFtVWlNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5Ub29sVGlwRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlBhZ2luYXRpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuUG9wb3ZlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5Qb3BvdmVyRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk3LlBvcG92ZXJFdmVudERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppOC5Qb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5Lsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc19iYiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xODppOS5OZ1NlbGVjdE9wdGlvbiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppOS7JtWFuZ3VsYXJfcGFja2FnZXNfZm9ybXNfZm9ybXNfYmEgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTkuRGVmYXVsdFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTkuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppOS5SYW5nZVZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTkuQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppOS5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppOS5TZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2Omk5LlJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTkuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4Omk5Lk5nQ29udHJvbFN0YXR1c0dyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5Omk5LlJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmk5Lk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppOS5NYXhMZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTkuUGF0dGVyblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppOS5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk5LkVtYWlsVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM1Omk5Lk1pblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppOS5NYXhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTkuTmdNb2RlbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppOS5OZ01vZGVsR3JvdXAgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTkuTmdGb3JtID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkxMC5Ob0RhdGFDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTExLkNzQ2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTEyLkNzUmFkaW9Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDM6aTEzLkNzU3dpdGNoQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkxNC5Dc1JhZGlvR3JvdXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDU6aTE1LkNzU2VsZWN0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ2OmkxNi5Dc0NoZWNrYm94SW5kZXRlcm1pbmF0ZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NzppMTcuQ2hlY2tib3hRdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80ODppMTguRGF0ZVRpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDk6aTE5LkRldmljZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MDppMjAuRmlsZVVwbG9hZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MTppMjEuUHJldmlld0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMjIuUHJldmlld0NvbnRhaW5lckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MzppMjMuUXVpY2tTZXR0aW5nc0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMjQuUmFkaW9RdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppMjUuU2VsZWN0UXVlc3Rpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTI2LlNpbmdsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTc6aTI3LldlbGNvbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTI4LkxvYWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppMjkuTG9hZGVySW5saW5lQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYwOmkzMC5UYWJTZWxlY3RvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MTppMzEuVGlja01hcmtDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjI6aTMyLkZvcm1GaWVsZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82MzppMzMuRmlsZVBpbGxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjQ6aTM0LklucHV0V2l0aFBpbGxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjU6aTM1LlN3aXRjaENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NjppMzYuSW5wdXRUcmltRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY3OmkzNy5Sb2xlTGlzdENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82ODppMzguQ2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjk6aTM5LlZ1aUZsb2F0aW5nQmFyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcwOmk0MC5Vc2VyR3JvdXBMaXN0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcxOmk0MS5Bc3Nlc3NtZW50UGlja2VyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcyOmk0Mi5Bc3Nlc3NtZW50TG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzczOmk0My5Bc3Nlc3NtZW50U3ViTG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc0Omk0NC5QYWdpbmF0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc1Omk0NS5EZWZpbmVGcmFtZXdvcmtMaXN0aW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc2Omk0Ni5DdXN0b21GaWVsZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NzppNDcuTG9hZGVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc4Omk0OC5Mb2FkZXJGcmFtZXdvcmtDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzk6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzgwOmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODE6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MjppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MzppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODQ6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODU6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODY6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NzppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODg6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODk6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTA6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTE6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkyOmk0OS5TZWFyY2hNdWx0aVNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTQ6aTUwLlNlYXJjaFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTY6aTUxLkxpc3RUb0lkUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85ODppNTIuUmVmRGlzY29ubmVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAwOmk1My5QYWdlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAyOmk1NC5DYXRlZ29yeUFsbFNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA0Omk1NS5TdWJDYXRJbmRldGVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDY6aTU2LlNlYXJjaE5ld1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA4Omk1Ny5TZWxlY3RlZEFzc2Vzc21lbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMDppNTguQXNzZXNzbWVudFJlc29sdmVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTE6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMjppNTkuVG9vbHRpcE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjA6aTYwLlBhZ2luYXRpb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE0Omk2MS5Qb3BvdmVyTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNTppOS5Gb3Jtc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTY6aTYyLk5vRGF0YU1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTc6aTYzLkZvcm1ncm91cE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTg6aTY0LkFzc2Vzc21lbnRQcmV2aWV3TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOTppNjUuVkxvYWRlck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjE6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjI6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19UYWJTZWxlY3Rvcl9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVGFiU2VsZWN0b3JfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAndHlwZS1maWVsZCAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoPGFueT57J3R3byc6KCgoX2RlY2wwXzYwLmRpc3BsYXlBcnJheSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzYwLmRpc3BsYXlBcnJheS5sZW5ndGgpID09PSAyKSxcbiAgICAgICdmb3VyJzooKChfZGVjbDBfNjAuZGlzcGxheUFycmF5ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNjAuZGlzcGxheUFycmF5Lmxlbmd0aCkgPT09IDQpfSk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF82MC5kaXNwbGF5QXJyYXk7XG4gIGN1cnJWYWxfMjtcbn1cbmZ1bmN0aW9uIF9WaWV3X1RpY2tNYXJrQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19UaWNrTWFya0NvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IHRydWU7XG4gIGN1cnJWYWxfMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Zvcm1GaWVsZENvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfRm9ybUZpZWxkQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfRmlsZVBpbGxDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0ZpbGVQaWxsQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2ZpbGUgdGFibGUnO1xuICBjdXJyVmFsXzA7XG4gIHZhciB0bXBfMV8wOmFueTtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJywoKCgodG1wXzFfMCA9IF9kZWNsMF82My5leHRlbnNpb24pICE9PSAobnVsbCBhcyBhbnkpKSAmJiAodG1wXzFfMCAhPT0gKHVuZGVmaW5lZCBhcyBhbnkpKSk/IHRtcF8xXzA6ICcnKSxcbiAgICAgICcnKTtcbiAgY3VyclZhbF8xO1xuICB2YXIgdG1wXzJfMDphbnk7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoKCgodG1wXzJfMCA9IF9kZWNsMF82My5leHRlbnNpb24pICE9PSAobnVsbCBhcyBhbnkpKSAmJiAodG1wXzJfMCAhPT0gKHVuZGVmaW5lZCBhcyBhbnkpKSk/IHRtcF8yXzA6ICctLScpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNjMubmFtZTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ2JvdHRvbS1sZWZ0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gJ2JsYWNrJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF82My5uYW1lO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfNjMuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzYzLmRlbGV0ZS5lbWl0KCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19JbnB1dFdpdGhQaWxsQ29tcG9uZW50X0hvc3RfNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19JbnB1dFdpdGhQaWxsQ29tcG9uZW50XzVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gIV9hbnkuY2hpbGRyZW4ubGVuZ3RoO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNjQuZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1N3aXRjaENvbXBvbmVudF9Ib3N0XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU3dpdGNoQ29tcG9uZW50XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF82NS5wb3NpdGlvbiA9PSAndG9wJyk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfNjUudmFsdWUgIT0gdW5kZWZpbmVkKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKChfZGVjbDBfNjUudG9vbHRpcE1lc3NhZ2UgPT09ICcnKSB8fCAoX2RlY2wwXzY1LnRvb2x0aXBNZXNzYWdlID09PSB1bmRlZmluZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfNjUudG9vbHRpcE1lc3NhZ2UgIT09ICcnKSAmJiAoX2RlY2wwXzY1LnRvb2x0aXBNZXNzYWdlICE9PSB1bmRlZmluZWQpKTtcbiAgY3VyclZhbF8zO1xufVxuZnVuY3Rpb24gX1ZpZXdfUm9sZUxpc3RDb21wb25lbnRfSG9zdF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1JvbGVMaXN0Q29tcG9uZW50XzdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY3LmFuaW1hdGlvbjtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF82Ny5mZWF0dXJlZmxhZ3JvbGU/ICdTZWxlY3QgUGVybWlzc2lvbiBHcm91cChzKSc6ICdTZWxlY3QgUm9sZXMocyknKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gISgoX2RlY2wwXzY3LnJvbGVzTGlzdCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzY3LnJvbGVzTGlzdC5sZW5ndGgpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNjcuc2VhcmNoS2V5O1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoX2RlY2wwXzY3LmZlYXR1cmVmbGFncm9sZT8gJ1NlYXJjaCBQZXJtaXNzaW9uIEdyb3Vwcyc6ICdTZWFyY2ggUm9sZXMnKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzY3LmxvYWRpbmc7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICFfZGVjbDBfNjcubG9hZGluZztcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzY3LnNob3dDb25maXJtYXRpb247XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICFfZGVjbDBfNjcuc2hvd0NvbmZpcm1hdGlvbjtcbiAgY3VyclZhbF84O1xuICBjb25zdCBwZF85OmFueSA9ICgoPGFueT4oX2RlY2wwXzY3LnNlYXJjaEtleSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQ2hlY2tib3hDb21wb25lbnRfSG9zdF84XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0NoZWNrYm94Q29tcG9uZW50XzhfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY4LmRpc2FibGVkO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNjguY2hlY2tlZDtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzY4LmRpc2FibGVkO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAhX2RlY2wwXzY4LmluZGV0ZXJtaW5hdGVFbmFibGVkO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfNjguaW5kZXRlcm1pbmF0ZUVuYWJsZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzY4LnZhbHVlQ2hhbmdlZCgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVnVpRmxvYXRpbmdCYXJDb21wb25lbnRfSG9zdF85XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1Z1aUZsb2F0aW5nQmFyQ29tcG9uZW50XzlfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzY5LnNob3dOZXh0QnV0dG9uO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IHBkXzE6YW55ID0gKCg8YW55Pl9kZWNsMF82OS5jbG9zZSgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfVXNlckdyb3VwTGlzdENvbXBvbmVudF9Ib3N0XzEwXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1VzZXJHcm91cExpc3RDb21wb25lbnRfMTBfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzcwLmFuaW1hdGlvbjtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzcwLnBhbmVsVGl0bGU7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF83MC5sb2FkaW5nO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfNzAuc2VhcmNoS2V5O1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsKChfZGVjbDBfNzAuY3VycmVudFRhYiA9PT0gJ1VTRVInKT8gJ1NlYXJjaCBVc2VyJzogJ1NlYXJjaCBHcm91cCcpLFxuICAgICAgJycpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfNzAuZ3JvdXBFbmFibGVkO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoX2RlY2wwXzcwLmN1cnJlbnRUYWIgPT09ICdVU0VSJyk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IChfZGVjbDBfNzAuY3VycmVudFRhYiA9PT0gJ0dST1VQJyk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICFfZGVjbDBfNzAuc2luZ2xlU2VsZWN0O1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfNzAuc2luZ2xlU2VsZWN0O1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzcwLnNob3dDb25maXJtYXRpb247XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IHBkXzExOmFueSA9ICgoPGFueT4oX2RlY2wwXzcwLnNlYXJjaEtleSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQXNzZXNzbWVudFBpY2tlckNvbXBvbmVudF9Ib3N0XzExXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRQaWNrZXJDb21wb25lbnRfMTFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzcxLmlzUHJldmlldztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzcxLmFuaW1hdGlvbjtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzcxLnNlYXJjaEFzc2Vzc21lbnRzO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAnJztcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKChfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5LnRvdGFsUGFnZSk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICgoX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeS5zdGFydF92YWx1ZSk7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeS5lbmRfdmFsdWUpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkudG90YWxSZWNvcmRzKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKChfZGVjbDBfNzEuYXNzZXNzbWVudENhdGVnb3J5LmRhdGEubGVuZ3RoID09PSAwKSAmJiAhX2RlY2wwXzcxLmlzTG9hZGVyKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF83MS5hc3Nlc3NtZW50Q2F0ZWdvcnkuZGF0YS5sZW5ndGggfHwgX2RlY2wwXzcxLmlzTG9hZGVyKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICghX2RlY2wwXzcxLmFzc2Vzc21lbnRDYXRlZ29yeS5kYXRhLmxlbmd0aCAmJiAhX2RlY2wwXzcxLmlzTG9hZGVyKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKF9kZWNsMF83MS5zZWxlY3RlZEFzc2Vzc21lbnQgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF83MS5zZWxlY3RlZEFzc2Vzc21lbnQubGVuZ3RoKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoKChfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50ID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfNzEuc2VsZWN0ZWRBc3Nlc3NtZW50Lmxlbmd0aCkgPT09IDEpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9ICgoKF9kZWNsMF83MS5zZWxlY3RlZEFzc2Vzc21lbnQgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF83MS5zZWxlY3RlZEFzc2Vzc21lbnQubGVuZ3RoKSA+IDEpO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IHRydWU7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzcxLnNlbGVjdGVkQXNzZXNzbWVudDtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgcGRfMTY6YW55ID0gKCg8YW55PihfZGVjbDBfNzEuc2VhcmNoQXNzZXNzbWVudHMgPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTc6YW55ID0gKCg8YW55Pl9kZWNsMF83MS5vbkFzc2Vzc21lbnRTZWFyY2goX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+X2RlY2wwXzcxLm9uQWxwaGFiZXRTZWxlY3RlZChfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTk6YW55ID0gKCg8YW55Pl9kZWNsMF83MS5vblBhZ2VTZWxlY3Rpb24oX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIwOmFueSA9ICgoPGFueT5fZGVjbDBfNzEuc2F2ZSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMTphbnkgPSAoKDxhbnk+X2RlY2wwXzcxLmNsb3NlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19Bc3Nlc3NtZW50TG9hZGVyQ29tcG9uZW50X0hvc3RfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQXNzZXNzbWVudExvYWRlckNvbXBvbmVudF8xMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoPGFueT5bMSwxLDEsMSwxLDEsMV0pO1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19Bc3Nlc3NtZW50U3ViTG9hZGVyQ29tcG9uZW50X0hvc3RfMTNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQXNzZXNzbWVudFN1YkxvYWRlckNvbXBvbmVudF8xM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoPGFueT5bMSwxLDEsMSwxLDEsMV0pO1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19QYWdpbmF0aW9uX0hvc3RfMTRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfUGFnaW5hdGlvbl8xNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNzQubm9GaWx0ZXI7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICFfZGVjbDBfNzQubm9GaWx0ZXI7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfNzQucGFnZUNvdW50ID4gMSk7XG4gIGN1cnJWYWxfMjtcbn1cbmZ1bmN0aW9uIF9WaWV3X0RlZmluZUZyYW1ld29ya0xpc3RpbmdDb21wb25lbnRfSG9zdF8xNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19EZWZpbmVGcmFtZXdvcmtMaXN0aW5nQ29tcG9uZW50XzE1XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF83NS5hbmltYXRpb247XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfNzUuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUktfQ0FURUdPUlknKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF83NS5jdXJyZW50VmlldyA9PT0gJ0ZSQU1FV09SSycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzc1LmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IChfZGVjbDBfNzUuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUksnKTtcbiAgY3VyclZhbF80O1xufVxuZnVuY3Rpb24gX1ZpZXdfQ3VzdG9tRmllbGRDb21wb25lbnRfSG9zdF8xNl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19DdXN0b21GaWVsZENvbXBvbmVudF8xNl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfNzYuY3VzdG9tRmllbGRzO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IHBkXzE6YW55ID0gKCg8YW55Pl9kZWNsMF83Ni5tYW5pcHVsYXRlQ3VzdG9tRmllbGQoJ0FERCcpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTG9hZGVyQ29tcG9uZW50X0hvc3RfMTdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTG9hZGVyQ29tcG9uZW50XzE3XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICg8YW55PlsxLDEsMSwxLDEsMSwxXSk7XG4gIGN1cnJWYWxfMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvYWRlckZyYW1ld29ya0NvbXBvbmVudF9Ib3N0XzE4XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvYWRlckZyYW1ld29ya0NvbXBvbmVudF8xOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoPGFueT5bMSwxLDEsMSwxLDEsMV0pO1xuICBjdXJyVmFsXzA7XG59XG4iXX0=
@@ -6,7 +6,6 @@ export class UserGroupListComponent {
6
6
  this.panelTitle = 'Select User(s)';
7
7
  this.singleSelect = false;
8
8
  this.fieldType = '';
9
- this.featureflag = false;
10
9
  this.searchKey = '';
11
10
  this.usersList = [];
12
11
  this.groupsList = [];
@@ -254,7 +253,7 @@ export class UserGroupListComponent {
254
253
  UserGroupListComponent.decorators = [
255
254
  { type: Component, args: [{
256
255
  selector: 'user-group-list',
257
- template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{userListInfo?.total_items || usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}}<span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{groupListInfo?.total_items || groupsList?.length}}</span></button>\r\n </div>\r\n\r\n\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER'\">\r\n <ng-container *ngIf=\"(usersList|search:searchKey:'member_name') as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let user of users \">\r\n <vui-checkbox *ngIf=\"!singleSelect\" (change)=\"selectItem($event,user)\" [disabled]=\"nonRemovableUserIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds.includes(user?.member_id)\"><div class=\"user-name\" [appTooltip]=\"user?.member_email\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{user?.member_name}}</div></vui-checkbox>\r\n <app-cs-radio *ngIf=\"singleSelect\" [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let group of groupsList\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds.includes(group?.group_id)\">\r\n <div class=\"user-name\">{{group?.group_name}}\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase vx-ml-2\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"!singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\">&#xe90d;</i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1).length}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">{{selectedUsers?.length}}</div>\r\n </ng-container>\r\n <div class=\"name\">\r\n <span *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n <span *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'are selected'}}</span>\r\n </div>\r\n\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">{{selectedGroups?.length}}</div>\r\n <div class=\"name\" >\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe90d;</i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\">&#xe930;</i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
256
+ template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n </div>\r\n\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{userListInfo?.total_items || usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">GROUPS <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{groupListInfo?.total_items || groupsList?.length}}</span></button>\r\n </div>\r\n\r\n\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER'\">\r\n <ng-container *ngIf=\"(usersList|search:searchKey:'member_name') as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let user of users \">\r\n <vui-checkbox *ngIf=\"!singleSelect\" (change)=\"selectItem($event,user)\" [disabled]=\"nonRemovableUserIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds.includes(user?.member_id)\"><div class=\"user-name\" [appTooltip]=\"user?.member_email\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{user?.member_name}}</div></vui-checkbox>\r\n <app-cs-radio *ngIf=\"singleSelect\" [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let group of groupsList\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds.includes(group?.group_id)\">\r\n <div class=\"user-name\">{{group?.group_name}}\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase vx-ml-2\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"!singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\">&#xe90d;</i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1).length}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">{{selectedUsers?.length}}</div>\r\n </ng-container>\r\n <div class=\"name\">\r\n <span *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n <span *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'are selected'}}</span>\r\n </div>\r\n\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">{{selectedGroups?.length}}</div>\r\n <div class=\"name\" >\r\n <span *ngIf=\"selectedGroups?.length === 1\">Group selected</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">Groups selected</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\">&#xe90d;</i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\">&#xe90d;</i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\">&#xe930;</i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
258
257
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");::ng-deep .user-group-list{background:#fff;position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .user-group-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .user-group-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .user-group-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .user-group-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 124px)}::ng-deep .user-group-list-body .search-block{position:relative}::ng-deep .user-group-list-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .user-group-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .user-group-list-mid{width:calc(100% + .75rem);height:calc(100vh - 13.5rem);overflow:auto;padding-right:.75rem}::ng-deep .user-group-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-group-list-mid.with-pagination{height:calc(100vh - 17.5rem)}::ng-deep .user-group-list-mid .selected-owners{border-bottom:1px solid #dbdbdb}::ng-deep .user-group-list-mid .user-list-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkmark,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value{color:#747576!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value .user-name,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul{list-style-type:none;align-items:flex-start;flex-wrap:wrap}::ng-deep .user-group-list-mid .user-list-item ul li{width:50%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox{width:calc(100% - 4.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value{color:#747576!important;font-size:12px!important;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .user-group-list-tab{border-bottom:1px solid #f1f1f1}::ng-deep .user-group-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:2.5rem!important}::ng-deep .user-group-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .user-group-list-tab button.active{pointer-events:none}::ng-deep .user-group-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .user-group-list-tab button.active.tab-btn span{background:#1e5dd3;color:#fff;font-weight:500}::ng-deep .user-group-list-confirmation{background:#161b2f;border-radius:.25rem;position:absolute;left:1rem;right:1rem;bottom:1.75rem;z-index:1}::ng-deep .user-group-list-confirmation .confirmation-top{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block{height:2.25rem;width:2.25rem;border-radius:50%;background:#fff;border:1px solid #dbdbdb;display:flex;justify-content:center;align-items:center;margin-right:1rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block i{color:#eb2424;font-size:12px}::ng-deep .user-group-list-confirmation .confirmation-top .text{color:#fff;font-size:14px;font-weight:300}::ng-deep .user-group-list-confirmation .confirmation-bottom{background:#282e48;border-radius:0 0 .25rem .25rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}::ng-deep .user-group-list-confirmation .confirmation-bottom .message{font-size:14px;font-weight:500;line-height:20px;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group{display:flex}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button{height:1.5rem;width:4rem;border:1px solid #fff;border-radius:.125rem;display:flex;align-items:center;justify-content:center;line-height:22px;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500;padding:0}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.no-btn{background:transparent;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.yes-btn{background:#fff;color:#1e5dd3;margin-left:.25rem}.group{background:#1e5dd3!important;border-color:#1e5dd3!important}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}"]
259
258
  },] }
260
259
  ];
@@ -266,7 +265,6 @@ UserGroupListComponent.propDecorators = {
266
265
  panelTitle: [{ type: Input }],
267
266
  singleSelect: [{ type: Input }],
268
267
  fieldType: [{ type: Input }],
269
- featureflag: [{ type: Input }],
270
268
  userListInfo: [{ type: Input }],
271
269
  groupListInfo: [{ type: Input }],
272
270
  fetchUserData: [{ type: Output }],
@@ -280,4 +278,4 @@ UserGroupListComponent.propDecorators = {
280
278
  setGroupList: [{ type: Input, args: ['groupList',] }],
281
279
  setSelectedGroup: [{ type: Input, args: ['selectedGroups',] }]
282
280
  };
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8sc0JBQXNCO0lBa05qQztRQWhOVSxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixlQUFVLEdBQUUsZ0JBQWdCLENBQUM7UUFDN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FBUyxHQUFFLEVBQUUsQ0FBQTtRQUNiLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBQzVCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFHZixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFLWCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEMsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUd2Qix5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDeEMsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLGlCQUFZLEdBQVEsRUFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXNlci1ncm91cC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckdyb3VwTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZ3JvdXBFbmFibGVkICE6IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhbmVsVGl0bGUgPSdTZWxlY3QgVXNlcihzKSc7XHJcbiAgQElucHV0KCkgc2luZ2xlU2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmllbGRUeXBlID0nJ1xyXG4gIEBJbnB1dCgpIGZlYXR1cmVmbGFnID0gZmFsc2VcclxuICBzZWFyY2hLZXkgPSAnJztcclxuICBpc1BhZ2luYXRpb246IGFueTtcclxuXHJcbiAgdXNlcnNMaXN0OiBhbnkgPSBbXTtcclxuICBncm91cHNMaXN0OiBhbnkgPSBbXTtcclxuXHJcbiAgQElucHV0KCkgdXNlckxpc3RJbmZvICE6IGFueTtcclxuICBASW5wdXQoKSBncm91cExpc3RJbmZvICE6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIGZldGNoVXNlckRhdGEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZVVzZXJJZHM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkVXNlcnM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkVXNlcklkczogYW55ID0gW107XHJcbiAgYWxsVXNlcnNJZHM6IGFueSA9IFtdO1xyXG4gIGFsbFVzZXJTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIGFsbFVzZXJTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcblxyXG5cclxuICBASW5wdXQoKSBub25SZW1vdmFibGVHcm91cElkczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cHM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkR3JvdXBJZHM6IGFueSA9IFtdO1xyXG4gIGFsbEdyb3Vwc0lkczogYW55ID0gW107XHJcbiAgYWxsR3JvdXBTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIGFsbEdyb3VwU2VsZWN0ZWREaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICB1c2VyQ3VycmVudFBhZ2UgPSAxO1xyXG4gIGdyb3VwQ3VycmVudFBhZ2UgPSAxO1xyXG5ASW5wdXQoKSBsb2FkaW5nICE6Ym9vbGVhbjtcclxuICBASW5wdXQoJ3VzZXJsaXN0Jykgc2V0IHNldFVzZXJMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxVc2Vyc0lkcyA9IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkVXNlcnMnKSBzZXQgc2V0U2VsZWN0ZWRVc2VyKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLnNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSwgJ21lbWJlcl9pZCcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgIHRoaXMuc2V0VXNlckxpc3RJbml0KCk7XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0U2VsZWN0ZWRVc2VyczogYW55ICA9IFtdO1xyXG4gIGRlZmF1bHRTZWxlY3RlZFVzZXJJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgnZGVmYXVsdFNlbGVjdGVkVXNlcnMnKSBzZXQgc2V0RGVmYXVsdFNlbGVjdGVkVXNlcnModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VycyA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzLCAuLi52YWx1ZV0sICdtZW1iZXJfaWQnKTtcclxuICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcyA9IHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG4gIH1cclxuICBASW5wdXQoKSB1c2VyVHlwZTogc3RyaW5nID0gJ2Fzc2lnbmVlcyc7XHJcbiAgc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgc2V0VXNlckxpc3RJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudXNlckN1cnJlbnRQYWdlID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xyXG4gICAgICBjb25zdCBvdGhlclVzZXIgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoKGVsZTogYW55KSA9PiAhdGhpcy5zZWxlY3RlZFVzZXJJZHMuaW5jbHVkZXMoZWxlPy5tZW1iZXJfaWQpKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmc2ZzZnNmXCIsIHNlbGVjdGVkLCBvdGhlclVzZXIpXHJcbiAgICAgIHRoaXMudXNlcnNMaXN0ID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnNlbGVjdGVkPy5zb3J0KCksIC4uLm90aGVyVXNlcj8uc29ydCgpXSwgJ21lbWJlcl9pZCcpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGFsbFVzZXJTZWxlY3RlZFN0YXR1cygpIHtcclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkID0gdGhpcy5hbGxVc2Vyc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT0gdGhpcy5zZWxlY3RlZFVzZXJJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWREaXNhYmxlZCA9ICh0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCkgKSAmJiB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLm5vblJlbW92YWJsZVVzZXJJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgnZ3JvdXBMaXN0Jykgc2V0IHNldEdyb3VwTGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWU/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmdyb3Vwc0xpc3QgPSBbLi4udmFsdWVdO1xyXG4gICAgICB0aGlzLmFsbEdyb3Vwc0lkcyA9IHRoaXMuZ3JvdXBzTGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkKTtcclxuICAgICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICAgIHRoaXMuc2V0R3JvdXBMaXN0SW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRHcm91cHMnKSBzZXQgc2V0U2VsZWN0ZWRHcm91cCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRHcm91cHMsIC4uLnZhbHVlXSwgJ2dyb3VwX2lkJyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIHNldEdyb3VwTGlzdEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyQ3VycmVudFBhZ2UgPT09IDEpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkR3JvdXBzO1xyXG4gICAgICBjb25zdCBvdGhlckdyb3VwID0gdGhpcy5ncm91cHNMaXN0LmZpbHRlcigoZWxlOiBhbnkpID0+ICF0aGlzLnNlbGVjdGVkR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZCkpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZzZnNmc2ZcIiwgc2VsZWN0ZWQsIG90aGVyR3JvdXApXHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdCA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi5zZWxlY3RlZD8uc29ydCgpLCAuLi5vdGhlckdyb3VwPy5zb3J0KCldLCAnZ3JvdXBfaWQnKVxyXG4gICAgfVxyXG4gIH1cclxuICBhbGxHcm91cFNlbGVjdGVkU3RhdHVzKCkge1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkID0gdGhpcy5hbGxHcm91cHNJZHM/LnNvcnQoKT8udG9TdHJpbmcoKSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzPy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWREaXNhYmxlZCA9ICh0aGlzLmFsbEdyb3Vwc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLnNvcnQoKT8udG9TdHJpbmcoKSApICYmIHRoaXMuYWxsR3JvdXBzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLm5vblJlbW92YWJsZUdyb3VwSWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG5cclxuICB1c2VyUGFnZUNoYW5nZShwYWdlOiBhbnkpIHtcclxuICAgIHRoaXMudXNlckN1cnJlbnRQYWdlID0gcGFnZTtcclxuICAgIHRoaXMuZmV0Y2hVc2VyRGF0YS5lbWl0KHsgcGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKiBTZWxlY3RzIGl0ZW0gb3IgZGVzZWxlY3QgYSBpdG1lXHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgc2VsZWN0SXRlbShldnQ6IGFueSwgcGF5bG9hZDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImZyb20gc2VsXCIsZXZ0KVxyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUgPyB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0FERCcsIHBheWxvYWQpIDogdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKCdERUxFVEUnLCBwYXlsb2FkKVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbVJhZGlvKGV2dDphbnkscGF5bG9hZDphbnkpe1xyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSBbXTtcclxuICAgICAgdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkVXNlcihhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRVc2VycywgLi4uW3BheWxvYWRdXSwgJ21lbWJlcl9pZCcpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZClcclxuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xyXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkVXNlcnMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgPT09IHBheWxvYWQ/Lm1lbWJlcl9pZCk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy5zZWxlY3RlZFVzZXJzLmZpbHRlcigoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkICE9PSBwYXlsb2FkPy5tZW1iZXJfaWQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5zZWxlY3RlZFVzZXJJZHMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSBwYXlsb2FkPy5tZW1iZXJfaWQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbFVzZXIoZXZ0OmFueSl7XHJcbiAgICBpZihldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9ICB0aGlzLnVzZXJzTGlzdC5tYXAoKGVsZTphbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuXHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigoZWxlOmFueSkgPT4gdGhpcy5ub25SZW1vdmFibGVVc2VySWRzLmluY2x1ZGVzKGVsZT8ubWVtYmVyX2lkKSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5zZWxlY3RlZFVzZXJzLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKiBTZWxlY3RzIGl0ZW0gb3IgZGVzZWxlY3QgYSBpdG1lXHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgc2VsZWN0R3JvdXAoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUgPyB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKCdBREQnLCBwYXlsb2FkKSA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoJ0RFTEVURScsIHBheWxvYWQpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBNYW5pcHVsYXRlcyBzZWxlY3RlZCBpdGVtcyBpbiByb2xlIGxpc3RcclxuICAgKiBAcGFyYW0gYWN0aW9uIDonQUREJyB8ICdERUxFVEUnXHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBtYW5pcHVsYXRlU2VsZWN0ZWRHcm91cChhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLnNlbGVjdGVkR3JvdXBzLCAuLi5bcGF5bG9hZF1dLCAnZ3JvdXBfaWQnKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkKVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCA9PT0gcGF5bG9hZD8uZ3JvdXBfaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLmZpbHRlcigoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQgIT09IHBheWxvYWQ/Lmdyb3VwX2lkKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSBwYXlsb2FkPy5ncm91cF9pZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbEdyb3VwKGV2dDphbnkpe1xyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy5ncm91cHNMaXN0O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSAgdGhpcy5ncm91cHNMaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcblxyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy5ncm91cHNMaXN0LmZpbHRlcigoZWxlOmFueSkgPT4gdGhpcy5ub25SZW1vdmFibGVHcm91cElkcy5pbmNsdWRlcyhlbGU/Lmdyb3VwX2lkKSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKChlbGU6YW55KSA9PiBlbGU/Lmdyb3VwX2lkKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uVmlzaWJsZSgpO1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuICBjdXJyZW50VGFiID0gJ1VTRVInXHJcbiAgc3dpdGNoVGFiKHRhYjpzdHJpbmcpe1xyXG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xyXG4gICAgdGhpcy5zZWFyY2hLZXkgPSAnJ1xyXG4gIH1cclxuXHJcbiAgc2F2ZUxpc3QoKSB7XHJcbiAgICBpZih0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHMgJiYgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzPy5sZW5ndGggJiYgdGhpcy5zZWxlY3RlZFVzZXJJZHMgJiYgdGhpcy5zZWxlY3RlZFVzZXJJZHM/Lmxlbmd0aCl7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcz8uZm9yRWFjaCgoaWQ6IG51bWJlcik6IGFueSA9PiB7XHJcbiAgICAgICAgaWYoIXRoaXMuc2VsZWN0ZWRVc2VySWRzPy5pbmNsdWRlcyhpZCkpe1xyXG4gICAgICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5zaG93Q29uZmlybWF0aW9uKSB0aGlzLnNhdmUuZW1pdCh7IHVzZXJzOiB0aGlzLnNlbGVjdGVkVXNlcnMsIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1BY3Rpb24oZXZ0OidZRVMnfCdOTycpe1xyXG4gICAgaWYoZXZ0ID09PSAnWUVTJyl7XHJcbiAgICAgIHRoaXMuc2F2ZS5lbWl0KHsgdXNlcnM6IHRoaXMuc2VsZWN0ZWRVc2VycywgZ3JvdXBzOiB0aGlzLnNlbGVjdGVkR3JvdXBzIH0pO1xyXG4gICAgfWVsc2UgaWYoZXZ0ID09PSAnTk8nKXtcclxuICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpc3QoKSB7XHJcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvL1xyXG5cclxuICAvKipcclxuICogIyMjIyBEZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBSZXR1cm5zIHRoZSB1bmlxdWUgYXJyYXkgb2Ygb2JqZWN0IGJhc2VkIG9uIHVuaXF1ZSBrZXlcclxuICogQHBhcmFtIGFycmF5XHJcbiAqIEBwYXJhbSBrZXlcclxuICogQHJldHVybnNcclxuICovXHJcbiAgdW5pcXVlQnlQcm9wKGFycmF5OiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbShcclxuICAgICAgYXJyYXlcclxuICAgICAgICAucmVkdWNlKFxyXG4gICAgICAgICAgKGFjYzogYW55LCBpdGVtOiBhbnkpID0+IChcclxuICAgICAgICAgICAgaXRlbSAmJiBpdGVtW2tleV0gJiYgYWNjLnNldChpdGVtW2tleV0sIGl0ZW0pLFxyXG4gICAgICAgICAgICBhY2NcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBuZXcgTWFwKClcclxuICAgICAgICApXHJcbiAgICAgICAgLnZhbHVlcygpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcGFnaW5hdGlvblZpc2libGUoKXtcclxuICAgIGlmKHRoaXMudXNlckxpc3RJbmZvPy50b3RhbF9wYWdlcyAgPiAxKXtcclxuICAgICAgdGhpcy5pc1BhZ2luYXRpb24gPSB0cnVlO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8sc0JBQXNCO0lBaU5qQztRQS9NVSxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixlQUFVLEdBQUUsZ0JBQWdCLENBQUM7UUFDN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FBUyxHQUFFLEVBQUUsQ0FBQTtRQUN0QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBR2YsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBS1gsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBDLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUN2QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFHdkIseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQ3hDLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxL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dmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1c2VyLWdyb3VwLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWdyb3VwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyR3JvdXBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBncm91cEVuYWJsZWQgITogZmFsc2U7XHJcbiAgQElucHV0KCkgcGFuZWxUaXRsZSA9J1NlbGVjdCBVc2VyKHMpJztcclxuICBASW5wdXQoKSBzaW5nbGVTZWxlY3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWVsZFR5cGUgPScnXHJcbiAgc2VhcmNoS2V5ID0gJyc7XHJcbiAgaXNQYWdpbmF0aW9uOiBhbnk7XHJcblxyXG4gIHVzZXJzTGlzdDogYW55ID0gW107XHJcbiAgZ3JvdXBzTGlzdDogYW55ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHVzZXJMaXN0SW5mbyAhOiBhbnk7XHJcbiAgQElucHV0KCkgZ3JvdXBMaXN0SW5mbyAhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmZXRjaFVzZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBub25SZW1vdmFibGVVc2VySWRzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZFVzZXJzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZFVzZXJJZHM6IGFueSA9IFtdO1xyXG4gIGFsbFVzZXJzSWRzOiBhbnkgPSBbXTtcclxuICBhbGxVc2VyU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBhbGxVc2VyU2VsZWN0ZWREaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgQElucHV0KCkgbm9uUmVtb3ZhYmxlR3JvdXBJZHM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkR3JvdXBzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEdyb3VwSWRzOiBhbnkgPSBbXTtcclxuICBhbGxHcm91cHNJZHM6IGFueSA9IFtdO1xyXG4gIGFsbEdyb3VwU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBhbGxHcm91cFNlbGVjdGVkRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgdXNlckN1cnJlbnRQYWdlID0gMTtcclxuICBncm91cEN1cnJlbnRQYWdlID0gMTtcclxuQElucHV0KCkgbG9hZGluZyAhOmJvb2xlYW47XHJcbiAgQElucHV0KCd1c2VybGlzdCcpIHNldCBzZXRVc2VyTGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWU/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnVzZXJzTGlzdCA9IFsuLi52YWx1ZV07XHJcbiAgICAgIHRoaXMuYWxsVXNlcnNJZHMgPSB0aGlzLnVzZXJzTGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICAgIHRoaXMuc2V0VXNlckxpc3RJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZFVzZXJzJykgc2V0IHNldFNlbGVjdGVkVXNlcih2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZFVzZXJzLCAuLi52YWx1ZV0sICdtZW1iZXJfaWQnKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5zZWxlY3RlZFVzZXJzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgICB0aGlzLnNldFVzZXJMaXN0SW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVmYXVsdFNlbGVjdGVkVXNlcnM6IGFueSAgPSBbXTtcclxuICBkZWZhdWx0U2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoJ2RlZmF1bHRTZWxlY3RlZFVzZXJzJykgc2V0IHNldERlZmF1bHRTZWxlY3RlZFVzZXJzKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VycywgLi4udmFsdWVdLCAnbWVtYmVyX2lkJyk7XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHMgPSB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICB9XHJcbiAgQElucHV0KCkgdXNlclR5cGU6IHN0cmluZyA9ICdhc3NpZ25lZXMnO1xyXG4gIHNob3dDb25maXJtYXRpb24gPSBmYWxzZTtcclxuXHJcblxyXG4gIHNldFVzZXJMaXN0SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnVzZXJDdXJyZW50UGFnZSA9PT0gMSkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRVc2VycztcclxuICAgICAgY29uc3Qgb3RoZXJVc2VyID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKChlbGU6IGFueSkgPT4gIXRoaXMuc2VsZWN0ZWRVc2VySWRzLmluY2x1ZGVzKGVsZT8ubWVtYmVyX2lkKSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZnNmc2ZzZlwiLCBzZWxlY3RlZCwgb3RoZXJVc2VyKVxyXG4gICAgICB0aGlzLnVzZXJzTGlzdCA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi5zZWxlY3RlZD8uc29ydCgpLCAuLi5vdGhlclVzZXI/LnNvcnQoKV0sICdtZW1iZXJfaWQnKVxyXG4gICAgfVxyXG4gIH1cclxuICBhbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZCA9IHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkRGlzYWJsZWQgPSAodGhpcy5hbGxVc2Vyc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT0gdGhpcy5zZWxlY3RlZFVzZXJJZHMuc29ydCgpPy50b1N0cmluZygpICkgJiYgdGhpcy5hbGxVc2Vyc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT0gdGhpcy5ub25SZW1vdmFibGVVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoJ2dyb3VwTGlzdCcpIHNldCBzZXRHcm91cExpc3QodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5ncm91cHNMaXN0ID0gWy4uLnZhbHVlXTtcclxuICAgICAgdGhpcy5hbGxHcm91cHNJZHMgPSB0aGlzLmdyb3Vwc0xpc3QubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgICB0aGlzLnNldEdyb3VwTGlzdEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR3JvdXBzJykgc2V0IHNldFNlbGVjdGVkR3JvdXAodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLnNlbGVjdGVkR3JvdXBzLCAuLi52YWx1ZV0sICdncm91cF9pZCcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkKTtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgdGhpcy5zZXRHcm91cExpc3RJbml0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRHcm91cExpc3RJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudXNlckN1cnJlbnRQYWdlID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEdyb3VwcztcclxuICAgICAgY29uc3Qgb3RoZXJHcm91cCA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTogYW55KSA9PiAhdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmluY2x1ZGVzKGVsZT8uZ3JvdXBfaWQpKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmc2ZzZnNmXCIsIHNlbGVjdGVkLCBvdGhlckdyb3VwKVxyXG4gICAgICB0aGlzLmdyb3Vwc0xpc3QgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4uc2VsZWN0ZWQ/LnNvcnQoKSwgLi4ub3RoZXJHcm91cD8uc29ydCgpXSwgJ2dyb3VwX2lkJylcclxuICAgIH1cclxuICB9XHJcbiAgYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpIHtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZCA9IHRoaXMuYWxsR3JvdXBzSWRzPy5zb3J0KCk/LnRvU3RyaW5nKCkgPT09IHRoaXMuc2VsZWN0ZWRHcm91cElkcz8uc29ydCgpPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hbGxHcm91cFNlbGVjdGVkRGlzYWJsZWQgPSAodGhpcy5hbGxHcm91cHNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMuc2VsZWN0ZWRHcm91cElkcy5zb3J0KCk/LnRvU3RyaW5nKCkgKSAmJiB0aGlzLmFsbEdyb3Vwc0lkcy5zb3J0KCkudG9TdHJpbmcoKSA9PT0gdGhpcy5ub25SZW1vdmFibGVHcm91cElkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdXNlclBhZ2VDaGFuZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJDdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLmZldGNoVXNlckRhdGEuZW1pdCh7IHBhZ2UsIHNlYXJjaEtleTogdGhpcy5zZWFyY2hLZXkgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogU2VsZWN0cyBpdGVtIG9yIGRlc2VsZWN0IGEgaXRtZVxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIHNlbGVjdEl0ZW0oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJmcm9tIHNlbFwiLGV2dClcclxuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlID8gdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKCdBREQnLCBwYXlsb2FkKSA6IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignREVMRVRFJywgcGF5bG9hZClcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW1SYWRpbyhldnQ6YW55LHBheWxvYWQ6YW55KXtcclxuICAgIGlmKGV2dD8udGFyZ2V0Py5jaGVja2VkKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gW107XHJcbiAgICAgIHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignQUREJywgcGF5bG9hZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIE1hbmlwdWxhdGVzIHNlbGVjdGVkIGl0ZW1zIGluIHJvbGUgbGlzdFxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOidBREQnIHwgJ0RFTEVURSdcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIG1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMudW5pcXVlQnlQcm9wKFsuLi50aGlzLnNlbGVjdGVkVXNlcnMsIC4uLltwYXlsb2FkXV0sICdtZW1iZXJfaWQnKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQpXHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ0RFTEVURScpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFVzZXJzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkID09PSBwYXlsb2FkPy5tZW1iZXJfaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCAhPT0gcGF5bG9hZD8ubWVtYmVyX2lkKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2VySWRzLmZpbHRlcigoZWxlOiBhbnkpID0+IGVsZSAhPT0gcGF5bG9hZD8ubWVtYmVyX2lkKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gIH1cclxuICBzZWxlY3RBbGxVc2VyKGV2dDphbnkpe1xyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnVzZXJzTGlzdDtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSAgdGhpcy51c2Vyc0xpc3QubWFwKChlbGU6YW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcblxyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnVzZXJzTGlzdC5maWx0ZXIoKGVsZTphbnkpID0+IHRoaXMubm9uUmVtb3ZhYmxlVXNlcklkcy5pbmNsdWRlcyhlbGU/Lm1lbWJlcl9pZCkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTphbnkpID0+IGVsZT8ubWVtYmVyX2lkKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWxsVXNlclNlbGVjdGVkU3RhdHVzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogU2VsZWN0cyBpdGVtIG9yIGRlc2VsZWN0IGEgaXRtZVxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIHNlbGVjdEdyb3VwKGV2dDogYW55LCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlID8gdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRHcm91cCgnQUREJywgcGF5bG9hZCkgOiB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKCdERUxFVEUnLCBwYXlsb2FkKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTWFuaXB1bGF0ZXMgc2VsZWN0ZWQgaXRlbXMgaW4gcm9sZSBsaXN0XHJcbiAgICogQHBhcmFtIGFjdGlvbiA6J0FERCcgfCAnREVMRVRFJ1xyXG4gICAqIEBwYXJhbSBwYXlsb2FkXHJcbiAgICovXHJcbiAgbWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZEdyb3VwcywgLi4uW3BheWxvYWRdXSwgJ2dyb3VwX2lkJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZClcclxuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xyXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkR3JvdXBzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQgPT09IHBheWxvYWQ/Lmdyb3VwX2lkKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkICE9PSBwYXlsb2FkPy5ncm91cF9pZCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmZpbHRlcigoZWxlOiBhbnkpID0+IGVsZSAhPT0gcGF5bG9hZD8uZ3JvdXBfaWQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZFN0YXR1cygpO1xyXG4gIH1cclxuICBzZWxlY3RBbGxHcm91cChldnQ6YW55KXtcclxuICAgIGlmKGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdDtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gIHRoaXMuZ3JvdXBzTGlzdC5tYXAoKGVsZTphbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG5cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTphbnkpID0+IHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZCkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnaW5hdGlvblZpc2libGUoKTtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcbiAgY3VycmVudFRhYiA9ICdVU0VSJ1xyXG4gIHN3aXRjaFRhYih0YWI6c3RyaW5nKXtcclxuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcclxuICAgIHRoaXMuc2VhcmNoS2V5ID0gJydcclxuICB9XHJcblxyXG4gIHNhdmVMaXN0KCkge1xyXG4gICAgaWYodGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcz8ubGVuZ3RoICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzPy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHM/LmZvckVhY2goKGlkOiBudW1iZXIpOiBhbnkgPT4ge1xyXG4gICAgICAgIGlmKCF0aGlzLnNlbGVjdGVkVXNlcklkcz8uaW5jbHVkZXMoaWQpKXtcclxuICAgICAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuc2hvd0NvbmZpcm1hdGlvbikgdGhpcy5zYXZlLmVtaXQoeyB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLCBncm91cHM6IHRoaXMuc2VsZWN0ZWRHcm91cHMgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQWN0aW9uKGV2dDonWUVTJ3wnTk8nKXtcclxuICAgIGlmKGV2dCA9PT0gJ1lFUycpe1xyXG4gICAgICB0aGlzLnNhdmUuZW1pdCh7IHVzZXJzOiB0aGlzLnNlbGVjdGVkVXNlcnMsIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyB9KTtcclxuICAgIH1lbHNlIGlmKGV2dCA9PT0gJ05PJyl7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VMaXN0KCkge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy9cclxuXHJcbiAgLyoqXHJcbiAqICMjIyMgRGVzY3JpcHRpb25cclxuICpcclxuICogUmV0dXJucyB0aGUgdW5pcXVlIGFycmF5IG9mIG9iamVjdCBiYXNlZCBvbiB1bmlxdWUga2V5XHJcbiAqIEBwYXJhbSBhcnJheVxyXG4gKiBAcGFyYW0ga2V5XHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oXHJcbiAgICAgIGFycmF5XHJcbiAgICAgICAgLnJlZHVjZShcclxuICAgICAgICAgIChhY2M6IGFueSwgaXRlbTogYW55KSA9PiAoXHJcbiAgICAgICAgICAgIGl0ZW0gJiYgaXRlbVtrZXldICYmIGFjYy5zZXQoaXRlbVtrZXldLCBpdGVtKSxcclxuICAgICAgICAgICAgYWNjXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgbmV3IE1hcCgpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC52YWx1ZXMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBhZ2luYXRpb25WaXNpYmxlKCl7XHJcbiAgICBpZih0aGlzLnVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgID4gMSl7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmlzUGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=