ng-miam 6.4.13 → 7.0.0
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/bundles/ng-miam.umd.js +8539 -10855
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +2 -2
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/abstracts/event-tracer.component.js +3 -2
- package/esm2015/lib/_components/accordion/accordion.component.js +75 -0
- package/esm2015/lib/_components/components.module.js +27 -21
- package/esm2015/lib/_components/counter-input/counter-input.component.js +86 -76
- package/esm2015/lib/_components/icon/icon.component.js +1 -1
- package/esm2015/lib/_components/index.js +5 -5
- package/esm2015/lib/_components/like-button/like-button.component.js +1 -1
- package/esm2015/lib/_components/list-input/list-input.component.js +5 -5
- package/esm2015/lib/_components/loader/loader.component.js +1 -1
- package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +3 -3
- package/esm2015/lib/_components/modal/modal.component.js +155 -137
- package/esm2015/lib/_components/product-card/product-card.component.js +333 -0
- package/esm2015/lib/_components/products-picker/products-picker.component.js +155 -0
- package/esm2015/lib/_components/progress-tracker/progress-tracker.component.js +1 -1
- package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +166 -217
- package/esm2015/lib/_components/recipe-pricing/recipe-pricing.component.js +55 -35
- package/esm2015/lib/_components/slider-tabs/slider-tabs.component.js +84 -0
- package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +1 -1
- package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +1 -1
- package/esm2015/lib/_components/tabs/tabs.component.js +48 -88
- package/esm2015/lib/_components/toaster/toaster.component.js +48 -84
- package/esm2015/lib/_components/tooltipable-content/tooltipable-content.component.js +1 -1
- package/esm2015/lib/_models/basket-entry.js +33 -49
- package/esm2015/lib/_models/basket-preview-line.js +5 -5
- package/esm2015/lib/_models/basket.js +15 -12
- package/esm2015/lib/_models/item.js +2 -2
- package/esm2015/lib/_models/recipe.js +2 -15
- package/esm2015/lib/_models/user.js +1 -1
- package/esm2015/lib/_services/analytics.service.js +24 -5
- package/esm2015/lib/_services/baskets-synchronizing/baskets-comparator.service.js +1 -10
- package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +15 -15
- package/esm2015/lib/_services/baskets.service.js +478 -60
- package/esm2015/lib/_services/context.service.js +22 -35
- package/esm2015/lib/_services/index.js +3 -5
- package/esm2015/lib/_services/interceptor.service.js +2 -2
- package/esm2015/lib/_services/items.service.js +27 -4
- package/esm2015/lib/_services/recipe-details.service.js +198 -0
- package/esm2015/lib/_services/recipe-likes.service.js +1 -1
- package/esm2015/lib/_services/recipes.service.js +24 -53
- package/esm2015/lib/_services/scrolling.service.js +17 -0
- package/esm2015/lib/_services/toaster.service.js +4 -5
- package/esm2015/lib/_services/user.service.js +2 -2
- package/esm2015/lib/_types/basket-action-type.enum.js +11 -0
- package/esm2015/lib/_types/basket-action.js +2 -0
- package/esm2015/lib/_types/basket-stats.js +2 -0
- package/esm2015/lib/_types/builded/miam-interface.js +1 -1
- package/esm2015/lib/_types/event-trace.js +5 -0
- package/esm2015/lib/_types/items-comparator.js +1 -10
- package/esm2015/lib/_types/recipe-filters.js +1 -1
- package/esm2015/lib/_types/toaster.js +1 -1
- package/esm2015/lib/_utils/directives/index.js +2 -1
- package/esm2015/lib/_utils/directives/reach-top.directive.js +33 -0
- package/esm2015/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.js +8 -2
- package/esm2015/lib/_utils/utils.module.js +12 -8
- package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +140 -118
- package/esm2015/lib/_web-components/basket-preview/basket-preview-disabled/basket-preview-disabled.component.js +2 -2
- package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +125 -444
- package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +211 -108
- package/esm2015/lib/_web-components/index.js +1 -4
- package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +11 -14
- package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +13 -13
- package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +6 -6
- package/esm2015/lib/_web-components/list-scan/list-scan.component.js +10 -10
- package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +23 -11
- package/esm2015/lib/_web-components/meals-planner/meals-planner-basket-confirmation/meals-planner-basket-confirmation.component.js +1 -1
- package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
- package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +7 -7
- package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +5 -5
- package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +16 -20
- package/esm2015/lib/_web-components/planner-side-menu/planner-side-menu.component.js +4 -53
- package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-cards/index.js +1 -3
- package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +326 -404
- package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +50 -146
- package/esm2015/lib/_web-components/recipe-cards/recipe-cards.module.js +3 -15
- package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +35 -29
- package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +27 -31
- package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +98 -100
- package/esm2015/lib/_web-components/recipe-creation/recipe-form/recipe-form.component.js +2 -2
- package/esm2015/lib/_web-components/recipe-creation/recipe-stepper/recipe-stepper.component.js +7 -7
- package/esm2015/lib/_web-components/recipe-creation/tags-creator/tags-creator.component.js +4 -4
- package/esm2015/lib/_web-components/recipe-creation/tags-selector/tags-selector.component.js +8 -8
- package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +7 -3
- package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +57 -358
- package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +59 -122
- package/esm2015/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.js +51 -72
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +313 -363
- package/esm2015/lib/_web-components/recipe-details/recipe-details.module.js +8 -4
- package/esm2015/lib/_web-components/recipe-details/sponsor-storytelling/sponsor-storytelling.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-helper/recipe-helper.component.js +89 -113
- package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +78 -69
- package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +5 -5
- package/esm2015/lib/_web-components/toaster-stack/toaster-stack.component.js +8 -4
- package/esm2015/lib/_web-components/web-components.module.js +3 -19
- package/esm2015/lib/ng-miam.module.js +5 -7
- package/fesm2015/ng-miam.js +5165 -6973
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_components/abstracts/event-tracer.component.d.ts +2 -1
- package/lib/_components/accordion/accordion.component.d.ts +23 -0
- package/lib/_components/components.module.d.ts +38 -36
- package/lib/_components/counter-input/counter-input.component.d.ts +12 -14
- package/lib/_components/index.d.ts +4 -4
- package/lib/_components/modal/modal.component.d.ts +18 -18
- package/lib/_components/product-card/product-card.component.d.ts +40 -0
- package/lib/_components/products-picker/products-picker.component.d.ts +17 -0
- package/lib/_components/recipe-pricing/recipe-pricing.component.d.ts +12 -8
- package/lib/_components/slider-tabs/slider-tabs.component.d.ts +16 -0
- package/lib/_components/tabs/tabs.component.d.ts +11 -11
- package/lib/_components/toaster/toaster.component.d.ts +4 -2
- package/lib/_models/basket-entry.d.ts +16 -20
- package/lib/_models/basket-preview-line.d.ts +1 -0
- package/lib/_models/basket.d.ts +12 -5
- package/lib/_models/item.d.ts +1 -1
- package/lib/_models/recipe.d.ts +0 -5
- package/lib/_models/user.d.ts +0 -1
- package/lib/_services/analytics.service.d.ts +8 -22
- package/lib/_services/baskets-synchronizing/baskets-comparator.service.d.ts +0 -5
- package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +3 -6
- package/lib/_services/baskets.service.d.ts +137 -18
- package/lib/_services/context.service.d.ts +2 -4
- package/lib/_services/index.d.ts +2 -4
- package/lib/_services/items.service.d.ts +9 -2
- package/lib/_services/recipe-details.service.d.ts +84 -0
- package/lib/_services/recipe-likes.service.d.ts +2 -1
- package/lib/_services/recipes.service.d.ts +10 -14
- package/lib/_services/scrolling.service.d.ts +8 -0
- package/lib/_services/toaster.service.d.ts +1 -1
- package/lib/_types/basket-action-type.enum.d.ts +9 -0
- package/lib/_types/basket-action.d.ts +14 -0
- package/lib/_types/basket-stats.d.ts +5 -0
- package/lib/_types/builded/miam-interface.d.ts +16 -25
- package/lib/_types/event-trace.d.ts +22 -0
- package/lib/_types/items-comparator.d.ts +0 -5
- package/lib/_types/recipe-filters.d.ts +0 -2
- package/lib/_types/toaster.d.ts +1 -1
- package/lib/_utils/directives/index.d.ts +1 -0
- package/lib/_utils/directives/reach-top.directive.d.ts +13 -0
- package/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.d.ts +1 -1
- package/lib/_utils/utils.module.d.ts +2 -2
- package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +9 -8
- package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +11 -9
- package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +27 -20
- package/lib/_web-components/index.d.ts +0 -3
- package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +1 -2
- package/lib/_web-components/list-scan/files-inputs/files-inputs.component.d.ts +6 -5
- package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +3 -3
- package/lib/_web-components/list-scan/list-scan.component.d.ts +3 -3
- package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +8 -6
- package/lib/_web-components/meals-planner/meals-planner.component.d.ts +2 -3
- package/lib/_web-components/recipe-cards/index.d.ts +0 -2
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +58 -17
- package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +5 -12
- package/lib/_web-components/recipe-cards/recipe-cards.module.d.ts +7 -9
- package/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.d.ts +8 -6
- package/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.d.ts +7 -4
- package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +2 -3
- package/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.d.ts +5 -2
- package/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.d.ts +6 -18
- package/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.d.ts +6 -13
- package/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.d.ts +2 -10
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +29 -36
- package/lib/_web-components/recipe-details/recipe-details.module.d.ts +2 -1
- package/lib/_web-components/recipe-helper/recipe-helper.component.d.ts +2 -6
- package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +11 -9
- package/lib/_web-components/toaster-stack/toaster-stack.component.d.ts +5 -2
- package/lib/_web-components/web-components.module.d.ts +23 -29
- package/miam-style.css +1 -1
- package/package.json +1 -1
- package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +0 -130
- package/esm2015/lib/_components/skeleton/skeleton.component.js +0 -70
- package/esm2015/lib/_components/tabs/tab-body.component.js +0 -30
- package/esm2015/lib/_components/tabs/tab-item.component.js +0 -36
- package/esm2015/lib/_components/tabs/tab-label.component.js +0 -30
- package/esm2015/lib/_models/groceries-entry.js +0 -42
- package/esm2015/lib/_models/groceries-list.js +0 -36
- package/esm2015/lib/_services/counter.service.js +0 -20
- package/esm2015/lib/_services/groceries-entries.service.js +0 -21
- package/esm2015/lib/_services/groceries-lists.service.js +0 -240
- package/esm2015/lib/_services/recipe-events.service.js +0 -63
- package/esm2015/lib/_types/skeleton.enum.js +0 -7
- package/esm2015/lib/_web-components/drawer/drawer.component.js +0 -273
- package/esm2015/lib/_web-components/pos-card/pos-card.component.js +0 -207
- package/esm2015/lib/_web-components/pos-selection/pos-selection.component.js +0 -283
- package/esm2015/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.js +0 -632
- package/esm2015/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.js +0 -144
- package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +0 -49
- package/lib/_components/skeleton/skeleton.component.d.ts +0 -11
- package/lib/_components/tabs/tab-body.component.d.ts +0 -8
- package/lib/_components/tabs/tab-item.component.d.ts +0 -11
- package/lib/_components/tabs/tab-label.component.d.ts +0 -8
- package/lib/_models/groceries-entry.d.ts +0 -20
- package/lib/_models/groceries-list.d.ts +0 -30
- package/lib/_services/counter.service.d.ts +0 -10
- package/lib/_services/groceries-entries.service.d.ts +0 -10
- package/lib/_services/groceries-lists.service.d.ts +0 -68
- package/lib/_services/recipe-events.service.d.ts +0 -23
- package/lib/_types/skeleton.enum.d.ts +0 -5
- package/lib/_web-components/drawer/drawer.component.d.ts +0 -37
- package/lib/_web-components/pos-card/pos-card.component.d.ts +0 -24
- package/lib/_web-components/pos-selection/pos-selection.component.d.ts +0 -38
- package/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.d.ts +0 -49
- package/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.d.ts +0 -42
|
@@ -3,14 +3,12 @@ import { EventEmitter, Injectable } from '@angular/core';
|
|
|
3
3
|
import { Service } from 'ngx-jsonapi';
|
|
4
4
|
import { of, forkJoin, BehaviorSubject, combineLatest } from 'rxjs';
|
|
5
5
|
import { debounceTime, map, skipWhile, switchMap, take, tap } from 'rxjs/operators';
|
|
6
|
-
import { Recipe } from '../_models';
|
|
6
|
+
import { Recipe } from '../_models/recipe';
|
|
7
7
|
import { RecipePricing } from '../_models/recipe-pricing';
|
|
8
8
|
import { environment } from '../environments/environment';
|
|
9
|
-
import { GroceriesListsService } from './groceries-lists.service';
|
|
10
9
|
import { IngredientsService } from './ingredients.service';
|
|
11
10
|
import { PackageService } from './package.service';
|
|
12
11
|
import { PointOfSalesService } from './point-of-sales.service';
|
|
13
|
-
import { RecipeEventsService } from './recipe-events.service';
|
|
14
12
|
import { RecipeLikesService } from './recipe-likes.service';
|
|
15
13
|
import { RecipeProviderService } from './recipe-provider.service';
|
|
16
14
|
import { RecipeStatusService } from './recipe-status.service';
|
|
@@ -26,17 +24,15 @@ import * as i3 from "./recipe-status.service";
|
|
|
26
24
|
import * as i4 from "./recipe-type.service";
|
|
27
25
|
import * as i5 from "./suppliers.service";
|
|
28
26
|
import * as i6 from "./point-of-sales.service";
|
|
29
|
-
import * as i7 from "./
|
|
30
|
-
import * as i8 from "./
|
|
31
|
-
import * as i9 from "./
|
|
32
|
-
import * as i10 from "./
|
|
33
|
-
import * as i11 from "./
|
|
34
|
-
import * as i12 from "./
|
|
35
|
-
import * as i13 from "./tags.service";
|
|
36
|
-
import * as i14 from "./recipe-likes.service";
|
|
27
|
+
import * as i7 from "./ingredients.service";
|
|
28
|
+
import * as i8 from "./recipe-steps.service";
|
|
29
|
+
import * as i9 from "./sponsor.service";
|
|
30
|
+
import * as i10 from "./package.service";
|
|
31
|
+
import * as i11 from "./tags.service";
|
|
32
|
+
import * as i12 from "./recipe-likes.service";
|
|
37
33
|
const MIAM_API_HOST = `${environment.miamAPI}/api/v1/`;
|
|
38
34
|
export class RecipesService extends Service {
|
|
39
|
-
constructor(http, providerService, statusService, typeService, suppliersService, posService,
|
|
35
|
+
constructor(http, providerService, statusService, typeService, suppliersService, posService, ingredientsService, recipeStepsService, sponsorService, packageService, tagsService, recipeLikesService) {
|
|
40
36
|
super();
|
|
41
37
|
this.http = http;
|
|
42
38
|
this.providerService = providerService;
|
|
@@ -44,10 +40,8 @@ export class RecipesService extends Service {
|
|
|
44
40
|
this.typeService = typeService;
|
|
45
41
|
this.suppliersService = suppliersService;
|
|
46
42
|
this.posService = posService;
|
|
47
|
-
this.listsService = listsService;
|
|
48
43
|
this.ingredientsService = ingredientsService;
|
|
49
44
|
this.recipeStepsService = recipeStepsService;
|
|
50
|
-
this.recipeEventsService = recipeEventsService;
|
|
51
45
|
this.sponsorService = sponsorService;
|
|
52
46
|
this.packageService = packageService;
|
|
53
47
|
this.tagsService = tagsService;
|
|
@@ -56,15 +50,15 @@ export class RecipesService extends Service {
|
|
|
56
50
|
this.type = 'recipes';
|
|
57
51
|
this.displayedRecipe$ = new BehaviorSubject(null);
|
|
58
52
|
this.displayHelper$ = new BehaviorSubject(false);
|
|
59
|
-
this.displayedRecipeChanged = new
|
|
53
|
+
this.displayedRecipeChanged$ = new BehaviorSubject(null);
|
|
60
54
|
this.hidden = new EventEmitter();
|
|
61
55
|
this.suggestionsPrimaryButtonActions = { display: true, addToBasket: true };
|
|
62
56
|
this.recipesPrimaryButtonActions = { display: true, addToBasket: true };
|
|
63
57
|
this.reloadRecipes$ = new BehaviorSubject(false);
|
|
64
58
|
this.difficultyLevels = [
|
|
65
|
-
{ value: 1, label: '
|
|
66
|
-
{ value: 2, label: '
|
|
67
|
-
{ value: 3, label: '
|
|
59
|
+
{ value: 1, label: 'Facile' },
|
|
60
|
+
{ value: 2, label: 'Moyen' },
|
|
61
|
+
{ value: 3, label: 'Difficile' }
|
|
68
62
|
];
|
|
69
63
|
this.randomRecipeCount = 1;
|
|
70
64
|
this.recipes = [];
|
|
@@ -78,32 +72,14 @@ export class RecipesService extends Service {
|
|
|
78
72
|
this.display(recipeId, { previewAllowed: true, previewMode: false }, { originPath: '', props: {} });
|
|
79
73
|
}
|
|
80
74
|
}
|
|
81
|
-
loadRecipes() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return forkJoin(list.attributes['recipes-infos'].map(info => this.getOrFetch(info.id).pipe(tap(r => {
|
|
90
|
-
r.modifiedGuests = +info.guests;
|
|
91
|
-
this.recipes.push(r);
|
|
92
|
-
}))));
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Adds mandatory data (guest, pos id) completion to the given filters.
|
|
97
|
-
*/
|
|
98
|
-
addMandatoryCompletionToFilter(filters) {
|
|
99
|
-
return this.posService.pos$.pipe(take(1), map((pos) => {
|
|
100
|
-
var _a;
|
|
101
|
-
if (pos === null || pos === void 0 ? void 0 : pos.id) {
|
|
102
|
-
// number of guests and point of sale id are mandatory in order to use primary_completion_perc filter
|
|
103
|
-
filters.additionalFilters = Object.assign(Object.assign({}, filters.additionalFilters), { filters: Object.assign(Object.assign({ guests: '4', point_of_sale_id: pos.id }, (_a = filters.additionalFilters) === null || _a === void 0 ? void 0 : _a.filters), { primary_completion_perc: '100,100' }) });
|
|
104
|
-
}
|
|
105
|
-
return filters;
|
|
106
|
-
}));
|
|
75
|
+
loadRecipes(recipesInfos) {
|
|
76
|
+
if (recipesInfos.length === 0) {
|
|
77
|
+
return of([]);
|
|
78
|
+
}
|
|
79
|
+
return forkJoin(recipesInfos.map(info => this.getOrFetch(info.id).pipe(tap(r => {
|
|
80
|
+
r.modifiedGuests = +info.guests;
|
|
81
|
+
this.recipes.push(r);
|
|
82
|
+
}))));
|
|
107
83
|
}
|
|
108
84
|
// Returns list of filtered recipes.
|
|
109
85
|
// Filters and page parameters are mandatory.
|
|
@@ -171,7 +147,7 @@ export class RecipesService extends Service {
|
|
|
171
147
|
return this.filter({ reviewed: true, exclude_no_picture: true }, { number: this.randomRecipeCount, size: 1 }, includes, fields, null, true);
|
|
172
148
|
}
|
|
173
149
|
// Debounce to let enough time for the pos to be defined
|
|
174
|
-
getSuggestion(context,
|
|
150
|
+
getSuggestion(context, includes = [], fields = {}) {
|
|
175
151
|
let suggestionFields = '';
|
|
176
152
|
Object.keys(fields).forEach(key => {
|
|
177
153
|
var _a;
|
|
@@ -180,8 +156,6 @@ export class RecipesService extends Service {
|
|
|
180
156
|
return combineLatest([this.suppliersService.supplier$, this.posService.pos$]).pipe(skipWhile(results => !results[0]), debounceTime(100), switchMap(results => {
|
|
181
157
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
182
158
|
const body = this.buildSuggestionBody(context);
|
|
183
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
184
|
-
body.group_id = groupId;
|
|
185
159
|
let supplierFilter = `supplier_id=${results[0].id}`;
|
|
186
160
|
if (results[1]) {
|
|
187
161
|
supplierFilter = `supplier_id=${results[0].id}&pos_id=${results[1].id}`;
|
|
@@ -227,9 +201,6 @@ export class RecipesService extends Service {
|
|
|
227
201
|
}
|
|
228
202
|
recipe.modifiedGuests = guests || +recipe.guests;
|
|
229
203
|
this.displayedRecipe$.next({ previewAllowed, recipe, previewMode, wasAdded, displayGuests, helpButtonAllowed, eventTrace });
|
|
230
|
-
if (!previewMode) {
|
|
231
|
-
this.recipeEventsService.sendEvent(recipe, this.recipeEventsService.ACTION_DISPLAYED);
|
|
232
|
-
}
|
|
233
204
|
}
|
|
234
205
|
openBasket(eventTrace) {
|
|
235
206
|
this.displayedRecipe$.next({ previewAllowed: true, recipe: null, previewMode: true, wasAdded: true, force: true, eventTrace });
|
|
@@ -324,12 +295,12 @@ export class RecipesService extends Service {
|
|
|
324
295
|
return body;
|
|
325
296
|
}
|
|
326
297
|
}
|
|
327
|
-
RecipesService.ɵfac = function RecipesService_Factory(t) { return new (t || RecipesService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.RecipeProviderService), i0.ɵɵinject(i3.RecipeStatusService), i0.ɵɵinject(i4.RecipeTypeService), i0.ɵɵinject(i5.SuppliersService), i0.ɵɵinject(i6.PointOfSalesService), i0.ɵɵinject(i7.
|
|
298
|
+
RecipesService.ɵfac = function RecipesService_Factory(t) { return new (t || RecipesService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.RecipeProviderService), i0.ɵɵinject(i3.RecipeStatusService), i0.ɵɵinject(i4.RecipeTypeService), i0.ɵɵinject(i5.SuppliersService), i0.ɵɵinject(i6.PointOfSalesService), i0.ɵɵinject(i7.IngredientsService), i0.ɵɵinject(i8.RecipeStepsService), i0.ɵɵinject(i9.SponsorService), i0.ɵɵinject(i10.PackageService), i0.ɵɵinject(i11.TagsService), i0.ɵɵinject(i12.RecipeLikesService)); };
|
|
328
299
|
RecipesService.ɵprov = i0.ɵɵdefineInjectable({ token: RecipesService, factory: RecipesService.ɵfac, providedIn: 'root' });
|
|
329
300
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipesService, [{
|
|
330
301
|
type: Injectable,
|
|
331
302
|
args: [{
|
|
332
303
|
providedIn: 'root'
|
|
333
304
|
}]
|
|
334
|
-
}], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i3.RecipeStatusService }, { type: i4.RecipeTypeService }, { type: i5.SuppliersService }, { type: i6.PointOfSalesService }, { type: i7.
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUF3QyxNQUFNLGFBQWEsQ0FBQztBQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBb0IsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFN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QUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDL0M7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7NEVBcmFVLGNBQWM7c0RBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTtrREFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcnZpY2UsIERvY3VtZW50Q29sbGVjdGlvbiwgRG9jdW1lbnRSZXNvdXJjZSB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IG9mLCBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlLCBUYWcsIFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgUmVjaXBlUHJpY2luZyB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlLXByaWNpbmcnO1xuaW1wb3J0IHsgUmVjaXBlRmlsdGVyLCBSZWNpcGVGaWx0ZXJzIH0gZnJvbSAnLi4vX3R5cGVzL3JlY2lwZS1maWx0ZXJzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEV2ZW50VHJhY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi9pbmdyZWRpZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFBhY2thZ2VTZXJ2aWNlIH0gZnJvbSAnLi9wYWNrYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlTGlrZXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtbGlrZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGVwc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGVwcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNwb25zb3JTZXJ2aWNlIH0gZnJvbSAnLi9zcG9uc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VwcGxpZXJzU2VydmljZSB9IGZyb20gJy4vc3VwcGxpZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnc1NlcnZpY2UgfSBmcm9tICcuL3RhZ3Muc2VydmljZSc7XG5cbmNvbnN0IE1JQU1fQVBJX0hPU1QgPSBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvYDtcblxuaW50ZXJmYWNlIFJlY2lwZURpc3BsYXkge1xuICBwcmV2aWV3QWxsb3dlZDogYm9vbGVhbjtcbiAgcmVjaXBlOiBSZWNpcGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICB3YXNBZGRlZDogYm9vbGVhbjtcbiAgZm9yY2U/OiBib29sZWFuO1xuICBkaXNwbGF5R3Vlc3RzPzogYm9vbGVhbjtcbiAgaGVscEJ1dHRvbkFsbG93ZWQ/OiBib29sZWFuO1xuICBldmVudFRyYWNlOiBFdmVudFRyYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWNpcGVEaXNwbGF5UGFyYW1zIHtcbiAgcHJldmlld0FsbG93ZWQ/OiBib29sZWFuO1xuICBndWVzdHM/OiBudW1iZXI7XG4gIHByZXZpZXdNb2RlPzogYm9vbGVhbjtcbiAgd2FzQWRkZWQ/OiBib29sZWFuO1xuICBkaXNwbGF5R3Vlc3RzPzogYm9vbGVhbjtcbiAgaGVscEJ1dHRvbkFsbG93ZWQ/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8UmVjaXBlPiB7XG5cbiAgcmVzb3VyY2UgPSBSZWNpcGU7XG4gIHR5cGUgPSAncmVjaXBlcyc7XG4gIGRpc3BsYXllZFJlY2lwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2lwZURpc3BsYXk+KG51bGwpO1xuICBkaXNwbGF5SGVscGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBkaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBoaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIHN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMgPSB7IGRpc3BsYXk6IHRydWUsIGFkZFRvQmFza2V0OiB0cnVlIH07XG4gIHJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9ucyA9IHsgZGlzcGxheTogdHJ1ZSwgYWRkVG9CYXNrZXQ6IHRydWUgfTtcbiAgcmVsb2FkUmVjaXBlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGlmZmljdWx0eUxldmVsczogeyB2YWx1ZTogbnVtYmVyOyBsYWJlbDogc3RyaW5nIH1bXSA9IFtcbiAgICB7IHZhbHVlOiAxLCBsYWJlbDogJ0NoZWYgZMOpYnV0YW50JyB9LFxuICAgIHsgdmFsdWU6IDIsIGxhYmVsOiAnQ2hlZiBpbnRlcm3DqWRpYWlyZScgfSxcbiAgICB7IHZhbHVlOiAzLCBsYWJlbDogJ1RvcCBjaGVmJyB9XG4gIF07XG4gIGNvbmZpcm1hdGlvblRvYXN0ZXI6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkOiBudW1iZXI7XG4gIHByaXZhdGUgcmFuZG9tUmVjaXBlQ291bnQgPSAxO1xuICBwcml2YXRlIHJlY2lwZXM6IFJlY2lwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcHJvdmlkZXJTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0dXNTZXJ2aWNlOiBSZWNpcGVTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHlwZVNlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGluZ3JlZGllbnRzU2VydmljZTogSW5ncmVkaWVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlU3RlcHNTZXJ2aWNlOiBSZWNpcGVTdGVwc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3BvbnNvclNlcnZpY2U6IFNwb25zb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFja2FnZVNlcnZpY2U6IFBhY2thZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFnc1NlcnZpY2U6IFRhZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlTGlrZXNTZXJ2aWNlOiBSZWNpcGVMaWtlc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5pbnRSYW5kb21TZWVkKCk7XG4gIH1cblxuICBkaXNwbGF5UmVjaXBlSW5VcmwoKTogdm9pZCB7XG4gICAgY29uc3QgcmVjaXBlSWQgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5zZWFyY2hQYXJhbXMuZ2V0KCdkaXNwbGF5UmVjaXBlJyk7XG4gICAgLy8gSWYgdGhlcmUgaXMgYSByZWNpcGUgaW4gVXJsLCBkaXNwbGF5IGl0IG9uIHN0YXJ0dXBcbiAgICBpZiAocmVjaXBlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheShyZWNpcGVJZCwge3ByZXZpZXdBbGxvd2VkOiB0cnVlLCBwcmV2aWV3TW9kZTogZmFsc2V9LCB7IG9yaWdpblBhdGg6ICcnLCBwcm9wczoge319KTtcbiAgICB9XG4gIH1cblxuICBsb2FkUmVjaXBlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RzU2VydmljZS50YWtlRmlyc3RMaXN0KCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChsaXN0ID0+IHtcbiAgICAgICAgaWYgKCFsaXN0KSB7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ya0pvaW4obGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubWFwKGluZm8gPT4gdGhpcy5nZXRPckZldGNoKGluZm8uaWQpLnBpcGUoXG4gICAgICAgICAgdGFwKHIgPT4ge1xuICAgICAgICAgICAgci5tb2RpZmllZEd1ZXN0cyA9ICtpbmZvLmd1ZXN0cztcbiAgICAgICAgICAgIHRoaXMucmVjaXBlcy5wdXNoKHIpO1xuICAgICAgICAgIH0pXG4gICAgICAgICkpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG1hbmRhdG9yeSBkYXRhIChndWVzdCwgcG9zIGlkKSBjb21wbGV0aW9uIHRvIHRoZSBnaXZlbiBmaWx0ZXJzLlxuICAgKi9cbiAgYWRkTWFuZGF0b3J5Q29tcGxldGlvblRvRmlsdGVyKGZpbHRlcnM6IFJlY2lwZUZpbHRlcnMpOiBPYnNlcnZhYmxlPFJlY2lwZUZpbHRlcnM+IHtcbiAgICByZXR1cm4gdGhpcy5wb3NTZXJ2aWNlLnBvcyQucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBtYXAoKHBvczogUG9pbnRPZlNhbGUpID0+IHtcbiAgICAgICAgaWYgKHBvcz8uaWQpIHtcbiAgICAgICAgICAvLyBudW1iZXIgb2YgZ3Vlc3RzIGFuZCBwb2ludCBvZiBzYWxlIGlkIGFyZSBtYW5kYXRvcnkgaW4gb3JkZXIgdG8gdXNlIHByaW1hcnlfY29tcGxldGlvbl9wZXJjIGZpbHRlclxuICAgICAgICAgIGZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnMgPSB7XG4gICAgICAgICAgICAuLi5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLFxuICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICBndWVzdHM6ICc0JyxcbiAgICAgICAgICAgICAgcG9pbnRfb2Zfc2FsZV9pZDogcG9zLmlkLFxuICAgICAgICAgICAgICAuLi5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzPy5maWx0ZXJzLFxuICAgICAgICAgICAgICBwcmltYXJ5X2NvbXBsZXRpb25fcGVyYzogJzEwMCwxMDAnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG5cbiAgLy8gUmV0dXJucyBsaXN0IG9mIGZpbHRlcmVkIHJlY2lwZXMuXG4gIC8vIEZpbHRlcnMgYW5kIHBhZ2UgcGFyYW1ldGVycyBhcmUgbWFuZGF0b3J5LlxuICAvLyBOdW1iZXIgb2YgZ3Vlc3RzIGFuZCByYW5kb21pemF0aW9uIGFyZSBvcHRpb25hbCBwYXJhbWV0ZXJzXG4gIGZpbHRlcihcbiAgICBmaWx0ZXJzOiBSZWNpcGVGaWx0ZXJzLFxuICAgIHBhZ2U6IHsgbnVtYmVyOiBudW1iZXI7IHNpemU6IG51bWJlciB9LFxuICAgIGluY2x1ZGVzOiBzdHJpbmdbXSA9IFtdLFxuICAgIGZpZWxkcyA9IHt9LFxuICAgIGd1ZXN0czogbnVtYmVyID0gbnVsbCxcbiAgICByYW5kb206IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBzb3J0ID0gJydcbiAgKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIGxldCByZWNpcGVzOiBSZWNpcGVbXTtcbiAgICBjb25zdCByZW1vdGVmaWx0ZXIgPSB7IC4uLnRoaXMuYnVpbGRSZW1vdGVGaWx0ZXJzKGZpbHRlcnMsIGd1ZXN0cykgfTtcbiAgICBpZiAocmFuZG9tKSB7IE9iamVjdC5hc3NpZ24ocmVtb3RlZmlsdGVyLCB7IHJhbmRvbTogdGhpcy5yYW5kb21TZWVkIH0pOyB9XG5cbiAgICByZXR1cm4gdGhpcy5hbGwoeyBwYWdlLCByZW1vdGVmaWx0ZXIsIGluY2x1ZGU6IGluY2x1ZGVzLCBzb3J0OiBbc29ydF0sIGZpZWxkcyB9KS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICBzd2l0Y2hNYXAoKHJlc3VsdDogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+ICB7XG4gICAgICAgIHJlY2lwZXMgPSByZXN1bHQuZGF0YTtcbiAgICAgICAgaWYgKGd1ZXN0cyAmJiBndWVzdHMgPiAwKSB7IHJlY2lwZXMuZm9yRWFjaChyID0+IHIubW9kaWZpZWRHdWVzdHMgPSBndWVzdHMpOyB9XG4gICAgICAgIHJldHVybiB0aGlzLnJlY2lwZUxpa2VzU2VydmljZS5hZGRMaWtlc1RvUmVjaXBlcyhyZWNpcGVzKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHJlY2lwZXMpXG4gICAgKTtcbiAgfVxuXG4gIC8vIEZldGNoZXMgcmVjaXBlcyBjb3JyZXNwb25kaW5nIHRvIGZpbHRlcnMsIGFuZCByZXR1cm4gdG90YWwgcmVjaXBlcyBjb3VudFxuICBmaWx0ZXJDb3VudChmaWx0ZXJzOiBSZWNpcGVGaWx0ZXJzLCBndWVzdHM6IG51bWJlciA9IG51bGwsIGV4Y2x1ZGVkUmVjaXBlc0lkczogc3RyaW5nW10gPSBbXSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgZiA9IHsgLi4udGhpcy5idWlsZFJlbW90ZUZpbHRlcnMoZmlsdGVycywgZ3Vlc3RzKSB9O1xuXG4gICAgcmV0dXJuIHRoaXMuYWxsKHsgcmVtb3RlZmlsdGVyOiBmLCBwYWdlOiB7IG51bWJlcjogMSwgc2l6ZTogMzAgfSwgZmllbGRzOiB7IHJlY2lwZXM6IFsnaWQnXX0gfSkucGlwZShcbiAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gcmVzdWx0LmlzX2xvYWRpbmcpLFxuICAgICAgbWFwKChyZXN1bHQ6IERvY3VtZW50Q29sbGVjdGlvbjxSZWNpcGU+KSA9PiAge1xuICAgICAgICAvLyBBcHBhcmVudGx5IHRvdGFsX3Jlc291cmNlID0gMSBldmVuIGlmIG5vIHJlc3VsdCB3YXMgZm91bmQgc28gd2UgaGF2ZSB0byBjaGVja1xuICAgICAgICBsZXQgcmVjaXBlc051bWJlciA9ICgocmVzdWx0LmRhdGEubGVuZ3RoID09PSAzMCA/IHJlc3VsdD8ubWV0YT8udG90YWxfcmVzb3VyY2VzIDogcmVzdWx0LmRhdGEubGVuZ3RoKSBhcyBudW1iZXIpO1xuICAgICAgICByZWNpcGVzTnVtYmVyIC09IHJlc3VsdC5kYXRhLmZpbHRlcihyID0+IGV4Y2x1ZGVkUmVjaXBlc0lkcy5pbmNsdWRlcyhyLmlkKSkubGVuZ3RoO1xuICAgICAgICByZXR1cm4gcmVjaXBlc051bWJlcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRpZmZpY3VsdHlMYWJlbCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaWZmaWN1bHR5TGV2ZWxzLmZpbmQobCA9PiBsLnZhbHVlID09PSB2YWx1ZSk/LmxhYmVsIHx8IHRoaXMuZGlmZmljdWx0eUxldmVsc1swXS5sYWJlbDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRSZW1vdGVGaWx0ZXJzKGZpbHRlcnM6IFJlY2lwZUZpbHRlcnMsIGd1ZXN0czogbnVtYmVyID0gbnVsbCk6IHtcbiAgICBzZWFyY2g/OiBzdHJpbmc7XG4gICAgJ3RvdGFsLXRpbWUnPzogc3RyaW5nO1xuICAgIHByaWNlPzogc3RyaW5nO1xuICAgIGRpZmZpY3VsdHk/OiBzdHJpbmc7XG4gICAgcG9pbnRfb2Zfc2FsZV9pZD86IHN0cmluZztcbiAgICBndWVzdHM/OiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IGRpZmZpY3VsdHkgPSB0aGlzLmJ1aWxkUmVtb3RlRmlsdGVyKGZpbHRlcnMuZGlmZmljdWx0eSwgJy0nKTtcbiAgICBjb25zdCBjb3N0ID0gdGhpcy5idWlsZFJlbW90ZUZpbHRlcihmaWx0ZXJzLmNvc3QsICctJyk/LnNwbGl0KCctJyk7XG4gICAgY29uc3QgdG90YWxUaW1lID0gdGhpcy5idWlsZFJlbW90ZUZpbHRlcihmaWx0ZXJzLnRpbWUsICcsJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uKGRpZmZpY3VsdHk/Lmxlbmd0aCA+IDApID8geyBkaWZmaWN1bHR5OiBkaWZmaWN1bHR5ICsgJyxlcScgfSA6IHt9LCAvLyBleDogZmlsdGVyW2RpZmZpY3VsdHldPTEtMi0zLGVxID0+IGFsbCBjaGVja2VkXG4gICAgICAuLi4oY29zdD8ubGVuZ3RoID09PSAyKSA/IHsgY29tcHV0ZWRfY29zdDogY29zdFswXSArICcsZ3QsJyArIGNvc3RbMV0gKyAnLGx0JyB9IDoge30sIC8vIGV4OiBmaWx0ZXJbY29zdF09NSxndCwxMCxsdCA9PiA1IDwgY29zdCA8IDEwXG4gICAgICAuLi4odG90YWxUaW1lPy5sZW5ndGggPiAwKSA/IHsgJ3RvdGFsLXRpbWUnOiB0b3RhbFRpbWUgfSA6IHt9LFxuICAgICAgLi4uKGZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnM/LmZpbHRlcnMpID8gZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycy5maWx0ZXJzIDoge30sXG4gICAgICAuLi4oZmlsdGVycy5zZWFyY2gpID8ge3NlYXJjaDogZmlsdGVycy5zZWFyY2ggfSA6IHt9LFxuICAgICAgLi4uKGZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnM/LmZpbHRlcnMucHJpY2UpID8geyBwb2ludF9vZl9zYWxlX2lkOiB0aGlzLnBvc1NlcnZpY2UucG9zJC52YWx1ZS5pZCB9IDoge30sXG4gICAgICAuLi4oZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycz8uZmlsdGVycy5wcmljZSAmJiBndWVzdHMgIT09IG51bGwpID8geyBndWVzdHM6IGd1ZXN0cy50b1N0cmluZygpIH0gOiB7fVxuICAgIH07XG4gIH1cblxuICAvLyBSZWFkcyB0aGUgdmFsdWVzIG9mIGEgZmllbGQgYW5kIGNvbnZlcnRzIGl0IHRvIHRoZSBzdHJpbmcgdG8gcGFzcyBpbiB0aGUgcmVtb3RlRmlsdGVyc1xuICAvLyBleDogYnVpbGRSZW1vdGVGaWx0ZXIoe1xuICAvLyAgIHtuYW1lOiAnMScsIHZhbHVlOiB0cnVlLCB0ZXh0OiAnRmFjaWxlJ30sXG4gIC8vICAge25hbWU6ICcyJywgdmFsdWU6IGZhbHNlLCB0ZXh0OiAnTW95ZW4nfSxcbiAgLy8gICB7bmFtZTogJzMnLCB2YWx1ZTogdHJ1ZSwgdGV4dDogJ0RpZmZpY2lsZSd9XG4gIC8vIH0sICctJykgID09PiAnMS0zJ1xuICBwcml2YXRlIGJ1aWxkUmVtb3RlRmlsdGVyKGZpbHRlcjogUmVjaXBlRmlsdGVyW10sIHNlcGFyYXRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWZpbHRlcikgeyByZXR1cm47IH1cblxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBmb3IgKGNvbnN0IGYgb2YgZmlsdGVyKSB7XG4gICAgICBpZiAoZi52YWx1ZSkge1xuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIHsgcmVzdWx0ICs9IHNlcGFyYXRvcjsgfVxuICAgICAgICByZXN1bHQgKz0gZi5uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gRmV0Y2ggb25lIHJhbmRvbSByZWNpcGVcbiAgZ2V0UmFuZG9tKGluY2x1ZGVzOiBzdHJpbmdbXSA9IFtdLCBmaWVsZHMgPSB7fSk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICB0aGlzLnJhbmRvbVJlY2lwZUNvdW50Kys7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKFxuICAgICAgeyByZXZpZXdlZDogdHJ1ZSwgZXhjbHVkZV9ub19waWN0dXJlOiB0cnVlIH0gYXMgUmVjaXBlRmlsdGVycyxcbiAgICAgIHsgbnVtYmVyOiB0aGlzLnJhbmRvbVJlY2lwZUNvdW50LCBzaXplOiAxIH0sXG4gICAgICBpbmNsdWRlcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIG51bGwsXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIC8vIERlYm91bmNlIHRvIGxldCBlbm91Z2ggdGltZSBmb3IgdGhlIHBvcyB0byBiZSBkZWZpbmVkXG4gIGdldFN1Z2dlc3Rpb24oXG4gICAgY29udGV4dDoge2lkOiBzdHJpbmc7IGhhc0hpZ2hXZWlnaHQ/OiBib29sZWFufVtdLFxuICAgIGdyb3VwSWQ6IHN0cmluZyxcbiAgICBpbmNsdWRlczogc3RyaW5nW10gPSBbXSxcbiAgICBmaWVsZHMgPSB7fVxuICApOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgbGV0IHN1Z2dlc3Rpb25GaWVsZHMgPSAnJztcbiAgICBPYmplY3Qua2V5cyhmaWVsZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHN1Z2dlc3Rpb25GaWVsZHMgKz0gYCZmaWVsZHNbJHtrZXl9XT0keyhmaWVsZHNba2V5XSBhcyBzdHJpbmdbXSk/LmpvaW4oJywnKX1gO1xuICAgIH0pO1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLCB0aGlzLnBvc1NlcnZpY2UucG9zJF0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0cyA9PiAhcmVzdWx0c1swXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgICBjb25zdCBib2R5ID0gdGhpcy5idWlsZFN1Z2dlc3Rpb25Cb2R5KGNvbnRleHQpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIGJvZHkuZ3JvdXBfaWQgPSBncm91cElkO1xuICAgICAgICBsZXQgc3VwcGxpZXJGaWx0ZXIgPSBgc3VwcGxpZXJfaWQ9JHtyZXN1bHRzWzBdLmlkfWA7XG4gICAgICAgIGlmIChyZXN1bHRzWzFdKSB7XG4gICAgICAgICAgc3VwcGxpZXJGaWx0ZXIgPSBgc3VwcGxpZXJfaWQ9JHtyZXN1bHRzWzBdLmlkfSZwb3NfaWQ9JHtyZXN1bHRzWzFdLmlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gTUlBTV9BUElfSE9TVCArIGByZWNpcGVzL3N1Z2dlc3Rpb25zPyR7c3VwcGxpZXJGaWx0ZXJ9JmluY2x1ZGU9JHtpbmNsdWRlcy5qb2luKCcsJyl9JHtzdWdnZXN0aW9uRmllbGRzfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHkpO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJldHVybmVkUmVjaXBlczogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+IHtcbiAgICAgICAgY29uc3QgcmVjaXBlcyA9IHRoaXMubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICByZWNpcGVzLmZpbGwocmV0dXJuZWRSZWNpcGVzKTtcbiAgICAgICAgcmV0dXJuIHJlY2lwZXMuZGF0YTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFByaWNpbmcocmVjaXBlSWQ6IHN0cmluZywgcG9zSWQ6IHN0cmluZywgcHJpY2Vib29rS2V5OiBzdHJpbmcsIHNlcnZlczogbnVtYmVyID0gbnVsbCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZz4ge1xuICAgIGlmICghcmVjaXBlSWQpIHtcbiAgICAgIHJldHVybiAob2YobnVsbCkgYXMgT2JzZXJ2YWJsZTxSZWNpcGVQcmljaW5nPik7XG4gICAgfVxuICAgIGxldCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgYHJlY2lwZXMvJHtyZWNpcGVJZH0vcHJpY2luZz9wb2ludF9vZl9zYWxlX2lkPSR7cG9zSWR9JnByaWNlYm9va19rZXk9JHtwcmljZWJvb2tLZXl9YDtcbiAgICBpZiAoc2VydmVzKSB7XG4gICAgICB1cmwgKz0gYCZzZXJ2ZXM9JHtzZXJ2ZXN9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgUmVjaXBlUHJpY2luZyhyZXN1bHQpKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVGcm9tVXJsKHNvdXJjZTogc3RyaW5nLCBleHRMaW5rOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlY2lwZT4ge1xuICAgIGlmICghc291cmNlIHx8ICFleHRMaW5rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNvdXJjZSBvciByZWNpcGUgbGluayBwcm92aWRlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvcmVjaXBlcy9mcm9tX3VybGAsIHsgc291cmNlLCBleHRfbGluazogZXh0TGluayB9KS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlPikgPT4gcmVzdWx0LmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9wZW4gbW9kYWwgc2hvd2luZyByZWNpcGUgZGV0YWlsc1xuICBkaXNwbGF5KFxuICAgIHJlY2lwZUlkOiBzdHJpbmcsXG4gICAge1xuICAgICAgcHJldmlld0FsbG93ZWQgPSB0cnVlLFxuICAgICAgZ3Vlc3RzID0gbnVsbCxcbiAgICAgIHByZXZpZXdNb2RlID0gZmFsc2UsXG4gICAgICBkaXNwbGF5R3Vlc3RzID0gdHJ1ZSxcbiAgICAgIGhlbHBCdXR0b25BbGxvd2VkID0gdHJ1ZVxuICAgIH06IElSZWNpcGVEaXNwbGF5UGFyYW1zLFxuICAgIGV2ZW50VHJhY2U6IEV2ZW50VHJhY2UpOiB2b2lkIHtcbiAgICBpZiAoIXJlY2lwZUlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXQocmVjaXBlSWQsIHsgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAndGFncyddIH0pXG4gICAgICAucGlwZShza2lwV2hpbGUocmVjaXBlID0+IHJlY2lwZS5pc19sb2FkaW5nKSlcbiAgICAgIC5zdWJzY3JpYmUocmVjaXBlID0+IHtcbiAgICAgICAgdGhpcy5kaXNwbGF5T2JqZWN0KHJlY2lwZSwge3ByZXZpZXdBbGxvd2VkLCBndWVzdHMsIHByZXZpZXdNb2RlLCBkaXNwbGF5R3Vlc3RzLCBoZWxwQnV0dG9uQWxsb3dlZCB9LCBldmVudFRyYWNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGlzcGxheU9iamVjdChcbiAgICByZWNpcGU6IFJlY2lwZSxcbiAgICB7XG4gICAgICBwcmV2aWV3QWxsb3dlZCA9IHRydWUsXG4gICAgICBndWVzdHMgPSBudWxsLFxuICAgICAgcHJldmlld01vZGUgPSBmYWxzZSxcbiAgICAgIHdhc0FkZGVkID0gZmFsc2UsXG4gICAgICBkaXNwbGF5R3Vlc3RzID0gdHJ1ZSxcbiAgICAgIGhlbHBCdXR0b25BbGxvd2VkID0gdHJ1ZVxuICAgIH06IElSZWNpcGVEaXNwbGF5UGFyYW1zLFxuICAgIGV2ZW50VHJhY2U6IEV2ZW50VHJhY2UpOiB2b2lkIHtcbiAgICBpZiAoIXJlY2lwZSl7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzIHx8ICtyZWNpcGUuZ3Vlc3RzO1xuICAgIHRoaXMuZGlzcGxheWVkUmVjaXBlJC5uZXh0KHsgcHJldmlld0FsbG93ZWQsIHJlY2lwZSwgcHJldmlld01vZGUsIHdhc0FkZGVkLCBkaXNwbGF5R3Vlc3RzLCBoZWxwQnV0dG9uQWxsb3dlZCwgZXZlbnRUcmFjZSB9KTtcbiAgICBpZiAoIXByZXZpZXdNb2RlKSB7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHJlY2lwZSwgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLkFDVElPTl9ESVNQTEFZRUQpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5CYXNrZXQoZXZlbnRUcmFjZTogRXZlbnRUcmFjZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkUmVjaXBlJC5uZXh0KHtwcmV2aWV3QWxsb3dlZDogdHJ1ZSwgcmVjaXBlOiBudWxsLCBwcmV2aWV3TW9kZTogdHJ1ZSwgd2FzQWRkZWQ6IHRydWUsIGZvcmNlIDogdHJ1ZSwgZXZlbnRUcmFjZSB9KTtcbiAgfVxuXG4gIHRvZ2dsZUhlbHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgICB0aGlzLmRpc3BsYXlIZWxwZXIkLm5leHQoIXRoaXMuZGlzcGxheUhlbHBlciQudmFsdWUpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dChudWxsKTtcbiAgICB0aGlzLmhpZGRlbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgcmVtb3ZlVGFnRnJvbVJlY2lwZShyZWNpcGU6IFJlY2lwZSwgdGFnOiBUYWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy8ke3JlY2lwZS5pZH0vdGFncy8ke3RhZy5pZH1gKTtcbiAgfVxuXG4gIGFkZFRhZ1RvUmVjaXBlKHJlY2lwZTogUmVjaXBlLCB0YWc6IFRhZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy8ke3JlY2lwZS5pZH0vdGFncy8ke3RhZy5pZH1gLCB7fSk7XG4gIH1cblxuICBzZXRSZWNpcGVzUHJpbWFyeUJ1dHRvbkFjdGlvbnMoZGlzcGxheSA9IHRydWUsIGFkZFRvQmFza2V0ID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlc1ByaW1hcnlCdXR0b25BY3Rpb25zID0geyBkaXNwbGF5LCBhZGRUb0Jhc2tldCB9O1xuICAgIHRoaXMuc3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9ucyA9IHsgZGlzcGxheSwgYWRkVG9CYXNrZXQgfTtcbiAgICB0aGlzLnJlbG9hZEFsbFJlY2lwZXMoKTtcbiAgfVxuXG4gIHNldFN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMoZGlzcGxheSA9IHRydWUsIGFkZFRvQmFza2V0ID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuc3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9ucyA9IHsgZGlzcGxheSwgYWRkVG9CYXNrZXQgfTtcbiAgICB0aGlzLnJlbG9hZEFsbFJlY2lwZXMoKTtcbiAgfVxuXG4gIHBsYW4oXG4gICAgYnVkZ2V0OiBudW1iZXIsXG4gICAgZ3Vlc3RzOiBudW1iZXIsXG4gICAgcmVjaXBlc0NvdW50OiBudW1iZXIsXG4gICAgaW5jbHVkZXM6IHN0cmluZ1tdID0gW10sXG4gICAgZmllbGRzID0ge30sXG4gICAgaW5fYmFza2V0OiBib29sZWFuID0gdW5kZWZpbmVkXG4gICk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICBsZXQgcGxhbm5lckZpZWxkcyA9ICcnO1xuICAgIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgcGxhbm5lckZpZWxkcyArPSBgJmZpZWxkc1ske2tleX1dPSR7KGZpZWxkc1trZXldIGFzIHN0cmluZ1tdKT8uam9pbignLCcpfWA7XG4gICAgfSk7XG4gICAgbGV0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyAncmVjaXBlcy9wbGFuJztcbiAgICB1cmwgKz0gYD9idWRnZXQ9JHtidWRnZXR9JmZpbHRlcltndWVzdHNdPSR7Z3Vlc3RzfSZyZWNpcGVzX2NvdW50PSR7cmVjaXBlc0NvdW50fSZmaWx0ZXJbcmVjaXBlX3R5cGVfaWRdPW1haW4tZGlzaGA7XG4gICAgdXJsICs9IGAmaW5jbHVkZT0ke2luY2x1ZGVzLmpvaW4oJywnKX0ke3BsYW5uZXJGaWVsZHN9JmZpbHRlcltyZWNpcGVfdHlwZV9pZF09bWFpbi1kaXNoJmZpbHRlcltwcmltYXJ5X2NvbXBsZXRpb25fcGVyY109MTAwLDEwMGA7XG4gICAgdXJsICs9IGluX2Jhc2tldCA9PT0gdW5kZWZpbmVkID8gJycgOiBgJmZpbHRlcltpbl9iYXNrZXRdPSR7aW5fYmFza2V0fWA7XG4gICAgcmV0dXJuIHRoaXMucG9zU2VydmljZS5wb3MkLnBpcGUoXG4gICAgICBza2lwV2hpbGUocG9zID0+ICFwb3M/LmlkKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAocG9zID0+IHtcbiAgICAgICAgdXJsICs9IGAmZmlsdGVyW3BvaW50X29mX3NhbGVfaWRdPSR7cG9zLmlkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwge30pLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXR1cm5lZFJlY2lwZXM6IERvY3VtZW50Q29sbGVjdGlvbjxSZWNpcGU+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWNpcGVzID0gdGhpcy5uZXdDb2xsZWN0aW9uKCk7XG4gICAgICAgICAgICByZWNpcGVzLmZpbGwocmV0dXJuZWRSZWNpcGVzKTtcbiAgICAgICAgICAgIHJldHVybiByZWNpcGVzLmRhdGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG1heFBsYW5uYWJsZVJlY2lwZXMoYnVkZ2V0OiBudW1iZXIsIGd1ZXN0czogbnVtYmVyLCBpbl9iYXNrZXQ6IGJvb2xlYW4gPSB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIGxldCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgJ3JlY2lwZXMvcGxhbl9tYXhfcmVjaXBlcyc7XG4gICAgdXJsICs9IGA/YnVkZ2V0PSR7YnVkZ2V0fSZmaWx0ZXJbZ3Vlc3RzXT0ke2d1ZXN0c30mZmlsdGVyW3JlY2lwZV90eXBlX2lkXT1tYWluLWRpc2gmZmlsdGVyW3ByaW1hcnlfY29tcGxldGlvbl9wZXJjXT0xMDAsMTAwYDtcbiAgICB1cmwgKz0gaW5fYmFza2V0ID09PSB1bmRlZmluZWQgPyAnJyA6IGAmZmlsdGVyW2luX2Jhc2tldF09JHtpbl9iYXNrZXR9YDtcbiAgICByZXR1cm4gdGhpcy5wb3NTZXJ2aWNlLnBvcyQucGlwZShcbiAgICAgIHNraXBXaGlsZShwb3MgPT4gIXBvcz8uaWQpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChwb3MgPT4gdGhpcy5odHRwLmdldChcbiAgICAgICAgdXJsICs9IGAmZmlsdGVyW3BvaW50X29mX3NhbGVfaWRdPSR7cG9zLmlkfWAsXG4gICAgICAgIHt9XG4gICAgICApLnBpcGUoXG4gICAgICAgIG1hcCgocmVzdWx0OiB7IG1heF9yZWNpcGVzOiBudW1iZXIgfSkgPT4gcmVzdWx0Lm1heF9yZWNpcGVzKVxuICAgICAgKSlcbiAgICApO1xuICB9XG5cbiAgLy8gREVQUkVDQVRFRCAvIHVzZSBUVEwgaW5zdGVhZFxuICBwcml2YXRlIGdldE9yRmV0Y2gocmVjaXBlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVjaXBlPiB7XG4gICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVzLmZpbmQociA9PiByLmlkID09PSByZWNpcGVJZCk7XG4gICAgaWYgKHJlY2lwZSkge1xuICAgICAgcmV0dXJuIG9mKHJlY2lwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldChyZWNpcGVJZCwgeyBmaWVsZHM6IHsgcmVjaXBlOiBbJ251bWJlci1vZi1ndWVzdHMnXSB9IH0pLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShyID0+IHIuaXNfbG9hZGluZylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGhlbHAgdXMgdG8ga2VlcCBhIHRyYWNrIG9mIHJhbmRvbVxuICAgKiBhbmQgYXZvaWQgdG8gc2hvdyBzYW1lIHJlY2lwZSBtdXRpcGxlIHRpbWVzXG4gICAqL1xuICBwcml2YXRlIGludFJhbmRvbVNlZWQoKTogdm9pZCB7XG4gICAgdGhpcy5yYW5kb21TZWVkID0gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkQWxsUmVjaXBlcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZFJlY2lwZXMkLm5leHQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgc3VnZ2VzdGlvbiByZXF1ZXN0IGJvZHkgYmFzZWQgb24gY29udGV4dCBwYXNzZWQgJiBjdXJyZW50IHJldGFpbGVyIGJhc2tldFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFN1Z2dlc3Rpb25Cb2R5KGNvbnRleHQ6IHtpZDogc3RyaW5nOyBoYXNIaWdoV2VpZ2h0PzogYm9vbGVhbn1bXSk6IGFueSB7XG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIHNoZWxmX2luZ3JlZGllbnRzX2lkczogW10sIC8vIExvdyBwcmlvcml0eSBwcm9kdWN0c1xuICAgICAgY3VycmVudF9pbmdyZWRpZW50c19pZHM6IFtdLCAvLyBIaWdoIHByaW9yaXR5IHByb2R1Y3RzXG4gICAgICBiYXNrZXRfaW5ncmVkaWVudHNfaWRzOiBbXSxcbiAgICAgIGdyb3VwX2lkOiAnJyB9O1xuICAgIGNvbnRleHQuZm9yRWFjaChwcm9kdWN0ID0+IHtcbiAgICAgIGlmIChwcm9kdWN0Lmhhc0hpZ2hXZWlnaHQpIHtcbiAgICAgICAgYm9keS5jdXJyZW50X2luZ3JlZGllbnRzX2lkcy5wdXNoKHByb2R1Y3QuaWQpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGJvZHkuc2hlbGZfaW5ncmVkaWVudHNfaWRzLnB1c2gocHJvZHVjdC5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgYm9keS5iYXNrZXRfaW5ncmVkaWVudHNfaWRzID0gdGhpcy5zdXBwbGllcnNTZXJ2aWNlLmxhc3RTdXBwbGllckJhc2tldC5tYXAocCA9PiBwLmlkKTtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxufVxuIl19
|
|
305
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i3.RecipeStatusService }, { type: i4.RecipeTypeService }, { type: i5.SuppliersService }, { type: i6.PointOfSalesService }, { type: i7.IngredientsService }, { type: i8.RecipeStepsService }, { type: i9.SponsorService }, { type: i10.PackageService }, { type: i11.TagsService }, { type: i12.RecipeLikesService }]; }, null); })();
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUF3QyxNQUFNLGFBQWEsQ0FBQztBQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFB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Q0FBQyxFQUFFLENBQUMsQ0FBQzthQUMvQztpQkFDSTtnQkFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs0RUE5WFUsY0FBYztzREFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO2tEQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZSwgRG9jdW1lbnRDb2xsZWN0aW9uLCBEb2N1bWVudFJlc291cmNlIH0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGZvcmtKb2luLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vX21vZGVscyc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBSZWNpcGVQcmljaW5nIH0gZnJvbSAnLi4vX21vZGVscy9yZWNpcGUtcHJpY2luZyc7XG5pbXBvcnQgeyBFdmVudFRyYWNlIH0gZnJvbSAnLi4vX3R5cGVzL2V2ZW50LXRyYWNlJztcbmltcG9ydCB7IFJlY2lwZUZpbHRlciwgUmVjaXBlRmlsdGVycyB9IGZyb20gJy4uL190eXBlcy9yZWNpcGUtZmlsdGVycyc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBJbmdyZWRpZW50c1NlcnZpY2UgfSBmcm9tICcuL2luZ3JlZGllbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFja2FnZVNlcnZpY2UgfSBmcm9tICcuL3BhY2thZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZXNTZXJ2aWNlIH0gZnJvbSAnLi9wb2ludC1vZi1zYWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZUxpa2VzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLWxpa2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlU3RlcHNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtc3RlcHMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVUeXBlU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXR5cGUuc2VydmljZSc7XG5pbXBvcnQgeyBTcG9uc29yU2VydmljZSB9IGZyb20gJy4vc3BvbnNvci5zZXJ2aWNlJztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ3NTZXJ2aWNlIH0gZnJvbSAnLi90YWdzLnNlcnZpY2UnO1xuXG5jb25zdCBNSUFNX0FQSV9IT1NUID0gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL2A7XG5cbmludGVyZmFjZSBSZWNpcGVEaXNwbGF5IHtcbiAgcHJldmlld0FsbG93ZWQ6IGJvb2xlYW47XG4gIHJlY2lwZTogUmVjaXBlO1xuICBwcmV2aWV3TW9kZTogYm9vbGVhbjtcbiAgd2FzQWRkZWQ6IGJvb2xlYW47XG4gIGZvcmNlPzogYm9vbGVhbjtcbiAgZGlzcGxheUd1ZXN0cz86IGJvb2xlYW47XG4gIGhlbHBCdXR0b25BbGxvd2VkPzogYm9vbGVhbjtcbiAgZXZlbnRUcmFjZTogRXZlbnRUcmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVjaXBlRGlzcGxheVBhcmFtcyB7XG4gIHByZXZpZXdBbGxvd2VkPzogYm9vbGVhbjtcbiAgZ3Vlc3RzPzogbnVtYmVyO1xuICBwcmV2aWV3TW9kZT86IGJvb2xlYW47XG4gIHdhc0FkZGVkPzogYm9vbGVhbjtcbiAgZGlzcGxheUd1ZXN0cz86IGJvb2xlYW47XG4gIGhlbHBCdXR0b25BbGxvd2VkPzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlc1NlcnZpY2UgZXh0ZW5kcyBTZXJ2aWNlPFJlY2lwZT4ge1xuXG4gIHJlc291cmNlID0gUmVjaXBlO1xuICB0eXBlID0gJ3JlY2lwZXMnO1xuICBkaXNwbGF5ZWRSZWNpcGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWNpcGVEaXNwbGF5PihudWxsKTtcbiAgZGlzcGxheUhlbHBlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGlzcGxheWVkUmVjaXBlQ2hhbmdlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpO1xuICBoaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIHN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMgPSB7IGRpc3BsYXk6IHRydWUsIGFkZFRvQmFza2V0OiB0cnVlIH07XG4gIHJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9ucyA9IHsgZGlzcGxheTogdHJ1ZSwgYWRkVG9CYXNrZXQ6IHRydWUgfTtcbiAgcmVsb2FkUmVjaXBlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGlmZmljdWx0eUxldmVsczogeyB2YWx1ZTogbnVtYmVyOyBsYWJlbDogc3RyaW5nIH1bXSA9IFtcbiAgICB7IHZhbHVlOiAxLCBsYWJlbDogJ0ZhY2lsZScgfSxcbiAgICB7IHZhbHVlOiAyLCBsYWJlbDogJ01veWVuJyB9LFxuICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnRGlmZmljaWxlJyB9XG4gIF07XG4gIGNvbmZpcm1hdGlvblRvYXN0ZXI6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkOiBudW1iZXI7XG4gIHByaXZhdGUgcmFuZG9tUmVjaXBlQ291bnQgPSAxO1xuICBwcml2YXRlIHJlY2lwZXM6IFJlY2lwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcHJvdmlkZXJTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0dXNTZXJ2aWNlOiBSZWNpcGVTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHlwZVNlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmdyZWRpZW50c1NlcnZpY2U6IEluZ3JlZGllbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZVN0ZXBzU2VydmljZTogUmVjaXBlU3RlcHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3BvbnNvclNlcnZpY2U6IFNwb25zb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFja2FnZVNlcnZpY2U6IFBhY2thZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFnc1NlcnZpY2U6IFRhZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlTGlrZXNTZXJ2aWNlOiBSZWNpcGVMaWtlc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5pbnRSYW5kb21TZWVkKCk7XG4gIH1cblxuICBkaXNwbGF5UmVjaXBlSW5VcmwoKTogdm9pZCB7XG4gICAgY29uc3QgcmVjaXBlSWQgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5zZWFyY2hQYXJhbXMuZ2V0KCdkaXNwbGF5UmVjaXBlJyk7XG4gICAgLy8gSWYgdGhlcmUgaXMgYSByZWNpcGUgaW4gVXJsLCBkaXNwbGF5IGl0IG9uIHN0YXJ0dXBcbiAgICBpZiAocmVjaXBlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheShyZWNpcGVJZCwge3ByZXZpZXdBbGxvd2VkOiB0cnVlLCBwcmV2aWV3TW9kZTogZmFsc2V9LCB7IG9yaWdpblBhdGg6ICcnLCBwcm9wczoge319KTtcbiAgICB9XG4gIH1cblxuICBsb2FkUmVjaXBlcyhyZWNpcGVzSW5mb3M6IHsgaWQ6IHN0cmluZzsgZ3Vlc3RzPzogc3RyaW5nIH1bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCByZWNpcGVzSW5mb3MubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JrSm9pbihyZWNpcGVzSW5mb3MubWFwKGluZm8gPT4gdGhpcy5nZXRPckZldGNoKGluZm8uaWQpLnBpcGUoXG4gICAgICB0YXAociA9PiB7XG4gICAgICAgIHIubW9kaWZpZWRHdWVzdHMgPSAraW5mby5ndWVzdHM7XG4gICAgICAgIHRoaXMucmVjaXBlcy5wdXNoKHIpO1xuICAgICAgfSlcbiAgICApKSk7XG4gIH1cblxuICAvLyBSZXR1cm5zIGxpc3Qgb2YgZmlsdGVyZWQgcmVjaXBlcy5cbiAgLy8gRmlsdGVycyBhbmQgcGFnZSBwYXJhbWV0ZXJzIGFyZSBtYW5kYXRvcnkuXG4gIC8vIE51bWJlciBvZiBndWVzdHMgYW5kIHJhbmRvbWl6YXRpb24gYXJlIG9wdGlvbmFsIHBhcmFtZXRlcnNcbiAgZmlsdGVyKFxuICAgIGZpbHRlcnM6IFJlY2lwZUZpbHRlcnMsXG4gICAgcGFnZTogeyBudW1iZXI6IG51bWJlcjsgc2l6ZTogbnVtYmVyIH0sXG4gICAgaW5jbHVkZXM6IHN0cmluZ1tdID0gW10sXG4gICAgZmllbGRzID0ge30sXG4gICAgZ3Vlc3RzOiBudW1iZXIgPSBudWxsLFxuICAgIHJhbmRvbTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHNvcnQgPSAnJ1xuICApOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgbGV0IHJlY2lwZXM6IFJlY2lwZVtdO1xuICAgIGNvbnN0IHJlbW90ZWZpbHRlciA9IHsgLi4udGhpcy5idWlsZFJlbW90ZUZpbHRlcnMoZmlsdGVycywgZ3Vlc3RzKSB9O1xuICAgIGlmIChyYW5kb20pIHsgT2JqZWN0LmFzc2lnbihyZW1vdGVmaWx0ZXIsIHsgcmFuZG9tOiB0aGlzLnJhbmRvbVNlZWQgfSk7IH1cblxuICAgIHJldHVybiB0aGlzLmFsbCh7IHBhZ2UsIHJlbW90ZWZpbHRlciwgaW5jbHVkZTogaW5jbHVkZXMsIHNvcnQ6IFtzb3J0XSwgZmllbGRzIH0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgIHN3aXRjaE1hcCgocmVzdWx0OiBEb2N1bWVudENvbGxlY3Rpb248UmVjaXBlPikgPT4gIHtcbiAgICAgICAgcmVjaXBlcyA9IHJlc3VsdC5kYXRhO1xuICAgICAgICBpZiAoZ3Vlc3RzICYmIGd1ZXN0cyA+IDApIHsgcmVjaXBlcy5mb3JFYWNoKHIgPT4gci5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cyk7IH1cbiAgICAgICAgcmV0dXJuIHRoaXMucmVjaXBlTGlrZXNTZXJ2aWNlLmFkZExpa2VzVG9SZWNpcGVzKHJlY2lwZXMpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gcmVjaXBlcylcbiAgICApO1xuICB9XG5cbiAgLy8gRmV0Y2hlcyByZWNpcGVzIGNvcnJlc3BvbmRpbmcgdG8gZmlsdGVycywgYW5kIHJldHVybiB0b3RhbCByZWNpcGVzIGNvdW50XG4gIGZpbHRlckNvdW50KGZpbHRlcnM6IFJlY2lwZUZpbHRlcnMsIGd1ZXN0czogbnVtYmVyID0gbnVsbCwgZXhjbHVkZWRSZWNpcGVzSWRzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCBmID0geyAuLi50aGlzLmJ1aWxkUmVtb3RlRmlsdGVycyhmaWx0ZXJzLCBndWVzdHMpIH07XG5cbiAgICByZXR1cm4gdGhpcy5hbGwoeyByZW1vdGVmaWx0ZXI6IGYsIHBhZ2U6IHsgbnVtYmVyOiAxLCBzaXplOiAzMCB9LCBmaWVsZHM6IHsgcmVjaXBlczogWydpZCddfSB9KS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICBtYXAoKHJlc3VsdDogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+ICB7XG4gICAgICAgIC8vIEFwcGFyZW50bHkgdG90YWxfcmVzb3VyY2UgPSAxIGV2ZW4gaWYgbm8gcmVzdWx0IHdhcyBmb3VuZCBzbyB3ZSBoYXZlIHRvIGNoZWNrXG4gICAgICAgIGxldCByZWNpcGVzTnVtYmVyID0gKChyZXN1bHQuZGF0YS5sZW5ndGggPT09IDMwID8gcmVzdWx0Py5tZXRhPy50b3RhbF9yZXNvdXJjZXMgOiByZXN1bHQuZGF0YS5sZW5ndGgpIGFzIG51bWJlcik7XG4gICAgICAgIHJlY2lwZXNOdW1iZXIgLT0gcmVzdWx0LmRhdGEuZmlsdGVyKHIgPT4gZXhjbHVkZWRSZWNpcGVzSWRzLmluY2x1ZGVzKHIuaWQpKS5sZW5ndGg7XG4gICAgICAgIHJldHVybiByZWNpcGVzTnVtYmVyO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGlmZmljdWx0eUxhYmVsKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpZmZpY3VsdHlMZXZlbHMuZmluZChsID0+IGwudmFsdWUgPT09IHZhbHVlKT8ubGFiZWwgfHwgdGhpcy5kaWZmaWN1bHR5TGV2ZWxzWzBdLmxhYmVsO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFJlbW90ZUZpbHRlcnMoZmlsdGVyczogUmVjaXBlRmlsdGVycywgZ3Vlc3RzOiBudW1iZXIgPSBudWxsKToge1xuICAgIHNlYXJjaD86IHN0cmluZztcbiAgICAndG90YWwtdGltZSc/OiBzdHJpbmc7XG4gICAgcHJpY2U/OiBzdHJpbmc7XG4gICAgZGlmZmljdWx0eT86IHN0cmluZztcbiAgICBwb2ludF9vZl9zYWxlX2lkPzogc3RyaW5nO1xuICAgIGd1ZXN0cz86IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgZGlmZmljdWx0eSA9IHRoaXMuYnVpbGRSZW1vdGVGaWx0ZXIoZmlsdGVycy5kaWZmaWN1bHR5LCAnLScpO1xuICAgIGNvbnN0IGNvc3QgPSB0aGlzLmJ1aWxkUmVtb3RlRmlsdGVyKGZpbHRlcnMuY29zdCwgJy0nKT8uc3BsaXQoJy0nKTtcbiAgICBjb25zdCB0b3RhbFRpbWUgPSB0aGlzLmJ1aWxkUmVtb3RlRmlsdGVyKGZpbHRlcnMudGltZSwgJywnKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi4oZGlmZmljdWx0eT8ubGVuZ3RoID4gMCkgPyB7IGRpZmZpY3VsdHk6IGRpZmZpY3VsdHkgKyAnLGVxJyB9IDoge30sIC8vIGV4OiBmaWx0ZXJbZGlmZmljdWx0eV09MS0yLTMsZXEgPT4gYWxsIGNoZWNrZWRcbiAgICAgIC4uLihjb3N0Py5sZW5ndGggPT09IDIpID8geyBjb21wdXRlZF9jb3N0OiBjb3N0WzBdICsgJyxndCwnICsgY29zdFsxXSArICcsbHQnIH0gOiB7fSwgLy8gZXg6IGZpbHRlcltjb3N0XT01LGd0LDEwLGx0ID0+IDUgPCBjb3N0IDwgMTBcbiAgICAgIC4uLih0b3RhbFRpbWU/Lmxlbmd0aCA+IDApID8geyAndG90YWwtdGltZSc6IHRvdGFsVGltZSB9IDoge30sXG4gICAgICAuLi4oZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycz8uZmlsdGVycykgPyBmaWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLmZpbHRlcnMgOiB7fSxcbiAgICAgIC4uLihmaWx0ZXJzLnNlYXJjaCkgPyB7c2VhcmNoOiBmaWx0ZXJzLnNlYXJjaCB9IDoge30sXG4gICAgICAuLi4oZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycz8uZmlsdGVycy5wcmljZSkgPyB7IHBvaW50X29mX3NhbGVfaWQ6IHRoaXMucG9zU2VydmljZS5wb3MkLnZhbHVlLmlkIH0gOiB7fSxcbiAgICAgIC4uLihmaWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzPy5maWx0ZXJzLnByaWNlICYmIGd1ZXN0cyAhPT0gbnVsbCkgPyB7IGd1ZXN0czogZ3Vlc3RzLnRvU3RyaW5nKCkgfSA6IHt9XG4gICAgfTtcbiAgfVxuXG4gIC8vIFJlYWRzIHRoZSB2YWx1ZXMgb2YgYSBmaWVsZCBhbmQgY29udmVydHMgaXQgdG8gdGhlIHN0cmluZyB0byBwYXNzIGluIHRoZSByZW1vdGVGaWx0ZXJzXG4gIC8vIGV4OiBidWlsZFJlbW90ZUZpbHRlcih7XG4gIC8vICAge25hbWU6ICcxJywgdmFsdWU6IHRydWUsIHRleHQ6ICdGYWNpbGUnfSxcbiAgLy8gICB7bmFtZTogJzInLCB2YWx1ZTogZmFsc2UsIHRleHQ6ICdNb3llbid9LFxuICAvLyAgIHtuYW1lOiAnMycsIHZhbHVlOiB0cnVlLCB0ZXh0OiAnRGlmZmljaWxlJ31cbiAgLy8gfSwgJy0nKSAgPT0+ICcxLTMnXG4gIHByaXZhdGUgYnVpbGRSZW1vdGVGaWx0ZXIoZmlsdGVyOiBSZWNpcGVGaWx0ZXJbXSwgc2VwYXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZmlsdGVyKSB7IHJldHVybjsgfVxuXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGZvciAoY29uc3QgZiBvZiBmaWx0ZXIpIHtcbiAgICAgIGlmIChmLnZhbHVlKSB7XG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkgeyByZXN1bHQgKz0gc2VwYXJhdG9yOyB9XG4gICAgICAgIHJlc3VsdCArPSBmLm5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvLyBGZXRjaCBvbmUgcmFuZG9tIHJlY2lwZVxuICBnZXRSYW5kb20oaW5jbHVkZXM6IHN0cmluZ1tdID0gW10sIGZpZWxkcyA9IHt9KTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIHRoaXMucmFuZG9tUmVjaXBlQ291bnQrKztcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoXG4gICAgICB7IHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWUgfSBhcyBSZWNpcGVGaWx0ZXJzLFxuICAgICAgeyBudW1iZXI6IHRoaXMucmFuZG9tUmVjaXBlQ291bnQsIHNpemU6IDEgfSxcbiAgICAgIGluY2x1ZGVzLFxuICAgICAgZmllbGRzLFxuICAgICAgbnVsbCxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgLy8gRGVib3VuY2UgdG8gbGV0IGVub3VnaCB0aW1lIGZvciB0aGUgcG9zIHRvIGJlIGRlZmluZWRcbiAgZ2V0U3VnZ2VzdGlvbihcbiAgICBjb250ZXh0OiB7aWQ6IHN0cmluZzsgaGFzSGlnaFdlaWdodD86IGJvb2xlYW59W10sXG4gICAgaW5jbHVkZXM6IHN0cmluZ1tdID0gW10sXG4gICAgZmllbGRzID0ge31cbiAgKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIGxldCBzdWdnZXN0aW9uRmllbGRzID0gJyc7XG4gICAgT2JqZWN0LmtleXMoZmllbGRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBzdWdnZXN0aW9uRmllbGRzICs9IGAmZmllbGRzWyR7a2V5fV09JHsoZmllbGRzW2tleV0gYXMgc3RyaW5nW10pPy5qb2luKCcsJyl9YDtcbiAgICB9KTtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5zdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJCwgdGhpcy5wb3NTZXJ2aWNlLnBvcyRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gIXJlc3VsdHNbMF0pLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBzd2l0Y2hNYXAocmVzdWx0cyA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuYnVpbGRTdWdnZXN0aW9uQm9keShjb250ZXh0KTtcbiAgICAgICAgbGV0IHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH1gO1xuICAgICAgICBpZiAocmVzdWx0c1sxXSkge1xuICAgICAgICAgIHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH0mcG9zX2lkPSR7cmVzdWx0c1sxXS5pZH1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy9zdWdnZXN0aW9ucz8ke3N1cHBsaWVyRmlsdGVyfSZpbmNsdWRlPSR7aW5jbHVkZXMuam9pbignLCcpfSR7c3VnZ2VzdGlvbkZpZWxkc31gO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBib2R5KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXR1cm5lZFJlY2lwZXM6IERvY3VtZW50Q29sbGVjdGlvbjxSZWNpcGU+KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwZXMgPSB0aGlzLm5ld0NvbGxlY3Rpb24oKTtcbiAgICAgICAgcmVjaXBlcy5maWxsKHJldHVybmVkUmVjaXBlcyk7XG4gICAgICAgIHJldHVybiByZWNpcGVzLmRhdGE7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRQcmljaW5nKHJlY2lwZUlkOiBzdHJpbmcsIHBvc0lkOiBzdHJpbmcsIHByaWNlYm9va0tleTogc3RyaW5nLCBzZXJ2ZXM6IG51bWJlciA9IG51bGwpOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+IHtcbiAgICBpZiAoIXJlY2lwZUlkKSB7XG4gICAgICByZXR1cm4gKG9mKG51bGwpIGFzIE9ic2VydmFibGU8UmVjaXBlUHJpY2luZz4pO1xuICAgIH1cbiAgICBsZXQgdXJsID0gTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlSWR9L3ByaWNpbmc/cG9pbnRfb2Zfc2FsZV9pZD0ke3Bvc0lkfSZwcmljZWJvb2tfa2V5PSR7cHJpY2Vib29rS2V5fWA7XG4gICAgaWYgKHNlcnZlcykge1xuICAgICAgdXJsICs9IGAmc2VydmVzPSR7c2VydmVzfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFJlY2lwZVByaWNpbmcocmVzdWx0KSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlRnJvbVVybChzb3VyY2U6IHN0cmluZywgZXh0TGluazogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGU+IHtcbiAgICBpZiAoIXNvdXJjZSB8fCAhZXh0TGluaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzb3VyY2Ugb3IgcmVjaXBlIGxpbmsgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL3JlY2lwZXMvZnJvbV91cmxgLCB7IHNvdXJjZSwgZXh0X2xpbms6IGV4dExpbmsgfSkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBEb2N1bWVudFJlc291cmNlPFJlY2lwZT4pID0+IHJlc3VsdC5kYXRhKVxuICAgICk7XG4gIH1cblxuICAvLyBPcGVuIG1vZGFsIHNob3dpbmcgcmVjaXBlIGRldGFpbHNcbiAgZGlzcGxheShcbiAgICByZWNpcGVJZDogc3RyaW5nLFxuICAgIHtcbiAgICAgIHByZXZpZXdBbGxvd2VkID0gdHJ1ZSxcbiAgICAgIGd1ZXN0cyA9IG51bGwsXG4gICAgICBwcmV2aWV3TW9kZSA9IGZhbHNlLFxuICAgICAgZGlzcGxheUd1ZXN0cyA9IHRydWUsXG4gICAgICBoZWxwQnV0dG9uQWxsb3dlZCA9IHRydWVcbiAgICB9OiBJUmVjaXBlRGlzcGxheVBhcmFtcyxcbiAgICBldmVudFRyYWNlOiBFdmVudFRyYWNlKTogdm9pZCB7XG4gICAgaWYgKCFyZWNpcGVJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0KHJlY2lwZUlkLCB7IGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS10eXBlJywgJ3Nwb25zb3JzJywgJ3RhZ3MnXSB9KVxuICAgICAgLnBpcGUoc2tpcFdoaWxlKHJlY2lwZSA9PiByZWNpcGUuaXNfbG9hZGluZykpXG4gICAgICAuc3Vic2NyaWJlKHJlY2lwZSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheU9iamVjdChyZWNpcGUsIHtwcmV2aWV3QWxsb3dlZCwgZ3Vlc3RzLCBwcmV2aWV3TW9kZSwgZGlzcGxheUd1ZXN0cywgaGVscEJ1dHRvbkFsbG93ZWQgfSwgZXZlbnRUcmFjZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRpc3BsYXlPYmplY3QoXG4gICAgcmVjaXBlOiBSZWNpcGUsXG4gICAge1xuICAgICAgcHJldmlld0FsbG93ZWQgPSB0cnVlLFxuICAgICAgZ3Vlc3RzID0gbnVsbCxcbiAgICAgIHByZXZpZXdNb2RlID0gZmFsc2UsXG4gICAgICB3YXNBZGRlZCA9IGZhbHNlLFxuICAgICAgZGlzcGxheUd1ZXN0cyA9IHRydWUsXG4gICAgICBoZWxwQnV0dG9uQWxsb3dlZCA9IHRydWVcbiAgICB9OiBJUmVjaXBlRGlzcGxheVBhcmFtcyxcbiAgICBldmVudFRyYWNlOiBFdmVudFRyYWNlKTogdm9pZCB7XG4gICAgaWYgKCFyZWNpcGUpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cyB8fCArcmVjaXBlLmd1ZXN0cztcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dCh7IHByZXZpZXdBbGxvd2VkLCByZWNpcGUsIHByZXZpZXdNb2RlLCB3YXNBZGRlZCwgZGlzcGxheUd1ZXN0cywgaGVscEJ1dHRvbkFsbG93ZWQsIGV2ZW50VHJhY2UgfSk7XG4gIH1cblxuICBvcGVuQmFza2V0KGV2ZW50VHJhY2U6IEV2ZW50VHJhY2UpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dCh7IHByZXZpZXdBbGxvd2VkOiB0cnVlLCByZWNpcGU6IG51bGwsIHByZXZpZXdNb2RlOiB0cnVlLCB3YXNBZGRlZDogdHJ1ZSwgZm9yY2UgOiB0cnVlLCBldmVudFRyYWNlIH0pO1xuICB9XG5cbiAgdG9nZ2xlSGVscGVyKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuZGlzcGxheUhlbHBlciQubmV4dCghdGhpcy5kaXNwbGF5SGVscGVyJC52YWx1ZSk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkUmVjaXBlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuaGlkZGVuLmVtaXQodHJ1ZSk7XG4gIH1cblxuICByZW1vdmVUYWdGcm9tUmVjaXBlKHJlY2lwZTogUmVjaXBlLCB0YWc6IFRhZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlLmlkfS90YWdzLyR7dGFnLmlkfWApO1xuICB9XG5cbiAgYWRkVGFnVG9SZWNpcGUocmVjaXBlOiBSZWNpcGUsIHRhZzogVGFnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlLmlkfS90YWdzLyR7dGFnLmlkfWAsIHt9KTtcbiAgfVxuXG4gIHNldFJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9ucyhkaXNwbGF5ID0gdHJ1ZSwgYWRkVG9CYXNrZXQgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5yZWNpcGVzUHJpbWFyeUJ1dHRvbkFjdGlvbnMgPSB7IGRpc3BsYXksIGFkZFRvQmFza2V0IH07XG4gICAgdGhpcy5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zID0geyBkaXNwbGF5LCBhZGRUb0Jhc2tldCB9O1xuICAgIHRoaXMucmVsb2FkQWxsUmVjaXBlcygpO1xuICB9XG5cbiAgc2V0U3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9ucyhkaXNwbGF5ID0gdHJ1ZSwgYWRkVG9CYXNrZXQgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zID0geyBkaXNwbGF5LCBhZGRUb0Jhc2tldCB9O1xuICAgIHRoaXMucmVsb2FkQWxsUmVjaXBlcygpO1xuICB9XG5cbiAgcGxhbihcbiAgICBidWRnZXQ6IG51bWJlcixcbiAgICBndWVzdHM6IG51bWJlcixcbiAgICByZWNpcGVzQ291bnQ6IG51bWJlcixcbiAgICBpbmNsdWRlczogc3RyaW5nW10gPSBbXSxcbiAgICBmaWVsZHMgPSB7fSxcbiAgICBpbl9iYXNrZXQ6IGJvb2xlYW4gPSB1bmRlZmluZWRcbiAgKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIGxldCBwbGFubmVyRmllbGRzID0gJyc7XG4gICAgT2JqZWN0LmtleXMoZmllbGRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBwbGFubmVyRmllbGRzICs9IGAmZmllbGRzWyR7a2V5fV09JHsoZmllbGRzW2tleV0gYXMgc3RyaW5nW10pPy5qb2luKCcsJyl9YDtcbiAgICB9KTtcbiAgICBsZXQgdXJsID0gTUlBTV9BUElfSE9TVCArICdyZWNpcGVzL3BsYW4nO1xuICAgIHVybCArPSBgP2J1ZGdldD0ke2J1ZGdldH0mZmlsdGVyW2d1ZXN0c109JHtndWVzdHN9JnJlY2lwZXNfY291bnQ9JHtyZWNpcGVzQ291bnR9JmZpbHRlcltyZWNpcGVfdHlwZV9pZF09bWFpbi1kaXNoYDtcbiAgICB1cmwgKz0gYCZpbmNsdWRlPSR7aW5jbHVkZXMuam9pbignLCcpfSR7cGxhbm5lckZpZWxkc30mZmlsdGVyW3JlY2lwZV90eXBlX2lkXT1tYWluLWRpc2gmZmlsdGVyW3ByaW1hcnlfY29tcGxldGlvbl9wZXJjXT0xMDAsMTAwYDtcbiAgICB1cmwgKz0gaW5fYmFza2V0ID09PSB1bmRlZmluZWQgPyAnJyA6IGAmZmlsdGVyW2luX2Jhc2tldF09JHtpbl9iYXNrZXR9YDtcbiAgICByZXR1cm4gdGhpcy5wb3NTZXJ2aWNlLnBvcyQucGlwZShcbiAgICAgIHNraXBXaGlsZShwb3MgPT4gIXBvcz8uaWQpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChwb3MgPT4ge1xuICAgICAgICB1cmwgKz0gYCZmaWx0ZXJbcG9pbnRfb2Zfc2FsZV9pZF09JHtwb3MuaWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7fSkucGlwZShcbiAgICAgICAgICBtYXAoKHJldHVybmVkUmVjaXBlczogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY2lwZXMgPSB0aGlzLm5ld0NvbGxlY3Rpb24oKTtcbiAgICAgICAgICAgIHJlY2lwZXMuZmlsbChyZXR1cm5lZFJlY2lwZXMpO1xuICAgICAgICAgICAgcmV0dXJuIHJlY2lwZXMuZGF0YTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbWF4UGxhbm5hYmxlUmVjaXBlcyhidWRnZXQ6IG51bWJlciwgZ3Vlc3RzOiBudW1iZXIsIGluX2Jhc2tldDogYm9vbGVhbiA9IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgbGV0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyAncmVjaXBlcy9wbGFuX21heF9yZWNpcGVzJztcbiAgICB1cmwgKz0gYD9idWRnZXQ9JHtidWRnZXR9JmZpbHRlcltndWVzdHNdPSR7Z3Vlc3RzfSZmaWx0ZXJbcmVjaXBlX3R5cGVfaWRdPW1haW4tZGlzaCZmaWx0ZXJbcHJpbWFyeV9jb21wbGV0aW9uX3BlcmNdPTEwMCwxMDBgO1xuICAgIHVybCArPSBpbl9iYXNrZXQgPT09IHVuZGVmaW5lZCA/ICcnIDogYCZmaWx0ZXJbaW5fYmFza2V0XT0ke2luX2Jhc2tldH1gO1xuICAgIHJldHVybiB0aGlzLnBvc1NlcnZpY2UucG9zJC5waXBlKFxuICAgICAgc2tpcFdoaWxlKHBvcyA9PiAhcG9zPy5pZCksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKHBvcyA9PiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICB1cmwgKz0gYCZmaWx0ZXJbcG9pbnRfb2Zfc2FsZV9pZF09JHtwb3MuaWR9YCxcbiAgICAgICAge31cbiAgICAgICkucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQ6IHsgbWF4X3JlY2lwZXM6IG51bWJlciB9KSA9PiByZXN1bHQubWF4X3JlY2lwZXMpXG4gICAgICApKVxuICAgICk7XG4gIH1cblxuICAvLyBERVBSRUNBVEVEIC8gdXNlIFRUTCBpbnN0ZWFkXG4gIHByaXZhdGUgZ2V0T3JGZXRjaChyZWNpcGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGU+IHtcbiAgICBjb25zdCByZWNpcGUgPSB0aGlzLnJlY2lwZXMuZmluZChyID0+IHIuaWQgPT09IHJlY2lwZUlkKTtcbiAgICBpZiAocmVjaXBlKSB7XG4gICAgICByZXR1cm4gb2YocmVjaXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0KHJlY2lwZUlkLCB7IGZpZWxkczogeyByZWNpcGU6IFsnbnVtYmVyLW9mLWd1ZXN0cyddIH0gfSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHIgPT4gci5pc19sb2FkaW5nKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaGVscCB1cyB0byBrZWVwIGEgdHJhY2sgb2YgcmFuZG9tXG4gICAqIGFuZCBhdm9pZCB0byBzaG93IHNhbWUgcmVjaXBlIG11dGlwbGUgdGltZXNcbiAgICovXG4gIHByaXZhdGUgaW50UmFuZG9tU2VlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJhbmRvbVNlZWQgPSBEYXRlLm5vdygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWxvYWRBbGxSZWNpcGVzKCk6IHZvaWQge1xuICAgIHRoaXMucmVsb2FkUmVjaXBlcyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBzdWdnZXN0aW9uIHJlcXVlc3QgYm9keSBiYXNlZCBvbiBjb250ZXh0IHBhc3NlZCAmIGN1cnJlbnQgcmV0YWlsZXIgYmFza2V0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkU3VnZ2VzdGlvbkJvZHkoY29udGV4dDoge2lkOiBzdHJpbmc7IGhhc0hpZ2hXZWlnaHQ/OiBib29sZWFufVtdKTogYW55IHtcbiAgICBjb25zdCBib2R5ID0ge1xuICAgICAgc2hlbGZfaW5ncmVkaWVudHNfaWRzOiBbXSwgLy8gTG93IHByaW9yaXR5IHByb2R1Y3RzXG4gICAgICBjdXJyZW50X2luZ3JlZGllbnRzX2lkczogW10sIC8vIEhpZ2ggcHJpb3JpdHkgcHJvZHVjdHNcbiAgICAgIGJhc2tldF9pbmdyZWRpZW50c19pZHM6IFtdLFxuICAgICAgZ3JvdXBfaWQ6ICcnIH07XG4gICAgY29udGV4dC5mb3JFYWNoKHByb2R1Y3QgPT4ge1xuICAgICAgaWYgKHByb2R1Y3QuaGFzSGlnaFdlaWdodCkge1xuICAgICAgICBib2R5LmN1cnJlbnRfaW5ncmVkaWVudHNfaWRzLnB1c2gocHJvZHVjdC5pZCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgYm9keS5zaGVsZl9pbmdyZWRpZW50c19pZHMucHVzaChwcm9kdWN0LmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBib2R5LmJhc2tldF9pbmdyZWRpZW50c19pZHMgPSB0aGlzLnN1cHBsaWVyc1NlcnZpY2UubGFzdFN1cHBsaWVyQmFza2V0Lm1hcChwID0+IHAuaWQpO1xuICAgIHJldHVybiBib2R5O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ScrollingService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.scroll$ = fromEvent(document, 'scroll');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ScrollingService.ɵfac = function ScrollingService_Factory(t) { return new (t || ScrollingService)(); };
|
|
10
|
+
ScrollingService.ɵprov = i0.ɵɵdefineInjectable({ token: ScrollingService, factory: ScrollingService.ɵfac, providedIn: 'root' });
|
|
11
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ScrollingService, [{
|
|
12
|
+
type: Injectable,
|
|
13
|
+
args: [{
|
|
14
|
+
providedIn: 'root'
|
|
15
|
+
}]
|
|
16
|
+
}], function () { return []; }, null); })();
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9zY3JvbGxpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0I7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7Z0ZBTFUsZ0JBQWdCO3dEQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUhmLE1BQU07a0RBR1AsZ0JBQWdCO2NBSjVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIFNjcm9sbGluZ1NlcnZpY2Uge1xuICBzY3JvbGwkOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNjcm9sbCQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdzY3JvbGwnKTtcbiAgfVxufVxuIl19
|
|
@@ -5,11 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
export class ToasterService {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.subject = new BehaviorSubject(null);
|
|
8
|
-
this.toaster$ = this.subject.asObservable()
|
|
9
|
-
.pipe(filter(toaster => toaster !== null));
|
|
8
|
+
this.toaster$ = this.subject.asObservable().pipe(filter(toaster => toaster !== null));
|
|
10
9
|
}
|
|
11
|
-
show(type,
|
|
12
|
-
this.subject.next({ type, title,
|
|
10
|
+
show(type, title, customMessage, displayIcon = true) {
|
|
11
|
+
this.subject.next({ type, title, customMessage, displayIcon });
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
ToasterService.ɵfac = function ToasterService_Factory(t) { return new (t || ToasterService)(); };
|
|
@@ -20,4 +19,4 @@ ToasterService.ɵprov = i0.ɵɵdefineInjectable({ token: ToasterService, factory
|
|
|
20
19
|
providedIn: 'root'
|
|
21
20
|
}]
|
|
22
21
|
}], function () { return []; }, null); })();
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXhDLE1BQU0sT0FBTyxjQUFjO0lBSXpCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBaUIsRUFBRSxLQUFjLEVBQUUsYUFBc0IsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNoRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7NEVBWFUsY0FBYztzREFBZCxjQUFjLFdBQWQsY0FBYyxtQkFIYixNQUFNO2tEQUdQLGNBQWM7Y0FKMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4uL190eXBlcy9tZXNzYWdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vX3R5cGVzL3RvYXN0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIHtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFRvYXN0ZXI+O1xuICB0b2FzdGVyJDogT2JzZXJ2YWJsZTxUb2FzdGVyPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRvYXN0ZXI+KG51bGwpO1xuICAgIHRoaXMudG9hc3RlciQgPSB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIodG9hc3RlciA9PiB0b2FzdGVyICE9PSBudWxsKSk7XG4gIH1cblxuICBzaG93KHR5cGU6IE1lc3NhZ2VUeXBlLCB0aXRsZT86IHN0cmluZywgY3VzdG9tTWVzc2FnZT86IHN0cmluZywgZGlzcGxheUljb24gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoeyB0eXBlLCB0aXRsZSwgY3VzdG9tTWVzc2FnZSwgZGlzcGxheUljb24gfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -79,7 +79,7 @@ export class UserService {
|
|
|
79
79
|
}));
|
|
80
80
|
}
|
|
81
81
|
showRecipeToaster() {
|
|
82
|
-
this.toasterService.show(MessageType.Success,
|
|
82
|
+
this.toasterService.show(MessageType.Success, '', 'Vos préférences ont bien été mises à jour');
|
|
83
83
|
}
|
|
84
84
|
hasPreference(pref) {
|
|
85
85
|
return this.userInfo$.pipe(skipWhile((userInfo) => !(userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_metadata)), map((userInfo) => userInfo.user_metadata.preferences && userInfo.user_metadata.preferences[pref] === true));
|
|
@@ -123,4 +123,4 @@ UserService.ɵprov = i0.ɵɵdefineInjectable({ token: UserService, factory: User
|
|
|
123
123
|
providedIn: 'root'
|
|
124
124
|
}]
|
|
125
125
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i3.SuppliersService }, { type: i4.ToasterService }]; }, null); })();
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFLbkQsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDVSxJQUFnQixFQUNoQix1QkFBOEMsRUFDOUMsZ0JBQWtDLEVBQ2xDLGNBQThCO1FBSDlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF1QjtRQUM5QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVh4QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7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SUFBSSxJQUFJLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTOztRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O3NFQTFKVSxXQUFXO21EQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07a0RBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHN3aXRjaE1hcCwgc2tpcFdoaWxlLCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyLCBTdXBwbGllciwgVXNlciB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuLi9fdHlwZXMvbWVzc2FnZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwbGllcnNTZXJ2aWNlIH0gZnJvbSAnLi9zdXBwbGllcnMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4vdG9hc3Rlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xuICBpc0xvZ2dlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJlZmVyZW5jZXNBY3RpdmF0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgdXNlckluZm8kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHVzZXJQcm92aWRlciQ6IEJlaGF2aW9yU3ViamVjdDxSZWNpcGVQcm92aWRlcj47XG4gIHByaXZhdGUgdXNlclN1cHBsaWVyJDogQmVoYXZpb3JTdWJqZWN0PFN1cHBsaWVyPjtcbiAgcHJpdmF0ZSB1c2VyUm9sZXMkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudXNlclJvbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICB0aGlzLnVzZXJQcm92aWRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2lwZVByb3ZpZGVyPih1bmRlZmluZWQpO1xuICAgIHRoaXMudXNlclN1cHBsaWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VwcGxpZXI+KHVuZGVmaW5lZCk7XG4gIH1cblxuICBnZXQgdXNlclByb3ZpZGVyKCk6IE9ic2VydmFibGU8UmVjaXBlUHJvdmlkZXI+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcFdoaWxlKHByb3ZpZGVyID0+IHByb3ZpZGVyID09PSB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIGdldCB1c2VyU3VwcGxpZXIoKTogT2JzZXJ2YWJsZTxTdXBwbGllcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTdXBwbGllciQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwV2hpbGUoc3VwcGxpZXIgPT4gc3VwcGxpZXIgPT09IHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgZ2V0IHVzZXJSb2xlcygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclJvbGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0FkbWluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSb2xlcyQucGlwZShcbiAgICAgIHNraXBXaGlsZShyb2xlID0+IHJvbGUubGVuZ3RoID09PSAwKSxcbiAgICAgIHN3aXRjaE1hcCgocm9sZXM6IHN0cmluZ1tdKSA9PiBvZihyb2xlcy5pbmNsdWRlcygnQWRtaW4nKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNldFVzZXJQcm92aWRlck1hbnVhbGx5KHByb3ZpZGVyOiBSZWNpcGVQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMudXNlclByb3ZpZGVyJC5uZXh0KHByb3ZpZGVyKTtcbiAgfVxuXG4gIHRvZ2dsZUlzTG9nZ2VkKGxvZ2dlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNMb2dnZWQkLm5leHQobG9nZ2VkKTtcbiAgfVxuXG4gIHNldFVzZXJJbmZvKGZvcmJpZFByb2ZpbGluZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXNlckluZm8gPSBuZXcgVXNlcih7IGZvcmJpZFByb2ZpbGluZyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS91c2VyX2luZm9gKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJJbmZvJC5uZXh0KE9iamVjdC5hc3NpZ24odXNlckluZm8sIHJlc3VsdCkpO1xuICAgICAgICB0aGlzLmluaXRSb2xlcygpO1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgICAgIHRoaXMuaW5pdFByb3ZpZGVyKCksXG4gICAgICAgICAgdGhpcy5pbml0U3VwcGxpZXIoKVxuICAgICAgICBdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlc2V0VXNlckluZm8oKTogdm9pZCB7XG4gICAgdGhpcy51c2VySW5mbyQubmV4dChudWxsKTtcbiAgICB0aGlzLnVzZXJSb2xlcyQubmV4dChbXSk7XG4gICAgdGhpcy51c2VyUHJvdmlkZXIkLm5leHQobnVsbCk7XG4gICAgdGhpcy51c2VyU3VwcGxpZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBzZXRQcmVmZXJlbmNlKHByZWY6IHN0cmluZywgc3RhdGU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNraXBXaGlsZSgodXNlckluZm86IFVzZXIpID0+ICF1c2VySW5mbz8udXNlcl9tZXRhZGF0YSksXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGlmICghdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlcykge1xuICAgICAgICAgIHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgcHJlZmVyZW5jZSBpcyBhbHJlYWR5IHNldCwgd2Ugc2ltcGx5IHJldHVybiB0aGUgdXNlclxuICAgICAgICBpZiAodXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSA9PT0gc3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodXNlckluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHRoZSB1c2VyIGluIGF1dGgwIHZpYSBtaWFtIEFQSVxuICAgICAgICB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzW3ByZWZdID0gc3RhdGU7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2goYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vdXNlcl9pbmZvYCwgeyBkYXRhOiB1c2VySW5mbyB9KS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB1c2VySW5mbylcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCh1c2VySW5mbzogVXNlcikgPT4ge1xuICAgICAgICB0aGlzLnNob3dSZWNpcGVUb2FzdGVyKCk7XG4gICAgICAgIHRoaXMudXNlckluZm8kLm5leHQodXNlckluZm8pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2hvd1JlY2lwZVRvYXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdGVyU2VydmljZS5zaG93KE1lc3NhZ2VUeXBlLlN1Y2Nlc3MsIGZhbHNlKTtcbiAgfVxuXG4gIGhhc1ByZWZlcmVuY2UocHJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnBpcGUoXG4gICAgICBza2lwV2hpbGUoKHVzZXJJbmZvOiBVc2VyKSA9PiAhdXNlckluZm8/LnVzZXJfbWV0YWRhdGEpLFxuICAgICAgbWFwKCh1c2VySW5mbzogVXNlcikgPT4gdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlcyAmJiB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzW3ByZWZdID09PSB0cnVlKVxuICAgICk7XG4gIH1cblxuICBwcmVmZXJlbmNlRGVmaW5lZChwcmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyQucGlwZShcbiAgICAgIHNraXBXaGlsZSgodXNlckluZm86IFVzZXIpID0+ICF1c2VySW5mbz8udXNlcl9tZXRhZGF0YSksXG4gICAgICBtYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzICYmIHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXNbcHJlZl0gIT09IHVuZGVmaW5lZClcbiAgICApO1xuICB9XG5cbiAgc2V0RmF2b3JpdGVJdGVtcyhmYXZvcml0ZVByb2R1Y3RJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHN1cHAgPT4gIXN1cHApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChzdXBwbGllciA9PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7IGl0ZW1fZXh0X2lkczogZmF2b3JpdGVQcm9kdWN0SWRzLCBzdXBwbGllcl9pZDogc3VwcGxpZXIuaWQgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke2Vudmlyb25tZW50Lm1pYW1BUEl9L3NldF9mYXZvcml0ZV9pdGVtc2AsIGJvZHkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvZmlsaW5nRm9yYmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC52YWx1ZT8uZm9yYmlkUHJvZmlsaW5nO1xuICB9XG5cbiAgY2FuKHBlcm1pc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgbWFwKGluZm8gPT4gaW5mbz8uYXBwX21ldGFkYXRhPy5wZXJtaXNzaW9ucz8uaW5jbHVkZXMocGVybWlzc2lvbikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFByb3ZpZGVyKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyS2V5ID0gdXNlckluZm8/LmFwcF9tZXRhZGF0YT8ucmVjaXBlX3Byb3ZpZGVyIHx8ICdwZXJzb25hbCc7XG4gICAgICAgIHJldHVybiB0aGlzLnJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlLmdldChwcm92aWRlcktleSk7XG4gICAgICB9KSxcbiAgICAgIHNraXBXaGlsZShyZXMgPT4gcmVzID09IG51bGwpLFxuICAgICAgdGFwKChwcm92aWRlcjogUmVjaXBlUHJvdmlkZXIpID0+IHRoaXMudXNlclByb3ZpZGVyJC5uZXh0KHByb3ZpZGVyKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U3VwcGxpZXIoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXNlckluZm86IFVzZXIpID0+IHRoaXMuc3VwcGxpZXJzU2VydmljZS5nZXQodXNlckluZm8uc3VwcGxpZXJJZCkpLFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiByZXMgPT0gbnVsbCksXG4gICAgICB0YXAoKHN1cHBsaWVyOiBTdXBwbGllcikgPT4gdGhpcy51c2VyU3VwcGxpZXIkLm5leHQoc3VwcGxpZXIpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRSb2xlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJSb2xlcyQubmV4dCh0aGlzLnVzZXJJbmZvJC52YWx1ZT8uYXBwX21ldGFkYXRhPy5yb2xlcyB8fCBbXSk7XG4gIH1cbn1cbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFLbkQsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDVSxJQUFnQixFQUNoQix1QkFBOEMsRUFDOUMsZ0JBQWtDLEVBQ2xDLGNBQThCO1FBSDlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF1QjtRQUM5QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVh4QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7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RSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTOztRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O3NFQTFKVSxXQUFXO21EQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07a0RBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHN3aXRjaE1hcCwgc2tpcFdoaWxlLCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyLCBTdXBwbGllciwgVXNlciB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuLi9fdHlwZXMvbWVzc2FnZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwbGllcnNTZXJ2aWNlIH0gZnJvbSAnLi9zdXBwbGllcnMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4vdG9hc3Rlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xuICBpc0xvZ2dlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJlZmVyZW5jZXNBY3RpdmF0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgdXNlckluZm8kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHVzZXJQcm92aWRlciQ6IEJlaGF2aW9yU3ViamVjdDxSZWNpcGVQcm92aWRlcj47XG4gIHByaXZhdGUgdXNlclN1cHBsaWVyJDogQmVoYXZpb3JTdWJqZWN0PFN1cHBsaWVyPjtcbiAgcHJpdmF0ZSB1c2VyUm9sZXMkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudXNlclJvbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICB0aGlzLnVzZXJQcm92aWRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2lwZVByb3ZpZGVyPih1bmRlZmluZWQpO1xuICAgIHRoaXMudXNlclN1cHBsaWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3VwcGxpZXI+KHVuZGVmaW5lZCk7XG4gIH1cblxuICBnZXQgdXNlclByb3ZpZGVyKCk6IE9ic2VydmFibGU8UmVjaXBlUHJvdmlkZXI+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcFdoaWxlKHByb3ZpZGVyID0+IHByb3ZpZGVyID09PSB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIGdldCB1c2VyU3VwcGxpZXIoKTogT2JzZXJ2YWJsZTxTdXBwbGllcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTdXBwbGllciQuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwV2hpbGUoc3VwcGxpZXIgPT4gc3VwcGxpZXIgPT09IHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgZ2V0IHVzZXJSb2xlcygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclJvbGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0FkbWluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSb2xlcyQucGlwZShcbiAgICAgIHNraXBXaGlsZShyb2xlID0+IHJvbGUubGVuZ3RoID09PSAwKSxcbiAgICAgIHN3aXRjaE1hcCgocm9sZXM6IHN0cmluZ1tdKSA9PiBvZihyb2xlcy5pbmNsdWRlcygnQWRtaW4nKSkpXG4gICAgKTtcbiAgfVxuXG4gIHNldFVzZXJQcm92aWRlck1hbnVhbGx5KHByb3ZpZGVyOiBSZWNpcGVQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMudXNlclByb3ZpZGVyJC5uZXh0KHByb3ZpZGVyKTtcbiAgfVxuXG4gIHRvZ2dsZUlzTG9nZ2VkKGxvZ2dlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNMb2dnZWQkLm5leHQobG9nZ2VkKTtcbiAgfVxuXG4gIHNldFVzZXJJbmZvKGZvcmJpZFByb2ZpbGluZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXNlckluZm8gPSBuZXcgVXNlcih7IGZvcmJpZFByb2ZpbGluZyB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtlbnZpcm9ubWVudC5taWFtQVBJfS91c2VyX2luZm9gKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJJbmZvJC5uZXh0KE9iamVjdC5hc3NpZ24odXNlckluZm8sIHJlc3VsdCkpO1xuICAgICAgICB0aGlzLmluaXRSb2xlcygpO1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgICAgIHRoaXMuaW5pdFByb3ZpZGVyKCksXG4gICAgICAgICAgdGhpcy5pbml0U3VwcGxpZXIoKVxuICAgICAgICBdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlc2V0VXNlckluZm8oKTogdm9pZCB7XG4gICAgdGhpcy51c2VySW5mbyQubmV4dChudWxsKTtcbiAgICB0aGlzLnVzZXJSb2xlcyQubmV4dChbXSk7XG4gICAgdGhpcy51c2VyUHJvdmlkZXIkLm5leHQobnVsbCk7XG4gICAgdGhpcy51c2VyU3VwcGxpZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBzZXRQcmVmZXJlbmNlKHByZWY6IHN0cmluZywgc3RhdGU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNraXBXaGlsZSgodXNlckluZm86IFVzZXIpID0+ICF1c2VySW5mbz8udXNlcl9tZXRhZGF0YSksXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB7XG4gICAgICAgIGlmICghdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlcykge1xuICAgICAgICAgIHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgcHJlZmVyZW5jZSBpcyBhbHJlYWR5IHNldCwgd2Ugc2ltcGx5IHJldHVybiB0aGUgdXNlclxuICAgICAgICBpZiAodXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSA9PT0gc3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodXNlckluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHRoZSB1c2VyIGluIGF1dGgwIHZpYSBtaWFtIEFQSVxuICAgICAgICB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzW3ByZWZdID0gc3RhdGU7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2goYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vdXNlcl9pbmZvYCwgeyBkYXRhOiB1c2VySW5mbyB9KS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB1c2VySW5mbylcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCh1c2VySW5mbzogVXNlcikgPT4ge1xuICAgICAgICB0aGlzLnNob3dSZWNpcGVUb2FzdGVyKCk7XG4gICAgICAgIHRoaXMudXNlckluZm8kLm5leHQodXNlckluZm8pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2hvd1JlY2lwZVRvYXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdGVyU2VydmljZS5zaG93KE1lc3NhZ2VUeXBlLlN1Y2Nlc3MsICcnLCAnVm9zIHByw6lmw6lyZW5jZXMgb250IGJpZW4gZcyBdGXMgSBtaXNlcyBhzIAgam91cicpO1xuICB9XG5cbiAgaGFzUHJlZmVyZW5jZShwcmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyQucGlwZShcbiAgICAgIHNraXBXaGlsZSgodXNlckluZm86IFVzZXIpID0+ICF1c2VySW5mbz8udXNlcl9tZXRhZGF0YSksXG4gICAgICBtYXAoKHVzZXJJbmZvOiBVc2VyKSA9PiB1c2VySW5mby51c2VyX21ldGFkYXRhLnByZWZlcmVuY2VzICYmIHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXNbcHJlZl0gPT09IHRydWUpXG4gICAgKTtcbiAgfVxuXG4gIHByZWZlcmVuY2VEZWZpbmVkKHByZWY6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgc2tpcFdoaWxlKCh1c2VySW5mbzogVXNlcikgPT4gIXVzZXJJbmZvPy51c2VyX21ldGFkYXRhKSxcbiAgICAgIG1hcCgodXNlckluZm86IFVzZXIpID0+IHVzZXJJbmZvLnVzZXJfbWV0YWRhdGEucHJlZmVyZW5jZXMgJiYgdXNlckluZm8udXNlcl9tZXRhZGF0YS5wcmVmZXJlbmNlc1twcmVmXSAhPT0gdW5kZWZpbmVkKVxuICAgICk7XG4gIH1cblxuICBzZXRGYXZvcml0ZUl0ZW1zKGZhdm9yaXRlUHJvZHVjdElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICBza2lwV2hpbGUoc3VwcCA9PiAhc3VwcCksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKHN1cHBsaWVyID0+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgaXRlbV9leHRfaWRzOiBmYXZvcml0ZVByb2R1Y3RJZHMsIHN1cHBsaWVyX2lkOiBzdXBwbGllci5pZCB9O1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vc2V0X2Zhdm9yaXRlX2l0ZW1zYCwgYm9keSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm9maWxpbmdGb3JiaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnZhbHVlPy5mb3JiaWRQcm9maWxpbmc7XG4gIH1cblxuICBjYW4ocGVybWlzc2lvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckluZm8kLnBpcGUoXG4gICAgICBtYXAoaW5mbyA9PiBpbmZvPy5hcHBfbWV0YWRhdGE/LnBlcm1pc3Npb25zPy5pbmNsdWRlcyhwZXJtaXNzaW9uKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UHJvdmlkZXIoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy51c2VySW5mbyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXNlckluZm86IFVzZXIpID0+IHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXJLZXkgPSB1c2VySW5mbz8uYXBwX21ldGFkYXRhPy5yZWNpcGVfcHJvdmlkZXIgfHwgJ3BlcnNvbmFsJztcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjaXBlc1Byb3ZpZGVyc1NlcnZpY2UuZ2V0KHByb3ZpZGVyS2V5KTtcbiAgICAgIH0pLFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiByZXMgPT0gbnVsbCksXG4gICAgICB0YXAoKHByb3ZpZGVyOiBSZWNpcGVQcm92aWRlcikgPT4gdGhpcy51c2VyUHJvdmlkZXIkLm5leHQocHJvdmlkZXIpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTdXBwbGllcigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1c2VySW5mbzogVXNlcikgPT4gdGhpcy5zdXBwbGllcnNTZXJ2aWNlLmdldCh1c2VySW5mby5zdXBwbGllcklkKSksXG4gICAgICBza2lwV2hpbGUocmVzID0+IHJlcyA9PSBudWxsKSxcbiAgICAgIHRhcCgoc3VwcGxpZXI6IFN1cHBsaWVyKSA9PiB0aGlzLnVzZXJTdXBwbGllciQubmV4dChzdXBwbGllcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJvbGVzKCk6IHZvaWQge1xuICAgIHRoaXMudXNlclJvbGVzJC5uZXh0KHRoaXMudXNlckluZm8kLnZhbHVlPy5hcHBfbWV0YWRhdGE/LnJvbGVzIHx8IFtdKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var BasketActionType;
|
|
2
|
+
(function (BasketActionType) {
|
|
3
|
+
BasketActionType[BasketActionType["ADD_RECIPE"] = 0] = "ADD_RECIPE";
|
|
4
|
+
BasketActionType[BasketActionType["REMOVE_RECIPE"] = 1] = "REMOVE_RECIPE";
|
|
5
|
+
BasketActionType[BasketActionType["UPDATE_RECIPE"] = 2] = "UPDATE_RECIPE";
|
|
6
|
+
BasketActionType[BasketActionType["ADD_RECIPE_LIGHT"] = 3] = "ADD_RECIPE_LIGHT";
|
|
7
|
+
BasketActionType[BasketActionType["ADD_PRODUCT"] = 4] = "ADD_PRODUCT";
|
|
8
|
+
BasketActionType[BasketActionType["REMOVE_PRODUCT"] = 5] = "REMOVE_PRODUCT";
|
|
9
|
+
BasketActionType[BasketActionType["UPDATE_PRODUCT"] = 6] = "UPDATE_PRODUCT";
|
|
10
|
+
})(BasketActionType || (BasketActionType = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LWFjdGlvbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9iYXNrZXQtYWN0aW9uLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFRWDtBQVJELFdBQVksZ0JBQWdCO0lBQzFCLG1FQUFVLENBQUE7SUFDVix5RUFBYSxDQUFBO0lBQ2IseUVBQWEsQ0FBQTtJQUNiLCtFQUFnQixDQUFBO0lBQ2hCLHFFQUFXLENBQUE7SUFDWCwyRUFBYyxDQUFBO0lBQ2QsMkVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBUlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVEzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJhc2tldEFjdGlvblR5cGUge1xuICBBRERfUkVDSVBFLFxuICBSRU1PVkVfUkVDSVBFLFxuICBVUERBVEVfUkVDSVBFLFxuICBBRERfUkVDSVBFX0xJR0hULFxuICBBRERfUFJPRFVDVCxcbiAgUkVNT1ZFX1BST0RVQ1QsXG4gIFVQREFURV9QUk9EVUNUXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3R5cGVzL2Jhc2tldC1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2tldEVudHJ5IH0gZnJvbSAnLi4vX21vZGVscyc7XG5pbXBvcnQgeyBCYXNrZXRBY3Rpb25UeXBlIH0gZnJvbSAnLi9iYXNrZXQtYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFdmVudFRyYWNlIH0gZnJvbSAnLi9ldmVudC10cmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFza2V0QWN0aW9uIHtcbiAgdHlwZTogQmFza2V0QWN0aW9uVHlwZTtcbiAgcGFyYW1zOiB7XG4gICAgcmVjaXBlSWQ6IHN0cmluZztcbiAgICBndWVzdHM/OiBudW1iZXI7XG4gICAgaW5ncmVkaWVudElkPzogc3RyaW5nO1xuICAgIGV2ZW50VHJhY2U6IEV2ZW50VHJhY2U7XG4gICAgYmFza2V0RW50cnk/OiBCYXNrZXRFbnRyeTtcbiAgICBuZXdRdWFudGl0eT86IG51bWJlcjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXN0YXRzLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fdHlwZXMvYmFza2V0LXN0YXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJhc2tldFN0YXRzIHtcbiAgdG90YWxQcmljZTogbnVtYmVyO1xuICByZWNpcGVzQ291bnQ6IG51bWJlcjtcbiAgZW50cmllc0NvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlhbS1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9idWlsZGVkL21pYW0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wYXJhYmxlUHJvZHVjdCB9IGZyb20gJy4vY29tcGFyYWJsZS1wcm9kdWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBNaWFtSW50ZXJmYWNlICB7XG4gIC8qKlxuICAgKiBNZXRob2QgdG8gY2FsbCB3aGVuIHRoZSB1c2VyIGJlZ2lucyB0aGUgcGF5bWVudCBwcm9jZWR1cmUgKHR5cGljYWxseSB3aGVuIHRoZXkgY2xpY2tcbiAgICogb24gYSBcIkNvbmZpcm0gbXkgY2FydFwiIGJ1dHRvbilcbiAgICogQHBhcmFtIHRvdGFsUHJpY2UgdGhlIHRvdGFsIHByaWNlIG9mIHlvdXIgYmFza2V0IChjYW4gYmUgYSBmbG9hdGluZyBvciBpbnRlZ2VyIG51bWJlcilcbiAgICovXG4gIHBheW1lbnRTdGFydGVkOiAodG90YWxQcmljZTogbnVtYmVyKSA9PiB2b2lkO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGFuYWx5dGljczoge1xuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgQW5hbHl0aWNzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZG9tYWluIFBsYXVzaWJsZSBkb21haW5cbiAgICAgKiBAcGFyYW0gb3B0aW1pemVLZXkgR29vZ2xlIE9wdGltaXplIGtleVxuICAgICAqL1xuICAgIGluaXQ6IChkb21haW46IHN0cmluZywgb3B0aW1pemVLZXk6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBiYXNrZXQ6IHtcbiAgICAvKipcbiAgICAgKiBFbWl0cyB0cnVlIHdoZW4gTWlhbSdzIGJhc2tldCBoYXMgc3VjY2VzZnVsbHkgbG9hZGVkIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICAgKiBEb2VzIG5vdCBlbWl0IGFueXRoaW5nIGJlZm9yZSBvciBhZnRlciB0aGF0LlxuICAgICAqL1xuICAgIGJhc2tldElzUmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIC8qKlxuICAgICAqIEZldGNoIHRoZSBmaXJzdCBHcm9jZXJpZXNMaXN0ICYgQmFza2V0IGVhcmx5IChiZWZvcmUgYW55IGFjdGlvbiByZXF1aXJlcyBpdCBvbiBNaWFtJ3NcbiAgICAgKiBzaWRlKSwgc28geW91IGNhbiBzdGFydCB0aGUgYmFza2V0LXN5bmMgZWFybGllclxuICAgICAqL1xuICAgIGluaXRpYWxpemU6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSWYgeW91IGhhdmUgZGlmZmVyZW50IHByaWNlIHRhYmxlcyAob3IgcHJpY2Vib29rcykgZm9yIHRoZSBzYW1lIHBvaW50IG9mIHNhbGUsIHlvdSBjYW4gY2FsbCB0aGlzXG4gICAgICogbWV0aG9kIHRvIG1ha2UgTWlhbSBrbm93IG9uIHdoaWNoIHByaWNlYm9vayB5b3UgYXJlIHVzaW5nXG4gICAgICogRm9yIGV4YW1wbGUsIHByaWNlcyBjYW4gYmUgZGlmZmVyZW50IGRlcGVuZGluZyBvbiBpZiB0aGUgdXNlciBjaG9zZSBob21lIGRlbGl2ZXJ5IG9yIGRyaXZlLWluXG4gICAgICovXG4gICAgdXBkYXRlUHJpY2Vib29rOiAocHJpY2Vib29rTmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIGJhc2tldFN5bmM6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIGlzIGNhbGxlZCB3aGVuIE1pYW0ncyBiYXNrZXQgY2hhbmdlcyB0byB1cGRhdGUgdGhlIHVzZXIncyBjYXJ0IGFjY29yZGluZ2x5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHVzaFByb2R1Y3RzVG9CYXNrZXQgYSBtZXRob2QgdGhhdCB1cGRhdGVzIHRoZSB1c2VyJ3MgY2FydCB3aXRoIHRoZSBwcnVkdWN0cyBwYXNzZWQgaW4gcGFyYW1ldGVyLCBieSBhZGRpbmdcbiAgICAgKiBwcm9kdWN0cyBpZiB0aGVpciBxdWFudGl0eSBpcyBwb3NpdGl2ZSwgYW5kIHJlbW92aW5nIHRoZW0gaWYgdGhlaXIgcXVhbnRpdHkgaXMgbmVnYXRpdmVcbiAgICAgKi9cbiAgICBkZWZpbmVQdXNoUHJvZHVjdHNUb0Jhc2tldDogKHB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBpcyBjYWxsZWQgd2hlbiBNaWFtJ3MgYmFza2V0IGNoYW5nZXMgdG8gdXBkYXRlIHRoZSB1c2VyJ3MgY2FydCBhY2NvcmRpbmdseVxuICAgICAqXG4gICAgICogQHBhcmFtIHB1c2hQcm9kdWN0c1RvQmFza2V0IGEgbWV0aG9kIHRoYXQgdXBkYXRlcyB0aGUgdXNlcidzIGNhcnQgd2l0aCB0aGUgcHJ1ZHVjdHMgcGFzc2VkIGluIHBhcmFtZXRlciwgYnkgYWRkaW5nXG4gICAgICogcHJvZHVjdHMgaWYgdGhlaXIgcXVhbnRpdHkgaXMgcG9zaXRpdmUsIGFuZCByZW1vdmluZyB0aGVtIGlmIHRoZWlyIHF1YW50aXR5IGlzIG5lZ2F0aXZlXG4gICAgICovXG4gICAgZGVmaW5lUHVzaEJhc2tldEVudHJpZXNUb0Jhc2tldDogKHB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSB0aGF0IHRoZSB1c2VyJ3MgY2FydCBoYXMgYmVlbiB1cGRhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29tcGFyYWJsZVByb2R1Y3RzIFRoZSBwcm9kdWN0cyBpbiB0aGUgdXNlcidzIGNhcnRcbiAgICAgKi9cbiAgICByZXRhaWxlckJhc2tldENoYW5nZWQ6IChjb21wYXJhYmxlUHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSB0aGF0IHRoZSB1c2VyJ3MgY2FydCB3YXMgcGFpZFxuICAgICAqIE1pYW0gdGhlbiByZWZyZXNoZXMgdGhlIGdyb2Nlcmllcy1saXN0IGFuZCBiYXNrZXQgZm9yIHRoZSBuZXh0IHVzZXIncyBjYXJ0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gdG90YWwgVGhlIHRvdGFsIHByaWNlIG9mIHRoZSBjYXJ0IHBhaWRcbiAgICAgKi9cbiAgICAgaGFuZGxlUGF5bWVudDogKHRvdGFsOiBudW1iZXIpID0+IHZvaWQ7XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgZmVhdHVyZXM6IHtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSByZWNpcGVzIHRvIGRpc3BsYXkgYSB2aWRlbyBpbnN0ZWFkIG9mIHRoZWlyIHBpY3R1cmUsIGlmIHRoZXJlIGlzIGEgdmlkZW8gZm9yIHRoZSByZWNpcGVcbiAgICAgKi9cbiAgICBlbmFibGVWaWRlb1JlY2lwZXM6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgdGhlIGNhdGFsb2cgdG8gZGlzcGxheSBhcnRpY2xlcywgaWYgdGhlaXIgYXJlIHBhY2thZ2VzIHRoYXQgY29udGFpbiBhbnkgYXJ0aWNsZXNcbiAgICAgKi9cbiAgICBlbmFibGVBcnRpY2xlc0luQ2F0YWxvZzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGF1dGhvcml6ZSBNaWFtIHRvIGFzayBmb3IgdXNlciBwcmVmZXJlbmNlcyB0aGUgZmlyc3QgdGltZSB1c2VycyB2aWV3IHRoZSByZWNpcGUgY2F0YWxvZ1xuICAgICAqL1xuICAgIGVuYWJsZVVzZXJQcmVmZXJlbmNlczogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSB0YWdzIGRpc3BsYXlpbmcgb24gcmVjaXBlLWRldGFpbHNcbiAgICAgKi9cbiAgICBlbmFibGVUYWdzT25SZWNpcGVzOiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gZW5hYmxlIHBlcnNvbmFsIHJlY2lwZXMgb24gcmVjaXBlLWNhdGFsb2dcbiAgICAgKi9cbiAgICBlbmFibGVQZXJzb25hbFJlY2lwZXM6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgdGhlIG1lYWxzLXBsYW5uZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmwgb2YgdGhlIHBhZ2Ugd2hlcmUgeW91IGluamVjdCB0aGUgbWVhbHMgcGxhbm5lclxuICAgICAqL1xuICAgIGVuYWJsZU1lYWxzUGxhbm5lcjogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGhvb2s6IHtcbiAgICAvKipcbiAgICAgKiBTZXQgdXAgYSBjYWxsYmFjayB3aGljaCBNaWFtIHdpbGwgY2FsbCBiZWZvcmUgYWRkaW5nIGEgcmVjaXBlIHRvIHRoZSB1c2VyJ3MgY2FydFxuICAgICAqXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIGEgbWV0aG9kIHRoYXQgd2lsbCBiZSBjYWxsZWQgcGFzc2luZyB0d28gcGFyYW1ldGVycyA6XG4gICAgICogIC0gaXNMb2dnZWQsIHRydWUgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIChhY2NvcmRpbmcgdG8gTWlhbSwgc2VlIHVzZXIubG9hZFdpdGhFeHRJZCBmb3IgbW9yZSlcbiAgICAgKiAgLSBpc1Bvc1ZhbGlkIHRydWUgaWYgdGhlIFBvaW50T2ZTYWxlIGlzIHJlY29nbml6ZWQgYnkgTWlhbVxuICAgICAqIFR5cGljYWxseSB5b3UgbWlnaHQgd2FudCB0byB1c2UgdGhpcyB0byBzaG93IHlvdXIgY29ubmV4aW9uIHBhZ2UgaWYgdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgcmVjaXBlIHdoaWxlIGxvZ2dlZCBvdXRcbiAgICAgKiBvciB0byBzaG93IHlvdXIgcG9pbnQgb2Ygc2FsZSBwaWNrZXIgaWYgdGhlIHVzZXIgaGFzIG5vdCBjaG9zZW4gb25lXG4gICAgICovXG4gICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBsaXN0OiB7XG4gICAgLyoqXG4gICAgICogUmVzZXRzIE1pYW0ncyBHcm9jZXJpZXNMaXN0ICYgZW1wdGllcyBhbGwgcHJvZHVjdHMgJiByZWNpcGVzIGFkZGVkIGJ5IHRoZSB1c2VyXG4gICAgICogLyFcXCBXZSBoZWF2aWx5IHJlY29tbWVuZCBub3QgdG8gdXNlIHRoaXMgbWV0aG9kIG91dHNpZGUgb2YgdGhlIHdlYiBjb25zb2xlIGZvciB0ZXN0aW5nIHB1cnBvc2VzIC8hXFxcbiAgICAgKi9cbiAgICByZXNldDogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBBIEJlaGF2aW9yU3ViamVjdCB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IG51bWJlciBvZiByZWNpcGVzIGluIE1pYW0ncyBHcm9jZXJpZXNMaXN0XG4gICAgICovXG4gICAgcmVjaXBlQ291bnQ6ICgpID0+IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwb3M6IHtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIG9mIHRoZSBwb2ludCBvZiBzYWxlIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBvbi4gRG8gbm90IGZvcmdldCB0byBjYWxsIHRoZSBtZXRob2RcbiAgICAgKiBpZiBpdCBjaGFuZ2VzIGFmdGVyIHVzZXIgbG9hZHMgdGhlIHBhZ2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBleHRlcm5hbElkIHRoZSBpZCBvZiB0aGUgUG9pbnRPZlNhbGUgaW4gY2xpZW50J3MgZGF0YWJhc2VcbiAgICAgKi9cbiAgICBsb2FkOiAoZXh0ZXJuYWxJZCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICByZWNpcGVzOiB7XG4gICAgLyoqXG4gICAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgdmFsdWUgd2hlbiB0aGUgcmVjaXBlLW1vZGFsIGlzIGNsb3NlZFxuICAgICAqL1xuICAgIGhpZGRlbjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBJZiBjYWxsZWQgd2l0aCBhIHBhcmFtZXRlciB0byB0cnVlLCByZWNpcGUtZGV0YWlscyB3aWxsIHNob3cgYSBwaWN0dXJlIG5leHQgdG8gdGhlIGluZ3JlZGllbnRzXG4gICAgICovXG4gICAgc2hvdWxkRGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHM6IChzaG91bGQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB3aXRoIGFuIHVybCBvZiBhIHBpY3R1cmUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBpY3R1cmUgZGlzcGxheWVkIGlmIGFuIGluZ3JlZGllbnQgZG9lc24ndCBoYXZlIGEgcGljdHVyZVxuICAgICAqIGFuZCBpZiBpbmdyZWRpZW50cyBwaWN0dXJlIGhhdmUgYmVlbiBlbmFibGVkIHdpdGggcmVjaXBlcy5zaG91bGREaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyh0cnVlKVxuICAgICAqL1xuICAgIHNldERlZmF1bHRJbmdyZWRpZW50UGljdHVyZTogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIGRlZmF1bHQgbGFiZWxzIGZvciBkaWZmaWN1bHR5IGxldmVsc1xuICAgICAqXG4gICAgICogQHBhcmFtIGxldmVscyBUaGUgbGlzdCBvZiBsYWJlbHMgdG8gb3ZlcnJpZGUgZm9yIGVhY2ggZGlmZmljdWx0eSAoZGlmZmljdWx0aWVzIGFyZSByZXNwZWN0aXZlbHkgMTogRWFzeSwgMjogTWVkaXVtLCAzOiBIYXJkKVxuICAgICAqIGV4YW1wbGUgOiBbe3ZhbHVlOiAxLCBsYWJlbDogXCJCZWdpbm5lclwifV0gdG8gdXBkYXRlIHRoZSBsYWJlbCBvZiBlYXN5IHJlY2lwZXMgdG8gXCJCZWdpbm5lclwiXG4gICAgICovXG4gICAgc2V0RGlmZmljdWx0eUxldmVsczogKGxldmVsczogeyB2YWx1ZTogbnVtYmVyOyBsYWJlbDogc3RyaW5nIH1bXSkgPT4gdm9pZDtcbiAgICAvLyAvKipcbiAgICAvLyAgKiAvIVxcIERFUFJFQ0FURUQ6IERPIE5PVCBVU0UgLyFcXFxuICAgIC8vICAqL1xuICAgIC8vICBzZXRSZWNpcGVzUHJpbWFyeUJ1dHRvbkFjdGlvbnM6IChkaXNwbGF5OiBib29sZWFuLCBhZGRUb0Jhc2tldDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICAvLyAvKipcbiAgICAvLyAgKiAvIVxcIERFUFJFQ0FURUQ6IERPIE5PVCBVU0UgLyFcXFxuICAgIC8vICAqL1xuICAgIC8vIHNldFN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnM6IChkaXNwbGF5OiBib29sZWFuLCBhZGRUb0Jhc2tldDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJZiBjYWxsZWQsIGFkZGluZyBhIHJlY2lwZSB0byBNaWFtJ3MgYmFza2V0IHdpbGwgZGlzcGxheSBhIGNvbmZpcm1hdGlvbiB0b2FzdGVyXG4gICAgICovXG4gICAgc2hvd0NvbmZpcm1hdGlvblRvYXN0ZXI6ICgpID0+IHZvaWQ7XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcm91dGVyOiB7XG4gICAgLyoqXG4gICAgICogSW5mb3JtIE1pYW0gb2YgdGhlIHVybCB3aGVyZSB0aGUgY2F0YWxvZyBpcyBmb3IgdGhlIHJlZGlyZWN0aW9uIGxpbmsgb2YgcmVjaXBlLWRldGFpbHNcbiAgICAgKi9cbiAgICBzZXRSZWNpcGVDYXRhbG9nVXJsOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSW5mb3JtIE1pYW0gb2YgdGhlIHVybCB3aGVyZSB0aGUgb25ib2FyZGluZyBzZWN0aW9uIG9mIHRoZSBjYXRhbG9nIHNob3VsZCByZWRpcmVjdFxuICAgICAqL1xuICAgIHNldFJlY2lwZUluZm9MaW5rOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSW5mb3JtIE1pYW0gb2YgdGhlIHVybCBvZiB0aGUgcmV0YWlsZXIncyBpZiBNaWFtIG5lZWRzIHRvIHJlZGlyZWN0IHRoZXJlXG4gICAgICovXG4gICAgc2V0UmV0YWlsZXJDYXJ0VXJsOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSW5mb3JtIE1pYW0gb2YgdGhlIHVybCB3aGVyZSB0aGUgcHJvbW90aW9ucyBhcmVcbiAgICAgKi9cbiAgICBzZXRQcm9tb3Rpb25zVXJsOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgc3VwcGxpZXI6IHtcbiAgICAvKipcbiAgICAgKiAvIVxcIFRoaXMgbmVlZHMgdG8gYmUgdGhlIGZpcnN0IG1ldGhvZCBjYWxsZWQsIGJlY2F1c2Ugbm90aGluZyB3aWxsIHdvcmsgaWYgdGhlIG9yaWdpbiBpc24ndCBzZXRcbiAgICAgKiBAcGFyYW0gb3JpZ2luIGFuIGlkZW50aWZpZXIgc3RyaW5nIHRoYXQgTWlhbSBwYXNzZXMgdG8gdGhlIEFQSSB3aXRoIGVhY2ggcmVxdWVzdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBvcmlnaW5cbiAgICAgKiBvZiB0aGUgcmVxdWVzdFxuICAgICAqL1xuICAgIHNldE9yaWdpbjogKG9yaWdpbjogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gaW5mb3JtIE1pYW0gb2YgdGhlIHN1cHBsaWVyIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBvbi4gRG8gbm90IGZvcmdldCB0byBjYWxsIHRoZSBtZXRob2RcbiAgICAgKiBpZiBpdCBjaGFuZ2VzIGFmdGVyIHVzZXIgbG9hZHMgdGhlIHBhZ2UgKHNob3VsZCBub3QgaGFwcGVuIGVzY2VwdCBpbiB2ZXJ5IHNwZWNpZmljIGNhc2VzKVxuICAgICAqXG4gICAgICogQHBhcmFtIHN1cHBsaWVySWQgdGhlIFN1cHBsaWVyIGlkIGluIE1pYW0ncyBkYXRhYmFzZVxuICAgICAqL1xuICAgIGxvYWQ6IChzdXBwbGllcklkOiBudW1iZXIgfCBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgdXNlcjoge1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gaW5mb3JtIE1pYW0gb2YgdGhlIGlkIG9mIHRoZSB1c2VyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIGEgc3RyaW5nIHVuaXF1ZSBpZGVudGlmaWVyIHRvIHRoZSB1c2VyXG4gICAgICogQHBhcmFtIGZvcmJpZFByb2ZpbGluZyBpZiBzZXQgdG8gdHJ1ZSwgZGVzYWN0aXZhdGUgcGVyc29uYWxpemVkIGNvbnRlbnQgKHBlcnNvbmFsaXplZCByZWNpcGVzICYgcHJvZHVjdHMpXG4gICAgICogQHBhcmFtIGluaXRCYXNrZXQgREVQUkVDQVRFRCAtIGlmIHNldCB0byB0cnVlLCBmZXRjaCB0aGUgR3JvY2VyaWVzTGlzdCAmIEJhc2tldCBvZiB0aGUgdXNlciAocmVjb21tYW5kZWQgYXNcbiAgICAgKiBpdCBzYXZlcyB0aW1lIGxhdGVyKVxuICAgICAqL1xuICAgIGxvYWRXaXRoRXh0ZXJuYWxJZDogKGlkOiBzdHJpbmcsIGZvcmJpZFByb2ZpbGluZzogYm9vbGVhbiwgaW5pdEJhc2tldDogYm9vbGVhbikgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+O1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gaW5mb3JtIE1pYW0gdGhhdCB0aGUgdXNlciBoYXMgbG9nZ2VkIG91dFxuICAgICAqL1xuICAgIHJlc2V0OiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIElmIHlvdXIgd2Vic2l0ZSBoYXMgYSBcImZhdm9yaXRlIHByb2R1Y3RzXCIgZmVhdHVyZSwgeW91IGNhbiBwYXNzIHRoZSBpZHMgb2YgYWxsIHByb2R1Y3RzXG4gICAgICogd2hpY2ggdGhlIHVzZXIgaGFzIG1hcmtlZCBhcyBmYXZvcml0ZXMsIHNvIHRoZXkgY2FuIGJlIHByaW9yaXRpemVkIHdoZW4gYWRkaW5nIGEgcmVjaXBlXG4gICAgICogdG8gdGhlaXIgY2FydCwgaWYgb25lIG9mIHRoZW0gaXMgcmV0dXJuZWQgYXMgYSBtYXRjaGluZyBwcm9kdWN0IGZvciB0aGUgcmVjaXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZhdm9yaXRlUHJvZHVjdElkcyBhbiBhcnJheSBvZiBwcm9kdWN0IGlkcywgcGFzc2VkIGFzIHN0cmluZ1xuICAgICAqL1xuICAgIHNldEZhdm9yaXRlSXRlbXM6IChmYXZvcml0ZVByb2R1Y3RJZHM6IHN0cmluZ1tdKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgdmlldzoge1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gbm90aWZ5IE1pYW0gb2YgdGhlIHNjcm9sbGFibGUgZWxlbWVudCBvZiB0aGUgY2xpZW50J3MgcGFnZSwgaWYgaXQgaXMgbm90IDxib2R5PlxuICAgICAqIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHByZXZlbnQgdGhlIHBhZ2UgdG8gc2Nyb2xsIGluIHRoZSBiYWNrZ3JvdWQgd2hlbiBNaWFtIG9wZW5zIGEgcG9wdXAvbW9kYWwvZHJhd2VyXG4gICAgICovXG4gICAgc2V0R2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQ6IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdHdvIHRpbWVzIHdpbGwgbm90IGJlIGNvbnNpZGVyZWQgKERFUFJFQ0FURUQpXG4gICAqIEBwYXJhbSBpY29uIGhhdmUgdG8gYmUgYSBrbm93ZWQgaWNvbiBuYW1lIHNlZSBzZWN0aW9uICdDdXN0b20gaWNvbnMnIGluIHJlYWQgbWVcbiAgICogQHBhcmFtIHVybCBvZiB0aGUgbmV3IGljb25cbiAgICovXG4gIG92ZXJyaWRlSWNvbjogKGljb24sIHVybDogc3RyaW5nKSA9PiB2b2lkO1xufVxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlhbS1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9idWlsZGVkL21pYW0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wYXJhYmxlUHJvZHVjdCB9IGZyb20gJy4vY29tcGFyYWJsZS1wcm9kdWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBNaWFtSW50ZXJmYWNlICB7XG4gIC8qKlxuICAgKiBNZXRob2QgdG8gY2FsbCB3aGVuIHRoZSB1c2VyIGJlZ2lucyB0aGUgcGF5bWVudCBwcm9jZWR1cmUgKHR5cGljYWxseSB3aGVuIHRoZXkgY2xpY2tcbiAgICogb24gYSBcIkNvbmZpcm0gbXkgY2FydFwiIGJ1dHRvbilcbiAgICogQHBhcmFtIHRvdGFsUHJpY2UgdGhlIHRvdGFsIHByaWNlIG9mIHlvdXIgYmFza2V0IChjYW4gYmUgYSBmbG9hdGluZyBvciBpbnRlZ2VyIG51bWJlcilcbiAgICovXG4gIHBheW1lbnRTdGFydGVkOiAodG90YWxQcmljZTogbnVtYmVyKSA9PiB2b2lkO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGFuYWx5dGljczoge1xuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgQW5hbHl0aWNzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZG9tYWluIFBsYXVzaWJsZSBkb21haW5cbiAgICAgKiBAcGFyYW0gb3B0aW1pemVLZXkgR29vZ2xlIE9wdGltaXplIGtleVxuICAgICAqL1xuICAgIGluaXQ6IChkb21haW46IHN0cmluZywgb3B0aW1pemVLZXk6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBiYXNrZXQ6IHtcbiAgICAvKipcbiAgICAgKiBFbWl0cyB0cnVlIHdoZW4gTWlhbSdzIGJhc2tldCBoYXMgc3VjY2VzZnVsbHkgbG9hZGVkIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICAgKiBEb2VzIG5vdCBlbWl0IGFueXRoaW5nIGJlZm9yZSBvciBhZnRlciB0aGF0LlxuICAgICAqL1xuICAgIGJhc2tldElzUmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIC8qKlxuICAgICAqIEZldGNoIHRoZSBmaXJzdCBCYXNrZXQgZWFybHkgKGJlZm9yZSBhbnkgYWN0aW9uIHJlcXVpcmVzIGl0IG9uIE1pYW0nc1xuICAgICAqIHNpZGUpLCBzbyB5b3UgY2FuIHN0YXJ0IHRoZSBiYXNrZXQtc3luYyBlYXJsaWVyXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZTogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXNldHMgTWlhbSdzIGJhc2tldCA6IGVtcHRpZXMgYWxsIHByb2R1Y3RzICYgcmVjaXBlcyBhZGRlZCBieSB0aGUgdXNlclxuICAgICAqIC8hXFwgV2UgaGVhdmlseSByZWNvbW1lbmQgbm90IHRvIHVzZSB0aGlzIG1ldGhvZCBleGNlcHQgaW4gdGhlIGNvbnNvbGUgZm9yIHRlc3RpbmcgcHVycG9zZXMgLyFcXFxuICAgICAqL1xuICAgIHJlc2V0OiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIElmIHlvdSBoYXZlIGRpZmZlcmVudCBwcmljZSB0YWJsZXMgKG9yIHByaWNlYm9va3MpIGZvciB0aGUgc2FtZSBwb2ludCBvZiBzYWxlLCB5b3UgY2FuIGNhbGwgdGhpc1xuICAgICAqIG1ldGhvZCB0byBtYWtlIE1pYW0ga25vdyBvbiB3aGljaCBwcmljZWJvb2sgeW91IGFyZSB1c2luZ1xuICAgICAqIEZvciBleGFtcGxlLCBwcmljZXMgY2FuIGJlIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gaWYgdGhlIHVzZXIgY2hvc2UgaG9tZSBkZWxpdmVyeSBvciBkcml2ZS1pblxuICAgICAqL1xuICAgIHVwZGF0ZVByaWNlYm9vazogKHByaWNlYm9va05hbWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBBIEJlaGF2aW9yU3ViamVjdCB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IG51bWJlciBvZiByZWNpcGVzIGluIE1pYW0ncyBCYXNrZXRcbiAgICAgKi9cbiAgICByZWNpcGVDb3VudDogKCkgPT4gT2JzZXJ2YWJsZTxudW1iZXI+O1xuICB9O1xuXG4gIGJhc2tldFN5bmM6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIGlzIGNhbGxlZCB3aGVuIE1pYW0ncyBiYXNrZXQgY2hhbmdlcyB0byB1cGRhdGUgdGhlIHVzZXIncyBjYXJ0IGFjY29yZGluZ2x5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHVzaFByb2R1Y3RzVG9CYXNrZXQgYSBtZXRob2QgdGhhdCB1cGRhdGVzIHRoZSB1c2VyJ3MgY2FydCB3aXRoIHRoZSBwcnVkdWN0cyBwYXNzZWQgaW4gcGFyYW1ldGVyLCBieSBhZGRpbmdcbiAgICAgKiBwcm9kdWN0cyBpZiB0aGVpciBxdWFudGl0eSBpcyBwb3NpdGl2ZSwgYW5kIHJlbW92aW5nIHRoZW0gaWYgdGhlaXIgcXVhbnRpdHkgaXMgbmVnYXRpdmVcbiAgICAgKi9cbiAgICBkZWZpbmVQdXNoUHJvZHVjdHNUb0Jhc2tldDogKHB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBpcyBjYWxsZWQgd2hlbiBNaWFtJ3MgYmFza2V0IGNoYW5nZXMgdG8gdXBkYXRlIHRoZSB1c2VyJ3MgY2FydCBhY2NvcmRpbmdseVxuICAgICAqXG4gICAgICogQHBhcmFtIHB1c2hQcm9kdWN0c1RvQmFza2V0IGEgbWV0aG9kIHRoYXQgdXBkYXRlcyB0aGUgdXNlcidzIGNhcnQgd2l0aCB0aGUgcHJ1ZHVjdHMgcGFzc2VkIGluIHBhcmFtZXRlciwgYnkgYWRkaW5nXG4gICAgICogcHJvZHVjdHMgaWYgdGhlaXIgcXVhbnRpdHkgaXMgcG9zaXRpdmUsIGFuZCByZW1vdmluZyB0aGVtIGlmIHRoZWlyIHF1YW50aXR5IGlzIG5lZ2F0aXZlXG4gICAgICovXG4gICAgZGVmaW5lUHVzaEJhc2tldEVudHJpZXNUb0Jhc2tldDogKHB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSB0aGF0IHRoZSB1c2VyJ3MgY2FydCBoYXMgYmVlbiB1cGRhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29tcGFyYWJsZVByb2R1Y3RzIFRoZSBwcm9kdWN0cyBpbiB0aGUgdXNlcidzIGNhcnRcbiAgICAgKi9cbiAgICByZXRhaWxlckJhc2tldENoYW5nZWQ6IChjb21wYXJhYmxlUHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSB0aGF0IHRoZSB1c2VyJ3MgY2FydCB3YXMgcGFpZFxuICAgICAqIE1pYW0gdGhlbiByZWZyZXNoZXMgdGhlIGJhc2tldCBmb3IgdGhlIG5leHQgdXNlcidzIGNhcnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b3RhbCBUaGUgdG90YWwgcHJpY2Ugb2YgdGhlIGNhcnQgcGFpZFxuICAgICAqL1xuICAgICBoYW5kbGVQYXltZW50OiAodG90YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBmZWF0dXJlczoge1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gZW5hYmxlIHJlY2lwZXMgdG8gZGlzcGxheSBhIHZpZGVvIGluc3RlYWQgb2YgdGhlaXIgcGljdHVyZSwgaWYgdGhlcmUgaXMgYSB2aWRlbyBmb3IgdGhlIHJlY2lwZVxuICAgICAqL1xuICAgIGVuYWJsZVZpZGVvUmVjaXBlczogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSB0aGUgY2F0YWxvZyB0byBkaXNwbGF5IGFydGljbGVzLCBpZiB0aGVpciBhcmUgcGFja2FnZXMgdGhhdCBjb250YWluIGFueSBhcnRpY2xlc1xuICAgICAqL1xuICAgIGVuYWJsZUFydGljbGVzSW5DYXRhbG9nOiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gYXV0aG9yaXplIE1pYW0gdG8gYXNrIGZvciB1c2VyIHByZWZlcmVuY2VzIHRoZSBmaXJzdCB0aW1lIHVzZXJzIHZpZXcgdGhlIHJlY2lwZSBjYXRhbG9nXG4gICAgICovXG4gICAgZW5hYmxlVXNlclByZWZlcmVuY2VzOiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gZW5hYmxlIHRhZ3MgZGlzcGxheWluZyBvbiByZWNpcGUtZGV0YWlsc1xuICAgICAqL1xuICAgIGVuYWJsZVRhZ3NPblJlY2lwZXM6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgcGVyc29uYWwgcmVjaXBlcyBvbiByZWNpcGUtY2F0YWxvZ1xuICAgICAqL1xuICAgIGVuYWJsZVBlcnNvbmFsUmVjaXBlczogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSB0aGUgbWVhbHMtcGxhbm5lclxuICAgICAqXG4gICAgICogQHBhcmFtIHVybCBvZiB0aGUgcGFnZSB3aGVyZSB5b3UgaW5qZWN0IHRoZSBtZWFscyBwbGFubmVyXG4gICAgICovXG4gICAgZW5hYmxlTWVhbHNQbGFubmVyOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgaG9vazoge1xuICAgIC8qKlxuICAgICAqIFNldCB1cCBhIGNhbGxiYWNrIHdoaWNoIE1pYW0gd2lsbCBjYWxsIGJlZm9yZSBhZGRpbmcgYSByZWNpcGUgdG8gdGhlIHVzZXIncyBjYXJ0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FsbGJhY2sgYSBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBwYXNzaW5nIHR3byBwYXJhbWV0ZXJzIDpcbiAgICAgKiAgLSBpc0xvZ2dlZCwgdHJ1ZSBpZiB0aGUgdXNlciBpcyBsb2dnZWQgKGFjY29yZGluZyB0byBNaWFtLCBzZWUgdXNlci5sb2FkV2l0aEV4dElkIGZvciBtb3JlKVxuICAgICAqICAtIGlzUG9zVmFsaWQgdHJ1ZSBpZiB0aGUgUG9pbnRPZlNhbGUgaXMgcmVjb2duaXplZCBieSBNaWFtXG4gICAgICogVHlwaWNhbGx5IHlvdSBtaWdodCB3YW50IHRvIHVzZSB0aGlzIHRvIHNob3cgeW91ciBjb25uZXhpb24gcGFnZSBpZiB0aGUgdXNlciB0cmllcyB0byBhZGQgYSByZWNpcGUgd2hpbGUgbG9nZ2VkIG91dFxuICAgICAqIG9yIHRvIHNob3cgeW91ciBwb2ludCBvZiBzYWxlIHBpY2tlciBpZiB0aGUgdXNlciBoYXMgbm90IGNob3NlbiBvbmVcbiAgICAgKi9cbiAgICBzZXRIb29rQ2FsbGJhY2s6IChjYWxsYmFjazogKGlzTG9nZ2VkLCBpc1Bvc1ZhbGlkKSA9PiBib29sZWFuKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvczoge1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gaW5mb3JtIE1pYW0gb2YgdGhlIHBvaW50IG9mIHNhbGUgdGhlIHVzZXIgaXMgY3VycmVudGx5IG9uLiBEbyBub3QgZm9yZ2V0IHRvIGNhbGwgdGhlIG1ldGhvZFxuICAgICAqIGlmIGl0IGNoYW5nZXMgYWZ0ZXIgdXNlciBsb2FkcyB0aGUgcGFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIGV4dGVybmFsSWQgdGhlIGlkIG9mIHRoZSBQb2ludE9mU2FsZSBpbiBjbGllbnQncyBkYXRhYmFzZVxuICAgICAqL1xuICAgIGxvYWQ6IChleHRlcm5hbElkKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHJlY2lwZXM6IHtcbiAgICAvKipcbiAgICAgKiBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSB2YWx1ZSB3aGVuIHRoZSByZWNpcGUtbW9kYWwgaXMgY2xvc2VkXG4gICAgICovXG4gICAgaGlkZGVuOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIC8qKlxuICAgICAqIENhbGwgd2l0aCBhbiB1cmwgb2YgYSBwaWN0dXJlIHRvIGNoYW5nZSB0aGUgZGVmYXVsdCBwaWN0dXJlIGRpc3BsYXllZCBpZiBhbiBpbmdyZWRpZW50IGRvZXNuJ3QgaGF2ZSBhIHBpY3R1cmVcbiAgICAgKiBhbmQgaWYgaW5ncmVkaWVudHMgcGljdHVyZSBoYXZlIGJlZW4gZW5hYmxlZCB3aXRoIHJlY2lwZXMuc2hvdWxkRGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHModHJ1ZSlcbiAgICAgKi9cbiAgICBzZXREZWZhdWx0SW5ncmVkaWVudFBpY3R1cmU6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSBkZWZhdWx0IGxhYmVscyBmb3IgZGlmZmljdWx0eSBsZXZlbHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBsZXZlbHMgVGhlIGxpc3Qgb2YgbGFiZWxzIHRvIG92ZXJyaWRlIGZvciBlYWNoIGRpZmZpY3VsdHkgKGRpZmZpY3VsdGllcyBhcmUgcmVzcGVjdGl2ZWx5IDE6IEVhc3ksIDI6IE1lZGl1bSwgMzogSGFyZClcbiAgICAgKiBleGFtcGxlIDogW3t2YWx1ZTogMSwgbGFiZWw6IFwiQmVnaW5uZXJcIn1dIHRvIHVwZGF0ZSB0aGUgbGFiZWwgb2YgZWFzeSByZWNpcGVzIHRvIFwiQmVnaW5uZXJcIlxuICAgICAqL1xuICAgIHNldERpZmZpY3VsdHlMZXZlbHM6IChsZXZlbHM6IHsgdmFsdWU6IG51bWJlcjsgbGFiZWw6IHN0cmluZyB9W10pID0+IHZvaWQ7XG4gICAgLy8gLyoqXG4gICAgLy8gICogLyFcXCBERVBSRUNBVEVEOiBETyBOT1QgVVNFIC8hXFxcbiAgICAvLyAgKi9cbiAgICAvLyAgc2V0UmVjaXBlc1ByaW1hcnlCdXR0b25BY3Rpb25zOiAoZGlzcGxheTogYm9vbGVhbiwgYWRkVG9CYXNrZXQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLy8gLyoqXG4gICAgLy8gICogLyFcXCBERVBSRUNBVEVEOiBETyBOT1QgVVNFIC8hXFxcbiAgICAvLyAgKi9cbiAgICAvLyBzZXRTdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zOiAoZGlzcGxheTogYm9vbGVhbiwgYWRkVG9CYXNrZXQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSWYgY2FsbGVkLCBhZGRpbmcgYSByZWNpcGUgdG8gTWlhbSdzIGJhc2tldCB3aWxsIGRpc3BsYXkgYSBjb25maXJtYXRpb24gdG9hc3RlclxuICAgICAqL1xuICAgIHNob3dDb25maXJtYXRpb25Ub2FzdGVyOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHNob3VsZCBpZiBzZXQgdG8gdHJ1ZSwgdGhlIHJlY2lwZS1jYXJkcyB3aWxsIGRpc3BsYXkgdGhlIGluZ3JlZGllbnRzIG9mIHRoZWlyIHJlY2lwZVxuICAgICAqL1xuICAgIHNob3VsZERpc3BsYXlJbmdyZWRpZW50UGljdHVyZXNPblJlY2lwZUNhcmRzOiAoc2hvdWxkOiBib29sZWFuKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHJvdXRlcjoge1xuICAgIC8qKlxuICAgICAqIEluZm9ybSBNaWFtIG9mIHRoZSB1cmwgd2hlcmUgdGhlIGNhdGFsb2cgaXMgZm9yIHRoZSByZWRpcmVjdGlvbiBsaW5rIG9mIHJlY2lwZS1kZXRhaWxzXG4gICAgICovXG4gICAgc2V0UmVjaXBlQ2F0YWxvZ1VybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEluZm9ybSBNaWFtIG9mIHRoZSB1cmwgd2hlcmUgdGhlIG9uYm9hcmRpbmcgc2VjdGlvbiBvZiB0aGUgY2F0YWxvZyBzaG91bGQgcmVkaXJlY3RcbiAgICAgKi9cbiAgICBzZXRSZWNpcGVJbmZvTGluazogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEluZm9ybSBNaWFtIG9mIHRoZSB1cmwgb2YgdGhlIHJldGFpbGVyJ3MgaWYgTWlhbSBuZWVkcyB0byByZWRpcmVjdCB0aGVyZVxuICAgICAqL1xuICAgIHNldFJldGFpbGVyQ2FydFVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEluZm9ybSBNaWFtIG9mIHRoZSB1cmwgd2hlcmUgdGhlIHByb21vdGlvbnMgYXJlXG4gICAgICovXG4gICAgc2V0UHJvbW90aW9uc1VybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHN1cHBsaWVyOiB7XG4gICAgLyoqXG4gICAgICogLyFcXCBUaGlzIG5lZWRzIHRvIGJlIHRoZSBmaXJzdCBtZXRob2QgY2FsbGVkLCBiZWNhdXNlIG5vdGhpbmcgd2lsbCB3b3JrIGlmIHRoZSBvcmlnaW4gaXNuJ3Qgc2V0XG4gICAgICogQHBhcmFtIG9yaWdpbiBhbiBpZGVudGlmaWVyIHN0cmluZyB0aGF0IE1pYW0gcGFzc2VzIHRvIHRoZSBBUEkgd2l0aCBlYWNoIHJlcXVlc3QgdG8ga2VlcCB0cmFjayBvZiB0aGUgb3JpZ2luXG4gICAgICogb2YgdGhlIHJlcXVlc3RcbiAgICAgKi9cbiAgICBzZXRPcmlnaW46IChvcmlnaW46IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIG9mIHRoZSBzdXBwbGllciB0aGUgdXNlciBpcyBjdXJyZW50bHkgb24uIERvIG5vdCBmb3JnZXQgdG8gY2FsbCB0aGUgbWV0aG9kXG4gICAgICogaWYgaXQgY2hhbmdlcyBhZnRlciB1c2VyIGxvYWRzIHRoZSBwYWdlIChzaG91bGQgbm90IGhhcHBlbiBlc2NlcHQgaW4gdmVyeSBzcGVjaWZpYyBjYXNlcylcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdXBwbGllcklkIHRoZSBTdXBwbGllciBpZCBpbiBNaWFtJ3MgZGF0YWJhc2VcbiAgICAgKi9cbiAgICBsb2FkOiAoc3VwcGxpZXJJZDogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHVzZXI6IHtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIG9mIHRoZSBpZCBvZiB0aGUgdXNlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBhIHN0cmluZyB1bmlxdWUgaWRlbnRpZmllciB0byB0aGUgdXNlclxuICAgICAqIEBwYXJhbSBmb3JiaWRQcm9maWxpbmcgaWYgc2V0IHRvIHRydWUsIGRlc2FjdGl2YXRlIHBlcnNvbmFsaXplZCBjb250ZW50IChwZXJzb25hbGl6ZWQgcmVjaXBlcyAmIHByb2R1Y3RzKVxuICAgICAqIEBwYXJhbSBpbml0QmFza2V0IERFUFJFQ0FURUQgLSBpZiBzZXQgdG8gdHJ1ZSwgZmV0Y2ggdGhlIEdyb2Nlcmllc0xpc3QgJiBCYXNrZXQgb2YgdGhlIHVzZXIgKHJlY29tbWFuZGVkIGFzXG4gICAgICogaXQgc2F2ZXMgdGltZSBsYXRlcilcbiAgICAgKi9cbiAgICBsb2FkV2l0aEV4dGVybmFsSWQ6IChpZDogc3RyaW5nLCBmb3JiaWRQcm9maWxpbmc6IGJvb2xlYW4sIGluaXRCYXNrZXQ6IGJvb2xlYW4pID0+IE9ic2VydmFibGU8b2JqZWN0PjtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIHRoYXQgdGhlIHVzZXIgaGFzIGxvZ2dlZCBvdXRcbiAgICAgKi9cbiAgICByZXNldDogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJZiB5b3VyIHdlYnNpdGUgaGFzIGEgXCJmYXZvcml0ZSBwcm9kdWN0c1wiIGZlYXR1cmUsIHlvdSBjYW4gcGFzcyB0aGUgaWRzIG9mIGFsbCBwcm9kdWN0c1xuICAgICAqIHdoaWNoIHRoZSB1c2VyIGhhcyBtYXJrZWQgYXMgZmF2b3JpdGVzLCBzbyB0aGV5IGNhbiBiZSBwcmlvcml0aXplZCB3aGVuIGFkZGluZyBhIHJlY2lwZVxuICAgICAqIHRvIHRoZWlyIGNhcnQsIGlmIG9uZSBvZiB0aGVtIGlzIHJldHVybmVkIGFzIGEgbWF0Y2hpbmcgcHJvZHVjdCBmb3IgdGhlIHJlY2lwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmYXZvcml0ZVByb2R1Y3RJZHMgYW4gYXJyYXkgb2YgcHJvZHVjdCBpZHMsIHBhc3NlZCBhcyBzdHJpbmdcbiAgICAgKi9cbiAgICBzZXRGYXZvcml0ZUl0ZW1zOiAoZmF2b3JpdGVQcm9kdWN0SWRzOiBzdHJpbmdbXSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+O1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0d28gdGltZXMgd2lsbCBub3QgYmUgY29uc2lkZXJlZCAoREVQUkVDQVRFRClcbiAgICogQHBhcmFtIGljb24gaGF2ZSB0byBiZSBhIGtub3dlZCBpY29uIG5hbWUgc2VlIHNlY3Rpb24gJ0N1c3RvbSBpY29ucycgaW4gcmVhZCBtZVxuICAgKiBAcGFyYW0gdXJsIG9mIHRoZSBuZXcgaWNvblxuICAgKi9cbiAgb3ZlcnJpZGVJY29uOiAoaWNvbiwgdXJsOiBzdHJpbmcpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export class CustomProperties {
|
|
2
|
+
}
|
|
3
|
+
export class EventTrace {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdHJhY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9ldmVudC10cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWdCO0NBa0I1QjtBQUVELE1BQU0sT0FBTyxVQUFVO0NBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEN1c3RvbVByb3BlcnRpZXMge1xuICAvLyB0c2xpbnQ6ZGlzYWJsZTogdmFyaWFibGUtbmFtZVxuICByZWNpcGVfaWQ/OiBzdHJpbmd8bnVtYmVyO1xuICBjYXRlZ29yeV9pZD86IHN0cmluZ3xudW1iZXI7XG4gIGVudHJ5X25hbWU/OiBzdHJpbmc7XG4gIGJhc2tldF9pZD86IHN0cmluZ3xudW1iZXI7XG4gIG1pYW1fYW1vdW50Pzogc3RyaW5nfG51bWJlcjtcbiAgdG90YWxfYW1vdW50Pzogc3RyaW5nfG51bWJlcjtcbiAgcG9zX2lkPzogc3RyaW5nO1xuICBwb3NfbmFtZT86IHN0cmluZztcbiAgc2VhcmNoX3Rlcm0/OiBzdHJpbmc7XG4gIGFiVGVzdEtleT86IHN0cmluZztcbiAgYnVkZ2V0X3VzZXI/OiBzdHJpbmd8bnVtYmVyO1xuICBidWRnZXRfcGxhbm5lcj86IHN0cmluZ3xudW1iZXI7XG4gIHJlY2lwZXNfY291bnQ/OiBzdHJpbmd8bnVtYmVyO1xuICBndWVzdHM/OiBzdHJpbmd8bnVtYmVyO1xuICB1c2VzX2NvdW50Pzogc3RyaW5nfG51bWJlcjtcbiAgdGltZV9wYXNzZWQ/OiBzdHJpbmd8bnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRXZlbnRUcmFjZSB7XG4gIG9yaWdpblBhdGg6IHN0cmluZztcbiAgcHJvcHM6IEN1c3RvbVByb3BlcnRpZXM7XG59XG4iXX0=
|