ng-miam 3.2.2 → 3.4.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.
Files changed (120) hide show
  1. package/bundles/ng-miam.umd.js +7452 -5975
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +65 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/recipe-type-chooser/recipe-type-chooser.component.js +23 -30
  9. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  10. package/esm2015/lib/_models/article.js +43 -0
  11. package/esm2015/lib/_models/basket.js +2 -2
  12. package/esm2015/lib/_models/groceries-entry.js +23 -2
  13. package/esm2015/lib/_models/groceries-list.js +5 -2
  14. package/esm2015/lib/_models/index.js +4 -1
  15. package/esm2015/lib/_models/package.js +14 -3
  16. package/esm2015/lib/_models/recipe.js +4 -1
  17. package/esm2015/lib/_models/user.js +10 -1
  18. package/esm2015/lib/_services/analytics.service.js +7 -1
  19. package/esm2015/lib/_services/articles.service.js +21 -0
  20. package/esm2015/lib/_services/baskets.service.js +7 -3
  21. package/esm2015/lib/_services/context.service.js +15 -1
  22. package/esm2015/lib/_services/groceries-lists.service.js +23 -6
  23. package/esm2015/lib/_services/index.js +3 -1
  24. package/esm2015/lib/_services/ingredients.service.js +2 -2
  25. package/esm2015/lib/_services/interceptor.service.js +2 -3
  26. package/esm2015/lib/_services/package.service.js +32 -9
  27. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  28. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  29. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  30. package/esm2015/lib/_services/recipes.service.js +2 -2
  31. package/esm2015/lib/_services/suppliers.service.js +2 -2
  32. package/esm2015/lib/_services/toastr.service.js +52 -0
  33. package/esm2015/lib/_services/user.service.js +64 -21
  34. package/esm2015/lib/_types/icon.enum.js +22 -18
  35. package/esm2015/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.js +15 -15
  36. package/esm2015/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.js +3 -3
  37. package/esm2015/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.js +22 -19
  38. package/esm2015/lib/_web-components/basket-preview/basket-preview.module.js +78 -0
  39. package/esm2015/lib/_web-components/basket-preview/index.js +7 -0
  40. package/esm2015/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.js +8 -8
  41. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  42. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  43. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  44. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  45. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  46. package/esm2015/lib/_web-components/drawer/drawer.component.js +1 -1
  47. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  48. package/esm2015/lib/_web-components/index.js +5 -6
  49. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +145 -0
  50. package/esm2015/lib/_web-components/list-scan/index.js +3 -0
  51. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +150 -0
  52. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +87 -0
  53. package/esm2015/lib/_web-components/list-scan/list-scan.module.js +60 -0
  54. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +104 -0
  55. package/esm2015/lib/_web-components/loader/index.js +3 -0
  56. package/esm2015/lib/_web-components/loader/loader.module.js +39 -0
  57. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  58. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  59. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  60. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +307 -270
  61. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  62. package/esm2015/lib/_web-components/recipe-stepper/recipe-stepper.component.js +1 -1
  63. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +1 -1
  64. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  65. package/esm2015/lib/_web-components/web-components.module.js +35 -65
  66. package/esm2015/lib/environments/environment.js +6 -0
  67. package/esm2015/lib/ng-miam.module.js +4 -4
  68. package/fesm2015/ng-miam.js +6540 -5287
  69. package/fesm2015/ng-miam.js.map +1 -1
  70. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  71. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  72. package/lib/_components/recipe-type-chooser/recipe-type-chooser.component.d.ts +2 -2
  73. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  74. package/lib/_models/article.d.ts +23 -0
  75. package/lib/_models/basket.d.ts +1 -2
  76. package/lib/_models/groceries-entry.d.ts +8 -1
  77. package/lib/_models/groceries-list.d.ts +4 -3
  78. package/lib/_models/index.d.ts +3 -0
  79. package/lib/_models/package.d.ts +10 -3
  80. package/lib/_models/recipe.d.ts +1 -0
  81. package/lib/_models/user.d.ts +16 -1
  82. package/lib/_services/articles.service.d.ts +10 -0
  83. package/lib/_services/context.service.d.ts +12 -6
  84. package/lib/_services/groceries-lists.service.d.ts +4 -1
  85. package/lib/_services/index.d.ts +2 -0
  86. package/lib/_services/package.service.d.ts +6 -1
  87. package/lib/_services/toastr.service.d.ts +10 -0
  88. package/lib/_services/user.service.d.ts +12 -6
  89. package/lib/_types/icon.enum.d.ts +21 -17
  90. package/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.d.ts +6 -6
  91. package/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.d.ts +2 -2
  92. package/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.d.ts +7 -7
  93. package/lib/_web-components/basket-preview/basket-preview.module.d.ts +16 -0
  94. package/lib/_web-components/basket-preview/index.d.ts +5 -0
  95. package/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.d.ts +5 -5
  96. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  97. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  98. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  99. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  100. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  101. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  102. package/lib/_web-components/index.d.ts +4 -5
  103. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +25 -0
  104. package/lib/_web-components/list-scan/index.d.ts +2 -0
  105. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +22 -0
  106. package/lib/_web-components/list-scan/list-scan.component.d.ts +17 -0
  107. package/lib/_web-components/list-scan/list-scan.module.d.ts +16 -0
  108. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +19 -0
  109. package/lib/_web-components/loader/index.d.ts +2 -0
  110. package/lib/_web-components/loader/loader.module.d.ts +10 -0
  111. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  112. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  113. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  114. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +8 -3
  115. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  116. package/lib/_web-components/web-components.module.d.ts +38 -65
  117. package/lib/{environment.d.ts → environments/environment.d.ts} +1 -1
  118. package/miam-style.css +1 -1
  119. package/package.json +1 -1
  120. package/esm2015/lib/environment.js +0 -8
