sk-front-lib 0.17.58 → 0.17.59

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.
@@ -66,6 +66,9 @@ export declare class SkProductService {
66
66
  getAdminStockCount(id: number): Observable<SkProductStockCount>;
67
67
  getAdminStocks(id: number, params?: ApiPageableParam): Observable<ApiPageable<ISkProductStockHistory>>;
68
68
  addAdminStock(id: number, data: any): Observable<SkProductStockCount>;
69
+ deductAdminStock(id: number, data: {
70
+ amount: number;
71
+ }): Observable<SkProductStockCount>;
69
72
  updateAdminStock(productId: number, stockId: number, data: {
70
73
  serial: string;
71
74
  }): Observable<ISkProductStockHistory>;
@@ -123,6 +123,9 @@ export class SkProductService {
123
123
  addAdminStock(id, data) {
124
124
  return this._apiService.post(`/api/admin/products/${id}/stocks`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
125
125
  }
126
+ deductAdminStock(id, data) {
127
+ return this._apiService.post(`/api/admin/products/${id}/stocks/deduct`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
128
+ }
126
129
  updateAdminStock(productId, stockId, data) {
127
130
  return this._apiService.put(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(map(response => response.data));
128
131
  }
@@ -165,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
165
168
  providedIn: 'root'
166
169
  }]
167
170
  }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLXByb2R1Y3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUtILFNBQVMsRUFXZSxNQUFNLEVBQ2pDLE1BQU0sb0JBQW9CLENBQUM7OztBQUs1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQix3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFZLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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QUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NkdBclNRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvZHVjdERldGFpbCxcbiAgICBJU2tQcm9kdWN0RmlsdGVyRGF0YSxcbiAgICBJU2tQcm9kdWN0T3B0aW9uLFxuICAgIElTa1Byb2R1Y3RTdG9ja0hpc3RvcnksXG4gICAgU2tQcm9kdWN0LFxuICAgIFNrUHJvZHVjdENvdW50LFxuICAgIFNrUHJvZHVjdExpc3RJdGVtLFxuICAgIFNrUHJvZHVjdFByaWNlLFxuICAgIFNrUHJvZHVjdFN0b2NrLFxuICAgIFNrUHJvZHVjdFN0b2NrQ291bnQsXG4gICAgU2tQcm9kdWN0V2lzaGxpc3QsXG4gICAgU2tTdWJDYXRlZ29yeUl0ZW0sXG4gICAgSVNrUHJvZHVjdFB1Ymxpc2gsXG4gICAgSVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtLFxuICAgIElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUsXG4gICAgSVNrUHJvZHVjdFNlcmllc0RldGFpbCwgU2tGaWxlLCBJU2tGaWxlXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9kdWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldFByb2R1Y3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3REZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3REZXRhaWw+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9kdWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa1Byb2R1Y3RMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9kdWN0TGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9wcm9kdWN0c2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tQcm9kdWN0IHwgU2tQcm9kdWN0TGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHJvZHVjdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29weUFkbWluUHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2NvcHlgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQcmljZShpZDogbnVtYmVyLCBkYXRhOiBTa1Byb2R1Y3RQcmljZSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3ByaWNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0TmF2ZXJFUChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9uYXZlcmVwYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdENhdGFsb2coaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0YWxvZ2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RPcHRpb24oaWQ6IG51bWJlciwgZGF0YTogeyBvcHRpb25zOiBJU2tQcm9kdWN0T3B0aW9uW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L29wdGlvbmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQYWNrYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgcGFja2FnZXM6IHsgcHJvZHVjdElkOiBudW1iZXI7IHNob3dTcGVjOiBib29sZWFuOyBzaG93RGVzYzogYm9vbGVhbjsgc2hhcmU6IG51bWJlcjsgfVtdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9wYWNrYWdlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuT3B0aW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0T3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RPcHRpb25bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vcGFja2FnZS9jaGlsZHJlbi1vcHRpb25zYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuSW1hZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRmlsZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tGaWxlW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3BhY2thZ2UvY2hpbGRyZW4taW1hZ2VzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrRmlsZShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0QXJ0aWNsZURlc2MoaWQ6IG51bWJlciwgZGF0YTogeyBjb250ZW50OiBzdHJpbmcsIGltYWdlczogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2FydGljbGUtZGVzY2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RBcnRpY2xlU3BlYyhpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vYXJ0aWNsZS1zcGVjYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2VJZHM6IG51bWJlcltdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RFRGVsaXZlcnkoaWQ6IG51bWJlciwgZGF0YTogeyBza3U6IHN0cmluZywgZG93bmxvYWRMaW5rOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2VkZWxpdmVyeWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RGdXJuaXR1cmVEZWxpdmVyeShpZDogbnVtYmVyLCBkYXRhOiB7IGZ1cm5pdHVyZUFzc2VtYmx5OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9mdXJuaXR1cmUtZGVsaXZlcnlgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBhY3RpdmF0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL3Byb2R1Y3RzL2FjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pblByb2R1Y3RzKHByb2R1Y3RzOiBTa1Byb2R1Y3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9wcm9kdWN0cy9kZWFjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzL2RlbGV0ZS8ke3Byb2R1Y3RzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RzQ291bnQoKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0Q291bnQ+KCcvYXBpL2FkbWluL3Byb2R1Y3RzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2lzaGxpc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0V2lzaGxpc3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdFdpc2hsaXN0PihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vd2lzaGxpc3RgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdpc2hsaXN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFdpc2hsaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RXaXNobGlzdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9L3dpc2hsaXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdE9wdGlvbltdPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vb3B0aW9uc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW1zKGlkOiBudW1iZXIsIGlkQXJyOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2AsIHtzdWJDYXRlZ29yeUl0ZW1zOiBpZEFycn0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0ZpbHRlckRhdGEocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdEZpbHRlckRhdGE+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RGaWx0ZXJEYXRhPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvZmlsdGVyLWRhdGFgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRJbmNsdWRlZFBhY2thZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke2lkfS9pbmNsdWRlZC1wYWNrYWdlc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHVwZGF0ZUFkbWluU3RvY2tDb25maWcoaWQ6IG51bWJlciwgZGF0YTogU2tQcm9kdWN0U3RvY2spOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9zdG9ja3NgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TdG9ja0NvdW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFN0b2NrQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdFN0b2NrQ291bnQ+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrcy9jb3VudGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblN0b2NrcyhpZDogbnVtYmVyLCBwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBPYmplY3QuYXNzaWduKHt0b3RhbEluOiAwLCB0b3RhbE91dDogMCwgY3VycmVudDogMH0sIHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU3RvY2socHJvZHVjdElkOiBudW1iZXIsIHN0b2NrSWQ6IG51bWJlciwgZGF0YTogeyBzZXJpYWw6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vc3RvY2tzLyR7c3RvY2tJZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TdG9jayhwcm9kdWN0SWQ6IG51bWJlciwgc3RvY2tJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9zdG9ja3MvJHtzdG9ja0lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblNlcmllc0xpc3QocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5TZXJpZXMoZGF0YTogSVNrUHJvZHVjdFNlcmllc0NyZWF0ZSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPihgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllc2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNlcmllcyhpZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0U2VyaWVzQ3JlYXRlKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllcy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RQdWJsaXNoW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RQdWJsaXNoW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtwcm9kdWN0SWR9L3B1Ymxpc2gvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5QdWJsaXNoKHByb2R1Y3RJZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0UHVibGlzaCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFB1Ymxpc2gpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLXByb2R1Y3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUtILFNBQVMsRUFXZSxNQUFNLEVBQ2pDLE1BQU0sb0JBQW9CLENBQUM7OztBQUs1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQix3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFZLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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QUMsSUFBSSxDQUM3RixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxFQUFVO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLFNBQVMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NkdBM1NRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvZHVjdERldGFpbCxcbiAgICBJU2tQcm9kdWN0RmlsdGVyRGF0YSxcbiAgICBJU2tQcm9kdWN0T3B0aW9uLFxuICAgIElTa1Byb2R1Y3RTdG9ja0hpc3RvcnksXG4gICAgU2tQcm9kdWN0LFxuICAgIFNrUHJvZHVjdENvdW50LFxuICAgIFNrUHJvZHVjdExpc3RJdGVtLFxuICAgIFNrUHJvZHVjdFByaWNlLFxuICAgIFNrUHJvZHVjdFN0b2NrLFxuICAgIFNrUHJvZHVjdFN0b2NrQ291bnQsXG4gICAgU2tQcm9kdWN0V2lzaGxpc3QsXG4gICAgU2tTdWJDYXRlZ29yeUl0ZW0sXG4gICAgSVNrUHJvZHVjdFB1Ymxpc2gsXG4gICAgSVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtLFxuICAgIElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUsXG4gICAgSVNrUHJvZHVjdFNlcmllc0RldGFpbCwgU2tGaWxlLCBJU2tGaWxlXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9kdWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldFByb2R1Y3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3REZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3REZXRhaWw+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9kdWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa1Byb2R1Y3RMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9kdWN0TGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9wcm9kdWN0c2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tQcm9kdWN0IHwgU2tQcm9kdWN0TGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHJvZHVjdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29weUFkbWluUHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2NvcHlgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQcmljZShpZDogbnVtYmVyLCBkYXRhOiBTa1Byb2R1Y3RQcmljZSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3ByaWNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0TmF2ZXJFUChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9uYXZlcmVwYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdENhdGFsb2coaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0YWxvZ2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RPcHRpb24oaWQ6IG51bWJlciwgZGF0YTogeyBvcHRpb25zOiBJU2tQcm9kdWN0T3B0aW9uW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L29wdGlvbmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQYWNrYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgcGFja2FnZXM6IHsgcHJvZHVjdElkOiBudW1iZXI7IHNob3dTcGVjOiBib29sZWFuOyBzaG93RGVzYzogYm9vbGVhbjsgc2hhcmU6IG51bWJlcjsgfVtdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9wYWNrYWdlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuT3B0aW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0T3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RPcHRpb25bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vcGFja2FnZS9jaGlsZHJlbi1vcHRpb25zYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuSW1hZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRmlsZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tGaWxlW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3BhY2thZ2UvY2hpbGRyZW4taW1hZ2VzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrRmlsZShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0QXJ0aWNsZURlc2MoaWQ6IG51bWJlciwgZGF0YTogeyBjb250ZW50OiBzdHJpbmcsIGltYWdlczogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2FydGljbGUtZGVzY2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RBcnRpY2xlU3BlYyhpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vYXJ0aWNsZS1zcGVjYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2VJZHM6IG51bWJlcltdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RFRGVsaXZlcnkoaWQ6IG51bWJlciwgZGF0YTogeyBza3U6IHN0cmluZywgZG93bmxvYWRMaW5rOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2VkZWxpdmVyeWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RGdXJuaXR1cmVEZWxpdmVyeShpZDogbnVtYmVyLCBkYXRhOiB7IGZ1cm5pdHVyZUFzc2VtYmx5OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9mdXJuaXR1cmUtZGVsaXZlcnlgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBhY3RpdmF0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL3Byb2R1Y3RzL2FjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pblByb2R1Y3RzKHByb2R1Y3RzOiBTa1Byb2R1Y3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9wcm9kdWN0cy9kZWFjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzL2RlbGV0ZS8ke3Byb2R1Y3RzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RzQ291bnQoKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0Q291bnQ+KCcvYXBpL2FkbWluL3Byb2R1Y3RzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2lzaGxpc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0V2lzaGxpc3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdFdpc2hsaXN0PihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vd2lzaGxpc3RgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdpc2hsaXN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFdpc2hsaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RXaXNobGlzdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9L3dpc2hsaXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdE9wdGlvbltdPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vb3B0aW9uc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW1zKGlkOiBudW1iZXIsIGlkQXJyOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2AsIHtzdWJDYXRlZ29yeUl0ZW1zOiBpZEFycn0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0ZpbHRlckRhdGEocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdEZpbHRlckRhdGE+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RGaWx0ZXJEYXRhPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvZmlsdGVyLWRhdGFgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRJbmNsdWRlZFBhY2thZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke2lkfS9pbmNsdWRlZC1wYWNrYWdlc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHVwZGF0ZUFkbWluU3RvY2tDb25maWcoaWQ6IG51bWJlciwgZGF0YTogU2tQcm9kdWN0U3RvY2spOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9zdG9ja3NgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TdG9ja0NvdW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFN0b2NrQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdFN0b2NrQ291bnQ+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrcy9jb3VudGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblN0b2NrcyhpZDogbnVtYmVyLCBwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBPYmplY3QuYXNzaWduKHt0b3RhbEluOiAwLCB0b3RhbE91dDogMCwgY3VycmVudDogMH0sIHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlZHVjdEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogeyBhbW91bnQ6IG51bWJlciB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzL2RlZHVjdGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblN0b2NrKHByb2R1Y3RJZDogbnVtYmVyLCBzdG9ja0lkOiBudW1iZXIsIGRhdGE6IHsgc2VyaWFsOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFN0b2NrSGlzdG9yeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrUHJvZHVjdFN0b2NrSGlzdG9yeT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtwcm9kdWN0SWR9L3N0b2Nrcy8ke3N0b2NrSWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU3RvY2socHJvZHVjdElkOiBudW1iZXIsIHN0b2NrSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vc3RvY2tzLyR7c3RvY2tJZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TZXJpZXNMaXN0KHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPihgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluU2VyaWVzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RTZXJpZXNEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RTZXJpZXNEZXRhaWw+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluU2VyaWVzKGRhdGE6IElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5TZXJpZXMoaWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFNlcmllc0NyZWF0ZSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU2VyaWVzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5QdWJsaXNoKHByb2R1Y3RJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0UHVibGlzaFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tQcm9kdWN0UHVibGlzaFtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIsIGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFB1Ymxpc2gpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1Byb2R1Y3RQdWJsaXNoPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIsIGRhdGE6IElTa1Byb2R1Y3RQdWJsaXNoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1Byb2R1Y3RQdWJsaXNoPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -679,6 +679,9 @@ class SkProductService {
679
679
  addAdminStock(id, data) {
680
680
  return this._apiService.post(`/api/admin/products/${id}/stocks`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
681
681
  }
682
+ deductAdminStock(id, data) {
683
+ return this._apiService.post(`/api/admin/products/${id}/stocks/deduct`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
684
+ }
682
685
  updateAdminStock(productId, stockId, data) {
683
686
  return this._apiService.put(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(map(response => response.data));
684
687
  }