@csmart/ngc-smart-victim 1.18.19 → 1.18.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,6 +36,7 @@ export class NgcSmartVictimComponent {
36
36
  this.intakeService = intakeService;
37
37
  this.smartWarrantUrl = smartWarrantUrl;
38
38
  this.document = document;
39
+ this.intakeFlag = "false";
39
40
  this.appModuleId = '';
40
41
  this.activatedRoute = null;
41
42
  this.victims = [];
@@ -46,6 +47,7 @@ export class NgcSmartVictimComponent {
46
47
  this.doSpin = false;
47
48
  this.showListFlag = false;
48
49
  this.msg = "";
50
+ this.selectedOffender = {};
49
51
  this.isIntake = false;
50
52
  }
51
53
  // private onChange(filter: VictimListFilter) {
@@ -89,19 +91,19 @@ export class NgcSmartVictimComponent {
89
91
  accessType: AccessType.UPDATE,
90
92
  appModuleId: this.appModuleId,
91
93
  roleId: null,
92
- route: this.activatedRoute.snapshot,
94
+ route: this.activatedRoute?.snapshot,
93
95
  };
94
96
  this.createAccessControlConfig = {
95
97
  accessType: AccessType.CREATE,
96
98
  appModuleId: this.appModuleId,
97
99
  roleId: null,
98
- route: this.activatedRoute.snapshot,
100
+ route: this.activatedRoute?.snapshot,
99
101
  };
100
102
  this.deleteAccessControlConfig = {
101
103
  accessType: AccessType.DELETE,
102
104
  appModuleId: this.appModuleId,
103
105
  roleId: null,
104
- route: this.activatedRoute.snapshot,
106
+ route: this.activatedRoute?.snapshot,
105
107
  };
106
108
  }