@@ -1,17 +1,19 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { Recipe } from '../../_models';
3
- import { RecipesService } from '../../_services';
3
+ import { RecipesService, ContextService } from '../../_services';
4
+ import { AnalyticsService } from '../../_services/analytics.service';
4
5
  import { Icon } from '../../_types/icon.enum';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../_services";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "../../_components/icon/icon.component";
9
- import * as i4 from "@angular/forms";
8
+ import * as i2 from "../../_services/analytics.service";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "../../_components/icon/icon.component";
11
+ import * as i5 from "@angular/forms";
10
12
  function CatalogHeaderComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
11
13
  const _r4 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵelementStart(0, "div", 13);
14
+ i0.ɵɵelementStart(0, "div", 14);
13
15
  i0.ɵɵlistener("click", function CatalogHeaderComponent_div_0_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return ctx_r3.returnButtonPressed.emit(); });
14
- i0.ɵɵelement(1, "ng-miam-icon", 14);
16
+ i0.ɵɵelement(1, "ng-miam-icon", 15);
15
17
  i0.ɵɵelementStart(2, "span");
16
18
  i0.ɵɵtext(3, "Retour");
17
19
  i0.ɵɵelementEnd();
@@ -21,22 +23,31 @@ function CatalogHeaderComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
21
23
  i0.ɵɵadvance(1);
22
24
  i0.ɵɵproperty("iconName", ctx_r1.icon.ChevronDown);
23
25
  } }
24
- function CatalogHeaderComponent_div_0_div_13_Template(rf, ctx) { if (rf & 1) {
26
+ function CatalogHeaderComponent_div_0_div_14_Template(rf, ctx) { if (rf & 1) {
25
27
  const _r6 = i0.ɵɵgetCurrentView();
26
- i0.ɵɵelementStart(0, "div", 15);
27
- i0.ɵɵlistener("click", function CatalogHeaderComponent_div_0_div_13_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(2); return ctx_r5.openRecipe(); });
28
- i0.ɵɵelementStart(1, "span");
29
- i0.ɵɵtext(2);
28
+ i0.ɵɵelementStart(0, "div", 16);
29
+ i0.ɵɵlistener("click", function CatalogHeaderComponent_div_0_div_14_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(2); return ctx_r5.openRecipe(); });
30
+ i0.ɵɵelement(1, "ng-miam-icon", 17);
31
+ i0.ɵɵelementStart(2, "div", 18);
32
+ i0.ɵɵelementStart(3, "span");
33
+ i0.ɵɵelementStart(4, "b");
34
+ i0.ɵɵelementStart(5, "u");
35
+ i0.ɵɵtext(6, "RECETTE VID\u00C9O");
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelement(7, "br");
39
+ i0.ɵɵtext(8);
40
+ i0.ɵɵelementEnd();
30
41
  i0.ɵɵelementEnd();
31
- i0.ɵɵelement(3, "ng-miam-icon", 16);
32
42
  i0.ɵɵelementEnd();
33
43
  } if (rf & 2) {
34
44
  const ctx_r2 = i0.ɵɵnextContext(2);
35
- i0.ɵɵadvance(2);
36
- i0.ɵɵtextInterpolate1("D\u00E9couvrez une recette de la semaine : ", ctx_r2.forcedRecipe ? ctx_r2.forcedRecipe.attributes.title : ctx_r2.defaultRecipe.attributes.title, "");
37
45
  i0.ɵɵadvance(1);
38
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r2.icon.Help);
46
+ i0.ɵɵproperty("iconName", ctx_r2.icon.Video)("width", 150)("height", 150);
47
+ i0.ɵɵadvance(7);
48
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.forcedRecipe ? ctx_r2.forcedRecipe.attributes.title : ctx_r2.defaultRecipe.attributes.title, " ");
39
49
  } }
50
+ const _c0 = function (a0) { return { video: a0 }; };
40
51
  function CatalogHeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
41
52
  const _r8 = i0.ɵɵgetCurrentView();
42
53
  i0.ɵɵelementStart(0, "div", 1);
@@ -47,21 +58,23 @@ function CatalogHeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
47
58
  i0.ɵɵtemplate(4, CatalogHeaderComponent_div_0_div_4_Template, 4, 1, "div", 5);
48
59
  i0.ɵɵelementStart(5, "div", 6);
49
60
  i0.ɵɵelementStart(6, "div", 7);
50
- i0.ɵɵtext(7);
61
+ i0.ɵɵelementStart(7, "div", 8);
62
+ i0.ɵɵtext(8);
63
+ i0.ɵɵelementEnd();
64
+ i0.ɵɵelementStart(9, "div", 9);
65
+ i0.ɵɵelementStart(10, "ng-miam-icon", 10);
66
+ i0.ɵɵlistener("click", function CatalogHeaderComponent_div_0_Template_ng_miam_icon_click_10_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.emitSearchString(); });
51
67
  i0.ɵɵelementEnd();
