ng-miam 3.4.0 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng-miam.umd.js +351 -296
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +1 -1
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/counter-input/counter-input.component.js +4 -5
- package/esm2015/lib/_models/ingredient.js +11 -7
- package/esm2015/lib/_models/recipe.js +3 -2
- package/esm2015/lib/_services/context.service.js +5 -1
- package/esm2015/lib/_services/toastr.service.js +4 -4
- package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +322 -282
- package/fesm2015/ng-miam.js +342 -294
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_models/ingredient.d.ts +2 -0
- package/lib/_models/recipe.d.ts +1 -0
- package/lib/_services/context.service.d.ts +2 -0
- package/lib/_services/toastr.service.d.ts +1 -1
- package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +1 -1
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +11 -3
- package/package.json +1 -1
|
@@ -84,7 +84,7 @@ CounterInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CounterInputCompone
|
|
|
84
84
|
} if (rf & 2) {
|
|
85
85
|
var _t;
|
|
86
86
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.counterInput = _t.first);
|
|
87
|
-
} }, inputs: { counter: "counter", minRange: "minRange", maxRange: "maxRange" }, outputs: { counterChange: "counterChange", selected: "selected" }, features: [i0.ɵɵNgOnChangesFeature], decls: 8, vars: 9, consts: [[1, "miam-counter-input"], ["primaryColor", "var(--m-color-light-slate)", 1, "miam-counter-input__icon", 3, "width", "height", "iconName"], [1, "miam-counter-input__button", "miam-counter-input__button__minus", 3, "click"], ["primaryColor", "var(--m-color-secondary)", 3, "width", "height", "iconName"], [1, "miam-counter-input__count", "m-small-typo", 3, "ngModel", "maxLength", "ngModelChange", "click", "focus"], ["counterInput", ""], [1, "miam-counter-input__button", "miam-counter-input__button__plus"], ["primaryColor", "var(--m-color-light-slate)
|
|
87
|
+
} }, inputs: { counter: "counter", minRange: "minRange", maxRange: "maxRange" }, outputs: { counterChange: "counterChange", selected: "selected" }, features: [i0.ɵɵNgOnChangesFeature], decls: 8, vars: 9, consts: [[1, "miam-counter-input"], ["primaryColor", "var(--m-color-light-slate)", 1, "miam-counter-input__icon", 3, "width", "height", "iconName"], [1, "miam-counter-input__button", "miam-counter-input__button__minus", 3, "click"], ["primaryColor", "var(--m-color-secondary)", 3, "width", "height", "iconName"], [1, "miam-counter-input__count", "m-small-typo", 3, "ngModel", "maxLength", "ngModelChange", "click", "focus"], ["counterInput", ""], [1, "miam-counter-input__button", "miam-counter-input__button__plus", 3, "click"], ["primaryColor", "var(--m-color-light-slate)", 3, "iconName"]], template: function CounterInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
88
88
|
i0.ɵɵelementStart(0, "div", 0);
|
|
89
89
|
i0.ɵɵelement(1, "ng-miam-icon", 1);
|
|
90
90
|
i0.ɵɵelementStart(2, "span", 2);
|
|
@@ -95,9 +95,8 @@ CounterInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CounterInputCompone
|
|
|
95
95
|
i0.ɵɵlistener("ngModelChange", function CounterInputComponent_Template_input_ngModelChange_4_listener($event) { return ctx.counter = $event; })("click", function CounterInputComponent_Template_input_click_4_listener($event) { return ctx.prevent($event); })("focus", function CounterInputComponent_Template_input_focus_4_listener() { return ctx.selected.emit(true); })("ngModelChange", function CounterInputComponent_Template_input_ngModelChange_4_listener() { return ctx.updateValue(); });
|
|
96
96
|
i0.ɵɵelementEnd();
|
|
97
97
|
i0.ɵɵelementStart(6, "span", 6);
|
|
98
|
-
i0.ɵɵ
|
|
99
|
-
i0.ɵɵ
|
|
100
|
-
i0.ɵɵelementEnd();
|
|
98
|
+
i0.ɵɵlistener("click", function CounterInputComponent_Template_span_click_6_listener($event) { return ctx.increment($event); });
|
|
99
|
+
i0.ɵɵelement(7, "ng-miam-icon", 7);
|
|
101
100
|
i0.ɵɵelementEnd();
|
|
102
101
|
i0.ɵɵelementEnd();
|
|
103
102
|
} if (rf & 2) {
|
|
@@ -133,4 +132,4 @@ CounterInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CounterInputCompone
|
|
|
133
132
|
type: ViewChild,
|
|
134
133
|
args: ['counterInput']
|
|
135
134
|
}] }); })();
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRlci1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL2NvdW50ZXItaW5wdXQvY291bnRlci1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvY291bnRlci1pbnB1dC9jb3VudGVyLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFTbkQsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUFvQixHQUFzQixFQUFTLFlBQTBCO1FBQXpELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFacEUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSXpD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QztTQUN2QztJQUNILENBQUM7OzBGQTdFVSxxQkFBcUI7MERBQXJCLHFCQUFxQjs7Ozs7O1FDZmxDLDhCQUNFO1FBQUEsa0NBRWU7UUFDZiwrQkFDRTtRQUQwRSxzR0FBUyxxQkFBaUIsSUFBQztRQUNyRyxrQ0FDZTtRQUNqQixpQkFBTztRQUNQLG1DQUVBO1FBRm9FLCtJQUFxQiwwRkFBMEIsbUJBQWUsSUFBekMsb0ZBQzlFLGtCQUFjLElBQUksQ0FBQyxJQUQyRCxvR0FDdkMsaUJBQWEsSUFEMEI7UUFBekYsaUJBRUE7UUFBQSwrQkFDRTtRQUR3RSxzR0FBUyxxQkFBaUIsSUFBQztRQUNuRyxrQ0FDZTtRQUNqQixpQkFBTztRQUNULGlCQUFNOztRQWIyQyxlQUFZO1FBQVosMEJBQVksY0FBQSw0QkFBQTtRQUlGLGVBQVk7UUFBWiwwQkFBWSxjQUFBLDRCQUFBO1FBR0QsZUFBcUI7UUFBckIscUNBQXFCLGdCQUFBO1FBRy9CLGVBQXNCO1FBQXRCLHdDQUFzQjs7a0RESXJFLHFCQUFxQjtjQVBqQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsV0FBVyxFQUFFLGdDQUFnQztnQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDsrRkFHVSxPQUFPO2tCQUFmLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNJLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxRQUFRO2tCQUFqQixNQUFNO1lBRW9CLFlBQVk7a0JBQXRDLFNBQVM7bUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vX3V0aWxzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1jb3VudGVyLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdW50ZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3VudGVyLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENvdW50ZXJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBjb3VudGVyID0gMTtcbiAgQElucHV0KCkgbWluUmFuZ2UgPSAxO1xuICBASW5wdXQoKSBtYXhSYW5nZSA9IDEwMDtcbiAgQE91dHB1dCgpIGNvdW50ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvdW50ZXJJbnB1dCcpIGNvdW50ZXJJbnB1dDogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcbiAgaWNvbiA9IEljb247XG4gIGNvdW50ZXJDaGFuZ2VkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcikgeyB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLmNvdW50ZXJDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmNvdW50ZXJDaGFuZ2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmNvdW50ZXIpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgIHRoaXMuY291bnRlckNoYW5nZWRcbiAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY291bnRlckNoYW5nZS5lbWl0KHRoaXMuY291bnRlcik7XG4gICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGluY3JlbWVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIGlmICh0aGlzLmNvdW50ZXIgPCB0aGlzLm1heFJhbmdlKSB7XG4gICAgICB0aGlzLmNvdW50ZXIrKztcbiAgICAgIHRoaXMuY291bnRlckNoYW5nZWQubmV4dCh0aGlzLmNvdW50ZXIpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGRlY3JlbWVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIGlmICh0aGlzLmNvdW50ZXIgPiB0aGlzLm1pblJhbmdlKSB7XG4gICAgICB0aGlzLmNvdW50ZXItLTtcbiAgICAgIHRoaXMuY291bnRlckNoYW5nZWQubmV4dCh0aGlzLmNvdW50ZXIpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByZXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoKSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcigrdGhpcy5jb3VudGVyKSl7XG4gICAgICB0aGlzLmNvdW50ZXIgPSB0aGlzLmNvdW50ZXJDaGFuZ2VkLnZhbHVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb3VudGVyIDwgdGhpcy5taW5SYW5nZSkge1xuICAgICAgdGhpcy5jb3VudGVyID0gdGhpcy5taW5SYW5nZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY291bnRlciA+IHRoaXMubWF4UmFuZ2UpIHtcbiAgICAgIHRoaXMuY291bnRlciA9IHRoaXMubWF4UmFuZ2U7XG4gICAgfVxuICAgIHRoaXMuY291bnRlckNoYW5nZWQubmV4dCh0aGlzLmNvdW50ZXIpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXMoKSB7XG4gICAgaWYgKHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjNweCknKS5tYXRjaGVzKXtcbiAgICB0aGlzLmNvdW50ZXJJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1jb3VudGVyLWlucHV0XCI+XG4gIDxuZy1taWFtLWljb24gY2xhc3M9J21pYW0tY291bnRlci1pbnB1dF9faWNvbicgW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1saWdodC1zbGF0ZSknXG4gICAgW2ljb25OYW1lXT1cImljb24uR3JvdXBcIj5cbiAgPC9uZy1taWFtLWljb24+XG4gIDxzcGFuIGNsYXNzPVwibWlhbS1jb3VudGVyLWlucHV0X19idXR0b24gbWlhbS1jb3VudGVyLWlucHV0X19idXR0b25fX21pbnVzXCIgIChjbGljayk9XCJkZWNyZW1lbnQoJGV2ZW50KVwiPlxuICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknICBbd2lkdGhdPVwiMTJcIiBbaGVpZ2h0XT1cIjEyXCIgW2ljb25OYW1lXT1cImljb24uTWludXNcIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9zcGFuPlxuICA8aW5wdXQgI2NvdW50ZXJJbnB1dCBjbGFzcz1cIm1pYW0tY291bnRlci1pbnB1dF9fY291bnQgbS1zbWFsbC10eXBvXCIgWyhuZ01vZGVsKV09XCJjb3VudGVyXCIgW21heExlbmd0aF09XCIzXCIgKGNsaWNrKT1cInByZXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT0nc2VsZWN0ZWQuZW1pdCh0cnVlKTsnIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKClcIj5cbiAgPHNwYW4gY2xhc3M9XCJtaWFtLWNvdW50ZXItaW5wdXRfX2J1dHRvbiBtaWFtLWNvdW50ZXItaW5wdXRfX2J1dHRvbl9fcGx1c1wiIChjbGljayk9XCJpbmNyZW1lbnQoJGV2ZW50KVwiID5cbiAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1saWdodC1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLlBsdXNcIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9zcGFuPlxuPC9kaXY+Il19
|
|
@@ -3,14 +3,15 @@ export class Ingredient extends Resource {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
super(...arguments);
|
|
5
5
|
this.attributes = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
'forced-eans': []
|
|
6
|
+
name: '',
|
|
7
|
+
quantity: '',
|
|
8
|
+
unit: '',
|
|
9
|
+
active: true,
|
|
10
|
+
'forced-eans': [],
|
|
11
|
+
picture: ''
|
|
11
12
|
};
|
|
12
13
|
this.relationships = {
|
|
13
|
-
|
|
14
|
+
recipe: new DocumentResource(),
|
|
14
15
|
'quantity-unit': new DocumentResource()
|
|
15
16
|
};
|
|
16
17
|
}
|
|
@@ -23,5 +24,8 @@ export class Ingredient extends Resource {
|
|
|
23
24
|
return '1';
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
get picture() {
|
|
28
|
+
return this.attributes.picture;
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVkaWVudC5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX21vZGVscy9pbmdyZWRpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJekQsTUFBTSxPQUFPLFVBQVcsU0FBUSxRQUFRO0lBQXhDOztRQUNFLGVBQVUsR0FBRztZQUNYLElBQUksRUFBRSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osYUFBYSxFQUFFLEVBQUU7WUFDakIsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUYsa0JBQWEsR0FBRztZQUNkLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFVO1lBQ3RDLGVBQWUsRUFBRSxJQUFJLGdCQUFnQixFQUFnQjtTQUN0RCxDQUFBO0lBY0gsQ0FBQztJQVpDLElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsdURBQXVEO1lBQ3ZELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDeEQ7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZSwgRG9jdW1lbnRSZXNvdXJjZSB9IGZyb20gXCJuZ3gtanNvbmFwaVwiO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSBcIi4vcmVjaXBlXCI7XG5pbXBvcnQgeyBRdWFudGl0eVVuaXQgfSBmcm9tIFwiLi9xdWFudGl0eS11bml0XCI7XG5cbmV4cG9ydCBjbGFzcyBJbmdyZWRpZW50IGV4dGVuZHMgUmVzb3VyY2Uge1xuICBhdHRyaWJ1dGVzID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHF1YW50aXR5OiAnJyxcbiAgICB1bml0OiAnJyxcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgJ2ZvcmNlZC1lYW5zJzogW10sXG4gICAgcGljdHVyZTogJydcbiAgfTtcblxuICByZWxhdGlvbnNoaXBzID0ge1xuICAgIHJlY2lwZTogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlPigpLFxuICAgICdxdWFudGl0eS11bml0JzogbmV3IERvY3VtZW50UmVzb3VyY2U8UXVhbnRpdHlVbml0PigpXG4gIH1cblxuICBnZXQgcXVhbnRpdHkoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hdHRyaWJ1dGVzLnF1YW50aXR5KSB7XG4gICAgICAvLyAgLyFcXCB0b0xvY2FsU3RyaW5nIGNhbiB0cmFuc3Bob3JtIGFuIGRvdCBpbnRvIGEgY29tYVxuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGhpcy5hdHRyaWJ1dGVzLnF1YW50aXR5KS50b1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJzEnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwaWN0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy5waWN0dXJlO1xuICB9XG59XG4iXX0=
|
|
@@ -172,7 +172,8 @@ export class Recipe extends Resource {
|
|
|
172
172
|
return {
|
|
173
173
|
name: ingredient.attributes.name,
|
|
174
174
|
qty: (+ingredient.quantity) / (+this.guests || 1),
|
|
175
|
-
unit: ingredient.attributes.unit
|
|
175
|
+
unit: ingredient.attributes.unit,
|
|
176
|
+
picture: ingredient.picture
|
|
176
177
|
};
|
|
177
178
|
});
|
|
178
179
|
}
|
|
@@ -198,4 +199,4 @@ export class Recipe extends Resource {
|
|
|
198
199
|
return formatedDuration;
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL3JlY2lwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQVksTUFBTSxjQUFjLENBQUM7QUFnQjFFLE1BQU0sT0FBTyxNQUFPLFNBQVEsUUFBUTtJQUFwQzs7UUFFRSxlQUFVLEdBQUc7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLEVBQUU7WUFDZCxXQUFXLEVBQUUsRUFBRTtZQUNmLGtCQUFrQixFQUFFLEVBQUU7WUFDdEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixNQUFNLEVBQUUsRUFBRTtZQUNWLHlCQUF5QixFQUFFLEVBQUU7WUFDN0Isb0JBQW9CLEVBQUUsRUFBRTtZQUN4Qix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxFQUFFO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsWUFBWTtZQUNwQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBRUYsa0JBQWEsR0FBRztZQUNkLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixFQUFjO1lBQ2pELGNBQWMsRUFB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O1NBQ2xGO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N1bWVudENvbGxlY3Rpb24sIFJlc291cmNlLCBEb2N1bWVudFJlc291cmNlIH0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgc3VtLCBub3JtYWxpemUsIHBhcnNlLCB0b01pbnV0ZXMsIER1cmF0aW9uIH0gZnJvbSAnZHVyYXRpb24tZm5zJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXInO1xuaW1wb3J0IHsgUmVjaXBlU3RhdHVzIH0gZnJvbSAnLi9yZWNpcGUtc3RhdHVzJztcbmltcG9ydCB7IFJlY2lwZVR5cGUgfSBmcm9tICcuL3JlY2lwZS10eXBlJztcbmltcG9ydCB7IFJlY2lwZVN0ZXAgfSBmcm9tICcuL3JlY2lwZS1zdGVwJztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuL2luZ3JlZGllbnQnO1xuaW1wb3J0IHsgU3BvbnNvciB9IGZyb20gJy4vc3BvbnNvcic7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnLi9wYWNrYWdlJztcblxuaW50ZXJmYWNlIFNpbXBsaWZpZWRJbmdyZWRpZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICBxdHk6IG51bWJlcjtcbiAgdW5pdDogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBjbGFzcyBSZWNpcGUgZXh0ZW5kcyBSZXNvdXJjZSB7XG5cbiAgYXR0cmlidXRlcyA9IHtcbiAgICB0aXRsZTogJycsXG4gICAgJ2V4dC1pZCc6ICcnLFxuICAgICdleHQtbGluayc6ICcnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAnbnVtYmVyLW9mLWd1ZXN0cyc6ICcnLFxuICAgICdpbmdyZWRpZW50cy1zdHInOiBbXSxcbiAgICAncHJlcGFyYXRpb24tdGltZSc6ICcnLFxuICAgICdwcmVoZWF0aW5nLXRpbWUnOiAnJyxcbiAgICAnY29va2luZy10aW1lJzogJycsXG4gICAgJ3Jlc3RpbmctdGltZSc6ICcnLFxuICAgICdtZWRpYS11cmwnOiAnJyxcbiAgICBzb3VyY2U6ICcnLFxuICAgICdpbmZvcm1hdGlvbmFsLXBhZ2UtaHRtbCc6ICcnLFxuICAgICdmaWxpZ3JhbmUtbG9nby11cmwnOiAnJyxcbiAgICAnaW5mb3JtYXRpb25hbC1zZW50ZW5jZSc6ICcnLFxuICAgIGRpZmZpY3VsdHk6IDEsXG4gICAgY29zdDogMSxcbiAgICBzdWdnZXN0ZWQ6IGZhbHNlLFxuICAgIHBvcHVsYXJpdHk6IDAsXG4gICAgJ3ZpZGVvLWlkJzogJycsXG4gICAgcHJvbW90ZWQ6IGZhbHNlLFxuICAgIHNoYXJlZDogJ25vdF9zaGFyZWQnLFxuICAgIGVkaXRhYmxlOiBmYWxzZVxuICB9O1xuXG4gIHJlbGF0aW9uc2hpcHMgPSB7XG4gICAgaW5ncmVkaWVudHM6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248SW5ncmVkaWVudD4oKSxcbiAgICAncmVjaXBlLXN0ZXBzJzogbmV3IERvY3VtZW50Q29sbGVjdGlvbjxSZWNpcGVTdGVwPigpLFxuICAgICdyZWNpcGUtcHJvdmlkZXInOiBuZXcgRG9jdW1lbnRSZXNvdXJjZTxSZWNpcGVQcm92aWRlcj4oKSxcbiAgICAncmVjaXBlLXN0YXR1cyc6IG5ldyBEb2N1bWVudFJlc291cmNlPFJlY2lwZVN0YXR1cz4oKSxcbiAgICAncmVjaXBlLXR5cGUnOiBuZXcgRG9jdW1lbnRSZXNvdXJjZTxSZWNpcGVUeXBlPigpLFxuICAgIHNwb25zb3JzOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPFNwb25zb3I+KCksXG4gICAgcGFja2FnZXM6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248UGFja2FnZT4oKVxuICB9O1xuXG4gIHR0bCA9IDM2MDA7IC8vIHJlY2lwZXMgd2lsbCBiZSBjYWNoZWQgZm9yIDEgaG91clxuXG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBmaW5hbFRpbWVyID0gdGhpcy5hdHRyaWJ1dGVzWydwcmVwYXJhdGlvbi10aW1lJ10gKyB0aGlzLmF0dHJpYnV0ZXNbJ3ByZWhlYXRpbmctdGltZSddICtcbiAgICB0aGlzLmF0dHJpYnV0ZXNbJ2Nvb2tpbmctdGltZSddICsgdGhpcy5hdHRyaWJ1dGVzWydyZXN0aW5nLXRpbWUnXTtcbiAgbW9kaWZpZWRHdWVzdHM6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZXZlbnRzR3JvdXBJZDogc3RyaW5nO1xuICBwcml2YXRlIF9ldmVudE9yaWdpbjogc3RyaW5nO1xuICBwcml2YXRlIF9ub3JtYWxpemVkSW5ncmVkaWVudHM6IFNpbXBsaWZpZWRJbmdyZWRpZW50W107XG5cbiAgc2hhbGxvd0NvcHlXaXRoRXZlbnRzKG9yaWdpbiwgZ3JvdXBJZCk6IFJlY2lwZSB7XG4gICAgbGV0IHJlcyA9IG5ldyBSZWNpcGUoKTtcbiAgICBPYmplY3QuYXNzaWduKHJlcywgdGhpcyk7XG4gICAgcmVzLl9ldmVudE9yaWdpbiA9IG9yaWdpbjtcbiAgICByZXMuX2V2ZW50c0dyb3VwSWQgPSBncm91cElkO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBnZXQgZXZlbnRzR3JvdXBJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ldmVudHNHcm91cElkO1xuICB9XG5cbiAgZ2V0IGV2ZW50T3JpZ2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50T3JpZ2luO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy50aXRsZTtcbiAgfVxuXG4gIGdldCBwcm9tb3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLnByb21vdGVkO1xuICB9XG5cbiAgZ2V0IGd1ZXN0cygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbJ251bWJlci1vZi1ndWVzdHMnXTtcbiAgfVxuXG4gIGdldCBzaGFyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy5zaGFyZWQgPT09ICdzaGFyZWQnO1xuICB9XG5cbiAgc2V0IHNoYXJlZChpc1NoYXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMuYXR0cmlidXRlcy5zaGFyZWQgPSBpc1NoYXJlZCA/ICdzaGFyZWQnIDogJ25vdF9zaGFyZWQnO1xuICB9XG5cbiAgZ2V0IGZpbGlncmFuZUxvZ29VcmwoKTogU3RyaW5nIHtcbiAgICBpZiAodGhpcy5hdHRyaWJ1dGVzWydmaWxpZ3JhbmUtbG9nby11cmwnXSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc1snZmlsaWdyYW5lLWxvZ28tdXJsJ11cbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvbnNvcnMubGVuZ3RoID4gMCl7XG4gICAgICByZXR1cm4gdGhpcy5zcG9uc29yc1swXS5hdHRyaWJ1dGVzWydsb2dvLXVybCddXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBnZXQgaW5mb3JtYXRpb25hbFNlbnRlbmNlKCk6IFN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc1snaW5mb3JtYXRpb25hbC1zZW50ZW5jZSddXG4gIH1cblxuICBnZXQgY29zdExhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLmF0dHJpYnV0ZXMuY29zdCkge1xuICAgICAgY2FzZSAxOiB7XG4gICAgICAgIHJldHVybiAnZmFpYmxlJztcbiAgICAgIH1cbiAgICAgIGNhc2UgMjoge1xuICAgICAgICByZXR1cm4gJ21veWVuJztcbiAgICAgIH1cbiAgICAgIGNhc2UgMzoge1xuICAgICAgICByZXR1cm4gJ8OpbGV2w6knO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gJ21veWVuJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgY29zdFBpY3R1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGFzc2V0cy9pbWFnZXMvY2FyZC1yZWNpcGUvY29zdC8ke3RoaXMuY29zdExhYmVsLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpfS5zdmdgO1xuICB9XG5cbiAgZ2V0IGRpZmZpY3VsdHlMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5hdHRyaWJ1dGVzLmRpZmZpY3VsdHkpIHtcbiAgICAgIGNhc2UgMToge1xuICAgICAgICByZXR1cm4gJ2ZhY2lsZSc7XG4gICAgICB9XG4gICAgICBjYXNlIDI6IHtcbiAgICAgICAgcmV0dXJuICdtb3llbic7XG4gICAgICB9XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgcmV0dXJuICdkaWZmaWNpbGUnO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gJ2ZhY2lsZSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpZmZpY3VsdHlQaWN0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhc3NldHMvaW1hZ2VzL2NhcmQtcmVjaXBlL2RpZmZpY3VsdHkvJHt0aGlzLmRpZmZpY3VsdHlMYWJlbC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKX0uc3ZnYDtcbiAgfVxuXG4gIGdldCB0b3RhbFRpbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBkdXJhdGlvbiA9IG5vcm1hbGl6ZShzdW0oXG4gICAgICBwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ3ByZXBhcmF0aW9uLXRpbWUnXSksXG4gICAgICBwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ2Nvb2tpbmctdGltZSddKSxcbiAgICAgIHBhcnNlKHRoaXMuYXR0cmlidXRlc1sncmVzdGluZy10aW1lJ10pXG4gICAgKSk7XG5cbiAgICBpZiAodG9NaW51dGVzKGR1cmF0aW9uKSA8IDEwKSB7XG4gICAgICByZXR1cm4gJyA8IDEwIG1pbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RHVyYXRpb24oZHVyYXRpb24pO1xuICB9XG5cblxuICBnZXRQaG90b3MoKSB7XG4gICAgcmV0dXJuIFt0aGlzLmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXTtcbiAgfVxuXG4gIGdldCBwcmVwYXJhdGlvblRpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RHVyYXRpb24obm9ybWFsaXplKHBhcnNlKHRoaXMuYXR0cmlidXRlc1sncHJlcGFyYXRpb24tdGltZSddKSkpO1xuICB9XG5cbiAgZ2V0IGNvb2tpbmdUaW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdER1cmF0aW9uKG5vcm1hbGl6ZShwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ2Nvb2tpbmctdGltZSddKSkpO1xuICB9XG5cbiAgZ2V0IHJlc3RpbmdUaW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdER1cmF0aW9uKG5vcm1hbGl6ZShwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ3Jlc3RpbmctdGltZSddKSkpO1xuICB9XG5cbiAgLy8gUmV0dXJucyBpbmdyZWRpZW50cywgcHV0dGluZyB0aGUgc3BvbnNvcmVkIG9uZXMgZmlyc3QgXG4gIGdldCBpbmdyZWRpZW50cygpOiBJbmdyZWRpZW50W10ge1xuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uc2hpcHMuaW5ncmVkaWVudHMuZGF0YVxuICAgICAgLmZpbHRlcigoaTogSW5ncmVkaWVudCkgPT4gaS5hdHRyaWJ1dGVzLmFjdGl2ZSlcbiAgICAgIC5zb3J0KChpMSwgaTIpID0+IHtcbiAgICAgICAgY29uc3QgaXNJMUZvcmNlZCA9IGkxLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10gJiYgaTEuYXR0cmlidXRlc1snZm9yY2VkLWVhbnMnXS5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBpc0kyRm9yY2VkID0gaTIuYXR0cmlidXRlc1snZm9yY2VkLWVhbnMnXSAmJiBpMi5hdHRyaWJ1dGVzWydmb3JjZWQtZWFucyddLmxlbmd0aCA+IDA7XG4gICAgICAgIHJldHVybiAoaXNJMUZvcmNlZCAmJiAhaXNJMkZvcmNlZCkgPyAtMSA6IDE7XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBzcG9uc29ycygpOiBTcG9uc29yW10ge1xuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uc2hpcHM/LnNwb25zb3JzPy5kYXRhO1xuICB9XG4gIGdldCBzdGVwcygpOiBSZWNpcGVTdGVwW10ge1xuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS1zdGVwcyddLmRhdGEuc29ydCgoYSwgYikgPT4gYS5hdHRyaWJ1dGVzWydzdGVwLW51bWJlciddID4gYi5hdHRyaWJ1dGVzWydzdGVwLW51bWJlciddID8gMSA6IC0xKTtcbiAgfVxuXG4gIGdldCBzdGF0dXMoKTogUmVjaXBlU3RhdHVzIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzICYmIHRoaXMucmVsYXRpb25zaGlwc1sncmVjaXBlLXN0YXR1cyddICYmIHRoaXMucmVsYXRpb25zaGlwc1sncmVjaXBlLXN0YXR1cyddLmRhdGE7XG4gIH1cblxuICBnZXQgcmVjaXBlVHlwZSgpOiBSZWNpcGVUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzICYmIHRoaXMucmVsYXRpb25zaGlwc1sncmVjaXBlLXR5cGUnXSAmJiB0aGlzLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS10eXBlJ10uZGF0YTtcbiAgfVxuXG4gIGdldCBtb2RpZmllZEluZ3JlZGllbnRzKCk6IFNpbXBsaWZpZWRJbmdyZWRpZW50W10ge1xuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZWRJbmdyZWRpZW50cy5tYXAoaW5ncmVkaWVudCA9PiB7XG4gICAgICByZXR1cm4geyAuLi5pbmdyZWRpZW50LCBxdHk6IGluZ3JlZGllbnQucXR5ICogKHRoaXMubW9kaWZpZWRHdWVzdHMgfHwgK3RoaXMuZ3Vlc3RzKSB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IG5vcm1hbGl6ZWRJbmdyZWRpZW50cygpOiBTaW1wbGlmaWVkSW5ncmVkaWVudFtdIHtcbiAgICBpZiAoIXRoaXMuX25vcm1hbGl6ZWRJbmdyZWRpZW50cykge1xuICAgICAgdGhpcy5fbm9ybWFsaXplZEluZ3JlZGllbnRzID0gdGhpcy5pbmdyZWRpZW50cy5tYXAoKGluZ3JlZGllbnQ6IEluZ3JlZGllbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiBpbmdyZWRpZW50LmF0dHJpYnV0ZXMubmFtZSxcbiAgICAgICAgICBxdHk6ICgraW5ncmVkaWVudC5xdWFudGl0eSkgLyAoK3RoaXMuZ3Vlc3RzIHx8IDEpLFxuICAgICAgICAgIHVuaXQ6IGluZ3JlZGllbnQuYXR0cmlidXRlcy51bml0XG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRJbmdyZWRpZW50cztcbiAgfVxuXG4gIGdldCB2aWRlb0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc1sndmlkZW8taWQnXTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RHVyYXRpb24oZHVyYXRpb246IER1cmF0aW9uKSB7XG4gICBpZiAoIXRvTWludXRlcyhkdXJhdGlvbikpe1xuICAgIHJldHVybiAnLSc7XG4gICB9XG4gICBpZiAoZHVyYXRpb24uZGF5cykgeyBkdXJhdGlvbi5ob3VycyArPSAyNCAqIGR1cmF0aW9uLmRheXM7IH1cblxuICAgaWYgKCFkdXJhdGlvbi5ob3Vycykge1xuICAgICByZXR1cm4gYCR7ZHVyYXRpb24ubWludXRlc30gbWluYDtcbiAgIH1cbiAgIGxldCBmb3JtYXRlZER1cmF0aW9uID0gYCR7ZHVyYXRpb24uaG91cnN9IGhgO1xuICAgaWYgKGR1cmF0aW9uLm1pbnV0ZXMpIHtcbiAgICBmb3JtYXRlZER1cmF0aW9uICs9ICBgJHtkdXJhdGlvbi5taW51dGVzIDwgMTAgICA/ICcgMCcgOiAnICd9JHtkdXJhdGlvbi5taW51dGVzfWA7XG4gICB9XG4gICByZXR1cm4gZm9ybWF0ZWREdXJhdGlvbjtcbiAgfVxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL3JlY2lwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQVksTUFBTSxjQUFjLENBQUM7QUFpQjFFLE1BQU0sT0FBTyxNQUFPLFNBQVEsUUFBUTtJQUFwQzs7UUFFRSxlQUFVLEdBQUc7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLEVBQUU7WUFDZCxXQUFXLEVBQUUsRUFBRTtZQUNmLGtCQUFrQixFQUFFLEVBQUU7WUFDdEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixNQUFNLEVBQUUsRUFBRTtZQUNWLHlCQUF5QixFQUFFLEVBQUU7WUFDN0Isb0JBQW9CLEVBQUUsRUFBRTtZQUN4Qix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxFQUFFO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsWUFBWTtZQUNwQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBRUYsa0JBQWEsR0FBRztZQUNkLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixFQUFjO1lBQ2pELGNBQWMsRUFB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QUcsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbEY7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50Q29sbGVjdGlvbiwgUmVzb3VyY2UsIERvY3VtZW50UmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBzdW0sIG5vcm1hbGl6ZSwgcGFyc2UsIHRvTWludXRlcywgRHVyYXRpb24gfSBmcm9tICdkdXJhdGlvbi1mbnMnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXIgfSBmcm9tICcuL3JlY2lwZS1wcm92aWRlcic7XG5pbXBvcnQgeyBSZWNpcGVTdGF0dXMgfSBmcm9tICcuL3JlY2lwZS1zdGF0dXMnO1xuaW1wb3J0IHsgUmVjaXBlVHlwZSB9IGZyb20gJy4vcmVjaXBlLXR5cGUnO1xuaW1wb3J0IHsgUmVjaXBlU3RlcCB9IGZyb20gJy4vcmVjaXBlLXN0ZXAnO1xuaW1wb3J0IHsgSW5ncmVkaWVudCB9IGZyb20gJy4vaW5ncmVkaWVudCc7XG5pbXBvcnQgeyBTcG9uc29yIH0gZnJvbSAnLi9zcG9uc29yJztcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tICcuL3BhY2thZ2UnO1xuXG5pbnRlcmZhY2UgU2ltcGxpZmllZEluZ3JlZGllbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHF0eTogbnVtYmVyO1xuICB1bml0OiBzdHJpbmc7XG4gIHBpY3R1cmU6IHN0cmluZztcbn1cblxuXG5leHBvcnQgY2xhc3MgUmVjaXBlIGV4dGVuZHMgUmVzb3VyY2Uge1xuXG4gIGF0dHJpYnV0ZXMgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgICdleHQtaWQnOiAnJyxcbiAgICAnZXh0LWxpbmsnOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgJ251bWJlci1vZi1ndWVzdHMnOiAnJyxcbiAgICAnaW5ncmVkaWVudHMtc3RyJzogW10sXG4gICAgJ3ByZXBhcmF0aW9uLXRpbWUnOiAnJyxcbiAgICAncHJlaGVhdGluZy10aW1lJzogJycsXG4gICAgJ2Nvb2tpbmctdGltZSc6ICcnLFxuICAgICdyZXN0aW5nLXRpbWUnOiAnJyxcbiAgICAnbWVkaWEtdXJsJzogJycsXG4gICAgc291cmNlOiAnJyxcbiAgICAnaW5mb3JtYXRpb25hbC1wYWdlLWh0bWwnOiAnJyxcbiAgICAnZmlsaWdyYW5lLWxvZ28tdXJsJzogJycsXG4gICAgJ2luZm9ybWF0aW9uYWwtc2VudGVuY2UnOiAnJyxcbiAgICBkaWZmaWN1bHR5OiAxLFxuICAgIGNvc3Q6IDEsXG4gICAgc3VnZ2VzdGVkOiBmYWxzZSxcbiAgICBwb3B1bGFyaXR5OiAwLFxuICAgICd2aWRlby1pZCc6ICcnLFxuICAgIHByb21vdGVkOiBmYWxzZSxcbiAgICBzaGFyZWQ6ICdub3Rfc2hhcmVkJyxcbiAgICBlZGl0YWJsZTogZmFsc2VcbiAgfTtcblxuICByZWxhdGlvbnNoaXBzID0ge1xuICAgIGluZ3JlZGllbnRzOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPEluZ3JlZGllbnQ+KCksXG4gICAgJ3JlY2lwZS1zdGVwcyc6IG5ldyBEb2N1bWVudENvbGxlY3Rpb248UmVjaXBlU3RlcD4oKSxcbiAgICAncmVjaXBlLXByb3ZpZGVyJzogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlUHJvdmlkZXI+KCksXG4gICAgJ3JlY2lwZS1zdGF0dXMnOiBuZXcgRG9jdW1lbnRSZXNvdXJjZTxSZWNpcGVTdGF0dXM+KCksXG4gICAgJ3JlY2lwZS10eXBlJzogbmV3IERvY3VtZW50UmVzb3VyY2U8UmVjaXBlVHlwZT4oKSxcbiAgICBzcG9uc29yczogbmV3IERvY3VtZW50Q29sbGVjdGlvbjxTcG9uc29yPigpLFxuICAgIHBhY2thZ2VzOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPFBhY2thZ2U+KClcbiAgfTtcblxuICB0dGwgPSAzNjAwOyAvLyByZWNpcGVzIHdpbGwgYmUgY2FjaGVkIGZvciAxIGhvdXJcblxuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgZmluYWxUaW1lciA9IHRoaXMuYXR0cmlidXRlc1sncHJlcGFyYXRpb24tdGltZSddICsgdGhpcy5hdHRyaWJ1dGVzWydwcmVoZWF0aW5nLXRpbWUnXSArXG4gICAgdGhpcy5hdHRyaWJ1dGVzWydjb29raW5nLXRpbWUnXSArIHRoaXMuYXR0cmlidXRlc1sncmVzdGluZy10aW1lJ107XG4gIG1vZGlmaWVkR3Vlc3RzOiBudW1iZXI7XG4gIHByaXZhdGUgX2V2ZW50c0dyb3VwSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfZXZlbnRPcmlnaW46IHN0cmluZztcbiAgcHJpdmF0ZSBfbm9ybWFsaXplZEluZ3JlZGllbnRzOiBTaW1wbGlmaWVkSW5ncmVkaWVudFtdO1xuXG4gIHNoYWxsb3dDb3B5V2l0aEV2ZW50cyhvcmlnaW4sIGdyb3VwSWQpOiBSZWNpcGUge1xuICAgIGxldCByZXMgPSBuZXcgUmVjaXBlKCk7XG4gICAgT2JqZWN0LmFzc2lnbihyZXMsIHRoaXMpO1xuICAgIHJlcy5fZXZlbnRPcmlnaW4gPSBvcmlnaW47XG4gICAgcmVzLl9ldmVudHNHcm91cElkID0gZ3JvdXBJZDtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgZ2V0IGV2ZW50c0dyb3VwSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZXZlbnRzR3JvdXBJZDtcbiAgfVxuXG4gIGdldCBldmVudE9yaWdpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ldmVudE9yaWdpbjtcbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICBnZXQgcHJvbW90ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy5wcm9tb3RlZDtcbiAgfVxuXG4gIGdldCBndWVzdHMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzWydudW1iZXItb2YtZ3Vlc3RzJ107XG4gIH1cblxuICBnZXQgc2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuc2hhcmVkID09PSAnc2hhcmVkJztcbiAgfVxuXG4gIHNldCBzaGFyZWQoaXNTaGFyZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXMuc2hhcmVkID0gaXNTaGFyZWQgPyAnc2hhcmVkJyA6ICdub3Rfc2hhcmVkJztcbiAgfVxuXG4gIGdldCBmaWxpZ3JhbmVMb2dvVXJsKCk6IFN0cmluZyB7XG4gICAgaWYgKHRoaXMuYXR0cmlidXRlc1snZmlsaWdyYW5lLWxvZ28tdXJsJ10pIHtcbiAgICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbJ2ZpbGlncmFuZS1sb2dvLXVybCddXG4gICAgfVxuICAgIGlmICh0aGlzLnNwb25zb3JzLmxlbmd0aCA+IDApe1xuICAgICAgcmV0dXJuIHRoaXMuc3BvbnNvcnNbMF0uYXR0cmlidXRlc1snbG9nby11cmwnXVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgZ2V0IGluZm9ybWF0aW9uYWxTZW50ZW5jZSgpOiBTdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbJ2luZm9ybWF0aW9uYWwtc2VudGVuY2UnXVxuICB9XG5cbiAgZ2V0IGNvc3RMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5hdHRyaWJ1dGVzLmNvc3QpIHtcbiAgICAgIGNhc2UgMToge1xuICAgICAgICByZXR1cm4gJ2ZhaWJsZSc7XG4gICAgICB9XG4gICAgICBjYXNlIDI6IHtcbiAgICAgICAgcmV0dXJuICdtb3llbic7XG4gICAgICB9XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgcmV0dXJuICfDqWxldsOpJztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuICdtb3llbic7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvc3RQaWN0dXJlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhc3NldHMvaW1hZ2VzL2NhcmQtcmVjaXBlL2Nvc3QvJHt0aGlzLmNvc3RMYWJlbC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKX0uc3ZnYDtcbiAgfVxuXG4gIGdldCBkaWZmaWN1bHR5TGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuYXR0cmlidXRlcy5kaWZmaWN1bHR5KSB7XG4gICAgICBjYXNlIDE6IHtcbiAgICAgICAgcmV0dXJuICdmYWNpbGUnO1xuICAgICAgfVxuICAgICAgY2FzZSAyOiB7XG4gICAgICAgIHJldHVybiAnbW95ZW4nO1xuICAgICAgfVxuICAgICAgY2FzZSAzOiB7XG4gICAgICAgIHJldHVybiAnZGlmZmljaWxlJztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuICdmYWNpbGUnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBkaWZmaWN1bHR5UGljdHVyZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXNzZXRzL2ltYWdlcy9jYXJkLXJlY2lwZS9kaWZmaWN1bHR5LyR7dGhpcy5kaWZmaWN1bHR5TGFiZWwubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyl9LnN2Z2A7XG4gIH1cblxuICBnZXQgdG90YWxUaW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZHVyYXRpb24gPSBub3JtYWxpemUoc3VtKFxuICAgICAgcGFyc2UodGhpcy5hdHRyaWJ1dGVzWydwcmVwYXJhdGlvbi10aW1lJ10pLFxuICAgICAgcGFyc2UodGhpcy5hdHRyaWJ1dGVzWydjb29raW5nLXRpbWUnXSksXG4gICAgICBwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ3Jlc3RpbmctdGltZSddKVxuICAgICkpO1xuXG4gICAgaWYgKHRvTWludXRlcyhkdXJhdGlvbikgPCAxMCkge1xuICAgICAgcmV0dXJuICcgPCAxMCBtaW4nO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdER1cmF0aW9uKGR1cmF0aW9uKTtcbiAgfVxuXG5cbiAgZ2V0UGhvdG9zKCkge1xuICAgIHJldHVybiBbdGhpcy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXV07XG4gIH1cblxuICBnZXQgcHJlcGFyYXRpb25UaW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdER1cmF0aW9uKG5vcm1hbGl6ZShwYXJzZSh0aGlzLmF0dHJpYnV0ZXNbJ3ByZXBhcmF0aW9uLXRpbWUnXSkpKTtcbiAgfVxuXG4gIGdldCBjb29raW5nVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXREdXJhdGlvbihub3JtYWxpemUocGFyc2UodGhpcy5hdHRyaWJ1dGVzWydjb29raW5nLXRpbWUnXSkpKTtcbiAgfVxuXG4gIGdldCByZXN0aW5nVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXREdXJhdGlvbihub3JtYWxpemUocGFyc2UodGhpcy5hdHRyaWJ1dGVzWydyZXN0aW5nLXRpbWUnXSkpKTtcbiAgfVxuXG4gIC8vIFJldHVybnMgaW5ncmVkaWVudHMsIHB1dHRpbmcgdGhlIHNwb25zb3JlZCBvbmVzIGZpcnN0IFxuICBnZXQgaW5ncmVkaWVudHMoKTogSW5ncmVkaWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzLmluZ3JlZGllbnRzLmRhdGFcbiAgICAgIC5maWx0ZXIoKGk6IEluZ3JlZGllbnQpID0+IGkuYXR0cmlidXRlcy5hY3RpdmUpXG4gICAgICAuc29ydCgoaTEsIGkyKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSTFGb3JjZWQgPSBpMS5hdHRyaWJ1dGVzWydmb3JjZWQtZWFucyddICYmIGkxLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10ubGVuZ3RoID4gMDtcbiAgICAgICAgY29uc3QgaXNJMkZvcmNlZCA9IGkyLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10gJiYgaTIuYXR0cmlidXRlc1snZm9yY2VkLWVhbnMnXS5sZW5ndGggPiAwO1xuICAgICAgICByZXR1cm4gKGlzSTFGb3JjZWQgJiYgIWlzSTJGb3JjZWQpID8gLTEgOiAxO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXQgc3BvbnNvcnMoKTogU3BvbnNvcltdIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzPy5zcG9uc29ycz8uZGF0YTtcbiAgfVxuICBnZXQgc3RlcHMoKTogUmVjaXBlU3RlcFtdIHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzWydyZWNpcGUtc3RlcHMnXS5kYXRhLnNvcnQoKGEsIGIpID0+IGEuYXR0cmlidXRlc1snc3RlcC1udW1iZXInXSA+IGIuYXR0cmlidXRlc1snc3RlcC1udW1iZXInXSA/IDEgOiAtMSk7XG4gIH1cblxuICBnZXQgc3RhdHVzKCk6IFJlY2lwZVN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25zaGlwcyAmJiB0aGlzLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS1zdGF0dXMnXSAmJiB0aGlzLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS1zdGF0dXMnXS5kYXRhO1xuICB9XG5cbiAgZ2V0IHJlY2lwZVR5cGUoKTogUmVjaXBlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25zaGlwcyAmJiB0aGlzLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS10eXBlJ10gJiYgdGhpcy5yZWxhdGlvbnNoaXBzWydyZWNpcGUtdHlwZSddLmRhdGE7XG4gIH1cblxuICBnZXQgbW9kaWZpZWRJbmdyZWRpZW50cygpOiBTaW1wbGlmaWVkSW5ncmVkaWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVkSW5ncmVkaWVudHMubWFwKGluZ3JlZGllbnQgPT4ge1xuICAgICAgcmV0dXJuIHsgLi4uaW5ncmVkaWVudCwgcXR5OiBpbmdyZWRpZW50LnF0eSAqICh0aGlzLm1vZGlmaWVkR3Vlc3RzIHx8ICt0aGlzLmd1ZXN0cykgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBub3JtYWxpemVkSW5ncmVkaWVudHMoKTogU2ltcGxpZmllZEluZ3JlZGllbnRbXSB7XG4gICAgaWYgKCF0aGlzLl9ub3JtYWxpemVkSW5ncmVkaWVudHMpIHtcbiAgICAgIHRoaXMuX25vcm1hbGl6ZWRJbmdyZWRpZW50cyA9IHRoaXMuaW5ncmVkaWVudHMubWFwKChpbmdyZWRpZW50OiBJbmdyZWRpZW50KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogaW5ncmVkaWVudC5hdHRyaWJ1dGVzLm5hbWUsXG4gICAgICAgICAgcXR5OiAoK2luZ3JlZGllbnQucXVhbnRpdHkpIC8gKCt0aGlzLmd1ZXN0cyB8fCAxKSxcbiAgICAgICAgICB1bml0OiBpbmdyZWRpZW50LmF0dHJpYnV0ZXMudW5pdCxcbiAgICAgICAgICBwaWN0dXJlOiBpbmdyZWRpZW50LnBpY3R1cmVcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEluZ3JlZGllbnRzO1xuICB9XG5cbiAgZ2V0IHZpZGVvSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzWyd2aWRlby1pZCddO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREdXJhdGlvbihkdXJhdGlvbjogRHVyYXRpb24pIHtcbiAgIGlmICghdG9NaW51dGVzKGR1cmF0aW9uKSl7XG4gICAgcmV0dXJuICctJztcbiAgIH1cbiAgIGlmIChkdXJhdGlvbi5kYXlzKSB7IGR1cmF0aW9uLmhvdXJzICs9IDI0ICogZHVyYXRpb24uZGF5czsgfVxuXG4gICBpZiAoIWR1cmF0aW9uLmhvdXJzKSB7XG4gICAgIHJldHVybiBgJHtkdXJhdGlvbi5taW51dGVzfSBtaW5gO1xuICAgfVxuICAgbGV0IGZvcm1hdGVkRHVyYXRpb24gPSBgJHtkdXJhdGlvbi5ob3Vyc30gaGA7XG4gICBpZiAoZHVyYXRpb24ubWludXRlcykge1xuICAgIGZvcm1hdGVkRHVyYXRpb24gKz0gIGAke2R1cmF0aW9uLm1pbnV0ZXMgPCAxMCAgID8gJyAwJyA6ICcgJ30ke2R1cmF0aW9uLm1pbnV0ZXN9YDtcbiAgIH1cbiAgIHJldHVybiBmb3JtYXRlZER1cmF0aW9uO1xuICB9XG59XG4iXX0=
|
|
@@ -37,6 +37,7 @@ export class ContextService {
|
|
|
37
37
|
this.breakpointObserver = breakpointObserver;
|
|
38
38
|
this.videoRecipesEnabled = false;
|
|
39
39
|
this.articlesInCatalogEnabled = false;
|
|
40
|
+
this.defaultIngredientPicture = 'https://storage.googleapis.com/assets.miam.tech/generic/images/default-ingredient-picture.svg';
|
|
40
41
|
this.isSmallScreen$ = new BehaviorSubject(false);
|
|
41
42
|
this.miam = {
|
|
42
43
|
user: {
|
|
@@ -105,6 +106,9 @@ export class ContextService {
|
|
|
105
106
|
hidden: this.recipesService.hidden,
|
|
106
107
|
search: (provider, query) => {
|
|
107
108
|
return this.recipesService.all({ remotefilter: { recipe_provider_id: provider, search: query } }).pipe(skipWhile(result => !result), map(response => response['data']));
|
|
109
|
+
},
|
|
110
|
+
setDefaultIngredientPicture: (url) => {
|
|
111
|
+
this.defaultIngredientPicture = url;
|
|
108
112
|
}
|
|
109
113
|
},
|
|
110
114
|
analytics: {
|
|
@@ -164,4 +168,4 @@ ContextService.ɵprov = i0.ɵɵdefineInjectable({ token: ContextService, factory
|
|
|
164
168
|
providedIn: 'root'
|
|
165
169
|
}]
|
|
166
170
|
}], function () { return [{ type: i1.PointOfSalesService }, { type: i2.GroceriesListsService }, { type: i3.BasketsService }, { type: i4.UserService }, { type: i5.RecipeProviderService }, { type: i6.AnalyticsService }, { type: i7.RecipesService }, { type: i8.MediaMatcher }, { type: i9.SuppliersService }, { type: i8.BreakpointObserver }]; }, null); })();
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBRWhELE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBTzlDLDZDQUE2QztBQUk3QyxNQUFNLE9BQU8sY0FBYztJQW9IekIsWUFDVSxVQUErQixFQUMvQixZQUFtQyxFQUNuQyxjQUE4QixFQUM5QixXQUF3QixFQUN4Qix1QkFB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QUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFN0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVU7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7NEVBbkpVLGNBQWM7c0RBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTtrREFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSB9IGZyb20gJy4vYmFza2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyLCBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9fbW9kZWxzJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBTTUFMTF9TQ1JFRU5fQlAgPSAnKG1pbi13aWR0aDogMTAyM3B4KSc7XG5cbmludGVyZmFjZSBJY29uT3ZlcnJpZGUge1xuICBpY29uOiBJY29uO1xuICB1cmw6IHN0cmluZztcbn1cblxuLy8gQ29udGV4dCBzaGFyZWQgYmV0d2VlbiBNaWFtIFNESyAmIGhvc3QgYXBwXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0U2VydmljZSB7XG4gIHVzZXJJbmZvOiBVc2VyO1xuICBpY29uczogSWNvbk92ZXJyaWRlW107XG4gIHZpZGVvUmVjaXBlc0VuYWJsZWQgPSBmYWxzZTtcbiAgYXJ0aWNsZXNJbkNhdGFsb2dFbmFibGVkID0gZmFsc2U7XG4gIGhvb2tDYWxsYmFjazogKGlzTG9nZ2VkLCBpc1Bvc1ZhbGlkKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgQ09SU0lzc3VlczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBwcml2YXRlIGlzU21hbGxTY3JlZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgbWlhbSA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBzZXRUb2tlbjogKHRva2VuLCBmb3JiaWRQcm9maWxpbmcgPSBmYWxzZSkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnX21pYW0vdXNlclRva2VuJywgdG9rZW4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlcklkJyk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UudG9nZ2xlSXNMb2dnZWQodHJ1ZSk7XG4gICAgICAgIHRoaXMubGlzdHNTZXJ2aWNlLnJlZnJlc2hDdXJyZW50TGlzdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5zZXRVc2VySW5mbyhmb3JiaWRQcm9maWxpbmcpO1xuICAgICAgfSxcbiAgICAgIGxvYWRXaXRoRXh0SWQ6IChpZCwgZm9yYmlkUHJvZmlsaW5nID0gZmFsc2UpID0+IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19taWFtL3VzZXJJZCcsIGlkKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ19taWFtL3VzZXJUb2tlbicpO1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnRvZ2dsZUlzTG9nZ2VkKHRydWUpO1xuICAgICAgICB0aGlzLmxpc3RzU2VydmljZS5yZWZyZXNoQ3VycmVudExpc3QoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlckluZm8oZm9yYmlkUHJvZmlsaW5nKTtcbiAgICAgIH0sXG4gICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlclRva2VuJyk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdfbWlhbS91c2VySWQnKTtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS50b2dnbGVJc0xvZ2dlZChmYWxzZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbTWlhbV0gd2lsbCByZWZyZXNoIGxpc3QgYWZ0ZXIgcmVzZXQnKTtcbiAgICAgICAgdGhpcy5saXN0c1NlcnZpY2UucmVmcmVzaEN1cnJlbnRMaXN0KCk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UucmVzZXRVc2VySW5mbygpO1xuICAgICAgfSxcbiAgICAgIGRldmljZTogdGhpcy5tZWRpYU1hdGNoZXIsXG4gICAgICBpc1NtYWxsU2NyZWVuJDogdGhpcy5pc1NtYWxsU2NyZWVuJC5hc09ic2VydmFibGUoKVxuICAgIH0sXG4gICAgbGlzdDoge1xuICAgICAgcmVzZXQ6ICgpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlc2V0TGlzdCgpLnN1YnNjcmliZSgpLFxuICAgICAgYWRkUmVjaXBlOiAocmVjaXBlSWQsIGd1ZXN0cykgPT4gdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHJlY2lwZUlkLCBndWVzdHMpLFxuICAgICAgaGFzUmVjaXBlOiAocmVjaXBlSWQpID0+IHRoaXMubGlzdHNTZXJ2aWNlLmxpc3QkLnBpcGUobWFwKGxpc3QgPT4gbGlzdC5oYXNSZWNpcGUocmVjaXBlSWQpKSlcbiAgICB9LFxuICAgIHBvczoge1xuICAgICAgbG9hZDogKHBvc0lkKSA9PiB7XG4gICAgICAgIHRoaXMucG9zU2VydmljZS5sb2FkUG9zKHBvc0lkKTtcbiAgICAgIH0sXG4gICAgICBsb2FkV2l0aEV4dElkOiAoZXh0SWQsIHN1cHBsaWVySWQpID0+IHtcbiAgICAgICAgdGhpcy5wb3NTZXJ2aWNlLmxvYWRQb3NXaXRoRXh0SWQoZXh0SWQsIHN1cHBsaWVySWQpO1xuICAgICAgfSxcbiAgICAgIHBvcyQ6IHRoaXMucG9zU2VydmljZS5wb3MkXG4gICAgfSxcbiAgICBzdXBwbGllcjoge1xuICAgICAgbG9hZDogKHN1cHBsaWVySWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2UubG9hZFN1cHBsaWVyKHN1cHBsaWVySWQudG9TdHJpbmcoKSk7XG4gICAgICB9LFxuICAgICAgbm90aWZ5QmFza2V0VXBkYXRlZDogKGJhc2tldFRva2VuOiBzdHJpbmcsIHN0YXR1czogc3RyaW5nLCBwcmljZTogbnVtYmVyIHwgc3RyaW5nID0gbnVsbCkgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2Uubm90aWZ5QmFza2V0VXBkYXRlZChiYXNrZXRUb2tlbiwgc3RhdHVzLCBwcmljZSkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBiYXNrZXQ6IHtcbiAgICAgIHN0YXRzJDogdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRTdGF0cyQsXG4gICAgICBlbnRyaWVzJDogdGhpcy5iYXNrZXRzU2VydmljZS5hY3RpdmVCYXNrZXRFbnRyaWVzKCksXG4gICAgICBjb25maXJtOiAoKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLmNvbmZpcm1CYXNrZXQoKSxcbiAgICAgIHBhaWQ6IChwcmljZSA9IDApID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tNaWFtXSBzZW5kIHBheW1lbnQgYW5hbHl0aWNzIGV2ZW50Jyk7XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ3BheS1iYXNrZXQnLCBudWxsLCBwcmljZSk7XG4gICAgICB9LFxuICAgICAgcmVtb3ZlRW50cmllczogKGVudHJpZXM6IHsgaWQ6IHN0cmluZywgcXR5OiBudW1iZXIgfVtdKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlbW92ZUJhc2tldEVudHJpZXMoZW50cmllcylcbiAgICB9LFxuICAgIHJlY2lwZXM6IHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGxvYWQ6IChpZCkgPT4gdGhpcy5yZWNpcGVzUHJvdmlkZXJzU2VydmljZS5sb2FkQ2FjaGVkUHJvdmlkZXIoaWQpXG4gICAgICB9LFxuICAgICAgZGlzcGxheTogKGlkLCBwcmV2aWV3QWxsb3dlZCA9IHRydWUsIHByZXZpZXdNb2RlID0gZmFsc2UpID0+IHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheShpZCwge3ByZXZpZXdBbGxvd2VkLCBwcmV2aWV3TW9kZX0pLFxuICAgICAgaGlkZGVuOiB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGRlbixcbiAgICAgIHNlYXJjaDogKHByb3ZpZGVyLCBxdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWNpcGVzU2VydmljZS5hbGwoXG4gICAgICAgICAgeyByZW1vdGVmaWx0ZXI6IHsgcmVjaXBlX3Byb3ZpZGVyX2lkOiBwcm92aWRlciwgc2VhcmNoOiBxdWVyeSB9IH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdCksXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlWydkYXRhJ10pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgICBhbmFseXRpY3M6IHtcbiAgICAgIGluaXQ6IChnYUtleTogc3RyaW5nLCBvcHRpbWl6ZUtleTogc3RyaW5nID0gbnVsbCkgPT4gdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmluaXQoZ2FLZXksIG9wdGltaXplS2V5KVxuICAgIH0sXG4gICAgaG9vazoge1xuICAgICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tDYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgfVxuICAgIH0sXG4gICAgZmVhdHVyZXM6IHtcbiAgICAgIGVuYWJsZVZpZGVvUmVjaXBlczogKCkgPT4ge1xuICAgICAgICB0aGlzLnZpZGVvUmVjaXBlc0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAvLyBJbmplY3QgeW91dHViZSBzY3JpcHRcbiAgICAgICAgY29uc3QgdGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHRhZy5zcmMgPSAnaHR0cHM6Ly93d3cueW91dHViZS5jb20vaWZyYW1lX2FwaSc7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICAgIH0sXG4gICAgICBlbmFibGVBcnRpY2xlc0luQ2F0YWxvZzogKCkgPT4ge1xuICAgICAgICB0aGlzLmFydGljbGVzSW5DYXRhbG9nRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIHR3byB0aW1lcyAnbGwgbm90IGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gaWNvbiBoYXZlIHRvIGJlIGEga25vd2VkIGljb24gbmFtZSBzZWUgc2VjdGlvbiAnQ3VzdG9tIGljb25zJyBpbiByZWFkIG1lXG4gICAgICogQHBhcmFtIHVybCBvZiB0aGUgbmV3IGljb25cbiAgICAgKi9cbiAgICBvdmVycmlkZUljb246IChpY29uLCB1cmwpID0+IHtcbiAgICAgIGlmICghdGhpcy5pY29ucykgeyB0aGlzLmljb25zID0gW107IH1cbiAgICAgIHRoaXMuaWNvbnMucHVzaCh7IGljb24sIHVybCB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7XG4gICAgdGhpcy5pc1NtYWxsU2NyZWVuJC5uZXh0KHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoU01BTExfU0NSRUVOX0JQKS5tYXRjaGVzKTtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFNNQUxMX1NDUkVFTl9CUCkuc3Vic2NyaWJlKEJQQ2hhbmdlID0+IHRoaXMuaXNTbWFsbFNjcmVlbiQubmV4dChCUENoYW5nZS5tYXRjaGVzKSk7XG4gICAgdGhpcy5pY29ucyA9IFtdO1xuICAgIHRoaXMuQ09SU0lzc3VlcyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIE9iamVjdC5hc3NpZ24od2luZG93LCB7IG1pYW06IHRoaXMubWlhbSB9KTtcblxuICB9XG5cbiAgc2V0Q09SU0lzc3VlU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLkNPUlNJc3N1ZXMubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBnZXRDT1JTSXNzdWVzU3RhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuQ09SU0lzc3Vlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldE92ZXJyaWRlSWNvblVybChpY29uOiBJY29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5kaWNvbiA9IHRoaXMuaWNvbnMuZmluZChlbCA9PiBlbC5pY29uLnRvU3RyaW5nKCkgPT09IEljb25baWNvbl0pO1xuICAgIHJldHVybiBmaW5kaWNvbiA/IGZpbmRpY29uLnVybCA6ICcnO1xuICB9XG59XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBRWhELE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBTzlDLDZDQUE2QztBQUk3QyxNQUFNLE9BQU8sY0FBYztJQXdIekIsWUFDVSxVQUErQixFQUMvQixZQUFtQyxFQUNuQyxjQUE4QixFQUM5QixXQUF3QixFQUN4Qix1QkFB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IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlIH0gZnJvbSAnLi9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZXNTZXJ2aWNlIH0gZnJvbSAnLi9wb2ludC1vZi1zYWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldHNTZXJ2aWNlIH0gZnJvbSAnLi9iYXNrZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIsIEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgU3VwcGxpZXJzU2VydmljZSB9IGZyb20gJy4vc3VwcGxpZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFNNQUxMX1NDUkVFTl9CUCA9ICcobWluLXdpZHRoOiAxMDIzcHgpJztcblxuaW50ZXJmYWNlIEljb25PdmVycmlkZSB7XG4gIGljb246IEljb247XG4gIHVybDogc3RyaW5nO1xufVxuXG4vLyBDb250ZXh0IHNoYXJlZCBiZXR3ZWVuIE1pYW0gU0RLICYgaG9zdCBhcHBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRTZXJ2aWNlIHtcbiAgdXNlckluZm86IFVzZXI7XG4gIGljb25zOiBJY29uT3ZlcnJpZGVbXTtcbiAgdmlkZW9SZWNpcGVzRW5hYmxlZCA9IGZhbHNlO1xuICBhcnRpY2xlc0luQ2F0YWxvZ0VuYWJsZWQgPSBmYWxzZTtcbiAgaG9va0NhbGxiYWNrOiAoaXNMb2dnZWQsIGlzUG9zVmFsaWQpID0+IGJvb2xlYW47XG4gIGRlZmF1bHRJbmdyZWRpZW50UGljdHVyZSA9ICdodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ltYWdlcy9kZWZhdWx0LWluZ3JlZGllbnQtcGljdHVyZS5zdmcnO1xuXG4gIHByaXZhdGUgQ09SU0lzc3VlczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBwcml2YXRlIGlzU21hbGxTY3JlZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgbWlhbSA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBzZXRUb2tlbjogKHRva2VuLCBmb3JiaWRQcm9maWxpbmcgPSBmYWxzZSkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnX21pYW0vdXNlclRva2VuJywgdG9rZW4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlcklkJyk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UudG9nZ2xlSXNMb2dnZWQodHJ1ZSk7XG4gICAgICAgIHRoaXMubGlzdHNTZXJ2aWNlLnJlZnJlc2hDdXJyZW50TGlzdCgpO1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5zZXRVc2VySW5mbyhmb3JiaWRQcm9maWxpbmcpO1xuICAgICAgfSxcbiAgICAgIGxvYWRXaXRoRXh0SWQ6IChpZCwgZm9yYmlkUHJvZmlsaW5nID0gZmFsc2UpID0+IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19taWFtL3VzZXJJZCcsIGlkKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ19taWFtL3VzZXJUb2tlbicpO1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnRvZ2dsZUlzTG9nZ2VkKHRydWUpO1xuICAgICAgICB0aGlzLmxpc3RzU2VydmljZS5yZWZyZXNoQ3VycmVudExpc3QoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlckluZm8oZm9yYmlkUHJvZmlsaW5nKTtcbiAgICAgIH0sXG4gICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlclRva2VuJyk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdfbWlhbS91c2VySWQnKTtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS50b2dnbGVJc0xvZ2dlZChmYWxzZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbTWlhbV0gd2lsbCByZWZyZXNoIGxpc3QgYWZ0ZXIgcmVzZXQnKTtcbiAgICAgICAgdGhpcy5saXN0c1NlcnZpY2UucmVmcmVzaEN1cnJlbnRMaXN0KCk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UucmVzZXRVc2VySW5mbygpO1xuICAgICAgfSxcbiAgICAgIGRldmljZTogdGhpcy5tZWRpYU1hdGNoZXIsXG4gICAgICBpc1NtYWxsU2NyZWVuJDogdGhpcy5pc1NtYWxsU2NyZWVuJC5hc09ic2VydmFibGUoKVxuICAgIH0sXG4gICAgbGlzdDoge1xuICAgICAgcmVzZXQ6ICgpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlc2V0TGlzdCgpLnN1YnNjcmliZSgpLFxuICAgICAgYWRkUmVjaXBlOiAocmVjaXBlSWQsIGd1ZXN0cykgPT4gdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHJlY2lwZUlkLCBndWVzdHMpLFxuICAgICAgaGFzUmVjaXBlOiAocmVjaXBlSWQpID0+IHRoaXMubGlzdHNTZXJ2aWNlLmxpc3QkLnBpcGUobWFwKGxpc3QgPT4gbGlzdC5oYXNSZWNpcGUocmVjaXBlSWQpKSlcbiAgICB9LFxuICAgIHBvczoge1xuICAgICAgbG9hZDogKHBvc0lkKSA9PiB7XG4gICAgICAgIHRoaXMucG9zU2VydmljZS5sb2FkUG9zKHBvc0lkKTtcbiAgICAgIH0sXG4gICAgICBsb2FkV2l0aEV4dElkOiAoZXh0SWQsIHN1cHBsaWVySWQpID0+IHtcbiAgICAgICAgdGhpcy5wb3NTZXJ2aWNlLmxvYWRQb3NXaXRoRXh0SWQoZXh0SWQsIHN1cHBsaWVySWQpO1xuICAgICAgfSxcbiAgICAgIHBvcyQ6IHRoaXMucG9zU2VydmljZS5wb3MkXG4gICAgfSxcbiAgICBzdXBwbGllcjoge1xuICAgICAgbG9hZDogKHN1cHBsaWVySWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2UubG9hZFN1cHBsaWVyKHN1cHBsaWVySWQudG9TdHJpbmcoKSk7XG4gICAgICB9LFxuICAgICAgbm90aWZ5QmFza2V0VXBkYXRlZDogKGJhc2tldFRva2VuOiBzdHJpbmcsIHN0YXR1czogc3RyaW5nLCBwcmljZTogbnVtYmVyIHwgc3RyaW5nID0gbnVsbCkgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2Uubm90aWZ5QmFza2V0VXBkYXRlZChiYXNrZXRUb2tlbiwgc3RhdHVzLCBwcmljZSkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBiYXNrZXQ6IHtcbiAgICAgIHN0YXRzJDogdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRTdGF0cyQsXG4gICAgICBlbnRyaWVzJDogdGhpcy5iYXNrZXRzU2VydmljZS5hY3RpdmVCYXNrZXRFbnRyaWVzKCksXG4gICAgICBjb25maXJtOiAoKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLmNvbmZpcm1CYXNrZXQoKSxcbiAgICAgIHBhaWQ6IChwcmljZSA9IDApID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tNaWFtXSBzZW5kIHBheW1lbnQgYW5hbHl0aWNzIGV2ZW50Jyk7XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ3BheS1iYXNrZXQnLCBudWxsLCBwcmljZSk7XG4gICAgICB9LFxuICAgICAgcmVtb3ZlRW50cmllczogKGVudHJpZXM6IHsgaWQ6IHN0cmluZywgcXR5OiBudW1iZXIgfVtdKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlbW92ZUJhc2tldEVudHJpZXMoZW50cmllcylcbiAgICB9LFxuICAgIHJlY2lwZXM6IHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGxvYWQ6IChpZCkgPT4gdGhpcy5yZWNpcGVzUHJvdmlkZXJzU2VydmljZS5sb2FkQ2FjaGVkUHJvdmlkZXIoaWQpXG4gICAgICB9LFxuICAgICAgZGlzcGxheTogKGlkLCBwcmV2aWV3QWxsb3dlZCA9IHRydWUsIHByZXZpZXdNb2RlID0gZmFsc2UpID0+IHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheShpZCwge3ByZXZpZXdBbGxvd2VkLCBwcmV2aWV3TW9kZX0pLFxuICAgICAgaGlkZGVuOiB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGRlbixcbiAgICAgIHNlYXJjaDogKHByb3ZpZGVyLCBxdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWNpcGVzU2VydmljZS5hbGwoXG4gICAgICAgICAgeyByZW1vdGVmaWx0ZXI6IHsgcmVjaXBlX3Byb3ZpZGVyX2lkOiBwcm92aWRlciwgc2VhcmNoOiBxdWVyeSB9IH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdCksXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlWydkYXRhJ10pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgc2V0RGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlOiAodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5kZWZhdWx0SW5ncmVkaWVudFBpY3R1cmUgPSB1cmw7XG4gICAgICB9XG4gICAgfSxcbiAgICBhbmFseXRpY3M6IHtcbiAgICAgIGluaXQ6IChnYUtleTogc3RyaW5nLCBvcHRpbWl6ZUtleTogc3RyaW5nID0gbnVsbCkgPT4gdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmluaXQoZ2FLZXksIG9wdGltaXplS2V5KVxuICAgIH0sXG4gICAgaG9vazoge1xuICAgICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tDYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgfVxuICAgIH0sXG4gICAgZmVhdHVyZXM6IHtcbiAgICAgIGVuYWJsZVZpZGVvUmVjaXBlczogKCkgPT4ge1xuICAgICAgICB0aGlzLnZpZGVvUmVjaXBlc0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAvLyBJbmplY3QgeW91dHViZSBzY3JpcHRcbiAgICAgICAgY29uc3QgdGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHRhZy5zcmMgPSAnaHR0cHM6Ly93d3cueW91dHViZS5jb20vaWZyYW1lX2FwaSc7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICAgIH0sXG4gICAgICBlbmFibGVBcnRpY2xlc0luQ2F0YWxvZzogKCkgPT4ge1xuICAgICAgICB0aGlzLmFydGljbGVzSW5DYXRhbG9nRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIHR3byB0aW1lcyAnbGwgbm90IGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gaWNvbiBoYXZlIHRvIGJlIGEga25vd2VkIGljb24gbmFtZSBzZWUgc2VjdGlvbiAnQ3VzdG9tIGljb25zJyBpbiByZWFkIG1lXG4gICAgICogQHBhcmFtIHVybCBvZiB0aGUgbmV3IGljb25cbiAgICAgKi9cbiAgICBvdmVycmlkZUljb246IChpY29uLCB1cmwpID0+IHtcbiAgICAgIGlmICghdGhpcy5pY29ucykgeyB0aGlzLmljb25zID0gW107IH1cbiAgICAgIHRoaXMuaWNvbnMucHVzaCh7IGljb24sIHVybCB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZXNQcm92aWRlcnNTZXJ2aWNlOiBSZWNpcGVQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7XG4gICAgdGhpcy5pc1NtYWxsU2NyZWVuJC5uZXh0KHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoU01BTExfU0NSRUVOX0JQKS5tYXRjaGVzKTtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFNNQUxMX1NDUkVFTl9CUCkuc3Vic2NyaWJlKEJQQ2hhbmdlID0+IHRoaXMuaXNTbWFsbFNjcmVlbiQubmV4dChCUENoYW5nZS5tYXRjaGVzKSk7XG4gICAgdGhpcy5pY29ucyA9IFtdO1xuICAgIHRoaXMuQ09SU0lzc3VlcyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIE9iamVjdC5hc3NpZ24od2luZG93LCB7IG1pYW06IHRoaXMubWlhbSB9KTtcblxuICB9XG5cbiAgc2V0Q09SU0lzc3VlU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLkNPUlNJc3N1ZXMubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBnZXRDT1JTSXNzdWVzU3RhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuQ09SU0lzc3Vlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldE92ZXJyaWRlSWNvblVybChpY29uOiBJY29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5kaWNvbiA9IHRoaXMuaWNvbnMuZmluZChlbCA9PiBlbC5pY29uLnRvU3RyaW5nKCkgPT09IEljb25baWNvbl0pO1xuICAgIHJldHVybiBmaW5kaWNvbiA/IGZpbmRpY29uLnVybCA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -10,7 +10,7 @@ export class ToastrService {
|
|
|
10
10
|
this.injectCss();
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
info(message, title = null, options =
|
|
13
|
+
info(message, title = null, options = {}) {
|
|
14
14
|
window['toastr'].info(message, title, options);
|
|
15
15
|
}
|
|
16
16
|
injectJquery() {
|
|
@@ -18,8 +18,8 @@ export class ToastrService {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
const script = document.createElement('script');
|
|
21
|
-
script.src = 'https://code.jquery.com/jquery-
|
|
22
|
-
script.integrity = 'sha256
|
|
21
|
+
script.src = 'https://code.jquery.com/jquery-3.6.0.min.js';
|
|
22
|
+
script.integrity = 'sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=';
|
|
23
23
|
script.crossOrigin = 'anonymous';
|
|
24
24
|
document.head.appendChild(script);
|
|
25
25
|
}
|
|
@@ -49,4 +49,4 @@ ToastrService.ɵprov = i0.ɵɵdefineInjectable({ token: ToastrService, factory:
|
|
|
49
49
|
providedIn: 'root'
|
|
50
50
|
}]
|
|
51
51
|
}], function () { return []; }, null); })();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy90b2FzdHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RkFBd0Y7QUFDeEYsdUNBQXVDO0FBRXZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUN0QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLDZDQUE2QyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxTQUFTLEdBQUcscURBQXFELENBQUM7UUFDekUsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLHVFQUF1RSxDQUFDO1FBQ3JGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN6QixLQUFLLENBQUMsSUFBSSxHQUFHLHdFQUF3RSxDQUFDO1FBQ3RGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzBFQXRDVSxhQUFhO3FEQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07a0RBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBuZ3gtdG9hc3RyIHdvcmtzIHBlcmZlY3RseSB3aXRoIG5nLW1pYW0sIGJ1dCBJIGNvdWxkbid0IGxvYWQgaXQgcHJvcGVybHkgaW4gd2ViYy1taWFtXG4vLyBmYWxsYmFjayBvbiB0aGUgb2xkIHRvYXN0ciBKUyBsaWIuLi5cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdHJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pbmplY3RKcXVlcnkoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaW5qZWN0U2NyaXB0KCk7XG4gICAgICB0aGlzLmluamVjdENzcygpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlLCB0aXRsZSA9IG51bGwsIG9wdGlvbnMgPSB7fSkge1xuICAgIHdpbmRvd1sndG9hc3RyJ10uaW5mbyhtZXNzYWdlLCB0aXRsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGluamVjdEpxdWVyeSgpIHtcbiAgICBpZiAod2luZG93WydqUXVlcnknXSkgeyByZXR1cm47IH1cblxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC5zcmMgPSAnaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuNi4wLm1pbi5qcyc7XG4gICAgc2NyaXB0LmludGVncml0eSA9ICdzaGEyNTYtL3hVaiszT0pVNXlFeGxxNkdTWUdTSGs3dFBYaWt5blM3b2dFdkRlai9tND0nO1xuICAgIHNjcmlwdC5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0U2NyaXB0KCkge1xuICAgIGlmICh3aW5kb3dbJ3RvYXN0ciddKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy90b2FzdHIuanMvbGF0ZXN0L3RvYXN0ci5taW4uanMnO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0Q3NzKCkge1xuICAgIGlmICh3aW5kb3dbJ3RvYXN0ciddKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgIHN0eWxlLmhyZWYgPSAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdG9hc3RyLmpzL2xhdGVzdC90b2FzdHIubWluLmNzcyc7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -479,4 +479,4 @@ BasketPreviewLineComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BasketPreviewL
|
|
|
479
479
|
}], showRecipe: [{
|
|
480
480
|
type: Output
|
|
481
481
|
}] }); })();
|
|
482
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFFakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQzs7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RyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxPQUFPO2tCQUFoQixNQUFNO1lBQ0csWUFBWTtrQkFBckIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2Jhc2tldC1wcmV2aWV3LWxpbmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvYmFza2V0LWVudHJ5JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vX3V0aWxzL2V2ZW50LnV0aWxzJztcbmltcG9ydCByZW1vdmUgZnJvbSAnbG9kYXNoLWVzL3JlbW92ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNrZXQtcHJldmlldy1saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRQcmV2aWV3TGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGluZTogQmFza2V0UHJldmlld0xpbmU7XG4gIEBJbnB1dCgpIHVuaXF1ZUxpbmU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJsb2NrU3RhdGVzOiBCZWhhdmlvclN1YmplY3Q8eyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0+O1xuICBASW5wdXQoKSBkaXNwbGF5VG90YWxQcmljaW5nID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2tldFByZXZpZXdMaW5lPigpO1xuICBAT3V0cHV0KCkgY291bnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHJlcGxhY2VJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHNob3dSZWNpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZywgZ3Vlc3RzOiBudW1iZXIgfT4oKTtcblxuICBlbnRyaWVzTGluZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXRQcmV2aWV3TGluZVtdPihudWxsKTtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IHRydWU7XG4gIGRpc2FibGVJdGVtU2VsZWN0b3IgPSBmYWxzZTtcbiAgc2VsZWN0SXRlbSA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIC8vIFRPRE86IGNhbiB3ZSByZW1vdmUgdGhlIGNvbmRpdGlvbiBvbiB1bmlxdWVMaW5lP1xuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51bmlxdWVMaW5lKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuYnVpbGRFbnRyaWVzTGluZXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViOiBTdWJzY3JpcHRpb24pID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGNoYW5nZUNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5saW5lLmNvdW50ID09PSBjb3VudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubGluZS5jb3VudCA9IGNvdW50O1xuICAgIGlmICh0aGlzLmxpbmUuaGFzRW50cmllcygpIHx8IHRoaXMubGluZS5kaXNwbGF5TW9kZSkge1xuICAgICAgdGhpcy5jb3VudENoYW5nZWQuZW1pdCh0aGlzLmxpbmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZVN1YmxpbmVDb3VudENoYW5nZShjb3VudCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3VibGluZUNvdW50Q2hhbmdlKGNvdW50OiBudW1iZXIpIHtcbiAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgIHRoaXMucmVtb3ZlZC5lbWl0KHRoaXMubGluZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGluZS5yZWNvcmQuYXR0cmlidXRlcy5xdWFudGl0eSA9IGNvdW50O1xuICAgIHRoaXMubGluZS5yZWNvcmQudXBkYXRlVG90YWxQcmljZSgpO1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ2NoYW5nZS1pdGVtLXF1YW50aXR5Jyk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5saW5lLnJlY29yZC5zYXZlKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLmxvYWRCYXNrZXQoKSksXG4gICAgICB0YWtlKDEpXG4gICAgKS5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICB0b2dnbGVFeHBhbmRlZChldmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmxpbmUuaGFzRW50cmllcygpIHx8XG4gICAgICB0aGlzLnVuaXF1ZUxpbmUgfHxcbiAgICAgIGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LmNsYXNzTmFtZSA9PT0gJ2lucHV0LWNvbnRhaW5lcicgfHxcbiAgICAgIGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LmNsYXNzTmFtZSA9PT0gJ3JlbW92ZScgfHxcbiAgICAgIGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09PSAnc3ZnJ1xuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgaWYgKCF0aGlzLmVudHJpZXNMaW5lcyQudmFsdWUpIHtcbiAgICAgIHRoaXMuYnVpbGRFbnRyaWVzTGluZXMoKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVFbnRyeShlbnRyeTogQmFza2V0RW50cnkpIHtcbiAgICAvLyBSZW1vdmUgZW50cnkgZnJvbSBsaW5lIGVudHJpZXMgYXJyYXlcbiAgICAvLyBUT0RPOiBoYW5kbGUgb3RoZXIgdGhhbiBmb3VuZFxuICAgIHJlbW92ZSh0aGlzLmxpbmUuZW50cmllcy5mb3VuZCwgZSA9PiBlLmlkID09PSBlbnRyeS5pZCk7XG4gICAgdGhpcy5idWlsZEVudHJpZXNMaW5lcygpO1xuXG4gICAgLy8gUmVtb3ZlIHJlbGF0ZWQgZ3JvY2VyaWVzIGVudHJ5ICh1cGRhdGUgc3RhdHVzIHRvIFwiZGVsZXRlZFwiKSBhbmQgcmVsb2FkIGxpc3RcbiAgICBjb25zdCBnRW50cnkgPSBlbnRyeS5yZWxhdGlvbnNoaXBzWydncm9jZXJpZXMtZW50cnknXS5kYXRhO1xuICAgIGdFbnRyeS5hdHRyaWJ1dGVzLnN0YXR1cyA9ICdkZWxldGVkJztcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIGdFbnRyeS5zYXZlKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYmFza2V0c1NlcnZpY2UubG9hZEJhc2tldCgpKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICBjaGFuZ2VQcm9kdWN0KGxpbmU6IEJhc2tldFByZXZpZXdMaW5lKSB7XG4gICAgdGhpcy5ibG9ja1N0YXRlcz8ubmV4dCh7IGN1cnJlbnRPcGVuTGluZTogbGluZS5pZCwgb3ZlcmxheU9wZW46IHRydWUsIGxpbmVDb21wb25lbnQ6IHRoaXMgfSk7XG4gICAgdGhpcy5zZWxlY3RJdGVtID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5yZXBsYWNlSXRlbS5lbWl0KGxpbmUpO1xuICB9XG5cbiAgLy8gVE9ETzogcmVtb3ZlZCAtIG5ldmVyIGNhbGxlZCA/XG4gIHByb2R1Y3RDaG9zZW4obGluZT86IEJhc2tldFByZXZpZXdMaW5lKSB7XG4gICAgdGhpcy5zZWxlY3RJdGVtID0gZmFsc2U7XG4gICAgaWYgKGxpbmUpIHsgdGhpcy5kaXNhYmxlSXRlbVNlbGVjdG9yID0gdHJ1ZTsgfVxuICAgIHRoaXMuYmxvY2tTdGF0ZXM/Lm5leHQoeyBjdXJyZW50T3BlbkxpbmU6IG51bGwsIG92ZXJsYXlPcGVuOiBmYWxzZSwgbGluZUNvbXBvbmVudDogbnVsbCB9KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICB9XG5cbiAgYnVpbGRFbnRyaWVzTGluZXMoKSB7XG4gICAgY29uc3QgZW50cmllcyA9IFtcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLmZvdW5kLFxuICAgICAgLi4udGhpcy5saW5lLmVudHJpZXMubm90Rm91bmQsXG4gICAgICAuLi50aGlzLmxpbmUuZW50cmllcy5vZnRlbkRlbGV0ZWQsXG4gICAgICAuLi50aGlzLmxpbmUuZW50cmllcy5yZW1vdmVkXTtcbiAgICBlbnRyaWVzLm1hcCgoZW50cnk6IEJhc2tldEVudHJ5KSA9PiB7XG4gICAgICBlbnRyeS5zZXRJdGVtc1NlbGVjdGlvbigpO1xuICAgICAgZW50cnkudXBkYXRlVG90YWxQcmljZSgpO1xuICAgIH0pO1xuICAgIHRoaXMuZW50cmllc0xpbmVzJC5uZXh0KFxuICAgICAgZW50cmllc1xuICAgICAgICAuZmlsdGVyKGVudHJ5ID0+IHRoaXMubGluZS5lbnRyaWVzLmZvdW5kLm1hcChlID0+IGUuaWQpLmluY2x1ZGVzKGVudHJ5LmlkKSlcbiAgICAgICAgLm1hcChlbnRyeSA9PiBCYXNrZXRQcmV2aWV3TGluZS5mcm9tQmFza2V0RW50cnkoZW50cnkpKVxuICAgICk7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYWRkRW50cnkoZW50cnk6IEJhc2tldEVudHJ5KSB7XG4gICAgY29uc3QgZ0VudHJ5ID0gZW50cnkucmVsYXRpb25zaGlwc1snZ3JvY2VyaWVzLWVudHJ5J10uZGF0YTtcbiAgICBnRW50cnkuYXR0cmlidXRlcy5zdGF0dXMgPSAnYWN0aXZlJztcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIGdFbnRyeS5zYXZlKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYmFza2V0c1NlcnZpY2UubG9hZEJhc2tldCgpKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICB0cmFja0J5SXRlbUlkKGluZGV4OiBudW1iZXIsIGxpbmU6IEJhc2tldFByZXZpZXdMaW5lKSB7XG4gICAgcmV0dXJuIGxpbmUgPyBsaW5lLnJlY29yZFsnc2VsZWN0ZWQtaXRlbS1pZCddICsgJy0nICsgbGluZS5yZWNvcmQuYXR0cmlidXRlcy5xdWFudGl0eSA6IG51bGw7XG4gIH1cblxuICB0b2dnbGVSZWNpcGVEaXNwbGF5KGV2ZW50LCBhZGRSZWNpcGUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy5saW5lLmlzUmVjaXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChhZGRSZWNpcGUpIHtcbiAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS5pc0xvZ2dlZCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKSxcbiAgICAgICAgdGhpcy5wb3NTZXJ2aWNlLmlzUG9zVmFsaWQoKS5waXBlKHRha2UoMSkpXG4gICAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgY29uc3QgaXNIb29rT2sgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvb2tDYWxsYmFjayhyZXNbMF0sIHJlc1sxXSk7XG4gICAgICAgIGlmIChpc0hvb2tPaykge1xuICAgICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uT0soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheSh0aGlzLmxpbmUuaWQsIHtndWVzdHM6IHRoaXMubGluZS5jb3VudH0pO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKCkge1xuICAgIHRoaXMubGlzdHNTZXJ2aWNlLmFwcGVuZFJlY2lwZVRvTGlzdCh0aGlzLmxpbmUuaWQsIHRoaXMubGluZS5jb3VudCk7XG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5KHRoaXMubGluZS5pZCwge2d1ZXN0czogdGhpcy5saW5lLmNvdW50LCBwcmV2aWV3TW9kZTogdHJ1ZX0pO1xuICB9XG5cbiAgcmVtb3ZlTGluZShldmVudCkge1xuICAgIHN0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICB0aGlzLnJlbW92ZWQuZW1pdCh0aGlzLmxpbmUpO1xuICB9XG5cbiAgcHJpY2VJbnRlZ2VyUGFydCgpe1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMubGluZS5wcmljZT8udG9TdHJpbmcoKS5zcGxpdCgnLicpO1xuICAgIHJldHVybiB2YWx1ZXM/Lmxlbmd0aCA+IDAgPyB2YWx1ZXNbMF0gOiAnMCc7XG4gIH1cblxuICBwcmljZURlY2ltYWxQYXJ0KCl7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5saW5lLnByaWNlPy50b1N0cmluZygpLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIHZhbHVlcz8ubGVuZ3RoID09PSAyID8gdmFsdWVzWzFdIDogJzAwJztcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cInt7bGluZS5pZH19XCJcbiAgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVcIlxuICBbbmdDbGFzc109XCJ7Y2xpY2thYmxlOiBsaW5lLmhhc0VudHJpZXMoKSB8fCBsaW5lLmRpc3BsYXlNb2RlLCBleHBhbmRlZDogZXhwYW5kZWQsIGVsZXZhdGUgOiBzZWxlY3RJdGVtfVwiXG4gIChjbGljayk9XCJsaW5lLmRpc3BsYXlNb2RlID8gdG9nZ2xlUmVjaXBlRGlzcGxheSgkZXZlbnQpIDogdG9nZ2xlRXhwYW5kZWQoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VsZWN0SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2xlZnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiF1bmlxdWVMaW5lICYmICFsaW5lLmRpc3BsYXlNb2RlXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3JlbW92ZVwiIChjbGljayk9XCJyZW1vdmVMaW5lKCRldmVudClcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09J2ljb24uVHJhc2gnIGhlaWdodD0nMjQnIHdpZHRoPScyNCcgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLWdyZXktdGV4dC1kYXJrKSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19waWN0dXJlXCI+XG4gICAgICAgICAgPGltZyAoY2xpY2spPVwidG9nZ2xlUmVjaXBlRGlzcGxheSgkZXZlbnQpXCIgW3NyY109XCJsaW5lLnBpY3R1cmVcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2RldGFpbHNcIj5cbiAgICAgICAgICA8c3Ryb25nIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudClcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGxpbmUudGl0bGUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgfX1cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaW5lLmRlc2NyaXB0aW9uXCI+e3sgaXRlbSB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIobGluZS5oYXNFbnRyaWVzKCkgJiYgIXVuaXF1ZUxpbmUpXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3Nob3dEZXRhaWxzXCI+XG4gICAgICAgICAgICAgIHt7IGV4cGFuZGVkID8gJ01hc3F1ZXInIDogJ1ZvaXInIH19IGxlIGTDqXRhaWxcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuZGlzcGxheU1vZGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fc2hvd0RldGFpbHNcIj5cbiAgICAgICAgICAgICAgVm9pciBsYSByZWNldHRlXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGluZS5pc1JlY2lwZSAmJiBsaW5lPy5yZWNvcmQ/LmNhbmRpZGF0ZUl0ZW1zPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NoYW5nZVwiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwiY2hhbmdlUHJvZHVjdChsaW5lKVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZSc6IGRpc2FibGVJdGVtU2VsZWN0b3J9XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fY2hhbmdlX19saW5rXCI+Q2hhbmdlciBkJ2FydGljbGU8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaW5lLmlubGluZVRhZ1wiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19pbmxpbmVUYWdfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9faW5saW5lVGFnXCI+e3sgbGluZS5pbmxpbmVUYWcgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3JpZ2h0XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5VG90YWxQcmljaW5nIHx8ICFsaW5lLmlzUmVjaXBlIGVsc2UgcHJpY2VQZXJndWVzdFwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19wcmljZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IHByaWNlSW50ZWdlclBhcnQoKSB9fSw8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgcHJpY2VEZWNpbWFsUGFydCgpIH19PC9zcGFuPiAgIFxuICAgICAgICAgIDxzcGFuPiDigqw8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3ByaWNlUGVyZ3Vlc3Q+XG4gICAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVzU2VydmljZS5nZXQobGluZS5pZCkgfCBhc3luY1wiIFtzZXJ2ZXNdPVwibGluZS5jb3VudFwiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fY291bnRcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5pc1JlY2lwZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudF9fZm9yXCI+cG91cjwvZGl2PlxuICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwibGluZS5jb3VudFwiIChjb3VudGVyQ2hhbmdlKT1cImNoYW5nZUNvdW50KCRldmVudClcIiBbbWluUmFuZ2VdPVwibGluZS5pc1JlY2lwZSA/IDEgOiAwXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuaXNSZWNpcGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fY291bnRfX3Blb3BsZVwiPnBlcnNvbm5le3sgbGluZS5jb3VudCA+IDEgPyAncycgOiAnJyB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuZGlzcGxheU1vZGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9fYWRkX19idXR0b25cIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwidG9nZ2xlUmVjaXBlRGlzcGxheSgkZXZlbnQsIHRydWUpXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnIFtpY29uTmFtZV09XCJpY29uLkNhcnRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZXNcIiAqbmdJZj1cImV4cGFuZGVkXCI+XG4gIDxkaXYgKm5nSWY9XCIhbG9hZGluZyBlbHNlIGxvYWRlclwiPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWxpbmUgKm5nRm9yPVwibGV0IGVudHJ5TGluZSBvZiBlbnRyaWVzTGluZXMkIHwgYXN5bmNcIiBbbGluZV09XCJlbnRyeUxpbmVcIlxuICAgICAgKHJlbW92ZWQpPVwiZGVsZXRlRW50cnkoJGV2ZW50LnJlY29yZClcIiAocmVwbGFjZUl0ZW0pPSdyZXBsYWNlSXRlbS5lbWl0KGxpbmUpJyBbYmxvY2tTdGF0ZXNdPSdibG9ja1N0YXRlcyc+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWxpbmU+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMubm90Rm91bmQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5ub3RGb3VuZFwiXG4gICAgICBtb2RlPVwidW5hdmFpbGFibGVcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMub2Z0ZW5EZWxldGVkLmxlbmd0aCA+IDBcIiBbZW50cmllc109XCJsaW5lLmVudHJpZXMub2Z0ZW5EZWxldGVkXCJcbiAgICAgIG1vZGU9XCJvZnRlbkRlbGV0ZWRcIiAoZW50cnlBZGRlZCk9XCJhZGRFbnRyeSgkZXZlbnQpXCI+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWRpc2FibGVkPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWRpc2FibGVkICpuZ0lmPVwibGluZS5lbnRyaWVzLnJlbW92ZWQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5yZW1vdmVkXCJcbiAgICAgIG1vZGU9XCJyZW1vdmVkXCIgW3JlZHVjZWRdPVwidHJ1ZVwiIChlbnRyeUFkZGVkKT1cImFkZEVudHJ5KCRldmVudClcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19sb2FkZXItY29udGFpbmVyXCIgPlxuICAgICAgPG5nLW1pYW0tbG9hZGVyPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgICA8ZGl2PkNhbGN1bCBkZXMgaW5ncsOpZGllbnRzLi4uPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
|
|
482
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFFakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQzs7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RyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxPQUFPO2tCQUFoQixNQUFNO1lBQ0csWUFBWTtrQkFBckIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2Jhc2tldC1wcmV2aWV3LWxpbmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvYmFza2V0LWVudHJ5JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vX3V0aWxzL2V2ZW50LnV0aWxzJztcbmltcG9ydCByZW1vdmUgZnJvbSAnbG9kYXNoLWVzL3JlbW92ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNrZXQtcHJldmlldy1saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRQcmV2aWV3TGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGluZTogQmFza2V0UHJldmlld0xpbmU7XG4gIEBJbnB1dCgpIHVuaXF1ZUxpbmU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJsb2NrU3RhdGVzOiBCZWhhdmlvclN1YmplY3Q8eyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0+O1xuICBASW5wdXQoKSBkaXNwbGF5VG90YWxQcmljaW5nID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2tldFByZXZpZXdMaW5lPigpO1xuICBAT3V0cHV0KCkgY291bnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHJlcGxhY2VJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHNob3dSZWNpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZywgZ3Vlc3RzOiBudW1iZXIgfT4oKTtcblxuICBlbnRyaWVzTGluZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXRQcmV2aWV3TGluZVtdPihudWxsKTtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IHRydWU7XG4gIGRpc2FibGVJdGVtU2VsZWN0b3IgPSBmYWxzZTtcbiAgc2VsZWN0SXRlbSA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgLy8gVE9ETzogY2FuIHdlIHJlbW92ZSB0aGUgY29uZGl0aW9uIG9uIHVuaXF1ZUxpbmU/XG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnVuaXF1ZUxpbmUpIHtcbiAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy5idWlsZEVudHJpZXNMaW5lcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgY2hhbmdlQ291bnQoY291bnQ6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmxpbmUuY291bnQgPT09IGNvdW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5saW5lLmNvdW50ID0gY291bnQ7XG4gICAgaWYgKHRoaXMubGluZS5oYXNFbnRyaWVzKCkgfHwgdGhpcy5saW5lLmRpc3BsYXlNb2RlKSB7XG4gICAgICB0aGlzLmNvdW50Q2hhbmdlZC5lbWl0KHRoaXMubGluZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU3VibGluZUNvdW50Q2hhbmdlKGNvdW50KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTdWJsaW5lQ291bnRDaGFuZ2UoY291bnQ6IG51bWJlcikge1xuICAgIGlmIChjb3VudCA9PT0gMCkge1xuICAgICAgdGhpcy5yZW1vdmVkLmVtaXQodGhpcy5saW5lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5saW5lLnJlY29yZC5hdHRyaWJ1dGVzLnF1YW50aXR5ID0gY291bnQ7XG4gICAgdGhpcy5saW5lLnJlY29yZC51cGRhdGVUb3RhbFByaWNlKCk7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnY2hhbmdlLWl0ZW0tcXVhbnRpdHknKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpbmUucmVjb3JkLnNhdmUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYmFza2V0c1NlcnZpY2UubG9hZEJhc2tldCgpKSxcbiAgICAgIHRha2UoMSlcbiAgICApLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZUV4cGFuZGVkKGV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubGluZS5oYXNFbnRyaWVzKCkgfHxcbiAgICAgIHRoaXMudW5pcXVlTGluZSB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lID09PSAnaW5wdXQtY29udGFpbmVyJyB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lID09PSAncmVtb3ZlJyB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQubm9kZU5hbWUgPT09ICdzdmcnXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAoIXRoaXMuZW50cmllc0xpbmVzJC52YWx1ZSkge1xuICAgICAgdGhpcy5idWlsZEVudHJpZXNMaW5lcygpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUVudHJ5KGVudHJ5OiBCYXNrZXRFbnRyeSkge1xuICAgIC8vIFJlbW92ZSBlbnRyeSBmcm9tIGxpbmUgZW50cmllcyBhcnJheVxuICAgIC8vIFRPRE86IGhhbmRsZSBvdGhlciB0aGFuIGZvdW5kXG4gICAgcmVtb3ZlKHRoaXMubGluZS5lbnRyaWVzLmZvdW5kLCBlID0+IGUuaWQgPT09IGVudHJ5LmlkKTtcbiAgICB0aGlzLmJ1aWxkRW50cmllc0xpbmVzKCk7XG5cbiAgICAvLyBSZW1vdmUgcmVsYXRlZCBncm9jZXJpZXMgZW50cnkgKHVwZGF0ZSBzdGF0dXMgdG8gXCJkZWxldGVkXCIpIGFuZCByZWxvYWQgbGlzdFxuICAgIGNvbnN0IGdFbnRyeSA9IGVudHJ5LnJlbGF0aW9uc2hpcHNbJ2dyb2Nlcmllcy1lbnRyeSddLmRhdGE7XG4gICAgZ0VudHJ5LmF0dHJpYnV0ZXMuc3RhdHVzID0gJ2RlbGV0ZWQnO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgZ0VudHJ5LnNhdmUoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5sb2FkQmFza2V0KCkpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZVByb2R1Y3QobGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLmJsb2NrU3RhdGVzPy5uZXh0KHsgY3VycmVudE9wZW5MaW5lOiBsaW5lLmlkLCBvdmVybGF5T3BlbjogdHJ1ZSwgbGluZUNvbXBvbmVudDogdGhpcyB9KTtcbiAgICB0aGlzLnNlbGVjdEl0ZW0gPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnJlcGxhY2VJdGVtLmVtaXQobGluZSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmVkIC0gbmV2ZXIgY2FsbGVkID9cbiAgcHJvZHVjdENob3NlbihsaW5lPzogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLnNlbGVjdEl0ZW0gPSBmYWxzZTtcbiAgICBpZiAobGluZSkgeyB0aGlzLmRpc2FibGVJdGVtU2VsZWN0b3IgPSB0cnVlOyB9XG4gICAgdGhpcy5ibG9ja1N0YXRlcz8ubmV4dCh7IGN1cnJlbnRPcGVuTGluZTogbnVsbCwgb3ZlcmxheU9wZW46IGZhbHNlLCBsaW5lQ29tcG9uZW50OiBudWxsIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gIH1cblxuICBidWlsZEVudHJpZXNMaW5lcygpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gW1xuICAgICAgLi4udGhpcy5saW5lLmVudHJpZXMuZm91bmQsXG4gICAgICAuLi50aGlzLmxpbmUuZW50cmllcy5ub3RGb3VuZCxcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLm9mdGVuRGVsZXRlZCxcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLnJlbW92ZWRdO1xuICAgIGVudHJpZXMubWFwKChlbnRyeTogQmFza2V0RW50cnkpID0+IHtcbiAgICAgIGVudHJ5LnNldEl0ZW1zU2VsZWN0aW9uKCk7XG4gICAgICBlbnRyeS51cGRhdGVUb3RhbFByaWNlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5lbnRyaWVzTGluZXMkLm5leHQoXG4gICAgICBlbnRyaWVzXG4gICAgICAgIC5maWx0ZXIoZW50cnkgPT4gdGhpcy5saW5lLmVudHJpZXMuZm91bmQubWFwKGUgPT4gZS5pZCkuaW5jbHVkZXMoZW50cnkuaWQpKVxuICAgICAgICAubWFwKGVudHJ5ID0+IEJhc2tldFByZXZpZXdMaW5lLmZyb21CYXNrZXRFbnRyeShlbnRyeSkpXG4gICAgKTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhZGRFbnRyeShlbnRyeTogQmFza2V0RW50cnkpIHtcbiAgICBjb25zdCBnRW50cnkgPSBlbnRyeS5yZWxhdGlvbnNoaXBzWydncm9jZXJpZXMtZW50cnknXS5kYXRhO1xuICAgIGdFbnRyeS5hdHRyaWJ1dGVzLnN0YXR1cyA9ICdhY3RpdmUnO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgZ0VudHJ5LnNhdmUoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5sb2FkQmFza2V0KCkpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHRyYWNrQnlJdGVtSWQoaW5kZXg6IG51bWJlciwgbGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICByZXR1cm4gbGluZSA/IGxpbmUucmVjb3JkWydzZWxlY3RlZC1pdGVtLWlkJ10gKyAnLScgKyBsaW5lLnJlY29yZC5hdHRyaWJ1dGVzLnF1YW50aXR5IDogbnVsbDtcbiAgfVxuXG4gIHRvZ2dsZVJlY2lwZURpc3BsYXkoZXZlbnQsIGFkZFJlY2lwZSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLmxpbmUuaXNSZWNpcGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFkZFJlY2lwZSkge1xuICAgICAgZm9ya0pvaW4oW1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTG9nZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLFxuICAgICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBjb25zdCBpc0hvb2tPayA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9va0NhbGxiYWNrKHJlc1swXSwgcmVzWzFdKTtcbiAgICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25PSygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5KHRoaXMubGluZS5pZCwge2d1ZXN0czogdGhpcy5saW5lLmNvdW50fSk7XG4gICAgfVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uT0soKSB7XG4gICAgdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHRoaXMubGluZS5pZCwgdGhpcy5saW5lLmNvdW50KTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXkodGhpcy5saW5lLmlkLCB7Z3Vlc3RzOiB0aGlzLmxpbmUuY291bnQsIHByZXZpZXdNb2RlOiB0cnVlfSk7XG4gIH1cblxuICByZW1vdmVMaW5lKGV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIHRoaXMucmVtb3ZlZC5lbWl0KHRoaXMubGluZSk7XG4gIH1cblxuICBwcmljZUludGVnZXJQYXJ0KCl7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5saW5lLnByaWNlPy50b1N0cmluZygpLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIHZhbHVlcz8ubGVuZ3RoID4gMCA/IHZhbHVlc1swXSA6ICcwJztcbiAgfVxuXG4gIHByaWNlRGVjaW1hbFBhcnQoKXtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmxpbmUucHJpY2U/LnRvU3RyaW5nKCkuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4gdmFsdWVzPy5sZW5ndGggPT09IDIgPyB2YWx1ZXNbMV0gOiAnMDAnO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwie3tsaW5lLmlkfX1cIlxuICBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZVwiXG4gIFtuZ0NsYXNzXT1cIntjbGlja2FibGU6IGxpbmUuaGFzRW50cmllcygpIHx8IGxpbmUuZGlzcGxheU1vZGUsIGV4cGFuZGVkOiBleHBhbmRlZCwgZWxldmF0ZSA6IHNlbGVjdEl0ZW19XCJcbiAgKGNsaWNrKT1cImxpbmUuZGlzcGxheU1vZGUgPyB0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCkgOiB0b2dnbGVFeHBhbmRlZCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWxlY3RJdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fbGVmdFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXVuaXF1ZUxpbmUgJiYgIWxpbmUuZGlzcGxheU1vZGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fcmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUxpbmUoJGV2ZW50KVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT0naWNvbi5UcmFzaCcgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3BpY3R1cmVcIj5cbiAgICAgICAgICA8aW1nIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudClcIiBbc3JjXT1cImxpbmUucGljdHVyZVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fZGV0YWlsc1wiPlxuICAgICAgICAgIDxzdHJvbmcgKGNsaWNrKT1cInRvZ2dsZVJlY2lwZURpc3BsYXkoJGV2ZW50KVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX190aXRsZVwiPlxuICAgICAgICAgICAge3sgbGluZS50aXRsZSB8IGNhcGl0YWxpemVGaXJzdExldHRlciB9fVxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpbmUuZGVzY3JpcHRpb25cIj57eyBpdGVtIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihsaW5lLmhhc0VudHJpZXMoKSAmJiAhdW5pcXVlTGluZSlcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fc2hvd0RldGFpbHNcIj5cbiAgICAgICAgICAgICAge3sgZXhwYW5kZWQgPyAnTWFzcXVlcicgOiAnVm9pcicgfX0gbGUgZMOpdGFpbFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5kaXNwbGF5TW9kZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19zaG93RGV0YWlsc1wiPlxuICAgICAgICAgICAgICBWb2lyIGxhIHJlY2V0dGVcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsaW5lLmlzUmVjaXBlICYmIGxpbmU/LnJlY29yZD8uY2FuZGlkYXRlSXRlbXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fY2hhbmdlXCI+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJjaGFuZ2VQcm9kdWN0KGxpbmUpXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlJzogZGlzYWJsZUl0ZW1TZWxlY3Rvcn1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jaGFuZ2VfX2xpbmtcIj5DaGFuZ2VyIGQnYXJ0aWNsZTwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuaW5saW5lVGFnXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2lubGluZVRhZ19fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19pbmxpbmVUYWdcIj57eyBsaW5lLmlubGluZVRhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fcmlnaHRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlUb3RhbFByaWNpbmcgfHwgIWxpbmUuaXNSZWNpcGUgZWxzZSBwcmljZVBlcmd1ZXN0XCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3ByaWNlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcHJpY2VJbnRlZ2VyUGFydCgpIH19LDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBwcmljZURlY2ltYWxQYXJ0KCkgfX08L3NwYW4+ICAgXG4gICAgICAgICAgPHNwYW4+IOKCrDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJpY2VQZXJndWVzdD5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZXNTZXJ2aWNlLmdldChsaW5lLmlkKSB8IGFzeW5jXCIgW3NlcnZlc109XCJsaW5lLmNvdW50XCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaW5lLmlzUmVjaXBlXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NvdW50X19mb3JcIj5wb3VyPC9kaXY+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJsaW5lLmNvdW50XCIgKGNvdW50ZXJDaGFuZ2UpPVwiY2hhbmdlQ291bnQoJGV2ZW50KVwiIFttaW5SYW5nZV09XCJsaW5lLmlzUmVjaXBlID8gMSA6IDBcIj5cbiAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5pc1JlY2lwZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudF9fcGVvcGxlXCI+cGVyc29ubmV7eyBsaW5lLmNvdW50ID4gMSA/ICdzJyA6ICcnIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5kaXNwbGF5TW9kZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19hZGRfX2J1dHRvblwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCwgdHJ1ZSlcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZicgW2ljb25OYW1lXT1cImljb24uQ2FydFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lc1wiICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nIGVsc2UgbG9hZGVyXCI+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZSAqbmdGb3I9XCJsZXQgZW50cnlMaW5lIG9mIGVudHJpZXNMaW5lcyQgfCBhc3luY1wiIFtsaW5lXT1cImVudHJ5TGluZVwiXG4gICAgICAocmVtb3ZlZCk9XCJkZWxldGVFbnRyeSgkZXZlbnQucmVjb3JkKVwiIChyZXBsYWNlSXRlbSk9J3JlcGxhY2VJdGVtLmVtaXQobGluZSknIFtibG9ja1N0YXRlc109J2Jsb2NrU3RhdGVzJz48L25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZT5cbiAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZCAqbmdJZj1cImxpbmUuZW50cmllcy5ub3RGb3VuZC5sZW5ndGggPiAwXCIgW2VudHJpZXNdPVwibGluZS5lbnRyaWVzLm5vdEZvdW5kXCJcbiAgICAgIG1vZGU9XCJ1bmF2YWlsYWJsZVwiPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZD5cbiAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZCAqbmdJZj1cImxpbmUuZW50cmllcy5vZnRlbkRlbGV0ZWQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5vZnRlbkRlbGV0ZWRcIlxuICAgICAgbW9kZT1cIm9mdGVuRGVsZXRlZFwiIChlbnRyeUFkZGVkKT1cImFkZEVudHJ5KCRldmVudClcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMucmVtb3ZlZC5sZW5ndGggPiAwXCIgW2VudHJpZXNdPVwibGluZS5lbnRyaWVzLnJlbW92ZWRcIlxuICAgICAgbW9kZT1cInJlbW92ZWRcIiBbcmVkdWNlZF09XCJ0cnVlXCIgKGVudHJ5QWRkZWQpPVwiYWRkRW50cnkoJGV2ZW50KVwiPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZD5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2xvYWRlci1jb250YWluZXJcIiA+XG4gICAgICA8bmctbWlhbS1sb2FkZXI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICAgIDxkaXY+Q2FsY3VsIGRlcyBpbmdyw6lkaWVudHMuLi48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|