@csmart/ngc-smart-victim 0.1.7 → 1.13.2
Sign up to get free protection for your applications and to get access to all the features.
- package/csmart-ngc-smart-victim.d.ts +1 -15
- package/esm2020/csmart-ngc-smart-victim.mjs +5 -0
- package/esm2020/lib/caseNote/caseNote.component.mjs +185 -0
- package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -0
- package/esm2020/lib/common-dialog/common-dialog.module.mjs +38 -0
- package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -0
- package/esm2020/lib/contact/contact.component.mjs +140 -0
- package/esm2020/lib/intake.service.mjs +57 -0
- package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +115 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
- package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
- package/esm2020/lib/shared/app.shared.module.mjs +213 -0
- package/esm2020/lib/shared/directives/phone-mask.directive.mjs +53 -0
- package/esm2020/lib/shared/validators/date.validator.mjs +59 -0
- package/esm2020/lib/shared/validators/index.mjs +2 -0
- package/esm2020/lib/smart-victim-delete-confirm.component.mjs +53 -0
- package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +961 -0
- package/esm2020/lib/smart-victim.component.mjs +310 -0
- package/esm2020/lib/smart-victim.model.mjs +133 -0
- package/esm2020/lib/smart-victim.module.mjs +138 -0
- package/esm2020/lib/smart-victim.service.mjs +347 -0
- package/esm2020/lib/victim-routing.module.mjs +42 -0
- package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -0
- package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -0
- package/esm2020/public-api.mjs +12 -0
- package/fesm2015/csmart-ngc-smart-victim.mjs +3163 -0
- package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs +3152 -0
- package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -0
- package/lib/caseNote/caseNote.component.d.ts +6 -2
- package/lib/common-dialog/common-dialog.component.d.ts +4 -1
- package/lib/common-dialog/common-dialog.module.d.ts +6 -0
- package/lib/common-dialog/common-dialog.service.d.ts +4 -1
- package/lib/contact/contact.component.d.ts +4 -1
- package/lib/intake.service.d.ts +3 -0
- package/lib/safetyPlan/serviceProvider.component.d.ts +4 -1
- package/lib/safetyPlan/victimSafetyPlan.component.d.ts +7 -2
- package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +7 -2
- package/lib/shared/app.shared.module.d.ts +30 -0
- package/lib/shared/directives/phone-mask.directive.d.ts +10 -13
- package/lib/smart-victim-delete-confirm.component.d.ts +3 -0
- package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +9 -4
- package/lib/smart-victim.component.d.ts +8 -3
- package/lib/smart-victim.model.d.ts +2 -1
- package/lib/smart-victim.module.d.ts +47 -0
- package/lib/smart-victim.service.d.ts +3 -0
- package/lib/victim-routing.module.d.ts +5 -0
- package/lib/victimSearch/victimSearchForm.component.d.ts +3 -0
- package/package.json +28 -18
- package/public-api.d.ts +4 -0
- package/bundles/csmart-ngc-smart-victim.umd.js +0 -6434
- package/bundles/csmart-ngc-smart-victim.umd.js.map +0 -1
- package/bundles/csmart-ngc-smart-victim.umd.min.js +0 -16
- package/bundles/csmart-ngc-smart-victim.umd.min.js.map +0 -1
- package/csmart-ngc-smart-victim.metadata.json +0 -1
- package/esm2015/csmart-ngc-smart-victim.js +0 -25
- package/esm2015/lib/caseNote/caseNote.component.js +0 -349
- package/esm2015/lib/common-dialog/common-dialog.component.js +0 -46
- package/esm2015/lib/common-dialog/common-dialog.module.js +0 -32
- package/esm2015/lib/common-dialog/common-dialog.service.js +0 -63
- package/esm2015/lib/contact/contact.component.js +0 -232
- package/esm2015/lib/intake.service.js +0 -183
- package/esm2015/lib/safetyPlan/serviceProvider.component.js +0 -130
- package/esm2015/lib/safetyPlan/victimSafetyPlan.component.js +0 -257
- package/esm2015/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -556
- package/esm2015/lib/shared/app.shared.module.js +0 -81
- package/esm2015/lib/shared/directives/phone-mask.directive.js +0 -168
- package/esm2015/lib/shared/validators/date.validator.js +0 -108
- package/esm2015/lib/shared/validators/index.js +0 -7
- package/esm2015/lib/smart-victim-delete-confirm.component.js +0 -61
- package/esm2015/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1410
- package/esm2015/lib/smart-victim.component.js +0 -476
- package/esm2015/lib/smart-victim.model.js +0 -631
- package/esm2015/lib/smart-victim.module.js +0 -84
- package/esm2015/lib/smart-victim.service.js +0 -792
- package/esm2015/lib/victim-routing.module.js +0 -40
- package/esm2015/lib/victimSearch/VictimSearchFilter.js +0 -20
- package/esm2015/lib/victimSearch/victimSearchForm.component.js +0 -59
- package/esm2015/public-api.js +0 -13
- package/esm5/csmart-ngc-smart-victim.js +0 -25
- package/esm5/lib/caseNote/caseNote.component.js +0 -372
- package/esm5/lib/common-dialog/common-dialog.component.js +0 -48
- package/esm5/lib/common-dialog/common-dialog.module.js +0 -36
- package/esm5/lib/common-dialog/common-dialog.service.js +0 -75
- package/esm5/lib/contact/contact.component.js +0 -285
- package/esm5/lib/intake.service.js +0 -194
- package/esm5/lib/safetyPlan/serviceProvider.component.js +0 -99
- package/esm5/lib/safetyPlan/victimSafetyPlan.component.js +0 -306
- package/esm5/lib/safetyPlan/victimSafetyPlanDetail.component.js +0 -628
- package/esm5/lib/shared/app.shared.module.js +0 -85
- package/esm5/lib/shared/directives/phone-mask.directive.js +0 -184
- package/esm5/lib/shared/validators/date.validator.js +0 -108
- package/esm5/lib/shared/validators/index.js +0 -7
- package/esm5/lib/smart-victim-delete-confirm.component.js +0 -51
- package/esm5/lib/smart-victim-detail/smart-victim-detail.component.js +0 -1502
- package/esm5/lib/smart-victim.component.js +0 -528
- package/esm5/lib/smart-victim.model.js +0 -541
- package/esm5/lib/smart-victim.module.js +0 -84
- package/esm5/lib/smart-victim.service.js +0 -1063
- package/esm5/lib/victim-routing.module.js +0 -44
- package/esm5/lib/victimSearch/VictimSearchFilter.js +0 -24
- package/esm5/lib/victimSearch/victimSearchForm.component.js +0 -70
- package/esm5/public-api.js +0 -13
- package/fesm2015/csmart-ngc-smart-victim.js +0 -5690
- package/fesm2015/csmart-ngc-smart-victim.js.map +0 -1
- package/fesm5/csmart-ngc-smart-victim.js +0 -6211
- package/fesm5/csmart-ngc-smart-victim.js.map +0 -1
@@ -0,0 +1,138 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
4
|
+
// import {
|
5
|
+
// MatMenuModule, MatProgressBarModule,
|
6
|
+
// MatSidenavModule,
|
7
|
+
// MatPaginatorModule,
|
8
|
+
// } from '@angular/material';
|
9
|
+
import { MatButtonModule } from '@angular/material/button';
|
10
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
11
|
+
import { MatCardModule } from '@angular/material/card';
|
12
|
+
import { MatSliderModule } from '@angular/material/slider';
|
13
|
+
import { MatListModule } from '@angular/material/list';
|
14
|
+
import { MatIconModule } from '@angular/material/icon';
|
15
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
16
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
17
|
+
import { MatRadioModule } from '@angular/material/radio';
|
18
|
+
import { MatInputModule } from '@angular/material/input';
|
19
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
20
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
21
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
22
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
23
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
24
|
+
import { MatSelectModule } from '@angular/material/select';
|
25
|
+
import { MatTableModule } from '@angular/material/table';
|
26
|
+
import { MatSortModule } from '@angular/material/sort';
|
27
|
+
import { MatGridListModule } from '@angular/material/grid-list';
|
28
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
29
|
+
import { CdkTableModule } from '@angular/cdk/table';
|
30
|
+
import { LayoutModule } from '@angular/cdk/layout';
|
31
|
+
import { SmartAddressModule } from '@csmart/ngc-smart-address';
|
32
|
+
import { NgcSmartVictimComponent } from './smart-victim.component';
|
33
|
+
import { NgcSmartVictimService } from './smart-victim.service';
|
34
|
+
import { SmartVictimDetailComponent } from './smart-victim-detail/smart-victim-detail.component';
|
35
|
+
import { SmartVictimDeleteConfirmComponent } from './smart-victim-delete-confirm.component';
|
36
|
+
import { CommonDialogModule } from './common-dialog/common-dialog.module';
|
37
|
+
import { VictimRoutingModule } from './victim-routing.module';
|
38
|
+
import { CaseNoteComponent } from './caseNote/caseNote.component';
|
39
|
+
import { ContactComponent } from './contact/contact.component';
|
40
|
+
import { VictimSafetyPlanComponent } from './safetyPlan/victimSafetyPlan.component';
|
41
|
+
import { VictimSafetyPlanDetailComponent } from './safetyPlan/victimSafetyPlanDetail.component';
|
42
|
+
import { VictimSearchFormComponent } from './victimSearch/victimSearchForm.component';
|
43
|
+
import { ApolloModule } from 'apollo-angular';
|
44
|
+
import { PhoneMaskDirective } from './shared/directives/phone-mask.directive';
|
45
|
+
import { SeriveProviderComponent } from './safetyPlan/serviceProvider.component';
|
46
|
+
import { NgcSmartCoreModule } from '@csmart/ngc-smart-core';
|
47
|
+
import { MatMenuModule } from '@angular/material/menu';
|
48
|
+
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
49
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
50
|
+
import { MatSidenavModule } from '@angular/material/sidenav';
|
51
|
+
import * as i0 from "@angular/core";
|
52
|
+
const COMPONENTS = [
|
53
|
+
NgcSmartVictimComponent,
|
54
|
+
SmartVictimDetailComponent,
|
55
|
+
SmartVictimDeleteConfirmComponent,
|
56
|
+
PhoneMaskDirective
|
57
|
+
];
|
58
|
+
const ENTRY_COMPONENTS = [
|
59
|
+
SmartVictimDeleteConfirmComponent,
|
60
|
+
];
|
61
|
+
const BASE_MODULES = [
|
62
|
+
CommonModule,
|
63
|
+
ReactiveFormsModule
|
64
|
+
];
|
65
|
+
const CORE_MODULES = [NgcSmartCoreModule, SmartAddressModule];
|
66
|
+
const MATERIAL_MODULES = [
|
67
|
+
MatButtonModule, MatCheckboxModule, MatRadioModule, MatSliderModule,
|
68
|
+
MatCardModule, MatSlideToggleModule,
|
69
|
+
MatListModule, MatIconModule, MatButtonToggleModule,
|
70
|
+
MatToolbarModule, MatTabsModule, MatExpansionModule,
|
71
|
+
MatMenuModule, MatInputModule, MatProgressBarModule,
|
72
|
+
MatDatepickerModule, MatNativeDateModule, MatPaginatorModule,
|
73
|
+
MatDialogModule, MatSidenavModule, MatSelectModule,
|
74
|
+
MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule,
|
75
|
+
];
|
76
|
+
export class NgcSmartVictimModule {
|
77
|
+
}
|
78
|
+
/** @nocollapse */ /** @nocollapse */ NgcSmartVictimModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
79
|
+
/** @nocollapse */ /** @nocollapse */ NgcSmartVictimModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimModule, declarations: [NgcSmartVictimComponent,
|
80
|
+
SmartVictimDetailComponent,
|
81
|
+
SmartVictimDeleteConfirmComponent,
|
82
|
+
PhoneMaskDirective, CaseNoteComponent,
|
83
|
+
ContactComponent,
|
84
|
+
VictimSafetyPlanComponent,
|
85
|
+
VictimSafetyPlanDetailComponent,
|
86
|
+
VictimSearchFormComponent,
|
87
|
+
SeriveProviderComponent], imports: [CommonModule,
|
88
|
+
ReactiveFormsModule, MatButtonModule, MatCheckboxModule, MatRadioModule, MatSliderModule,
|
89
|
+
MatCardModule, MatSlideToggleModule,
|
90
|
+
MatListModule, MatIconModule, MatButtonToggleModule,
|
91
|
+
MatToolbarModule, MatTabsModule, MatExpansionModule,
|
92
|
+
MatMenuModule, MatInputModule, MatProgressBarModule,
|
93
|
+
MatDatepickerModule, MatNativeDateModule, MatPaginatorModule,
|
94
|
+
MatDialogModule, MatSidenavModule, MatSelectModule,
|
95
|
+
MatTableModule, MatSortModule, MatGridListModule, CdkTableModule, LayoutModule, NgcSmartCoreModule, SmartAddressModule, CommonDialogModule,
|
96
|
+
FormsModule,
|
97
|
+
VictimRoutingModule,
|
98
|
+
ApolloModule], exports: [NgcSmartVictimComponent,
|
99
|
+
SmartVictimDetailComponent,
|
100
|
+
SmartVictimDeleteConfirmComponent,
|
101
|
+
PhoneMaskDirective, ApolloModule] });
|
102
|
+
/** @nocollapse */ /** @nocollapse */ NgcSmartVictimModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimModule, providers: [NgcSmartVictimService], imports: [[
|
103
|
+
...BASE_MODULES,
|
104
|
+
...MATERIAL_MODULES,
|
105
|
+
...CORE_MODULES,
|
106
|
+
CommonDialogModule,
|
107
|
+
FormsModule,
|
108
|
+
VictimRoutingModule,
|
109
|
+
ApolloModule,
|
110
|
+
//SharedModule
|
111
|
+
], ApolloModule] });
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimModule, decorators: [{
|
113
|
+
type: NgModule,
|
114
|
+
args: [{
|
115
|
+
declarations: [...COMPONENTS,
|
116
|
+
CaseNoteComponent,
|
117
|
+
ContactComponent,
|
118
|
+
VictimSafetyPlanComponent,
|
119
|
+
VictimSafetyPlanDetailComponent,
|
120
|
+
VictimSearchFormComponent,
|
121
|
+
SeriveProviderComponent
|
122
|
+
],
|
123
|
+
imports: [
|
124
|
+
...BASE_MODULES,
|
125
|
+
...MATERIAL_MODULES,
|
126
|
+
...CORE_MODULES,
|
127
|
+
CommonDialogModule,
|
128
|
+
FormsModule,
|
129
|
+
VictimRoutingModule,
|
130
|
+
ApolloModule,
|
131
|
+
//SharedModule
|
132
|
+
],
|
133
|
+
exports: [...COMPONENTS, ApolloModule],
|
134
|
+
entryComponents: [...ENTRY_COMPONENTS, SeriveProviderComponent],
|
135
|
+
providers: [NgcSmartVictimService]
|
136
|
+
}]
|
137
|
+
}] });
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zbWFydC12aWN0aW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxXQUFXO0FBR1gseUNBQXlDO0FBRXpDLHNCQUFzQjtBQUN0Qix1QkFBdUI7QUFDdkIsOEJBQThCO0FBRTlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxP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QjtrQkF6QmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVO3dCQUMxQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxZQUFZO3dCQUNmLEdBQUcsZ0JBQWdCO3dCQUNuQixHQUFHLFlBQVk7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixjQUFjO3FCQUdmO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLFlBQVksQ0FBQztvQkFDdEMsZUFBZSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDL0QsU0FBUyxFQUFFLENBQUUscUJBQXFCLENBQUU7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSxGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG4vLyBpbXBvcnQge1xyXG5cclxuXHJcbi8vICAgTWF0TWVudU1vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcblxyXG4vLyAgIE1hdFNpZGVuYXZNb2R1bGUsXHJcbi8vICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbi8vIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNYXROYXRpdmVEYXRlTW9kdWxlLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0R3JpZExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcblxyXG5pbXBvcnQgeyBDZGtUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XHJcbmltcG9ydCB7IExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBTbWFydEFkZHJlc3NNb2R1bGUgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1hZGRyZXNzJztcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2NTbWFydFZpY3RpbVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRWaWN0aW1EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS1kZXRhaWwvc21hcnQtdmljdGltLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpY3RpbURlbGV0ZUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpY3RpbS1kZWxldGUtY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25EaWFsb2dNb2R1bGUgfSBmcm9tICcuL2NvbW1vbi1kaWFsb2cvY29tbW9uLWRpYWxvZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWaWN0aW1Sb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi92aWN0aW0tcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDYXNlTm90ZUNvbXBvbmVudCB9IGZyb20gJy4vY2FzZU5vdGUvY2FzZU5vdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udGFjdENvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdC9jb250YWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpY3RpbVNhZmV0eVBsYW5Db21wb25lbnQgfSBmcm9tICcuL3NhZmV0eVBsYW4vdmljdGltU2FmZXR5UGxhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWN0aW1TYWZldHlQbGFuRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zYWZldHlQbGFuL3ZpY3RpbVNhZmV0eVBsYW5EZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmljdGltU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdmljdGltU2VhcmNoL3ZpY3RpbVNlYXJjaEZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBvbGxvTW9kdWxlLCBBUE9MTE9fT1BUSU9OUyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuXHJcbiBpbXBvcnQgeyBQaG9uZU1hc2tEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL3Bob25lLW1hc2suZGlyZWN0aXZlJztcclxuIGltcG9ydCB7IFNlcml2ZVByb3ZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zYWZldHlQbGFuL3NlcnZpY2VQcm92aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2NTbWFydENvcmVNb2R1bGUgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuXHJcblxyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBOZ2NTbWFydFZpY3RpbUNvbXBvbmVudCxcclxuICBTbWFydFZpY3RpbURldGFpbENvbXBvbmVudCxcclxuICBTbWFydFZpY3RpbURlbGV0ZUNvbmZpcm1Db21wb25lbnQsXHJcbiAgUGhvbmVNYXNrRGlyZWN0aXZlXHJcbiAgXHJcbl07XHJcblxyXG5jb25zdCBFTlRSWV9DT01QT05FTlRTID0gW1xyXG4gIFNtYXJ0VmljdGltRGVsZXRlQ29uZmlybUNvbXBvbmVudCxcclxuIFxyXG5dO1xyXG5cclxuY29uc3QgQkFTRV9NT0RVTEVTID0gW1xyXG4gIENvbW1vbk1vZHVsZSxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbl07XHJcblxyXG5jb25zdCBDT1JFX01PRFVMRVMgPSBbTmdjU21hcnRDb3JlTW9kdWxlLCBTbWFydEFkZHJlc3NNb2R1bGVdO1xyXG5cclxuY29uc3QgTUFURVJJQUxfTU9EVUxFUyA9IFtcclxuICBNYXRCdXR0b25Nb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlLE1hdFJhZGlvTW9kdWxlLE1hdFNsaWRlck1vZHVsZSxcclxuICBNYXRDYXJkTW9kdWxlLCBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICBNYXRMaXN0TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0VG9vbGJhck1vZHVsZSwgTWF0VGFic01vZHVsZSwgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gIE1hdE1lbnVNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICBNYXREYXRlcGlja2VyTW9kdWxlLCBNYXROYXRpdmVEYXRlTW9kdWxlLE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICBNYXREaWFsb2dNb2R1bGUsIE1hdFNpZGVuYXZNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSxcclxuICBNYXRUYWJsZU1vZHVsZSwgTWF0U29ydE1vZHVsZSwgTWF0R3JpZExpc3RNb2R1bGUsIENka1RhYmxlTW9kdWxlLCBMYXlvdXRNb2R1bGUsXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFMsXHJcbiAgICBDYXNlTm90ZUNvbXBvbmVudCxcclxuICAgIENvbnRhY3RDb21wb25lbnQsXHJcbiAgICBWaWN0aW1TYWZldHlQbGFuQ29tcG9uZW50LFxyXG4gICAgVmljdGltU2FmZXR5UGxhbkRldGFpbENvbXBvbmVudCxcclxuICAgIFZpY3RpbVNlYXJjaEZvcm1Db21wb25lbnQsXHJcbiAgICBTZXJpdmVQcm92aWRlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgLi4uQkFTRV9NT0RVTEVTLFxyXG4gICAgLi4uTUFURVJJQUxfTU9EVUxFUyxcclxuICAgIC4uLkNPUkVfTU9EVUxFUyxcclxuICAgIENvbW1vbkRpYWxvZ01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVmljdGltUm91dGluZ01vZHVsZSxcclxuICAgIEFwb2xsb01vZHVsZSxcclxuICAgIC8vU2hhcmVkTW9kdWxlXHJcbiAgIFxyXG4gXHJcbiAgXSxcclxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UUywgQXBvbGxvTW9kdWxlXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFsuLi5FTlRSWV9DT01QT05FTlRTLCBTZXJpdmVQcm92aWRlckNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbIE5nY1NtYXJ0VmljdGltU2VydmljZSBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ2NTbWFydFZpY3RpbU1vZHVsZSB7IH1cclxuIl19
|
@@ -0,0 +1,347 @@
|
|
1
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
2
|
+
import { Injectable, Inject } from '@angular/core';
|
3
|
+
import { SMART_LOOKUP_SERVICE_URL, SMART_OFFENDER_SERVICE_URL, SMART_VICTIM_SERVICE_URL } from './smart-victim.model';
|
4
|
+
import { throwError as observableThrowError } from 'rxjs';
|
5
|
+
import { map, catchError } from 'rxjs/operators';
|
6
|
+
import { Apollo } from 'apollo-angular';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/common/http";
|
9
|
+
import * as i2 from "apollo-angular";
|
10
|
+
const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
|
11
|
+
const options = { headers: headers };
|
12
|
+
export class NgcSmartVictimService {
|
13
|
+
constructor(http, smartOffenderServiceUrl, smartLookupServiceUrl, smartVictimServiceUrl, apollo) {
|
14
|
+
this.http = http;
|
15
|
+
this.smartOffenderServiceUrl = smartOffenderServiceUrl;
|
16
|
+
this.smartLookupServiceUrl = smartLookupServiceUrl;
|
17
|
+
this.smartVictimServiceUrl = smartVictimServiceUrl;
|
18
|
+
this.apollo = apollo;
|
19
|
+
this.serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';
|
20
|
+
}
|
21
|
+
// getVictimInsurances(offenderId: any) {
|
22
|
+
// return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();
|
23
|
+
// }
|
24
|
+
// getVictimInsurance(id: any) {
|
25
|
+
// return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
|
26
|
+
// }
|
27
|
+
// postVictimInsurance(val: any) {
|
28
|
+
// return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();
|
29
|
+
// }
|
30
|
+
// putVictimInsurance(id: any, val: any) {
|
31
|
+
// return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();
|
32
|
+
// }
|
33
|
+
// deleteVictimInsurance(id: any) {
|
34
|
+
// return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
|
35
|
+
// }
|
36
|
+
// getVictimInsuranceTypes() {
|
37
|
+
// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();
|
38
|
+
// }
|
39
|
+
// getVictimInsurancePolicyHolders() {
|
40
|
+
// return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();
|
41
|
+
// }
|
42
|
+
// getVictimInsuranceSwitchReasons() {
|
43
|
+
// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();
|
44
|
+
// }
|
45
|
+
// getVictimInsuranceProviders() {
|
46
|
+
// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();
|
47
|
+
// }
|
48
|
+
// getVictimInsuranceProvider(id) {
|
49
|
+
// return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();
|
50
|
+
// }
|
51
|
+
// postProviderInformation(val: any) {
|
52
|
+
// return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();
|
53
|
+
// }
|
54
|
+
handleError(error) {
|
55
|
+
console.error(error);
|
56
|
+
return observableThrowError(error.json().error || 'Server error');
|
57
|
+
}
|
58
|
+
getDrugsTypes() {
|
59
|
+
return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe(map(res => res));
|
60
|
+
}
|
61
|
+
getDocketList(offenderId) {
|
62
|
+
const queryString = `
|
63
|
+
{
|
64
|
+
findDockets(input: { where: { offenderId:${offenderId} } }) {
|
65
|
+
totalCount
|
66
|
+
message
|
67
|
+
data {
|
68
|
+
docketId
|
69
|
+
docketNumber
|
70
|
+
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}`;
|
74
|
+
return this.http.post(this.serviceApiUrl, { query: queryString }).pipe(map(({ data }) => {
|
75
|
+
console.log('dockets for this offender:', data.findDockets.data);
|
76
|
+
return data.findDockets.data;
|
77
|
+
}));
|
78
|
+
}
|
79
|
+
getSupportTypes() {
|
80
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe(map(res => res));
|
81
|
+
}
|
82
|
+
getPrefixes() {
|
83
|
+
return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe(map(res => res));
|
84
|
+
}
|
85
|
+
getSuffixes() {
|
86
|
+
return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe(map(res => res));
|
87
|
+
}
|
88
|
+
getRelationshipTypes() {
|
89
|
+
return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe(map(res => res));
|
90
|
+
}
|
91
|
+
getGenders() {
|
92
|
+
return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe(map(res => res));
|
93
|
+
}
|
94
|
+
getWeaponTypes() {
|
95
|
+
return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe(map(res => res));
|
96
|
+
}
|
97
|
+
getFlagOptionYesNoUnknowns() {
|
98
|
+
return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe(map(res => {
|
99
|
+
return res;
|
100
|
+
}));
|
101
|
+
}
|
102
|
+
getContactTypes() {
|
103
|
+
return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe(map(res => {
|
104
|
+
return res;
|
105
|
+
}));
|
106
|
+
}
|
107
|
+
getContactMethods() {
|
108
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe(map(res => {
|
109
|
+
return res;
|
110
|
+
}));
|
111
|
+
}
|
112
|
+
getContactBys() {
|
113
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
|
114
|
+
return res;
|
115
|
+
}));
|
116
|
+
}
|
117
|
+
getVictimContactPurposes() {
|
118
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
|
119
|
+
return res;
|
120
|
+
}));
|
121
|
+
}
|
122
|
+
getVictimServiceTypes() {
|
123
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe(map(res => {
|
124
|
+
return res;
|
125
|
+
}));
|
126
|
+
}
|
127
|
+
getVictimServiceStatus() {
|
128
|
+
return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe(map(res => {
|
129
|
+
return res;
|
130
|
+
}));
|
131
|
+
}
|
132
|
+
getvVictimServiceTypeProgramProviders() {
|
133
|
+
return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe(map(res => {
|
134
|
+
return res;
|
135
|
+
}));
|
136
|
+
}
|
137
|
+
getVictim(val) {
|
138
|
+
return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe(map(res => {
|
139
|
+
console.log('victim return data');
|
140
|
+
console.log(res);
|
141
|
+
return res;
|
142
|
+
}));
|
143
|
+
}
|
144
|
+
getVictimAdvocate(val) {
|
145
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe(map(res => {
|
146
|
+
return res;
|
147
|
+
}));
|
148
|
+
}
|
149
|
+
getVictimGuardian(val) {
|
150
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe(map(res => {
|
151
|
+
return res;
|
152
|
+
}));
|
153
|
+
}
|
154
|
+
postVictims(val) {
|
155
|
+
const tempVal = JSON.stringify(val);
|
156
|
+
return this.http.post(this.smartVictimServiceUrl + 'Victims', tempVal, options).pipe(map(res => { return res; }));
|
157
|
+
}
|
158
|
+
putVictims(id, val) {
|
159
|
+
const tempVal = JSON.stringify(val);
|
160
|
+
return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe(map(res => { return res; }));
|
161
|
+
}
|
162
|
+
putVictimAdvocate(id, val) {
|
163
|
+
let body;
|
164
|
+
body = JSON.stringify(val);
|
165
|
+
return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe(map(res => { return res; }));
|
166
|
+
}
|
167
|
+
postVictimAdvocate(id, val) {
|
168
|
+
const tempVal = JSON.stringify(val);
|
169
|
+
return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe(map(res => { return res; }));
|
170
|
+
}
|
171
|
+
putVictimGuardian(id, val) {
|
172
|
+
console.log('update victim guardian');
|
173
|
+
console.log(val);
|
174
|
+
const tempVal = JSON.stringify(val);
|
175
|
+
return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
|
176
|
+
}
|
177
|
+
postVictimGuardian(id, val) {
|
178
|
+
const tempVal = JSON.stringify(val);
|
179
|
+
return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
|
180
|
+
}
|
181
|
+
getVictimDrugUse(val) {
|
182
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe(map((res) => {
|
183
|
+
return res;
|
184
|
+
}));
|
185
|
+
}
|
186
|
+
putVictimDrugUse(id, val) {
|
187
|
+
const tempVal = JSON.stringify(val);
|
188
|
+
return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
|
189
|
+
}
|
190
|
+
postVictimDrugUse(id, val) {
|
191
|
+
const tempVal = JSON.stringify(val);
|
192
|
+
return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
|
193
|
+
}
|
194
|
+
putVictimWeaponUse(id, val) {
|
195
|
+
const tempVal = JSON.stringify(val);
|
196
|
+
return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
|
197
|
+
}
|
198
|
+
postVictimWeaponUse(id, val) {
|
199
|
+
const tempVal = JSON.stringify(val);
|
200
|
+
return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
|
201
|
+
}
|
202
|
+
putVictimSupport(id, val) {
|
203
|
+
const tempVal = JSON.stringify(val);
|
204
|
+
return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
|
205
|
+
}
|
206
|
+
postVictimSupport(id, val) {
|
207
|
+
const tempVal = JSON.stringify(val);
|
208
|
+
return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
|
209
|
+
}
|
210
|
+
deleteVictims(val) {
|
211
|
+
return this.http.delete(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe(map(res => { return res; }));
|
212
|
+
}
|
213
|
+
// //==============Victim Serive===================================
|
214
|
+
getVictims(offenderId) {
|
215
|
+
return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)
|
216
|
+
.pipe(map((res) => {
|
217
|
+
return res;
|
218
|
+
}), catchError(this.handleError));
|
219
|
+
}
|
220
|
+
getVictimsByFilter(filter) {
|
221
|
+
return this.http
|
222
|
+
.post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })
|
223
|
+
.pipe(map((res) => {
|
224
|
+
return res;
|
225
|
+
}), catchError(this.handleError));
|
226
|
+
}
|
227
|
+
getVictimListByFilter(filter) {
|
228
|
+
console.log('filer in service');
|
229
|
+
console.log(filter);
|
230
|
+
return this.http
|
231
|
+
.post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)
|
232
|
+
.pipe();
|
233
|
+
}
|
234
|
+
getCasetNotes(victimId) {
|
235
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)
|
236
|
+
.pipe(map((res) => {
|
237
|
+
return res;
|
238
|
+
}), catchError(this.handleError));
|
239
|
+
}
|
240
|
+
addCaseNote(caseNote) {
|
241
|
+
let body;
|
242
|
+
body = JSON.stringify(caseNote);
|
243
|
+
return this.http
|
244
|
+
.post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);
|
245
|
+
}
|
246
|
+
updateCaseNote(caseNote) {
|
247
|
+
let body;
|
248
|
+
body = JSON.stringify(caseNote);
|
249
|
+
return this.http
|
250
|
+
.put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options);
|
251
|
+
}
|
252
|
+
deleteCaseNote(id, staffId) {
|
253
|
+
return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);
|
254
|
+
}
|
255
|
+
getContacts(victimId) {
|
256
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)
|
257
|
+
.pipe(map((res) => {
|
258
|
+
return res;
|
259
|
+
}), catchError(this.handleError));
|
260
|
+
}
|
261
|
+
addContact(contact) {
|
262
|
+
let body;
|
263
|
+
body = JSON.stringify(contact);
|
264
|
+
return this.http
|
265
|
+
.post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);
|
266
|
+
}
|
267
|
+
updateContact(contact) {
|
268
|
+
let body;
|
269
|
+
body = JSON.stringify(contact);
|
270
|
+
return this.http
|
271
|
+
.put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options);
|
272
|
+
}
|
273
|
+
getSafetyPlans(victimId) {
|
274
|
+
return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)
|
275
|
+
.pipe(map((res) => {
|
276
|
+
return res;
|
277
|
+
}), catchError(this.handleError));
|
278
|
+
}
|
279
|
+
getVictimServices(victimServiceId) {
|
280
|
+
return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)
|
281
|
+
.pipe(map((res) => {
|
282
|
+
return res;
|
283
|
+
}), catchError(this.handleError));
|
284
|
+
}
|
285
|
+
getVictimServiceDetail(victimServiceId) {
|
286
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)
|
287
|
+
.pipe(map((res) => {
|
288
|
+
return res;
|
289
|
+
}), catchError(this.handleError));
|
290
|
+
}
|
291
|
+
addSafetyPlan(victimSafetyPlan) {
|
292
|
+
let body;
|
293
|
+
body = JSON.stringify(victimSafetyPlan);
|
294
|
+
return this.http
|
295
|
+
.post(this.smartVictimServiceUrl + 'VictimServices/', body, options)
|
296
|
+
.pipe();
|
297
|
+
}
|
298
|
+
updateSafetyPlan(victimSafetyPlan) {
|
299
|
+
let body;
|
300
|
+
body = JSON.stringify(victimSafetyPlan);
|
301
|
+
return this.http
|
302
|
+
.put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options);
|
303
|
+
}
|
304
|
+
addVictimServiceStatus(victimServiceStatusHistory) {
|
305
|
+
let body;
|
306
|
+
body = JSON.stringify(victimServiceStatusHistory);
|
307
|
+
return this.http
|
308
|
+
.post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);
|
309
|
+
}
|
310
|
+
getServiceStatusHistories(victimServiceId) {
|
311
|
+
return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)
|
312
|
+
.pipe(map((res) => {
|
313
|
+
return res;
|
314
|
+
}), catchError(this.handleError));
|
315
|
+
}
|
316
|
+
deleteSafetyPlan(victimServiceId, staffId) {
|
317
|
+
return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);
|
318
|
+
}
|
319
|
+
addPlanProvider(victimServiceDetail) {
|
320
|
+
let body;
|
321
|
+
body = JSON.stringify(victimServiceDetail);
|
322
|
+
return this.http
|
323
|
+
.post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)
|
324
|
+
.pipe();
|
325
|
+
}
|
326
|
+
deleteProvider(victimProgramProviderId, staffId) {
|
327
|
+
return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);
|
328
|
+
}
|
329
|
+
}
|
330
|
+
/** @nocollapse */ /** @nocollapse */ NgcSmartVictimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimService, deps: [{ token: i1.HttpClient }, { token: SMART_OFFENDER_SERVICE_URL }, { token: SMART_LOOKUP_SERVICE_URL }, { token: SMART_VICTIM_SERVICE_URL }, { token: i2.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
|
331
|
+
/** @nocollapse */ /** @nocollapse */ NgcSmartVictimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimService, providedIn: 'root' });
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgcSmartVictimService, decorators: [{
|
333
|
+
type: Injectable,
|
334
|
+
args: [{
|
335
|
+
providedIn: 'root'
|
336
|
+
}]
|
337
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
338
|
+
type: Inject,
|
339
|
+
args: [SMART_OFFENDER_SERVICE_URL]
|
340
|
+
}] }, { type: undefined, decorators: [{
|
341
|
+
type: Inject,
|
342
|
+
args: [SMART_LOOKUP_SERVICE_URL]
|
343
|
+
}] }, { type: undefined, decorators: [{
|
344
|
+
type: Inject,
|
345
|
+
args: [SMART_VICTIM_SERVICE_URL]
|
346
|
+
}] }, { type: i2.Apollo }]; } });
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc21hcnQtdmljdGltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUMsd0JBQXdCLEVBRVcsTUFBTSxzQkFBc0IsQ0FBQztBQUM5SCxPQUFPLEVBQWMsVUFBVSxJQUFJLG9CQUFvQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxHQUFHLEVBQUMsVUFBVSxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR3hDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQUN4RSxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUtyQyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLElBQWdCLEVBQ1UsdUJBQStCLEVBQ2pDLHFCQUE2QixFQUM3QixxQkFBNkIsRUFDL0QsTUFBYztRQUpKLFNBQUksR0FBSixJQUFJLENBQVk7UUFDVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQzdCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBUTtRQUMvRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGhCLGtCQUFhLEdBQUksc0RBQXNELENBQUM7SUFPMUUsQ0FBQztJQUVQLHlDQUF5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T0FBTyxDQUFDO2FBQ3pFLElBQUksRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVILGNBQWMsQ0FBQyx1QkFBK0IsRUFBRSxPQUFlO1FBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLHdCQUF3Qix1QkFBdUIsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTdILENBQUM7O3dKQTNoQlkscUJBQXFCLDRDQUd0QiwwQkFBMEIsYUFDMUIsd0JBQXdCLGFBQ3hCLHdCQUF3Qjs0SkFMdkIscUJBQXFCLGNBRnBCLE1BQU07MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQywwQkFBMEI7OzBCQUNqQyxNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCxIdHRwUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU01BUlRfTE9PS1VQX1NFUlZJQ0VfVVJMLCBTTUFSVF9PRkZFTkRFUl9TRVJWSUNFX1VSTCxTTUFSVF9WSUNUSU1fU0VSVklDRV9VUkwsXHJcbiAgICBWaWN0aW1MaXN0RmlsdGVyLFZpY3RpbURydWdVc2UsVmljdGltLFZpY3RpbVNhZmV0eVBsYW4sXHJcbiAgIENhc2VOb3RlLENvbnRhY3QsVmljdGltU2VydmljZURldGFpbCxWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeSxWaWN0aW1BZHZvY2F0ZSxWaWN0aW1HdWFyZGlhbn0gZnJvbSAnLi9zbWFydC12aWN0aW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLGNhdGNoRXJyb3IsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xyXG5cclxuXHJcbmNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG5jb25zdCBvcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ2NTbWFydFZpY3RpbVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc2VydmljZUFwaVVybCA9ICAnaHR0cHM6Ly9zbWFydC1zZXJ2aWNlLXRlc3QuYXp1cmV3ZWJzaXRlcy5uZXQvZ3JhcGhxbCc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdChTTUFSVF9PRkZFTkRFUl9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzbWFydE9mZmVuZGVyU2VydmljZVVybDogc3RyaW5nLFxyXG4gICAgQEluamVjdChTTUFSVF9MT09LVVBfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnRMb29rdXBTZXJ2aWNlVXJsOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KFNNQVJUX1ZJQ1RJTV9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzbWFydFZpY3RpbVNlcnZpY2VVcmw6IHN0cmluZyxcclxuICAgIHByaXZhdGUgYXBvbGxvOiBBcG9sbG9cclxuXHJcbiAgICApIHsgfVxyXG5cclxuICAvLyBnZXRWaWN0aW1JbnN1cmFuY2VzKG9mZmVuZGVySWQ6IGFueSkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydE9mZmVuZGVyU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlcy8/b2ZmZW5kZXJJZD0nICsgb2ZmZW5kZXJJZCkucGlwZSgpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gZ2V0VmljdGltSW5zdXJhbmNlKGlkOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP2lkPScgKyBpZCkucGlwZSgpO1xyXG4gIC8vIH0gXHJcblxyXG4gIC8vIHBvc3RWaWN0aW1JbnN1cmFuY2UodmFsOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VzJywgdmFsKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdXRWaWN0aW1JbnN1cmFuY2UoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP2lkPScgKyBpZCwgdmFsKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBkZWxldGVWaWN0aW1JbnN1cmFuY2UoaWQ6IGFueSkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5zbWFydE9mZmVuZGVyU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlcy8/aWQ9JyArIGlkKS5waXBlKCk7XHJcbiAgLy8gfVxyXG4gIFxyXG4gIC8vIGdldFZpY3RpbUluc3VyYW5jZVR5cGVzKCkge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlVHlwZXMnKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXRWaWN0aW1JbnN1cmFuY2VQb2xpY3lIb2xkZXJzKCkge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlUG9saWN5SG9sZGVycycpLnBpcGUoKTtcclxuICAvLyB9XHJcblxyXG4vLyAgIGdldFZpY3RpbUluc3VyYW5jZVN3aXRjaFJlYXNvbnMoKSB7XHJcbi8vICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VTd2l0Y2hSZWFzb25zJykucGlwZSgpO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgZ2V0VmljdGltSW5zdXJhbmNlUHJvdmlkZXJzKCkge1xyXG4vLyAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlUHJvdmlkZXInKS5waXBlKCk7XHJcbi8vICAgfVxyXG5cclxuLy8gICBnZXRWaWN0aW1JbnN1cmFuY2VQcm92aWRlcihpZCkge1xyXG4vLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVByb3ZpZGVycy8nICsgaWQpLnBpcGUoKTtcclxuLy8gfVxyXG5cclxuLy8gICBwb3N0UHJvdmlkZXJJbmZvcm1hdGlvbih2YWw6IGFueSkge1xyXG4vLyAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVByb3ZpZGVycycsIHZhbCkucGlwZSgpO1xyXG4vLyAgIH1cclxuXHJcblxyXG5cclxucHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XHJcbiAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yLmpzb24oKS5lcnJvciB8fCAnU2VydmVyIGVycm9yJyk7XHJcbn1cclxuXHJcbmdldERydWdzVHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ0RydWdUeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0RG9ja2V0TGlzdChvZmZlbmRlcklkOiBudW1iZXIpIHtcclxuICBjb25zdCBxdWVyeVN0cmluZyA9IGBcclxuICB7XHJcbiAgICBmaW5kRG9ja2V0cyhpbnB1dDogeyB3aGVyZTogeyBvZmZlbmRlcklkOiR7b2ZmZW5kZXJJZH0gfSB9KSB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgICAgbWVzc2FnZVxyXG4gICAgICBkYXRhIHtcclxuICAgICAgICBkb2NrZXRJZFxyXG4gICAgICAgIGRvY2tldE51bWJlclxyXG4gICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1gO1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLnNlcnZpY2VBcGlVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pLnBpcGUoXHJcbiAgICBtYXAoKHsgZGF0YSB9KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkb2NrZXRzIGZvciB0aGlzIG9mZmVuZGVyOicsIGRhdGEuZmluZERvY2tldHMuZGF0YSk7XHJcbiAgICAgIHJldHVybiBkYXRhLmZpbmREb2NrZXRzLmRhdGE7XHJcbiAgICB9KSk7XHJcblxyXG5cclxufVxyXG5cclxuZ2V0U3VwcG9ydFR5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbVN1cHBvcnRUeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0UHJlZml4ZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ1ByZWZpeGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRTdWZmaXhlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnU3VmZml4ZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFJlbGF0aW9uc2hpcFR5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdSZWxhdGlvbnNoaXBUeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0R2VuZGVycygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnR2VuZGVycycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0V2VhcG9uVHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ1dlYXBvblR5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRGbGFnT3B0aW9uWWVzTm9Vbmtub3ducygpIHtcclxuIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ0ZsYWdPcHRpb25ZZXNOb1Vua25vd25zJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgIH0pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldENvbnRhY3RUeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdDb250YWN0VHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG4gZ2V0Q29udGFjdE1ldGhvZHMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdE1ldGhvZHMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG4gZ2V0Q29udGFjdEJ5cygpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RQdXJwb3NlcycsIG9wdGlvbnMpLnBpcGVcclxuICAoXHJcbiAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gIH0pXHJcbiAgKTtcclxuXHJcbiB9XHJcblxyXG5nZXRWaWN0aW1Db250YWN0UHVycG9zZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdFB1cnBvc2VzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuXHJcbiBnZXRWaWN0aW1TZXJ2aWNlVHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZVR5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuIGdldFZpY3RpbVNlcnZpY2VTdGF0dXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZVN0YXR1cycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcblxyXG4gZ2V0dlZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVycygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICd2VmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuXHJcblxyXG5nZXRWaWN0aW0odmFsOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1zLycgKyB2YWwsIG9wdGlvbnMpLnBpcGVcclxuICAoXHJcbiAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgIGNvbnNvbGUubG9nKCd2aWN0aW0gcmV0dXJuIGRhdGEnKTtcclxuICAgICAgY29uc29sZS5sb2cocmVzKTsgIFxyXG4gICAgICByZXR1cm4gcmVzO1xyXG5cclxuICAgIH0pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFZpY3RpbUFkdm9jYXRlKHZhbDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQWR2b2NhdGVzLycgKyB2YWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG5cclxuICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRWaWN0aW1HdWFyZGlhbih2YWw6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUd1YXJkaWFucy8nICsgdmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuXHJcbiAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgIHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucG9zdFZpY3RpbXModmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwrICdWaWN0aW1zJywgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnB1dFZpY3RpbXMoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1zLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnB1dFZpY3RpbUFkdm9jYXRlKGlkOiBhbnksIHZhbDogVmljdGltQWR2b2NhdGUpIHtcclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gIGJvZHkgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUFkdm9jYXRlcy8nICsgaWQsIGJvZHksIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG5cclxuXHJcblxyXG5cclxufVxyXG5cclxucG9zdFZpY3RpbUFkdm9jYXRlKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUFkdm9jYXRlcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wdXRWaWN0aW1HdWFyZGlhbihpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnNvbGUubG9nKCd1cGRhdGUgdmljdGltIGd1YXJkaWFuJyk7XHJcbiAgY29uc29sZS5sb2codmFsKTtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1HdWFyZGlhbnMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucG9zdFZpY3RpbUd1YXJkaWFuKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUd1YXJkaWFucy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRWaWN0aW1EcnVnVXNlKHZhbDogYW55KTogT2JzZXJ2YWJsZTxWaWN0aW1EcnVnVXNlW10+e1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbURydWdVc2VzLycgKyB2YWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAoKHJlczogVmljdGltRHJ1Z1VzZVtdKSA9PiB7IFxyXG4gICAgICAgICAgICByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnB1dFZpY3RpbURydWdVc2UoaWQ6IGFueSwgdmFsOiBWaWN0aW1EcnVnVXNlW10pIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltRHJ1Z1VzZXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucG9zdFZpY3RpbURydWdVc2UoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltRHJ1Z1VzZXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucHV0VmljdGltV2VhcG9uVXNlKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltV2VhcG9uVXNlcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wb3N0VmljdGltV2VhcG9uVXNlKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVdlYXBvblVzZXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5wdXRWaWN0aW1TdXBwb3J0KGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU3VwcG9ydHMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucG9zdFZpY3RpbVN1cHBvcnQoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU3VwcG9ydHMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxuZGVsZXRlVmljdGltcyh2YWw6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsKyAnVmljdGltcy8nICsgdmFsLCBvcHRpb25zKS5waXBlXHJcbiAgKFxyXG4gIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gLy89PT09PT09PT09PT09PVZpY3RpbSBTZXJpdmU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuZ2V0VmljdGltcyhvZmZlbmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1bXT4ge1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCAgKyAnVmljdGltcy9vZmZlbmRlci8nICsgb2ZmZW5kZXJJZClcclxuICAucGlwZShtYXAoKHJlczogVmljdGltW10pID0+IHtcclxuICAgIFxyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gIH0pXHJcbiAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG59XHJcblxyXG5nZXRWaWN0aW1zQnlGaWx0ZXIoZmlsdGVyOiBWaWN0aW1MaXN0RmlsdGVyKTogT2JzZXJ2YWJsZTxWaWN0aW1bXT57XHJcbiAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnL1ZpY3RpbXMnLCBKU09OLnN0cmluZ2lmeShmaWx0ZXIpLCB7IGhlYWRlcnM6IGhlYWRlcnMgfSlcclxuICAgICAgICAgIC5waXBlKG1hcCgocmVzOiBWaWN0aW1bXSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG59XHJcblxyXG5nZXRWaWN0aW1MaXN0QnlGaWx0ZXIoZmlsdGVyOiBWaWN0aW1MaXN0RmlsdGVyKSBcclxue1xyXG4gIGNvbnNvbGUubG9nKCdmaWxlciBpbiBzZXJ2aWNlJyk7XHJcbiAgY29uc29sZS5sb2coZmlsdGVyKTtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ3ZWaWN0aW1zL0ZpbHRlcicsIEpTT04uc3RyaW5naWZ5KGZpbHRlciksIG9wdGlvbnMpXHJcbiAgLnBpcGUoKTtcclxuXHJcbn1cclxuXHJcblxyXG5nZXRDYXNldE5vdGVzKHZpY3RpbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxDYXNlTm90ZVtdPiB7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNhc2VOb3Rlcy92aWN0aW0vJyArIHZpY3RpbUlkKVxyXG4gIC5waXBlKG1hcCgocmVzOiBDYXNlTm90ZVtdKSA9PiB7XHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgfSlcclxuICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiBcclxuXHJcbn1cclxuYWRkQ2FzZU5vdGUoY2FzZU5vdGU6IENhc2VOb3RlKSB7XHJcbiAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGNhc2VOb3RlKTtcclxuICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ2FzZU5vdGVzLycsIGJvZHksIG9wdGlvbnMpO1xyXG4gXHJcbiB9XHJcblxyXG4gXHJcbnVwZGF0ZUNhc2VOb3RlKGNhc2VOb3RlOiBDYXNlTm90ZSl7XHJcblxyXG4gIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGNhc2VOb3RlKTtcclxuICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ2FzZU5vdGVzLycgKyBjYXNlTm90ZS52aWN0aW1DYXNlTm90ZUlkLCBib2R5LCBvcHRpb25zKVxyXG5cclxuICAgICAgO1xyXG4gfVxyXG5cclxuZGVsZXRlQ2FzZU5vdGUoaWQ6IG51bWJlciwgc3RhZmZJZDogbnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsfVZpY3RpbUNhc2VOb3Rlcy8ke2lkfT9zdGFmZklkPSR7c3RhZmZJZH1gKTtcclxuICB9XHJcblxyXG4gIGdldENvbnRhY3RzKHZpY3RpbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxDb250YWN0W10+IHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1Db250YWN0cy92aWN0aW0vJyArIHZpY3RpbUlkKVxyXG4gICAgLnBpcGUobWFwKChyZXM6IENvbnRhY3RbXSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICB9KVxyXG4gICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIFxyXG4gIH1cclxuICBhZGRDb250YWN0KGNvbnRhY3Q6IENvbnRhY3QpIHtcclxuICAgIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGNvbnRhY3QpO1xyXG4gICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdHMvJywgYm9keSwgb3B0aW9ucyk7XHJcbiAgIFxyXG4gICB9XHJcbiAgXHJcbiAgIFxyXG4gIHVwZGF0ZUNvbnRhY3QoY29udGFjdDogQ29udGFjdCl7XHJcbiAgXHJcbiAgICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGNvbnRhY3QpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdHMvJyArIGNvbnRhY3QudmljdGltQ29udGFjdElkLCBib2R5LCBvcHRpb25zKVxyXG4gIFxyXG4gICAgICAgIDtcclxuICAgfVxyXG4gIFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmdldFNhZmV0eVBsYW5zKHZpY3RpbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1TYWZldHlQbGFuW10+IHtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ3ZWaWN0aW1TZXJ2aWNlTGlzdHMvdmljdGltLycgKyB2aWN0aW1JZClcclxuICAgICAgLnBpcGUobWFwKChyZXM6IFZpY3RpbVNhZmV0eVBsYW5bXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxuXHJcbmdldFZpY3RpbVNlcnZpY2VzKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZSA8VmljdGltU2FmZXR5UGxhbltdPiB7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICd2VmljdGltU2VydmljZUxpc3RzL3ZpY3RpbVNlcnZpY2VJZC8nICsgdmljdGltU2VydmljZUlkKVxyXG4gICAgICAucGlwZShtYXAoKHJlczogVmljdGltU2FmZXR5UGxhbltdKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIFxyXG4gIH1cclxuXHJcbmdldFZpY3RpbVNlcnZpY2VEZXRhaWwodmljdGltU2VydmljZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1TZXJ2aWNlRGV0YWlsW10+IHtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZURldGFpbHMvJyArIHZpY3RpbVNlcnZpY2VJZClcclxuICAucGlwZShtYXAoKHJlczogVmljdGltU2VydmljZURldGFpbFtdKSA9PiB7XHJcbiAgXHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgfSlcclxuICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblxyXG59XHJcbmFkZFNhZmV0eVBsYW4odmljdGltU2FmZXR5UGxhbjogVmljdGltU2FmZXR5UGxhbikge1xyXG5cclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZpY3RpbVNhZmV0eVBsYW4pO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZXMvJywgYm9keSwgb3B0aW9ucylcclxuICAgICAgICAgIC5waXBlKCk7XHJcbiAgXHJcbiAgfVxyXG51cGRhdGVTYWZldHlQbGFuKHZpY3RpbVNhZmV0eVBsYW46IFZpY3RpbVNhZmV0eVBsYW4pe1xyXG5cclxuICAgICAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZpY3RpbVNhZmV0eVBsYW4pO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VzLycgKyB2aWN0aW1TYWZldHlQbGFuLnZpY3RpbVNlcnZpY2VJZCwgYm9keSwgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICA7XHJcbiAgICAgfVxyXG5hZGRWaWN0aW1TZXJ2aWNlU3RhdHVzKHZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5OiBWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeSl7XHJcbiAgbGV0IGJvZHk6IHN0cmluZztcclxuICBib2R5ID0gSlNPTi5zdHJpbmdpZnkodmljdGltU2VydmljZVN0YXR1c0hpc3RvcnkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHBcclxuICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzLycsIGJvZHksIG9wdGlvbnMpO1xyXG5cclxuICB9XHJcblxyXG5nZXRTZXJ2aWNlU3RhdHVzSGlzdG9yaWVzKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyKXtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzL3ZpY3RpbVNlcnZpY2VJZC8nICsgdmljdGltU2VydmljZUlkKVxyXG4gIC5waXBlKFxyXG4gICAgICBtYXAoKHJlczogVmljdGltU2VydmljZVN0YXR1c0hpc3RvcnlbXSkgPT4ge1xyXG4gIFxyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICApO1xyXG59XHJcblxyXG5kZWxldGVTYWZldHlQbGFuKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyLCBzdGFmZklkOiBudW1iZXIpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybH1WaWN0aW1TZXJ2aWNlcy8ke3ZpY3RpbVNlcnZpY2VJZH0/c3RhZmZJZD0ke3N0YWZmSWR9YCk7XHJcblxyXG4gIH1cclxuYWRkUGxhblByb3ZpZGVyKHZpY3RpbVNlcnZpY2VEZXRhaWw6VmljdGltU2VydmljZURldGFpbCl7XHJcbiAgICAgIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeSh2aWN0aW1TZXJ2aWNlRGV0YWlsKTtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlRGV0YWlscy8nLCBib2R5LCBvcHRpb25zKVxyXG4gICAgICAucGlwZSgpO1xyXG5cclxuICB9XHJcblxyXG5kZWxldGVQcm92aWRlcih2aWN0aW1Qcm9ncmFtUHJvdmlkZXJJZDogc3RyaW5nLCBzdGFmZklkOiBudW1iZXIpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsfVZpY3RpbVNlcnZpY2VEZXRhaWxzLyR7dmljdGltUHJvZ3JhbVByb3ZpZGVySWR9P3N0YWZmSWQ9JHtzdGFmZklkfWApO1xyXG5cclxufVxyXG5cclxufVxyXG4iXX0=
|