52
- i0.ɵɵelementStart(8, "div", 8);
53
- i0.ɵɵelementStart(9, "ng-miam-icon", 9);
54
- i0.ɵɵlistener("click", function CatalogHeaderComponent_div_0_Template_ng_miam_icon_click_9_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.emitSearchString(); });
68
+ i0.ɵɵelementStart(11, "input", 11);
69
+ i0.ɵɵlistener("ngModelChange", function CatalogHeaderComponent_div_0_Template_input_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.searchString = $event; })("keydown.enter", function CatalogHeaderComponent_div_0_Template_input_keydown_enter_11_listener() { i0.ɵɵrestoreView(_r8); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.emitSearchString(); })("blur", function CatalogHeaderComponent_div_0_Template_input_blur_11_listener() { i0.ɵɵrestoreView(_r8); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.emitSearchString(); });
55
70
  i0.ɵɵelementEnd();
56
- i0.ɵɵelementStart(10, "input", 10);
57
- i0.ɵɵlistener("ngModelChange", function CatalogHeaderComponent_div_0_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.searchString = $event; })("keydown.enter", function CatalogHeaderComponent_div_0_Template_input_keydown_enter_10_listener() { i0.ɵɵrestoreView(_r8); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.emitSearchString(); })("blur", function CatalogHeaderComponent_div_0_Template_input_blur_10_listener() { i0.ɵɵrestoreView(_r8); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.emitSearchString(); });
71
+ i0.ɵɵelementStart(12, "div", 12);
72
+ i0.ɵɵtext(13, " Rechercher ");
58
73
  i0.ɵɵelementEnd();
59
- i0.ɵɵelementStart(11, "div", 11);
60
- i0.ɵɵtext(12, " Rechercher ");
61
74
  i0.ɵɵelementEnd();
62
75
  i0.ɵɵelementEnd();
76
+ i0.ɵɵtemplate(14, CatalogHeaderComponent_div_0_div_14_Template, 9, 4, "div", 13);
63
77
  i0.ɵɵelementEnd();
64
- i0.ɵɵtemplate(13, CatalogHeaderComponent_div_0_div_13_Template, 4, 4, "div", 12);
65
78
  i0.ɵɵelementEnd();
66
79
  } if (rf & 2) {
67
80
  const ctx_r0 = i0.ɵɵnextContext();
@@ -70,18 +83,22 @@ function CatalogHeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
70
83
  i0.ɵɵadvance(1);
71
84
  i0.ɵɵproperty("ngIf", ctx_r0.displayReturnButton);
72
85
  i0.ɵɵadvance(3);
86
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx_r0.context.videoRecipesEnabled && !ctx_r0.displayReturnButton));
87
+ i0.ɵɵadvance(1);
73
88
  i0.ɵɵtextInterpolate1(" ", ctx_r0.title, " ");
74
89
  i0.ɵɵadvance(2);
75
90
  i0.ɵɵproperty("iconName", ctx_r0.icon.Search);
76
91
  i0.ɵɵadvance(1);
77
92
  i0.ɵɵproperty("ngModel", ctx_r0.searchString);
78
93
  i0.ɵɵadvance(3);
79
- i0.ɵɵproperty("ngIf", ctx_r0.forcedRecipe || !ctx_r0.forcedPictureUrl);
94
+ i0.ɵɵproperty("ngIf", ctx_r0.context.videoRecipesEnabled && !ctx_r0.displayReturnButton && ((ctx_r0.forcedRecipe == null ? null : ctx_r0.forcedRecipe.videoId) || ctx_r0.defaultRecipe.videoId));
80
95
  } }
