@rocketshow/designer 1.36.0 → 1.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/de.json +3 -1
- package/assets/i18n/en.json +3 -1
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +181 -33
- package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +14 -5
- package/esm2022/lib/models/fixture-capability.mjs +47 -4
- package/esm2022/lib/preview/models/color-changer-3d.mjs +15 -27
- package/esm2022/lib/preview/models/fixture-3d.mjs +91 -105
- package/esm2022/lib/preview/models/moving-head-3d.mjs +32 -41
- package/esm2022/lib/preview/preview.component.mjs +4 -4
- package/esm2022/lib/services/fixture.service.mjs +1 -1
- package/esm2022/lib/services/preset.service.mjs +3 -3
- package/esm2022/lib/services/preview.service.mjs +13 -1
- package/fesm2022/rocketshow-designer.mjs +389 -213
- package/fesm2022/rocketshow-designer.mjs.map +1 -1
- package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +9 -2
- package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +5 -1
- package/lib/models/fixture-capability.d.ts +47 -4
- package/lib/preview/models/color-changer-3d.d.ts +4 -5
- package/lib/preview/models/fixture-3d.d.ts +17 -16
- package/lib/preview/models/moving-head-3d.d.ts +4 -5
- package/lib/services/preview.service.d.ts +5 -1
- package/package.json +1 -1
- package/rocketshow-designer-1.37.0.tgz +0 -0
- package/rocketshow-designer-1.36.0.tgz +0 -0
|
@@ -53,13 +53,13 @@ function FixtureCapabilityComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
53
53
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
54
54
|
i0.ɵɵclassProp("h-100", ctx_r2.isChrome());
|
|
55
55
|
i0.ɵɵadvance();
|
|
56
|
-
i0.ɵɵproperty("ngIf", ctx_r2.
|
|
56
|
+
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityDimmer);
|
|
57
57
|
i0.ɵɵadvance();
|
|
58
|
-
i0.ɵɵproperty("ngIf", ctx_r2.
|
|
58
|
+
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityColorOrColorWheel);
|
|
59
59
|
i0.ɵɵadvance();
|
|
60
60
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 6, ctx_r2.colorWheelChannels));
|
|
61
61
|
i0.ɵɵadvance(2);
|
|
62
|
-
i0.ɵɵproperty("ngIf", ctx_r2.
|
|
62
|
+
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityPanTilt);
|
|
63
63
|
} }
|
|
64
64
|
function FixtureCapabilityComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
65
|
i0.ɵɵelementStart(0, "div", 10)(1, "p", 11);
|
|
@@ -88,6 +88,9 @@ export class FixtureCapabilityComponent {
|
|
|
88
88
|
this.introService = introService;
|
|
89
89
|
// map containing the profile and the channel name containing the wheel
|
|
90
90
|
this.colorWheelChannels = new Map();
|
|
91
|
+
this.hasCapabilityDimmer = false;
|
|
92
|
+
this.hasCapabilityColorOrColorWheel = false;
|
|
93
|
+
this.hasCapabilityPanTilt = false;
|
|
91
94
|
this.fixtureSelectionChangedSubscription = this.presetService.fixtureSelectionChanged.subscribe(() => {
|
|
92
95
|
this.update();
|
|
93
96
|
});
|
|
@@ -136,8 +139,14 @@ export class FixtureCapabilityComponent {
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
}
|
|
142
|
+
updateCapabilities() {
|
|
143
|
+
this.hasCapabilityDimmer = this.presetService.hasCapabilityDimmer();
|
|
144
|
+
this.hasCapabilityColorOrColorWheel = this.presetService.hasCapabilityColorOrColorWheel();
|
|
145
|
+
this.hasCapabilityPanTilt = this.presetService.hasCapabilityPanTilt();
|
|
146
|
+
}
|
|
139
147
|
update() {
|
|
140
148
|
this.updateColorWheels();
|
|
149
|
+
this.updateCapabilities();
|
|
141
150
|
this.changeDetectorRef.detectChanges();
|
|
142
151
|
}
|
|
143
152
|
isChrome() {
|
|
@@ -163,7 +172,7 @@ export class FixtureCapabilityComponent {
|
|
|
163
172
|
}
|
|
164
173
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureCapabilityComponent, [{
|
|
165
174
|
type: Component,
|
|
166
|
-
args: [{ selector: 'lib-app-fixture-capability', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card border-secondary panel h-100\" [class.card-intro-active]=\"introService.showStep('capabilities')\">\n <div class=\"card-body capability-container d-flex h-100\" style=\"overflow-y: hidden\">\n <!-- h-100 needs to be applied in chrome to avoid performance issues with many layouts (reflows)\n during sliding. But the class must not be applied e.g. in Safari, because the bottom margin is not correct\n anymore afterwards. -->\n <div *ngIf=\"presetService.selectedPreset\" class=\"row m-0 pl-3\" [class.h-100]=\"isChrome()\">\n <!-- Dimmer -->\n <!-- the height attribute is required to avoid performance issues with many layouts (reflows)\n in Chrome during sliding -->\n <div *ngIf=\"
|
|
175
|
+
args: [{ selector: 'lib-app-fixture-capability', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card border-secondary panel h-100\" [class.card-intro-active]=\"introService.showStep('capabilities')\">\n <div class=\"card-body capability-container d-flex h-100\" style=\"overflow-y: hidden\">\n <!-- h-100 needs to be applied in chrome to avoid performance issues with many layouts (reflows)\n during sliding. But the class must not be applied e.g. in Safari, because the bottom margin is not correct\n anymore afterwards. -->\n <div *ngIf=\"presetService.selectedPreset\" class=\"row m-0 pl-3\" [class.h-100]=\"isChrome()\">\n <!-- Dimmer -->\n <!-- the height attribute is required to avoid performance issues with many layouts (reflows)\n in Chrome during sliding -->\n <div *ngIf=\"hasCapabilityDimmer\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-dimmer></lib-app-fixture-capability-dimmer>\n </div>\n\n <!-- Color -->\n <!-- Also show for color wheel fixtures to approx. the color -->\n <div *ngIf=\"hasCapabilityColorOrColorWheel\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-color></lib-app-fixture-capability-color>\n </div>\n\n <!-- Color wheels -->\n <div\n *ngFor=\"let entry of colorWheelChannels | keyvalue; let i = index\"\n class=\"col col-auto p-0 my-3 mr-3\"\n style=\"height: calc(100% - 2rem)\"\n >\n <lib-app-fixture-capability-color-wheel\n [profile]=\"entry.key\"\n [channel]=\"entry.value\"\n [wheelIndex]=\"i\"\n [showContainer]=\"colorWheelChannels.size > 1\"\n ></lib-app-fixture-capability-color-wheel>\n </div>\n\n <!-- Pan/Tilt -->\n <div *ngIf=\"hasCapabilityPanTilt\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-pan-tilt></lib-app-fixture-capability-pan-tilt>\n </div>\n\n <!-- Fix spacing at the end -->\n <div class=\"col col-auto p-0 my-3 mr-3\"> </div>\n </div>\n\n <div *ngIf=\"projectService.project.fixtures.length == 0\" class=\"m-auto\">\n <p class=\"m-auto\" style=\"color: #717171\">{{ 'designer.fixture.no-fixtures' | translate }}</p>\n </div>\n\n <div\n *ngIf=\"\n projectService.project.fixtures.length > 0 && presetService.selectedPreset && presetService.selectedPreset.fixtures.length == 0\n \"\n class=\"m-auto\"\n >\n <p class=\"m-auto\" style=\"color: #717171\">{{ 'designer.fixture.no-fixtures-selected' | translate }}</p>\n </div>\n </div>\n</div>\n" }]
|
|
167
176
|
}], () => [{ type: i1.PresetService }, { type: i2.FixtureService }, { type: i0.ChangeDetectorRef }, { type: i3.ProjectService }, { type: i4.IntroService }], null); })();
|
|
168
177
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureCapabilityComponent, { className: "FixtureCapabilityComponent" }); })();
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSXpHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0MxRCw4QkFBc0g7SUFDcEgsb0RBQXVFO0lBQ3pFLGlCQUFNOzs7SUFJTiw4QkFBaUk7SUFDL0gsbURBQXFFO0lBQ3ZFLGlCQUFNOzs7SUFHTiw4QkFJQztJQUNDLDREQUswQztJQUM1QyxpQkFBTTs7Ozs7SUFMRixjQUFxQjtJQUdyQixBQURBLEFBREEsQUFEQSxzQ0FBcUIsMkJBQ0Usb0JBQ1AscURBQzZCOzs7SUFLakQsOEJBQXVIO0lBQ3JILHNEQUEyRTtJQUM3RSxpQkFBTTs7O0lBL0JSLDhCQUEwRjtJQWV4RixBQUxBLEFBTkEsaUZBQXNILG9FQU1XLG9FQVNoSTs7SUFVRCxpRkFBdUg7SUFLdkgsOEJB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QUpBLEFBckNBLDJFQUEwRiw4REFxQ2xCLDhEQVN2RTtZQUlMLEFBREUsaUJBQU0sRUFDRjs7WUF2RHlDLDhFQUFpRTtZQUt0RyxlQUFrQztZQUFsQyx1REFBa0M7WUFxQ2xDLGNBQWlEO1lBQWpELHNFQUFpRDtZQUtwRCxjQUdQO1lBSE8sa0tBR1A7OztpRkRsQ2EsMEJBQTBCO2NBTnRDLFNBQVM7MkJBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOztrRkFFcEMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhY2hlZEZpeHR1cmVDaGFubmVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NhY2hlZC1maXh0dXJlLWNoYW5uZWwnO1xuaW1wb3J0IHsgRml4dHVyZVByb2ZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZml4dHVyZS1wcm9maWxlJztcbmltcG9ydCB7IEZpeHR1cmVXaGVlbFNsb3RUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpeHR1cmUtd2hlZWwtc2xvdCc7XG5pbXBvcnQgeyBGaXh0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpeHR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRyb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRyby5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcmVzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUtY2FwYWJpbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpeHR1cmUtY2FwYWJpbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2FwYWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLy8gbWFwIGNvbnRhaW5pbmcgdGhlIHByb2ZpbGUgYW5kIHRoZSBjaGFubmVsIG5hbWUgY29udGFpbmluZyB0aGUgd2hlZWxcbiAgY29sb3JXaGVlbENoYW5uZWxzOiBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsPiA9IG5ldyBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsPigpO1xuXG4gIHByaXZhdGUgZml4dHVyZVNlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZml4dHVyZVNlcnZpY2U6IEZpeHR1cmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBwcm9qZWN0U2VydmljZTogUHJvamVjdFNlcnZpY2UsXG4gICAgcHVibGljIGludHJvU2VydmljZTogSW50cm9TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZml4dHVyZVNlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLnByZXNldFNlcnZpY2UuZml4dHVyZVNlbGVjdGlvbkNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnByZXZpZXdTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdTZWxlY3Rpb25DaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbnRyb1NlcnZpY2Uuc3RlcENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZml4dHVyZVNlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnByZXZpZXdTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHdoZWVsSW5MaXN0KHdoZWVsczogTWFwPEZpeHR1cmVQcm9maWxlLCBDYWNoZWRGaXh0dXJlQ2hhbm5lbD4sIHByb2ZpbGU6IEZpeHR1cmVQcm9maWxlLCBjaGFubmVsOiBDYWNoZWRGaXh0dXJlQ2hhbm5lbCkge1xuICAgIHdoZWVscy5mb3JFYWNoKChleGlzdGluZ0NoYW5uZWw6IENhY2hlZEZpeHR1cmVDaGFubmVsLCBleGlzdGluZ1Byb2ZpbGU6IEZpeHR1cmVQcm9maWxlKSA9PiB7XG4gICAgICBpZiAoZXhpc3RpbmdQcm9maWxlLnV1aWQgPT09IHByb2ZpbGUudXVpZCAmJiBleGlzdGluZ0NoYW5uZWwubmFtZSA9PT0gY2hhbm5lbC5uYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb2xvcldoZWVscygpIHtcbiAgICB0aGlzLmNvbG9yV2hlZWxDaGFubmVscyA9IG5ldyBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsPigpO1xuXG4gICAgaWYgKCF0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByZXNlckZpeHR1cmUgb2YgdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LmZpeHR1cmVzKSB7XG4gICAgICBjb25zdCBmaXh0dXJlID0gdGhpcy5maXh0dXJlU2VydmljZS5nZXRDYWNoZWRGaXh0dXJlQnlVdWlkKHByZXNlckZpeHR1cmUuZml4dHVyZVV1aWQsIHByZXNlckZpeHR1cmUucGl4ZWxLZXkpO1xuICAgICAgZm9yIChjb25zdCBjaGFubmVsIG9mIGZpeHR1cmUuY2hhbm5lbHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYXBhYmlsaXR5IG9mIGNoYW5uZWwuY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgICAgaWYgKGNhcGFiaWxpdHkud2hlZWwgJiYgY2FwYWJpbGl0eS53aGVlbFNsb3RzICYmIGNhcGFiaWxpdHkud2hlZWxTbG90cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maXh0dXJlU2VydmljZS53aGVlbEhhc1Nsb3RUeXBlKGNhcGFiaWxpdHkud2hlZWwsIEZpeHR1cmVXaGVlbFNsb3RUeXBlLkNvbG9yKSkge1xuICAgICAgICAgICAgICAvLyBjb2xvciB3aGVlbFxuICAgICAgICAgICAgICBpZiAoIXRoaXMud2hlZWxJbkxpc3QodGhpcy5jb2xvcldoZWVsQ2hhbm5lbHMsIGZpeHR1cmUucHJvZmlsZSwgY2hhbm5lbCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbG9yV2hlZWxDaGFubmVscy5zZXQoZml4dHVyZS5wcm9maWxlLCBjaGFubmVsKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpeHR1cmVTZXJ2aWNlLndoZWVsSGFzU2xvdFR5cGUoY2FwYWJpbGl0eS53aGVlbCwgRml4dHVyZVdoZWVsU2xvdFR5cGUuR29ibykpIHtcbiAgICAgICAgICAgICAgLy8gZ29ibyB3aGVlbFxuICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGUoKSB7XG4gICAgdGhpcy51cGRhdGVDb2xvcldoZWVscygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaXNDaHJvbWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ0Nocm9tZS8nKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgcGFuZWwgaC0xMDBcIiBbY2xhc3MuY2FyZC1pbnRyby1hY3RpdmVdPVwiaW50cm9TZXJ2aWNlLnNob3dTdGVwKCdjYXBhYmlsaXRpZXMnKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGNhcGFiaWxpdHktY29udGFpbmVyIGQtZmxleCBoLTEwMFwiIHN0eWxlPVwib3ZlcmZsb3cteTogaGlkZGVuXCI+XG4gICAgPCEtLSBoLTEwMCBuZWVkcyB0byBiZSBhcHBsaWVkIGluIGNocm9tZSB0byBhdm9pZCBwZXJmb3JtYW5jZSBpc3N1ZXMgd2l0aCBtYW55IGxheW91dHMgKHJlZmxvd3MpXG4gICAgZHVyaW5nIHNsaWRpbmcuIEJ1dCB0aGUgY2xhc3MgbXVzdCBub3QgYmUgYXBwbGllZCBlLmcuIGluIFNhZmFyaSwgYmVjYXVzZSB0aGUgYm90dG9tIG1hcmdpbiBpcyBub3QgY29ycmVjdFxuICAgIGFueW1vcmUgYWZ0ZXJ3YXJkcy4gLS0+XG4gICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXRcIiBjbGFzcz1cInJvdyBtLTAgcGwtM1wiIFtjbGFzcy5oLTEwMF09XCJpc0Nocm9tZSgpXCI+XG4gICAgICA8IS0tIERpbW1lciAtLT5cbiAgICAgIDwhLS0gdGhlIGhlaWdodCBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQgdG8gYXZvaWQgcGVyZm9ybWFuY2UgaXNzdWVzIHdpdGggbWFueSBsYXlvdXRzIChyZWZsb3dzKVxuICAgICAgaW4gQ2hyb21lIGR1cmluZyBzbGlkaW5nIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eURpbW1lcigpXCIgY2xhc3M9XCJjb2wgY29sLWF1dG8gcC0wIG15LTMgbXItM1wiIHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKVwiPlxuICAgICAgICA8bGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktZGltbWVyPjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktZGltbWVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ29sb3IgLS0+XG4gICAgICA8IS0tIEFsc28gc2hvdyBmb3IgY29sb3Igd2hlZWwgZml4dHVyZXMgdG8gYXBwcm94LiB0aGUgY29sb3IgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwicHJlc2V0U2VydmljZS5oYXNDYXBhYmlsaXR5Q29sb3JPckNvbG9yV2hlZWwoKVwiIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIiBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIj5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yPjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktY29sb3I+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb2xvciB3aGVlbHMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBjb2xvcldoZWVsQ2hhbm5lbHMgfCBrZXl2YWx1ZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIlxuICAgICAgICBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIlxuICAgICAgPlxuICAgICAgICA8bGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWxcbiAgICAgICAgICBbcHJvZmlsZV09XCJlbnRyeS5rZXlcIlxuICAgICAgICAgIFtjaGFubmVsXT1cImVudHJ5LnZhbHVlXCJcbiAgICAgICAgICBbd2hlZWxJbmRleF09XCJpXCJcbiAgICAgICAgICBbc2hvd0NvbnRhaW5lcl09XCJjb2xvcldoZWVsQ2hhbm5lbHMuc2l6ZSA+IDFcIlxuICAgICAgICA+PC9saWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFBhbi9UaWx0IC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eVBhblRpbHQoKVwiIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIiBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIj5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0PjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBGaXggc3BhY2luZyBhdCB0aGUgZW5kIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCI+Jm5ic3A7PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5maXh0dXJlcy5sZW5ndGggPT0gMFwiIGNsYXNzPVwibS1hdXRvXCI+XG4gICAgICA8cCBjbGFzcz1cIm0tYXV0b1wiIHN0eWxlPVwiY29sb3I6ICM3MTcxNzFcIj57eyAnZGVzaWduZXIuZml4dHVyZS5uby1maXh0dXJlcycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICBwcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmxlbmd0aCA+IDAgJiYgcHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCAmJiBwcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LmZpeHR1cmVzLmxlbmd0aCA9PSAwXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJtLWF1dG9cIlxuICAgID5cbiAgICAgIDxwIGNsYXNzPVwibS1hdXRvXCIgc3R5bGU9XCJjb2xvcjogIzcxNzE3MVwiPnt7ICdkZXNpZ25lci5maXh0dXJlLm5vLWZpeHR1cmVzLXNlbGVjdGVkJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSXpHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0MxRCw4QkFBc0c7SUFDcEcsb0RBQXVFO0lBQ3pFLGlCQUFNOzs7SUFJTiw4QkFBaUg7SUFDL0csbURBQXFFO0lBQ3ZFLGlCQUFNOzs7SUFHTiw4QkFJQztJQUNDLDREQUswQztJQUM1QyxpQkFBTTs7Ozs7SUFMRixjQUFxQjtJQUdyQixBQURBLEFBREEsQUFEQSxzQ0FBcUIsMkJBQ0Usb0JBQ1AscURBQzZCOzs7SUFLakQsOEJBQXVHO0lBQ3JHLHNEQUEyRTtJQUM3RSxpQkFBTTs7O0lBL0JSLDhCQUEwRjtJQWV4RixBQUxBLEFBTkEsaUZBQXNHLG9FQU1XLG9FQVNoSDs7SUFVRCxpRkFBdUc7SUFLdkcsOEJB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SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsyRkEzRlUsMEJBQTBCO29FQUExQiwwQkFBMEI7WUNmckMsQUFERiw4QkFBaUgsYUFDM0I7WUE2Q2xGLEFBSkEsQUFyQ0EsMkVBQTBGLDhEQXFDbEIsOERBU3ZFO1lBSUwsQUFERSxpQkFBTSxFQUNGOztZQXZEeUMsOEVBQWlFO1lBS3RHLGVBQWtDO1lBQWxDLHVEQUFrQztZQXFDbEMsY0FBaUQ7WUFBakQsc0VBQWlEO1lBS3BELGNBR1A7WUFITyxrS0FHUDs7O2lGRGxDYSwwQkFBMEI7Y0FOdEMsU0FBUzsyQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU07O2tGQUVwQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNoYW5uZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlUHJvZmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9maXh0dXJlLXByb2ZpbGUnO1xuaW1wb3J0IHsgRml4dHVyZVdoZWVsU2xvdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZml4dHVyZS13aGVlbC1zbG90JztcbmltcG9ydCB7IEZpeHR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEludHJvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludHJvLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ByZXNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpeHR1cmVDYXBhYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyBtYXAgY29udGFpbmluZyB0aGUgcHJvZmlsZSBhbmQgdGhlIGNoYW5uZWwgbmFtZSBjb250YWluaW5nIHRoZSB3aGVlbFxuICBjb2xvcldoZWVsQ2hhbm5lbHM6IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+ID0gbmV3IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+KCk7XG4gIGhhc0NhcGFiaWxpdHlEaW1tZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGFzQ2FwYWJpbGl0eUNvbG9yT3JDb2xvcldoZWVsOiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0NhcGFiaWxpdHlQYW5UaWx0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByZXNldFNlcnZpY2U6IFByZXNldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSxcbiAgICBwdWJsaWMgaW50cm9TZXJ2aWNlOiBJbnRyb1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMucHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld1NlbGVjdGlvbkNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmludHJvU2VydmljZS5zdGVwQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgd2hlZWxJbkxpc3Qod2hlZWxzOiBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsPiwgcHJvZmlsZTogRml4dHVyZVByb2ZpbGUsIGNoYW5uZWw6IENhY2hlZEZpeHR1cmVDaGFubmVsKSB7XG4gICAgd2hlZWxzLmZvckVhY2goKGV4aXN0aW5nQ2hhbm5lbDogQ2FjaGVkRml4dHVyZUNoYW5uZWwsIGV4aXN0aW5nUHJvZmlsZTogRml4dHVyZVByb2ZpbGUpID0+IHtcbiAgICAgIGlmIChleGlzdGluZ1Byb2ZpbGUudXVpZCA9PT0gcHJvZmlsZS51dWlkICYmIGV4aXN0aW5nQ2hhbm5lbC5uYW1lID09PSBjaGFubmVsLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbG9yV2hlZWxzKCkge1xuICAgIHRoaXMuY29sb3JXaGVlbENoYW5uZWxzID0gbmV3IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+KCk7XG5cbiAgICBpZiAoIXRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJlc2VyRml4dHVyZSBvZiB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQuZml4dHVyZXMpIHtcbiAgICAgIGNvbnN0IGZpeHR1cmUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldENhY2hlZEZpeHR1cmVCeVV1aWQocHJlc2VyRml4dHVyZS5maXh0dXJlVXVpZCwgcHJlc2VyRml4dHVyZS5waXhlbEtleSk7XG4gICAgICBmb3IgKGNvbnN0IGNoYW5uZWwgb2YgZml4dHVyZS5jaGFubmVscykge1xuICAgICAgICBmb3IgKGNvbnN0IGNhcGFiaWxpdHkgb2YgY2hhbm5lbC5jYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBpZiAoY2FwYWJpbGl0eS53aGVlbCAmJiBjYXBhYmlsaXR5LndoZWVsU2xvdHMgJiYgY2FwYWJpbGl0eS53aGVlbFNsb3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpeHR1cmVTZXJ2aWNlLndoZWVsSGFzU2xvdFR5cGUoY2FwYWJpbGl0eS53aGVlbCwgRml4dHVyZVdoZWVsU2xvdFR5cGUuQ29sb3IpKSB7XG4gICAgICAgICAgICAgIC8vIGNvbG9yIHdoZWVsXG4gICAgICAgICAgICAgIGlmICghdGhpcy53aGVlbEluTGlzdCh0aGlzLmNvbG9yV2hlZWxDaGFubmVscywgZml4dHVyZS5wcm9maWxlLCBjaGFubmVsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sb3JXaGVlbENoYW5uZWxzLnNldChmaXh0dXJlLnByb2ZpbGUsIGNoYW5uZWwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZml4dHVyZVNlcnZpY2Uud2hlZWxIYXNTbG90VHlwZShjYXBhYmlsaXR5LndoZWVsLCBGaXh0dXJlV2hlZWxTbG90VHlwZS5Hb2JvKSkge1xuICAgICAgICAgICAgICAvLyBnb2JvIHdoZWVsXG4gICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNhcGFiaWxpdGllcygpIHtcbiAgICB0aGlzLmhhc0NhcGFiaWxpdHlEaW1tZXIgPSB0aGlzLnByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eURpbW1lcigpO1xuICAgIHRoaXMuaGFzQ2FwYWJpbGl0eUNvbG9yT3JDb2xvcldoZWVsID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmhhc0NhcGFiaWxpdHlDb2xvck9yQ29sb3JXaGVlbCgpO1xuICAgIHRoaXMuaGFzQ2FwYWJpbGl0eVBhblRpbHQgPSB0aGlzLnByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eVBhblRpbHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlQ29sb3JXaGVlbHMoKTtcbiAgICB0aGlzLnVwZGF0ZUNhcGFiaWxpdGllcygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaXNDaHJvbWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ0Nocm9tZS8nKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgcGFuZWwgaC0xMDBcIiBbY2xhc3MuY2FyZC1pbnRyby1hY3RpdmVdPVwiaW50cm9TZXJ2aWNlLnNob3dTdGVwKCdjYXBhYmlsaXRpZXMnKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGNhcGFiaWxpdHktY29udGFpbmVyIGQtZmxleCBoLTEwMFwiIHN0eWxlPVwib3ZlcmZsb3cteTogaGlkZGVuXCI+XG4gICAgPCEtLSBoLTEwMCBuZWVkcyB0byBiZSBhcHBsaWVkIGluIGNocm9tZSB0byBhdm9pZCBwZXJmb3JtYW5jZSBpc3N1ZXMgd2l0aCBtYW55IGxheW91dHMgKHJlZmxvd3MpXG4gICAgZHVyaW5nIHNsaWRpbmcuIEJ1dCB0aGUgY2xhc3MgbXVzdCBub3QgYmUgYXBwbGllZCBlLmcuIGluIFNhZmFyaSwgYmVjYXVzZSB0aGUgYm90dG9tIG1hcmdpbiBpcyBub3QgY29ycmVjdFxuICAgIGFueW1vcmUgYWZ0ZXJ3YXJkcy4gLS0+XG4gICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXRcIiBjbGFzcz1cInJvdyBtLTAgcGwtM1wiIFtjbGFzcy5oLTEwMF09XCJpc0Nocm9tZSgpXCI+XG4gICAgICA8IS0tIERpbW1lciAtLT5cbiAgICAgIDwhLS0gdGhlIGhlaWdodCBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQgdG8gYXZvaWQgcGVyZm9ybWFuY2UgaXNzdWVzIHdpdGggbWFueSBsYXlvdXRzIChyZWZsb3dzKVxuICAgICAgaW4gQ2hyb21lIGR1cmluZyBzbGlkaW5nIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImhhc0NhcGFiaWxpdHlEaW1tZXJcIiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCIgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCI+XG4gICAgICAgIDxsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXI+PC9saWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb2xvciAtLT5cbiAgICAgIDwhLS0gQWxzbyBzaG93IGZvciBjb2xvciB3aGVlbCBmaXh0dXJlcyB0byBhcHByb3guIHRoZSBjb2xvciAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNDYXBhYmlsaXR5Q29sb3JPckNvbG9yV2hlZWxcIiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCIgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCI+XG4gICAgICAgIDxsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvcj48L2xpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ29sb3Igd2hlZWxzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZW50cnkgb2YgY29sb3JXaGVlbENoYW5uZWxzIHwga2V5dmFsdWU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCJcbiAgICAgID5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsXG4gICAgICAgICAgW3Byb2ZpbGVdPVwiZW50cnkua2V5XCJcbiAgICAgICAgICBbY2hhbm5lbF09XCJlbnRyeS52YWx1ZVwiXG4gICAgICAgICAgW3doZWVsSW5kZXhdPVwiaVwiXG4gICAgICAgICAgW3Nob3dDb250YWluZXJdPVwiY29sb3JXaGVlbENoYW5uZWxzLnNpemUgPiAxXCJcbiAgICAgICAgPjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBQYW4vVGlsdCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNDYXBhYmlsaXR5UGFuVGlsdFwiIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIiBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIj5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0PjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBGaXggc3BhY2luZyBhdCB0aGUgZW5kIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCI+Jm5ic3A7PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5maXh0dXJlcy5sZW5ndGggPT0gMFwiIGNsYXNzPVwibS1hdXRvXCI+XG4gICAgICA8cCBjbGFzcz1cIm0tYXV0b1wiIHN0eWxlPVwiY29sb3I6ICM3MTcxNzFcIj57eyAnZGVzaWduZXIuZml4dHVyZS5uby1maXh0dXJlcycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICBwcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmxlbmd0aCA+IDAgJiYgcHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCAmJiBwcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LmZpeHR1cmVzLmxlbmd0aCA9PSAwXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJtLWF1dG9cIlxuICAgID5cbiAgICAgIDxwIGNsYXNzPVwibS1hdXRvXCIgc3R5bGU9XCJjb2xvcjogIzcxNzE3MVwiPnt7ICdkZXNpZ25lci5maXh0dXJlLm5vLWZpeHR1cmVzLXNlbGVjdGVkJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -67,18 +67,61 @@ export class FixtureCapability {
|
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
this.type = FixtureCapabilityType[data.type];
|
|
70
|
-
this.angleStart = data.angleStart;
|
|
71
|
-
this.angleEnd = data.angleEnd;
|
|
72
70
|
this.color = data.color;
|
|
73
71
|
if (data.dmxRange) {
|
|
74
72
|
this.dmxRange = data.dmxRange;
|
|
75
73
|
}
|
|
76
74
|
this.wheel = data.wheel;
|
|
77
75
|
this.slotNumber = data.slotNumber;
|
|
76
|
+
this.comment = data.comment;
|
|
77
|
+
this.soundControlled = data.soundControlled;
|
|
78
|
+
this.shutterEffect = data.shutterEffect;
|
|
79
|
+
this.randomTiming = data.randomTiming;
|
|
80
|
+
this.angle = data.angle;
|
|
81
|
+
this.angleStart = data.angleStart;
|
|
82
|
+
this.angleEnd = data.angleEnd;
|
|
83
|
+
this.speed = data.speed;
|
|
84
|
+
this.speedStart = data.speedStart;
|
|
85
|
+
this.speedEnd = data.speedEnd;
|
|
78
86
|
this.brightness = data.brightness;
|
|
79
87
|
this.brightnessStart = data.brightnessStart;
|
|
80
88
|
this.brightnessEnd = data.brightnessEnd;
|
|
81
|
-
this.
|
|
89
|
+
this.duration = data.duration;
|
|
90
|
+
this.durationStart = data.durationStart;
|
|
91
|
+
this.durationEnd = data.durationEnd;
|
|
92
|
+
this.colorTemperature = data.colorTemperature;
|
|
93
|
+
this.colorTemperatureStart = data.colorTemperatureStart;
|
|
94
|
+
this.colorTemperatureEnd = data.colorTemperatureEnd;
|
|
95
|
+
this.soundSensitivity = data.soundSensitivity;
|
|
96
|
+
this.soundSensitivityStart = data.soundSensitivityStart;
|
|
97
|
+
this.soundSensitivityEnd = data.soundSensitivityEnd;
|
|
98
|
+
this.horizontalAngle = data.horizontalAngle;
|
|
99
|
+
this.horizontalAngleStart = data.horizontalAngleStart;
|
|
100
|
+
this.horizontalAngleEnd = data.horizontalAngleEnd;
|
|
101
|
+
this.verticalAngle = data.verticalAngle;
|
|
102
|
+
this.verticalAngleStart = data.verticalAngleStart;
|
|
103
|
+
this.verticalAngleEnd = data.verticalAngleEnd;
|
|
104
|
+
this.distance = data.distance;
|
|
105
|
+
this.distanceStart = data.distanceStart;
|
|
106
|
+
this.distanceEnd = data.distanceEnd;
|
|
107
|
+
this.openPercent = data.openPercent;
|
|
108
|
+
this.openPercentStart = data.openPercentStart;
|
|
109
|
+
this.openPercentEnd = data.openPercentEnd;
|
|
110
|
+
this.frostIntensity = data.frostIntensity;
|
|
111
|
+
this.frostIntensityStart = data.frostIntensityStart;
|
|
112
|
+
this.frostIntensityEnd = data.frostIntensityEnd;
|
|
113
|
+
this.fogOutput = data.fogOutput;
|
|
114
|
+
this.fogOutputStart = data.fogOutputStart;
|
|
115
|
+
this.fogOutputEnd = data.fogOutputEnd;
|
|
116
|
+
this.time = data.time;
|
|
117
|
+
this.timeStart = data.timeStart;
|
|
118
|
+
this.timeEnd = data.timeEnd;
|
|
119
|
+
this.insertion = data.insertion;
|
|
120
|
+
this.insertionStart = data.insertionStart;
|
|
121
|
+
this.insertionEnd = data.insertionEnd;
|
|
122
|
+
this.colors = data.colors;
|
|
123
|
+
this.colorsStart = data.colorsStart;
|
|
124
|
+
this.colorsEnd = data.colorsEnd;
|
|
82
125
|
}
|
|
83
126
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQTRDWDtBQTVDRCxXQUFZLHFCQUFxQjtJQUMvQixrREFBeUIsQ0FBQTtJQUN6Qix3REFBK0IsQ0FBQTtJQUMvQixvREFBMkIsQ0FBQTtJQUMzQiwwREFBaUMsQ0FBQTtJQUNqQyxnREFBdUIsQ0FBQTtJQUN2QiwwREFBaUMsQ0FBQTtJQUNqQyxvREFBMkIsQ0FBQTtJQUMzQiw4REFBcUMsQ0FBQTtJQUNyQyxvQ0FBVyxDQUFBO0lBQ1gsd0RBQStCLENBQUE7SUFDL0Isc0NBQWEsQ0FBQTtJQUNiLDBEQUFpQyxDQUFBO0lBQ2pDLHNEQUE2QixDQUFBO0lBQzdCLGdEQUF1QixDQUFBO0lBQ3ZCLGtEQUF5QixDQUFBO0lBQ3pCLGdFQUF1QyxDQUFBO0lBQ3ZDLHdEQUErQixDQUFBO0lBQy9CLG9EQUEyQixDQUFBO0lBQzNCLDBEQUFpQyxDQUFBO0lBQ2pDLDREQUFtQyxDQUFBO0lBQ25DLDhEQUFxQyxDQUFBO0lBQ3JDLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Isc0NBQWEsQ0FBQTtJQUNiLGtEQUF5QixDQUFBO0lBQ3pCLHdDQUFlLENBQUE7SUFDZixvREFBMkIsQ0FBQTtJQUMzQix3Q0FBZSxDQUFBO0lBQ2Ysd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsd0RBQStCLENBQUE7SUFDL0Isb0VBQTJDLENBQUE7SUFDM0Msb0NBQVcsQ0FBQTtJQUNYLGdEQUF1QixDQUFBO0lBQ3ZCLDRDQUFtQixDQUFBO0lBQ25CLGdEQUF1QixDQUFBO0lBQ3ZCLDhDQUFxQixDQUFBO0lBQ3JCLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Isb0RBQTJCLENBQUE7SUFDM0IsNENBQW1CLENBQUE7SUFDbkIsMENBQWlCLENBQUE7SUFDakIsc0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQTVDVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBNENoQztBQUVELE1BQU0sQ0FBTixJQUFZLHNCQWNYO0FBZEQsV0FBWSxzQkFBc0I7SUFDaEMscUNBQVcsQ0FBQTtJQUNYLHlDQUFlLENBQUE7SUFDZix1Q0FBYSxDQUFBO0lBQ2IsdUNBQWEsQ0FBQTtJQUNiLDZDQUFtQixDQUFBO0lBQ25CLDJDQUFpQixDQUFBO0lBQ2pCLHlDQUFlLENBQUE7SUFDZix5Q0FBZSxDQUFBO0lBQ2YsbURBQTJCLENBQUE7SUFDM0IsbURBQTJCLENBQUE7SUFDM0IsbUNBQVMsQ0FBQTtJQUNULHVDQUFhLENBQUE7SUFDYiwyQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQWNqQztBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFjNUIsWUFBWSxJQUFVO1FBVHRCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFVdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpeHR1cmVDYXBhYmlsaXR5VHlwZSB7XG4gIE5vRnVuY3Rpb24gPSAnTm9GdW5jdGlvbicsXG4gIFNodXR0ZXJTdHJvYmUgPSAnU2h1dHRlclN0cm9iZScsXG4gIFN0cm9iZVNwZWVkID0gJ1N0cm9iZVNwZWVkJyxcbiAgU3Ryb2JlRHVyYXRpb24gPSAnU3Ryb2JlRHVyYXRpb24nLFxuICBJbnRlbnNpdHkgPSAnSW50ZW5zaXR5JyxcbiAgQ29sb3JJbnRlbnNpdHkgPSAnQ29sb3JJbnRlbnNpdHknLFxuICBDb2xvclByZXNldCA9ICdDb2xvclByZXNldCcsXG4gIENvbG9yVGVtcGVyYXR1cmUgPSAnQ29sb3JUZW1wZXJhdHVyZScsXG4gIFBhbiA9ICdQYW4nLFxuICBQYW5Db250aW51b3VzID0gJ1BhbkNvbnRpbnVvdXMnLFxuICBUaWx0ID0gJ1RpbHQnLFxuICBUaWx0Q29udGludW91cyA9ICdUaWx0Q29udGludW91cycsXG4gIFBhblRpbHRTcGVlZCA9ICdQYW5UaWx0U3BlZWQnLFxuICBXaGVlbFNsb3QgPSAnV2hlZWxTbG90JyxcbiAgV2hlZWxTaGFrZSA9ICdXaGVlbFNoYWtlJyxcbiAgV2hlZWxTbG90Um90YXRpb24gPSAnV2hlZWxTbG90Um90YXRpb24nLFxuICBXaGVlbFJvdGF0aW9uID0gJ1doZWVsUm90YXRpb24nLFxuICBFZmZlY3RTcGVlZCA9ICdFZmZlY3RTcGVlZCcsXG4gIEVmZmVjdER1cmF0aW9uID0gJ0VmZmVjdER1cmF0aW9uJyxcbiAgRWZmZWN0UGFyYW1ldGVyID0gJ0VmZmVjdFBhcmFtZXRlcicsXG4gIFNvdW5kU2Vuc2l0aXZpdHkgPSAnU291bmRTZW5zaXRpdml0eScsXG4gIEZvY3VzID0gJ0ZvY3VzJyxcbiAgWm9vbSA9ICdab29tJyxcbiAgSXJpcyA9ICdJcmlzJyxcbiAgSXJpc0VmZmVjdCA9ICdJcmlzRWZmZWN0JyxcbiAgRnJvc3QgPSAnRnJvc3QnLFxuICBGcm9zdEVmZmVjdCA9ICdGcm9zdEVmZmVjdCcsXG4gIFByaXNtID0gJ1ByaXNtJyxcbiAgUHJpc21Sb3RhdGlvbiA9ICdQcmlzbVJvdGF0aW9uJyxcbiAgQmxhZGVJbnNlcnRpb24gPSAnQmxhZGVJbnNlcnRpb24nLFxuICBCbGFkZVJvdGF0aW9uID0gJ0JsYWRlUm90YXRpb24nLFxuICBCbGFkZVN5c3RlbVJvdGF0aW9uID0gJ0JsYWRlU3lzdGVtUm90YXRpb24nLFxuICBGb2cgPSAnRm9nJyxcbiAgRm9nT3V0cHV0ID0gJ0ZvZ091dHB1dCcsXG4gIEZvZ1R5cGUgPSAnRm9nVHlwZScsXG4gIEJlYW1BbmdsZSA9ICdCZWFtQW5nbGUnLFxuICBSb3RhdGlvbiA9ICdSb3RhdGlvbicsXG4gIFNwZWVkID0gJ1NwZWVkJyxcbiAgVGltZSA9ICdUaW1lJyxcbiAgTWFpbnRlbmFuY2UgPSAnTWFpbnRlbmFuY2UnLFxuICBHZW5lcmljID0gJ0dlbmVyaWMnLFxuICBFZmZlY3QgPSAnRWZmZWN0JyxcbiAgQmVhbVBvc2l0aW9uID0gJ0JlYW1Qb3NpdGlvbicsXG59XG5cbmV4cG9ydCBlbnVtIEZpeHR1cmVDYXBhYmlsaXR5Q29sb3Ige1xuICBSZWQgPSAnUmVkJyxcbiAgR3JlZW4gPSAnR3JlZW4nLFxuICBCbHVlID0gJ0JsdWUnLFxuICBDeWFuID0gJ0N5YW4nLFxuICBNYWdlbnRhID0gJ01hZ2VudGEnLFxuICBZZWxsb3cgPSAnWWVsbG93JyxcbiAgQW1iZXIgPSAnQW1iZXInLFxuICBXaGl0ZSA9ICdXaGl0ZScsXG4gICdXYXJtIFdoaXRlJyA9ICdXYXJtIFdoaXRlJyxcbiAgJ0NvbGQgV2hpdGUnID0gJ0NvbGQgV2hpdGUnLFxuICBVViA9ICdVVicsXG4gIExpbWUgPSAnTGltZScsXG4gIEluZGlnbyA9ICdJbmRpZ28nLFxufVxuXG5leHBvcnQgY2xhc3MgRml4dHVyZUNhcGFiaWxpdHkge1xuICB0eXBlOiBGaXh0dXJlQ2FwYWJpbGl0eVR5cGU7XG4gIGFuZ2xlU3RhcnQ6IHN0cmluZztcbiAgYW5nbGVFbmQ6IHN0cmluZztcbiAgY29sb3I6IEZpeHR1cmVDYXBhYmlsaXR5Q29sb3I7XG4gIGRteFJhbmdlOiBudW1iZXJbXSA9IFtdO1xuICAvLyBtYXkgYmUgZW1wdHkuIGluIHRoaXMgY2FzZSwgdGhlIGNoYW5uZWwgbmFtZSBwb2ludHMgdG8gdGhlIHdoZWVsXG4gIHdoZWVsOiBhbnk7XG4gIHNsb3ROdW1iZXI6IG51bWJlcjtcbiAgYnJpZ2h0bmVzczogc3RyaW5nO1xuICBicmlnaHRuZXNzU3RhcnQ6IHN0cmluZztcbiAgYnJpZ2h0bmVzc0VuZDogc3RyaW5nO1xuICBjb21tZW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHlwZSA9IEZpeHR1cmVDYXBhYmlsaXR5VHlwZVtkYXRhLnR5cGUgYXMgc3RyaW5nXTtcbiAgICB0aGlzLmFuZ2xlU3RhcnQgPSBkYXRhLmFuZ2xlU3RhcnQ7XG4gICAgdGhpcy5hbmdsZUVuZCA9IGRhdGEuYW5nbGVFbmQ7XG4gICAgdGhpcy5jb2xvciA9IGRhdGEuY29sb3I7XG4gICAgaWYgKGRhdGEuZG14UmFuZ2UpIHtcbiAgICAgIHRoaXMuZG14UmFuZ2UgPSBkYXRhLmRteFJhbmdlO1xuICAgIH1cbiAgICB0aGlzLndoZWVsID0gZGF0YS53aGVlbDtcbiAgICB0aGlzLnNsb3ROdW1iZXIgPSBkYXRhLnNsb3ROdW1iZXI7XG4gICAgdGhpcy5icmlnaHRuZXNzID0gZGF0YS5icmlnaHRuZXNzO1xuICAgIHRoaXMuYnJpZ2h0bmVzc1N0YXJ0ID0gZGF0YS5icmlnaHRuZXNzU3RhcnQ7XG4gICAgdGhpcy5icmlnaHRuZXNzRW5kID0gZGF0YS5icmlnaHRuZXNzRW5kO1xuICAgIHRoaXMuY29tbWVudCA9IGRhdGEuY29tbWVudDtcbiAgfVxufVxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQTRDWDtBQTVDRCxXQUFZLHFCQUFxQjtJQUMvQixrREFBeUIsQ0FBQTtJQUN6Qix3REFBK0IsQ0FBQTtJQUMvQixvREFBMkIsQ0FBQTtJQUMzQiwwREFBaUMsQ0FBQTtJQUNqQyxnREFBdUIsQ0FBQTtJQUN2QiwwREFBaUMsQ0FBQTtJQUNqQyxvREFBMkIsQ0FBQTtJQUMzQiw4REFBcUMsQ0FBQTtJQUNyQyxvQ0FBVyxDQUFBO0lBQ1gsd0RBQStCLENBQUE7SUFDL0Isc0NBQWEsQ0FBQTtJQUNiLDBEQUFpQyxDQUFBO0lBQ2pDLHNEQUE2QixDQUFBO0lBQzdCLGdEQUF1QixDQUFBO0lBQ3ZCLGtEQUF5QixDQUFBO0lBQ3pCLGdFQUF1QyxDQUFBO0lBQ3ZDLHdEQUErQixDQUFBO0lBQy9CLG9EQUEyQixDQUFBO0lBQzNCLDBEQUFpQyxDQUFBO0lBQ2pDLDREQUFtQyxDQUFBO0lBQ25DLDhEQUFxQyxDQUFBO0lBQ3JDLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Isc0NBQWEsQ0FBQTtJQUNiLGtEQUF5QixDQUFBO0lBQ3pCLHdDQUFlLENBQUE7SUFDZixvREFBMkIsQ0FBQTtJQUMzQix3Q0FBZSxDQUFBO0lBQ2Ysd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsd0RBQStCLENBQUE7SUFDL0Isb0VBQTJDLENBQUE7SUFDM0Msb0NBQVcsQ0FBQTtJQUNYLGdEQUF1QixDQUFBO0lBQ3ZCLDRDQUFtQixDQUFBO0lBQ25CLGdEQUF1QixDQUFBO0lBQ3ZCLDhDQUFxQixDQUFBO0lBQ3JCLHdDQUFlLENBQUE7SUFDZixzQ0FBYSxDQUFBO0lBQ2Is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Q0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRml4dHVyZUNhcGFiaWxpdHlUeXBlIHtcbiAgTm9GdW5jdGlvbiA9ICdOb0Z1bmN0aW9uJyxcbiAgU2h1dHRlclN0cm9iZSA9ICdTaHV0dGVyU3Ryb2JlJyxcbiAgU3Ryb2JlU3BlZWQgPSAnU3Ryb2JlU3BlZWQnLFxuICBTdHJvYmVEdXJhdGlvbiA9ICdTdHJvYmVEdXJhdGlvbicsXG4gIEludGVuc2l0eSA9ICdJbnRlbnNpdHknLFxuICBDb2xvckludGVuc2l0eSA9ICdDb2xvckludGVuc2l0eScsXG4gIENvbG9yUHJlc2V0ID0gJ0NvbG9yUHJlc2V0JyxcbiAgQ29sb3JUZW1wZXJhdHVyZSA9ICdDb2xvclRlbXBlcmF0dXJlJyxcbiAgUGFuID0gJ1BhbicsXG4gIFBhbkNvbnRpbnVvdXMgPSAnUGFuQ29udGludW91cycsXG4gIFRpbHQgPSAnVGlsdCcsXG4gIFRpbHRDb250aW51b3VzID0gJ1RpbHRDb250aW51b3VzJyxcbiAgUGFuVGlsdFNwZWVkID0gJ1BhblRpbHRTcGVlZCcsXG4gIFdoZWVsU2xvdCA9ICdXaGVlbFNsb3QnLFxuICBXaGVlbFNoYWtlID0gJ1doZWVsU2hha2UnLFxuICBXaGVlbFNsb3RSb3RhdGlvbiA9ICdXaGVlbFNsb3RSb3RhdGlvbicsXG4gIFdoZWVsUm90YXRpb24gPSAnV2hlZWxSb3RhdGlvbicsXG4gIEVmZmVjdFNwZWVkID0gJ0VmZmVjdFNwZWVkJyxcbiAgRWZmZWN0RHVyYXRpb24gPSAnRWZmZWN0RHVyYXRpb24nLFxuICBFZmZlY3RQYXJhbWV0ZXIgPSAnRWZmZWN0UGFyYW1ldGVyJyxcbiAgU291bmRTZW5zaXRpdml0eSA9ICdTb3VuZFNlbnNpdGl2aXR5JyxcbiAgRm9jdXMgPSAnRm9jdXMnLFxuICBab29tID0gJ1pvb20nLFxuICBJcmlzID0gJ0lyaXMnLFxuICBJcmlzRWZmZWN0ID0gJ0lyaXNFZmZlY3QnLFxuICBGcm9zdCA9ICdGcm9zdCcsXG4gIEZyb3N0RWZmZWN0ID0gJ0Zyb3N0RWZmZWN0JyxcbiAgUHJpc20gPSAnUHJpc20nLFxuICBQcmlzbVJvdGF0aW9uID0gJ1ByaXNtUm90YXRpb24nLFxuICBCbGFkZUluc2VydGlvbiA9ICdCbGFkZUluc2VydGlvbicsXG4gIEJsYWRlUm90YXRpb24gPSAnQmxhZGVSb3RhdGlvbicsXG4gIEJsYWRlU3lzdGVtUm90YXRpb24gPSAnQmxhZGVTeXN0ZW1Sb3RhdGlvbicsXG4gIEZvZyA9ICdGb2cnLFxuICBGb2dPdXRwdXQgPSAnRm9nT3V0cHV0JyxcbiAgRm9nVHlwZSA9ICdGb2dUeXBlJyxcbiAgQmVhbUFuZ2xlID0gJ0JlYW1BbmdsZScsXG4gIFJvdGF0aW9uID0gJ1JvdGF0aW9uJyxcbiAgU3BlZWQgPSAnU3BlZWQnLFxuICBUaW1lID0gJ1RpbWUnLFxuICBNYWludGVuYW5jZSA9ICdNYWludGVuYW5jZScsXG4gIEdlbmVyaWMgPSAnR2VuZXJpYycsXG4gIEVmZmVjdCA9ICdFZmZlY3QnLFxuICBCZWFtUG9zaXRpb24gPSAnQmVhbVBvc2l0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gRml4dHVyZUNhcGFiaWxpdHlDb2xvciB7XG4gIFJlZCA9ICdSZWQnLFxuICBHcmVlbiA9ICdHcmVlbicsXG4gIEJsdWUgPSAnQmx1ZScsXG4gIEN5YW4gPSAnQ3lhbicsXG4gIE1hZ2VudGEgPSAnTWFnZW50YScsXG4gIFllbGxvdyA9ICdZZWxsb3cnLFxuICBBbWJlciA9ICdBbWJlcicsXG4gIFdoaXRlID0gJ1doaXRlJyxcbiAgJ1dhcm0gV2hpdGUnID0gJ1dhcm0gV2hpdGUnLFxuICAnQ29sZCBXaGl0ZScgPSAnQ29sZCBXaGl0ZScsXG4gIFVWID0gJ1VWJyxcbiAgTGltZSA9ICdMaW1lJyxcbiAgSW5kaWdvID0gJ0luZGlnbycsXG59XG5cbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2FwYWJpbGl0eSB7XG4gIHR5cGU6IEZpeHR1cmVDYXBhYmlsaXR5VHlwZTtcbiAgY29sb3I6IEZpeHR1cmVDYXBhYmlsaXR5Q29sb3I7XG4gIGRteFJhbmdlOiBudW1iZXJbXSA9IFtdO1xuICBzbG90TnVtYmVyOiBudW1iZXI7XG4gIGNvbW1lbnQ6IHN0cmluZztcbiAgc291bmRDb250cm9sbGVkOiBib29sZWFuO1xuICBzaHV0dGVyRWZmZWN0OiBzdHJpbmc7XG4gIHJhbmRvbVRpbWluZzogYm9vbGVhbjtcblxuICAvLyBtYXkgYmUgZW1wdHkuIGluIHRoaXMgY2FzZSwgdGhlIGNoYW5uZWwgbmFtZSBwb2ludHMgdG8gdGhlIHdoZWVsXG4gIHdoZWVsOiBhbnk7XG5cbiAgYW5nbGU6IHN0cmluZztcbiAgYW5nbGVTdGFydDogc3RyaW5nO1xuICBhbmdsZUVuZDogc3RyaW5nO1xuICBzcGVlZDogc3RyaW5nO1xuICBzcGVlZFN0YXJ0OiBzdHJpbmc7XG4gIHNwZWVkRW5kOiBzdHJpbmc7XG4gIGJyaWdodG5lc3M6IHN0cmluZztcbiAgYnJpZ2h0bmVzc1N0YXJ0OiBzdHJpbmc7XG4gIGJyaWdodG5lc3NFbmQ6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgZHVyYXRpb25TdGFydDogc3RyaW5nO1xuICBkdXJhdGlvbkVuZDogc3RyaW5nO1xuICBjb2xvclRlbXBlcmF0dXJlOiBzdHJpbmc7XG4gIGNvbG9yVGVtcGVyYXR1cmVTdGFydDogc3RyaW5nO1xuICBjb2xvclRlbXBlcmF0dXJlRW5kOiBzdHJpbmc7XG4gIHNvdW5kU2Vuc2l0aXZpdHk6IHN0cmluZztcbiAgc291bmRTZW5zaXRpdml0eVN0YXJ0OiBzdHJpbmc7XG4gIHNvdW5kU2Vuc2l0aXZpdHlFbmQ6IHN0cmluZztcbiAgaG9yaXpvbnRhbEFuZ2xlOiBzdHJpbmc7XG4gIGhvcml6b250YWxBbmdsZVN0YXJ0OiBzdHJpbmc7XG4gIGhvcml6b250YWxBbmdsZUVuZDogc3RyaW5nO1xuICB2ZXJ0aWNhbEFuZ2xlOiBzdHJpbmc7XG4gIHZlcnRpY2FsQW5nbGVTdGFydDogc3RyaW5nO1xuICB2ZXJ0aWNhbEFuZ2xlRW5kOiBzdHJpbmc7XG4gIGRpc3RhbmNlOiBzdHJpbmc7XG4gIGRpc3RhbmNlU3RhcnQ6IHN0cmluZztcbiAgZGlzdGFuY2VFbmQ6IHN0cmluZztcbiAgb3BlblBlcmNlbnQ6IHN0cmluZztcbiAgb3BlblBlcmNlbnRTdGFydDogc3RyaW5nO1xuICBvcGVuUGVyY2VudEVuZDogc3RyaW5nO1xuICBmcm9zdEludGVuc2l0eTogc3RyaW5nO1xuICBmcm9zdEludGVuc2l0eVN0YXJ0OiBzdHJpbmc7XG4gIGZyb3N0SW50ZW5zaXR5RW5kOiBzdHJpbmc7XG4gIGZvZ091dHB1dDogc3RyaW5nO1xuICBmb2dPdXRwdXRTdGFydDogc3RyaW5nO1xuICBmb2dPdXRwdXRFbmQ6IHN0cmluZztcbiAgdGltZTogc3RyaW5nO1xuICB0aW1lU3RhcnQ6IHN0cmluZztcbiAgdGltZUVuZDogc3RyaW5nO1xuICBpbnNlcnRpb246IHN0cmluZztcbiAgaW5zZXJ0aW9uU3RhcnQ6IHN0cmluZztcbiAgaW5zZXJ0aW9uRW5kOiBzdHJpbmc7XG4gIGNvbG9yczogc3RyaW5nW107XG4gIGNvbG9yc1N0YXJ0OiBzdHJpbmdbXTtcbiAgY29sb3JzRW5kOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50eXBlID0gRml4dHVyZUNhcGFiaWxpdHlUeXBlW2RhdGEudHlwZSBhcyBzdHJpbmddO1xuICAgIHRoaXMuY29sb3IgPSBkYXRhLmNvbG9yO1xuICAgIGlmIChkYXRhLmRteFJhbmdlKSB7XG4gICAgICB0aGlzLmRteFJhbmdlID0gZGF0YS5kbXhSYW5nZTtcbiAgICB9XG4gICAgdGhpcy53aGVlbCA9IGRhdGEud2hlZWw7XG4gICAgdGhpcy5zbG90TnVtYmVyID0gZGF0YS5zbG90TnVtYmVyO1xuICAgIHRoaXMuY29tbWVudCA9IGRhdGEuY29tbWVudDtcbiAgICB0aGlzLnNvdW5kQ29udHJvbGxlZCA9IGRhdGEuc291bmRDb250cm9sbGVkO1xuICAgIHRoaXMuc2h1dHRlckVmZmVjdCA9IGRhdGEuc2h1dHRlckVmZmVjdDtcbiAgICB0aGlzLnJhbmRvbVRpbWluZyA9IGRhdGEucmFuZG9tVGltaW5nO1xuXG4gICAgdGhpcy5hbmdsZSA9IGRhdGEuYW5nbGU7XG4gICAgdGhpcy5hbmdsZVN0YXJ0ID0gZGF0YS5hbmdsZVN0YXJ0O1xuICAgIHRoaXMuYW5nbGVFbmQgPSBkYXRhLmFuZ2xlRW5kO1xuICAgIHRoaXMuc3BlZWQgPSBkYXRhLnNwZWVkO1xuICAgIHRoaXMuc3BlZWRTdGFydCA9IGRhdGEuc3BlZWRTdGFydDtcbiAgICB0aGlzLnNwZWVkRW5kID0gZGF0YS5zcGVlZEVuZDtcbiAgICB0aGlzLmJyaWdodG5lc3MgPSBkYXRhLmJyaWdodG5lc3M7XG4gICAgdGhpcy5icmlnaHRuZXNzU3RhcnQgPSBkYXRhLmJyaWdodG5lc3NTdGFydDtcbiAgICB0aGlzLmJyaWdodG5lc3NFbmQgPSBkYXRhLmJyaWdodG5lc3NFbmQ7XG4gICAgdGhpcy5kdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG4gICAgdGhpcy5kdXJhdGlvblN0YXJ0ID0gZGF0YS5kdXJhdGlvblN0YXJ0O1xuICAgIHRoaXMuZHVyYXRpb25FbmQgPSBkYXRhLmR1cmF0aW9uRW5kO1xuICAgIHRoaXMuY29sb3JUZW1wZXJhdHVyZSA9IGRhdGEuY29sb3JUZW1wZXJhdHVyZTtcbiAgICB0aGlzLmNvbG9yVGVtcGVyYXR1cmVTdGFydCA9IGRhdGEuY29sb3JUZW1wZXJhdHVyZVN0YXJ0O1xuICAgIHRoaXMuY29sb3JUZW1wZXJhdHVyZUVuZCA9IGRhdGEuY29sb3JUZW1wZXJhdHVyZUVuZDtcbiAgICB0aGlzLnNvdW5kU2Vuc2l0aXZpdHkgPSBkYXRhLnNvdW5kU2Vuc2l0aXZpdHk7XG4gICAgdGhpcy5zb3VuZFNlbnNpdGl2aXR5U3RhcnQgPSBkYXRhLnNvdW5kU2Vuc2l0aXZpdHlTdGFydDtcbiAgICB0aGlzLnNvdW5kU2Vuc2l0aXZpdHlFbmQgPSBkYXRhLnNvdW5kU2Vuc2l0aXZpdHlFbmQ7XG4gICAgdGhpcy5ob3Jpem9udGFsQW5nbGUgPSBkYXRhLmhvcml6b250YWxBbmdsZTtcbiAgICB0aGlzLmhvcml6b250YWxBbmdsZVN0YXJ0ID0gZGF0YS5ob3Jpem9udGFsQW5nbGVTdGFydDtcbiAgICB0aGlzLmhvcml6b250YWxBbmdsZUVuZCA9IGRhdGEuaG9yaXpvbnRhbEFuZ2xlRW5kO1xuICAgIHRoaXMudmVydGljYWxBbmdsZSA9IGRhdGEudmVydGljYWxBbmdsZTtcbiAgICB0aGlzLnZlcnRpY2FsQW5nbGVTdGFydCA9IGRhdGEudmVydGljYWxBbmdsZVN0YXJ0O1xuICAgIHRoaXMudmVydGljYWxBbmdsZUVuZCA9IGRhdGEudmVydGljYWxBbmdsZUVuZDtcbiAgICB0aGlzLmRpc3RhbmNlID0gZGF0YS5kaXN0YW5jZTtcbiAgICB0aGlzLmRpc3RhbmNlU3RhcnQgPSBkYXRhLmRpc3RhbmNlU3RhcnQ7XG4gICAgdGhpcy5kaXN0YW5jZUVuZCA9IGRhdGEuZGlzdGFuY2VFbmQ7XG4gICAgdGhpcy5vcGVuUGVyY2VudCA9IGRhdGEub3BlblBlcmNlbnQ7XG4gICAgdGhpcy5vcGVuUGVyY2VudFN0YXJ0ID0gZGF0YS5vcGVuUGVyY2VudFN0YXJ0O1xuICAgIHRoaXMub3BlblBlcmNlbnRFbmQgPSBkYXRhLm9wZW5QZXJjZW50RW5kO1xuICAgIHRoaXMuZnJvc3RJbnRlbnNpdHkgPSBkYXRhLmZyb3N0SW50ZW5zaXR5O1xuICAgIHRoaXMuZnJvc3RJbnRlbnNpdHlTdGFydCA9IGRhdGEuZnJvc3RJbnRlbnNpdHlTdGFydDtcbiAgICB0aGlzLmZyb3N0SW50ZW5zaXR5RW5kID0gZGF0YS5mcm9zdEludGVuc2l0eUVuZDtcbiAgICB0aGlzLmZvZ091dHB1dCA9IGRhdGEuZm9nT3V0cHV0O1xuICAgIHRoaXMuZm9nT3V0cHV0U3RhcnQgPSBkYXRhLmZvZ091dHB1dFN0YXJ0O1xuICAgIHRoaXMuZm9nT3V0cHV0RW5kID0gZGF0YS5mb2dPdXRwdXRFbmQ7XG4gICAgdGhpcy50aW1lID0gZGF0YS50aW1lO1xuICAgIHRoaXMudGltZVN0YXJ0ID0gZGF0YS50aW1lU3RhcnQ7XG4gICAgdGhpcy50aW1lRW5kID0gZGF0YS50aW1lRW5kO1xuICAgIHRoaXMuaW5zZXJ0aW9uID0gZGF0YS5pbnNlcnRpb247XG4gICAgdGhpcy5pbnNlcnRpb25TdGFydCA9IGRhdGEuaW5zZXJ0aW9uU3RhcnQ7XG4gICAgdGhpcy5pbnNlcnRpb25FbmQgPSBkYXRhLmluc2VydGlvbkVuZDtcbiAgICB0aGlzLmNvbG9ycyA9IGRhdGEuY29sb3JzO1xuICAgIHRoaXMuY29sb3JzU3RhcnQgPSBkYXRhLmNvbG9yc1N0YXJ0O1xuICAgIHRoaXMuY29sb3JzRW5kID0gZGF0YS5jb2xvcnNFbmQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,24 +3,10 @@ import { map } from 'rxjs/operators';
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Fixture3d } from './fixture-3d';
|
|
5
5
|
export class ColorChanger3d extends Fixture3d {
|
|
6
|
-
|
|
7
|
-
super
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
emissive: 0x0d0d0d,
|
|
11
|
-
});
|
|
12
|
-
this.mesh.material = this.material;
|
|
13
|
-
this.spotLightHelper = new THREE.SpotLightHelper(this.spotLight);
|
|
14
|
-
// scene.add(this.spotLightHelper);
|
|
15
|
-
this.objectGroup.add(this.spotlightGroup);
|
|
16
|
-
this.objectGroup.add(this.mesh);
|
|
17
|
-
// A moving head has about 32 cm in width
|
|
18
|
-
this.objectGroup.scale.multiplyScalar(9);
|
|
19
|
-
this.scene.add(this.objectGroup);
|
|
20
|
-
this.isLoaded = true;
|
|
21
|
-
}
|
|
22
|
-
constructor(fixtureService, previewMeshService, fixture, scene) {
|
|
23
|
-
super(fixtureService, fixture, scene);
|
|
6
|
+
constructor(fixtureService, previewService, previewMeshService, fixture, scene) {
|
|
7
|
+
super(fixtureService, previewService, fixture, scene, true);
|
|
8
|
+
this.fixtureService = fixtureService;
|
|
9
|
+
this.previewService = previewService;
|
|
24
10
|
this.objectGroup = new THREE.Object3D();
|
|
25
11
|
forkJoin([previewMeshService.getMesh('color-changer')])
|
|
26
12
|
.pipe(map(([colorChanger]) => {
|
|
@@ -29,8 +15,14 @@ export class ColorChanger3d extends Fixture3d {
|
|
|
29
15
|
}))
|
|
30
16
|
.subscribe();
|
|
31
17
|
}
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
createObjects() {
|
|
19
|
+
super.createObjects();
|
|
20
|
+
this.mesh.material = this.previewService.fixtureMaterial;
|
|
21
|
+
this.objectGroup.add(this.spotlightGroup);
|
|
22
|
+
this.objectGroup.add(this.mesh);
|
|
23
|
+
this.objectGroup.scale.multiplyScalar(9);
|
|
24
|
+
this.scene.add(this.objectGroup);
|
|
25
|
+
this.isLoaded = true;
|
|
34
26
|
}
|
|
35
27
|
updatePreview(channelValues, masterDimmerValue) {
|
|
36
28
|
if (!this.isLoaded) {
|
|
@@ -42,23 +34,19 @@ export class ColorChanger3d extends Fixture3d {
|
|
|
42
34
|
if (this.lastSelected !== this.isSelected) {
|
|
43
35
|
if (this.isSelected) {
|
|
44
36
|
for (const child of this.mesh.children) {
|
|
45
|
-
child.material = this.
|
|
37
|
+
child.material = this.previewService.fixtureSelectedMaterial;
|
|
46
38
|
}
|
|
47
39
|
}
|
|
48
40
|
else {
|
|
49
41
|
for (const child of this.mesh.children) {
|
|
50
|
-
child.material = this.
|
|
42
|
+
child.material = this.previewService.fixtureMaterial;
|
|
51
43
|
}
|
|
52
44
|
}
|
|
53
45
|
this.lastSelected = this.isSelected;
|
|
54
46
|
}
|
|
55
|
-
// Update the light helpers
|
|
56
|
-
// this.spotLightHelper.update();
|
|
57
47
|
}
|
|
58
48
|
destroy() {
|
|
59
49
|
this.scene.remove(this.objectGroup);
|
|
60
|
-
this.material.dispose();
|
|
61
|
-
this.spotLightHelper.dispose();
|
|
62
50
|
}
|
|
63
51
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItY2hhbmdlci0zZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvcHJldmlldy9tb2RlbHMvY29sb3ItY2hhbmdlci0zZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQU0vQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3pDLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUkzQyxZQUNTLGNBQThCLEVBQzlCLGNBQThCLEVBQ3JDLGtCQUFzQyxFQUN0QyxPQUFzQixFQUN0QixLQUFVO1FBRVYsS0FBSyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQU5yRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSi9CLGdCQUFXLEdBQW1CLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBV3pELFFBQVEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO2FBQ3BELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVTLGFBQWE7UUFDckIsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBRXpELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYSxDQUFDLGFBQW9DLEVBQUUsaUJBQXlCO1FBQ2xGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3RDLEtBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDekUsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3RDLEtBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7Z0JBQ2pFLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTWVzaCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IENhY2hlZEZpeHR1cmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUnO1xuaW1wb3J0IHsgRml4dHVyZUNoYW5uZWxWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9maXh0dXJlLWNoYW5uZWwtdmFsdWUnO1xuaW1wb3J0IHsgRml4dHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maXh0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJldmlld01lc2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJldmlldy1tZXNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgRml4dHVyZTNkIH0gZnJvbSAnLi9maXh0dXJlLTNkJztcbmltcG9ydCB7IFByZXZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJldmlldy5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbG9yQ2hhbmdlcjNkIGV4dGVuZHMgRml4dHVyZTNkIHtcbiAgcHJpdmF0ZSBtZXNoOiBUSFJFRS5NZXNoO1xuICBwcml2YXRlIG9iamVjdEdyb3VwOiBUSFJFRS5PYmplY3QzRCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UsXG4gICAgcHVibGljIHByZXZpZXdTZXJ2aWNlOiBQcmV2aWV3U2VydmljZSxcbiAgICBwcmV2aWV3TWVzaFNlcnZpY2U6IFByZXZpZXdNZXNoU2VydmljZSxcbiAgICBmaXh0dXJlOiBDYWNoZWRGaXh0dXJlLFxuICAgIHNjZW5lOiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoZml4dHVyZVNlcnZpY2UsIHByZXZpZXdTZXJ2aWNlLCBmaXh0dXJlLCBzY2VuZSwgdHJ1ZSk7XG5cbiAgICBmb3JrSm9pbihbcHJldmlld01lc2hTZXJ2aWNlLmdldE1lc2goJ2NvbG9yLWNoYW5nZXInKV0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbY29sb3JDaGFuZ2VyXSkgPT4ge1xuICAgICAgICAgIHRoaXMubWVzaCA9IGNvbG9yQ2hhbmdlcjtcbiAgICAgICAgICB0aGlzLmNyZWF0ZU9iamVjdHMoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPYmplY3RzKCkge1xuICAgIHN1cGVyLmNyZWF0ZU9iamVjdHMoKTtcblxuICAgIHRoaXMubWVzaC5tYXRlcmlhbCA9IHRoaXMucHJldmlld1NlcnZpY2UuZml4dHVyZU1hdGVyaWFsO1xuXG4gICAgdGhpcy5vYmplY3RHcm91cC5hZGQodGhpcy5zcG90bGlnaHRHcm91cCk7XG4gICAgdGhpcy5vYmplY3RHcm91cC5hZGQodGhpcy5tZXNoKTtcbiAgICB0aGlzLm9iamVjdEdyb3VwLnNjYWxlLm11bHRpcGx5U2NhbGFyKDkpO1xuICAgIHRoaXMuc2NlbmUuYWRkKHRoaXMub2JqZWN0R3JvdXApO1xuXG4gICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUHJldmlldyhjaGFubmVsVmFsdWVzOiBGaXh0dXJlQ2hhbm5lbFZhbHVlW10sIG1hc3RlckRpbW1lclZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNMb2FkZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzdXBlci51cGRhdGVQcmV2aWV3KGNoYW5uZWxWYWx1ZXMsIG1hc3RlckRpbW1lclZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKHRoaXMub2JqZWN0R3JvdXApO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBtYXRlcmlhbFxuICAgIGlmICh0aGlzLmxhc3RTZWxlY3RlZCAhPT0gdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICBpZiAodGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5tZXNoLmNoaWxkcmVuKSB7XG4gICAgICAgICAgKGNoaWxkIGFzIE1lc2gpLm1hdGVyaWFsID0gdGhpcy5wcmV2aWV3U2VydmljZS5maXh0dXJlU2VsZWN0ZWRNYXRlcmlhbDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLm1lc2guY2hpbGRyZW4pIHtcbiAgICAgICAgICAoY2hpbGQgYXMgTWVzaCkubWF0ZXJpYWwgPSB0aGlzLnByZXZpZXdTZXJ2aWNlLmZpeHR1cmVNYXRlcmlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmxhc3RTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuc2NlbmUucmVtb3ZlKHRoaXMub2JqZWN0R3JvdXApO1xuICB9XG59XG4iXX0=
|