gunsmith-common 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/shared/controls/package-selector/package-selector.component.mjs +3 -3
- package/esm2020/shared/services/base.service.mjs +9 -5
- package/esm2020/shared/services/coating.service.mjs +1 -41
- package/esm2020/shared/services/finish-date-helper.service.mjs +71 -0
- package/esm2020/shared/services/firearm.service.mjs +11 -31
- package/esm2020/shared/services/gun-part.service.mjs +20 -26
- package/esm2020/shared/services/index.mjs +2 -2
- package/esm2020/shared/services/inventory.service.mjs +9 -22
- package/esm2020/shared/services/optic.service.mjs +6 -23
- package/esm2020/shared/types/configuration.mjs +1 -1
- package/esm2020/shared/types/firearm-optic.mjs +2 -1
- package/esm2020/shared/types/firearm.mjs +1 -1
- package/esm2020/shared/types/index.mjs +1 -3
- package/esm2020/shared/types/milling-item.mjs +1 -1
- package/esm2020/shared/types/work-order.mjs +3 -1
- package/esm2020/shared/utils/index.mjs +1 -2
- package/fesm2015/gunsmith-common.mjs +152 -270
- package/fesm2015/gunsmith-common.mjs.map +1 -1
- package/fesm2020/gunsmith-common.mjs +149 -268
- package/fesm2020/gunsmith-common.mjs.map +1 -1
- package/gunsmith-common-2.3.4.tgz +0 -0
- package/package.json +1 -1
- package/shared/services/coating.service.d.ts +1 -8
- package/shared/services/finish-date-helper.service.d.ts +16 -0
- package/shared/services/firearm.service.d.ts +5 -11
- package/shared/services/gun-part.service.d.ts +8 -10
- package/shared/services/index.d.ts +1 -1
- package/shared/services/inventory.service.d.ts +4 -8
- package/shared/services/optic.service.d.ts +3 -8
- package/shared/types/configuration.d.ts +1 -0
- package/shared/types/firearm-optic.d.ts +1 -0
- package/shared/types/firearm.d.ts +0 -2
- package/shared/types/index.d.ts +0 -2
- package/shared/types/milling-item.d.ts +5 -2
- package/shared/types/work-order.d.ts +4 -0
- package/shared/utils/index.d.ts +0 -1
- package/esm2020/shared/services/firearm-series.service.mjs +0 -45
- package/esm2020/shared/types/firearm-series-optic.mjs +0 -9
- package/esm2020/shared/types/firearm-series.mjs +0 -10
- package/esm2020/shared/utils/finish-date-calculator.mjs +0 -30
- package/gunsmith-common-2.3.2.tgz +0 -0
- package/shared/services/firearm-series.service.d.ts +0 -18
- package/shared/types/firearm-series-optic.d.ts +0 -11
- package/shared/types/firearm-series.d.ts +0 -11
- package/shared/utils/finish-date-calculator.d.ts +0 -2
|
@@ -163,7 +163,7 @@ PackageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
163
163
|
multi: true,
|
|
164
164
|
useExisting: PackageSelectorComponent
|
|
165
165
|
}
|
|
166
|
-
], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package
|
|
166
|
+
], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package</label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
|
|
167
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
169
|
args: [{ selector: 'cgw-package-selector', providers: [
|
|
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
177
177
|
multi: true,
|
|
178
178
|
useExisting: PackageSelectorComponent
|
|
179
179
|
}
|
|
180
|
-
], template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package
|
|
180
|
+
], template: "<div [formGroup]=\"packageForm\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package\">Package</label>\n <kendo-dropdownlist [data]=\"packages\"\n [defaultItem]=\"{name: 'No Package', id: null}\"\n id=\"waitlist-gun-package\"\n formControlName=\"package\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\"></kendo-dropdownlist>\n </div>\n </div>\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\n <div class=\"row mb-2\">\n <div class=\"col\">\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n [defaultItem]=\"{optionName: '', id: null}\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\n [id]=\"'waitlist-gun-package-variation-' + i\"\n textField=\"optionName\"\n [formControl]=\"variationControl\"\n valueField=\"id\"\n size=\"small\" *ngIf=\"!packageVariations[i]?.gunsmithOnly\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.optionName }} <span *ngIf=\"dataItem?.serviceChargeItemPrice\">(add ${{dataItem.serviceChargeItemPrice.toFixed(2)}})</span>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\n <div *ngIf=\"variationControl.errors.required\">\n {{packageVariations[i]?.name}} is required.\n </div>\n </div>\n </div>\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\n <div class=\"col\">\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\n [data]=\"packageOptionalItems\"\n formControlName=\"optionalItems\"\n textField=\"name\"\n valueField=\"id\"\n size=\"small\">\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"fw-bold\">{{ dataItem?.sku }}</span> - {{ dataItem?.name }}\n </ng-template>\n </kendo-multiselect>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
181
181
|
}], ctorParameters: function () { return [{ type: i1.PackageService }, { type: i2.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { firearmId: [{
|
|
182
182
|
type: Input
|
|
183
183
|
}], projectType: [{
|
|
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
187
187
|
}], gunsmithOnly: [{
|
|
188
188
|
type: Input
|
|
189
189
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQW9HLFdBQVcsRUFBRSxhQUFhLEVBQTRCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFtQnJMLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsY0FBOEIsRUFDOUIsRUFBZSxFQUNmLEdBQWE7UUFGYixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFuQnZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyx5QkFBb0IsR0FBMEIsRUFBRSxDQUFDO1FBTWpELGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFD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QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBhY2thZ2UsIFBhY2thZ2VWYXJpYXRpb24sIFBhY2thZ2VPcHRpb25hbEl0ZW0sIFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCwgV29ya09yZGVyUGFja2FnZURldGFpbCwgUHJvamVjdFR5cGUsIFdvcmtPcmRlclR5cGUsIENoYW5nZU9yZGVyUGFja2FnZURldGFpbCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2d3LXBhY2thZ2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGZpcmVhcm1JZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICBASW5wdXQoKVxuICB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGd1bnNtaXRoT25seSA9IGZhbHNlO1xuXG4gIHBhY2thZ2VzOiBQYWNrYWdlW10gPSBbXTtcbiAgcGFja2FnZVZhcmlhdGlvbnM6IFBhY2thZ2VWYXJpYXRpb25bXSA9IFtdO1xuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XG5cbiAgcGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCB8IENoYW5nZU9yZGVyUGFja2FnZURldGFpbDtcblxuICBwYWNrYWdlRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuXG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuR2V0UGFja2FnZXMoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuZ2V0UGFja2FnZXMoKTtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5HZXRQYWNrYWdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChjaGFuZ2VzLmZpcmVhcm1JZCAmJiBjaGFuZ2VzLmZpcmVhcm1JZC5jdXJyZW50VmFsdWUgJiYgdGhpcy5wcm9qZWN0VHlwZSA9PT0gUHJvamVjdFR5cGUuRmlyZWFybSAmJiAodGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQgfHwgdGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuTmV3SW5Cb3gpKSB8fFxuICAgIChjaGFuZ2VzLnByb2plY3RUeXBlICYmIGNoYW5nZXMucHJvamVjdFR5cGUuY3VycmVudFZhbHVlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtICYmIHRoaXMuZmlyZWFybUlkICYmICh0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCB0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5OZXdJbkJveCkpIHx8XG4gICAgKGNoYW5nZXMud29ya09yZGVyVHlwZSAmJiAoY2hhbmdlcy53b3JrT3JkZXJUeXBlLmN1cnJlbnRWYWx1ZSA9PT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCBjaGFuZ2VzLndvcmtPcmRlclR5cGUuY3VycmVudFZhbHVlID09PSBXb3JrT3JkZXJUeXBlLk5ld0luQm94KSAmJiB0aGlzLmZpcmVhcm1JZCAmJiB0aGlzLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRlckNvbnRyb2wgPSB0aGlzLmluai5nZXQoTmdDb250cm9sKS5jb250cm9sO1xuICAgIGNvbnN0IHByZXZNYXJrQXNUb3VjaGVkID0gb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQ7XG4gICAgb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQgPSAoLi4uYXJnczogYW55KSA9PiB7XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHByZXZNYXJrQXNUb3VjaGVkLmJpbmQob3V0ZXJDb250cm9sKSguLi5hcmdzKTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChsZXQgc3ViIG9mIHRoaXMub25DaGFuZ2VTdWJzKSB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRQYWNrYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnBhY2thZ2VTZXJ2aWNlLnJlYWRQYWNrYWdlc0J5RmlyZWFybSh0aGlzLmZpcmVhcm1JZCwgdGhpcy5ndW5zbWl0aE9ubHkpXG4gICAgICAuc3Vic2NyaWJlKHBhY2thZ2VzID0+IHtcbiAgICAgICAgdGhpcy5wYWNrYWdlcyA9IHBhY2thZ2VzO1xuICAgICAgICBpZiAodGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlKSB7XG4gICAgICAgICAgbGV0IHBhY2thZ2V6ID0gdGhpcy5wYWNrYWdlcy5maW5kKHAgPT4gcC5pZCA9PT0gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlLmlkKTtcbiAgICAgICAgICB0aGlzLnNldFBhY2thZ2VPcHRpb25zKHBhY2thZ2V6KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHBhY2thZ2U6IG51bGwsXG4gICAgICBvcHRpb25hbEl0ZW1zOiB0aGlzLmZiLmNvbnRyb2woW10pLFxuICAgICAgdmFyaWF0aW9uczogdGhpcy5mYi5hcnJheShbXSlcbiAgICB9KVxuXG4gICAgdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMudmFyaWF0aW9ucy5zZXRWYWx1ZSh2YWx1ZS5tYXAodiA9PiB2Py5pZCA/IHYgOiBudWxsKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMucGFja2FnZS52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLm9wdGlvbmFsSXRlbXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5wYWNrYWdlT3B0aW9uYWxJdGVtcyA9IFtdO1xuXG4gICAgICAgIHRoaXMudmFyaWF0aW9ucy5jbGVhcih7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMucGFja2FnZVZhcmlhdGlvbnMgPSBbXTtcblxuICAgICAgICBpZiAodmFsdWU/LmlkKSB7XG4gICAgICAgICAgdGhpcy5zZXRQYWNrYWdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMucGFja2FnZURldGFpbCkge1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLnZhcmlhdGlvbnMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLm9wdGlvbmFsSXRlbXMgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIGdldCB2YXJpYXRpb25zKCkgeyByZXR1cm4gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zIGFzIEZvcm1BcnJheSB9XG5cbiAgc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXo6IFBhY2thZ2UpIHtcbiAgICB0aGlzLnBhY2thZ2VPcHRpb25hbEl0ZW1zID0gcGFja2FnZXoub3B0aW9uYWxJdGVtcztcbiAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gdGhpcy5ndW5zbWl0aE9ubHkgPyBwYWNrYWdlei52YXJpYXRpb25zIDogcGFja2FnZXoudmFyaWF0aW9ucy5maWx0ZXIodiA9PiAhdi5ndW5zbWl0aE9ubHkpO1xuXG4gICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnBhY2thZ2VWYXJpYXRpb25zKSB7XG4gICAgICBsZXQgc2VsZWN0ZWRWYXJpYXRpb24gPSB0aGlzLnBhY2thZ2VEZXRhaWw/LnZhcmlhdGlvbnM/LmZpbmQocHYgPT4gcHYucGFja2FnZVZhcmlhdGlvbklkID09PSB2LmlkKTtcbiAgICAgIGlmKHYuZ3Vuc21pdGhPbmx5KVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24pLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24sIFZhbGlkYXRvcnMucmVxdWlyZWQpLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHBhY2thZ2VEZXRhaWw6IFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCB8IFdvcmtPcmRlclBhY2thZ2VEZXRhaWwgfCBDaGFuZ2VPcmRlclBhY2thZ2VEZXRhaWwpIHtcbiAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KHBhY2thZ2VEZXRhaWwpO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKHRoaXMucGFja2FnZUZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBlcnJvcnM6IGFueSA9IHt9O1xuXG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhcmlhdGlvbnMuY29udHJvbHMpIHtcbiAgICAgIGlmICh2LmludmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHYuZXJyb3JzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBhZGRDb250cm9sRXJyb3JzKGFsbEVycm9yczogYW55LCBjb250cm9sTmFtZTogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBlcnJvcnMgPSB7IC4uLmFsbEVycm9ycyB9O1xuXG4gICAgY29uc3QgY29udHJvbEVycm9ycyA9IHRoaXMucGFja2FnZUZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLmVycm9ycztcblxuICAgIGlmIChjb250cm9sRXJyb3JzKSB7XG4gICAgICBlcnJvcnNbY29udHJvbE5hbWVdID0gY29udHJvbEVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIHwgQ2hhbmdlT3JkZXJQYWNrYWdlRGV0YWlsKTogdm9pZCB7XG4gICAgaWYgKHBhY2thZ2VEZXRhaWwpIHtcbiAgICAgIHRoaXMucGFja2FnZURldGFpbCA9IE9iamVjdC5hc3NpZ24oe30scGFja2FnZURldGFpbCk7XG4gICAgICB0aGlzLnNldFZhbHVlKHBhY2thZ2VEZXRhaWwpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdWIgPSB0aGlzLnBhY2thZ2VGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICAgIHRoaXMub25DaGFuZ2VTdWJzLnB1c2goc3ViKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5kaXNhYmxlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJwYWNrYWdlRm9ybVwiPlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2VcIj5QYWNrYWdlIC0gPHNwYW4gY2xhc3M9XCJmc3QtaXRhbGljIGZzLTdcIj5TZWxlY3QgYSBtb2RlbCB0byBsaXN0IGF2YWlsYWJsZSBwYWNrYWdlczwvc3Bhbj48L2xhYmVsPlxuICAgICAgPGtlbmRvLWRyb3Bkb3dubGlzdCBbZGF0YV09XCJwYWNrYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7bmFtZTogJ05vIFBhY2thZ2UnLCBpZDogbnVsbH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIndhaXRsaXN0LWd1bi1wYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj48L2tlbmRvLWRyb3Bkb3dubGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgZm9ybUFycmF5TmFtZT1cInZhcmlhdGlvbnNcIiAqbmdGb3I9XCJsZXQgdmFyaWF0aW9uQ29udHJvbCBvZiB2YXJpYXRpb25zLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cIid3YWl0bGlzdC1ndW4tcGFja2FnZS12YXJpYXRpb24tJyArIGlcIj57e3BhY2thZ2VWYXJpYXRpb25zW2ldPy5uYW1lfX08L2xhYmVsPlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3dhaXRsaXN0LWd1bi1wYWNrYWdlLXZhcmlhdGlvbi0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRJdGVtXT1cIntvcHRpb25OYW1lOiAnJywgaWQ6IG51bGx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJvcHRpb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidmFyaWF0aW9uQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIiAqbmdJZj1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5ndW5zbWl0aE9ubHlcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9Ecm9wRG93bkxpc3RJdGVtVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+e3sgZGF0YUl0ZW0/LnNrdSB9fTwvc3Bhbj4gLSB7eyBkYXRhSXRlbT8ub3B0aW9uTmFtZSB9fSA8c3BhbiAqbmdJZj1cImRhdGFJdGVtPy5zZXJ2aWNlQ2hhcmdlSXRlbVByaWNlXCI+KGFkZCAke3tkYXRhSXRlbS5zZXJ2aWNlQ2hhcmdlSXRlbVByaWNlLnRvRml4ZWQoMil9fSk8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9rZW5kby1kcm9wZG93bmxpc3Q+XG4gICAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZVZhcmlhdGlvbnNbaV0/Lm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJvcHRpb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidmFyaWF0aW9uQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIiAqbmdJZj1cIiFwYWNrYWdlVmFyaWF0aW9uc1tpXT8uZ3Vuc21pdGhPbmx5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvRHJvcERvd25MaXN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IGRhdGFJdGVtPy5za3UgfX08L3NwYW4+IC0ge3sgZGF0YUl0ZW0/Lm9wdGlvbk5hbWUgfX0gPHNwYW4gKm5nSWY9XCJkYXRhSXRlbT8uc2VydmljZUNoYXJnZUl0ZW1QcmljZVwiPihhZGQgJHt7ZGF0YUl0ZW0uc2VydmljZUNoYXJnZUl0ZW1QcmljZS50b0ZpeGVkKDIpfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInZhcmlhdGlvbkNvbnRyb2wuaW52YWxpZCAmJiAodmFyaWF0aW9uQ29udHJvbC5kaXJ0eSB8fCB2YXJpYXRpb25Db250cm9sLnRvdWNoZWQpXCIgY2xhc3M9XCJlcnJvci1jb250YWluZXIgdGV4dC1kYW5nZXJcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2YXJpYXRpb25Db250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxuICAgICAgICB7e3BhY2thZ2VWYXJpYXRpb25zW2ldPy5uYW1lfX0gaXMgcmVxdWlyZWQuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiICpuZ0lmPVwicGFja2FnZU9wdGlvbmFsSXRlbXM/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZS1hZGRvbnNcIj5BZGQtb25zIChBZGRpdGlvbmFsIGNoYXJnZXMgd2lsbCBhcHBseSk8L2xhYmVsPlxuICAgICAgPGtlbmRvLW11bHRpc2VsZWN0IGlkPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJwYWNrYWdlT3B0aW9uYWxJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwib3B0aW9uYWxJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvTXVsdGlTZWxlY3RJdGVtVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IGRhdGFJdGVtPy5za3UgfX08L3NwYW4+IC0ge3sgZGF0YUl0ZW0/Lm5hbWUgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tbXVsdGlzZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQW9HLFdBQVcsRUFBRSxhQUFhLEVBQTRCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFtQnJMLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsY0FBOEIsRUFDOUIsRUFBZSxFQUNmLEdBQWE7UUFGYixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFuQnZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyx5QkFBb0IsR0FBMEIsRUFBRSxDQUFDO1FBTWpELGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFD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QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBhY2thZ2UsIFBhY2thZ2VWYXJpYXRpb24sIFBhY2thZ2VPcHRpb25hbEl0ZW0sIFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCwgV29ya09yZGVyUGFja2FnZURldGFpbCwgUHJvamVjdFR5cGUsIFdvcmtPcmRlclR5cGUsIENoYW5nZU9yZGVyUGFja2FnZURldGFpbCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2d3LXBhY2thZ2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBQYWNrYWdlU2VsZWN0b3JDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIGZpcmVhcm1JZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICBASW5wdXQoKVxuICB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGd1bnNtaXRoT25seSA9IGZhbHNlO1xuXG4gIHBhY2thZ2VzOiBQYWNrYWdlW10gPSBbXTtcbiAgcGFja2FnZVZhcmlhdGlvbnM6IFBhY2thZ2VWYXJpYXRpb25bXSA9IFtdO1xuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XG5cbiAgcGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCB8IENoYW5nZU9yZGVyUGFja2FnZURldGFpbDtcblxuICBwYWNrYWdlRm9ybTogRm9ybUdyb3VwO1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuXG4gIHRvdWNoZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuR2V0UGFja2FnZXMoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuZ2V0UGFja2FnZXMoKTtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5HZXRQYWNrYWdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChjaGFuZ2VzLmZpcmVhcm1JZCAmJiBjaGFuZ2VzLmZpcmVhcm1JZC5jdXJyZW50VmFsdWUgJiYgdGhpcy5wcm9qZWN0VHlwZSA9PT0gUHJvamVjdFR5cGUuRmlyZWFybSAmJiAodGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuU3RhbmRhcmQgfHwgdGhpcy53b3JrT3JkZXJUeXBlID09IFdvcmtPcmRlclR5cGUuTmV3SW5Cb3gpKSB8fFxuICAgIChjaGFuZ2VzLnByb2plY3RUeXBlICYmIGNoYW5nZXMucHJvamVjdFR5cGUuY3VycmVudFZhbHVlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtICYmIHRoaXMuZmlyZWFybUlkICYmICh0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCB0aGlzLndvcmtPcmRlclR5cGUgPT0gV29ya09yZGVyVHlwZS5OZXdJbkJveCkpIHx8XG4gICAgKGNoYW5nZXMud29ya09yZGVyVHlwZSAmJiAoY2hhbmdlcy53b3JrT3JkZXJUeXBlLmN1cnJlbnRWYWx1ZSA9PT0gV29ya09yZGVyVHlwZS5TdGFuZGFyZCB8fCBjaGFuZ2VzLndvcmtPcmRlclR5cGUuY3VycmVudFZhbHVlID09PSBXb3JrT3JkZXJUeXBlLk5ld0luQm94KSAmJiB0aGlzLmZpcmVhcm1JZCAmJiB0aGlzLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5GaXJlYXJtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRlckNvbnRyb2wgPSB0aGlzLmluai5nZXQoTmdDb250cm9sKS5jb250cm9sO1xuICAgIGNvbnN0IHByZXZNYXJrQXNUb3VjaGVkID0gb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQ7XG4gICAgb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQgPSAoLi4uYXJnczogYW55KSA9PiB7XG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHByZXZNYXJrQXNUb3VjaGVkLmJpbmQob3V0ZXJDb250cm9sKSguLi5hcmdzKTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChsZXQgc3ViIG9mIHRoaXMub25DaGFuZ2VTdWJzKSB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRQYWNrYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnBhY2thZ2VTZXJ2aWNlLnJlYWRQYWNrYWdlc0J5RmlyZWFybSh0aGlzLmZpcmVhcm1JZCwgdGhpcy5ndW5zbWl0aE9ubHkpXG4gICAgICAuc3Vic2NyaWJlKHBhY2thZ2VzID0+IHtcbiAgICAgICAgdGhpcy5wYWNrYWdlcyA9IHBhY2thZ2VzO1xuICAgICAgICBpZiAodGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlKSB7XG4gICAgICAgICAgbGV0IHBhY2thZ2V6ID0gdGhpcy5wYWNrYWdlcy5maW5kKHAgPT4gcC5pZCA9PT0gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlLmlkKTtcbiAgICAgICAgICB0aGlzLnNldFBhY2thZ2VPcHRpb25zKHBhY2thZ2V6KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHBhY2thZ2U6IG51bGwsXG4gICAgICBvcHRpb25hbEl0ZW1zOiB0aGlzLmZiLmNvbnRyb2woW10pLFxuICAgICAgdmFyaWF0aW9uczogdGhpcy5mYi5hcnJheShbXSlcbiAgICB9KVxuXG4gICAgdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMudmFyaWF0aW9ucy5zZXRWYWx1ZSh2YWx1ZS5tYXAodiA9PiB2Py5pZCA/IHYgOiBudWxsKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMucGFja2FnZS52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLm9wdGlvbmFsSXRlbXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5wYWNrYWdlT3B0aW9uYWxJdGVtcyA9IFtdO1xuXG4gICAgICAgIHRoaXMudmFyaWF0aW9ucy5jbGVhcih7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMucGFja2FnZVZhcmlhdGlvbnMgPSBbXTtcblxuICAgICAgICBpZiAodmFsdWU/LmlkKSB7XG4gICAgICAgICAgdGhpcy5zZXRQYWNrYWdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMucGFja2FnZURldGFpbCkge1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLnZhcmlhdGlvbnMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLm9wdGlvbmFsSXRlbXMgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIGdldCB2YXJpYXRpb25zKCkgeyByZXR1cm4gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy52YXJpYXRpb25zIGFzIEZvcm1BcnJheSB9XG5cbiAgc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXo6IFBhY2thZ2UpIHtcbiAgICB0aGlzLnBhY2thZ2VPcHRpb25hbEl0ZW1zID0gcGFja2FnZXoub3B0aW9uYWxJdGVtcztcbiAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gdGhpcy5ndW5zbWl0aE9ubHkgPyBwYWNrYWdlei52YXJpYXRpb25zIDogcGFja2FnZXoudmFyaWF0aW9ucy5maWx0ZXIodiA9PiAhdi5ndW5zbWl0aE9ubHkpO1xuXG4gICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnBhY2thZ2VWYXJpYXRpb25zKSB7XG4gICAgICBsZXQgc2VsZWN0ZWRWYXJpYXRpb24gPSB0aGlzLnBhY2thZ2VEZXRhaWw/LnZhcmlhdGlvbnM/LmZpbmQocHYgPT4gcHYucGFja2FnZVZhcmlhdGlvbklkID09PSB2LmlkKTtcbiAgICAgIGlmKHYuZ3Vuc21pdGhPbmx5KVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24pLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLnZhcmlhdGlvbnMucHVzaCh0aGlzLmZiLmNvbnRyb2woc2VsZWN0ZWRWYXJpYXRpb24sIFZhbGlkYXRvcnMucmVxdWlyZWQpLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHBhY2thZ2VEZXRhaWw6IFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCB8IFdvcmtPcmRlclBhY2thZ2VEZXRhaWwgfCBDaGFuZ2VPcmRlclBhY2thZ2VEZXRhaWwpIHtcbiAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KHBhY2thZ2VEZXRhaWwpO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKHRoaXMucGFja2FnZUZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBlcnJvcnM6IGFueSA9IHt9O1xuXG4gICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhcmlhdGlvbnMuY29udHJvbHMpIHtcbiAgICAgIGlmICh2LmludmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHYuZXJyb3JzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBhZGRDb250cm9sRXJyb3JzKGFsbEVycm9yczogYW55LCBjb250cm9sTmFtZTogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBlcnJvcnMgPSB7IC4uLmFsbEVycm9ycyB9O1xuXG4gICAgY29uc3QgY29udHJvbEVycm9ycyA9IHRoaXMucGFja2FnZUZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLmVycm9ycztcblxuICAgIGlmIChjb250cm9sRXJyb3JzKSB7XG4gICAgICBlcnJvcnNbY29udHJvbE5hbWVdID0gY29udHJvbEVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIHwgQ2hhbmdlT3JkZXJQYWNrYWdlRGV0YWlsKTogdm9pZCB7XG4gICAgaWYgKHBhY2thZ2VEZXRhaWwpIHtcbiAgICAgIHRoaXMucGFja2FnZURldGFpbCA9IE9iamVjdC5hc3NpZ24oe30scGFja2FnZURldGFpbCk7XG4gICAgICB0aGlzLnNldFZhbHVlKHBhY2thZ2VEZXRhaWwpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdWIgPSB0aGlzLnBhY2thZ2VGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xuICAgIHRoaXMub25DaGFuZ2VTdWJzLnB1c2goc3ViKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5kaXNhYmxlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJwYWNrYWdlRm9ybVwiPlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2VcIj5QYWNrYWdlPC9sYWJlbD5cbiAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEl0ZW1dPVwie25hbWU6ICdObyBQYWNrYWdlJywgaWQ6IG51bGx9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+PC9rZW5kby1kcm9wZG93bmxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJ2YXJpYXRpb25zXCIgKm5nRm9yPVwibGV0IHZhcmlhdGlvbkNvbnRyb2wgb2YgdmFyaWF0aW9ucy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCI+e3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19PC9sYWJlbD5cbiAgICAgICAgPGtlbmRvLWRyb3Bkb3dubGlzdCBbZGF0YV09XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8ub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIid3YWl0bGlzdC1ndW4tcGFja2FnZS12YXJpYXRpb24tJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7b3B0aW9uTmFtZTogJycsIGlkOiBudWxsfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJwYWNrYWdlVmFyaWF0aW9uc1tpXT8uZ3Vuc21pdGhPbmx5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvRHJvcERvd25MaXN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IGRhdGFJdGVtPy5za3UgfX08L3NwYW4+IC0ge3sgZGF0YUl0ZW0/Lm9wdGlvbk5hbWUgfX0gPHNwYW4gKm5nSWY9XCJkYXRhSXRlbT8uc2VydmljZUNoYXJnZUl0ZW1QcmljZVwiPihhZGQgJHt7ZGF0YUl0ZW0uc2VydmljZUNoYXJnZUl0ZW1QcmljZS50b0ZpeGVkKDIpfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ3dhaXRsaXN0LWd1bi1wYWNrYWdlLXZhcmlhdGlvbi0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwib3B0aW9uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCIhcGFja2FnZVZhcmlhdGlvbnNbaV0/Lmd1bnNtaXRoT25seVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Ryb3BEb3duTGlzdEl0ZW1UZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBkYXRhSXRlbT8uc2t1IH19PC9zcGFuPiAtIHt7IGRhdGFJdGVtPy5vcHRpb25OYW1lIH19IDxzcGFuICpuZ0lmPVwiZGF0YUl0ZW0/LnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2VcIj4oYWRkICR7e2RhdGFJdGVtLnNlcnZpY2VDaGFyZ2VJdGVtUHJpY2UudG9GaXhlZCgyKX19KTwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ2YXJpYXRpb25Db250cm9sLmludmFsaWQgJiYgKHZhcmlhdGlvbkNvbnRyb2wuZGlydHkgfHwgdmFyaWF0aW9uQ29udHJvbC50b3VjaGVkKVwiIGNsYXNzPVwiZXJyb3ItY29udGFpbmVyIHRleHQtZGFuZ2VyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwidmFyaWF0aW9uQ29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19IGlzIHJlcXVpcmVkLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IG1iLTJcIiAqbmdJZj1cInBhY2thZ2VPcHRpb25hbEl0ZW1zPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCI+QWRkLW9ucyAoQWRkaXRpb25hbCBjaGFyZ2VzIHdpbGwgYXBwbHkpPC9sYWJlbD5cbiAgICAgIDxrZW5kby1tdWx0aXNlbGVjdCBpZD1cIndhaXRsaXN0LWd1bi1wYWNrYWdlLWFkZG9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwicGFja2FnZU9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbmFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb011bHRpU2VsZWN0SXRlbVRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBkYXRhSXRlbT8uc2t1IH19PC9zcGFuPiAtIHt7IGRhdGFJdGVtPy5uYW1lIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLW11bHRpc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -20,19 +20,23 @@ export class BaseService {
|
|
|
20
20
|
return this.http.get(this.getUrl(...params));
|
|
21
21
|
}
|
|
22
22
|
getAllWithParams(queryParams, ...params) {
|
|
23
|
-
return this.http
|
|
23
|
+
return this.http
|
|
24
|
+
.get(this.getUrl(...params), { params: queryParams });
|
|
24
25
|
}
|
|
25
26
|
get(...params) {
|
|
26
27
|
return this.http.get(this.getUrl(...params));
|
|
27
28
|
}
|
|
28
29
|
create(item, ...params) {
|
|
29
|
-
return this.http
|
|
30
|
+
return this.http
|
|
31
|
+
.post(this.getUrl(...params), item);
|
|
30
32
|
}
|
|
31
33
|
update(item, ...params) {
|
|
32
|
-
return this.http
|
|
34
|
+
return this.http
|
|
35
|
+
.put(this.getUrl(...params), item);
|
|
33
36
|
}
|
|
34
37
|
delete(...params) {
|
|
35
|
-
return this.http
|
|
38
|
+
return this.http
|
|
39
|
+
.delete(this.getUrl(...params));
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -43,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
43
47
|
providedIn: 'root'
|
|
44
48
|
}]
|
|
45
49
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFnQixXQUFXO0lBRy9CLFlBQ1ksSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUwsTUFBTSxDQUFDLEdBQUcsTUFBZ0I7UUFDeEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDMUM7U0FDRjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxNQUFnQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxXQUFnQixFQUFFLEdBQUcsTUFBZ0I7UUFDM0QsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQUcsTUFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQU8sRUFBRSxHQUFHLE1BQWdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBTyxFQUFFLEdBQUcsTUFBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLE1BQWdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixNQUFNLENBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7eUdBN0NtQixXQUFXOzZHQUFYLFdBQVcsY0FGbkIsTUFBTTs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRlbGF5LCByZXRyeSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZTxUPiB7XG4gIHByb3RlY3RlZCB1cmxTZWdtZW50czogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnRcbiAgKSB7IH1cblxuICBnZXRVcmwoLi4ucGFyYW1zOiBudW1iZXJbXSk6IHN0cmluZyB7XG4gICAgbGV0IGJhc2VVcmwgPSB0aGlzLnVybFNlZ21lbnRzWzBdO1xuXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgYmFzZVVybCArPSBgLyR7cGFyYW1zW2ldfWA7XG4gICAgICBpZih0aGlzLnVybFNlZ21lbnRzLmxlbmd0aCA+IGkgKyAxKSB7XG4gICAgICAgIGJhc2VVcmwgKz0gYC8ke3RoaXMudXJsU2VnbWVudHNbaSArIDFdfWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBiYXNlVXJsO1xuICB9XG5cbiAgcHVibGljIGdldEFsbCguLi5wYXJhbXM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUW10+KHRoaXMuZ2V0VXJsKC4uLnBhcmFtcykpXG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsV2l0aFBhcmFtcyhxdWVyeVBhcmFtcz86IHt9LCAuLi5wYXJhbXM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PFRbXT4odGhpcy5nZXRVcmwoLi4ucGFyYW1zKSwgeyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCguLi5wYXJhbXM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5nZXRVcmwoLi4ucGFyYW1zKSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKGl0ZW06IFQsIC4uLnBhcmFtczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxUPih0aGlzLmdldFVybCguLi5wYXJhbXMpLCBpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUoaXRlbTogVCwgLi4ucGFyYW1zOiBudW1iZXJbXSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wdXQ8VD4odGhpcy5nZXRVcmwoLi4ucGFyYW1zKSwgaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKC4uLnBhcmFtczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZGVsZXRlPFQ+KHRoaXMuZ2V0VXJsKC4uLnBhcmFtcykpO1xuICB9XG59XG4iXX0=
|
|
@@ -10,46 +10,6 @@ export class CoatingService extends BaseService {
|
|
|
10
10
|
this.env = env;
|
|
11
11
|
this.urlSegments = [`${this.env.baseUrl}api/coatings`];
|
|
12
12
|
}
|
|
13
|
-
// readCoatings(includeInactive = false): Observable<Coating[]> {
|
|
14
|
-
// const params = {
|
|
15
|
-
// includeInactive: includeInactive.toString(),
|
|
16
|
-
// };
|
|
17
|
-
// return this.http.get<Coating[]>(this.url, {
|
|
18
|
-
// params: params,
|
|
19
|
-
// });
|
|
20
|
-
// }
|
|
21
|
-
// readCoating(id: number): Observable<Coating> {
|
|
22
|
-
// return this.http.get<Coating>(`${this.url}/${id}`);
|
|
23
|
-
// }
|
|
24
|
-
// createCoating(coating: Coating): Observable<Coating> {
|
|
25
|
-
// return this.http.post<Coating>(this.url, coating);
|
|
26
|
-
// }
|
|
27
|
-
// updateCoating(id: number, coating: Coating): Observable<Coating> {
|
|
28
|
-
// return this.http.put<Coating>(`${this.url}/${id}`, coating);
|
|
29
|
-
// }
|
|
30
|
-
// deleteCoating(id: number): Observable<any> {
|
|
31
|
-
// return this.http.delete(`${this.url}/${id}`);
|
|
32
|
-
// }
|
|
33
|
-
// Coating Values
|
|
34
|
-
readCoatingValues(coatingId, includeInactive = false) {
|
|
35
|
-
return this.http.get(`${this.url}/${coatingId}/coating-values`, {
|
|
36
|
-
params: {
|
|
37
|
-
includeInactive: includeInactive.toString(),
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
readCoatingValue(coatingId, coatingValueId) {
|
|
42
|
-
return this.http.get(`${this.url}/${coatingId}/coating-values/${coatingValueId}`);
|
|
43
|
-
}
|
|
44
|
-
createCoatingValue(coatingId, coatingValue) {
|
|
45
|
-
return this.http.post(`${this.url}/${coatingId}/coating-values`, coatingValue);
|
|
46
|
-
}
|
|
47
|
-
updateCoatingValue(coatingId, coatingValueId, coatingValue) {
|
|
48
|
-
return this.http.put(`${this.url}/${coatingId}/coating-values/${coatingValueId}`, coatingValue);
|
|
49
|
-
}
|
|
50
|
-
deleteCoatingValue(coatingId, coatingValueId) {
|
|
51
|
-
return this.http.delete(`${this.url}/${coatingId}/coating-values/${coatingValueId}`);
|
|
52
|
-
}
|
|
53
13
|
}
|
|
54
14
|
CoatingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CoatingService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
15
|
CoatingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CoatingService, providedIn: "root" });
|
|
@@ -62,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
62
22
|
type: Inject,
|
|
63
23
|
args: ["env"]
|
|
64
24
|
}] }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29hdGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvY29hdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQW9CO0lBRXRELFlBQXNCLElBQWdCLEVBQTJCLEdBQVE7UUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRXZFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs0R0FMVSxjQUFjLDRDQUV1QixLQUFLO2dIQUYxQyxjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRzBDLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvYXRpbmcsIENvYXRpbmdWYWx1ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBDb2F0aW5nU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlPENvYXRpbmc+IHtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChcImVudlwiKSBwcm90ZWN0ZWQgZW52OiBhbnkpIHtcbiAgICBzdXBlcihodHRwKTtcbiAgICB0aGlzLnVybFNlZ21lbnRzID0gW2Ake3RoaXMuZW52LmJhc2VVcmx9YXBpL2NvYXRpbmdzYF07XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfigurationService } from './configuration.service';
|
|
3
|
+
import { WorkHolidayService } from './work-holiday.service';
|
|
4
|
+
import { forkJoin, lastValueFrom, of, switchMap } from 'rxjs';
|
|
5
|
+
import { WorkOrderType } from '../types';
|
|
6
|
+
import { DateTime } from "luxon";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./configuration.service";
|
|
9
|
+
import * as i2 from "./work-holiday.service";
|
|
10
|
+
export class FinishDateHelperService {
|
|
11
|
+
constructor(configService, holidayService) {
|
|
12
|
+
this.configService = configService;
|
|
13
|
+
this.holidayService = holidayService;
|
|
14
|
+
this.holidays = [];
|
|
15
|
+
}
|
|
16
|
+
adjustHoliday(finishDate) {
|
|
17
|
+
while (this.holidays
|
|
18
|
+
.map((h) => new Date(h.holiday))
|
|
19
|
+
.findIndex((h) => h === finishDate) !== -1) {
|
|
20
|
+
do {
|
|
21
|
+
finishDate = DateTime.fromJSDate(finishDate)
|
|
22
|
+
.plus({ days: 1 })
|
|
23
|
+
.toJSDate();
|
|
24
|
+
} while (finishDate.getDay() === 0 || finishDate.getDay() === 6);
|
|
25
|
+
}
|
|
26
|
+
return finishDate;
|
|
27
|
+
}
|
|
28
|
+
calculateFinishDate(receivedDate, workOrderType) {
|
|
29
|
+
let finishDate = DateTime.fromJSDate(receivedDate).startOf("day");
|
|
30
|
+
if (workOrderType === WorkOrderType.Warranty) {
|
|
31
|
+
finishDate = finishDate.plus({ weeks: this.configs.warrantyWeeks });
|
|
32
|
+
}
|
|
33
|
+
else if (workOrderType === WorkOrderType.Expedited) {
|
|
34
|
+
finishDate = finishDate.plus({ weeks: this.configs.expeditedWeeks });
|
|
35
|
+
}
|
|
36
|
+
else if (workOrderType === WorkOrderType.NewInBox) {
|
|
37
|
+
finishDate = finishDate.plus({ weeks: this.configs.newInBoxWeeks });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
finishDate = finishDate.plus({ weeks: this.configs.standardWeeks });
|
|
41
|
+
}
|
|
42
|
+
return this.adjustHoliday(finishDate.toJSDate());
|
|
43
|
+
}
|
|
44
|
+
async calculate(receivedDate, workOrderType) {
|
|
45
|
+
if (!receivedDate) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
if (!this.configs) {
|
|
49
|
+
return await lastValueFrom(forkJoin([
|
|
50
|
+
this.configService.readConfigs(),
|
|
51
|
+
this.holidayService.readHolidays(),
|
|
52
|
+
]).pipe(switchMap(([configs, holidays]) => {
|
|
53
|
+
this.configs = configs;
|
|
54
|
+
this.holidays = holidays;
|
|
55
|
+
return of(this.calculateFinishDate(receivedDate, workOrderType));
|
|
56
|
+
})));
|
|
57
|
+
}
|
|
58
|
+
return await new Promise((resolve) => {
|
|
59
|
+
resolve(this.calculateFinishDate(receivedDate, workOrderType));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
FinishDateHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FinishDateHelperService, deps: [{ token: i1.ConfigurationService }, { token: i2.WorkHolidayService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
FinishDateHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FinishDateHelperService, providedIn: "root" });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FinishDateHelperService, decorators: [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{
|
|
68
|
+
providedIn: "root",
|
|
69
|
+
}]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.WorkHolidayService }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluaXNoLWRhdGUtaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9maW5pc2gtZGF0ZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7OztBQUtqQyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQ1UsYUFBbUMsRUFDbkMsY0FBa0M7UUFEbEMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUhwQyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUlsQyxDQUFDO0lBRUksYUFBYSxDQUFDLFVBQWdCO1FBQ3BDLE9BQ0UsSUFBSSxDQUFDLFFBQVE7YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDNUM7WUFDQSxHQUFHO2dCQUNELFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztxQkFDekMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO3FCQUNqQixRQUFRLEVBQUUsQ0FBQzthQUNmLFFBQVEsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO1NBQ2xFO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixZQUFrQixFQUNsQixhQUE0QjtRQUU1QixJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUNyRTthQUFNLElBQUksYUFBYSxLQUFLLGFBQWEsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO2FBQU0sSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNuRCxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNMLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUNyRTtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFrQixFQUFFLGFBQTRCO1FBQzlELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7YUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEE3RFUsdUJBQXVCO3lIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBXb3JrSG9saWRheVNlcnZpY2UgfSBmcm9tICcuL3dvcmstaG9saWRheS5zZXJ2aWNlJztcbmltcG9ydCB7IGZvcmtKb2luLCBsYXN0VmFsdWVGcm9tLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uLCBXb3JrSG9saWRheSwgV29ya09yZGVyVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEZpbmlzaERhdGVIZWxwZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWdzOiBDb25maWd1cmF0aW9uO1xuICBwcml2YXRlIGhvbGlkYXlzOiBXb3JrSG9saWRheVtdID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xpZGF5U2VydmljZTogV29ya0hvbGlkYXlTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGFkanVzdEhvbGlkYXkoZmluaXNoRGF0ZTogRGF0ZSkge1xuICAgIHdoaWxlIChcbiAgICAgIHRoaXMuaG9saWRheXNcbiAgICAgICAgLm1hcCgoaCkgPT4gbmV3IERhdGUoaC5ob2xpZGF5KSlcbiAgICAgICAgLmZpbmRJbmRleCgoaCkgPT4gaCA9PT0gZmluaXNoRGF0ZSkgIT09IC0xXG4gICAgKSB7XG4gICAgICBkbyB7XG4gICAgICAgIGZpbmlzaERhdGUgPSBEYXRlVGltZS5mcm9tSlNEYXRlKGZpbmlzaERhdGUpXG4gICAgICAgICAgLnBsdXMoeyBkYXlzOiAxIH0pXG4gICAgICAgICAgLnRvSlNEYXRlKCk7XG4gICAgICB9IHdoaWxlIChmaW5pc2hEYXRlLmdldERheSgpID09PSAwIHx8IGZpbmlzaERhdGUuZ2V0RGF5KCkgPT09IDYpO1xuICAgIH1cbiAgICByZXR1cm4gZmluaXNoRGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRmluaXNoRGF0ZShcbiAgICByZWNlaXZlZERhdGU6IERhdGUsXG4gICAgd29ya09yZGVyVHlwZTogV29ya09yZGVyVHlwZVxuICApOiBEYXRlIHtcbiAgICBsZXQgZmluaXNoRGF0ZSA9IERhdGVUaW1lLmZyb21KU0RhdGUocmVjZWl2ZWREYXRlKS5zdGFydE9mKFwiZGF5XCIpO1xuICAgIGlmICh3b3JrT3JkZXJUeXBlID09PSBXb3JrT3JkZXJUeXBlLldhcnJhbnR5KSB7XG4gICAgICBmaW5pc2hEYXRlID0gZmluaXNoRGF0ZS5wbHVzKHsgd2Vla3M6IHRoaXMuY29uZmlncy53YXJyYW50eVdlZWtzIH0pO1xuICAgIH0gZWxzZSBpZiAod29ya09yZGVyVHlwZSA9PT0gV29ya09yZGVyVHlwZS5FeHBlZGl0ZWQpIHtcbiAgICAgIGZpbmlzaERhdGUgPSBmaW5pc2hEYXRlLnBsdXMoeyB3ZWVrczogdGhpcy5jb25maWdzLmV4cGVkaXRlZFdlZWtzIH0pO1xuICAgIH0gZWxzZSBpZiAod29ya09yZGVyVHlwZSA9PT0gV29ya09yZGVyVHlwZS5OZXdJbkJveCkge1xuICAgICAgZmluaXNoRGF0ZSA9IGZpbmlzaERhdGUucGx1cyh7IHdlZWtzOiB0aGlzLmNvbmZpZ3MubmV3SW5Cb3hXZWVrcyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluaXNoRGF0ZSA9IGZpbmlzaERhdGUucGx1cyh7IHdlZWtzOiB0aGlzLmNvbmZpZ3Muc3RhbmRhcmRXZWVrcyB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hZGp1c3RIb2xpZGF5KGZpbmlzaERhdGUudG9KU0RhdGUoKSk7XG4gIH1cblxuICBhc3luYyBjYWxjdWxhdGUocmVjZWl2ZWREYXRlOiBEYXRlLCB3b3JrT3JkZXJUeXBlOiBXb3JrT3JkZXJUeXBlKTogUHJvbWlzZTxEYXRlPiB7XG4gICAgaWYgKCFyZWNlaXZlZERhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jb25maWdzKSB7XG4gICAgICByZXR1cm4gYXdhaXQgbGFzdFZhbHVlRnJvbShmb3JrSm9pbihbXG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlncygpLFxuICAgICAgICB0aGlzLmhvbGlkYXlTZXJ2aWNlLnJlYWRIb2xpZGF5cygpLFxuICAgICAgXSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbY29uZmlncywgaG9saWRheXNdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb25maWdzID0gY29uZmlncztcbiAgICAgICAgICB0aGlzLmhvbGlkYXlzID0gaG9saWRheXM7XG4gICAgICAgICAgcmV0dXJuIG9mKHRoaXMuY2FsY3VsYXRlRmluaXNoRGF0ZShyZWNlaXZlZERhdGUsIHdvcmtPcmRlclR5cGUpKTtcbiAgICAgICAgfSlcbiAgICAgICkpO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHJlc29sdmUodGhpcy5jYWxjdWxhdGVGaW5pc2hEYXRlKHJlY2VpdmVkRGF0ZSwgd29ya09yZGVyVHlwZSkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,51 +1,31 @@
|
|
|
1
1
|
import { Injectable, Inject } from '@angular/core';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { BaseService } from './base.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class FirearmService {
|
|
6
|
+
export class FirearmService extends BaseService {
|
|
6
7
|
constructor(http, env) {
|
|
8
|
+
super(http);
|
|
7
9
|
this.http = http;
|
|
8
10
|
this.env = env;
|
|
9
|
-
this.
|
|
10
|
-
}
|
|
11
|
-
readFirearms(includeInactive = false) {
|
|
12
|
-
return this.http.get(this.url, {
|
|
13
|
-
params: {
|
|
14
|
-
includeInactive: includeInactive.toString()
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
readFirearm(firearmId) {
|
|
19
|
-
return this.http.get(`${this.url}/${firearmId}`);
|
|
20
|
-
}
|
|
21
|
-
createFirearm(firearm) {
|
|
22
|
-
return this.http.post(this.url, firearm);
|
|
23
|
-
}
|
|
24
|
-
updateFirearm(firearmId, firearm) {
|
|
25
|
-
return this.http.put(`${this.url}/${firearmId}`, firearm);
|
|
26
|
-
}
|
|
27
|
-
deleteFirearm(firearmId) {
|
|
28
|
-
return this.http.delete(`${this.url}/${firearmId}`);
|
|
29
|
-
}
|
|
30
|
-
readFirearmSeries(firearmId) {
|
|
31
|
-
return this.http.get(`${this.url}/${firearmId}/series`);
|
|
11
|
+
this.urlSegments = [`${this.env.baseUrl}api/firearms`];
|
|
32
12
|
}
|
|
33
13
|
readFirearmMaterial(firearmId) {
|
|
34
|
-
return this.http.get(`${this.
|
|
14
|
+
return this.http.get(`${this.getUrl(firearmId)}/material`);
|
|
35
15
|
}
|
|
36
16
|
readFirearmCosmetics(firearmId) {
|
|
37
|
-
return this.http.get(`${this.
|
|
17
|
+
return this.http.get(`${this.getUrl(firearmId)}/cosmetics`);
|
|
38
18
|
}
|
|
39
19
|
}
|
|
40
|
-
FirearmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, deps: [{ token: i1.HttpClient }, { token:
|
|
41
|
-
FirearmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, providedIn:
|
|
20
|
+
FirearmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
FirearmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, providedIn: "root" });
|
|
42
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FirearmService, decorators: [{
|
|
43
23
|
type: Injectable,
|
|
44
24
|
args: [{
|
|
45
|
-
providedIn:
|
|
25
|
+
providedIn: "root",
|
|
46
26
|
}]
|
|
47
27
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
48
28
|
type: Inject,
|
|
49
|
-
args: [
|
|
29
|
+
args: ["env"]
|
|
50
30
|
}] }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWFybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvZmlyZWFybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUs3QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQW9CO0lBRXRELFlBQXNCLElBQWdCLEVBQTJCLEdBQVE7UUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRXZFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDdEMsQ0FBQztJQUNKLENBQUM7OzRHQWZVLGNBQWMsNENBRXVCLEtBQUs7Z0hBRjFDLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHMEMsTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmlyZWFybSB9IGZyb20gJy4uL3R5cGVzL2ZpcmVhcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0ZXJpYWwsIE1pbGxpbmdUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEZpcmVhcm1TZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8RmlyZWFybT4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KFwiZW52XCIpIHByb3RlY3RlZCBlbnY6IGFueSkge1xuICAgIHN1cGVyKGh0dHApO1xuICAgIHRoaXMudXJsU2VnbWVudHMgPSBbYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvZmlyZWFybXNgXTtcbiAgfVxuXG4gIHJlYWRGaXJlYXJtTWF0ZXJpYWwoZmlyZWFybUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1hdGVyaWFsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TWF0ZXJpYWw+KGAke3RoaXMuZ2V0VXJsKGZpcmVhcm1JZCl9L21hdGVyaWFsYCk7XG4gIH1cblxuICByZWFkRmlyZWFybUNvc21ldGljcyhmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8TWlsbGluZ1R5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE1pbGxpbmdUeXBlW10+KFxuICAgICAgYCR7dGhpcy5nZXRVcmwoZmlyZWFybUlkKX0vY29zbWV0aWNzYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,52 +1,46 @@
|
|
|
1
1
|
import { Injectable, Inject } from '@angular/core';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { BaseService } from './base.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class GunPartService {
|
|
6
|
+
export class GunPartService extends BaseService {
|
|
6
7
|
constructor(http, env) {
|
|
8
|
+
super(http);
|
|
7
9
|
this.http = http;
|
|
8
10
|
this.env = env;
|
|
9
|
-
this.
|
|
11
|
+
this.urlSegments = [`${this.env.baseUrl}api/gun-parts`];
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
getParams(includeInactive, gunsmith, customer) {
|
|
12
14
|
const params = {
|
|
13
|
-
includeInactive: includeInactive.toString()
|
|
15
|
+
includeInactive: includeInactive.toString(),
|
|
14
16
|
};
|
|
15
17
|
if (gunsmith !== null) {
|
|
16
|
-
params[
|
|
18
|
+
params["gunsmith"] = gunsmith.toString();
|
|
17
19
|
}
|
|
18
20
|
if (customer !== null) {
|
|
19
|
-
params[
|
|
21
|
+
params["customer"] = customer.toString();
|
|
20
22
|
}
|
|
21
|
-
return
|
|
22
|
-
params: params
|
|
23
|
-
});
|
|
23
|
+
return params;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
return this.
|
|
25
|
+
getAllCustomer() {
|
|
26
|
+
return this.getAllWithParams(this.getParams(false, null, true));
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
return this.
|
|
28
|
+
getAllGunsmith() {
|
|
29
|
+
return this.getAllWithParams(this.getParams(false, true, null));
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
return this.http.
|
|
33
|
-
}
|
|
34
|
-
deleteGunPart(id) {
|
|
35
|
-
return this.http.delete(`${this.url}/${id}`);
|
|
36
|
-
}
|
|
37
|
-
readPartCoatings(id) {
|
|
38
|
-
return this.http.get(`${this.url}/${id}/coatings`);
|
|
31
|
+
getPartCoatings(id) {
|
|
32
|
+
return this.http.get(`${this.getUrl(id)}/coatings`);
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
|
-
GunPartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, deps: [{ token: i1.HttpClient }, { token:
|
|
42
|
-
GunPartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, providedIn:
|
|
35
|
+
GunPartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, deps: [{ token: i1.HttpClient }, { token: "env" }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
GunPartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, providedIn: "root" });
|
|
43
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GunPartService, decorators: [{
|
|
44
38
|
type: Injectable,
|
|
45
39
|
args: [{
|
|
46
|
-
providedIn:
|
|
40
|
+
providedIn: "root",
|
|
47
41
|
}]
|
|
48
42
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
49
43
|
type: Inject,
|
|
50
|
-
args: [
|
|
44
|
+
args: ["env"]
|
|
51
45
|
}] }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VuLXBhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL2d1bi1wYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzdDLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBb0I7SUFFdEQsWUFBc0IsSUFBZ0IsRUFBMkIsR0FBUTtRQUN2RSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQTJCLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxTQUFTLENBQUMsZUFBd0IsRUFBRSxRQUFpQixFQUFFLFFBQWlCO1FBQzlFLE1BQU0sTUFBTSxHQUFHO1lBQ2IsZUFBZSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDNUMsQ0FBQztRQUVGLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtZQUNyQixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzFDO1FBRUQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDMUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs0R0FqQ1UsY0FBYyw0Q0FFdUIsS0FBSztnSEFGMUMsY0FBYyxjQUZiLE1BQU07NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUcwQyxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2F0aW5nLCBHdW5QYXJ0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEd1blBhcnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2U8R3VuUGFydD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KFwiZW52XCIpIHByb3RlY3RlZCBlbnY6IGFueSkge1xuICAgIHN1cGVyKGh0dHApO1xuICAgIHRoaXMudXJsU2VnbWVudHMgPSBbYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvZ3VuLXBhcnRzYF07XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtcyhpbmNsdWRlSW5hY3RpdmU6IGJvb2xlYW4sIGd1bnNtaXRoOiBib29sZWFuLCBjdXN0b21lcjogYm9vbGVhbik6IGFueSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaW5jbHVkZUluYWN0aXZlOiBpbmNsdWRlSW5hY3RpdmUudG9TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgaWYgKGd1bnNtaXRoICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbXCJndW5zbWl0aFwiXSA9IGd1bnNtaXRoLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKGN1c3RvbWVyICE9PSBudWxsKSB7XG4gICAgICBwYXJhbXNbXCJjdXN0b21lclwiXSA9IGN1c3RvbWVyLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldEFsbEN1c3RvbWVyKCk6IE9ic2VydmFibGU8R3VuUGFydFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsV2l0aFBhcmFtcyh0aGlzLmdldFBhcmFtcyhmYWxzZSwgbnVsbCwgdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0QWxsR3Vuc21pdGgoKTogT2JzZXJ2YWJsZTxHdW5QYXJ0W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxXaXRoUGFyYW1zKHRoaXMuZ2V0UGFyYW1zKGZhbHNlLCB0cnVlLCBudWxsKSk7XG4gIH1cblxuICBnZXRQYXJ0Q29hdGluZ3MoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q29hdGluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29hdGluZ1tdPihgJHt0aGlzLmdldFVybChpZCl9L2NvYXRpbmdzYCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,7 +13,6 @@ export * from './configuration.service';
|
|
|
13
13
|
export * from './waitlist-customer.service';
|
|
14
14
|
export * from './optic.service';
|
|
15
15
|
export * from './product.service';
|
|
16
|
-
export * from './firearm-series.service';
|
|
17
16
|
export * from './milling-type.service';
|
|
18
17
|
export * from './coating.service';
|
|
19
18
|
export * from './material.service';
|
|
@@ -39,4 +38,5 @@ export * from './package-optional-item.service';
|
|
|
39
38
|
export * from './package-variation.service';
|
|
40
39
|
export * from './slide-addon.service';
|
|
41
40
|
export * from './coating-value.service';
|
|
42
|
-
|
|
41
|
+
export * from './finish-date-helper.service';
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbWVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYXJtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndW4tcGFydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlbmRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdG90YWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLWhvbGlkYXkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlYWxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1jdXN0b21lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21pbGxpbmctdHlwZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29hdGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWF0ZXJpYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cmNoYXNlLW9yZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1wcm9qZWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnZlbnRvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZpbmlzaC1jb2RlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLXNoaXBwaW5nLWl0ZW0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItZGlzY291bnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1aWNrYm9va3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstb3JkZXItbm9uLWludmVudG9yeS1pdGVtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb3VudC10eXBlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWdodC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQtdHlwZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaHQtbWF0ZXJpYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0tb3B0aWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0tc2lnaHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2Utb3B0aW9uYWwtaXRlbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja2FnZS12YXJpYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWRlLWFkZG9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2F0aW5nLXZhbHVlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maW5pc2gtZGF0ZS1oZWxwZXIuc2VydmljZSc7XG4iXX0=
|