107
109
  ngOnInit() {
@@ -117,14 +119,12 @@ export class NgcSmartVictimComponent {
117
119
  console.log("staff id at smart-victim");
118
120
  console.log(this.staffId);
119
121
  console.log("insakeFlag at smart-victim");
120
- console.log(this.intakeFlag);
121
122
  console.log("smart-victim ngOnInit");
122
- console.log(this.intakeFlag);
123
123
  console.log(myPath);
124
124
  // if (this.intakeFlag == "true") {
125
125
  // this.isIntake = true;
126
126
  // }
127
- this.isIntake = this.selectedOffender.intakeFlag;
127
+ this.isIntake = this.selectedOffender?.intakeFlag;
128
128
  this.displayedColumns = ["lastName", "firstName"];
129
129
  if (this.showRelationshipColumn == true ||
130
130
  myPath == "victimList" ||
@@ -180,7 +180,9 @@ export class NgcSmartVictimComponent {
180
180
  .getVictimListByFilter(victimListFilter)
181
181
  .subscribe((data) => {
182
182
  this.victims = data;
183
- this.victimListDataSource.data = data;
183
+ this.victimListDataSource = new MatTableDataSource(data);
184
+ this.victimListDataSource.paginator = this.paginator;
185
+ this.victimListDataSource.sort = this.sort;
184
186
  console.log("victim data at line 241");
185
187
  console.log(this.victims);
186
188
  console.log("showListFlag");
@@ -314,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
314
316
  type: ViewChild,
315
317
  args: [MatSort]
316
318
  }] } });
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zbWFydC12aWN0aW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3NtYXJ0LXZpY3RpbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxjQUFjLEVBQUMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBaUMsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRyxtR0FBbUc7QUFFbkcsT0FBTyxFQUVMLFVBQVUsRUFDVix1QkFBdUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTyx1QkFBdUI7SUFxQ2xDLFlBQ1Us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SztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVtQixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBJbnB1dCwgT3V0cHV0LCBBZnRlclZpZXdJbml0LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSxSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtcclxuICBTZWxlY3RlZE9mZmVuZGVyLFxyXG4gIExvZ2luU3RhZmYsXHJcbiAgU21hcnRBY2Nlc3NDb250cm9sQ29uZmlnLFxyXG4gIEFjY2Vzc1R5cGUsXHJcbn0gZnJvbSBcIkBjc21hcnQvbmdjLXNtYXJ0LWNvcmVcIjtcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC12aWN0aW0uc2VydmljZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRzVmljdGltLCBWaWN0aW1MaXN0RmlsdGVyLCBWaWN0aW0sIFNNQVJUX1dBUlJBTlRfVVJMIH0gZnJvbSAnLi9zbWFydC12aWN0aW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFZpY3RpbURlbGV0ZUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS1kZWxldGUtY29uZmlybS5jb21wb25lbnQnO1xyXG4vL2ltcG9ydCB7IFNtYXJ0VmljdGltRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC12aWN0aW0tZGV0YWlsL3NtYXJ0LXZpY3RpbS1kZXRhaWwuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7XHJcbiAgSW50YWtlU3RlcFN0YXR1c01vZGVsLFxyXG4gIEludGFrZVN0ZXAsXHJcbiAgSW50YWtlU2VydmljZXNDb21wb25lbnQsXHJcbn0gZnJvbSAnLi9pbnRha2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY3NtYXJ0LXZpY3RpbVwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc21hcnQtdmljdGltLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3NtYXJ0LXZpY3RpbS5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdjU21hcnRWaWN0aW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgb2ZmZW5kZXJJZDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHN0YWZmSWQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBzdGFmZlJvbGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93Q2FzZU5vdGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93U2FmZXR5UGxhbjogc3RyaW5nO1xyXG4gIC8vQElucHV0KCkgc2hvd0FkZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dBZGQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0VkaXQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93UmVsYXRpb25zaGlwQ29sdW1uOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNob3dPZmZlbmRlck5hbWVDb2x1bW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd09mZmVuZGVyUGhvbmVDb2x1bW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd1NlYXJjaEZvcm06IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWNjZXNzQnlNb2R1bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpbnRha2VGbGFnOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXBwTW9kdWxlSWQgPSAnJztcclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIC8vIEBWaWV3Q2hpbGQoU21hcnRWaWN0aW1EZXRhaWxDb21wb25lbnQpIGNoaWxkO1xyXG5cclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcclxuICB2aWN0aW1zOiBWaWN0aW1bXSA9IFtdO1xyXG4gIHZpY3RpbURldGFpbCA9IDxWaWN0aW0+e307XHJcbiAgc2hvd0RldGFpbCA9IGZhbHNlO1xyXG4gIHZpY3RpbUxpc3RGaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIgPSBuZXcgVmljdGltTGlzdEZpbHRlcigpO1xyXG4gIHZpY3RpbUxpc3REYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xyXG4gIGRvU3BpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dMaXN0RmxhZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1zZzogc3RyaW5nID0gXCJcIjtcclxuICBzZWxlY3RlZE9mZmVuZGVyOiBTZWxlY3RlZE9mZmVuZGVyO1xyXG4gIGlzSW50YWtlID0gZmFsc2U7XHJcblxyXG4gIHVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWc6IFNtYXJ0QWNjZXNzQ29udHJvbENvbmZpZztcclxuICBjcmVhdGVBY2Nlc3NDb250cm9sQ29uZmlnOiBTbWFydEFjY2Vzc0NvbnRyb2xDb25maWc7XHJcbiAgZGVsZXRlQWNjZXNzQ29udHJvbENvbmZpZzogU21hcnRBY2Nlc3NDb250cm9sQ29uZmlnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgdmljdGltU2VydmljZTogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIGludGFrZVNlcnZpY2U6IEludGFrZVNlcnZpY2VzQ29tcG9uZW50LFxyXG4gICAgQEluamVjdChTTUFSVF9XQVJSQU5UX1VSTCkgcHJpdmF0ZSBzbWFydFdhcnJhbnRVcmw6IHN0cmluZyxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxyXG4gICkge31cclxuXHJcbiAgLy8gcHJpdmF0ZSBvbkNoYW5nZShmaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKCdmaWx0ZXIgaW4gb25jaGFuZ2UnKTtcclxuICAvLyAgIGNvbnNvbGUubG9nKGZpbHRlcik7XHJcbiAgLy8gICB0aGlzLmdldFZpY3RpbUxpc3QoZmlsdGVyKTtcclxuICAvLyB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG4gIGFkZFJlY29yZCgpIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dBZGQgPSBmYWxzZTtcclxuICAgIHRoaXMudmljdGltRGV0YWlsID0gbnVsbDtcclxuICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBlZGl0VmljdGltRGV0YWlsKHJlY29yZCkge1xyXG4gICAgY29uc29sZS5sb2coXCJ2aWN0aW0gZWRpdCByZWNvcmRcIik7XHJcbiAgICBjb25zb2xlLmxvZyhyZWNvcmQpO1xyXG4gICAgY29uc29sZS5sb2cocmVjb3JkLnZpY3RpbUlkKTtcclxuICAgIHRoaXMudmljdGltRGV0YWlsID0gcmVjb3JkO1xyXG4gICAgdGhpcy5zaG93RGV0YWlsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0FkZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93TGlzdEZsYWcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNhdmUoZGV0YWlsOiBWaWN0aW0pIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93QWRkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IGZhbHNlO1xyXG4gICAgdGhpcy52aWN0aW1EZXRhaWwgPSA8VmljdGltPnt9O1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgIHRoaXMudXBkYXRlQWNjZXNzQ29udHJvbENvbmZpZyA9IHtcclxuICAgICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUuVVBEQVRFLFxyXG4gICAgICAgYXBwTW9kdWxlSWQ6IHRoaXMuYXBwTW9kdWxlSWQsXHJcbiAgICAgICByb2xlSWQ6IG51bGwsXHJcbiAgICAgICByb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCxcclxuICAgICB9O1xyXG4gICAgIHRoaXMuY3JlYXRlQWNjZXNzQ29udHJvbENvbmZpZyA9IHtcclxuICAgICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUuQ1JFQVRFLFxyXG4gICAgICAgYXBwTW9kdWxlSWQ6IHRoaXMuYXBwTW9kdWxlSWQsXHJcbiAgICAgICByb2xlSWQ6IG51bGwsXHJcbiAgICAgICByb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCxcclxuICAgICB9O1xyXG4gICAgIHRoaXMuZGVsZXRlQWNjZXNzQ29udHJvbENvbmZpZyA9IHtcclxuICAgICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUuREVMRVRFLFxyXG4gICAgICAgYXBwTW9kdWxlSWQ6IHRoaXMuYXBwTW9kdWxlSWQsXHJcbiAgICAgICByb2xlSWQ6IG51bGwsXHJcbiAgICAgICByb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCxcclxuICAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XHJcbiAgICBpZihxdWVyeVBhcmFtc1sncm91dGVUbyddKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtxdWVyeVBhcmFtc1sncm91dGVUbyddXSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxEYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9mZmVuZGVyID0gc2VsRGF0YVsnc2VsZWN0ZWRPZmZlbmRlciddO1xyXG4gICAgdmFyIG15UGF0aCA9IHRoaXMucm91dGVyLnVybC5zbGljZSgtMTApO1xyXG5cclxuXHJcbiAgICBjb25zb2xlLmxvZyhcIm9mZmVuZGVyIGlkIGF0IHNtYXJ0LXZpY3RpbVwiKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMub2ZmZW5kZXJJZCk7XHJcbiAgICBjb25zb2xlLmxvZyhcInN0YWZmIGlkIGF0IHNtYXJ0LXZpY3RpbVwiKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc3RhZmZJZCk7XHJcbiAgICBjb25zb2xlLmxvZyhcImluc2FrZUZsYWcgYXQgc21hcnQtdmljdGltXCIpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5pbnRha2VGbGFnKTtcclxuXHJcblxyXG4gICAgY29uc29sZS5sb2coXCJzbWFydC12aWN0aW0gbmdPbkluaXRcIik7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmludGFrZUZsYWcpO1xyXG4gICAgY29uc29sZS5sb2cobXlQYXRoKTtcclxuXHJcbiAgICAvLyBpZiAodGhpcy5pbnRha2VGbGFnID09IFwidHJ1ZVwiKSB7XHJcbiAgICAvLyAgIHRoaXMuaXNJbnRha2UgPSB0cnVlO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHRoaXMuaXNJbnRha2UgPSB0aGlzLnNlbGVjdGVkT2ZmZW5kZXIuaW50YWtlRmxhZztcclxuXHJcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBbXCJsYXN0TmFtZVwiLCBcImZpcnN0TmFtZVwiXTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2hvd1JlbGF0aW9uc2hpcENvbHVtbiA9PSB0cnVlIHx8XHJcbiAgICAgIG15UGF0aCA9PSBcInZpY3RpbUxpc3RcIiB8fFxyXG4gICAgICBteVBhdGggPT0gXCJ2aWN0aW1Ib21lXCJcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcInJlbGF0aW9uc2hpcFwiKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNob3dPZmZlbmRlck5hbWVDb2x1bW4gPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcIm9mZmVuZGVyTmFtZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2hvd09mZmVuZGVyUGhvbmVDb2x1bW4gPT0gdHJ1ZSB8fFxyXG4gICAgICBteVBhdGggPT0gXCJ2aWN0aW1MaXN0XCIgfHxcclxuICAgICAgbXlQYXRoID09IFwidmljdGltSG9tZVwiXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJob21lUGhvbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJ2aWN0aW1JZFwiKTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG93U2VhcmNoRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLnNob3dTZWFyY2hGb3JtXCIpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5zaG93U2VhcmNoRm9ybSk7XHJcbiAgICBjb25zb2xlLmxvZyhcIm15UGF0aFwiKTtcclxuICAgIGNvbnNvbGUubG9nKG15UGF0aCk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNob3dTZWFyY2hGb3JtID09IGZhbHNlIHx8XHJcbiAgICAgIG15UGF0aCA9PSBcInZpY3RpbUxpc3RcIiB8fFxyXG4gICAgICBteVBhdGggPT0gXCJ2aWN0aW1Ib21lXCJcclxuICAgICkge1xyXG4gICAgICB2YXIgbXlPZmZlbmRlcklkO1xyXG4gICAgICBpZiAodGhpcy5vZmZlbmRlcklkKSB7XHJcbiAgICAgICAgbXlPZmZlbmRlcklkID0gdGhpcy5vZmZlbmRlcklkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiYmFjayBmcm9tIHByZXZpb3VzIHBhZ2VcIik7XHJcbiAgICAgICAgdGhpcy5zaG93QWRkID0gdHJ1ZTtcclxuICAgICAgIHRoaXMuc2hvd1JlbGF0aW9uc2hpcENvbHVtbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJyZWxhdGlvbnNoaXBcIik7XHJcbiAgICAgICAgdGhpcy5zaG93T2ZmZW5kZXJQaG9uZUNvbHVtbiA9IHRydWU7XHJcbiAgICAgICAgLy8gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJob21lUGhvbmVcIik7XHJcbiAgICAgICAgdGhpcy5hY2Nlc3NCeU1vZHVsZSA9IFwidHJ1ZVwiO1xyXG4gICAgICAgIHRoaXMuc2hvd0VkaXQgPSBcInRydWVcIjtcclxuICAgICAgICB0aGlzLnNob3dDYXNlTm90ZSA9IFwidHJ1ZVwiO1xyXG4gICAgICAgIHRoaXMuc2hvd1NhZmV0eVBsYW4gPSBcInRydWVcIjtcclxuXHJcbiAgICAgICAgbXlPZmZlbmRlcklkID0gc2VsRGF0YS5zZWxlY3RlZE9mZmVuZGVyLm9mZmVuZGVySWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHZpY3RpbUxpc3RGaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIgPSB7XHJcbiAgICAgICAgb2ZmZW5kZXJJZDogbXlPZmZlbmRlcklkLFxyXG4gICAgICAgIGxhc3ROYW1lOiBudWxsLFxyXG4gICAgICAgIGZpcnN0TmFtZTogbnVsbCxcclxuICAgICAgICBwZGlkOiBudWxsLFxyXG4gICAgICAgIGJpcnRoRGF0ZTogbnVsbCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnNvbGUubG9nKFwidmljdGltTGlzdEZpbHRlciBpbiBzbWFyLXZpY3RpbSBjb21wb25lbmV0XCIpO1xyXG4gICAgICBjb25zb2xlLmxvZyh2aWN0aW1MaXN0RmlsdGVyKTtcclxuXHJcbiAgICAgIHRoaXMudmljdGltU2VydmljZVxyXG4gICAgICAgIC5nZXRWaWN0aW1MaXN0QnlGaWx0ZXIodmljdGltTGlzdEZpbHRlcilcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBWaWN0aW1bXSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy52aWN0aW1zID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJ2aWN0aW0gZGF0YSBhdCBsaW5lIDI0MVwiKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMudmljdGltcyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInNob3dMaXN0RmxhZ1wiKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2hvd0xpc3RGbGFnKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gdHJ1ZTtcclxuICAgICAgICAgIGlmIChkYXRhLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnID0gXCJObyBSZWNvcmQgRm91bmQhXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZpbmQgZmlsdGVyXCIpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnZpY3RpbUxpc3RGaWx0ZXIpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2hvd0xpc3RGbGFnID09PSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmljdGltTGlzdEZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnZpY3RpbVNlcnZpY2VcclxuICAgICAgICAgICAgLmdldFZpY3RpbUxpc3RCeUZpbHRlcih0aGlzLnZpY3RpbUxpc3RGaWx0ZXIpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFZpY3RpbVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWN0aW1zID0gZGF0YTtcclxuICAgICAgICAgICAgICB0aGlzLnZpY3RpbUxpc3REYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG5cclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInZpY3RpbSBkYXRhIGF0IGxpbmUgMjYyXCIpO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbi8vIHBob25lIG51bWJlciBmb3JtYXQgb24gdGhlIHZpY3RpbSBsaXN0XHJcbiAgZm9ybWF0UGhvbmVOdW1iZXIocGhvbmVOdW1iZXJTdHJpbmcpIHtcclxuICAgIGlmICghcGhvbmVOdW1iZXJTdHJpbmcpIHJldHVybiBcIlwiO1xyXG4gICAgdmFyIGNsZWFuZWQgPSAoXCJcIiArIHBob25lTnVtYmVyU3RyaW5nKS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcbiAgICB2YXIgbWF0Y2ggPSBjbGVhbmVkLm1hdGNoKC9eKFxcZHszfSkoXFxkezN9KShcXGR7NH0pJC8pO1xyXG4gICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgIHJldHVybiBcIihcIiArIG1hdGNoWzFdICsgXCIpIFwiICsgbWF0Y2hbMl0gKyBcIi1cIiArIG1hdGNoWzNdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBzYXZlSW50YWtlKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzSW50YWtlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGludGFrZVN0ZXAgPSA8SW50YWtlU3RlcFN0YXR1c01vZGVsPntcclxuICAgICAgaW50YWtlU3RlcElkOiBJbnRha2VTdGVwLlZpY3RpbUluZm9ybWF0aW9uLFxyXG4gICAgICBvZmZlbmRlcklkOiB0aGlzLm9mZmVuZGVySWQsXHJcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMuc3RhZmZJZCxcclxuICAgIH07XHJcbiAgICB0aGlzLmludGFrZVNlcnZpY2VcclxuICAgICAgLnVwZGF0ZUludGFrZVN0ZXBzKHRoaXMub2ZmZW5kZXJJZCwgaW50YWtlU3RlcClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzYXZlIGludGFrZSBzdGVwLlwiKTtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oXCJTdGF0dXMgU2F2ZWQuXCIsIFwiXCIsIHtcclxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvd2FycmFudCAnXSwgeyBxdWVyeVBhcmFtczogeyBpbnRha2U6IDEgfSB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmID1cclxuICAgICAgICAgIGAke3RoaXMuc21hcnRXYXJyYW50VXJsfS8/b2ZmZW5kZXJJZD0ke3RoaXMub2ZmZW5kZXJJZH0maW50YWtlRmxhZz0ke3RoaXMuaXNJbnRha2V9JnJvdXRlVG89d2FycmFudGA7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ29Ub0Nhc2VOb3RlKHZpY3RpbUlkOiBudW1iZXIpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImNhc2Vub3RlXCIsIHZpY3RpbUlkLCB0aGlzLm9mZmVuZGVySWRdKTtcclxuICB9XHJcblxyXG4gIGdvVG9TYWZ0eVBsYW4odmljdGltSWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wic2FmdHlQbGFuXCIsIHZpY3RpbUlkXSk7XHJcbiAgfVxyXG5cclxuICBnZXRWaWN0aW1MaXN0KGZpbHRlcjogVmljdGltTGlzdEZpbHRlcikge1xyXG4gICAgdGhpcy52aWN0aW1MaXN0RmlsdGVyID0gZmlsdGVyO1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLnZpY3RpbUxpc3RGaWx0ZXIgaW5zaWRlIGdldFZpY3RpbUxpc3RcIik7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnZpY3RpbUxpc3RGaWx0ZXIpO1xyXG4gICAgdGhpcy5kb1NwaW4gPSB0cnVlO1xyXG4gICAgdGhpcy52aWN0aW1TZXJ2aWNlLmdldFZpY3RpbUxpc3RCeUZpbHRlcihmaWx0ZXIpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGE6IFZpY3RpbVtdKSA9PiB7XHJcbiAgICAgICB0aGlzLmRvU3BpbiA9ICF0aGlzLmRvU3BpbjtcclxuXHJcbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zaG93TGlzdEZsYWcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWN0aW0gbGlzdCAzMjMnKyBkYXRhKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubXNnID0gXCJObyByZWNvcmQgZm91bmQhXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kb1NwaW4gPSAhdGhpcy5kb1NwaW47XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzaG93U2VhcmNoRm9ybVwiPlxyXG4gICAgPGFwcC12aWN0aW0tc2VhcmNoLWZvcm1cclxuICAgIChvblNlYXJjaCk9XCJnZXRWaWN0aW1MaXN0KCRldmVudClcIj5cclxuICAgIDwvYXBwLXZpY3RpbS1zZWFyY2gtZm9ybT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwic2hvd0RldGFpbFwiPlxyXG4gIDxjc21hcnQtdmljdGltLWRldGFpbCBbdmljdGltRGV0YWlsXT1cInZpY3RpbURldGFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFmZklkXT1cInN0YWZmSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb2ZmZW5kZXJJZF0gPVwib2ZmZW5kZXJJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0ludGFrZV09XCJpc0ludGFrZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvblNhdmUpPVwic2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2FuY2VsKT1cImNhbmNlbCgpXCIgPlxyXG48L2NzbWFydC12aWN0aW0tZGV0YWlsPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCI+XHJcbiAgICA8bWF0LWNhcmQgaWQ9XCJkaXZWaWN0aW1cIiBjbGFzcz1cInNtYXJ0LWNhcmQtdGFibGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWFjdGlvbi1jb250ZW50XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIGFjY2Vzc0NvbnRyb2xcclxuICAgICAgICAgIFthY2Nlc3NDb250cm9sQ29uZmlnXT1cImNyZWF0ZUFjY2Vzc0NvbnRyb2xDb25maWdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93QWRkXCJcclxuICAgICAgICAgIGNsYXNzPVwic21hcnQtYWRkLWJ1dHRvblwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiYWRkUmVjb3JkKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgQWRkIFZpY3RpbVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJzbWFydC1hZGQtYnV0dG9uXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNJbnRha2VcIlxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIGFjY2Vzc0NvbnRyb2xcclxuICAgICAgICAgIFthY2Nlc3NDb250cm9sQ29uZmlnXT1cInVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNhdmVJbnRha2UoKVwiPlxyXG4gICAgICAgICAgQ29udGludWVcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ2aWN0aW1MaXN0RGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8bWF0LXRhYmxlICN0YWJsZSBbZGF0YVNvdXJjZV09XCJ2aWN0aW1MaXN0RGF0YVNvdXJjZVwiID5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibGFzdE5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+VmljdGltIExhc3QgTmFtZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiID4ge3tyb3cubGFzdE5hbWV9fSAgPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmaXJzdE5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmID5WaWN0aW0gRmlyc3QgTmFtZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiA+IHt7cm93LmZpcnN0TmFtZX19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzaG93UmVsYXRpb25zaGlwQ29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlbGF0aW9uc2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgPlJlbGF0aW9uc2hpcCB0byBPZmZlbmRlcjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiA+IHt7cm93LnZpY3RpbU9mZmVuZGVyUmVsYXRpb25zaGlwc1swXX19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICAqbmdJZj1cInNob3dPZmZlbmRlclBob25lQ29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImhvbWVQaG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgPlBob25lIE51bWJlcjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEhvbWUgcGhvbmU6IHt7Zm9ybWF0UGhvbmVOdW1iZXIocm93LmhvbWVQaG9uZSl9fTxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQ2VsbCBQaG9uZToge3tmb3JtYXRQaG9uZU51bWJlcihyb3cuY2VsbFBob25lKX19PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBXb3JrIFBob25lOiB7e2Zvcm1hdFBob25lTnVtYmVyKHJvdy53b3JrUGhvbmUpfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwic2hvd09mZmVuZGVyTmFtZUNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvZmZlbmRlck5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5PZmZlbmRlciBOYW1lPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiA+IHt7cm93Lm9mZmVuZGVyTmFtZX19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZpY3RpbUlkXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiA+PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgICpuZ0lmPVwiYWNjZXNzQnlNb2R1bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveD48L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwic2hvd0VkaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXQtYnRuXCIgIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgbWF0VG9vbHRpcD1cIlZpZXcvRWRpdCBWaWN0aW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzQ29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc0NvbnRyb2xDb25maWddPVwidXBkYXRlQWNjZXNzQ29udHJvbENvbmZpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFZpY3RpbURldGFpbChyb3cpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+bW9kZV9lZGl0PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzaG93Q2FzZU5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0VG9vbHRpcD1cIkNhc2VOb3RlXCIgIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NDb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NDb250cm9sQ29uZmlnXT1cInVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub0Nhc2VOb3RlKHJvdy52aWN0aW1JZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXBlbmNpbFwiID48L3NwYW4+Jm5ic3A7Q2FzZSBOb3RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzaG93U2FmZXR5UGxhblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICBtYXRUb29sdGlwPVwic2FmZXR5IHBsYW5cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc0NvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NDb250cm9sQ29uZmlnXT1cInVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9TYWZ0eVBsYW4ocm93LnZpY3RpbUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXBlbmNpbFwiID48L3NwYW4+Jm5ic3A7U2FmZXR5IFBsYW5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuXHJcbiAgICAgICAgICAgICAgICA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItcm93XCI+PC9tYXQtaGVhZGVyLXJvdz5cclxuICAgICAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIiBjbGFzcz1cImV4YW1wbGUtcm93XCI+PC9tYXQtcm93PlxyXG4gICAgICAgIDwvbWF0LXRhYmxlPlxyXG4gICAgICAgIDxtYXQtcGFnaW5hdG9yICNwYWdpbmF0b3IgW3BhZ2VTaXplXT1cIjEwXCIgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxiPnt7bXNnfX08L2I+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zbWFydC12aWN0aW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3NtYXJ0LXZpY3RpbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxjQUFjLEVBQUMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBaUMsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRyxtR0FBbUc7QUFFbkcsT0FBTyxFQUVMLFVBQVUsRUFDVix1QkFBdUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTyx1QkFBdUI7SUFxQ2xDLFlBQ1Us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O3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRW1CLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSCxJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBWaWV3Q2hpbGQsIElucHV0LCBPdXRwdXQsIEFmdGVyVmlld0luaXQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQge1xyXG4gIFNlbGVjdGVkT2ZmZW5kZXIsXHJcbiAgTG9naW5TdGFmZixcclxuICBTbWFydEFjY2Vzc0NvbnRyb2xDb25maWcsXHJcbiAgQWNjZXNzVHlwZSxcclxufSBmcm9tIFwiQGNzbWFydC9uZ2Mtc21hcnQtY29yZVwiO1xyXG5pbXBvcnQgeyBOZ2NTbWFydFZpY3RpbVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRWxlbWVudHNWaWN0aW0sIFZpY3RpbUxpc3RGaWx0ZXIsIFZpY3RpbSwgU01BUlRfV0FSUkFOVF9VUkwgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0VmljdGltRGVsZXRlQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdmljdGltLWRlbGV0ZS1jb25maXJtLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgU21hcnRWaWN0aW1EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS1kZXRhaWwvc21hcnQtdmljdGltLWRldGFpbC5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBJbnRha2VTdGVwU3RhdHVzTW9kZWwsXHJcbiAgSW50YWtlU3RlcCxcclxuICBJbnRha2VTZXJ2aWNlc0NvbXBvbmVudCxcclxufSBmcm9tICcuL2ludGFrZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjc21hcnQtdmljdGltXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zbWFydC12aWN0aW0uY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc21hcnQtdmljdGltLmNvbXBvbmVudC5jc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ2NTbWFydFZpY3RpbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBvZmZlbmRlcklkOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3RhZmZJZDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHN0YWZmUm9sZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dDYXNlTm90ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dTYWZldHlQbGFuOiBzdHJpbmc7XHJcbiAgLy9ASW5wdXQoKSBzaG93QWRkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0FkZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzaG93RWRpdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dSZWxhdGlvbnNoaXBDb2x1bW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd09mZmVuZGVyTmFtZUNvbHVtbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzaG93T2ZmZW5kZXJQaG9uZUNvbHVtbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzaG93U2VhcmNoRm9ybTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhY2Nlc3NCeU1vZHVsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGludGFrZUZsYWc6IHN0cmluZyA9IFwiZmFsc2VcIjtcclxuICBASW5wdXQoKSBhcHBNb2R1bGVJZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgLy8gQFZpZXdDaGlsZChTbWFydFZpY3RpbURldGFpbENvbXBvbmVudCkgY2hpbGQ7XHJcblxyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIHZpY3RpbXM6IFZpY3RpbVtdID0gW107XHJcbiAgdmljdGltRGV0YWlsID0gPFZpY3RpbT57fTtcclxuICBzaG93RGV0YWlsID0gZmFsc2U7XHJcbiAgdmljdGltTGlzdEZpbHRlcjogVmljdGltTGlzdEZpbHRlciA9IG5ldyBWaWN0aW1MaXN0RmlsdGVyKCk7XHJcbiAgdmljdGltTGlzdERhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKCk7XHJcbiAgZG9TcGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0xpc3RGbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbXNnOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNlbGVjdGVkT2ZmZW5kZXI6IFNlbGVjdGVkT2ZmZW5kZXIgPSA8U2VsZWN0ZWRPZmZlbmRlcj57fVxyXG4gIGlzSW50YWtlID0gZmFsc2U7XHJcblxyXG4gIHVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWc6IFNtYXJ0QWNjZXNzQ29udHJvbENvbmZpZztcclxuICBjcmVhdGVBY2Nlc3NDb250cm9sQ29uZmlnOiBTbWFydEFjY2Vzc0NvbnRyb2xDb25maWc7XHJcbiAgZGVsZXRlQWNjZXNzQ29udHJvbENvbmZpZzogU21hcnRBY2Nlc3NDb250cm9sQ29uZmlnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgdmljdGltU2VydmljZTogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIGludGFrZVNlcnZpY2U6IEludGFrZVNlcnZpY2VzQ29tcG9uZW50LFxyXG4gICAgQEluamVjdChTTUFSVF9XQVJSQU5UX1VSTCkgcHJpdmF0ZSBzbWFydFdhcnJhbnRVcmw6IHN0cmluZyxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxyXG4gICkge31cclxuXHJcbiAgLy8gcHJpdmF0ZSBvbkNoYW5nZShmaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKCdmaWx0ZXIgaW4gb25jaGFuZ2UnKTtcclxuICAvLyAgIGNvbnNvbGUubG9nKGZpbHRlcik7XHJcbiAgLy8gICB0aGlzLmdldFZpY3RpbUxpc3QoZmlsdGVyKTtcclxuICAvLyB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG4gIGFkZFJlY29yZCgpIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dBZGQgPSBmYWxzZTtcclxuICAgIHRoaXMudmljdGltRGV0YWlsID0gbnVsbDtcclxuICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBlZGl0VmljdGltRGV0YWlsKHJlY29yZCkge1xyXG4gICAgY29uc29sZS5sb2coXCJ2aWN0aW0gZWRpdCByZWNvcmRcIik7XHJcbiAgICBjb25zb2xlLmxvZyhyZWNvcmQpO1xyXG4gICAgY29uc29sZS5sb2cocmVjb3JkLnZpY3RpbUlkKTtcclxuICAgIHRoaXMudmljdGltRGV0YWlsID0gcmVjb3JkO1xyXG4gICAgdGhpcy5zaG93RGV0YWlsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0FkZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93TGlzdEZsYWcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNhdmUoZGV0YWlsOiBWaWN0aW0pIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93QWRkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuc2hvd0RldGFpbCA9IGZhbHNlO1xyXG4gICAgdGhpcy52aWN0aW1EZXRhaWwgPSA8VmljdGltPnt9O1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgIHRoaXMudXBkYXRlQWNjZXNzQ29udHJvbENvbmZpZyA9IHtcclxuICAgICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUuVVBEQVRFLFxyXG4gICAgICAgYXBwTW9kdWxlSWQ6IHRoaXMuYXBwTW9kdWxlSWQsXHJcbiAgICAgICByb2xlSWQ6IG51bGwsXHJcbiAgICAgICByb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3QsXHJcbiAgICAgfTtcclxuICAgICB0aGlzLmNyZWF0ZUFjY2Vzc0NvbnRyb2xDb25maWcgPSB7XHJcbiAgICAgICBhY2Nlc3NUeXBlOiBBY2Nlc3NUeXBlLkNSRUFURSxcclxuICAgICAgIGFwcE1vZHVsZUlkOiB0aGlzLmFwcE1vZHVsZUlkLFxyXG4gICAgICAgcm9sZUlkOiBudWxsLFxyXG4gICAgICAgcm91dGU6IHRoaXMuYWN0aXZhdGVkUm91dGU/LnNuYXBzaG90LFxyXG4gICAgIH07XHJcbiAgICAgdGhpcy5kZWxldGVBY2Nlc3NDb250cm9sQ29uZmlnID0ge1xyXG4gICAgICAgYWNjZXNzVHlwZTogQWNjZXNzVHlwZS5ERUxFVEUsXHJcbiAgICAgICBhcHBNb2R1bGVJZDogdGhpcy5hcHBNb2R1bGVJZCxcclxuICAgICAgIHJvbGVJZDogbnVsbCxcclxuICAgICAgIHJvdXRlOiB0aGlzLmFjdGl2YXRlZFJvdXRlPy5zbmFwc2hvdCxcclxuICAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XHJcbiAgICBpZihxdWVyeVBhcmFtc1sncm91dGVUbyddKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtxdWVyeVBhcmFtc1sncm91dGVUbyddXSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxEYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9mZmVuZGVyID0gc2VsRGF0YVsnc2VsZWN0ZWRPZmZlbmRlciddO1xyXG4gICAgdmFyIG15UGF0aCA9IHRoaXMucm91dGVyLnVybC5zbGljZSgtMTApO1xyXG5cclxuXHJcbiAgICBjb25zb2xlLmxvZyhcIm9mZmVuZGVyIGlkIGF0IHNtYXJ0LXZpY3RpbVwiKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMub2ZmZW5kZXJJZCk7XHJcbiAgICBjb25zb2xlLmxvZyhcInN0YWZmIGlkIGF0IHNtYXJ0LXZpY3RpbVwiKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc3RhZmZJZCk7XHJcbiAgICBjb25zb2xlLmxvZyhcImluc2FrZUZsYWcgYXQgc21hcnQtdmljdGltXCIpO1xyXG5cclxuXHJcbiAgICBjb25zb2xlLmxvZyhcInNtYXJ0LXZpY3RpbSBuZ09uSW5pdFwiKTtcclxuICAgIGNvbnNvbGUubG9nKG15UGF0aCk7XHJcblxyXG4gICAgLy8gaWYgKHRoaXMuaW50YWtlRmxhZyA9PSBcInRydWVcIikge1xyXG4gICAgLy8gICB0aGlzLmlzSW50YWtlID0gdHJ1ZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICB0aGlzLmlzSW50YWtlID0gdGhpcy5zZWxlY3RlZE9mZmVuZGVyPy5pbnRha2VGbGFnO1xyXG5cclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IFtcImxhc3ROYW1lXCIsIFwiZmlyc3ROYW1lXCJdO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zaG93UmVsYXRpb25zaGlwQ29sdW1uID09IHRydWUgfHxcclxuICAgICAgbXlQYXRoID09IFwidmljdGltTGlzdFwiIHx8XHJcbiAgICAgIG15UGF0aCA9PSBcInZpY3RpbUhvbWVcIlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKFwicmVsYXRpb25zaGlwXCIpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2hvd09mZmVuZGVyTmFtZUNvbHVtbiA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKFwib2ZmZW5kZXJOYW1lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zaG93T2ZmZW5kZXJQaG9uZUNvbHVtbiA9PSB0cnVlIHx8XHJcbiAgICAgIG15UGF0aCA9PSBcInZpY3RpbUxpc3RcIiB8fFxyXG4gICAgICBteVBhdGggPT0gXCJ2aWN0aW1Ib21lXCJcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcImhvbWVQaG9uZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcInZpY3RpbUlkXCIpO1xyXG5cclxuICAgIGlmICh0aGlzLnNob3dTZWFyY2hGb3JtID09IHRydWUpIHtcclxuICAgICAgdGhpcy5zaG93TGlzdEZsYWcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuc2hvd1NlYXJjaEZvcm1cIik7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNob3dTZWFyY2hGb3JtKTtcclxuICAgIGNvbnNvbGUubG9nKFwibXlQYXRoXCIpO1xyXG4gICAgY29uc29sZS5sb2cobXlQYXRoKTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2hvd1NlYXJjaEZvcm0gPT0gZmFsc2UgfHxcclxuICAgICAgbXlQYXRoID09IFwidmljdGltTGlzdFwiIHx8XHJcbiAgICAgIG15UGF0aCA9PSBcInZpY3RpbUhvbWVcIlxyXG4gICAgKSB7XHJcbiAgICAgIHZhciBteU9mZmVuZGVySWQ7XHJcbiAgICAgIGlmICh0aGlzLm9mZmVuZGVySWQpIHtcclxuICAgICAgICBteU9mZmVuZGVySWQgPSB0aGlzLm9mZmVuZGVySWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJiYWNrIGZyb20gcHJldmlvdXMgcGFnZVwiKTtcclxuICAgICAgICB0aGlzLnNob3dBZGQgPSB0cnVlO1xyXG4gICAgICAgdGhpcy5zaG93UmVsYXRpb25zaGlwQ29sdW1uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcInJlbGF0aW9uc2hpcFwiKTtcclxuICAgICAgICB0aGlzLnNob3dPZmZlbmRlclBob25lQ29sdW1uID0gdHJ1ZTtcclxuICAgICAgICAvLyB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChcImhvbWVQaG9uZVwiKTtcclxuICAgICAgICB0aGlzLmFjY2Vzc0J5TW9kdWxlID0gXCJ0cnVlXCI7XHJcbiAgICAgICAgdGhpcy5zaG93RWRpdCA9IFwidHJ1ZVwiO1xyXG4gICAgICAgIHRoaXMuc2hvd0Nhc2VOb3RlID0gXCJ0cnVlXCI7XHJcbiAgICAgICAgdGhpcy5zaG93U2FmZXR5UGxhbiA9IFwidHJ1ZVwiO1xyXG5cclxuICAgICAgICBteU9mZmVuZGVySWQgPSBzZWxEYXRhLnNlbGVjdGVkT2ZmZW5kZXIub2ZmZW5kZXJJZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdmljdGltTGlzdEZpbHRlcjogVmljdGltTGlzdEZpbHRlciA9IHtcclxuICAgICAgICBvZmZlbmRlcklkOiBteU9mZmVuZGVySWQsXHJcbiAgICAgICAgbGFzdE5hbWU6IG51bGwsXHJcbiAgICAgICAgZmlyc3ROYW1lOiBudWxsLFxyXG4gICAgICAgIHBkaWQ6IG51bGwsXHJcbiAgICAgICAgYmlydGhEYXRlOiBudWxsLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc29sZS5sb2coXCJ2aWN0aW1MaXN0RmlsdGVyIGluIHNtYXItdmljdGltIGNvbXBvbmVuZXRcIik7XHJcbiAgICAgIGNvbnNvbGUubG9nKHZpY3RpbUxpc3RGaWx0ZXIpO1xyXG5cclxuICAgICAgdGhpcy52aWN0aW1TZXJ2aWNlXHJcbiAgICAgICAgLmdldFZpY3RpbUxpc3RCeUZpbHRlcih2aWN0aW1MaXN0RmlsdGVyKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFZpY3RpbVtdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZpY3RpbXMgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnZpY3RpbUxpc3REYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gICAgICAgICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG5cclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwidmljdGltIGRhdGEgYXQgbGluZSAyNDFcIik7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnZpY3RpbXMpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJzaG93TGlzdEZsYWdcIik7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNob3dMaXN0RmxhZyk7XHJcbiAgICAgICAgICB0aGlzLnNob3dMaXN0RmxhZyA9IHRydWU7XHJcbiAgICAgICAgICBpZiAoZGF0YS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm1zZyA9IFwiTm8gUmVjb3JkIEZvdW5kIVwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coXCJmaW5kIGZpbHRlclwiKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy52aWN0aW1MaXN0RmlsdGVyKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNob3dMaXN0RmxhZyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnZpY3RpbUxpc3RGaWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy52aWN0aW1TZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRWaWN0aW1MaXN0QnlGaWx0ZXIodGhpcy52aWN0aW1MaXN0RmlsdGVyKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBWaWN0aW1bXSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudmljdGltcyA9IGRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWN0aW1MaXN0RGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcclxuXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ2aWN0aW0gZGF0YSBhdCBsaW5lIDI2MlwiKTtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4vLyBwaG9uZSBudW1iZXIgZm9ybWF0IG9uIHRoZSB2aWN0aW0gbGlzdFxyXG4gIGZvcm1hdFBob25lTnVtYmVyKHBob25lTnVtYmVyU3RyaW5nKSB7XHJcbiAgICBpZiAoIXBob25lTnVtYmVyU3RyaW5nKSByZXR1cm4gXCJcIjtcclxuICAgIHZhciBjbGVhbmVkID0gKFwiXCIgKyBwaG9uZU51bWJlclN0cmluZykucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG4gICAgdmFyIG1hdGNoID0gY2xlYW5lZC5tYXRjaCgvXihcXGR7M30pKFxcZHszfSkoXFxkezR9KSQvKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gXCIoXCIgKyBtYXRjaFsxXSArIFwiKSBcIiArIG1hdGNoWzJdICsgXCItXCIgKyBtYXRjaFszXTtcclxuICAgIH1cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUludGFrZSgpIHtcclxuICAgIGlmICghdGhpcy5pc0ludGFrZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnRha2VTdGVwID0gPEludGFrZVN0ZXBTdGF0dXNNb2RlbD57XHJcbiAgICAgIGludGFrZVN0ZXBJZDogSW50YWtlU3RlcC5WaWN0aW1JbmZvcm1hdGlvbixcclxuICAgICAgb2ZmZW5kZXJJZDogdGhpcy5vZmZlbmRlcklkLFxyXG4gICAgICBtb2RpZmllZEJ5OiB0aGlzLnN0YWZmSWQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnRha2VTZXJ2aWNlXHJcbiAgICAgIC51cGRhdGVJbnRha2VTdGVwcyh0aGlzLm9mZmVuZGVySWQsIGludGFrZVN0ZXApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwic2F2ZSBpbnRha2Ugc3RlcC5cIik7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKFwiU3RhdHVzIFNhdmVkLlwiLCBcIlwiLCB7XHJcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvL3RoaXMucm91dGVyLm5hdmlnYXRlKFsnL3dhcnJhbnQgJ10sIHsgcXVlcnlQYXJhbXM6IHsgaW50YWtlOiAxIH0gfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9XHJcbiAgICAgICAgICBgJHt0aGlzLnNtYXJ0V2FycmFudFVybH0vP29mZmVuZGVySWQ9JHt0aGlzLm9mZmVuZGVySWR9JmludGFrZUZsYWc9JHt0aGlzLmlzSW50YWtlfSZyb3V0ZVRvPXdhcnJhbnRgO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdvVG9DYXNlTm90ZSh2aWN0aW1JZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJjYXNlbm90ZVwiLCB2aWN0aW1JZCwgdGhpcy5vZmZlbmRlcklkXSk7XHJcbiAgfVxyXG5cclxuICBnb1RvU2FmdHlQbGFuKHZpY3RpbUlkOiBudW1iZXIpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInNhZnR5UGxhblwiLCB2aWN0aW1JZF0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmljdGltTGlzdChmaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIpIHtcclxuICAgIHRoaXMudmljdGltTGlzdEZpbHRlciA9IGZpbHRlcjtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy52aWN0aW1MaXN0RmlsdGVyIGluc2lkZSBnZXRWaWN0aW1MaXN0XCIpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy52aWN0aW1MaXN0RmlsdGVyKTtcclxuICAgIHRoaXMuZG9TcGluID0gdHJ1ZTtcclxuICAgIHRoaXMudmljdGltU2VydmljZS5nZXRWaWN0aW1MaXN0QnlGaWx0ZXIoZmlsdGVyKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBWaWN0aW1bXSkgPT4ge1xyXG4gICAgICAgdGhpcy5kb1NwaW4gPSAhdGhpcy5kb1NwaW47XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0xpc3RGbGFnID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudmljdGltTGlzdERhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygndmljdGltIGxpc3QgMzIzJysgZGF0YSk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1zZyA9IFwiTm8gcmVjb3JkIGZvdW5kIVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMuZG9TcGluID0gIXRoaXMuZG9TcGluO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvd1NlYXJjaEZvcm1cIj5cclxuICAgIDxhcHAtdmljdGltLXNlYXJjaC1mb3JtXHJcbiAgICAob25TZWFyY2gpPVwiZ2V0VmljdGltTGlzdCgkZXZlbnQpXCI+XHJcbiAgICA8L2FwcC12aWN0aW0tc2VhcmNoLWZvcm0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInNob3dEZXRhaWxcIj5cclxuICA8Y3NtYXJ0LXZpY3RpbS1kZXRhaWwgW3ZpY3RpbURldGFpbF09XCJ2aWN0aW1EZXRhaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3RhZmZJZF09XCJzdGFmZklkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW29mZmVuZGVySWRdID1cIm9mZmVuZGVySWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNJbnRha2VdPVwiaXNJbnRha2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25TYXZlKT1cInNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNhbmNlbCk9XCJjYW5jZWwoKVwiID5cclxuPC9jc21hcnQtdmljdGltLWRldGFpbD5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiPlxyXG4gICAgPG1hdC1jYXJkIGlkPVwiZGl2VmljdGltXCIgY2xhc3M9XCJzbWFydC1jYXJkLXRhYmxlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzbWFydC1hY3Rpb24tY29udGVudFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBhY2Nlc3NDb250cm9sXHJcbiAgICAgICAgICBbYWNjZXNzQ29udHJvbENvbmZpZ109XCJjcmVhdGVBY2Nlc3NDb250cm9sQ29uZmlnXCJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0FkZFwiXHJcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWFkZC1idXR0b25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFkZFJlY29yZCgpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgIEFkZCBWaWN0aW1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICAgIGNsYXNzPVwic21hcnQtYWRkLWJ1dHRvblwiXHJcbiAgICAgICAgICAqbmdJZj1cImlzSW50YWtlXCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBhY2Nlc3NDb250cm9sXHJcbiAgICAgICAgICBbYWNjZXNzQ29udHJvbENvbmZpZ109XCJ1cGRhdGVBY2Nlc3NDb250cm9sQ29uZmlnXCJcclxuICAgICAgICAgIChjbGljayk9XCJzYXZlSW50YWtlKClcIj5cclxuICAgICAgICAgIENvbnRpbnVlXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidmljdGltTGlzdERhdGFTb3VyY2UuZGF0YS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPG1hdC10YWJsZSAjdGFibGUgW2RhdGFTb3VyY2VdPVwidmljdGltTGlzdERhdGFTb3VyY2VcIiA+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxhc3ROYW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlZpY3RpbSBMYXN0IE5hbWU8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiA+IHt7cm93Lmxhc3ROYW1lfX0gIDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZmlyc3ROYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiA+VmljdGltIEZpcnN0IE5hbWU8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgPiB7e3Jvdy5maXJzdE5hbWV9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwic2hvd1JlbGF0aW9uc2hpcENvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyZWxhdGlvbnNoaXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmID5SZWxhdGlvbnNoaXAgdG8gT2ZmZW5kZXI8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgPiB7e3Jvdy52aWN0aW1PZmZlbmRlclJlbGF0aW9uc2hpcHNbMF19fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJzaG93T2ZmZW5kZXJQaG9uZUNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJob21lUGhvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmID5QaG9uZSBOdW1iZXI8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBIb21lIHBob25lOiB7e2Zvcm1hdFBob25lTnVtYmVyKHJvdy5ob21lUGhvbmUpfX08YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIENlbGwgUGhvbmU6IHt7Zm9ybWF0UGhvbmVOdW1iZXIocm93LmNlbGxQaG9uZSl9fTxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgV29yayBQaG9uZToge3tmb3JtYXRQaG9uZU51bWJlcihyb3cud29ya1Bob25lKX19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICAqbmdJZj1cInNob3dPZmZlbmRlck5hbWVDb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib2ZmZW5kZXJOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+T2ZmZW5kZXIgTmFtZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgPiB7e3Jvdy5vZmZlbmRlck5hbWV9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2aWN0aW1JZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgPjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiID5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICAqbmdJZj1cImFjY2Vzc0J5TW9kdWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3g+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICAqbmdJZj1cInNob3dFZGl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlZGl0LWJ0blwiICBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgIG1hdFRvb2x0aXA9XCJWaWV3L0VkaXQgVmljdGltXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc0NvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NDb250cm9sQ29uZmlnXT1cInVwZGF0ZUFjY2Vzc0NvbnRyb2xDb25maWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRWaWN0aW1EZXRhaWwocm93KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPm1vZGVfZWRpdDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwic2hvd0Nhc2VOb3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJDYXNlTm90ZVwiICBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzQ29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzQ29udHJvbENvbmZpZ109XCJ1cGRhdGVBY2Nlc3NDb250cm9sQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9DYXNlTm90ZShyb3cudmljdGltSWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wZW5jaWxcIiA+PC9zcGFuPiZuYnNwO0Nhc2UgTm90ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwic2hvd1NhZmV0eVBsYW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAgbWF0VG9vbHRpcD1cInNhZmV0eSBwbGFuXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NDb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzQ29udHJvbENvbmZpZ109XCJ1cGRhdGVBY2Nlc3NDb250cm9sQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvU2FmdHlQbGFuKHJvdy52aWN0aW1JZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wZW5jaWxcIiA+PC9zcGFuPiZuYnNwO1NhZmV0eSBQbGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7XHJcblxyXG4gICAgICAgICAgICAgICAgPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLXJvd1wiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgICAgICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zXCIgY2xhc3M9XCJleGFtcGxlLXJvd1wiPjwvbWF0LXJvdz5cclxuICAgICAgICA8L21hdC10YWJsZT5cclxuICAgICAgICA8bWF0LXBhZ2luYXRvciAjcGFnaW5hdG9yIFtwYWdlU2l6ZV09XCIxMFwiIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiPjwvbWF0LXBhZ2luYXRvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1jYXJkPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8Yj57e21zZ319PC9iPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1835,6 +1835,7 @@ class NgcSmartVictimComponent {
1835
1835
  this.intakeService = intakeService;
1836
1836
  this.smartWarrantUrl = smartWarrantUrl;
1837
1837
  this.document = document;
1838
+ this.intakeFlag = "false";
1838
1839
  this.appModuleId = '';
1839
1840
  this.activatedRoute = null;
1840
1841
  this.victims = [];
@@ -1845,6 +1846,7 @@ class NgcSmartVictimComponent {
1845
1846
  this.doSpin = false;
1846
1847
  this.showListFlag = false;
1847
1848
  this.msg = "";
1849
+ this.selectedOffender = {};
1848
1850
  this.isIntake = false;
1849
1851
  }
1850
1852
  // private onChange(filter: VictimListFilter) {
@@ -1888,19 +1890,19 @@ class NgcSmartVictimComponent {
1888
1890
  accessType: AccessType.UPDATE,
1889
1891
  appModuleId: this.appModuleId,
1890
1892
  roleId: null,
1891
- route: this.activatedRoute.snapshot,
1893
+ route: this.activatedRoute?.snapshot,
1892
1894
  };
1893
1895
  this.createAccessControlConfig = {
1894
1896
  accessType: AccessType.CREATE,
1895
1897
  appModuleId: this.appModuleId,
1896
1898
  roleId: null,
1897
- route: this.activatedRoute.snapshot,
1899
+ route: this.activatedRoute?.snapshot,
1898
1900
  };
1899
1901
  this.deleteAccessControlConfig = {
1900
1902
  accessType: AccessType.DELETE,
1901
1903
  appModuleId: this.appModuleId,
1902
1904
  roleId: null,
1903
- route: this.activatedRoute.snapshot,
1905
+ route: this.activatedRoute?.snapshot,
1904
1906
  };
1905
1907
  }
1906
1908
  ngOnInit() {
@@ -1916,14 +1918,12 @@ class NgcSmartVictimComponent {
1916
1918
  console.log("staff id at smart-victim");
1917
1919
  console.log(this.staffId);
1918
1920
  console.log("insakeFlag at smart-victim");
1919
- console.log(this.intakeFlag);
1920
1921
  console.log("smart-victim ngOnInit");
1921
- console.log(this.intakeFlag);
1922
1922
  console.log(myPath);
1923
1923
  // if (this.intakeFlag == "true") {
1924
1924
  // this.isIntake = true;
1925
1925
  // }
1926
- this.isIntake = this.selectedOffender.intakeFlag;
1926
+ this.isIntake = this.selectedOffender?.intakeFlag;
1927
1927
  this.displayedColumns = ["lastName", "firstName"];
1928
1928
  if (this.showRelationshipColumn == true ||
1929
1929
  myPath == "victimList" ||
@@ -1979,7 +1979,9 @@ class NgcSmartVictimComponent {
1979
1979
  .getVictimListByFilter(victimListFilter)
1980
1980
  .subscribe((data) => {
1981
1981
  this.victims = data;
1982
- this.victimListDataSource.data = data;
1982
+ this.victimListDataSource = new MatTableDataSource(data);
1983
+ this.victimListDataSource.paginator = this.paginator;
1984
+ this.victimListDataSource.sort = this.sort;
1983
1985
  console.log("victim data at line 241");
1984
1986
  console.log(this.victims);
1985
1987
  console.log("showListFlag");