@csmart/ngc-smart-victim 1.18.12 → 1.18.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/esm2022/csmart-ngc-smart-victim.mjs +5 -0
  2. package/esm2022/lib/caseNote/caseNote.component.mjs +194 -0
  3. package/esm2022/lib/common-dialog/common-dialog.component.mjs +23 -0
  4. package/esm2022/lib/common-dialog/common-dialog.module.mjs +34 -0
  5. package/esm2022/lib/common-dialog/common-dialog.service.mjs +33 -0
  6. package/esm2022/lib/contact/contact.component.mjs +140 -0
  7. package/esm2022/lib/email.services.mjs +42 -0
  8. package/esm2022/lib/intake.service.mjs +57 -0
  9. package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +99 -0
  10. package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
  11. package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
  12. package/esm2022/lib/shared/app.shared.module.mjs +215 -0
  13. package/esm2022/lib/shared/validators/date.validator.mjs +59 -0
  14. package/esm2022/lib/shared/validators/index.mjs +2 -0
  15. package/esm2022/lib/smart-victim-delete-confirm.component.mjs +44 -0
  16. package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +1155 -0
  17. package/esm2022/lib/smart-victim.component.mjs +317 -0
  18. package/esm2022/lib/smart-victim.model.mjs +142 -0
  19. package/esm2022/lib/smart-victim.module.mjs +128 -0
  20. package/esm2022/lib/smart-victim.service.mjs +370 -0
  21. package/esm2022/lib/victim-routing.module.mjs +41 -0
  22. package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +3 -0
  23. package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +38 -0
  24. package/esm2022/public-api.mjs +11 -0
  25. package/fesm2022/csmart-ngc-smart-victim.mjs +3342 -0
  26. package/fesm2022/csmart-ngc-smart-victim.mjs.map +1 -0
  27. package/index.d.ts +5 -0
  28. package/lib/caseNote/caseNote.component.d.ts +51 -0
  29. package/lib/common-dialog/common-dialog.component.d.ts +14 -0
  30. package/lib/common-dialog/common-dialog.module.d.ts +8 -0
  31. package/lib/common-dialog/common-dialog.service.d.ts +11 -0
  32. package/lib/contact/contact.component.d.ts +40 -0
  33. package/lib/email.services.d.ts +11 -0
  34. package/lib/intake.service.d.ts +57 -0
  35. package/lib/safetyPlan/serviceProvider.component.d.ts +19 -0
  36. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -0
  37. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -0
  38. package/lib/shared/app.shared.module.d.ts +33 -0
  39. package/lib/shared/validators/date.validator.d.ts +9 -0
  40. package/lib/shared/validators/index.d.ts +1 -0
  41. package/lib/smart-victim-delete-confirm.component.d.ts +12 -0
  42. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -0
  43. package/lib/smart-victim.component.d.ts +69 -0
  44. package/lib/smart-victim.model.d.ts +211 -0
  45. package/lib/smart-victim.module.d.ts +49 -0
  46. package/lib/smart-victim.service.d.ts +71 -0
  47. package/lib/victim-routing.module.d.ts +7 -0
  48. package/{src/lib/victimSearch/VictimSearchFilter.ts → lib/victimSearch/VictimSearchFilter.d.ts} +7 -9
  49. package/lib/victimSearch/victimSearchForm.component.d.ts +14 -0
  50. package/package.json +21 -6
  51. package/{src/public-api.ts → public-api.d.ts} +7 -12
  52. package/karma.conf.js +0 -32
  53. package/ng-package.json +0 -7
  54. package/src/lib/caseNote/caseNote.component.css +0 -22
  55. package/src/lib/caseNote/caseNote.component.html +0 -188
  56. package/src/lib/caseNote/caseNote.component.ts +0 -265
  57. package/src/lib/common-dialog/common-dialog.component.css +0 -10
  58. package/src/lib/common-dialog/common-dialog.component.html +0 -23
  59. package/src/lib/common-dialog/common-dialog.component.spec.ts +0 -25
  60. package/src/lib/common-dialog/common-dialog.component.ts +0 -21
  61. package/src/lib/common-dialog/common-dialog.module.ts +0 -22
  62. package/src/lib/common-dialog/common-dialog.service.ts +0 -35
  63. package/src/lib/contact/contact.component.css +0 -22
  64. package/src/lib/contact/contact.component.html +0 -124
  65. package/src/lib/contact/contact.component.ts +0 -176
  66. package/src/lib/email-notification.service.ts +0 -42
  67. package/src/lib/email.services.ts +0 -51
  68. package/src/lib/http.service.ts +0 -34
  69. package/src/lib/intake.service.ts +0 -82
  70. package/src/lib/loader.service.ts +0 -11
  71. package/src/lib/safetyPlan/serviceProvider.component.ts +0 -94
  72. package/src/lib/safetyPlan/victimSafetyPlan.component.css +0 -27
  73. package/src/lib/safetyPlan/victimSafetyPlan.component.html +0 -85
  74. package/src/lib/safetyPlan/victimSafetyPlan.component.ts +0 -178
  75. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.html +0 -234
  76. package/src/lib/safetyPlan/victimSafetyPlanDetail.component.ts +0 -492
  77. package/src/lib/shared/app.shared.module.ts +0 -111
  78. package/src/lib/shared/validators/date.validator.ts +0 -73
  79. package/src/lib/shared/validators/index.ts +0 -1
  80. package/src/lib/smart-victim-delete-confirm.component.ts +0 -35
  81. package/src/lib/smart-victim-detail/smart-victim-detail.component.css +0 -43
  82. package/src/lib/smart-victim-detail/smart-victim-detail.component.html +0 -876
  83. package/src/lib/smart-victim-detail/smart-victim-detail.component.spec.ts +0 -25
  84. package/src/lib/smart-victim-detail/smart-victim-detail.component.ts +0 -1469
  85. package/src/lib/smart-victim.component.css +0 -245
  86. package/src/lib/smart-victim.component.html +0 -132
  87. package/src/lib/smart-victim.component.spec.ts +0 -25
  88. package/src/lib/smart-victim.component.ts +0 -333
  89. package/src/lib/smart-victim.model.ts +0 -311
  90. package/src/lib/smart-victim.module.ts +0 -110
  91. package/src/lib/smart-victim.service.spec.ts +0 -12
  92. package/src/lib/smart-victim.service.ts +0 -576
  93. package/src/lib/victim-routing.module.ts +0 -36
  94. package/src/lib/victimSearch/victimSearchForm.component.html +0 -35
  95. package/src/lib/victimSearch/victimSearchForm.component.ts +0 -41
  96. package/src/test.ts +0 -16
  97. package/tsconfig.lib.json +0 -36
  98. package/tsconfig.spec.json +0 -17
  99. package/tslint.json +0 -17