81
96
  export class CatalogHeaderComponent {
82
- constructor(recipesService, cdr) {
97
+ constructor(recipesService, cdr, analytics, context) {
83
98
  this.recipesService = recipesService;
84
99
  this.cdr = cdr;
100
+ this.analytics = analytics;
101
+ this.context = context;
85
102
  this.returnButtonPressed = new EventEmitter();
86
103
  this.searchStringChanged = new EventEmitter();
87
104
  this.forcedPictureUrl = '';
@@ -93,8 +110,7 @@ export class CatalogHeaderComponent {
93
110
  this.isLoading = true;
94
111
  }
95
112
  ngOnInit() {
96
- this.subscriptions.push(this.recipesService.getRandom({ number: 1, size: 1 }, { suggested: true, reviewed: true, exclude_no_picture: true })
97
- .subscribe((result) => {
113
+ this.subscriptions.push(this.recipesService.getRandom({ number: 1, size: 1 }, { promoted: true, reviewed: true, exclude_no_picture: true }).subscribe((result) => {
98
114
  this.defaultRecipe = result[0];
99
115
  this.isLoading = false;
100
116
  this.cdr.detectChanges();
@@ -104,6 +120,7 @@ export class CatalogHeaderComponent {
104
120
  this.cdr.detectChanges();
105
121
  }
106
122
  openRecipe() {
123
+ this.analytics.sendEvent('display-recipe', 'header/video');
107
124
  if (this.forcedRecipe) {
108
125
  this.recipesService.displayObject(this.forcedRecipe, { guests: this.forcedRecipe.modifiedGuests });
109
126
  }
@@ -123,12 +140,12 @@ export class CatalogHeaderComponent {
123
140
  this.subscriptions.forEach(sub => sub.unsubscribe());
124
141
  }
125
142
  }
126
- CatalogHeaderComponent.ɵfac = function CatalogHeaderComponent_Factory(t) { return new (t || CatalogHeaderComponent)(i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
127
- CatalogHeaderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CatalogHeaderComponent, selectors: [["ng-miam-catalog-header"]], inputs: { forcedRecipe: "forcedRecipe", forcedPictureUrl: "forcedPictureUrl", displayReturnButton: "displayReturnButton", title: "title" }, outputs: { returnButtonPressed: "returnButtonPressed", searchStringChanged: "searchStringChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "miam-catalog-header", 4, "ngIf"], [1, "miam-catalog-header"], [1, "miam-catalog-header__picture"], [1, "miam-catalog-header__picture__gradient"], [1, "miam-catalog-header__picture__img", 3, "src"], ["class", "miam-catalog-header__return", 3, "click", 4, "ngIf"], [1, "miam-catalog-header__content"], [1, "miam-catalog-header__title"], [1, "miam-catalog-header__searchbar"], ["primaryColor", "var(--m-color-primary)", 1, "miam-catalog-header__searchbar__icon", 3, "iconName", "click"], ["type", "text", "placeholder", "Je cherche une recette ou un ingr\u00E9dient", 1, "miam-catalog-header__searchbar__input", 3, "ngModel", "ngModelChange", "keydown.enter", "blur"], [1, "miam-catalog-header__searchbar__button"], ["class", "miam-catalog-header__link", 3, "click", 4, "ngIf"], [1, "miam-catalog-header__return", 3, "click"], ["height", "20", "width", "20", "primaryColor", "var(--m-color-primary)", 3, "iconName"], [1, "miam-catalog-header__link", 3, "click"], ["primaryColor", "var(--m-color-white)", 1, "miam-catalog-header__link__icon", 3, "width", "height", "iconName"]], template: function CatalogHeaderComponent_Template(rf, ctx) { if (rf & 1) {
128
- i0.ɵɵtemplate(0, CatalogHeaderComponent_div_0_Template, 14, 6, "div", 0);
143
+ CatalogHeaderComponent.ɵfac = function CatalogHeaderComponent_Factory(t) { return new (t || CatalogHeaderComponent)(i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i1.ContextService)); };
144
+ CatalogHeaderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CatalogHeaderComponent, selectors: [["ng-miam-catalog-header"]], inputs: { forcedRecipe: "forcedRecipe", forcedPictureUrl: "forcedPictureUrl", displayReturnButton: "displayReturnButton", title: "title" }, outputs: { returnButtonPressed: "returnButtonPressed", searchStringChanged: "searchStringChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "miam-catalog-header", 4, "ngIf"], [1, "miam-catalog-header"], [1, "miam-catalog-header__picture"], [1, "miam-catalog-header__picture__gradient"], [1, "miam-catalog-header__picture__img", 3, "src"], ["class", "miam-catalog-header__return", 3, "click", 4, "ngIf"], [1, "miam-catalog-header__content"], [1, "miam-catalog-header__title-and-search"], [1, "miam-catalog-header__title", 3, "ngClass"], [1, "miam-catalog-header__searchbar"], ["primaryColor", "var(--m-color-primary)", 1, "miam-catalog-header__searchbar__icon", 3, "iconName", "click"], ["type", "text", "placeholder", "Je cherche une recette ou un ingr\u00E9dient", 1, "miam-catalog-header__searchbar__input", 3, "ngModel", "ngModelChange", "keydown.enter", "blur"], [1, "miam-catalog-header__searchbar__button"], ["class", "miam-catalog-header__video", 3, "click", 4, "ngIf"], [1, "miam-catalog-header__return", 3, "click"], ["height", "20", "width", "20", "primaryColor", "var(--m-color-primary)", 3, "iconName"], [1, "miam-catalog-header__video", 3, "click"], ["primaryColor", "rgb(51, 51, 51)", 3, "iconName", "width", "height"], [1, "miam-catalog-header__link"]], template: function CatalogHeaderComponent_Template(rf, ctx) { if (rf & 1) {
145
+ i0.ɵɵtemplate(0, CatalogHeaderComponent_div_0_Template, 15, 9, "div", 0);
129
146
  } if (rf & 2) {
130
147
  i0.ɵɵproperty("ngIf", ctx.forcedRecipe || ctx.defaultRecipe);
131
- } }, directives: [i2.NgIf, i3.IconComponent, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgModel], styles: [".miam-catalog-header{display:flex;height:384px;position:relative;width:100%}.miam-catalog-header .miam-catalog-header__picture{height:100%;overflow:hidden;width:100%}.miam-catalog-header .miam-catalog-header__picture .miam-catalog-header__picture__gradient{background:linear-gradient(180deg,transparent,rgba(32,32,32,.9) 93.02%);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;position:absolute;width:100%}.miam-catalog-header .miam-catalog-header__picture .miam-catalog-header__picture__img{-o-object-fit:cover;height:100%;object-fit:cover;transition:var(--m-default-transition);width:100%;z-index:var(--m-z-index-position-absolute-low)}.miam-catalog-header .miam-catalog-header__return{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-white);border-radius:100px;color:var(--m-color-primary);cursor:pointer;display:flex;font-size:13px;font-weight:700;justify-content:flex-start;left:64px;padding:8px 12px;position:absolute;top:40px}.miam-catalog-header .miam-catalog-header__return .icon-container{transform:rotate(90deg)}.miam-catalog-header .miam-catalog-header__content{bottom:90px;left:64px;position:absolute}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title{color:var(--m-color-white);font-size:40px;font-weight:700;margin-bottom:24px;width:632px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar{background:var(--m-color-white);border:1px solid #ccc;border-radius:4px;display:flex;font-size:16px;height:60px;width:580px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input{border:transparent;width:388px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input:focus{outline:transparent}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon{cursor:pointer;padding:20px 8px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__button{background-color:var(--m-color-primary);border-radius:100px;color:var(--m-color-white);cursor:pointer;font-size:17px;font-weight:700;height:36px;margin:12px 12px 12px 8px;padding:8px 24px;width:136px}.miam-catalog-header .miam-catalog-header__link{align-items:center;background-color:hsla(0,0%,100%,.3);border:1px solid hsla(0,0%,100%,.5);border-radius:4px;bottom:24px;color:var(--m-color-white);cursor:pointer;display:flex;flex-direction:row;padding:8px 16px;position:absolute;right:24px}.miam-catalog-header .miam-catalog-header__link .miam-catalog-header__link__icon{margin-left:8px}@media (max-width:1022px){.miam-catalog-header .miam-catalog-header__picture{height:240px;position:relative;width:100%}.miam-catalog-header .miam-catalog-header__return{left:16px;top:16px;z-index:1}.miam-catalog-header .miam-catalog-header__content{bottom:0;display:flex;flex-direction:column;height:100%;justify-content:space-between;left:0;padding:64px 16px;width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title{font-size:30px;width:90%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar{border-radius:8px;flex-direction:row-reverse;width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__button{display:none}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon{background-color:var(--m-color-primary);border-radius:0 8px 8px 0;margin-right:-1px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon .icon-container svg path{fill:var(--m-color-white)}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input{background-color:transparent}.miam-catalog-header .miam-catalog-header__link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.45);border:unset;bottom:unset;left:16px;right:unset;top:152px;width:calc(100% - 32px)}.miam-catalog-header .miam-catalog-header__link ng-miam-icon{display:none}}"], encapsulation: 2, changeDetection: 0 });
148
+ } }, directives: [i3.NgIf, i3.NgClass, i4.IconComponent, i5.DefaultValueAccessor, i5.NgControlStatus, i5.NgModel], styles: [".miam-catalog-header{display:flex;height:285px;position:relative;width:100%}.miam-catalog-header .miam-catalog-header__picture{height:100%;overflow:hidden;width:100%}.miam-catalog-header .miam-catalog-header__picture .miam-catalog-header__picture__gradient{background:linear-gradient(180deg,transparent,rgba(32,32,32,.9) 93.02%);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;position:absolute;width:100%}.miam-catalog-header .miam-catalog-header__picture .miam-catalog-header__picture__img{-o-object-fit:cover;height:100%;object-fit:cover;transition:var(--m-default-transition);width:100%;z-index:var(--m-z-index-position-absolute-low)}.miam-catalog-header .miam-catalog-header__return{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-white);border-radius:100px;color:var(--m-color-primary);cursor:pointer;display:flex;font-size:13px;font-weight:700;justify-content:flex-start;left:64px;padding:8px 12px;position:absolute;top:25px;z-index:1}.miam-catalog-header .miam-catalog-header__return .icon-container{transform:rotate(90deg)}.miam-catalog-header .miam-catalog-header__content{align-items:center;bottom:0;display:flex;height:100%;left:0;padding:64px;position:absolute;width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title{color:var(--m-color-white);font-size:40px;font-weight:700;margin-bottom:24px;width:632px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar{background:var(--m-color-white);border:1px solid #ccc;border-radius:4px;display:flex;font-size:16px;height:60px;width:580px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input{border:transparent;width:388px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input:focus{outline:transparent}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon{cursor:pointer;padding:20px 8px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__button{background-color:var(--m-color-primary);border-radius:100px;color:var(--m-color-white);cursor:pointer;font-size:17px;font-weight:700;height:36px;margin:12px 12px 12px 8px;padding:8px 24px;width:136px}.miam-catalog-header .miam-catalog-header__video{align-items:center;cursor:pointer;display:flex;flex:1;flex-direction:column;margin-top:-15px}.miam-catalog-header .miam-catalog-header__link{align-items:center;background-color:hsla(0,0%,100%,.3);border:1px solid hsla(0,0%,100%,.5);border-radius:4px;color:var(--m-color-white);cursor:pointer;display:flex;justify-content:center;max-width:190px;padding:8px 16px;text-align:center}.miam-catalog-header .miam-catalog-header__link .miam-catalog-header__link__icon{margin-left:8px}@media (max-width:1022px){.miam-catalog-header{height:320px}.miam-catalog-header .miam-catalog-header__picture{height:225px;position:relative;width:100%}.miam-catalog-header .miam-catalog-header__return{left:16px;top:16px;z-index:1}.miam-catalog-header .miam-catalog-header__content{bottom:0;display:flex;flex-direction:column-reverse;height:100%;justify-content:space-between;left:0;padding:16px;width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title-and-search{width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title{font-size:30px;margin-bottom:45px;width:90%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__title.video{display:none}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar{border-radius:8px;flex-direction:row-reverse;width:100%}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__button{display:none}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon{background-color:var(--m-color-primary);border-radius:0 8px 8px 0;margin-right:-1px}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__icon .icon-container svg path{fill:var(--m-color-white)}.miam-catalog-header .miam-catalog-header__content .miam-catalog-header__searchbar .miam-catalog-header__searchbar__input{background-color:transparent}.miam-catalog-header .miam-catalog-header__video{width:100%}.miam-catalog-header .miam-catalog-header__link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.45);border:unset;bottom:unset;left:16px;max-width:100%;right:unset;top:152px;width:100%}.miam-catalog-header .miam-catalog-header__link ng-miam-icon{display:none}}"], encapsulation: 2, changeDetection: 0 });
132
149
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CatalogHeaderComponent, [{
133
150
  type: Component,
134
151
  args: [{
@@ -138,7 +155,7 @@ CatalogHeaderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CatalogHeaderCompo
138
155
  encapsulation: ViewEncapsulation.None,
139
156
  changeDetection: ChangeDetectionStrategy.OnPush
140
157
  }]
141
- }], function () { return [{ type: i1.RecipesService }, { type: i0.ChangeDetectorRef }]; }, { returnButtonPressed: [{
158
+ }], function () { return [{ type: i1.RecipesService }, { type: i0.ChangeDetectorRef }, { type: i2.AnalyticsService }, { type: i1.ContextService }]; }, { returnButtonPressed: [{
142
159
  type: Output
143
160
  }], searchStringChanged: [{
144
161
  type: Output
@@ -151,4 +168,4 @@ CatalogHeaderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CatalogHeaderCompo
151
168
  }], title: [{
152
169
  type: Input
153
170
  }] }); })();
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvY2F0YWxvZy1oZWFkZXIvY2F0YWxvZy1oZWFkZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9jYXRhbG9nLWhlYWRlci9jYXRhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFDdkgsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztJQ0s1QywrQkFDRTtJQURtRSx1S0FBUyxpQ0FBMEIsSUFBQztJQUN2RyxtQ0FBeUg7SUFDekgsNEJBQU07SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQ3JCLGlCQUFNOzs7SUFGd0UsZUFBNkI7SUFBN0Isa0RBQTZCOzs7O0lBOEIzRywrQkFDRTtJQUQrRSwrTEFBc0I7SUFDckcsNEJBQU07SUFBQSxZQUF1SDtJQUFBLGlCQUFPO0lBQ3BJLG1DQUEySjtJQUM3SixpQkFBTTs7O0lBRkUsZUFBdUg7SUFBdkgsNEtBQXVIO0lBQ3ZFLGVBQVk7SUFBWiwwQkFBWSxjQUFBLDhCQUFBOzs7O0lBM0N0RSw4QkFDRTtJQUFBLDhCQUNFO0lBQUEseUJBQTBEO0lBQzFELHlCQUtGO0lBQUEsaUJBQU07SUFFTiw2RUFDRTtJQUlGLDhCQUNFO0lBQUEsOEJBQ0U7SUFBQSxZQUNGO0lBQUEs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QXNCO1FDZm5DLHdFQUNFOztRQUQrQiw0REFBcUM7O2tERGV6RCxzQkFBc0I7Y0FQbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSxpQ0FBaUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7aUdBRVcsbUJBQW1CO2tCQUE1QixNQUFNO1lBQ0csbUJBQW1CO2tCQUE1QixNQUFNO1lBQ0UsWUFBWTtrQkFBcEIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tY2F0YWxvZy1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoKSByZXR1cm5CdXR0b25QcmVzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoU3RyaW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASW5wdXQoKSBmb3JjZWRSZWNpcGU6IFJlY2lwZTtcbiAgQElucHV0KCkgZm9yY2VkUGljdHVyZVVybCA9ICcnO1xuICBASW5wdXQoKSBkaXNwbGF5UmV0dXJuQnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG5cbiAgc2VhcmNoU3RyaW5nID0gJyc7XG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuICBkZWZhdWx0UmVjaXBlOiBSZWNpcGU7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaWNvbiA9IEljb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yZWNpcGVzU2VydmljZS5nZXRSYW5kb20oe251bWJlcjogMSwgc2l6ZTogMX0sIHtzdWdnZXN0ZWQ6IHRydWUsIHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWV9KVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBSZWNpcGVbXSkgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRSZWNpcGUgPSByZXN1bHRbMF07XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9wZW5SZWNpcGUoKSB7XG4gICAgaWYgKHRoaXMuZm9yY2VkUmVjaXBlKSB7XG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXlPYmplY3QodGhpcy5mb3JjZWRSZWNpcGUsICB7IGd1ZXN0cyA6IHRoaXMuZm9yY2VkUmVjaXBlLm1vZGlmaWVkR3Vlc3RzIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheU9iamVjdCh0aGlzLmRlZmF1bHRSZWNpcGUsIHsgZ3Vlc3RzIDogdGhpcy5kZWZhdWx0UmVjaXBlLm1vZGlmaWVkR3Vlc3RzIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdCB1c2VkIGluIGNvbXBvbmVudCwgYnV0IGNhbiBiZSBjYWxsZWQgYnkgcGFyZW50IHZpYSBWaWV3Q2hpbGRcbiAgcmVzZXRTZWFyY2hTdHJpbmcoKSB7XG4gICAgdGhpcy5zZWFyY2hTdHJpbmcgPSAnJztcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBlbWl0U2VhcmNoU3RyaW5nKCkge1xuICAgIHRoaXMuc2VhcmNoU3RyaW5nQ2hhbmdlZC5lbWl0KHRoaXMuc2VhcmNoU3RyaW5nKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyXCIgKm5nSWY9XCJmb3JjZWRSZWNpcGUgfHwgZGVmYXVsdFJlY2lwZVwiPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fcGljdHVyZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgIDxpbWcgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX19waWN0dXJlX19pbWdcIlxuICAgICAgW3NyY109XCJcbiAgICAgICAgZm9yY2VkUmVjaXBlID9cbiAgICAgICAgZm9yY2VkUmVjaXBlLmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddIDpcbiAgICAgICAgKGZvcmNlZFBpY3R1cmVVcmwgPyBmb3JjZWRQaWN0dXJlVXJsIDogZGVmYXVsdFJlY2lwZS5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXSlcIj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImRpc3BsYXlSZXR1cm5CdXR0b25cIiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3JldHVyblwiIChjbGljayk9XCJyZXR1cm5CdXR0b25QcmVzc2VkLmVtaXQoKVwiPlxuICAgIDxuZy1taWFtLWljb24gaGVpZ2h0PScyMCcgd2lkdGg9JzIwJyBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCIgIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCI+PC9uZy1taWFtLWljb24+XG4gICAgPHNwYW4+UmV0b3VyPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX190aXRsZVwiPlxuICAgICAge3t0aXRsZX19XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fc2VhcmNoYmFyXCI+XG4gICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3NlYXJjaGJhcl9faWNvblwiIFxuICAgICAgICAoY2xpY2spPVwiZW1pdFNlYXJjaFN0cmluZygpXCIgXG4gICAgICAgIFtpY29uTmFtZV09XCJpY29uLlNlYXJjaFwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItcHJpbWFyeSlcIj5cbiAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPGlucHV0IFxuICAgICAgICB0eXBlPVwidGV4dFwiIFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkplIGNoZXJjaGUgdW5lIHJlY2V0dGUgb3UgdW4gaW5ncsOpZGllbnRcIiBcbiAgICAgICAgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX19zZWFyY2hiYXJfX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hTdHJpbmdcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJlbWl0U2VhcmNoU3RyaW5nKClcIlxuICAgICAgICAoYmx1cik9XCJlbWl0U2VhcmNoU3RyaW5nKClcIlxuICAgICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3NlYXJjaGJhcl9fYnV0dG9uXCI+XG4gICAgICAgIFJlY2hlcmNoZXJcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fbGlua1wiICpuZ0lmPVwiZm9yY2VkUmVjaXBlIHx8ICFmb3JjZWRQaWN0dXJlVXJsXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgIDxzcGFuPkTDqWNvdXZyZXogdW5lIHJlY2V0dGUgZGUgbGEgc2VtYWluZSA6IHt7Zm9yY2VkUmVjaXBlID8gZm9yY2VkUmVjaXBlLmF0dHJpYnV0ZXMudGl0bGUgOiBkZWZhdWx0UmVjaXBlLmF0dHJpYnV0ZXMudGl0bGV9fTwvc3Bhbj5cbiAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fbGlua19faWNvblwiIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itd2hpdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5IZWxwXCI+PC9uZy1taWFtLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+Il19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvY2F0YWxvZy1oZWFkZXIvY2F0YWxvZy1oZWFkZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9jYXRhbG9nLWhlYWRlci9jYXRhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFDdkgsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0lDSTVDLCtCQUNFO0lBRG1FLHVLQUFTLGlDQUEwQixJQUFDO0lBQ3ZHLG1DQUF5SDtJQUN6SCw0QkFBTTtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFDckIsaUJBQU07OztJQUZ3RSxlQUE2QjtJQUE3QixrREFBNkI7Ozs7SUFnQ3pHLCtCQUNFO0lBRHNDLCtMQUFzQjtJQUM1RCxtQ0FBaUg7SUFDakgsK0JBQ0U7SUFBQSw0QkFDRTtJQUFBLHlCQUFHO0lBQUEseUJBQUc7SUFBQSxrQ0FBYTtJQUFBLGlCQUFJO0lBQUEsaUJBQUk7SUFBQSxxQkFDM0I7SUFBQSxZQUNGO0lBQUEsaUJBQU87SUFDVCxpQkFBTTtJQUNSLGlCQUFNOzs7SUFQVSxlQUF1QjtJQUF2Qiw0Q0FBdUIs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Q0FBQztJQUVELG1FQUFtRTtJQUNuRSxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7NEZBOURVLHNCQUFzQjsyREFBdEIsc0JBQXNCO1FDaEJuQyx3RUFDRTs7UUFEK0IsNERBQXFDOztrRERnQnpELHNCQUFzQjtjQVBsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLGlDQUFpQztnQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Z0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs2SkFFVyxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRyxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRSxZQUFZO2tCQUFwQixLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5pbXBvcnQgeyBSZWNpcGVzU2VydmljZSwgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1jYXRhbG9nLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENhdGFsb2dIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHJldHVybkJ1dHRvblByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWFyY2hTdHJpbmdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBJbnB1dCgpIGZvcmNlZFJlY2lwZTogUmVjaXBlO1xuICBASW5wdXQoKSBmb3JjZWRQaWN0dXJlVXJsID0gJyc7XG4gIEBJbnB1dCgpIGRpc3BsYXlSZXR1cm5CdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcblxuICBzZWFyY2hTdHJpbmcgPSAnJztcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG4gIGRlZmF1bHRSZWNpcGU6IFJlY2lwZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBpY29uID0gSWNvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3M6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0UmFuZG9tKFxuICAgICAgeyBudW1iZXI6IDEsIHNpemU6IDEgfSxcbiAgICAgIHsgcHJvbW90ZWQ6IHRydWUsIHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWUgfVxuICAgICkuc3Vic2NyaWJlKChyZXN1bHQ6IFJlY2lwZVtdKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFJlY2lwZSA9IHJlc3VsdFswXTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb3BlblJlY2lwZSgpIHtcbiAgICB0aGlzLmFuYWx5dGljcy5zZW5kRXZlbnQoJ2Rpc3BsYXktcmVjaXBlJywgJ2hlYWRlci92aWRlbycpO1xuICAgIGlmICh0aGlzLmZvcmNlZFJlY2lwZSkge1xuICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5T2JqZWN0KHRoaXMuZm9yY2VkUmVjaXBlLCAgeyBndWVzdHMgOiB0aGlzLmZvcmNlZFJlY2lwZS5tb2RpZmllZEd1ZXN0cyB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXlPYmplY3QodGhpcy5kZWZhdWx0UmVjaXBlLCB7IGd1ZXN0cyA6IHRoaXMuZGVmYXVsdFJlY2lwZS5tb2RpZmllZEd1ZXN0cyB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBOb3QgdXNlZCBpbiBjb21wb25lbnQsIGJ1dCBjYW4gYmUgY2FsbGVkIGJ5IHBhcmVudCB2aWEgVmlld0NoaWxkXG4gIHJlc2V0U2VhcmNoU3RyaW5nKCkge1xuICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gJyc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZW1pdFNlYXJjaFN0cmluZygpIHtcbiAgICB0aGlzLnNlYXJjaFN0cmluZ0NoYW5nZWQuZW1pdCh0aGlzLnNlYXJjaFN0cmluZyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlclwiICpuZ0lmPVwiZm9yY2VkUmVjaXBlIHx8IGRlZmF1bHRSZWNpcGVcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3BpY3R1cmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fcGljdHVyZV9fZ3JhZGllbnRcIj48L2Rpdj5cbiAgICA8aW1nIGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fcGljdHVyZV9faW1nXCJcbiAgICAgIFtzcmNdPVwiXG4gICAgICAgIGZvcmNlZFJlY2lwZSA/XG4gICAgICAgIGZvcmNlZFJlY2lwZS5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXSA6XG4gICAgICAgIChmb3JjZWRQaWN0dXJlVXJsID8gZm9yY2VkUGljdHVyZVVybCA6IGRlZmF1bHRSZWNpcGUuYXR0cmlidXRlc1snbWVkaWEtdXJsJ10pXCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkaXNwbGF5UmV0dXJuQnV0dG9uXCIgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX19yZXR1cm5cIiAoY2xpY2spPVwicmV0dXJuQnV0dG9uUHJlc3NlZC5lbWl0KClcIj5cbiAgICA8bmctbWlhbS1pY29uIGhlaWdodD0nMjAnIHdpZHRoPScyMCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1wcmltYXJ5KVwiICBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiPjwvbmctbWlhbS1pY29uPlxuICAgIDxzcGFuPlJldG91cjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fdGl0bGUtYW5kLXNlYXJjaFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3RpdGxlXCIgW25nQ2xhc3NdPVwieyB2aWRlbzogY29udGV4dC52aWRlb1JlY2lwZXNFbmFibGVkICYmICFkaXNwbGF5UmV0dXJuQnV0dG9uIH1cIj5cbiAgICAgICAge3t0aXRsZX19XG4gICAgICA8L2Rpdj5cbiAgXG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fc2VhcmNoYmFyXCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLWNhdGFsb2ctaGVhZGVyX19zZWFyY2hiYXJfX2ljb25cIiBcbiAgICAgICAgICAoY2xpY2spPVwiZW1pdFNlYXJjaFN0cmluZygpXCIgXG4gICAgICAgICAgW2ljb25OYW1lXT1cImljb24uU2VhcmNoXCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+XG4gICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkplIGNoZXJjaGUgdW5lIHJlY2V0dGUgb3UgdW4gaW5ncsOpZGllbnRcIiBcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3NlYXJjaGJhcl9faW5wdXRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoU3RyaW5nXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJlbWl0U2VhcmNoU3RyaW5nKClcIlxuICAgICAgICAgIChibHVyKT1cImVtaXRTZWFyY2hTdHJpbmcoKVwiXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1oZWFkZXJfX3NlYXJjaGJhcl9fYnV0dG9uXCI+XG4gICAgICAgICAgUmVjaGVyY2hlclxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fdmlkZW9cIiAoY2xpY2spPVwib3BlblJlY2lwZSgpXCIgKm5nSWY9XCJjb250ZXh0LnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgIWRpc3BsYXlSZXR1cm5CdXR0b24gJiYgKGZvcmNlZFJlY2lwZT8udmlkZW9JZCB8fCBkZWZhdWx0UmVjaXBlLnZpZGVvSWQpXCI+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLlZpZGVvXCIgW3dpZHRoXT1cIjE1MFwiIFtoZWlnaHRdPVwiMTUwXCIgcHJpbWFyeUNvbG9yPVwicmdiKDUxLCA1MSwgNTEpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWhlYWRlcl9fbGlua1wiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8Yj48dT5SRUNFVFRFIFZJRMOJTzwvdT48L2I+PGJyIC8+XG4gICAgICAgICAge3sgZm9yY2VkUmVjaXBlID8gZm9yY2VkUmVjaXBlLmF0dHJpYnV0ZXMudGl0bGUgOiBkZWZhdWx0UmVjaXBlLmF0dHJpYnV0ZXMudGl0bGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj4iXX0=