ngx-rendering-service-lib 0.0.45 → 0.0.47
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/esm2022/lib/dto/FrontendModuleConfig.mjs +2 -1
- package/esm2022/lib/dto/RenderData.mjs +1 -1
- package/esm2022/lib/module/binder/binder.component.mjs +3 -3
- package/esm2022/lib/module/ddb/ddb.component.mjs +86 -0
- package/esm2022/lib/module/url/url.component.mjs +10 -3
- package/esm2022/lib/render.component.mjs +12 -8
- package/esm2022/module-info.service.mjs +27 -9
- package/fesm2022/{ngx-rendering-service-lib-binder.component-BcnWHXkn.mjs → ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs} +3 -3
- package/fesm2022/{ngx-rendering-service-lib-binder.component-BcnWHXkn.mjs.map → ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs.map} +1 -1
- package/fesm2022/ngx-rendering-service-lib-ddb.component-CMCF3NfH.mjs +89 -0
- package/fesm2022/ngx-rendering-service-lib-ddb.component-CMCF3NfH.mjs.map +1 -0
- package/fesm2022/ngx-rendering-service-lib.mjs +47 -18
- package/fesm2022/ngx-rendering-service-lib.mjs.map +1 -1
- package/lib/dto/FrontendModuleConfig.d.ts +2 -1
- package/lib/dto/RenderData.d.ts +3 -0
- package/lib/module/ddb/ddb.component.d.ts +17 -0
- package/lib/module/url/url.component.d.ts +1 -0
- package/module-info.service.d.ts +3 -2
- package/package.json +1 -1
|
@@ -8,5 +8,6 @@ export var UrlEmbeddings;
|
|
|
8
8
|
UrlEmbeddings[UrlEmbeddings["LTI13TOOL"] = 5] = "LTI13TOOL";
|
|
9
9
|
UrlEmbeddings[UrlEmbeddings["H5P"] = 6] = "H5P";
|
|
10
10
|
UrlEmbeddings[UrlEmbeddings["PREZI"] = 7] = "PREZI";
|
|
11
|
+
UrlEmbeddings[UrlEmbeddings["LEARNINGAPPS"] = 8] = "LEARNINGAPPS";
|
|
11
12
|
})(UrlEmbeddings || (UrlEmbeddings = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJvbnRlbmRNb2R1bGVDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2R0by9Gcm9udGVuZE1vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxNQUFNLENBQU4sSUFBWSxhQVVYO0FBVkQsV0FBWSxhQUFhO0lBQ3ZCLHVEQUFPLENBQUE7SUFDUCxtREFBSyxDQUFBO0lBQ0wsbURBQUssQ0FBQTtJQUNMLG1EQUFLLENBQUE7SUFDTCxtREFBSyxDQUFBO0lBQ0wsMkRBQVMsQ0FBQTtJQUNULCtDQUFHLENBQUE7SUFDSCxtREFBSyxDQUFBO0lBQ0wsaUVBQVksQ0FBQTtBQUNkLENBQUMsRUFWVyxhQUFhLEtBQWIsYUFBYSxRQVV4QiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHR5cGUgRnJvbnRlbmRNb2R1bGVDb25maWcgPSB7XG4gIG1vZHVsZTogc3RyaW5nLFxuICB1cmxNb2R1bGVDb25maWc6IFVybE1vZHVsZUNvbmZpZyB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgVXJsTW9kdWxlQ29uZmlnID0ge1xuICBlbWJlZGRpbmc6IFVybEVtYmVkZGluZ3MsXG4gIGV4dGVybmFsSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBVcmxFbWJlZGRpbmdzIHtcbiAgWU9VVFVCRSxcbiAgVklNRU8sXG4gIFZJREVPLFxuICBBVURJTyxcbiAgSU1BR0UsXG4gIExUSTEzVE9PTCxcbiAgSDVQLFxuICBQUkVaSSxcbiAgTEVBUk5JTkdBUFBTXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVuZGVyRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZHRvL1JlbmRlckRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RnJvbnRlbmRNb2R1bGVDb25maWd9IGZyb20gXCIuL0Zyb250ZW5kTW9kdWxlQ29uZmlnXCI7XG5cbmV4cG9ydCB0eXBlIFJlbmRlckRhdGEgPSB7XG4gIGl0ZW1zPzogQXJyYXk8QXNzZXRTdGF0ZUl0ZW0+LFxuICBtb2R1bGU6IHN0cmluZyxcbiAgZnJvbnRlbmRNb2R1bGVDb25maWc/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVuZGVyRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZHRvL1JlbmRlckRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RnJvbnRlbmRNb2R1bGVDb25maWd9IGZyb20gXCIuL0Zyb250ZW5kTW9kdWxlQ29uZmlnXCI7XG5cbmV4cG9ydCB0eXBlIFJlbmRlckRhdGEgPSB7XG4gIGl0ZW1zPzogQXJyYXk8QXNzZXRTdGF0ZUl0ZW0+LFxuICBtb2R1bGU6IHN0cmluZyxcbiAgZnJvbnRlbmRNb2R1bGVDb25maWc/OiBGcm9udGVuZE1vZHVsZUNvbmZpZ1xufVxuXG5leHBvcnQgdHlwZSBBc3NldFN0YXRlSXRlbSA9IHtcbiAgbGluazogc3RyaW5nO1xuICBwcm9ncmVzczogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgYWRkaXRpb25hbERhdGE/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuIl19
|
|
@@ -12,17 +12,17 @@ export class BinderComponent {
|
|
|
12
12
|
this.activeObject.set(allFinishedItems?.[0]);
|
|
13
13
|
}
|
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BinderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: BinderComponent, isStandalone: true, selector: "rs-module-binder", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"binder-wrapper\" *ngIf=\"activeObject()\">\n <a [href]=\"activeObject()?.link\">Link to object</a>\n</div>\n", styles: [".
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: BinderComponent, isStandalone: true, selector: "rs-module-binder", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"binder-wrapper\" *ngIf=\"activeObject()\">\n <a [href]=\"activeObject()?.link\">Link to object</a>\n</div>\n", styles: [".ddb-wrapper{width:100%;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BinderComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'rs-module-binder', standalone: true, imports: [
|
|
20
20
|
RenderingModule,
|
|
21
21
|
FormsModule,
|
|
22
|
-
], template: "<div class=\"binder-wrapper\" *ngIf=\"activeObject()\">\n <a [href]=\"activeObject()?.link\">Link to object</a>\n</div>\n", styles: [".
|
|
22
|
+
], template: "<div class=\"binder-wrapper\" *ngIf=\"activeObject()\">\n <a [href]=\"activeObject()?.link\">Link to object</a>\n</div>\n", styles: [".ddb-wrapper{width:100%;position:relative}\n"] }]
|
|
23
23
|
}], propDecorators: { data: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}], node: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxlL2JpbmRlci9iaW5kZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGUvYmluZGVyL2JpbmRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU12RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQWMzQyxNQUFNLE9BQU8sZUFBZTtJQVY1QjtRQWFFLGlCQUFZLEdBQUcsTUFBTSxDQUE2QixTQUFTLENBQUMsQ0FBQztLQU05RDtJQUpDLGVBQWU7UUFDYixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBUlUsZUFBZTtrR0FBZixlQUFlLG9IQ3JCNUIsNEhBR0EscUdEWUksZUFBZSxrSUFDZixXQUFXOzsyRkFLRixlQUFlO2tCQVYzQixTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixXQUFXO3FCQUNaOzhCQUtRLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIHNpZ25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVuZGVyaW5nTW9kdWxlfSBmcm9tIFwiLi4vLi4vcmVuZGVyaW5nLm1vZHVsZVwiO1xuaW1wb3J0IHtSZW5kZXJNb2R1bGV9IGZyb20gXCIuLi9SZW5kZXJNb2R1bGVcIjtcbmltcG9ydCB7Tm9kZX0gZnJvbSBcIm5neC1lZHUtc2hhcmluZy1hcGlcIjtcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHtNYXRPcHRpb24sIE1hdFNlbGVjdH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge1JlbmRlckRhdGEsIEFzc2V0U3RhdGVJdGVtfSBmcm9tIFwiLi4vLi4vZHRvL1JlbmRlckRhdGFcIjtcbmltcG9ydCB7TWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycy1tb2R1bGUtYmluZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJlbmRlcmluZ01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbmRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW5kZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEJpbmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIFJlbmRlck1vZHVsZSwgQWZ0ZXJWaWV3SW5pdHtcbiAgQElucHV0KCkgZGF0YTogUmVuZGVyRGF0YSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbm9kZTogTm9kZSB8IHVuZGVmaW5lZDtcbiAgYWN0aXZlT2JqZWN0ID0gc2lnbmFsPEFzc2V0U3RhdGVJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBhbGxGaW5pc2hlZEl0ZW1zID0gdGhpcy5kYXRhPy5pdGVtcz8uZmlsdGVyKGl0ZW0gPT4gaXRlbS5saW5rICE9PSBcIlwiKVxuICAgIHRoaXMuYWN0aXZlT2JqZWN0LnNldChhbGxGaW5pc2hlZEl0ZW1zPy5bMF0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYmluZGVyLXdyYXBwZXJcIiAqbmdJZj1cImFjdGl2ZU9iamVjdCgpXCI+XG4gIDxhIFtocmVmXT1cImFjdGl2ZU9iamVjdCgpPy5saW5rXCI+TGluayB0byBvYmplY3Q8L2E+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Component, HostListener, Input, signal } from '@angular/core';
|
|
2
|
+
import { RenderingModule } from "../../rendering.module";
|
|
3
|
+
import { MatIcon } from "@angular/material/icon";
|
|
4
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
5
|
+
import { FormsModule } from "@angular/forms";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/material/button";
|
|
9
|
+
export class DdbComponent {
|
|
10
|
+
constructor(element) {
|
|
11
|
+
this.element = element;
|
|
12
|
+
this.activeObject = signal(undefined);
|
|
13
|
+
}
|
|
14
|
+
ngAfterViewInit() {
|
|
15
|
+
this.loadOptimalSize();
|
|
16
|
+
}
|
|
17
|
+
loadOptimalSize() {
|
|
18
|
+
console.log("INIT load optimal size for DDB");
|
|
19
|
+
const size = this.element.nativeElement.getBoundingClientRect();
|
|
20
|
+
if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {
|
|
21
|
+
const additionalData = this.data?.items[0].additionalData;
|
|
22
|
+
console.log("Add data");
|
|
23
|
+
console.log(additionalData);
|
|
24
|
+
const keys = Object.keys(additionalData);
|
|
25
|
+
console.log("All keys");
|
|
26
|
+
console.log(keys);
|
|
27
|
+
const sizeKeys = keys.filter(key => key.startsWith("size_"));
|
|
28
|
+
console.log("size keys");
|
|
29
|
+
console.log(sizeKeys);
|
|
30
|
+
const sizes = sizeKeys.map(key => additionalData[key]);
|
|
31
|
+
console.log("sizes");
|
|
32
|
+
console.log(sizes);
|
|
33
|
+
const matchingSize = sizes.sort((a, b) => {
|
|
34
|
+
return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;
|
|
35
|
+
})[0];
|
|
36
|
+
console.log("matching size");
|
|
37
|
+
console.log(matchingSize);
|
|
38
|
+
const width = matchingSize.split(',')[0];
|
|
39
|
+
console.log("width");
|
|
40
|
+
console.log(width);
|
|
41
|
+
const height = matchingSize.split(',')[1];
|
|
42
|
+
console.log("height");
|
|
43
|
+
console.log(height);
|
|
44
|
+
const widthPlaceHolder = additionalData["widthPlaceHolder"] ?? "";
|
|
45
|
+
console.log("widthPlaceholder");
|
|
46
|
+
console.log(widthPlaceHolder);
|
|
47
|
+
const heightPlaceHolder = additionalData["heightPlaceHolder"] ?? "";
|
|
48
|
+
console.log("heightPlaceHolder");
|
|
49
|
+
console.log(heightPlaceHolder);
|
|
50
|
+
const linkTemplate = additionalData["linkTemplate"] ?? "";
|
|
51
|
+
console.log("linkTemplate");
|
|
52
|
+
console.log(linkTemplate);
|
|
53
|
+
const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height);
|
|
54
|
+
console.log("Final link");
|
|
55
|
+
console.log(link);
|
|
56
|
+
this.activeObject.set(link);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
toggleFullscreen() {
|
|
60
|
+
if (document.fullscreenElement) {
|
|
61
|
+
document.exitFullscreen();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.element.nativeElement.requestFullscreen();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DdbComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DdbComponent, isStandalone: true, selector: "rs-module-ddb", inputs: { data: "data", node: "node" }, host: { listeners: { "document:fullscreenchange": "loadOptimalSize()" } }, ngImport: i0, template: "<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.ddb-wrapper{width:100%}.ddb-wrapper img{width:100%;position:relative}.ddb-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DdbComponent, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'rs-module-ddb', standalone: true, imports: [
|
|
73
|
+
RenderingModule,
|
|
74
|
+
MatButtonModule,
|
|
75
|
+
FormsModule,
|
|
76
|
+
MatIcon,
|
|
77
|
+
], template: "<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.ddb-wrapper{width:100%}.ddb-wrapper img{width:100%;position:relative}.ddb-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"] }]
|
|
78
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { data: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], node: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], loadOptimalSize: [{
|
|
83
|
+
type: HostListener,
|
|
84
|
+
args: ['document:fullscreenchange']
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGRiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxlL2RkYi9kZGIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGUvZGRiL2RkYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFHdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRnRDLGlCQUFZLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUVYLENBQUM7SUFFM0MsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBR08sZUFBZTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNoRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxL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LENBQUMsQ0FBQTtZQUN6QixNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUM3RixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFHLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7OEdBN0RVLFlBQVk7a0dBQVosWUFBWSw0TEN2QnpCLDZQQU9BLDZRRFFJLGVBQWUsa0lBQ2YsZUFBZSwySUFDZixXQUFXLCtCQUNYLE9BQU87OzJGQUtFLFlBQVk7a0JBWnhCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxPQUFPO3FCQUNSOytFQUtRLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBVUUsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgc2lnbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSZW5kZXJpbmdNb2R1bGV9IGZyb20gXCIuLi8uLi9yZW5kZXJpbmcubW9kdWxlXCI7XG5pbXBvcnQge1JlbmRlck1vZHVsZX0gZnJvbSBcIi4uL1JlbmRlck1vZHVsZVwiO1xuaW1wb3J0IHtOb2RlfSBmcm9tIFwibmd4LWVkdS1zaGFyaW5nLWFwaVwiO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25CdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7TWF0T3B0aW9uLCBNYXRTZWxlY3R9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtSZW5kZXJEYXRhLCBBc3NldFN0YXRlSXRlbX0gZnJvbSBcIi4uLy4uL2R0by9SZW5kZXJEYXRhXCI7XG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtbW9kdWxlLWRkYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZW5kZXJpbmdNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEljb24sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kZGIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGRiLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEZGJDb21wb25lbnQgaW1wbGVtZW50cyBSZW5kZXJNb2R1bGUsIEFmdGVyVmlld0luaXR7XG4gIEBJbnB1dCgpIGRhdGE6IFJlbmRlckRhdGEgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG5vZGU6IE5vZGUgfCB1bmRlZmluZWQ7XG4gIGFjdGl2ZU9iamVjdCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRPcHRpbWFsU2l6ZSgpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpmdWxsc2NyZWVuY2hhbmdlJylcbiAgcHJpdmF0ZSBsb2FkT3B0aW1hbFNpemUoKSB7XG4gICAgY29uc29sZS5sb2coXCJJTklUIGxvYWQgb3B0aW1hbCBzaXplIGZvciBEREJcIilcbiAgICBjb25zdCBzaXplID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaWYgKHRoaXMuZGF0YT8uaXRlbXMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGE/Lml0ZW1zWzBdLmFkZGl0aW9uYWxEYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGFkZGl0aW9uYWxEYXRhID0gdGhpcy5kYXRhPy5pdGVtc1swXS5hZGRpdGlvbmFsRGF0YVxuICAgICAgY29uc29sZS5sb2coXCJBZGQgZGF0YVwiKVxuICAgICAgY29uc29sZS5sb2coYWRkaXRpb25hbERhdGEpXG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoYWRkaXRpb25hbERhdGEpXG4gICAgICBjb25zb2xlLmxvZyhcIkFsbCBrZXlzXCIpXG4gICAgICBjb25zb2xlLmxvZyhrZXlzKVxuICAgICAgY29uc3Qgc2l6ZUtleXMgPSBrZXlzLmZpbHRlcihrZXkgPT4ga2V5LnN0YXJ0c1dpdGgoXCJzaXplX1wiKSlcbiAgICAgIGNvbnNvbGUubG9nKFwic2l6ZSBrZXlzXCIpXG4gICAgICBjb25zb2xlLmxvZyhzaXplS2V5cylcbiAgICAgIGNvbnN0IHNpemVzID0gc2l6ZUtleXMubWFwKGtleSA9PiBhZGRpdGlvbmFsRGF0YVtrZXldKVxuICAgICAgY29uc29sZS5sb2coXCJzaXplc1wiKVxuICAgICAgY29uc29sZS5sb2coc2l6ZXMpXG4gICAgICBjb25zdCBtYXRjaGluZ1NpemUgPSBzaXplcy5zb3J0KChhLGIpID0+IHtcbiAgICAgICAgcmV0dXJuIE1hdGguYWJzKHBhcnNlSW50KGEuc3BsaXQoJywnKVswXSkgLSBzaXplLndpZHRoKSA+IE1hdGguYWJzKHBhcnNlSW50KGIuc3BsaXQoJywnKVswXSkgLSBzaXplLndpZHRoKSA/IDEgOiAtMTtcbiAgICAgIH0pWzBdXG4gICAgICBjb25zb2xlLmxvZyhcIm1hdGNoaW5nIHNpemVcIilcbiAgICAgIGNvbnNvbGUubG9nKG1hdGNoaW5nU2l6ZSlcbiAgICAgIGNvbnN0IHdpZHRoID0gbWF0Y2hpbmdTaXplLnNwbGl0KCcsJylbMF1cbiAgICAgIGNvbnNvbGUubG9nKFwid2lkdGhcIilcbiAgICAgIGNvbnNvbGUubG9nKHdpZHRoKVxuICAgICAgY29uc3QgaGVpZ2h0ID0gbWF0Y2hpbmdTaXplLnNwbGl0KCcsJylbMV1cbiAgICAgIGNvbnNvbGUubG9nKFwiaGVpZ2h0XCIpXG4gICAgICBjb25zb2xlLmxvZyhoZWlnaHQpXG4gICAgICBjb25zdCB3aWR0aFBsYWNlSG9sZGVyID0gYWRkaXRpb25hbERhdGFbXCJ3aWR0aFBsYWNlSG9sZGVyXCJdID8/IFwiXCJcbiAgICAgIGNvbnNvbGUubG9nKFwid2lkdGhQbGFjZWhvbGRlclwiKVxuICAgICAgY29uc29sZS5sb2cod2lkdGhQbGFjZUhvbGRlcilcbiAgICAgIGNvbnN0IGhlaWdodFBsYWNlSG9sZGVyID0gYWRkaXRpb25hbERhdGFbXCJoZWlnaHRQbGFjZUhvbGRlclwiXSA/PyBcIlwiXG4gICAgICBjb25zb2xlLmxvZyhcImhlaWdodFBsYWNlSG9sZGVyXCIpXG4gICAgICBjb25zb2xlLmxvZyhoZWlnaHRQbGFjZUhvbGRlcilcbiAgICAgIGNvbnN0IGxpbmtUZW1wbGF0ZSA9IGFkZGl0aW9uYWxEYXRhW1wibGlua1RlbXBsYXRlXCJdID8/IFwiXCJcbiAgICAgIGNvbnNvbGUubG9nKFwibGlua1RlbXBsYXRlXCIpXG4gICAgICBjb25zb2xlLmxvZyhsaW5rVGVtcGxhdGUpXG4gICAgICBjb25zdCBsaW5rID0gbGlua1RlbXBsYXRlLnJlcGxhY2Uod2lkdGhQbGFjZUhvbGRlciwgd2lkdGgpLnJlcGxhY2UoaGVpZ2h0UGxhY2VIb2xkZXIsIGhlaWdodClcbiAgICAgIGNvbnNvbGUubG9nKFwiRmluYWwgbGlua1wiKVxuICAgICAgY29uc29sZS5sb2cobGluaylcbiAgICAgIHRoaXMuYWN0aXZlT2JqZWN0LnNldChsaW5rKVxuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUZ1bGxzY3JlZW4oKSB7XG4gICAgaWYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcbiAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGRiLXdyYXBwZXJcIiAqbmdJZj1cImFjdGl2ZU9iamVjdCgpXCI+XG4gIDxpbWdcbiAgICBbc3JjXT1cImFjdGl2ZU9iamVjdCgpXCJcbiAgICBbYWx0XT1cIm5vZGU/LnRpdGxlIHx8IG5vZGU/Lm5hbWUgfHwgJydcIlxuICA+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVGdWxsc2NyZWVuKClcIj48bWF0LWljb24+ZnVsbHNjcmVlbjwvbWF0LWljb24+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -28,6 +28,9 @@ export class UrlComponent {
|
|
|
28
28
|
else if (this.embedding === UrlEmbeddings.PREZI) {
|
|
29
29
|
this.sanitizedUrl = this.getPreziUrl();
|
|
30
30
|
}
|
|
31
|
+
else if (this.embedding === UrlEmbeddings.LEARNINGAPPS) {
|
|
32
|
+
this.sanitizedUrl = this.getLearningAppsUrl();
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
35
|
isProtected() {
|
|
33
36
|
return this.gdpr === undefined;
|
|
@@ -43,8 +46,12 @@ export class UrlComponent {
|
|
|
43
46
|
const preziUrl = this.url.slice(-1) === "/" ? this.url.substring(0, this.url.length - 1) : this.url;
|
|
44
47
|
return this.sanitizer.bypassSecurityTrustResourceUrl(preziUrl);
|
|
45
48
|
}
|
|
49
|
+
getLearningAppsUrl() {
|
|
50
|
+
const learningAppsUrl = this.url.replace('https://learningapps.org/', 'https://learningapps.org/view');
|
|
51
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(learningAppsUrl);
|
|
52
|
+
}
|
|
46
53
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UrlComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: UrlComponent, isStandalone: true, selector: "rs-module-url", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === UrlEmbeddings.YOUTUBE && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIMEO && externalId !== ''\">\n <iframe class=\"vimeoFrame\" [src]=\"sanitizedUrl\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.AUDIO && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.IMAGE && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIDEO && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.PREZI && url !== ''\">\n <iframe class=\"
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: UrlComponent, isStandalone: true, selector: "rs-module-url", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === UrlEmbeddings.YOUTUBE && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIMEO && externalId !== ''\">\n <iframe class=\"vimeoFrame\" [src]=\"sanitizedUrl\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.AUDIO && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.IMAGE && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIDEO && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(embedding === UrlEmbeddings.PREZI || embedding === UrlEmbeddings.LEARNINGAPPS) && url !== ''\">\n <iframe class=\"eduUrlFrame\" [src]=sanitizedUrl allowfullscreen=\"\" allow=\"autoplay; fullscreen\" ></iframe>\n </ng-container>\n\n </div>\n <div *ngIf=\"!gdprOk\">\n Halt! Stop!\n <button mat-button (click)=\"consentToGdprWarning()\">Weiter!</button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.url-wrapper{width:100%}.url-wrapper .audio-wrapper video[poster]{object-fit:cover}.url-wrapper .vimeoFrame .preziFrame .image-wrapper>img{width:100%;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: YouTubePlayer, selector: "youtube-player", inputs: ["videoId", "height", "width", "startSeconds", "endSeconds", "suggestedQuality", "playerVars", "disableCookies", "loadApi", "disablePlaceholder", "showBeforeIframeApiLoads", "placeholderButtonLabel", "placeholderImageQuality"], outputs: ["ready", "stateChange", "error", "apiChange", "playbackQualityChange", "playbackRateChange"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }] }); }
|
|
48
55
|
}
|
|
49
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UrlComponent, decorators: [{
|
|
50
57
|
type: Component,
|
|
@@ -54,10 +61,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
54
61
|
MatIconModule,
|
|
55
62
|
YouTubePlayer,
|
|
56
63
|
NgOptimizedImage,
|
|
57
|
-
], template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === UrlEmbeddings.YOUTUBE && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIMEO && externalId !== ''\">\n <iframe class=\"vimeoFrame\" [src]=\"sanitizedUrl\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.AUDIO && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.IMAGE && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIDEO && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.PREZI && url !== ''\">\n <iframe class=\"
|
|
64
|
+
], template: "<div class=\"url-wrapper\">\n <div *ngIf=\"gdprOk\">\n <ng-container *ngIf=\"embedding === UrlEmbeddings.YOUTUBE && externalId !== ''\">\n <youtube-player\n [videoId]=\"externalId ?? ''\"\n [disableCookies]=\"true\"\n ></youtube-player>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIMEO && externalId !== ''\">\n <iframe class=\"vimeoFrame\" [src]=\"sanitizedUrl\"></iframe>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.AUDIO && url !== ''\" >\n <div class=\"audio-wrapper\">\n <video\n controls\n style=\"max-width: 100%\"\n [src]=\"url\"\n poster=\"assets/img/audio.svg\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.IMAGE && url !== ''\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"url\"\n [alt]=\"node?.title ?? 'Edu-Sharing image'\"\n [title]=\"node?.title ?? 'Edu-Sharing image'\"\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"embedding === UrlEmbeddings.VIDEO && url !== ''\">\n <div class=\"video-wrapper\">\n <video\n controls\n [src]=\"url\"\n >\n </video>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(embedding === UrlEmbeddings.PREZI || embedding === UrlEmbeddings.LEARNINGAPPS) && url !== ''\">\n <iframe class=\"eduUrlFrame\" [src]=sanitizedUrl allowfullscreen=\"\" allow=\"autoplay; fullscreen\" ></iframe>\n </ng-container>\n\n </div>\n <div *ngIf=\"!gdprOk\">\n Halt! Stop!\n <button mat-button (click)=\"consentToGdprWarning()\">Weiter!</button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.url-wrapper{width:100%}.url-wrapper .audio-wrapper video[poster]{object-fit:cover}.url-wrapper .vimeoFrame .preziFrame .image-wrapper>img{width:100%;height:auto}\n"] }]
|
|
58
65
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { data: [{
|
|
59
66
|
type: Input
|
|
60
67
|
}], node: [{
|
|
61
68
|
type: Input
|
|
62
69
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxlL3VybC91cmwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGUvdXJsL3VybC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFHdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQWU3RCxNQUFNLE9BQU8sWUFBWTtJQVV2QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBUDNDLFNBQUksR0FBc0IsU0FBUyxDQUFBO1FBQ25DLFdBQU0sR0FBWSxJQUFJLENBQUE7UUFHdEIsaUJBQVksR0FBMkIsSUFBSSxDQUFBO1FBQzNDLFFBQUcsR0FBVyxFQUFFLENBQUE7UUF5Q0csa0JBQWEsR0FBRyxhQUFhLENBQUM7SUF0Q2pELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUE7UUFDNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUE7UUFDOUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDeEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDeEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0I7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLEdBQUcsR0FBRywyQkFBMkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDbkcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsK0JBQStCLENBQUMsQ0FBQTtRQUN0RyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkUsQ0FBQzs4R0EvQ1UsWUFBWTtrR0FBWixZQUFZLGlIQ3pCekIsNHREQWtEQSxxUkRsQ0ksZUFBZSxrSUFDZixlQUFlLDJOQUNmLGFBQWEsK0JBQ2IsYUFBYSwrWUFDYixnQkFBZ0I7OzJGQUtQLFlBQVk7a0JBYnhCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUZBS1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVuZGVyaW5nTW9kdWxlfSBmcm9tIFwiLi4vLi4vcmVuZGVyaW5nLm1vZHVsZVwiO1xuaW1wb3J0IHtSZW5kZXJNb2R1bGV9IGZyb20gXCIuLi9SZW5kZXJNb2R1bGVcIjtcbmltcG9ydCB7Tm9kZX0gZnJvbSBcIm5neC1lZHUtc2hhcmluZy1hcGlcIjtcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQge1lvdVR1YmVQbGF5ZXJ9IGZyb20gJ0Bhbmd1bGFyL3lvdXR1YmUtcGxheWVyJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmx9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7UmVuZGVyRGF0YX0gZnJvbSBcIi4uLy4uL2R0by9SZW5kZXJEYXRhXCI7XG5pbXBvcnQge1VybEVtYmVkZGluZ3N9IGZyb20gXCIuLi8uLi9kdG8vRnJvbnRlbmRNb2R1bGVDb25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtbW9kdWxlLXVybCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZW5kZXJpbmdNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgWW91VHViZVBsYXllcixcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXJsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VybC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVXJsQ29tcG9uZW50IGltcGxlbWVudHMgUmVuZGVyTW9kdWxlLCBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBSZW5kZXJEYXRhIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBub2RlOiBOb2RlIHwgdW5kZWZpbmVkO1xuICBnZHByOiBhbnlbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICBnZHByT2s6IGJvb2xlYW4gPSB0cnVlXG4gIGVtYmVkZGluZz86IFVybEVtYmVkZGluZ3NcbiAgZXh0ZXJuYWxJZD86IHN0cmluZ1xuICBzYW5pdGl6ZWRVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsXG4gIHVybDogc3RyaW5nID0gXCJcIlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZW1iZWRkaW5nID0gdGhpcy5kYXRhPy5mcm9udGVuZE1vZHVsZUNvbmZpZz8udXJsTW9kdWxlQ29uZmlnPy5lbWJlZGRpbmdcbiAgICB0aGlzLmV4dGVybmFsSWQgPSB0aGlzLmRhdGE/LmZyb250ZW5kTW9kdWxlQ29uZmlnPy51cmxNb2R1bGVDb25maWc/LmV4dGVybmFsSWRcbiAgICB0aGlzLnVybCA9IHRoaXMubm9kZT8ucHJvcGVydGllcz8uW1wiY2NtOnd3d3VybFwiXT8uWzBdIHx8ICcnXG4gICAgaWYgKHRoaXMuZW1iZWRkaW5nID09PSBVcmxFbWJlZGRpbmdzLlZJTUVPKSB7XG4gICAgICB0aGlzLnNhbml0aXplZFVybCA9IHRoaXMuZ2V0VmltZW9VcmkoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5lbWJlZGRpbmcgPT09IFVybEVtYmVkZGluZ3MuUFJFWkkpIHtcbiAgICAgIHRoaXMuc2FuaXRpemVkVXJsID0gdGhpcy5nZXRQcmV6aVVybCgpXG4gICAgfSBlbHNlIGlmICh0aGlzLmVtYmVkZGluZyA9PT0gVXJsRW1iZWRkaW5ncy5MRUFSTklOR0FQUFMpIHtcbiAgICAgIHRoaXMuc2FuaXRpemVkVXJsID0gdGhpcy5nZXRMZWFybmluZ0FwcHNVcmwoKVxuICAgIH1cbiAgfVxuXG4gIGlzUHJvdGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdkcHIgPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnNlbnRUb0dkcHJXYXJuaW5nKCkge1xuICAgICB0aGlzLmdkcHJPayA9IHRydWVcbiAgfVxuXG4gIGdldFZpbWVvVXJpKCk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgbGV0IHVybCA9ICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJyArIHRoaXMuZXh0ZXJuYWxJZFxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKVxuICB9XG5cbiAgZ2V0UHJlemlVcmwoKTogU2FmZVJlc291cmNlVXJsIHtcbiAgICBjb25zdCBwcmV6aVVybCA9IHRoaXMudXJsLnNsaWNlKC0xKSA9PT0gXCIvXCIgPyB0aGlzLnVybC5zdWJzdHJpbmcoMCwgdGhpcy51cmwubGVuZ3RoIC0gMSkgOiB0aGlzLnVybFxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwocHJlemlVcmwpXG4gIH1cblxuICBnZXRMZWFybmluZ0FwcHNVcmwoKTogU2FmZVJlc291cmNlVXJsIHtcbiAgICBjb25zdCBsZWFybmluZ0FwcHNVcmwgPSB0aGlzLnVybC5yZXBsYWNlKCdodHRwczovL2xlYXJuaW5nYXBwcy5vcmcvJywgJ2h0dHBzOi8vbGVhcm5pbmdhcHBzLm9yZy92aWV3JylcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGxlYXJuaW5nQXBwc1VybClcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBVcmxFbWJlZGRpbmdzID0gVXJsRW1iZWRkaW5ncztcbn1cbiIsIjxkaXYgY2xhc3M9XCJ1cmwtd3JhcHBlclwiPlxuICA8ZGl2ICpuZ0lmPVwiZ2Rwck9rXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtYmVkZGluZyA9PT0gVXJsRW1iZWRkaW5ncy5ZT1VUVUJFICYmIGV4dGVybmFsSWQgIT09ICcnXCI+XG4gICAgICA8eW91dHViZS1wbGF5ZXJcbiAgICAgICAgW3ZpZGVvSWRdPVwiZXh0ZXJuYWxJZCA/PyAnJ1wiXG4gICAgICAgIFtkaXNhYmxlQ29va2llc109XCJ0cnVlXCJcbiAgICAgID48L3lvdXR1YmUtcGxheWVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbWJlZGRpbmcgPT09IFVybEVtYmVkZGluZ3MuVklNRU8gJiYgZXh0ZXJuYWxJZCAhPT0gJydcIj5cbiAgICAgIDxpZnJhbWUgY2xhc3M9XCJ2aW1lb0ZyYW1lXCIgW3NyY109XCJzYW5pdGl6ZWRVcmxcIj48L2lmcmFtZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1iZWRkaW5nID09PSBVcmxFbWJlZGRpbmdzLkFVRElPICYmICB1cmwgIT09ICcnXCIgPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvLXdyYXBwZXJcIj5cbiAgICAgICAgPHZpZGVvXG4gICAgICAgICAgY29udHJvbHNcbiAgICAgICAgICBzdHlsZT1cIm1heC13aWR0aDogMTAwJVwiXG4gICAgICAgICAgW3NyY109XCJ1cmxcIlxuICAgICAgICAgIHBvc3Rlcj1cImFzc2V0cy9pbWcvYXVkaW8uc3ZnXCJcbiAgICAgICAgPlxuICAgICAgICA8L3ZpZGVvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtYmVkZGluZyA9PT0gVXJsRW1iZWRkaW5ncy5JTUFHRSAmJiB1cmwgIT09ICcnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgW25nU3JjXT1cInVybFwiXG4gICAgICAgICAgW2FsdF09XCJub2RlPy50aXRsZSA/PyAnRWR1LVNoYXJpbmcgaW1hZ2UnXCJcbiAgICAgICAgICBbdGl0bGVdPVwibm9kZT8udGl0bGUgPz8gJ0VkdS1TaGFyaW5nIGltYWdlJ1wiXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbWJlZGRpbmcgPT09IFVybEVtYmVkZGluZ3MuVklERU8gJiYgdXJsICE9PSAnJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInZpZGVvLXdyYXBwZXJcIj5cbiAgICAgICAgPHZpZGVvXG4gICAgICAgICAgY29udHJvbHNcbiAgICAgICAgICBbc3JjXT1cInVybFwiXG4gICAgICAgID5cbiAgICAgICAgPC92aWRlbz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZW1iZWRkaW5nID09PSBVcmxFbWJlZGRpbmdzLlBSRVpJIHx8IGVtYmVkZGluZyA9PT0gVXJsRW1iZWRkaW5ncy5MRUFSTklOR0FQUFMpICYmIHVybCAhPT0gJydcIj5cbiAgICAgIDxpZnJhbWUgY2xhc3M9XCJlZHVVcmxGcmFtZVwiIFtzcmNdPXNhbml0aXplZFVybCBhbGxvd2Z1bGxzY3JlZW49XCJcIiBhbGxvdz1cImF1dG9wbGF5OyBmdWxsc2NyZWVuXCIgPjwvaWZyYW1lPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWdkcHJPa1wiPlxuICAgIEhhbHQhIFN0b3AhXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjb25zZW50VG9HZHByV2FybmluZygpXCI+V2VpdGVyITwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -44,7 +44,8 @@ export class RenderComponent {
|
|
|
44
44
|
link: item.link,
|
|
45
45
|
progress: 100,
|
|
46
46
|
height: item.height,
|
|
47
|
-
width: item.width
|
|
47
|
+
width: item.width,
|
|
48
|
+
additionalData: undefined
|
|
48
49
|
};
|
|
49
50
|
return assetItem;
|
|
50
51
|
});
|
|
@@ -65,7 +66,8 @@ export class RenderComponent {
|
|
|
65
66
|
link: subJob.objectLink?.link ?? "",
|
|
66
67
|
progress: subJob.status !== 'QUEUED' ? subJob.progress : -(subJob.progress + 1),
|
|
67
68
|
height: subJob.objectLink?.height ?? subJob.quality,
|
|
68
|
-
width: subJob.objectLink?.width ?? 0
|
|
69
|
+
width: subJob.objectLink?.width ?? 0,
|
|
70
|
+
additionalData: subJob.additionalData
|
|
69
71
|
};
|
|
70
72
|
return assetItem;
|
|
71
73
|
});
|
|
@@ -83,7 +85,8 @@ export class RenderComponent {
|
|
|
83
85
|
link: subJob.objectLink?.link ?? "",
|
|
84
86
|
progress: subJob.progress,
|
|
85
87
|
height: subJob.objectLink?.height ?? subJob.quality,
|
|
86
|
-
width: subJob.objectLink?.width ?? 0
|
|
88
|
+
width: subJob.objectLink?.width ?? 0,
|
|
89
|
+
additionalData: subJob.additionalData
|
|
87
90
|
};
|
|
88
91
|
return assetItem;
|
|
89
92
|
});
|
|
@@ -155,7 +158,7 @@ export class RenderComponent {
|
|
|
155
158
|
}
|
|
156
159
|
async checkModule() {
|
|
157
160
|
console.log("Checking module");
|
|
158
|
-
if (!await this.moduleInfoService.isAvailableBackendObject(this.
|
|
161
|
+
if (!await this.moduleInfoService.isAvailableBackendObject(this.node)) {
|
|
159
162
|
console.log("using frontend only module");
|
|
160
163
|
if (this.node !== undefined) {
|
|
161
164
|
return this.moduleInfoService.getFrontendModuleSetting(this.node);
|
|
@@ -171,9 +174,9 @@ export class RenderComponent {
|
|
|
171
174
|
return "default";
|
|
172
175
|
}
|
|
173
176
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, deps: [{ token: i0.Injector }, { token: i1.RenderControllerWrapperService }, { token: i1.JobInfoControllerService }, { token: i2.ModuleInfoService }, { token: i3.PlatformLocation }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module module-{{(renderData$ | async)?.module}}\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'AUDIO'){\n <rs-module-audio [data]=\"data\" [node]=\"node\"></rs-module-audio>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'BINDER'){\n <rs-module-binder [data]=\"data\" [node]=\"node\"></rs-module-binder>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n <ng-container *ngIf=\"data.module === 'default'\">\n @defer (when data.module === 'default') {\n <rs-module-default [node]=\"node\"></rs-module-default>\n }\n </ng-container>\n <ng-container *ngIf=\"data.module === 'url'\">\n @defer (when data.module === 'url') {\n <rs-module-url [node]=\"node\" [data]=\"data\"></rs-module-url>\n }\n </ng-container>\n </ng-container>\n\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module module-{{(renderData$ | async)?.module}}\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'AUDIO'){\n <rs-module-audio [data]=\"data\" [node]=\"node\"></rs-module-audio>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'BINDER'){\n <rs-module-binder [data]=\"data\" [node]=\"node\"></rs-module-binder>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'DDB'){\n <rs-module-ddb [data]=\"data\" [node]=\"node\"></rs-module-ddb>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n <ng-container *ngIf=\"data.module === 'default'\">\n @defer (when data.module === 'default') {\n <rs-module-default [node]=\"node\"></rs-module-default>\n }\n </ng-container>\n <ng-container *ngIf=\"data.module === 'url'\">\n @defer (when data.module === 'url') {\n <rs-module-url [node]=\"node\" [data]=\"data\"></rs-module-url>\n }\n </ng-container>\n </ng-container>\n\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: RenderingApiModule }, { kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], deferBlockDependencies: [() => [import("./module/image/image.component").then(m => m.ImageComponent)], () => [import("./module/video/video.component").then(m => m.VideoComponent)], () => [import("./module/pdf/pdf.component").then(m => m.PdfComponent)], () => [import("./module/eduhtml/eduHtml.component").then(m => m.EduHtmlComponent)], () => [import("./module/spreadsheet/spreadsheet.component").then(m => m.SpreadsheetComponent)], () => [import("./module/audio/audio.component").then(m => m.AudioComponent)], () => [import("./module/binder/binder.component").then(m => m.BinderComponent)], () => [import("./module/ddb/ddb.component").then(m => m.DdbComponent)], () => [import("./module/default/default.component").then(m => m.DefaultComponent)], () => [import("./module/url/url.component").then(m => m.UrlComponent)]] }); }
|
|
175
178
|
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, resolveDeferredDeps: () => [import("./module/image/image.component").then(m => m.ImageComponent), import("./module/video/video.component").then(m => m.VideoComponent), import("./module/pdf/pdf.component").then(m => m.PdfComponent), import("./module/eduhtml/eduHtml.component").then(m => m.EduHtmlComponent), import("./module/spreadsheet/spreadsheet.component").then(m => m.SpreadsheetComponent), import("./module/audio/audio.component").then(m => m.AudioComponent), import("./module/binder/binder.component").then(m => m.BinderComponent), import("./module/default/default.component").then(m => m.DefaultComponent), import("./module/url/url.component").then(m => m.UrlComponent)], resolveMetadata: (ImageComponent, VideoComponent, PdfComponent, EduHtmlComponent, SpreadsheetComponent, AudioComponent, BinderComponent, DefaultComponent, UrlComponent) => ({ decorators: [{
|
|
179
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, resolveDeferredDeps: () => [import("./module/image/image.component").then(m => m.ImageComponent), import("./module/video/video.component").then(m => m.VideoComponent), import("./module/pdf/pdf.component").then(m => m.PdfComponent), import("./module/eduhtml/eduHtml.component").then(m => m.EduHtmlComponent), import("./module/spreadsheet/spreadsheet.component").then(m => m.SpreadsheetComponent), import("./module/audio/audio.component").then(m => m.AudioComponent), import("./module/binder/binder.component").then(m => m.BinderComponent), import("./module/ddb/ddb.component").then(m => m.DdbComponent), import("./module/default/default.component").then(m => m.DefaultComponent), import("./module/url/url.component").then(m => m.UrlComponent)], resolveMetadata: (ImageComponent, VideoComponent, PdfComponent, EduHtmlComponent, SpreadsheetComponent, AudioComponent, BinderComponent, DdbComponent, DefaultComponent, UrlComponent) => ({ decorators: [{
|
|
177
180
|
type: Component,
|
|
178
181
|
args: [{ selector: 'rs-root', standalone: true, imports: [
|
|
179
182
|
RenderingApiModule,
|
|
@@ -189,10 +192,11 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ng
|
|
|
189
192
|
DefaultComponent,
|
|
190
193
|
AudioComponent,
|
|
191
194
|
BinderComponent,
|
|
192
|
-
|
|
195
|
+
DdbComponent,
|
|
196
|
+
], template: "<div class=\"module module-{{(renderData$ | async)?.module}}\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'AUDIO'){\n <rs-module-audio [data]=\"data\" [node]=\"node\"></rs-module-audio>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'BINDER'){\n <rs-module-binder [data]=\"data\" [node]=\"node\"></rs-module-binder>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'DDB'){\n <rs-module-ddb [data]=\"data\" [node]=\"node\"></rs-module-ddb>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n <ng-container *ngIf=\"data.module === 'default'\">\n @defer (when data.module === 'default') {\n <rs-module-default [node]=\"node\"></rs-module-default>\n }\n </ng-container>\n <ng-container *ngIf=\"data.module === 'url'\">\n @defer (when data.module === 'url') {\n <rs-module-url [node]=\"node\" [data]=\"data\"></rs-module-url>\n }\n </ng-container>\n </ng-container>\n\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"] }]
|
|
193
197
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.RenderControllerWrapperService }, { type: i1.JobInfoControllerService }, { type: i2.ModuleInfoService }, { type: i3.PlatformLocation }], propDecorators: { request: [{
|
|
194
198
|
type: Input
|
|
195
199
|
}], node: [{
|
|
196
200
|
type: Input
|
|
197
201
|
}] } }) });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVuZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9saWIvcmVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFtQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFNbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQU9wRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUE0QnRDLE1BQU0sT0FBTyxlQUFlO0lBVzFCLFlBQ1UsUUFBa0IsRUFDbEIsdUJBQXVELEVBQ3ZELHdCQUFrRCxFQUNsRCxpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBSmxDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFnQztRQUN2RCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVo1Qyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxD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b25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSZW5kZXJpbmdNb2R1bGV9IGZyb20gXCIuL3JlbmRlcmluZy5tb2R1bGVcIjtcbmltcG9ydCB7XG4gIEpvYkluZm9Db250cm9sbGVyU2VydmljZSxcbiAgUmVuZGVyQ29udHJvbGxlcldyYXBwZXJTZXJ2aWNlLFxuICBSZW5kZXJEYXRhUmVxdWVzdFdpdGhUb2tlblxufSBmcm9tIFwibmd4LXJlbmRlcmluZy1zZXJ2aWNlLWFwaVwiO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZmlyc3RWYWx1ZUZyb20sIGludGVydmFsLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7SW1hZ2VDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS9pbWFnZS9pbWFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7UmVuZGVyaW5nQXBpTW9kdWxlfSBmcm9tIFwiLi9yZW5kZXJpbmctYXBpLm1vZHVsZVwiO1xuaW1wb3J0IHtWaWRlb0NvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL3ZpZGVvL3ZpZGVvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XG5pbXBvcnQge05vZGV9IGZyb20gXCJuZ3gtZWR1LXNoYXJpbmctYXBpXCI7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyXCI7XG5pbXBvcnQge1JlbmRlckRhdGEsIEFzc2V0U3RhdGVJdGVtfSBmcm9tIFwiLi9kdG8vUmVuZGVyRGF0YVwiO1xuaW1wb3J0IHtQZGZDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS9wZGYvcGRmLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtVcmxDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS91cmwvdXJsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFZHVIdG1sQ29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvZWR1aHRtbC9lZHVIdG1sLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTcHJlYWRzaGVldENvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL3NwcmVhZHNoZWV0L3NwcmVhZHNoZWV0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNb2R1bGVJbmZvU2VydmljZX0gZnJvbSBcIi4uL21vZHVsZS1pbmZvLnNlcnZpY2VcIjtcbmltcG9ydCB7ZmlsdGVyfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7UGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtEZWZhdWx0Q29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvZGVmYXVsdC9kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGcm9udGVuZE1vZHVsZUNvbmZpZ30gZnJvbSBcIi4vZHRvL0Zyb250ZW5kTW9kdWxlQ29uZmlnXCI7XG5pbXBvcnQge0F1ZGlvQ29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvYXVkaW8vYXVkaW8uY29tcG9uZW50XCI7XG5pbXBvcnQge0JpbmRlckNvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL2JpbmRlci9iaW5kZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLXJvb3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUmVuZGVyaW5nQXBpTW9kdWxlLFxuICAgIFJlbmRlcmluZ01vZHVsZSxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBWaWRlb0NvbXBvbmVudCxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgUGRmQ29tcG9uZW50LFxuICAgIFVybENvbXBvbmVudCxcbiAgICBFZHVIdG1sQ29tcG9uZW50LFxuICAgIFNwcmVhZHNoZWV0Q29tcG9uZW50LFxuICAgIERlZmF1bHRDb21wb25lbnQsXG4gICAgQXVkaW9Db21wb25lbnQsXG4gICAgQmluZGVyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVuZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JlbmRlci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICAvLyBAVE9ETzogVXNlIGVudW0gcHJvdmlkZWQgYnkgQmFja2VuZCFcbiAgQElucHV0KCkgcmVxdWVzdDogUmVuZGVyRGF0YVJlcXVlc3RXaXRoVG9rZW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG5vZGU6IE5vZGUgfCB1bmRlZmluZWQ7XG4gIHNlcnZpY2VXb3JrZXJSZWFkeSA9IGZhbHNlO1xuICBsb2FkRGF0YSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHJlbmRlckRhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZW5kZXJEYXRhIHwgbnVsbD4obnVsbCk7XG4gIGZpbmlzaGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgc29tZUJ1dE5vdEFsbEZpbmlzaGVkID0gbmV3IFN1YmplY3Q8Qm9vbGVhbj4oKVxuICBwcm9ncmVzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgbW9kdWxlOiBzdHJpbmcsIHByb2dyZXNzPzogbnVtYmVyIH0gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlbmRlckNvbnRyb2xsZXJTZXJ2aWNlOiBSZW5kZXJDb250cm9sbGVyV3JhcHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBqb2JJbmZvQ29udHJvbGxlclNlcnZpY2U6IEpvYkluZm9Db250cm9sbGVyU2VydmljZSxcbiAgICBwcml2YXRlIG1vZHVsZUluZm9TZXJ2aWNlOiBNb2R1bGVJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtTG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb25cbiAgKSB7XG4gICAgdGhpcy5sb2FkRGF0YS5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMubm9kZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VydmljZVdvcmtlclJlYWR5KSxcbiAgICAgIGRlYm91bmNlVGltZSgxMCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge3JldHVybiB0aGlzLmNoZWNrTW9kdWxlKCl9KVxuICAgICkuc3Vic2NyaWJlKGFzeW5jIChmcm9udGVuZE1vZHVsZSkgPT4ge1xuICAgICAgaWYgKGZyb250ZW5kTW9kdWxlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGRhdGE6IFJlbmRlckRhdGEgPSB7XG4gICAgICAgICAgbW9kdWxlOiBmcm9udGVuZE1vZHVsZS5tb2R1bGUsXG4gICAgICAgICAgZnJvbnRlbmRNb2R1bGVDb25maWc6IGZyb250ZW5kTW9kdWxlXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJEYXRhJC5uZXh0KGRhdGEpXG4gICAgICAgIHRoaXMuZmluaXNoZWQubmV4dCgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZW5kZXJSZXNwb25zZURhdGEgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yZW5kZXJDb250cm9sbGVyU2VydmljZS5nZXRSZW5kZXJEYXRhVG9rZW4odGhpcy5yZXF1ZXN0ISEpKSk7XG4gICAgICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgY29tcGxldGVkIGRhdGEgQU5EIGEgam9iIGlkIChpZiB0aGVyZSkuXG4gICAgICAgIC8vIFdlIG5lZWQgdGhlIGRhdGEgdGhlbiBBTkQgdHJpZ2dlciB0aGUgcHJvZ3Jlc3MgbG9naWMgdG8ga2VlcCBsb2FkaW5nIHRoZSB1bmZpbmlzaGVkIHJlc29sdXRpb25zLlxuICAgICAgICBjb25zb2xlLmxvZyhyZW5kZXJSZXNwb25zZURhdGEpO1xuICAgICAgICBpZiAocmVuZGVyUmVzcG9uc2VEYXRhLmpvYklkID09PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgaXRlbXMgPSByZW5kZXJSZXNwb25zZURhdGEub2JqZWN0TGlua3M/Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0SXRlbTogQXNzZXRTdGF0ZUl0ZW0gPSB7XG4gICAgICAgICAgICAgIGxpbms6IGl0ZW0ubGluayxcbiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IDEwMCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpdGVtLmhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGl0ZW0ud2lkdGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhc3NldEl0ZW1cbiAgICAgICAgICB9KVxuICAgICAgICAgIGNvbnN0IGRhdGE6IFJlbmRlckRhdGEgPSB7XG4gICAgICAgICAgICBtb2R1bGU6IHJlbmRlclJlc3BvbnNlRGF0YS5tb2R1bGUgPz8gJycsXG4gICAgICAgICAgICBpdGVtczogaXRlbXNcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVuZGVyUmVzcG9uc2VEYXRhLm9iamVjdExpbmtzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5yZW5kZXJEYXRhJC5uZXh0KGRhdGEpO1xuICAgICAgICAgIHRoaXMuZmluaXNoZWQubmV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucHJvZ3Jlc3MkLm5leHQoe21vZHVsZTogcmVuZGVyUmVzcG9uc2VEYXRhLm1vZHVsZSA/PyAnJ30pO1xuICAgICAgICAgIGludGVydmFsKDUwMCkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmZpbmlzaGVkKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmpvYkluZm9Db250cm9sbGVyU2VydmljZS5nZXRKb2JJbmZvKHtqb2JJZDogcmVuZGVyUmVzcG9uc2VEYXRhLmpvYklkISF9KS5waXBlKCkpLFxuICAgICAgICAgICkuc3Vic2NyaWJlKGFzeW5jIChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIC8vIFNvbWUsIGJ1dCBub3QgYWxsLCBqb2JzIGFyZSBmaW5pc2hlZCAtPlxuICAgICAgICAgICAgaWYgKHN0YXR1cy5qb2JzLnNvbWUoaiA9PiBqLnN0YXR1cyA9PT0gJ0ZJTklTSEVEJykgJiYgc3RhdHVzLnN0YXR1cyAhPT0gJ0ZJTklTSEVEJykge1xuICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHN0YXR1cy5qb2JzLm1hcChzdWJKb2IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0SXRlbTogQXNzZXRTdGF0ZUl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICBsaW5rOiBzdWJKb2Iub2JqZWN0TGluaz8ubGluayA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IHN1YkpvYi5zdGF0dXMgIT09ICdRVUVVRUQnID8gc3ViSm9iLnByb2dyZXNzIDogLShzdWJKb2IucHJvZ3Jlc3MgKyAxKSxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogc3ViSm9iLm9iamVjdExpbms/LmhlaWdodCA/PyBzdWJKb2IucXVhbGl0eSxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBzdWJKb2Iub2JqZWN0TGluaz8ud2lkdGggPz8gMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYXNzZXRJdGVtXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFJlbmRlckRhdGEgPSB7XG4gICAgICAgICAgICAgICAgbW9kdWxlOiByZW5kZXJSZXNwb25zZURhdGEubW9kdWxlID8/ICcnLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBpdGVtc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyRGF0YSQubmV4dChkYXRhKVxuICAgICAgICAgICAgICB0aGlzLnNvbWVCdXROb3RBbGxGaW5pc2hlZC5uZXh0KHRydWUpXG4gICAgICAgICAgICAgIC8vIGFsbCBmaW5pc2hlZCBhbmQvb3IgZmFpbGVkXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cy5zdGF0dXMgPT09ICdGSU5JU0hFRCcgfHwgc3RhdHVzLnN0YXR1cyA9PT0gJ0ZBSUxFRCcpIHtcbiAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBzdGF0dXMuam9icy5tYXAoc3ViSm9iID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhc3NldEl0ZW06IEFzc2V0U3RhdGVJdGVtID0ge1xuICAgICAgICAgICAgICAgICAgbGluazogc3ViSm9iLm9iamVjdExpbms/LmxpbmsgPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBzdWJKb2IucHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IHN1YkpvYi5vYmplY3RMaW5rPy5oZWlnaHQgPz8gc3ViSm9iLnF1YWxpdHksXG4gICAgICAgICAgICAgICAgICB3aWR0aDogc3ViSm9iLm9iamVjdExpbms/LndpZHRoID8/IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFzc2V0SXRlbVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBkYXRhOiBSZW5kZXJEYXRhID0ge1xuICAgICAgICAgICAgICAgIG1vZHVsZTogcmVuZGVyUmVzcG9uc2VEYXRhLm1vZHVsZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpdGVtczogaXRlbXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLnJlbmRlckRhdGEkLm5leHQoZGF0YSlcbiAgICAgICAgICAgICAgdGhpcy5maW5pc2hlZC5uZXh0KClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIG5vIGZpbmlzaGVkIGpvYnMgLT4gc2hvdyBlaXRoZXIgb25lIHByb2dyZXNzIGJhciB3aXRoIHJhY2UgbGVhZGVyIChwcm9ncmVzcyAwLTEwMClcbiAgICAgICAgICAgICAgLy8gb3IgcXVldWUgcG9zaXRpb24gKHByb2dyZXNzICgtaW5mLC0xXSlcbiAgICAgICAgICAgICAgbGV0IHByb2dyZXNzID0gMFxuICAgICAgICAgICAgICBpZiAoc3RhdHVzLmpvYnMuc29tZShqID0+IGouc3RhdHVzID09PSAnUFJPQ0VTU0lORycpKSB7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBNYXRoLm1heCguLi5zdGF0dXMuam9icy5tYXAoaiA9PiBqLnByb2dyZXNzKSlcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMuam9icy5zb21lKGogPT4gai5zdGF0dXMgPT09ICdRVUVVRUQnKSkge1xuICAgICAgICAgICAgICAgIHByb2dyZXNzID0gLShNYXRoLm1pbiguLi5zdGF0dXMuam9icy5tYXAoaiA9PiBqLnByb2dyZXNzICsgMSkpKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MkLm5leHQoe1xuICAgICAgICAgICAgICAgIG1vZHVsZTogc3RhdHVzLm1vZHVsZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBwcm9ncmVzczogcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGlmICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSB7XG4gICAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCk7XG4gICAgICBjb25zb2xlLmxvZygncmVnaXN0ZXJlZCB3b3JrZXJzICcsIHJlZz8ubGVuZ3RoKTtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlZz8ubWFwKChyOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKSA9PiByLnVucmVnaXN0ZXIoKSkpO1xuICAgICAgY29uc29sZS5sb2coJ3JlZ2lzdGVyZWQgd29ya2VycyBhZnRlciB1bnJlZ2lzdGVyaW5nJywgcmVnPy5sZW5ndGgpO1xuICAgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIodGhpcy5wbGF0Zm9ybUxvY2F0aW9uLmdldEJhc2VIcmVmRnJvbURPTSgpICsgJ2VkdS1zZXJ2aWNlLXdvcmtlci5qcycsIHtcbiAgICAgICAgc2NvcGU6IHRoaXMucGxhdGZvcm1Mb2NhdGlvbi5nZXRCYXNlSHJlZkZyb21ET00oKVxuICAgICAgfSk7XG4gICAgICBjb25zb2xlLmxvZygnU2VydmljZSBXb3JrZXIgcmVnaXN0ZXJlZCcsIHJlZ2lzdHJhdGlvbik7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uLndhaXRpbmcpIHtcbiAgICAgICAgcmVnaXN0cmF0aW9uLndhaXRpbmcucG9zdE1lc3NhZ2UoeyB0eXBlOiAnU0tJUF9XQUlUSU5HJyB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VydmljZVdvcmtlclJlYWR5ID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZERhdGEubmV4dCgpO1xuICAgICAgcmVnaXN0cmF0aW9uLm9udXBkYXRlZm91bmQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1dvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nO1xuICAgICAgICBpZiAobmV3V29ya2VyKSB7XG4gICAgICAgICAgbmV3V29ya2VyLm9uc3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmV3V29ya2VyLnN0YXRlID09PSAnaW5zdGFsbGVkJykge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTmV3IFNlcnZpY2UgV29ya2VyIHN0YXRlOiBpbnN0YWxsZWQnKTtcbiAgICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgICAgICBuZXdXb3JrZXIucG9zdE1lc3NhZ2UoeyB0eXBlOiAnU0tJUF9XQUlUSU5HJyB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignU2VydmljZSB3b3JrZXIgQVBJIG5vdCBhdmFpbGFibGUnKTtcbiAgICB9XG4gICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignY29udHJvbGxlcmNoYW5nZScsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZXJ2aWNlIFdvcmtlciBjb250cm9sbGluZyB0aGlzIHBhZ2UuJyk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5sb2FkRGF0YS5uZXh0KCk7XG4gIH1cblxuICBhc3luYyBjaGVja01vZHVsZSgpOiBQcm9taXNlPEZyb250ZW5kTW9kdWxlQ29uZmlnIHwgbnVsbD4ge1xuICAgIGNvbnNvbGUubG9nKFwiQ2hlY2tpbmcgbW9kdWxlXCIpXG4gICAgaWYgKCEgYXdhaXQgdGhpcy5tb2R1bGVJbmZvU2VydmljZS5pc0F2YWlsYWJsZUJhY2tlbmRPYmplY3QodGhpcy5yZXF1ZXN0KSkge1xuICAgICAgY29uc29sZS5sb2coXCJ1c2luZyBmcm9udGVuZCBvbmx5IG1vZHVsZVwiKVxuICAgICAgaWYgKHRoaXMubm9kZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZHVsZUluZm9TZXJ2aWNlLmdldEZyb250ZW5kTW9kdWxlU2V0dGluZyh0aGlzLm5vZGUpXG4gICAgICB9XG4gICAgICByZXR1cm4ge21vZHVsZTogXCJkZWZhdWx0XCIsIHVybE1vZHVsZUNvbmZpZzogbnVsbH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coXCJ1c2luZyBiYWNrZW5kIG1vZHVsZVwiKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICBnZXRGcm9udGVuZE1vZHVsZSgpOiBzdHJpbmcge1xuXG4gICAgcmV0dXJuIFwiZGVmYXVsdFwiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2R1bGUgbW9kdWxlLXt7KHJlbmRlckRhdGEkIHwgYXN5bmMpPy5tb2R1bGV9fVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVuZGVyRGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgQGRlZmVyICh3aGVuIGRhdGE/Lm1vZHVsZSA9PT0gJ0lNQUdFJyl7XG4gICAgICA8cnMtbW9kdWxlLWltYWdlIFtkYXRhXT1cImRhdGFcIiBbbm9kZV09XCJub2RlXCI+PC9ycy1tb2R1bGUtaW1hZ2U+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAZGVmZXIgKHdoZW4gZGF0YT8ubW9kdWxlID09PSAnVklERU8nKXtcbiAgICAgIDxycy1tb2R1bGUtdmlkZW8gW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS12aWRlbz5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdQREYnIHx8IGRhdGE/Lm1vZHVsZSA9PT0gJ0RPQ1VNRU5UJykge1xuICAgICAgPHJzLW1vZHVsZS1wZGYgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1wZGY+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAZGVmZXIgKHdoZW4gZGF0YT8ubW9kdWxlID09PSAnRURVSFRNTCcgfHwgZGF0YT8ubW9kdWxlID09PSAnSDVQJyB8fCBkYXRhPy5tb2R1bGUgPT09ICdKVVBZVEVSJykge1xuICAgICAgPHJzLW1vZHVsZS1lZHVIdG1sIFtkYXRhXT1cImRhdGFcIiBbbm9kZV09XCJub2RlXCI+PC9ycy1tb2R1bGUtZWR1SHRtbD5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdTUFJFQURTSEVFVCcpIHtcbiAgICAgIDxycy1tb2R1bGUtc3ByZWFkc2hlZXQgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1zcHJlYWRzaGVldD5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdBVURJTycpe1xuICAgICAgPHJzLW1vZHVsZS1hdWRpbyBbZGF0YV09XCJkYXRhXCIgW25vZGVdPVwibm9kZVwiPjwvcnMtbW9kdWxlLWF1ZGlvPlxuICAgIH0gQGxvYWRpbmcge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGRlZmVyICh3aGVuIGRhdGE/Lm1vZHVsZSA9PT0gJ0JJTkRFUicpe1xuICAgICAgPHJzLW1vZHVsZS1iaW5kZXIgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1iaW5kZXI+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5tb2R1bGUgPT09ICdkZWZhdWx0J1wiPlxuICAgICAgQGRlZmVyICh3aGVuIGRhdGEubW9kdWxlID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgPHJzLW1vZHVsZS1kZWZhdWx0IFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1kZWZhdWx0PlxuICAgICAgfVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLm1vZHVsZSA9PT0gJ3VybCdcIj5cbiAgICAgIEBkZWZlciAod2hlbiBkYXRhLm1vZHVsZSA9PT0gJ3VybCcpIHtcbiAgICAgICAgPHJzLW1vZHVsZS11cmwgW25vZGVdPVwibm9kZVwiIFtkYXRhXT1cImRhdGFcIj48L3JzLW1vZHVsZS11cmw+XG4gICAgICB9XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiICpuZ0lmPVwiKHJlbmRlckRhdGEkIHwgYXN5bmMpID09PSBudWxsO1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9ncmVzcyQgfCBhc3luYyBhcyBwcm9ncmVzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiWydWSURFTycsICdBVURJTycsICdCSU5ERVInXS5pbmNsdWRlcyhwcm9ncmVzcy5tb2R1bGUpID8gJ2JhcicgOiAnc3Bpbm5lcidcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2JhcidcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHByb2dyZXNzLnByb2dyZXNzID8/IDApIDwgMFwiPlF1ZXVlIHBvc2l0aW9uOiB7ey0ocHJvZ3Jlc3MucHJvZ3Jlc3MgPz8gMCl9fTwvZGl2PlxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIFt2YWx1ZV09XCIocHJvZ3Jlc3MucHJvZ3Jlc3MgPz8gMClcIiAqbmdJZj1cIihwcm9ncmVzcy5wcm9ncmVzcyA/PyAwKSA+PSAwXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NwaW5uZXInXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIihwcm9ncmVzcy5wcm9ncmVzcyA/PyAwKSA8IDBcIj5RdWV1ZSBwb3NpdGlvbjoge3stKHByb2dyZXNzLnByb2dyZXNzID8/IDApfTwvZGl2PlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiNTBcIiAqbmdJZj1cIihwcm9ncmVzcy5wcm9ncmVzcyA/PyAwKSA+PSAwXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cbiAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVuZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9saWIvcmVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFtQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFNbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQU9wRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUE4QnRDLE1BQU0sT0FBTyxlQUFlO0lBVzFCLFlBQ1UsUUFBa0IsRUFDbEIsdUJBQXVELEVBQ3ZELHdCQUFrRCxFQUNsRCxpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBSmxDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFnQztRQUN2RCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVo1Qyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxD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QWU7NEJBQ2YsWUFBWTt5QkFDYjtvT0FNUSxPQUFPOzBCQUFmLEtBQUs7b0JBQ0csSUFBSTswQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSZW5kZXJpbmdNb2R1bGV9IGZyb20gXCIuL3JlbmRlcmluZy5tb2R1bGVcIjtcbmltcG9ydCB7XG4gIEpvYkluZm9Db250cm9sbGVyU2VydmljZSxcbiAgUmVuZGVyQ29udHJvbGxlcldyYXBwZXJTZXJ2aWNlLFxuICBSZW5kZXJEYXRhUmVxdWVzdFdpdGhUb2tlblxufSBmcm9tIFwibmd4LXJlbmRlcmluZy1zZXJ2aWNlLWFwaVwiO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZmlyc3RWYWx1ZUZyb20sIGludGVydmFsLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7SW1hZ2VDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS9pbWFnZS9pbWFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7UmVuZGVyaW5nQXBpTW9kdWxlfSBmcm9tIFwiLi9yZW5kZXJpbmctYXBpLm1vZHVsZVwiO1xuaW1wb3J0IHtWaWRlb0NvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL3ZpZGVvL3ZpZGVvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XG5pbXBvcnQge05vZGV9IGZyb20gXCJuZ3gtZWR1LXNoYXJpbmctYXBpXCI7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyXCI7XG5pbXBvcnQge1JlbmRlckRhdGEsIEFzc2V0U3RhdGVJdGVtfSBmcm9tIFwiLi9kdG8vUmVuZGVyRGF0YVwiO1xuaW1wb3J0IHtQZGZDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS9wZGYvcGRmLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtVcmxDb21wb25lbnR9IGZyb20gXCIuL21vZHVsZS91cmwvdXJsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFZHVIdG1sQ29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvZWR1aHRtbC9lZHVIdG1sLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTcHJlYWRzaGVldENvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL3NwcmVhZHNoZWV0L3NwcmVhZHNoZWV0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNb2R1bGVJbmZvU2VydmljZX0gZnJvbSBcIi4uL21vZHVsZS1pbmZvLnNlcnZpY2VcIjtcbmltcG9ydCB7ZmlsdGVyfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7UGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtEZWZhdWx0Q29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvZGVmYXVsdC9kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGcm9udGVuZE1vZHVsZUNvbmZpZ30gZnJvbSBcIi4vZHRvL0Zyb250ZW5kTW9kdWxlQ29uZmlnXCI7XG5pbXBvcnQge0F1ZGlvQ29tcG9uZW50fSBmcm9tIFwiLi9tb2R1bGUvYXVkaW8vYXVkaW8uY29tcG9uZW50XCI7XG5pbXBvcnQge0JpbmRlckNvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL2JpbmRlci9iaW5kZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0RkYkNvbXBvbmVudH0gZnJvbSBcIi4vbW9kdWxlL2RkYi9kZGIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLXJvb3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUmVuZGVyaW5nQXBpTW9kdWxlLFxuICAgIFJlbmRlcmluZ01vZHVsZSxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBWaWRlb0NvbXBvbmVudCxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgUGRmQ29tcG9uZW50LFxuICAgIFVybENvbXBvbmVudCxcbiAgICBFZHVIdG1sQ29tcG9uZW50LFxuICAgIFNwcmVhZHNoZWV0Q29tcG9uZW50LFxuICAgIERlZmF1bHRDb21wb25lbnQsXG4gICAgQXVkaW9Db21wb25lbnQsXG4gICAgQmluZGVyQ29tcG9uZW50LFxuICAgIERkYkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbmRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZW5kZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIFJlbmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgLy8gQFRPRE86IFVzZSBlbnVtIHByb3ZpZGVkIGJ5IEJhY2tlbmQhXG4gIEBJbnB1dCgpIHJlcXVlc3Q6IFJlbmRlckRhdGFSZXF1ZXN0V2l0aFRva2VuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBub2RlOiBOb2RlIHwgdW5kZWZpbmVkO1xuICBzZXJ2aWNlV29ya2VyUmVhZHkgPSBmYWxzZTtcbiAgbG9hZERhdGEgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICByZW5kZXJEYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVuZGVyRGF0YSB8IG51bGw+KG51bGwpO1xuICBmaW5pc2hlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHNvbWVCdXROb3RBbGxGaW5pc2hlZCA9IG5ldyBTdWJqZWN0PEJvb2xlYW4+KClcbiAgcHJvZ3Jlc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IG1vZHVsZTogc3RyaW5nLCBwcm9ncmVzcz86IG51bWJlciB9IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZW5kZXJDb250cm9sbGVyU2VydmljZTogUmVuZGVyQ29udHJvbGxlcldyYXBwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgam9iSW5mb0NvbnRyb2xsZXJTZXJ2aWNlOiBKb2JJbmZvQ29udHJvbGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2R1bGVJbmZvU2VydmljZTogTW9kdWxlSW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybUxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uXG4gICkge1xuICAgIHRoaXMubG9hZERhdGEucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm5vZGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNlcnZpY2VXb3JrZXJSZWFkeSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtyZXR1cm4gdGhpcy5jaGVja01vZHVsZSgpfSlcbiAgICApLnN1YnNjcmliZShhc3luYyAoZnJvbnRlbmRNb2R1bGUpID0+IHtcbiAgICAgIGlmIChmcm9udGVuZE1vZHVsZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRhOiBSZW5kZXJEYXRhID0ge1xuICAgICAgICAgIG1vZHVsZTogZnJvbnRlbmRNb2R1bGUubW9kdWxlLFxuICAgICAgICAgIGZyb250ZW5kTW9kdWxlQ29uZmlnOiBmcm9udGVuZE1vZHVsZVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyRGF0YSQubmV4dChkYXRhKVxuICAgICAgICB0aGlzLmZpbmlzaGVkLm5leHQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVuZGVyUmVzcG9uc2VEYXRhID0gKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmVuZGVyQ29udHJvbGxlclNlcnZpY2UuZ2V0UmVuZGVyRGF0YVRva2VuKHRoaXMucmVxdWVzdCEhKSkpO1xuICAgICAgICAvLyBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZXJlIGlzIGNvbXBsZXRlZCBkYXRhIEFORCBhIGpvYiBpZCAoaWYgdGhlcmUpLlxuICAgICAgICAvLyBXZSBuZWVkIHRoZSBkYXRhIHRoZW4gQU5EIHRyaWdnZXIgdGhlIHByb2dyZXNzIGxvZ2ljIHRvIGtlZXAgbG9hZGluZyB0aGUgdW5maW5pc2hlZCByZXNvbHV0aW9ucy5cbiAgICAgICAgY29uc29sZS5sb2cocmVuZGVyUmVzcG9uc2VEYXRhKTtcbiAgICAgICAgaWYgKHJlbmRlclJlc3BvbnNlRGF0YS5qb2JJZCA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVuZGVyUmVzcG9uc2VEYXRhLm9iamVjdExpbmtzPy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhc3NldEl0ZW06IEFzc2V0U3RhdGVJdGVtID0ge1xuICAgICAgICAgICAgICBsaW5rOiBpdGVtLmxpbmssXG4gICAgICAgICAgICAgIHByb2dyZXNzOiAxMDAsXG4gICAgICAgICAgICAgIGhlaWdodDogaXRlbS5oZWlnaHQsXG4gICAgICAgICAgICAgIHdpZHRoOiBpdGVtLndpZHRoLFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsRGF0YTogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRJdGVtXG4gICAgICAgICAgfSlcbiAgICAgICAgICBjb25zdCBkYXRhOiBSZW5kZXJEYXRhID0ge1xuICAgICAgICAgICAgbW9kdWxlOiByZW5kZXJSZXNwb25zZURhdGEubW9kdWxlID8/ICcnLFxuICAgICAgICAgICAgaXRlbXM6IGl0ZW1zXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlbmRlclJlc3BvbnNlRGF0YS5vYmplY3RMaW5rcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucmVuZGVyRGF0YSQubmV4dChkYXRhKTtcbiAgICAgICAgICB0aGlzLmZpbmlzaGVkLm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnByb2dyZXNzJC5uZXh0KHttb2R1bGU6IHJlbmRlclJlc3BvbnNlRGF0YS5tb2R1bGUgPz8gJyd9KTtcbiAgICAgICAgICBpbnRlcnZhbCg1MDApLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5maW5pc2hlZCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5qb2JJbmZvQ29udHJvbGxlclNlcnZpY2UuZ2V0Sm9iSW5mbyh7am9iSWQ6IHJlbmRlclJlc3BvbnNlRGF0YS5qb2JJZCEhfSkucGlwZSgpKSxcbiAgICAgICAgICApLnN1YnNjcmliZShhc3luYyAoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAvLyBTb21lLCBidXQgbm90IGFsbCwgam9icyBhcmUgZmluaXNoZWQgLT5cbiAgICAgICAgICAgIGlmIChzdGF0dXMuam9icy5zb21lKGogPT4gai5zdGF0dXMgPT09ICdGSU5JU0hFRCcpICYmIHN0YXR1cy5zdGF0dXMgIT09ICdGSU5JU0hFRCcpIHtcbiAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBzdGF0dXMuam9icy5tYXAoc3ViSm9iID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhc3NldEl0ZW06IEFzc2V0U3RhdGVJdGVtID0ge1xuICAgICAgICAgICAgICAgICAgbGluazogc3ViSm9iLm9iamVjdExpbms/LmxpbmsgPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBzdWJKb2Iuc3RhdHVzICE9PSAnUVVFVUVEJyA/IHN1YkpvYi5wcm9ncmVzcyA6IC0oc3ViSm9iLnByb2dyZXNzICsgMSksXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IHN1YkpvYi5vYmplY3RMaW5rPy5oZWlnaHQgPz8gc3ViSm9iLnF1YWxpdHksXG4gICAgICAgICAgICAgICAgICB3aWR0aDogc3ViSm9iLm9iamVjdExpbms/LndpZHRoID8/IDAsXG4gICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsRGF0YTogc3ViSm9iLmFkZGl0aW9uYWxEYXRhXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhc3NldEl0ZW1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgY29uc3QgZGF0YTogUmVuZGVyRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHJlbmRlclJlc3BvbnNlRGF0YS5tb2R1bGUgPz8gJycsXG4gICAgICAgICAgICAgICAgaXRlbXM6IGl0ZW1zXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJEYXRhJC5uZXh0KGRhdGEpXG4gICAgICAgICAgICAgIHRoaXMuc29tZUJ1dE5vdEFsbEZpbmlzaGVkLm5leHQodHJ1ZSlcbiAgICAgICAgICAgICAgLy8gYWxsIGZpbmlzaGVkIGFuZC9vciBmYWlsZWRcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzLnN0YXR1cyA9PT0gJ0ZJTklTSEVEJyB8fCBzdGF0dXMuc3RhdHVzID09PSAnRkFJTEVEJykge1xuICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHN0YXR1cy5qb2JzLm1hcChzdWJKb2IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0SXRlbTogQXNzZXRTdGF0ZUl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICBsaW5rOiBzdWJKb2Iub2JqZWN0TGluaz8ubGluayA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IHN1YkpvYi5wcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogc3ViSm9iLm9iamVjdExpbms/LmhlaWdodCA/PyBzdWJKb2IucXVhbGl0eSxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBzdWJKb2Iub2JqZWN0TGluaz8ud2lkdGggPz8gMCxcbiAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOiBzdWJKb2IuYWRkaXRpb25hbERhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFzc2V0SXRlbVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBkYXRhOiBSZW5kZXJEYXRhID0ge1xuICAgICAgICAgICAgICAgIG1vZHVsZTogcmVuZGVyUmVzcG9uc2VEYXRhLm1vZHVsZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpdGVtczogaXRlbXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLnJlbmRlckRhdGEkLm5leHQoZGF0YSlcbiAgICAgICAgICAgICAgdGhpcy5maW5pc2hlZC5uZXh0KClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIG5vIGZpbmlzaGVkIGpvYnMgLT4gc2hvdyBlaXRoZXIgb25lIHByb2dyZXNzIGJhciB3aXRoIHJhY2UgbGVhZGVyIChwcm9ncmVzcyAwLTEwMClcbiAgICAgICAgICAgICAgLy8gb3IgcXVldWUgcG9zaXRpb24gKHByb2dyZXNzICgtaW5mLC0xXSlcbiAgICAgICAgICAgICAgbGV0IHByb2dyZXNzID0gMFxuICAgICAgICAgICAgICBpZiAoc3RhdHVzLmpvYnMuc29tZShqID0+IGouc3RhdHVzID09PSAnUFJPQ0VTU0lORycpKSB7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBNYXRoLm1heCguLi5zdGF0dXMuam9icy5tYXAoaiA9PiBqLnByb2dyZXNzKSlcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMuam9icy5zb21lKGogPT4gai5zdGF0dXMgPT09ICdRVUVVRUQnKSkge1xuICAgICAgICAgICAgICAgIHByb2dyZXNzID0gLShNYXRoLm1pbiguLi5zdGF0dXMuam9icy5tYXAoaiA9PiBqLnByb2dyZXNzICsgMSkpKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MkLm5leHQoe1xuICAgICAgICAgICAgICAgIG1vZHVsZTogc3RhdHVzLm1vZHVsZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBwcm9ncmVzczogcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGlmICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSB7XG4gICAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCk7XG4gICAgICBjb25zb2xlLmxvZygncmVnaXN0ZXJlZCB3b3JrZXJzICcsIHJlZz8ubGVuZ3RoKTtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlZz8ubWFwKChyOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKSA9PiByLnVucmVnaXN0ZXIoKSkpO1xuICAgICAgY29uc29sZS5sb2coJ3JlZ2lzdGVyZWQgd29ya2VycyBhZnRlciB1bnJlZ2lzdGVyaW5nJywgcmVnPy5sZW5ndGgpO1xuICAgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIodGhpcy5wbGF0Zm9ybUxvY2F0aW9uLmdldEJhc2VIcmVmRnJvbURPTSgpICsgJ2VkdS1zZXJ2aWNlLXdvcmtlci5qcycsIHtcbiAgICAgICAgc2NvcGU6IHRoaXMucGxhdGZvcm1Mb2NhdGlvbi5nZXRCYXNlSHJlZkZyb21ET00oKVxuICAgICAgfSk7XG4gICAgICBjb25zb2xlLmxvZygnU2VydmljZSBXb3JrZXIgcmVnaXN0ZXJlZCcsIHJlZ2lzdHJhdGlvbik7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uLndhaXRpbmcpIHtcbiAgICAgICAgcmVnaXN0cmF0aW9uLndhaXRpbmcucG9zdE1lc3NhZ2UoeyB0eXBlOiAnU0tJUF9XQUlUSU5HJyB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VydmljZVdvcmtlclJlYWR5ID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZERhdGEubmV4dCgpO1xuICAgICAgcmVnaXN0cmF0aW9uLm9udXBkYXRlZm91bmQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1dvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nO1xuICAgICAgICBpZiAobmV3V29ya2VyKSB7XG4gICAgICAgICAgbmV3V29ya2VyLm9uc3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmV3V29ya2VyLnN0YXRlID09PSAnaW5zdGFsbGVkJykge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTmV3IFNlcnZpY2UgV29ya2VyIHN0YXRlOiBpbnN0YWxsZWQnKTtcbiAgICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgICAgICBuZXdXb3JrZXIucG9zdE1lc3NhZ2UoeyB0eXBlOiAnU0tJUF9XQUlUSU5HJyB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignU2VydmljZSB3b3JrZXIgQVBJIG5vdCBhdmFpbGFibGUnKTtcbiAgICB9XG4gICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignY29udHJvbGxlcmNoYW5nZScsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZXJ2aWNlIFdvcmtlciBjb250cm9sbGluZyB0aGlzIHBhZ2UuJyk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5sb2FkRGF0YS5uZXh0KCk7XG4gIH1cblxuICBhc3luYyBjaGVja01vZHVsZSgpOiBQcm9taXNlPEZyb250ZW5kTW9kdWxlQ29uZmlnIHwgbnVsbD4ge1xuICAgIGNvbnNvbGUubG9nKFwiQ2hlY2tpbmcgbW9kdWxlXCIpXG4gICAgaWYgKCEgYXdhaXQgdGhpcy5tb2R1bGVJbmZvU2VydmljZS5pc0F2YWlsYWJsZUJhY2tlbmRPYmplY3QodGhpcy5ub2RlKSkge1xuICAgICAgY29uc29sZS5sb2coXCJ1c2luZyBmcm9udGVuZCBvbmx5IG1vZHVsZVwiKVxuICAgICAgaWYgKHRoaXMubm9kZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZHVsZUluZm9TZXJ2aWNlLmdldEZyb250ZW5kTW9kdWxlU2V0dGluZyh0aGlzLm5vZGUpXG4gICAgICB9XG4gICAgICByZXR1cm4ge21vZHVsZTogXCJkZWZhdWx0XCIsIHVybE1vZHVsZUNvbmZpZzogbnVsbH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coXCJ1c2luZyBiYWNrZW5kIG1vZHVsZVwiKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICBnZXRGcm9udGVuZE1vZHVsZSgpOiBzdHJpbmcge1xuXG4gICAgcmV0dXJuIFwiZGVmYXVsdFwiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2R1bGUgbW9kdWxlLXt7KHJlbmRlckRhdGEkIHwgYXN5bmMpPy5tb2R1bGV9fVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVuZGVyRGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgQGRlZmVyICh3aGVuIGRhdGE/Lm1vZHVsZSA9PT0gJ0lNQUdFJyl7XG4gICAgICA8cnMtbW9kdWxlLWltYWdlIFtkYXRhXT1cImRhdGFcIiBbbm9kZV09XCJub2RlXCI+PC9ycy1tb2R1bGUtaW1hZ2U+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAZGVmZXIgKHdoZW4gZGF0YT8ubW9kdWxlID09PSAnVklERU8nKXtcbiAgICAgIDxycy1tb2R1bGUtdmlkZW8gW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS12aWRlbz5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdQREYnIHx8IGRhdGE/Lm1vZHVsZSA9PT0gJ0RPQ1VNRU5UJykge1xuICAgICAgPHJzLW1vZHVsZS1wZGYgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1wZGY+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAZGVmZXIgKHdoZW4gZGF0YT8ubW9kdWxlID09PSAnRURVSFRNTCcgfHwgZGF0YT8ubW9kdWxlID09PSAnSDVQJyB8fCBkYXRhPy5tb2R1bGUgPT09ICdKVVBZVEVSJykge1xuICAgICAgPHJzLW1vZHVsZS1lZHVIdG1sIFtkYXRhXT1cImRhdGFcIiBbbm9kZV09XCJub2RlXCI+PC9ycy1tb2R1bGUtZWR1SHRtbD5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdTUFJFQURTSEVFVCcpIHtcbiAgICAgIDxycy1tb2R1bGUtc3ByZWFkc2hlZXQgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1zcHJlYWRzaGVldD5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBkZWZlciAod2hlbiBkYXRhPy5tb2R1bGUgPT09ICdBVURJTycpe1xuICAgICAgPHJzLW1vZHVsZS1hdWRpbyBbZGF0YV09XCJkYXRhXCIgW25vZGVdPVwibm9kZVwiPjwvcnMtbW9kdWxlLWF1ZGlvPlxuICAgIH0gQGxvYWRpbmcge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGRlZmVyICh3aGVuIGRhdGE/Lm1vZHVsZSA9PT0gJ0JJTkRFUicpe1xuICAgICAgPHJzLW1vZHVsZS1iaW5kZXIgW2RhdGFdPVwiZGF0YVwiIFtub2RlXT1cIm5vZGVcIj48L3JzLW1vZHVsZS1iaW5kZXI+XG4gICAgfSBAbG9hZGluZyB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAZGVmZXIgKHdoZW4gZGF0YT8ubW9kdWxlID09PSAnRERCJyl7XG4gICAgICA8cnMtbW9kdWxlLWRkYiBbZGF0YV09XCJkYXRhXCIgW25vZGVdPVwibm9kZVwiPjwvcnMtbW9kdWxlLWRkYj5cbiAgICB9IEBsb2FkaW5nIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLm1vZHVsZSA9PT0gJ2RlZmF1bHQnXCI+XG4gICAgICBAZGVmZXIgKHdoZW4gZGF0YS5tb2R1bGUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICA8cnMtbW9kdWxlLWRlZmF1bHQgW25vZGVdPVwibm9kZVwiPjwvcnMtbW9kdWxlLWRlZmF1bHQ+XG4gICAgICB9XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubW9kdWxlID09PSAndXJsJ1wiPlxuICAgICAgQGRlZmVyICh3aGVuIGRhdGEubW9kdWxlID09PSAndXJsJykge1xuICAgICAgICA8cnMtbW9kdWxlLXVybCBbbm9kZV09XCJub2RlXCIgW2RhdGFdPVwiZGF0YVwiPjwvcnMtbW9kdWxlLXVybD5cbiAgICAgIH1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCIgKm5nSWY9XCIocmVuZGVyRGF0YSQgfCBhc3luYykgPT09IG51bGw7XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2dyZXNzJCB8IGFzeW5jIGFzIHByb2dyZXNzXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJbJ1ZJREVPJywgJ0FVRElPJ10uaW5jbHVkZXMocHJvZ3Jlc3MubW9kdWxlKSA/ICdiYXInIDogJ3NwaW5uZXInXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidiYXInXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIihwcm9ncmVzcy5wcm9ncmVzcyA/PyAwKSA8IDBcIj5RdWV1ZSBwb3NpdGlvbjoge3stKHByb2dyZXNzLnByb2dyZXNzID8/IDApfX08L2Rpdj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBbdmFsdWVdPVwiKHByb2dyZXNzLnByb2dyZXNzID8/IDApXCIgKm5nSWY9XCIocHJvZ3Jlc3MucHJvZ3Jlc3MgPz8gMCkgPj0gMFwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzcGlubmVyJ1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIocHJvZ3Jlc3MucHJvZ3Jlc3MgPz8gMCkgPCAwXCI+UXVldWUgcG9zaXRpb246IHt7LShwcm9ncmVzcy5wcm9ncmVzcyA/PyAwKX08L2Rpdj5cbiAgICAgICAgICA8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjUwXCIgKm5nSWY9XCIocHJvZ3Jlc3MucHJvZ3Jlc3MgPz8gMCkgPj0gMFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgPG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|