@@ -0,0 +1,317 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Component, ViewChild, Input, Inject } from '@angular/core';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { MatTableDataSource } from '@angular/material/table';
5
+ import { MatSort } from '@angular/material/sort';
6
+ import { MatDialog } from '@angular/material/dialog';
7
+ import { AccessType, } from "@csmart/ngc-smart-core";
8
+ import { NgcSmartVictimService } from './smart-victim.service';
9
+ import { VictimListFilter, SMART_WARRANT_URL } from './smart-victim.model';
10
+ //import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';
11
+ import { IntakeStep, IntakeServicesComponent, } from './intake.service';
12
+ import { MatPaginator } from '@angular/material/paginator';
13
+ import { MatSnackBar } from '@angular/material/snack-bar';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/material/dialog";
16
+ import * as i2 from "./smart-victim.service";
17
+ import * as i3 from "@angular/router";
18
+ import * as i4 from "@angular/material/snack-bar";
19
+ import * as i5 from "./intake.service";
20
+ import * as i6 from "@angular/common";
21
+ import * as i7 from "@angular/material/button";
22
+ import * as i8 from "@angular/material/card";
23
+ import * as i9 from "@angular/material/icon";
24
+ import * as i10 from "@angular/material/paginator";
25
+ import * as i11 from "@angular/material/table";
26
+ import * as i12 from "@csmart/ngc-smart-core";
27
+ import * as i13 from "./smart-victim-detail/smart-victim-detail.component";
28
+ import * as i14 from "./victimSearch/victimSearchForm.component";
29
+ export class NgcSmartVictimComponent {
30
+ constructor(dialog, victimService, router, route, snackBar, intakeService, smartWarrantUrl, document) {
31
+ this.dialog = dialog;
32
+ this.victimService = victimService;
33
+ this.router = router;
34
+ this.route = route;
35
+ this.snackBar = snackBar;
36
+ this.intakeService = intakeService;
37
+ this.smartWarrantUrl = smartWarrantUrl;
38
+ this.document = document;
39
+ this.appModuleId = '';
40
+ this.activatedRoute = null;
41
+ this.victims = [];
42
+ this.victimDetail = {};
43
+ this.showDetail = false;
44
+ this.victimListFilter = new VictimListFilter();
45
+ this.victimListDataSource = new MatTableDataSource();
46
+ this.doSpin = false;
47
+ this.showListFlag = false;
48
+ this.msg = "";
49
+ this.isIntake = false;
50
+ }
51
+ // private onChange(filter: VictimListFilter) {
52
+ // console.log('filter in onchange');
53
+ // console.log(filter);
54
+ // this.getVictimList(filter);
55
+ // }
56
+ applyFilter(filterValue) {
57
+ this.victimListDataSource.filter = filterValue.trim().toLowerCase();
58
+ }
59
+ addRecord() {
60
+ this.showDetail = true;
61
+ this.showAdd = false;
62
+ this.victimDetail = null;
63
+ this.showListFlag = false;
64
+ }
65
+ editVictimDetail(record) {
66
+ console.log("victim edit record");
67
+ console.log(record);
68
+ console.log(record.victimId);
69
+ this.victimDetail = record;
70
+ this.showDetail = true;
71
+ this.showAdd = false;
72
+ this.showListFlag = false;
73
+ }
74
+ save(detail) {
75
+ this.showDetail = false;
76
+ this.showAdd = true;
77
+ this.showListFlag = true;
78
+ }
79
+ cancel() {
80
+ this.showDetail = false;
81
+ this.victimDetail = {};
82
+ }
83
+ ngAfterViewInit() {
84
+ this.victimListDataSource.paginator = this.paginator;
85
+ this.victimListDataSource.sort = this.sort;
86
+ }
87
+ ngOnChanges() {
88
+ this.updateAccessControlConfig = {
89
+ accessType: AccessType.UPDATE,
90
+ appModuleId: this.appModuleId,
91
+ roleId: null,
92
+ route: this.activatedRoute.snapshot,
93
+ };
94
+ this.createAccessControlConfig = {
95
+ accessType: AccessType.CREATE,
96
+ appModuleId: this.appModuleId,
97
+ roleId: null,
98
+ route: this.activatedRoute.snapshot,
99
+ };
100
+ this.deleteAccessControlConfig = {
101
+ accessType: AccessType.DELETE,
102
+ appModuleId: this.appModuleId,
103
+ roleId: null,
104
+ route: this.activatedRoute.snapshot,
105
+ };
106
+ }
107
+ ngOnInit() {
108
+ const queryParams = this.route.snapshot.queryParams;
109
+ if (queryParams['routeTo']) {
110
+ this.router.navigate([queryParams['routeTo']]);
111
+ }
112
+ const selData = this.route.snapshot.data;
113
+ this.selectedOffender = selData['selectedOffender'];
114
+ var myPath = this.router.url.slice(-10);
115
+ console.log("offender id at smart-victim");
116
+ console.log(this.offenderId);
117
+ console.log("staff id at smart-victim");
118
+ console.log(this.staffId);
119
+ console.log("insakeFlag at smart-victim");
120
+ console.log(this.intakeFlag);
121
+ console.log("smart-victim ngOnInit");
122
+ console.log(this.intakeFlag);
123
+ console.log(myPath);
124
+ // if (this.intakeFlag == "true") {
125
+ // this.isIntake = true;
126
+ // }
127
+ this.isIntake = this.selectedOffender.intakeFlag;
128
+ this.displayedColumns = ["lastName", "firstName"];
129
+ if (this.showRelationshipColumn == true ||
130
+ myPath == "victimList" ||
131
+ myPath == "victimHome") {
132
+ this.displayedColumns.push("relationship");
133
+ }
134
+ if (this.showOffenderNameColumn == true) {
135
+ this.displayedColumns.push("offenderName");
136
+ }
137
+ if (this.showOffenderPhoneColumn == true ||
138
+ myPath == "victimList" ||
139
+ myPath == "victimHome") {
140
+ this.displayedColumns.push("homePhone");
141
+ }
142
+ this.displayedColumns.push("victimId");
143
+ if (this.showSearchForm == true) {
144
+ this.showListFlag = false;
145
+ }
146
+ console.log("this.showSearchForm");
147
+ console.log(this.showSearchForm);
148
+ console.log("myPath");
149
+ console.log(myPath);
150
+ if (this.showSearchForm == false ||
151
+ myPath == "victimList" ||
152
+ myPath == "victimHome") {
153
+ var myOffenderId;
154
+ if (this.offenderId) {
155
+ myOffenderId = this.offenderId;
156
+ }
157
+ else {
158
+ console.log("back from previous page");
159
+ this.showAdd = true;
160
+ this.showRelationshipColumn = true;
161
+ this.displayedColumns.push("relationship");
162
+ this.showOffenderPhoneColumn = true;
163
+ // this.displayedColumns.push("homePhone");
164
+ this.accessByModule = "true";
165
+ this.showEdit = "true";
166
+ this.showCaseNote = "true";
167
+ this.showSafetyPlan = "true";
168
+ myOffenderId = selData.selectedOffender.offenderId;
169
+ }
170
+ const victimListFilter = {
171
+ offenderId: myOffenderId,
172
+ lastName: null,
173
+ firstName: null,
174
+ pdid: null,
175
+ birthDate: null,
176
+ };
177
+ console.log("victimListFilter in smar-victim componenet");
178
+ console.log(victimListFilter);
179
+ this.victimService
180
+ .getVictimListByFilter(victimListFilter)
181
+ .subscribe((data) => {
182
+ this.victims = data;
183
+ this.victimListDataSource.data = data;
184
+ console.log("victim data at line 241");
185
+ console.log(this.victims);
186
+ console.log("showListFlag");
187
+ console.log(this.showListFlag);
188
+ this.showListFlag = true;
189
+ if (data.length == 0) {
190
+ this.msg = "No Record Found!";
191
+ }
192
+ });
193
+ }
194
+ else {
195
+ console.log("find filter");
196
+ console.log(this.victimListFilter);
197
+ if (this.showListFlag === true) {
198
+ if (this.victimListFilter != null) {
199
+ this.victimService
200
+ .getVictimListByFilter(this.victimListFilter)
201
+ .subscribe((data) => {
202
+ this.victims = data;
203
+ this.victimListDataSource.data = data;
204
+ console.log("victim data at line 262");
205
+ console.log(data);
206
+ });
207
+ }
208
+ }
209
+ }
210
+ }
211
+ // phone number format on the victim list
212
+ formatPhoneNumber(phoneNumberString) {
213
+ if (!phoneNumberString)
214
+ return "";
215
+ var cleaned = ("" + phoneNumberString).replace(/\D/g, "");
216
+ var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/);
217
+ if (match) {
218
+ return "(" + match[1] + ") " + match[2] + "-" + match[3];
219
+ }
220
+ return "";
221
+ }
222
+ saveIntake() {
223
+ if (!this.isIntake) {
224
+ return;
225
+ }
226
+ const intakeStep = {
227
+ intakeStepId: IntakeStep.VictimInformation,
228
+ offenderId: this.offenderId,
229
+ modifiedBy: this.staffId,
230
+ };
231
+ this.intakeService
232
+ .updateIntakeSteps(this.offenderId, intakeStep)
233
+ .subscribe((res) => {
234
+ console.log("save intake step.");
235
+ this.snackBar.open("Status Saved.", "", {
236
+ duration: 3000,
237
+ });
238
+ //this.router.navigate(['/warrant '], { queryParams: { intake: 1 } });
239
+ this.document.location.href =
240
+ `${this.smartWarrantUrl}/?offenderId=${this.offenderId}&intakeFlag=${this.isIntake}&routeTo=warrant`;
241
+ });
242
+ }
243
+ goToCaseNote(victimId) {
244
+ this.router.navigate(["casenote", victimId, this.offenderId]);
245
+ }
246
+ goToSaftyPlan(victimId) {
247
+ this.router.navigate(["saftyPlan", victimId]);
248
+ }
249
+ getVictimList(filter) {
250
+ this.victimListFilter = filter;
251
+ console.log("this.victimListFilter inside getVictimList");
252
+ console.log(this.victimListFilter);
253
+ this.doSpin = true;
254
+ this.victimService.getVictimListByFilter(filter).subscribe((data) => {
255
+ this.doSpin = !this.doSpin;
256
+ if (data.length > 0) {
257
+ this.showListFlag = true;
258
+ this.victimListDataSource.data = data;
259
+ console.log('victim list 323' + data);
260
+ }
261
+ else {
262
+ this.msg = "No record found!";
263
+ }
264
+ }, (err) => {
265
+ this.doSpin = !this.doSpin;
266
+ });
267
+ }
268
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgcSmartVictimComponent, deps: [{ token: i1.MatDialog }, { token: i2.NgcSmartVictimService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.MatSnackBar }, { token: i5.IntakeServicesComponent }, { token: SMART_WARRANT_URL }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
269
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgcSmartVictimComponent, selector: "csmart-victim", inputs: { offenderId: "offenderId", staffId: "staffId", staffRole: "staffRole", showCaseNote: "showCaseNote", showSafetyPlan: "showSafetyPlan", showAdd: "showAdd", showEdit: "showEdit", showRelationshipColumn: "showRelationshipColumn", showOffenderNameColumn: "showOffenderNameColumn", showOffenderPhoneColumn: "showOffenderPhoneColumn", showSearchForm: "showSearchForm", accessByModule: "accessByModule", intakeFlag: "intakeFlag", appModuleId: "appModuleId", activatedRoute: "activatedRoute" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showSearchForm\">\r\n <app-victim-search-form\r\n (onSearch)=\"getVictimList($event)\">\r\n </app-victim-search-form>\r\n</div>\r\n\r\n<div *ngIf=\"showDetail\">\r\n <csmart-victim-detail [victimDetail]=\"victimDetail\"\r\n [staffId]=\"staffId\"\r\n [offenderId] =\"offenderId\"\r\n [isIntake]=\"isIntake\"\r\n (onSave)=\"save($event)\"\r\n (onCancel)=\"cancel()\" >\r\n</csmart-victim-detail>\r\n</div>\r\n<div class=\"main-container\">\r\n <mat-card id=\"divVictim\" class=\"smart-card-table\">\r\n <div class=\"smart-action-content\">\r\n <button mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"createAccessControlConfig\"\r\n *ngIf=\"showAdd\"\r\n class=\"smart-add-button\"\r\n (click)=\"addRecord()\">\r\n <mat-icon>add</mat-icon>\r\n Add Victim\r\n </button>\r\n <button\r\n mat-stroked-button\r\n class=\"smart-add-button\"\r\n *ngIf=\"isIntake\"\r\n color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"saveIntake()\">\r\n Continue\r\n </button>\r\n </div>\r\n <div *ngIf=\"victimListDataSource.data.length > 0\">\r\n <mat-table #table [dataSource]=\"victimListDataSource\" >\r\n\r\n <ng-container matColumnDef=\"lastName\">\r\n <mat-header-cell *matHeaderCellDef>Victim Last Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.lastName}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"firstName\">\r\n <mat-header-cell *matHeaderCellDef >Victim First Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.firstName}} </mat-cell>\r\n </ng-container>\r\n\r\n <div *ngIf=\"showRelationshipColumn\">\r\n <ng-container matColumnDef=\"relationship\">\r\n <mat-header-cell *matHeaderCellDef >Relationship to Offender</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.victimOffenderRelationships[0]}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderPhoneColumn\">\r\n <ng-container matColumnDef=\"homePhone\">\r\n <mat-header-cell *matHeaderCellDef >Phone Number</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n Home phone: {{formatPhoneNumber(row.homePhone)}}<br>\r\n Cell Phone: {{formatPhoneNumber(row.cellPhone)}}<br>\r\n Work Phone: {{formatPhoneNumber(row.workPhone)}}\r\n\r\n </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderNameColumn\">\r\n <ng-container matColumnDef=\"offenderName\">\r\n <mat-header-cell *matHeaderCellDef>Offender Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.offenderName}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container matColumnDef=\"victimId\">\r\n <mat-header-cell *matHeaderCellDef ></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n\r\n <!-- <div *ngIf=\"accessByModule\">\r\n <mat-checkbox></mat-checkbox>\r\n </div> -->\r\n\r\n <div *ngIf=\"showEdit\">\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"View/Edit Victim\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"editVictimDetail(row)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showCaseNote\">\r\n <button type=\"button\" matTooltip=\"CaseNote\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToCaseNote(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Case Note\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showSafetyPlan\">\r\n <button type=\"button\" matTooltip=\"safety plan\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToSaftyPlan(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Safety Plan\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n <mat-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\r\n </div>\r\n </mat-card>\r\n <div>\r\n <b>{{msg}}</b>\r\n </div>\r\n</div>\r\n", styles: ["div.services{max-width:500px;margin:auto;border:3px solid #73AD21}.rTable{display:block;width:100%}.rTableHeading,.rTableBody,.rTableFoot,.rTableRow{clear:both}.rTableHead,.rTableFoot{background-color:#ddd;font-weight:700}.rTableCell,.rTableHead{border:0px;float:left;padding:1px;width:28%}.rTable:after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.victimSearch{display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px}.edit-btn{margin-right:4px}.main-container{display:flex;margin-top:8px;flex-direction:column}.add-action{display:flex;justify-content:flex-end;margin-bottom:8px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}mat-form-field{margin-right:12px}.actions{display:flex;justify-content:space-around}.Row{display:table;width:100%;table-layout:fixed}.Column{display:table-cell}.sp-form textarea{float:left;margin-top:20px;margin-bottom:10px;width:462px;height:70px;overflow:auto;box-sizing:border-box}.mat-column-lastName,.mat-column-firstName,.mat-column-relationship,.mat-column-homePhone,.mat-column-offenderName{word-wrap:break-word!important;white-space:unset!important;flex:0 0 15%!important;width:15%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mat-column-victimId{word-wrap:break-word!important;white-space:unset!important;flex:0 0 25%!important;width:25%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.smart-card{background-color:var(--mdc-elevated-card-container-color);border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:16px 0 16px 2px;width:100%}.smart-card-header{display:flex;flex-direction:column;align-items:start}.smart-label{font-size:16px!important}.smart-card-table{margin:16px 0}.smart-flex-container{display:flex!important;justify-content:space-between;flex-wrap:wrap}.smart-action-content{display:flex;justify-content:flex-end;margin:12px}.smart-button{margin:0 4px}.smart-add-button{margin:0 4px;font-size:1.25em!important}.material-icons{vertical-align:baseline!important}.smart-paginator{display:flex!important}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i12.SmartAccessControlDirective, selector: "[accessControl]", inputs: ["accessControlConfig"] }, { kind: "component", type: i13.SmartVictimDetailComponent, selector: "csmart-victim-detail", inputs: ["victimDetail", "staffId", "offenderId", "isIntake"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: i14.VictimSearchFormComponent, selector: "app-victim-search-form", outputs: ["onSearch"] }] }); }
270
+ }
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgcSmartVictimComponent, decorators: [{
272
+ type: Component,
273
+ args: [{ selector: "csmart-victim", template: "<div *ngIf=\"showSearchForm\">\r\n <app-victim-search-form\r\n (onSearch)=\"getVictimList($event)\">\r\n </app-victim-search-form>\r\n</div>\r\n\r\n<div *ngIf=\"showDetail\">\r\n <csmart-victim-detail [victimDetail]=\"victimDetail\"\r\n [staffId]=\"staffId\"\r\n [offenderId] =\"offenderId\"\r\n [isIntake]=\"isIntake\"\r\n (onSave)=\"save($event)\"\r\n (onCancel)=\"cancel()\" >\r\n</csmart-victim-detail>\r\n</div>\r\n<div class=\"main-container\">\r\n <mat-card id=\"divVictim\" class=\"smart-card-table\">\r\n <div class=\"smart-action-content\">\r\n <button mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"createAccessControlConfig\"\r\n *ngIf=\"showAdd\"\r\n class=\"smart-add-button\"\r\n (click)=\"addRecord()\">\r\n <mat-icon>add</mat-icon>\r\n Add Victim\r\n </button>\r\n <button\r\n mat-stroked-button\r\n class=\"smart-add-button\"\r\n *ngIf=\"isIntake\"\r\n color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"saveIntake()\">\r\n Continue\r\n </button>\r\n </div>\r\n <div *ngIf=\"victimListDataSource.data.length > 0\">\r\n <mat-table #table [dataSource]=\"victimListDataSource\" >\r\n\r\n <ng-container matColumnDef=\"lastName\">\r\n <mat-header-cell *matHeaderCellDef>Victim Last Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.lastName}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"firstName\">\r\n <mat-header-cell *matHeaderCellDef >Victim First Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.firstName}} </mat-cell>\r\n </ng-container>\r\n\r\n <div *ngIf=\"showRelationshipColumn\">\r\n <ng-container matColumnDef=\"relationship\">\r\n <mat-header-cell *matHeaderCellDef >Relationship to Offender</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.victimOffenderRelationships[0]}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderPhoneColumn\">\r\n <ng-container matColumnDef=\"homePhone\">\r\n <mat-header-cell *matHeaderCellDef >Phone Number</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n Home phone: {{formatPhoneNumber(row.homePhone)}}<br>\r\n Cell Phone: {{formatPhoneNumber(row.cellPhone)}}<br>\r\n Work Phone: {{formatPhoneNumber(row.workPhone)}}\r\n\r\n </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"showOffenderNameColumn\">\r\n <ng-container matColumnDef=\"offenderName\">\r\n <mat-header-cell *matHeaderCellDef>Offender Name</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" > {{row.offenderName}} </mat-cell>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container matColumnDef=\"victimId\">\r\n <mat-header-cell *matHeaderCellDef ></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" >\r\n\r\n <!-- <div *ngIf=\"accessByModule\">\r\n <mat-checkbox></mat-checkbox>\r\n </div> -->\r\n\r\n <div *ngIf=\"showEdit\">\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"View/Edit Victim\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"editVictimDetail(row)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showCaseNote\">\r\n <button type=\"button\" matTooltip=\"CaseNote\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToCaseNote(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Case Note\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n <div *ngIf=\"showSafetyPlan\">\r\n <button type=\"button\" matTooltip=\"safety plan\" mat-stroked-button color=\"primary\"\r\n accessControl\r\n [accessControlConfig]=\"updateAccessControlConfig\"\r\n (click)=\"goToSaftyPlan(row.victimId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;Safety Plan\r\n </button>\r\n </div>\r\n &nbsp;&nbsp;\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n <mat-paginator #paginator [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\r\n </div>\r\n </mat-card>\r\n <div>\r\n <b>{{msg}}</b>\r\n </div>\r\n</div>\r\n", styles: ["div.services{max-width:500px;margin:auto;border:3px solid #73AD21}.rTable{display:block;width:100%}.rTableHeading,.rTableBody,.rTableFoot,.rTableRow{clear:both}.rTableHead,.rTableFoot{background-color:#ddd;font-weight:700}.rTableCell,.rTableHead{border:0px;float:left;padding:1px;width:28%}.rTable:after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.victimSearch{display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px}.edit-btn{margin-right:4px}.main-container{display:flex;margin-top:8px;flex-direction:column}.add-action{display:flex;justify-content:flex-end;margin-bottom:8px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}mat-form-field{margin-right:12px}.actions{display:flex;justify-content:space-around}.Row{display:table;width:100%;table-layout:fixed}.Column{display:table-cell}.sp-form textarea{float:left;margin-top:20px;margin-bottom:10px;width:462px;height:70px;overflow:auto;box-sizing:border-box}.mat-column-lastName,.mat-column-firstName,.mat-column-relationship,.mat-column-homePhone,.mat-column-offenderName{word-wrap:break-word!important;white-space:unset!important;flex:0 0 15%!important;width:15%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mat-column-victimId{word-wrap:break-word!important;white-space:unset!important;flex:0 0 25%!important;width:25%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.smart-card{background-color:var(--mdc-elevated-card-container-color);border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:16px 0 16px 2px;width:100%}.smart-card-header{display:flex;flex-direction:column;align-items:start}.smart-label{font-size:16px!important}.smart-card-table{margin:16px 0}.smart-flex-container{display:flex!important;justify-content:space-between;flex-wrap:wrap}.smart-action-content{display:flex;justify-content:flex-end;margin:12px}.smart-button{margin:0 4px}.smart-add-button{margin:0 4px;font-size:1.25em!important}.material-icons{vertical-align:baseline!important}.smart-paginator{display:flex!important}\n"] }]
274
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.NgcSmartVictimService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.MatSnackBar }, { type: i5.IntakeServicesComponent }, { type: undefined, decorators: [{
275
+ type: Inject,
276
+ args: [SMART_WARRANT_URL]
277
+ }] }, { type: undefined, decorators: [{
278
+ type: Inject,
279
+ args: [DOCUMENT]
280
+ }] }], propDecorators: { offenderId: [{
281
+ type: Input
282
+ }], staffId: [{
283
+ type: Input
284
+ }], staffRole: [{
285
+ type: Input
286
+ }], showCaseNote: [{
287
+ type: Input
288
+ }], showSafetyPlan: [{
289
+ type: Input
290
+ }], showAdd: [{
291
+ type: Input
292
+ }], showEdit: [{
293
+ type: Input
294
+ }], showRelationshipColumn: [{
295
+ type: Input
296
+ }], showOffenderNameColumn: [{
297
+ type: Input
298
+ }], showOffenderPhoneColumn: [{
299
+ type: Input
300
+ }], showSearchForm: [{
301
+ type: Input
302
+ }], accessByModule: [{
303
+ type: Input
304
+ }], intakeFlag: [{
305
+ type: Input
306
+ }], appModuleId: [{
307
+ type: Input
308
+ }], activatedRoute: [{
309
+ type: Input
310
+ }], paginator: [{
311
+ type: ViewChild,
312
+ args: [MatPaginator]
313
+ }], sort: [{
314
+ type: ViewChild,
315
+ args: [MatSort]
316
+ }] } });
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==
@@ -0,0 +1,142 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const SMART_OFFENDER_SERVICE_URL = new InjectionToken('smart offender service url');
3
+ export const SMART_LOOKUP_SERVICE_URL = new InjectionToken('smart lookup service url');
4
+ export const SMART_VICTIM_SERVICE_URL = new InjectionToken('smart victim service url');
5
+ export const SMART_WARRANT_URL = new InjectionToken('smart warrant web url');
6
+ export class VictimListFilter {
7
+ }
8
+ export class VictimAdvocate {
9
+ constructor(victimAdvocateId, lastName, firstName, prefixId, suffixId, addressId, noPhoneFlag, homePhone, workPhone, cellPhone, email, modifiedBy) {
10
+ this.victimAdvocateId = victimAdvocateId;
11
+ this.lastName = lastName;
12
+ this.firstName = firstName;
13
+ this.prefixId = prefixId;
14
+ this.suffixId = suffixId;
15
+ this.addressId = addressId;
16
+ this.noPhoneFlag = noPhoneFlag;
17
+ this.homePhone = homePhone;
18
+ this.workPhone = workPhone;
19
+ this.cellPhone = cellPhone;
20
+ this.email = email;
21
+ this.modifiedBy = modifiedBy;
22
+ }
23
+ }
24
+ export class VictimWeaponUse {
25
+ constructor(
26
+ // public victimWeaponUseId: number,
27
+ victimId, weaponTypeId, otherWeapon, modifiedBy) {
28
+ this.victimId = victimId;
29
+ this.weaponTypeId = weaponTypeId;
30
+ this.otherWeapon = otherWeapon;
31
+ this.modifiedBy = modifiedBy;
32
+ }
33
+ }
34
+ export class VictimDrugUse {
35
+ constructor(
36
+ //public victimDrugUseId: number,
37
+ victimId, drugTypeId, otherDrug, modifiedBy) {
38
+ this.victimId = victimId;
39
+ this.drugTypeId = drugTypeId;
40
+ this.otherDrug = otherDrug;
41
+ this.modifiedBy = modifiedBy;
42
+ }
43
+ }
44
+ export class VictimSupport {
45
+ constructor(
46
+ // public victimSupportId: number,
47
+ victimId, victimSupportTypeId, modifiedBy) {
48
+ this.victimId = victimId;
49
+ this.victimSupportTypeId = victimSupportTypeId;
50
+ this.modifiedBy = modifiedBy;
51
+ }
52
+ }
53
+ export class VictimRelationship {
54
+ constructor(victimId, victimOffenderRelationshipTypeId, modifiedBy) {
55
+ this.victimId = victimId;
56
+ this.victimOffenderRelationshipTypeId = victimOffenderRelationshipTypeId;
57
+ this.modifiedBy = modifiedBy;
58
+ }
59
+ }
60
+ export class VictimGuardian {
61
+ constructor(victimGuardianId, lastName, firstName, prefixId, suffixId, birthDate, addressId, noPhoneFlag, homePhone, workPhone, cellPhone, email, modifiedBy) {
62
+ this.victimGuardianId = victimGuardianId;
63
+ this.lastName = lastName;
64
+ this.firstName = firstName;
65
+ this.prefixId = prefixId;
66
+ this.suffixId = suffixId;
67
+ this.birthDate = birthDate;
68
+ this.addressId = addressId;
69
+ this.noPhoneFlag = noPhoneFlag;
70
+ this.homePhone = homePhone;
71
+ this.workPhone = workPhone;
72
+ this.cellPhone = cellPhone;
73
+ this.email = email;
74
+ this.modifiedBy = modifiedBy;
75
+ }
76
+ }
77
+ export class Victim {
78
+ constructor(victimId, offenderId, underSupervisionFlag, victimOffenderRelationshipTypeId, lastName, firstName, middleName, prefixId, suffixId, birthDate, genderCode, homePhone, workPhone, cellPhone, email, addressId, minorFlag, victimAdvocateFlag, guardianFirstName, guardianLastName, guardianPrefixId, guardianSuffixId, guardianNoPhoneFlag, guardianHomePhone, guardianWorkPhone, guardianCellPhone, guardianEmail, guardianAddressId, guardianBirthDate, advocateFirstName, advocateLastName, advocatePrefixId, advocateSuffixId, advocateNoPhoneFlag, advocateHomePhone, advocateWorkPhone, advocateCellPhone, advocateEmail, advocateAddressId, emergencyContact, emergencyContactPhone, commonChildrenFlag, commonChildrenNumber, cpoExpirationFlag, cpoExpirationDate, supportInPlaceFlag, weaponInvolvedFlag, drugUseFlag, alcoholUseFlag, accessRisk, modifiedBy,
79
+ //public relationship: string,
80
+ vVictimAdvocate, vVictimGuardian, victimSupports, victimWeaponUses, victimDrugUses, victimRelationships, allowCsosaContactFlag, liveWithOffenderFlag) {
81
+ this.victimId = victimId;
82
+ this.offenderId = offenderId;
83
+ this.underSupervisionFlag = underSupervisionFlag;
84
+ this.victimOffenderRelationshipTypeId = victimOffenderRelationshipTypeId;
85
+ this.lastName = lastName;
86
+ this.firstName = firstName;
87
+ this.middleName = middleName;
88
+ this.prefixId = prefixId;
89
+ this.suffixId = suffixId;
90
+ this.birthDate = birthDate;
91
+ this.genderCode = genderCode;
92
+ this.homePhone = homePhone;
93
+ this.workPhone = workPhone;
94
+ this.cellPhone = cellPhone;
95
+ this.email = email;
96
+ this.addressId = addressId;
97
+ this.minorFlag = minorFlag;
98
+ this.victimAdvocateFlag = victimAdvocateFlag;
99
+ this.guardianFirstName = guardianFirstName;
100
+ this.guardianLastName = guardianLastName;
101
+ this.guardianPrefixId = guardianPrefixId;
102
+ this.guardianSuffixId = guardianSuffixId;
103
+ this.guardianNoPhoneFlag = guardianNoPhoneFlag;
104
+ this.guardianHomePhone = guardianHomePhone;
105
+ this.guardianWorkPhone = guardianWorkPhone;
106
+ this.guardianCellPhone = guardianCellPhone;
107
+ this.guardianEmail = guardianEmail;
108
+ this.guardianAddressId = guardianAddressId;
109
+ this.guardianBirthDate = guardianBirthDate;
110
+ this.advocateFirstName = advocateFirstName;
111
+ this.advocateLastName = advocateLastName;
112
+ this.advocatePrefixId = advocatePrefixId;
113
+ this.advocateSuffixId = advocateSuffixId;
114
+ this.advocateNoPhoneFlag = advocateNoPhoneFlag;
115
+ this.advocateHomePhone = advocateHomePhone;
116
+ this.advocateWorkPhone = advocateWorkPhone;
117
+ this.advocateCellPhone = advocateCellPhone;
118
+ this.advocateEmail = advocateEmail;
119
+ this.advocateAddressId = advocateAddressId;
120
+ this.emergencyContact = emergencyContact;
121
+ this.emergencyContactPhone = emergencyContactPhone;
122
+ this.commonChildrenFlag = commonChildrenFlag;
123
+ this.commonChildrenNumber = commonChildrenNumber;
124
+ this.cpoExpirationFlag = cpoExpirationFlag;
125
+ this.cpoExpirationDate = cpoExpirationDate;
126
+ this.supportInPlaceFlag = supportInPlaceFlag;
127
+ this.weaponInvolvedFlag = weaponInvolvedFlag;
128
+ this.drugUseFlag = drugUseFlag;
129
+ this.alcoholUseFlag = alcoholUseFlag;
130
+ this.accessRisk = accessRisk;
131
+ this.modifiedBy = modifiedBy;
132
+ this.vVictimAdvocate = vVictimAdvocate;
133
+ this.vVictimGuardian = vVictimGuardian;
134
+ this.victimSupports = victimSupports;
135
+ this.victimWeaponUses = victimWeaponUses;
136
+ this.victimDrugUses = victimDrugUses;
137
+ this.victimRelationships = victimRelationships;
138
+ this.allowCsosaContactFlag = allowCsosaContactFlag;
139
+ this.liveWithOffenderFlag = liveWithOffenderFlag;
140
+ }
141
+ }
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3NtYXJ0LXZpY3RpbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFTLDRCQUE0QixDQUFDLENBQUM7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQVMsMEJBQTBCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFTLHVCQUF1QixDQUFDLENBQUM7QUFhckYsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUlELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQW1CLGdCQUF3QixFQUVoQyxRQUFnQixFQUVoQixTQUFpQixFQUVqQixRQUFnQixFQUVoQixRQUFnQixFQUVoQixTQUFpQixFQUVqQixXQUFvQixFQUVwQixTQUFpQixFQUVqQixTQUFpQixFQUVqQixTQUFpQixFQUVqQixLQUFhLEVBRWIsVUFBa0I7UUF0QlYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBRWhDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFFaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUVqQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRWhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFFaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUVqQixnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUVwQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBRWpCLGNBQVMsR0FBVCxTQUFTLENB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ZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBR2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFFL0IsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBRS9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFFekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFTO1FBQzlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUztJQUNwQyxDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTTUFSVF9PRkZFTkRFUl9TRVJWSUNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdzbWFydCBvZmZlbmRlciBzZXJ2aWNlIHVybCcpO1xyXG5leHBvcnQgY29uc3QgU01BUlRfTE9PS1VQX1NFUlZJQ0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ3NtYXJ0IGxvb2t1cCBzZXJ2aWNlIHVybCcpO1xyXG5leHBvcnQgY29uc3QgU01BUlRfVklDVElNX1NFUlZJQ0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ3NtYXJ0IHZpY3RpbSBzZXJ2aWNlIHVybCcpO1xyXG5leHBvcnQgY29uc3QgU01BUlRfV0FSUkFOVF9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignc21hcnQgd2FycmFudCB3ZWIgdXJsJyk7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50c1ZpY3RpbSB7XHJcbiAgICB2aWN0aW1JZDogc3RyaW5nO1xyXG4gICAgdmljdGltVHlwZTogc3RyaW5nO1xyXG4gICAgdmljdGltUHJvdmlkZXI6IHN0cmluZztcclxuICAgIHZpY3RpbVBvbGljeUhvbGRlcjogc3RyaW5nO1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbiAgICBpc0FjdGl2ZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpY3RpbUxpc3RGaWx0ZXIge1xyXG4gXHJcbiAgICBvZmZlbmRlcklkOiBudW1iZXI7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBwZGlkOiBzdHJpbmc7XHJcbiAgICBiaXJ0aERhdGU6IERhdGU7XHJcbiAgXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFZpY3RpbUFkdm9jYXRlIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWN0aW1BZHZvY2F0ZUlkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyBsYXN0TmFtZTogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgZmlyc3ROYW1lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBwcmVmaXhJZDogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgc3VmZml4SWQ6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIGFkZHJlc3NJZDogbnVtYmVyLFxyXG5cclxuICAgICAgICBwdWJsaWMgbm9QaG9uZUZsYWc6IGJvb2xlYW4sXHJcblxyXG4gICAgICAgIHB1YmxpYyBob21lUGhvbmU6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIHdvcmtQaG9uZTogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgY2VsbFBob25lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBlbWFpbDogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgbW9kaWZpZWRCeTogbnVtYmVyXHJcblxyXG4gICAgICAgXHJcbikgeyB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmljdGltV2VhcG9uVXNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgLy8gcHVibGljIHZpY3RpbVdlYXBvblVzZUlkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyB2aWN0aW1JZDogbnVtYmVyLFxyXG5cclxuICAgICAgICBwdWJsaWMgd2VhcG9uVHlwZUlkOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBvdGhlcldlYXBvbjogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgbW9kaWZpZWRCeTogbnVtYmVyXHJcblxyXG4gICAgICAgICkgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWaWN0aW1EcnVnVXNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8vcHVibGljIHZpY3RpbURydWdVc2VJZDogbnVtYmVyLFxyXG5cclxuICAgICAgICBwdWJsaWMgdmljdGltSWQ6IG51bWJlcixcclxuXHJcbiAgICAgICAgcHVibGljIGRydWdUeXBlSWQ6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIG90aGVyRHJ1Zzogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgbW9kaWZpZWRCeTogbnVtYmVyXHJcblxyXG4gICAgKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpY3RpbVN1cHBvcnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAvLyBwdWJsaWMgdmljdGltU3VwcG9ydElkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyB2aWN0aW1JZDogbnVtYmVyLFxyXG5cclxuICAgICAgICBwdWJsaWMgdmljdGltU3VwcG9ydFR5cGVJZDogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgbW9kaWZpZWRCeTogbnVtYmVyXHJcblxyXG4gICAgICApIHsgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmljdGltUmVsYXRpb25zaGlwIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB2aWN0aW1JZDogbnVtYmVyLFxyXG5cclxuICAgICAgICBwdWJsaWMgdmljdGltT2ZmZW5kZXJSZWxhdGlvbnNoaXBUeXBlSWQ6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIG1vZGlmaWVkQnk6IG51bWJlclxyXG5cclxuICAgICAgKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpY3RpbUd1YXJkaWFuIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWN0aW1HdWFyZGlhbklkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyBsYXN0TmFtZTogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgZmlyc3ROYW1lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBwcmVmaXhJZDogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgc3VmZml4SWQ6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIGJpcnRoRGF0ZTogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgYWRkcmVzc0lkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyBub1Bob25lRmxhZzogYm9vbGVhbixcclxuXHJcbiAgICAgICAgcHVibGljIGhvbWVQaG9uZTogc3RyaW5nLFxyXG5cclxuICAgICAgICBwdWJsaWMgd29ya1Bob25lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBjZWxsUGhvbmU6IHN0cmluZyxcclxuXHJcbiAgICAgICAgcHVibGljIGVtYWlsOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBtb2RpZmllZEJ5OiBudW1iZXJcclxuICAgICAgICBcclxuICAgICAgICBcclxuXHJcbiAgICAgICApIHsgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhc2VOb3RlIHtcclxuICAgIHZpY3RpbUlkOiBudW1iZXI7XHJcbiAgICB2aWN0aW1DYXNlTm90ZUlkOiBudW1iZXI7XHJcbiAgICBjYXNlTm90ZURhdGU6IERhdGU7XHJcbiAgICBjb250YWN0VHlwZUlkOiBzdHJpbmc7XHJcbiAgICBjb250YWN0VHlwZTogc3RyaW5nO1xyXG4gICAgdmljdGltQ29udGFjdFB1cnBvc2VJZDogc3RyaW5nO1xyXG4gICAgdmljdGltQ29udGFjdFB1cnBvc2U6IHN0cmluZztcclxuICAgIGNvbW1lbnQ6IHN0cmluZztcclxuICAgIG1vZGlmaWVkQnk6IG51bWJlcjtcclxuICAgIHZpY3RpbUZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgdmljdGltTGFzdE5hbWU6IHN0cmluZztcclxuICBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0IHtcclxuICAgIHZpY3RpbUlkOiBudW1iZXI7XHJcbiAgICB2aWN0aW1Db250YWN0SWQ6IG51bWJlcjtcclxuICAgIGNvbnRhY3REYXRlOiBEYXRlO1xyXG4gICAgdmljdGltQ29udGFjdE1ldGhvZElkOiBzdHJpbmc7XHJcbiAgICBjb250YWN0TWV0aG9kOiBzdHJpbmc7XHJcbiAgICBjb250YWN0ZWRCeTogbnVtYmVyO1xyXG4gICAgY29udGFjdGVkQnlOYW1lOiBzdHJpbmc7XHJcbiAgICBuZXh0Q29udGFjdERhdGU6IERhdGU7XHJcbiAgICBjb21tZW50OiBzdHJpbmc7XHJcbiAgICBtb2RpZmllZEJ5OiBudW1iZXI7XHJcblxyXG4gIFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaWN0aW1TYWZldHlQbGFuIHtcclxuICAgIHZpY3RpbUlkOiBudW1iZXI7XHJcbiAgICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gICAgdmljdGltU2VydmljZUlkOiBudW1iZXI7XHJcbiAgICBnb2FsOnN0cmluZztcclxuICAgIGNvbW1lbnQ6IHN0cmluZztcclxuICAgIG1vZGlmaWVkQnk6IG51bWJlcjtcclxuICAgIHZpY3RpbVNlcnZpY2VTdGF0dXNJZDogc3RyaW5nO1xyXG4gICAgc3RhdHVzOiBzdHJpbmc7XHJcbiAgICBzdGFydERhdGU6IERhdGU7XHJcbiAgICB2VmljdGltU2VydmljZURldGFpbHM6IFZpY3RpbVNlcnZpY2VEZXRhaWxbXTtcclxuICAgIHZpY3RpbU5hbWU6IFN0cmluZztcclxuICAgIFxyXG4gIFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpY3RpbVNlcnZpY2VEZXRhaWx7XHJcbiAgICB2aWN0aW1TZXJ2aWNlSWQ6IG51bWJlcjtcclxuICAgIHZpY3RpbVNlcnZpY2VEZXRhaWxJZDogbnVtYmVyO1xyXG4gICAgdmljdGltU2VydmljZVR5cGVJZDogc3RyaW5nO1xyXG4gICAgdmljdGltUHJvZ3JhbVByb3ZpZGVySWQ6IHN0cmluZztcclxuICAgIHZpY3RpbVByb2dyYW1Qcm92aWRlcjogc3RyaW5nO1xyXG4gICAgbW9kaWZpZWRCeTogbnVtYmVyO1xyXG5cclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeXtcclxuXHJcbiAgICB2aWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeUlkOiBudW1iZXI7XHJcbiAgICB2aWN0aW1TZXJ2aWNlSWQ6IHN0cmluZztcclxuICAgIHZpY3RpbVNlcnZpY2VTdGF0dXNJZDogc3RyaW5nO1xyXG4gICAgc3RhcnREYXRlOiBEYXRlO1xyXG4gICAgY29tbWVudDogc3RyaW5nO1xyXG4gICAgbW9kaWZpZWRCeTogbnVtYmVyO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSAgVmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJNb2RlbCB7XHJcbiAgICB2aWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcklkOiBudW1iZXI7IFxyXG4gICAgdmljdGltU2VydmljZVR5cGU6IHN0cmluZztcclxuICAgIHZpY3RpbVByb2dyYW1Qcm92aWRlcklkOiBzdHJpbmc7XHJcbiAgICB2aWN0aW1TZXJ2aWNlVHlwZUlkOnN0cmluZztcclxuICAgIHZpY3RpbVByb2dyYW1Qcm92aWRlcjogc3RyaW5nO1xyXG4gIH1cclxuICBcclxuICBleHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTGlzdENvbGxlY3Rpb25Nb2RlbHtcclxuICAgIGdyb3VwSWQ6c3RyaW5nO1xyXG4gICAgaXNEaXNwbGF5OmJvb2xlYW47XHJcbiAgICBjb2xsZWN0aW9uOlZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVyTW9kZWxbXTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBQcm92aWRlcnNEaWFsb2dEYXRhIHtcclxuICAgIC8vaWVwQWN0aW9uOiBJZXBBY3Rpb247XHJcbiAgICBzZXJ2aWNlVHlwZTtcclxuICAgIHNlcnZpY2VUeXBlSWQ7XHJcbiAgICBwcm92aWRlckNvbGxlY3Rpb25zOiBbXTtcclxuICB9XHJcblxyXG5cclxuICBleHBvcnQgY2xhc3MgVmljdGltIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB2aWN0aW1JZDogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBvZmZlbmRlcklkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHVuZGVyU3VwZXJ2aXNpb25GbGFnOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHZpY3RpbU9mZmVuZGVyUmVsYXRpb25zaGlwVHlwZUlkOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGxhc3ROYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGZpcnN0TmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBtaWRkbGVOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHByZWZpeElkOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIHB1YmxpYyBzdWZmaXhJZDogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICBwdWJsaWMgYmlydGhEYXRlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGdlbmRlckNvZGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgaG9tZVBob25lOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIHB1YmxpYyB3b3JrUGhvbmU6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgcHVibGljIGNlbGxQaG9uZTogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICBwdWJsaWMgZW1haWw6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYWRkcmVzc0lkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIG1pbm9yRmxhZzogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgdmljdGltQWR2b2NhdGVGbGFnOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBndWFyZGlhbkZpcnN0TmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBndWFyZGlhbkxhc3ROYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGd1YXJkaWFuUHJlZml4SWQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZ3VhcmRpYW5TdWZmaXhJZDogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBndWFyZGlhbk5vUGhvbmVGbGFnOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBndWFyZGlhbkhvbWVQaG9uZTogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICBwdWJsaWMgZ3VhcmRpYW5Xb3JrUGhvbmU6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgcHVibGljIGd1YXJkaWFuQ2VsbFBob25lOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIHB1YmxpYyBndWFyZGlhbkVtYWlsOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGd1YXJkaWFuQWRkcmVzc0lkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIGd1YXJkaWFuQmlydGhEYXRlOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIHB1YmxpYyBhZHZvY2F0ZUZpcnN0TmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBhZHZvY2F0ZUxhc3ROYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFkdm9jYXRlUHJlZml4SWQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYWR2b2NhdGVTdWZmaXhJZDogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBhZHZvY2F0ZU5vUGhvbmVGbGFnOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBhZHZvY2F0ZUhvbWVQaG9uZTogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICBwdWJsaWMgYWR2b2NhdGVXb3JrUGhvbmU6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgcHVibGljIGFkdm9jYXRlQ2VsbFBob25lOiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIHB1YmxpYyBhZHZvY2F0ZUVtYWlsOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFkdm9jYXRlQWRkcmVzc0lkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIHB1YmxpYyBlbWVyZ2VuY3lDb250YWN0OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGVtZXJnZW5jeUNvbnRhY3RQaG9uZTogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICBwdWJsaWMgY29tbW9uQ2hpbGRyZW5GbGFnOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBjb21tb25DaGlsZHJlbk51bWJlcjogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBjcG9FeHBpcmF0aW9uRmxhZzogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgY3BvRXhwaXJhdGlvbkRhdGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgc3VwcG9ydEluUGxhY2VGbGFnOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyB3ZWFwb25JbnZvbHZlZEZsYWc6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGRydWdVc2VGbGFnOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBhbGNvaG9sVXNlRmxhZzogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgYWNjZXNzUmlzazogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBtb2RpZmllZEJ5OiBudW1iZXIsXHJcbiAgICAgICAgLy9wdWJsaWMgcmVsYXRpb25zaGlwOiBzdHJpbmcsXHJcbiAgICAgICAgXHJcbiAgICAgICAgcHVibGljIHZWaWN0aW1BZHZvY2F0ZTogVmljdGltQWR2b2NhdGUsXHJcbiAgICAgICAgcHVibGljIHZWaWN0aW1HdWFyZGlhbjogVmljdGltR3VhcmRpYW4sXHJcbiAgICAgICAgXHJcbiAgICAgICAgcHVibGljIHZpY3RpbVN1cHBvcnRzOiBWaWN0aW1TdXBwb3J0W10sXHJcbiAgICAgICAgcHVibGljIHZpY3RpbVdlYXBvblVzZXM6IFZpY3RpbVdlYXBvblVzZVtdLFxyXG4gICAgICAgIHB1YmxpYyB2aWN0aW1EcnVnVXNlczogVmljdGltRHJ1Z1VzZVtdLFxyXG5cclxuICAgICAgICBwdWJsaWMgdmljdGltUmVsYXRpb25zaGlwczogVmljdGltUmVsYXRpb25zaGlwW10sXHJcblxyXG4gICAgICAgIHB1YmxpYyBhbGxvd0Nzb3NhQ29udGFjdEZsYWc6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGxpdmVXaXRoT2ZmZW5kZXJGbGFnOiBib29sZWFuXHJcbiAgICApIHsgfVxyXG59XHJcblxyXG4iXX0=